kernel_optimize_test/arch/i386/kernel
H. J. Lu fd51f666fa [PATCH] i386/x86_64 segment register access update
The new i386/x86_64 assemblers no longer accept instructions for moving
between a segment register and a 32bit memory location, i.e.,

        movl (%eax),%ds
        movl %ds,(%eax)

To generate instructions for moving between a segment register and a
16bit memory location without the 16bit operand size prefix, 0x66,

        mov (%eax),%ds
        mov %ds,(%eax)

should be used. It will work with both new and old assemblers. The
assembler starting from 2.16.90.0.1 will also support

        movw (%eax),%ds
        movw %ds,(%eax)

without the 0x66 prefix. I am enclosing patches for 2.4 and 2.6 kernels
here. The resulting kernel binaries should be unchanged as before, with
old and new assemblers, if gcc never generates memory access for

               unsigned gsindex;
               asm volatile("movl %%gs,%0" : "=g" (gsindex));

If gcc does generate memory access for the code above, the upper bits
in gsindex are undefined and the new assembler doesn't allow it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:58:48 -07:00
..
acpi [PATCH] x86: fix acpi compile without CONFIG_ACPI_BUS 2005-04-18 08:01:30 -07:00
cpu [PATCH] fix subarch breakage in amd dual core updates 2005-04-21 16:20:35 -07:00
timers Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
apic.c [PATCH] pm_message_t: more fixes in common and i386 2005-04-16 15:25:24 -07:00
apm.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-offsets.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bootflag.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpuid.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dmi_scan.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
doublefault.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
early_printk.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efi_stub.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efi.c [PATCH] efi: eliminate bad section references 2005-04-16 15:25:53 -07:00
entry.S x86: make traps on 'iret' be debuggable in user space 2005-04-29 09:38:44 -07:00
head.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i386_ksyms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i387.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.c [PATCH] pm_message_t: more fixes in common and i386 2005-04-16 15:25:24 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_apic.c [PATCH] pm_message_t: more fixes in common and i386 2005-04-16 15:25:24 -07:00
ioport.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ldt.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] i386 vDSO: add PT_NOTE segment 2005-04-16 15:24:48 -07:00
mca.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
microcode.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpparse.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nmi.c [PATCH] pm_message_t: more fixes in common and i386 2005-04-16 15:25:24 -07:00
numaq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-dma.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c [PATCH] i386/x86_64 segment register access update 2005-05-01 08:58:48 -07:00
ptrace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quirks.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reboot.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scx200.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigframe.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c [PATCH] i386: Use loaddebug macro consistently 2005-04-16 15:24:46 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smpboot.c [PATCH] x86_64: add support for Intel dual-core detection and displaying 2005-04-16 15:25:15 -07:00
srat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
summit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_i386.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysenter.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time_hpet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c [PATCH] pm_message_t: more fixes in common and i386 2005-04-16 15:25:24 -07:00
trampoline.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c x86: make traps on 'iret' be debuggable in user space 2005-04-29 09:38:44 -07:00
vm86.c [PATCH] i386/x86_64 segment register access update 2005-05-01 08:58:48 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall-int80.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall-note.S [PATCH] i386 vDSO: add PT_NOTE segment 2005-04-16 15:24:48 -07:00
vsyscall-sigreturn.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall-sysenter.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall.lds.S [PATCH] i386 vDSO: add PT_NOTE segment 2005-04-16 15:24:48 -07:00
vsyscall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00