android_kernel_xiaomi_sm8350/arch/x86/kernel
Jeremy Fitzhardinge f97013fd8f x86, 64-bit: split x86_64_start_kernel
Split x86_64_start_kernel() into two pieces:

   The first essentially cleans up after head_64.S.  It clears the
   bss, zaps low identity mappings, sets up some early exception
   handlers.

   The second part preserves the boot data, reserves the kernel's
   text/data/bss, pagetables and ramdisk, and then starts the kernel
   proper.

This split is so that Xen can call the second part to do the set up it
needs done.  It doesn't need any of the first part setups, because it
doesn't boot via head_64.S, and its redundant or actively damaging.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-07-08 13:11:06 +02:00
..
acpi x86: check command line when CONFIG_X86_MPPARSE is not set, v2 2008-07-08 12:48:31 +02:00
cpu x86: remove open-coded save/load segment operations 2008-07-08 13:10:25 +02:00
.gitignore
alternative.c x86: harden kernel code patching 2008-04-25 19:54:07 +02:00
amd_iommu_init.c x86, AMD IOMMU: remove unnecessary code from the iommu_enable function 2008-07-04 11:44:44 +02:00
amd_iommu.c x86, AMD IOMMU: flush domain TLB when there is more than one page to flush 2008-07-04 11:44:40 +02:00
aperture_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
apic_32.c x86: nmi_watchdog - use nmi_watchdog variable for printing 2008-07-08 12:51:39 +02:00
apic_64.c x86: nmi_watchdog - use NMI_NONE by default 2008-07-08 12:51:41 +02:00
apm_32.c x86: Switch apm to unlocked_kernel 2008-05-25 12:03:27 +02:00
asm-offsets_32.c x86: use kbuild.h 2008-04-29 08:06:29 -07:00
asm-offsets_64.c x86: use kbuild.h 2008-04-29 08:06:29 -07:00
asm-offsets.c
audit_64.c
bootflag.c
cpuid.c PM: Remove destroy_suspended_device() 2008-04-19 19:10:28 -07:00
crash_dump_32.c
crash_dump_64.c
crash.c x86: allow machine_crash_shutdown to be replaced 2008-04-27 12:00:29 +03:00
doublefault_32.c
ds.c
e820.c mm, generic, x86 boot: more tweaks to hex prints of some pfn addresses 2008-07-08 13:10:40 +02:00
early_printk.c
early-quirks.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
efi_32.c x86: fix Intel Mac booting with EFI 2008-07-03 08:19:18 +02:00
efi_64.c x86: add flags parameter to reserve_bootmem_generic() 2008-07-08 11:49:49 +02:00
efi_stub_32.S
efi_stub_64.S
efi.c x86 boot: only pick up additional EFI memmap if add_efi_memmap flag 2008-07-08 13:10:41 +02:00
entry_32.S Merge branch 'linus' into x86/irq 2008-06-16 11:27:45 +02:00
entry_64.S Merge branch 'x86/uv' into x86/devel 2008-07-08 12:24:13 +02:00
genapic_64.c x86: introduce max_physical_apicid for bigsmp switching 2008-06-10 11:32:09 +02:00
genapic_flat_64.c
genx2apic_uv_x.c x86, uv: update macros used by UV platform 2008-06-02 12:56:00 +02:00
geode_32.c x86, geode: add a VSA2 ID for General Software 2008-06-19 14:19:03 +02:00
head32.c x86: extract common part of head32.c and head64.c into head.c 2008-06-05 15:10:02 +02:00
head64.c x86, 64-bit: split x86_64_start_kernel 2008-07-08 13:11:06 +02:00
head_32.S x86: boot secondary cpus through initial_code 2008-07-08 12:48:18 +02:00
head_64.S paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor 2008-07-08 13:11:04 +02:00
head.c x86 boot: allow overlapping early reserve memory ranges 2008-07-08 12:51:26 +02:00
hpet.c x86: clean up computation of HPET .mult variables 2008-05-12 21:27:54 +02:00
i386_ksyms_32.c
i387.c x86 ptrace: fix PTRACE_GETFPXREGS error 2008-07-01 11:03:31 +02:00
i8237.c
i8253.c x86: cleanup div_sc() usage 2008-04-26 17:35:47 +02:00
i8259.c i8259: fix final ugliness 2008-06-02 11:55:52 +02:00
init_task.c [PATCH] take init_files to fs/file.c 2008-05-16 17:22:20 -04:00
io_apic_32.c x86: change __setup_vector_irq with setup_vector_irq 2008-07-08 12:48:21 +02:00
io_apic_64.c x86: nmi_watchdog - use NMI_NONE by default 2008-07-08 12:51:41 +02:00
io_delay.c
ioport.c
ipi.c x86: ipi.c: removed duplicated include 2008-05-25 08:58:32 +02:00
irq_32.c Merge branch 'x86/irq' into x86/devel 2008-07-08 09:53:57 +02:00
irq_64.c x86: make /proc/stat account for all interrupts 2008-05-25 07:11:49 +02:00
irqinit_32.c x86: rename the i8259_32/64.c leftovers to irqinit_32/64.c 2008-05-24 16:47:39 +02:00
irqinit_64.c x86: rename the i8259_32/64.c leftovers to irqinit_32/64.c 2008-05-24 16:47:39 +02:00
k8.c
kdebugfs.c x86, boot: export linked list of struct setup_data via debugfs 2008-04-26 21:34:42 +02:00
kgdb.c
kprobes.c
kvm.c x86: KVM guest: hypercall batching 2008-04-27 12:00:28 +03:00
kvmclock.c x86: KVM guest: Use the paravirt clocksource structs and functions 2008-06-24 21:02:33 +03:00
ldt.c x86: avoid re-loading LDT in unrelated address spaces 2008-05-22 19:11:20 +02:00
machine_kexec_32.c x86: arch/x86/kernel/machine_kexec_32.c: remove extra semicolons 2008-06-24 18:37:49 +02:00
machine_kexec_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
Makefile x86: rename setup_32.c to setup.c 2008-07-08 13:10:49 +02:00
mca_32.c
mfgpt_32.c geode: fix modular build 2008-06-12 21:25:51 +02:00
microcode.c x86: microcode: cosmetic changes 2008-07-03 11:37:20 +02:00
mmconf-fam10h_64.c x86: move mmconfig declarations to header 2008-05-30 15:45:17 -07:00
module_32.c
module_64.c
mpparse.c x86: add flags parameter to reserve_bootmem_generic() 2008-07-08 11:49:49 +02:00
msr.c PM: Remove destroy_suspended_device() 2008-04-19 19:10:28 -07:00
nmi.c x86: nmi_watchdog - introduce nmi_watchdog_active() helper 2008-07-08 12:51:42 +02:00
numaq_32.c x86: make generic arch support NUMAQ 2008-06-10 11:34:42 +02:00
olpc.c x86: olpc: add One Laptop Per Child architecture support 2008-04-29 08:06:07 -07:00
paravirt_patch_32.c
paravirt_patch_64.c
paravirt.c x86/paravirt: add a pgd_alloc/free hooks 2008-07-08 13:11:01 +02:00
pci-calgary_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
pci-dma.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
pci-gart_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
pci-nommu.c
pci-swiotlb_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
pcspeaker.c
pmtimer_64.c
probe_roms_32.c x86: seperate probe_roms into another file 2008-07-08 12:50:05 +02:00
process_32.c x86: move cpu_exit_clear to process_32.c 2008-07-08 12:48:24 +02:00
process_64.c x86: remove open-coded save/load segment operations 2008-07-08 13:10:25 +02:00
process.c x86: add C1E aware idle function, fix 2008-07-08 07:47:37 +02:00
ptrace.c x86 ptrace: fix PTRACE_GETFPXREGS error 2008-07-01 11:03:31 +02:00
pvclock.c x86: Add structs and functions for paravirt clocksource 2008-06-24 21:02:31 +03:00
quirks.c x86: add another PCI ID for ICH6 force hpet. 2008-06-05 15:11:35 +02:00
reboot_fixups_32.c x86: constify data in reboot.c 2008-05-25 08:58:30 +02:00
reboot.c x86: constify data in reboot.c 2008-05-25 08:58:30 +02:00
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c provide rtc_cmos platform device 2008-06-12 18:05:42 -07:00
scx200_32.c
setup_percpu.c x86: move parse elfvorehdr back to setup.c 2008-07-08 13:10:53 +02:00
setup.c x86: build fix 2008-07-08 13:10:57 +02:00
sigframe.h
signal_32.c signals: x86 TS_RESTORE_SIGMASK 2008-04-30 08:29:37 -07:00
signal_64.c signals: x86 TS_RESTORE_SIGMASK 2008-04-30 08:29:37 -07:00
smp.c x86: fix app crashes after SMP resume 2008-05-13 19:36:12 +02:00
smpboot.c x86: nmi_watchdog - use NMI_NONE by default 2008-07-08 12:51:41 +02:00
smpcommon_32.c
smpcommon.c
srat_32.c x86: numa32 pfn print out using hex instead 2008-07-08 12:50:23 +02:00
stacktrace.c
step.c
summit_32.c x86: make generic arch support NUMAQ 2008-06-10 11:34:42 +02:00
sys_i386_32.c x86: coding style fixes to arch/x86/kernel/sys_i386_32.c 2008-06-10 12:34:54 +02:00
sys_x86_64.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
syscall_64.c
syscall_table_32.S
tce_64.c
test_nx.c
test_rodata.c
time_32.c x86: I/O APIC: AEOI timer acknowledgement clean-ups 2008-07-08 09:12:53 +02:00
time_64.c x86: use cpu_khz for loops_per_jiffy calculation, cleanup 2008-06-24 13:53:46 +02:00
tlb_32.c
tlb_64.c SGI UV: TLB shootdown using broadcast assist unit, cleanups 2008-07-08 12:23:24 +02:00
tlb_uv.c x86, SGI UV: uv_ptc_proc_write fix 2008-07-08 12:23:31 +02:00
tls.c
tls.h
topology.c
trampoline_32.S x86: trampoline_32.S - switch to .cpuinit.data 2008-04-26 17:35:47 +02:00
trampoline_64.S
trampoline.c x86: extend e820 ealy_res support 32bit 2008-05-25 10:55:11 +02:00
traps_32.c x86: don't use gdt_page openly. 2008-07-08 12:48:15 +02:00
traps_64.c Merge branch 'x86/nmi' into x86/devel 2008-07-08 12:17:08 +02:00
tsc_32.c Merge branches 'x86/mmio', 'x86/delay', 'x86/idle', 'x86/oprofile', 'x86/debug', 'x86/ptrace' and 'x86/amd-iommu' into x86/devel 2008-07-08 09:46:15 +02:00
tsc_64.c Merge branch 'linus' into x86/timers 2008-06-16 11:20:57 +02:00
tsc_sync.c
verify_cpu_64.S
vm86_32.c
vmi_32.c x86: unify KERNEL_PGD_PTRS 2008-04-24 23:57:31 +02:00
vmiclock_32.c x86: unify interrupt vector defines 2008-05-12 21:28:05 +02:00
vmlinux_32.lds.S x86: move tracedata to RODATA 2008-05-25 07:09:47 +02:00
vmlinux_64.lds.S Merge branches 'x86/numa-fixes', 'x86/apic', 'x86/apm', 'x86/bitops', 'x86/build', 'x86/cleanups', 'x86/cpa', 'x86/cpu', 'x86/defconfig', 'x86/gart', 'x86/i8259', 'x86/intel', 'x86/irqstats', 'x86/kconfig', 'x86/ldt', 'x86/mce', 'x86/memtest', 'x86/pat', 'x86/ptemask', 'x86/resumetrace', 'x86/threadinfo', 'x86/timers', 'x86/vdso' and 'x86/xen' into x86/devel 2008-07-08 09:16:56 +02:00
vmlinux.lds.S
vsmp_64.c x86: vsmp_64 add missing includes 2008-05-25 08:58:24 +02:00
vsyscall_64.c x86, 64-bit: use write_gdt_entry in vsyscall_set_cpu 2008-07-08 13:10:26 +02:00
x8664_ksyms_64.c x86: move x86_64 gdt closer to i386 2008-07-08 12:48:16 +02:00