linux/arch/x86/boot
H. Peter Anvin 36d3793c94 x86, boot: use appropriate rep string for move and clear
In the pre-decompression code, use the appropriate largest possible
rep movs and rep stos to move code and clear bss, respectively.  For
reverse copy, do note that the initial values are supposed to be the
address of the first (highest) copy datum, not one byte beyond the end
of the buffer.

rep strings are not necessarily the fastest way to perform these
operations on all current processors, but are likely to be in the
future, and perhaps more importantly, we want to encourage the
architecturally right thing to do here.

This also fixes a couple of trivial inefficiencies on 64 bits.

[ Impact: trivial performance enhancement, increase code similarity ]

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-08 17:34:52 -07:00
..
compressed x86, boot: use appropriate rep string for move and clear 2009-05-08 17:34:52 -07:00
tools x86: remove zImage support 2009-03-11 11:00:00 -07:00
.gitignore Update .gitignore files 2008-04-25 12:27:32 -07:00
a20.c x86: remove the Voyager 32-bit subarch 2009-02-23 00:54:01 +01:00
apm.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
bitops.h x86: remove pointless comments 2008-04-19 19:19:54 +02:00
boot.h x86: remove the Voyager 32-bit subarch 2009-02-23 00:54:01 +01:00
cmdline.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
code16gcc.h
copy.S x86: copy.S - use GLOBAL,ENDPROC macros 2009-02-19 17:13:00 +01:00
cpu.c x86 setup: handle more than 8 CPU flag words 2008-09-16 15:09:26 -07:00
cpucheck.c x86: boot: stub out unimplemented CPU feature words 2008-09-05 16:13:44 -07:00
edd.c Revert "x86: fix ghost EDD devices in /sys again" 2008-10-03 10:22:33 -07:00
header.S x86: remove zImage support 2009-03-11 11:00:00 -07:00
install.sh x86: remove pointless comments 2008-04-19 19:19:54 +02:00
main.c x86: remove the Voyager 32-bit subarch 2009-02-23 00:54:01 +01:00
Makefile x86, setup: compile with -DDISABLE_BRANCH_PROFILING 2009-04-03 16:34:45 +02:00
mca.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
memory.c x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx 2009-04-01 11:35:00 -07:00
mkcpustr.c x86 setup: handle more than 8 CPU flag words 2008-09-16 15:09:26 -07:00
mtools.conf.in
pm.c x86: remove zImage support 2009-03-11 11:00:00 -07:00
pmjump.S x86, setup: move 32-bit code to .text32 2009-03-17 15:26:06 -07:00
printf.c x86: boot/printfc use NULL instead 0 2008-05-25 08:58:25 +02:00
setup.ld x86, setup: move 32-bit code to .text32 2009-03-17 15:26:06 -07:00
string.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
tty.c x86: use limited register constraint for setnz 2008-11-25 15:38:03 +01:00
version.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
vesa.h
video-bios.c x86: make variables static 2008-10-22 07:31:28 +02:00
video-mode.c
video-vesa.c x86 setup: fix asm constraints in vesa_store_edid 2009-01-30 23:55:25 +01:00
video-vga.c x86, setup: un-resequence mode setting for VGA 80x34 and 80x60 modes 2009-04-07 10:59:25 -07:00
video.c x86: boot - fix sparse warnings 2008-11-23 19:58:58 +01:00
video.h x86: remove pointless comments 2008-04-19 19:19:54 +02:00