summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/transitions/librm.S
diff options
context:
space:
mode:
authorMichael Brown2006-05-25 02:06:45 +0200
committerMichael Brown2006-05-25 02:06:45 +0200
commit89da833c5d75f4505e4e4fd6b83faf59853d1f9d (patch)
tree8b85f912c92ee95e6d1f3944985bbce43bfd7747 /src/arch/i386/transitions/librm.S
parentHas been obsolete for a while. (diff)
downloadipxe-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.S8
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)