#
# Makefile for the linux kernel.
#

extra-y 	:= head_64.o head64.o init_task.o vmlinux.lds
CPPFLAGS_vmlinux.lds += -Ux86_64
EXTRA_AFLAGS	:= -traditional

obj-y	:= process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \
		ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \
		x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \
		setup64.o bootflag.o e820_64.o reboot_64.o quirks.o i8237.o \
		pci-dma_64.o pci-nommu_64.o alternative.o hpet.o tsc_64.o bugs_64.o \
		i8253.o

obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
obj-y				+= cpu/
obj-y				+= acpi/
obj-$(CONFIG_X86_MSR)		+= msr.o
obj-$(CONFIG_MICROCODE)		+= microcode.o
obj-$(CONFIG_X86_CPUID)		+= cpuid.o
obj-$(CONFIG_SMP)		+= smp_64.o smpboot_64.o trampoline_64.o tsc_sync.o
obj-y				+= apic_64.o  nmi_64.o
obj-y				+= io_apic_64.o mpparse_64.o genapic_64.o genapic_flat_64.o
obj-$(CONFIG_KEXEC)		+= machine_kexec_64.o relocate_kernel_64.o crash.o
obj-$(CONFIG_CRASH_DUMP)	+= crash_dump_64.o
obj-$(CONFIG_PM)		+= suspend_64.o
obj-$(CONFIG_HIBERNATION)	+= suspend_asm_64.o
obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
obj-$(CONFIG_GART_IOMMU)	+= pci-gart_64.o aperture_64.o
obj-$(CONFIG_CALGARY_IOMMU)	+= pci-calgary_64.o tce_64.o
obj-$(CONFIG_SWIOTLB)		+= pci-swiotlb_64.o
obj-$(CONFIG_KPROBES)		+= kprobes_64.o
obj-$(CONFIG_X86_PM_TIMER)	+= pmtimer_64.o
obj-$(CONFIG_X86_VSMP)		+= vsmp_64.o
obj-$(CONFIG_K8_NB)		+= k8.o
obj-$(CONFIG_AUDIT)		+= audit_64.o

obj-$(CONFIG_MODULES)		+= module_64.o
obj-$(CONFIG_PCI)		+= early-quirks.o

obj-y				+= topology.o
obj-y				+= pcspeaker.o

CFLAGS_vsyscall_64.o		:= $(PROFILING) -g0
