obj-y			:= process_$(BITS).o signal.o #entry_$(BITS).o
obj-y	+= signal_compat.o
obj-y			+= traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
obj-y			+= time.o ioport.o ldt.o dumpstack.o nmi.o
obj-y			+= setup.o x86_init.o i8259.o irqinit.o jump_label.o
obj-y  += irq_work.o
obj-y			+= probe_roms.o
obj-y	+= i386_ksyms_32.o
#obj-$(CONFIG_X86_64)	+= sys_x86_64.o x8664_ksyms_64.o
#obj-$(CONFIG_X86_64)	+= mcount_64.o
#obj-y			+= syscall_$(BITS).o vsyscall_gtod.o version 4.2 del
#obj-$(CONFIG_IA32_EMULATION)	+= syscall_32.o
#obj-$(CONFIG_X86_VSYSCALL_EMULATION)	+= vsyscall_64.o vsyscall_emu_64.o
#obj-$(CONFIG_X86_ESPFIX64)	+= espfix_64.o
obj-y	+= ksysfs.o
obj-y			+= bootflag.o e820.o
obj-y			+= pci-dma.o quirks.o topology.o kdebugfs.o
obj-y			+= alternative.o i8253.o pci-nommu.o hw_breakpoint.o
obj-y			+= tsc.o tsc_msr.o io_delay.o rtc.o
obj-y			+= pci-iommu_table.o
obj-y			+= resource.o

obj-y				+= process.o
#obj-y				+= i387.o xsave.o mod v4.2 > fpu
obj-y += fpu/init.o fpu/bugs.o fpu/core.o fpu/regset.o fpu/signal.o fpu/xstate.o
obj-y				+= ptrace.o
obj-y		+= tls.o
obj-y	+= tls.o
obj-y				+= step.o
obj-y		+= tboot.o
obj-y	+= i8237.o
obj-y	+= stacktrace.o
#obj-y				+= cpu/
obj-y			+= cpu/intel_cacheinfo.o cpu/scattered.o cpu/topology.o
obj-y			+= cpu/common.o
obj-y			+= cpu/rdrand.o
obj-y			+= cpu/match.o

obj-y	+= cpu/proc.o
obj-y += cpu/powerflags.o #cpu/capflags.o 没有呀

obj-y	+= cpu/bugs.o
#obj-y	+= bugs_64.o

obj-y		+= cpu/intel.o
#obj-$(CONFIG_CPU_SUP_AMD)		+= amd.o
#obj-$(CONFIG_CPU_SUP_CYRIX_32)		+= cyrix.o
#obj-$(CONFIG_CPU_SUP_CENTAUR)		+= centaur.o
#obj-$(CONFIG_CPU_SUP_TRANSMETA_32)	+= transmeta.o
#obj-$(CONFIG_CPU_SUP_UMC_32)		+= umc.o

obj-y		+= cpu/perf_event.o

#ifdef CONFIG_PERF_EVENTS
obj-y		+= cpu/perf_event_amd.o cpu/perf_event_amd_uncore.o
#ifdef CONFIG_AMD_IOMMU
obj-$(CONFIG_CPU_SUP_AMD)		+= cpu/perf_event_amd_iommu.o
#endif
obj-y		+= cpu/perf_event_p6.o cpu/perf_event_knc.o cpu/perf_event_p4.o
obj-y		+= cpu/perf_event_intel_lbr.o cpu/perf_event_intel_ds.o cpu/perf_event_intel.o
obj-y		+= cpu/perf_event_intel_rapl.o

obj-y	+= cpu/perf_event_intel_uncore.o \
					   cpu/perf_event_intel_uncore_snb.o \
					   cpu/perf_event_intel_uncore_snbep.o \
					   cpu/perf_event_intel_uncore_nhmex.o
#endif


#obj-$(CONFIG_X86_MCE)			+= mcheck/
obj-y				=  cpu/mcheck/mce.o cpu/mcheck/mce-severity.o

obj-y	+= cpu/mcheck/winchip.o cpu/mcheck/p5.o
obj-y	+= cpu/mcheck/mce_intel.o
obj-y	+= cpu/mcheck/mce_amd.o
obj-y += cpu/mcheck/threshold.o
obj-y	+= cpu/mcheck/mce-inject.o

obj-y += cpu/mcheck/therm_throt.o

obj-y		+= cpu/mcheck/mce-apei.o
#obj-$(CONFIG_MTRR)			+= mtrr/
obj-y		:= cpu/mtrr/main.o cpu/mtrr/if.o cpu/mtrr/generic.o cpu/mtrr/cleanup.o # 暂时yin CONFIG_MTRR
#obj-$(CONFIG_X86_32) += amd.o cyrix.o centaur.o
#obj-$(CONFIG_MICROCODE)			+= microcode/
obj-y				:= cpu/microcode/core.o
#obj-y			+= cpu/microcode/microcode.o
obj-y	+= cpu/microcode/intel.o cpu/microcode/intel_lib.o
#microcode-$(CONFIG_MICROCODE_AMD)	+= amd.o
obj-y		+= cpu/microcode/core_early.o
obj-y	+= cpu/microcode/intel_early.o
#obj-$(CONFIG_MICROCODE_AMD_EARLY)	+= amd_early.o

obj-y		+= cpu/perfctr-watchdog.o #perf_event_amd_ibs.o

obj-y		+= cpu/vmware.o cpu/hypervisor.o cpu/mshyperv.o

#obj-y				+= acpi/
obj-y		+= acpi/boot.o
obj-y	+= acpi/sleep.o #acpi/wakeup_$(BITS).o
obj-y		+= acpi/apei.o

#ifneq ($(CONFIG_ACPI_PROCESSOR),)
obj-y				+= acpi/cstate.o
#endif


obj-y				+= reboot.o
obj-y		+= msr.o
obj-y		+= cpuid.o
obj-y		+= early-quirks.o
obj-y				:= apm_32.o
#obj-y		+= apm.o
obj-y		+= smp.o
obj-y		+= smpboot.o
obj-y		+= tsc_sync.o
obj-y		+= setup_percpu.o
obj-y	+= mpparse.o
#obj-y				+= apic/
obj-y	+= apic/apic.o apic/apic_noop.o apic/ipi.o apic/vector.o
obj-y				+= apic/hw_nmi.o

obj-y	+= apic/io_apic.o
obj-y		+= apic/msi.o
obj-y		+= apic/htirq.o
obj-y		+= apic/ipi.o

#ifeq ($(CONFIG_X86_64),y)
# APIC probe will depend on the listing order here
#obj-$(CONFIG_X86_NUMACHIP)	+= apic_numachip.o
#obj-$(CONFIG_X86_UV)		+= x2apic_uv_x.o
#obj-$(CONFIG_X86_X2APIC)	+= x2apic_phys.o
#obj-$(CONFIG_X86_X2APIC)	+= x2apic_cluster.o
#obj-y				+= apic_flat_64.o
#endif

# APIC probe will depend on the listing order here
obj-y	+= apic/bigsmp_32.o

# For 32bit, probe_32 need to be listed last
obj-y	+= apic/probe_$(BITS).o



obj-y	+= reboot_fixups_32.o
obj-y	+= ftrace.o
obj-y		+= livepatch.o
obj-y += ftrace.o
obj-y	+= ftrace.o
obj-y		+= trace_clock.o
obj-y		+= machine_kexec_$(BITS).o
obj-y		+=  crash.o #relocate_kernel_$(BITS).o
#obj-$(CONFIG_KEXEC_FILE)	+= kexec-bzimage64.o
obj-y	+= crash_dump_$(BITS).o
#obj-y				+= kprobes/
obj-y		+= kprobes/core.o
obj-y		+= kprobes/opt.o
obj-y	+= kprobes/ftrace.o




obj-y		+= module.o
obj-y	+= doublefault.o
obj-y		+= kgdb.o
obj-y		+= vm86_32.o
obj-y	+= early_printk.o

obj-y 	+= hpet.o
obj-y		+= apb_timer.o

obj-y		+= amd_nb.o
#obj-y	+= test_rodata.o 不知道rodata_test_data为什么东西
obj-y	+= test_nx.o
obj-y += nmi_selftest.o

obj-y		+= kvm.o kvmclock.o
obj-y		+= paravirt.o paravirt_patch_$(BITS).o
obj-y+= paravirt-spinlocks.o
obj-y	+= pvclock.o
obj-y	+= pmem.o

obj-y	+= pcspeaker.o

obj-y += check.o

obj-y			+= pci-swiotlb.o
obj-y			+= devicetree.o
obj-y			+= uprobes.o
obj-y					+= sysfb.o
obj-y			+= sysfb_simplefb.o
obj-y			+= sysfb_efi.o

obj-y		+= perf_regs.o
obj-y			+= tracepoint.o
#obj-y			+= iosf_mbi.o v4.3-rc del
#obj-y			+= pmc_atom.o v4.3-rc del

obj-mm			:= process_$(BITS).o
SHARED = arch/x86/um/shared
obj-b = vm86_32.o
archkernel.ko : ple_build.o $(obj-y)
	cc $(LINUXINCLUDE) $(USERINCLUDE) -I$(ARCH_SH_IN) -Iarch/x86/um/shared -l-y1.ko -l-y2.ko $@ $<

%.c: %.o
	cc $@ $<