summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2005-04-10 20:22:31 +0200
committerMichael Brown2005-04-10 20:22:31 +0200
commit997b51c1e60b365522e9a1d1e7005665502af349 (patch)
tree3f813e0405f023f7c58d6bca3c5eecb9c6e524d9 /src/arch
parentHeading towards a sane set of control functions (diff)
downloadipxe-997b51c1e60b365522e9a1d1e7005665502af349.tar.gz
ipxe-997b51c1e60b365522e9a1d1e7005665502af349.tar.xz
ipxe-997b51c1e60b365522e9a1d1e7005665502af349.zip
Use librm_arch_initialise for librm, arch_initialise for others.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/core/setup.S11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/arch/i386/core/setup.S b/src/arch/i386/core/setup.S
index f0b09f608..26aa23200 100644
--- a/src/arch/i386/core/setup.S
+++ b/src/arch/i386/core/setup.S
@@ -39,6 +39,8 @@
#define ENTER_FROM_EXTERNAL call ext_to_kir
#define RETURN_TO_EXTERNAL call kir_to_ext
#define ENTRY_POINT kir_call
+#define ENTRY_POINT_REGISTER di
+#define INIT_FUNC arch_initialise
#else /* KEEP_IT_REAL */
@@ -50,11 +52,11 @@
call prot_to_real ; \
.code16
#define ENTRY_POINT _prot_call /* _prot_call = OFFSET ( prot_call ) in librm */
+#define ENTRY_POINT_REGISTER di
+#define INIT_FUNC librm_arch_initialise
#endif /* KEEP_IT_REAL */
-#define ENTRY_POINT_REGISTER di
-
.section ".text16"
.code16
.globl setup16
@@ -76,7 +78,8 @@ setup16:
#define RETURN_TO_EXTERNAL call int_to_ext
#define ENTRY_POINT int_call
#define ENTRY_POINT_REGISTER edi
-
+#define INIT_FUNC arch_initialise
+
.section ".text"
.code32
.globl setup
@@ -145,7 +148,7 @@ setup:
* subsequent calls. librm will use this facility, since
* arch_initialise() causes librm to be relocated.
*/
- pushl $arch_initialise
+ pushl $INIT_FUNC
push %cs /* lcall %es:[x]di == %cs:[x]di */
call *%ENTRY_POINT_REGISTER
popl %ebp /* discard */