kernel-fxtec-pro1x/arch/x86/kernel
Rusty Russell a24e785111 i386: paravirt boot sequence
This patch uses the updated boot protocol to do paravirtualized boot.
If the boot version is >= 2.07, then it will do two things:

 1. Check the bootparams loadflags to see if we should reload the
    segment registers and clear interrupts.  This is appropriate
    for normal native boot and some paravirtualized environments, but
    inapproprate for others.

 2. Check the hardware architecture, and dispatch to the appropriate
    kernel entrypoint.  If the bootloader doesn't set this, then we
    simply do the normal boot sequence.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Zachary Amsden <zach@vmware.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-22 08:13:17 -07:00
..
acpi Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
cpu Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
.gitignore .gitignore update for x86 arch 2007-10-17 21:19:04 +02:00
alternative.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
aperture_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
apic_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
apic_64.c x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
apm_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
asm-offsets.c
asm-offsets_32.c update boot spec to 2.07 2007-10-22 08:13:17 -07:00
asm-offsets_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
audit_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
bootflag.c
bugs_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
cpuid.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
crash_32.c
crash_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
crash_dump_32.c kmap leak fix for x86_32 kdump 2007-10-19 11:53:33 -07:00
crash_dump_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
doublefault_32.c
e820_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
e820_64.c Use extended crashkernel command line on x86_64 2007-10-19 11:53:50 -07:00
early-quirks.c x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
early_printk.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
efi_32.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
efi_stub_32.S
entry_32.S Merge branch 'xen-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2007-10-17 11:10:11 -07:00
entry_64.S x86: return correct error code from child_rip in x86_64 entry.S 2007-10-17 20:15:29 +02:00
genapic_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
genapic_flat_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
geode_32.c x86: Geode Multi-Function General Purpose Timers support 2007-10-12 23:04:06 +02:00
head64.c x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
head_32.S i386: paravirt boot sequence 2007-10-22 08:13:17 -07:00
head_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
hpet.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
i386_ksyms_32.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:05 +02:00
i387_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i387_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i8237.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i8253.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
i8259_32.c i386: introduce "used_vectors" bitmap which can be used to reserve vectors. 2007-10-19 20:35:03 +02:00
i8259_64.c x86: more struct irqaction initializer cleanups 2007-10-17 20:16:07 +02:00
init_task.c x86: merge init_task_32/64.c 2007-10-19 20:35:02 +02:00
io_apic_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
io_apic_64.c spelling fixes: arch/x86_64/ 2007-10-20 01:25:36 +02:00
ioport_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
ioport_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
irq_32.c x86: also show non-zero IRQ counts for vectors that currently don't have a handler 2007-10-17 20:16:54 +02:00
irq_64.c x86: also show non-zero IRQ counts for vectors that currently don't have a handler 2007-10-17 20:16:54 +02:00
k8.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
kprobes_32.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
kprobes_64.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
ldt_32.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:05 +02:00
ldt_64.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:00 +02:00
machine_kexec_32.c Use extended crashkernel command line on i386 2007-10-19 11:53:49 -07:00
machine_kexec_64.c Use extended crashkernel command line on x86_64 2007-10-19 11:53:50 -07:00
Makefile x86: delete vsyscall files during make clean 2007-10-17 21:56:01 +02:00
Makefile_32 x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
Makefile_64 x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
mca_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
mce_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
mce_amd_64.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
mce_intel_64.c x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
mfgpt_32.c x86: Geode MFGPT clock event device support 2007-10-12 23:04:06 +02:00
microcode.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
module_32.c
module_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mpparse_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mpparse_64.c x86: acpi use cpu_physical_id 2007-10-19 20:35:03 +02:00
msr.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
nmi_32.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:06 +02:00
nmi_64.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:07 +02:00
numaq_32.c
paravirt_32.c paravirt: clean up lazy mode handling 2007-10-16 11:51:29 -07:00
pci-calgary_64.c x86: calgary get rid of translate_phb 2007-10-17 20:16:41 +02:00
pci-dma_32.c i386: Clean up duplicate includes in arch/i386/kernel/ 2007-10-17 20:15:51 +02:00
pci-dma_64.c x86: enable iommu_merge by default 2007-10-19 20:35:03 +02:00
pci-gart_64.c x86: Some cleanups for pci gart code 2007-10-17 20:16:10 +02:00
pci-nommu_64.c x86-64: update nommu to sg helpers 2007-10-16 11:26:02 +02:00
pci-swiotlb_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pcspeaker.c
pmtimer_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
process_32.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
process_64.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
ptrace_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
ptrace_64.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:00 +02:00
quirks.c x86: enable HPET on ICH3 and ICH4 2007-10-19 20:35:02 +02:00
reboot_32.c Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
reboot_64.c x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
reboot_fixups_32.c GEODE: use symbolic constant in cs5536 reboot fixup 2007-10-19 20:35:02 +02:00
relocate_kernel_32.S
relocate_kernel_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
scx200_32.c long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
setup64.c x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
setup_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
setup_64.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
sigframe_32.h
signal_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
signal_64.c spelling fixes: arch/x86_64/ 2007-10-20 01:25:36 +02:00
smp_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
smp_64.c x86: implement missing x86_64 function smp_call_function_mask() 2007-10-19 20:35:03 +02:00
smpboot_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
smpboot_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
smpcommon_32.c
srat_32.c
stacktrace.c x86: constify stacktrace_ops 2007-10-17 20:16:11 +02:00
summit_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
suspend_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
suspend_asm_64.S Hibernation: Pass CR3 in the image header on x86_64 2007-10-18 14:37:19 -07:00
sys_i386_32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sys_x86_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
syscall_64.c i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
syscall_table_32.S
sysenter_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
tce_64.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
time_32.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:06 +02:00
time_64.c x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
topology.c i386: no need to make enable_cpu_hotplug a variable 2007-10-17 20:16:16 +02:00
trampoline_32.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
trampoline_64.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
traps_32.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
traps_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
tsc_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
tsc_64.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
tsc_sync.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
verify_cpu_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
vm86_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
vmi_32.c paravirt: clean up lazy mode handling 2007-10-16 11:51:29 -07:00
vmiclock_32.c
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
vsmp_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
vsyscall-int80_32.S
vsyscall-note_32.S
vsyscall-sigreturn_32.S
vsyscall-sysenter_32.S
vsyscall_32.lds.S
vsyscall_32.S
vsyscall_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
x8664_ksyms_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00