#
# Makefile for the linux kernel.
#

extra-y 	:= head_64.o head64.o init_task_64.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_64.o tsc_64.o bugs_64.o \
		perfctr-watchdog.o

obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
obj-$(CONFIG_X86_MCE)		+= mce_64.o therm_throt.o
obj-$(CONFIG_X86_MCE_INTEL)	+= mce_intel_64.o
obj-$(CONFIG_X86_MCE_AMD)	+= mce_amd_64.o
obj-$(CONFIG_MTRR)		+= ../../x86/kernel/cpu/mtrr/
obj-$(CONFIG_ACPI)		+= 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_64.o
obj-$(CONFIG_CRASH_DUMP)	+= crash_dump_64.o
obj-$(CONFIG_PM)		+= suspend_64.o
obj-$(CONFIG_HIBERNATION)	+= suspend_asm_64.o
obj-$(CONFIG_CPU_FREQ)		+= ../../x86/kernel/cpu/cpufreq/
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_64.o

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

CFLAGS_vsyscall_64.o		:= $(PROFILING) -g0

therm_throt-y                   += ../../x86/kernel/cpu/mcheck/therm_throt.o
bootflag-y			+= ../../x86/kernel/bootflag.o
cpuid-$(subst m,y,$(CONFIG_X86_CPUID))  += ../../x86/kernel/cpuid.o
topology-y                     += ../../x86/kernel/topology.o
microcode-$(subst m,y,$(CONFIG_MICROCODE))  += ../../x86/kernel/microcode.o
intel_cacheinfo-y		+= ../../x86/kernel/cpu/intel_cacheinfo.o
addon_cpuid_features-y		+= ../../x86/kernel/cpu/addon_cpuid_features.o
quirks-y			+= ../../x86/kernel/quirks.o
i8237-y				+= ../../x86/kernel/i8237.o
msr-$(subst m,y,$(CONFIG_X86_MSR))  += ../../x86/kernel/msr.o
alternative-y			+= ../../x86/kernel/alternative.o
pcspeaker-y			+= ../../x86/kernel/pcspeaker.o
perfctr-watchdog-y		+= ../../x86/kernel/cpu/perfctr-watchdog.o
