diff options
Diffstat (limited to 'arch/i386/boot/pmjump.S')
-rw-r--r-- | arch/i386/boot/pmjump.S | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/arch/i386/boot/pmjump.S b/arch/i386/boot/pmjump.S deleted file mode 100644 index 2e55923..0000000 --- a/arch/i386/boot/pmjump.S +++ /dev/null @@ -1,54 +0,0 @@ -/* ----------------------------------------------------------------------- * - * - * Copyright (C) 1991, 1992 Linus Torvalds - * Copyright 2007 rPath, Inc. - All Rights Reserved - * - * This file is part of the Linux kernel, and is made available under - * the terms of the GNU General Public License version 2. - * - * ----------------------------------------------------------------------- */ - -/* - * arch/i386/boot/pmjump.S - * - * The actual transition into protected mode - */ - -#include <asm/boot.h> -#include <asm/segment.h> - - .text - - .globl protected_mode_jump - .type protected_mode_jump, @function - - .code16 - -/* - * void protected_mode_jump(u32 entrypoint, u32 bootparams); - */ -protected_mode_jump: - xorl %ebx, %ebx # Flag to indicate this is a boot - movl %edx, %esi # Pointer to boot_params table - movl %eax, 2f # Patch ljmpl instruction - jmp 1f # Short jump to flush instruction q. - -1: - movw $__BOOT_DS, %cx - - movl %cr0, %edx - orb $1, %dl # Protected mode (PE) bit - movl %edx, %cr0 - - movw %cx, %ds - movw %cx, %es - movw %cx, %fs - movw %cx, %gs - movw %cx, %ss - - # Jump to the 32-bit entrypoint - .byte 0x66, 0xea # ljmpl opcode -2: .long 0 # offset - .word __BOOT_CS # segment - - .size protected_mode_jump, .-protected_mode_jump |