original_kernel/arch/x86/kernel
Jeremy Fitzhardinge d75cd22fdd x86/paravirt: split sysret and sysexit
Don't conflate sysret and sysexit; they're different instructions with
different semantics, and may be in use at the same time (at least
within the same kernel, depending on whether its an Intel or AMD
system).

sysexit - just return to userspace, does no register restoration of
    any kind; must explicitly atomically enable interrupts.

sysret - reloads flags from r11, so no need to explicitly enable
    interrupts on 64-bit, responsible for restoring usermode %gs

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citirx.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:13:15 +02:00
..
acpi
cpu
.gitignore
Makefile
alternative.c
amd_iommu.c
amd_iommu_init.c
aperture_64.c
apic_32.c
apic_64.c
apm_32.c
asm-offsets.c
asm-offsets_32.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
asm-offsets_64.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
audit_64.c
bootflag.c
cpuid.c
crash.c
crash_dump_32.c
crash_dump_64.c
doublefault_32.c
ds.c
e820.c
early-quirks.c
early_printk.c
efi.c
efi_32.c
efi_64.c
efi_stub_32.S
efi_stub_64.S
entry_32.S x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
entry_64.S x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
genapic_64.c
genapic_flat_64.c
genx2apic_uv_x.c
geode_32.c
head.c
head32.c
head64.c x86, 64-bit: split x86_64_start_kernel 2008-07-08 13:11:06 +02:00
head_32.S
head_64.S paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor 2008-07-08 13:11:04 +02:00
hpet.c
i386_ksyms_32.c
i387.c
i8237.c
i8253.c
i8259.c
init_task.c
io_apic_32.c
io_apic_64.c
io_delay.c
ioport.c
ipi.c
irq_32.c
irq_64.c
irqinit_32.c
irqinit_64.c
k8.c
kdebugfs.c
kgdb.c
kprobes.c
kvm.c
kvmclock.c
ldt.c
machine_kexec_32.c
machine_kexec_64.c
mca_32.c
mfgpt_32.c
microcode.c
mmconf-fam10h_64.c
module_32.c
module_64.c
mpparse.c
msr.c
nmi.c
numaq_32.c
olpc.c
paravirt.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
paravirt_patch_32.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
paravirt_patch_64.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
pci-calgary_64.c
pci-dma.c
pci-gart_64.c
pci-nommu.c
pci-swiotlb_64.c
pcspeaker.c
pmtimer_64.c
probe_roms_32.c
process.c
process_32.c
process_64.c x86: save %fs and %gs before load_TLS() and arch_leave_lazy_cpu_mode() 2008-07-08 13:11:11 +02:00
ptrace.c
pvclock.c
quirks.c
reboot.c
reboot_fixups_32.c
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c
scx200_32.c
setup.c x86: build fix 2008-07-08 13:10:57 +02:00
setup_percpu.c x86: move parse elfvorehdr back to setup.c 2008-07-08 13:10:53 +02:00
sigframe.h
signal_32.c
signal_64.c
smp.c
smpboot.c
smpcommon.c
smpcommon_32.c
srat_32.c
stacktrace.c
step.c
summit_32.c
sys_i386_32.c
sys_x86_64.c
syscall_64.c
syscall_table_32.S
tce_64.c
test_nx.c
test_rodata.c
time_32.c
time_64.c
tlb_32.c
tlb_64.c
tlb_uv.c
tls.c
tls.h
topology.c
trampoline.c
trampoline_32.S
trampoline_64.S
traps_32.c
traps_64.c
tsc_32.c
tsc_64.c
tsc_sync.c
verify_cpu_64.S
vm86_32.c
vmi_32.c x86/paravirt: split sysret and sysexit 2008-07-08 13:13:15 +02:00
vmiclock_32.c
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S
vsmp_64.c
vsyscall_64.c
x8664_ksyms_64.c