summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2005-04-10 20:21:27 +0200
committerMichael Brown2005-04-10 20:21:27 +0200
commit39cb1b4f9e0dae01a21d57be3115ed2876804f6f (patch)
tree7ec39afe8ce846be541007332e2bf4c1516b1cea
parentFix up init ordering. (diff)
downloadipxe-39cb1b4f9e0dae01a21d57be3115ed2876804f6f.tar.gz
ipxe-39cb1b4f9e0dae01a21d57be3115ed2876804f6f.tar.xz
ipxe-39cb1b4f9e0dae01a21d57be3115ed2876804f6f.zip
All the icky stuff is now taken care of by librm_arch_initialise
-rw-r--r--src/arch/i386/core/hooks.c32
1 files changed, 2 insertions, 30 deletions
diff --git a/src/arch/i386/core/hooks.c b/src/arch/i386/core/hooks.c
index b17722a60..75066691a 100644
--- a/src/arch/i386/core/hooks.c
+++ b/src/arch/i386/core/hooks.c
@@ -2,11 +2,10 @@
#include "stddef.h"
#include "registers.h"
#include "string.h"
-#include "hooks.h"
#include "init.h"
#include "main.h"
-#include "relocate.h"
#include "etherboot.h"
+#include "hooks.h"
/* Symbols defined by the linker */
extern char _bss[], _ebss[];
@@ -19,15 +18,9 @@ extern char _bss[], _ebss[];
/*
* arch_initialise(): perform any required initialisation such as
- * setting up the console device and relocating to high memory. Note
- * that if we relocate to high memory and the prefix is in base
- * memory, then we will need to install a copy of librm in base
- * memory. librm's reset function takes care of this.
+ * setting up the console device and relocating to high memory.
*
*/
-
-#include "librm.h"
-
void arch_initialise ( struct i386_all_regs *regs __unused ) {
/* Zero the BSS */
memset ( _bss, 0, _ebss - _bss );
@@ -35,27 +28,6 @@ void arch_initialise ( struct i386_all_regs *regs __unused ) {
/* Call all registered initialisation functions.
*/
call_init_fns ();
-
- /* Relocate to high memory. (This is a no-op under
- * -DKEEP_IT_REAL.)
- */
- relocate();
-
- /* Call all registered reset functions. Note that if librm is
- * included, it is the reset function that will install a
- * fresh copy of librm in base memory. It follows from this
- * that (a) librm must be first in the reset list and (b) you
- * cannot call console output functions between relocate() and
- * call_reset_fns(), because real-mode calls will crash the
- * machine.
- */
- call_reset_fns();
-
- printf ( "init finished\n" );
-
- regs->es = virt_to_phys ( installed_librm ) >> 4;
-
- __asm__ ( "xchgw %bx, %bx" );
}
/*