diff options
author | Michael Brown | 2006-05-25 02:06:45 +0200 |
---|---|---|
committer | Michael Brown | 2006-05-25 02:06:45 +0200 |
commit | 89da833c5d75f4505e4e4fd6b83faf59853d1f9d (patch) | |
tree | 8b85f912c92ee95e6d1f3944985bbce43bfd7747 /src/arch/i386/transitions/librm.S | |
parent | Has been obsolete for a while. (diff) | |
download | ipxe-89da833c5d75f4505e4e4fd6b83faf59853d1f9d.tar.gz ipxe-89da833c5d75f4505e4e4fd6b83faf59853d1f9d.tar.xz ipxe-89da833c5d75f4505e4e4fd6b83faf59853d1f9d.zip |
init_librm() and prot_call() are now real-mode far calls.
install() now calls relocate(), moves the protected-mode code to the new
location, and calls hide_etherboot().
Diffstat (limited to 'src/arch/i386/transitions/librm.S')
-rw-r--r-- | src/arch/i386/transitions/librm.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/i386/transitions/librm.S b/src/arch/i386/transitions/librm.S index 7d59c466..5033a3aa 100644 --- a/src/arch/i386/transitions/librm.S +++ b/src/arch/i386/transitions/librm.S @@ -88,7 +88,7 @@ gdt_end: .equ gdt_length, gdt_end - gdt /**************************************************************************** - * init_librm (real-mode near call, 16-bit real-mode return address) + * init_librm (real-mode far call, 16-bit real-mode far return address) * * Initialise the GDT ready for transitions to protected mode. * @@ -143,7 +143,7 @@ init_librm: negl %edi popl %ebx popl %eax - ret + lret .section ".text16" .code16 @@ -316,7 +316,7 @@ rm_cs: .word 0 rm_ds: .word 0 /**************************************************************************** - * prot_call (real-mode near call, 32-bit real-mode return address) + * prot_call (real-mode far call, 16-bit real-mode far return address) * * Call a specific C function in the protected-mode code. The * prototype of the C function must be @@ -405,7 +405,7 @@ prot_call: * zeroes the high word of %esp, and interrupts * are still disabled at this point. */ popfl - data32 ret + lret /**************************************************************************** * real_call (protected-mode near call, 32-bit virtual return address) |