aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/pm.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-14 08:16:21 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-14 09:44:08 +0100
commit62395efdb0ef42e664ca81677901268c403a6286 (patch)
tree7ce9e6ba8b3fa0c004f852b56966e96ad948d2f8 /arch/x86/boot/pm.c
parentccd50dfd92ea2c4ba9e39531ac55db53393e783e (diff)
parent88200bc28da38bcda1cb1bd218216e83b426d8a8 (diff)
downloadkernel_samsung_crespo-62395efdb0ef42e664ca81677901268c403a6286.zip
kernel_samsung_crespo-62395efdb0ef42e664ca81677901268c403a6286.tar.gz
kernel_samsung_crespo-62395efdb0ef42e664ca81677901268c403a6286.tar.bz2
Merge branch 'x86/asm' into tracing/syscalls
We need the wider TIF work-mask checks in entry_32.S. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/boot/pm.c')
-rw-r--r--arch/x86/boot/pm.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/arch/x86/boot/pm.c b/arch/x86/boot/pm.c
index 85a1cd8..8062f89 100644
--- a/arch/x86/boot/pm.c
+++ b/arch/x86/boot/pm.c
@@ -33,47 +33,6 @@ static void realmode_switch_hook(void)
}
/*
- * A zImage kernel is loaded at 0x10000 but wants to run at 0x1000.
- * A bzImage kernel is loaded and runs at 0x100000.
- */
-static void move_kernel_around(void)
-{
- /* Note: rely on the compile-time option here rather than
- the LOADED_HIGH flag. The Qemu kernel loader unconditionally
- sets the loadflags to zero. */
-#ifndef __BIG_KERNEL__
- u16 dst_seg, src_seg;
- u32 syssize;
-
- dst_seg = 0x1000 >> 4;
- src_seg = 0x10000 >> 4;
- syssize = boot_params.hdr.syssize; /* Size in 16-byte paragraphs */
-
- while (syssize) {
- int paras = (syssize >= 0x1000) ? 0x1000 : syssize;
- int dwords = paras << 2;
-
- asm volatile("pushw %%es ; "
- "pushw %%ds ; "
- "movw %1,%%es ; "
- "movw %2,%%ds ; "
- "xorw %%di,%%di ; "
- "xorw %%si,%%si ; "
- "rep;movsl ; "
- "popw %%ds ; "
- "popw %%es"
- : "+c" (dwords)
- : "r" (dst_seg), "r" (src_seg)
- : "esi", "edi");
-
- syssize -= paras;
- dst_seg += paras;
- src_seg += paras;
- }
-#endif
-}
-
-/*
* Disable all interrupts at the legacy PIC.
*/
static void mask_all_interrupts(void)
@@ -147,9 +106,6 @@ void go_to_protected_mode(void)
/* Hook before leaving real mode, also disables interrupts */
realmode_switch_hook();
- /* Move the kernel/setup to their final resting places */
- move_kernel_around();
-
/* Enable the A20 gate */
if (enable_a20()) {
puts("A20 gate not responding, unable to boot...\n");