#
# Makefile for the linux kernel.
#

extra-y 	:= head_64.o head64.o init_task.o vmlinux.lds
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_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
