summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2007-01-14 01:03:07 +0100
committerMichael Brown2007-01-14 01:03:07 +0100
commitece4ff929ee3c772f0ae6ea61a1b704101fff4fb (patch)
treefdd18cd5bbd30351f9f4267b94078e0c2a1c156d /src/arch
parentUse {get,set}_fbms() so that allocated base memory is correctly hidden. (diff)
downloadipxe-ece4ff929ee3c772f0ae6ea61a1b704101fff4fb.tar.gz
ipxe-ece4ff929ee3c772f0ae6ea61a1b704101fff4fb.tar.xz
ipxe-ece4ff929ee3c772f0ae6ea61a1b704101fff4fb.zip
Use _text, rather than assuming _text==0.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/core/emalloc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/i386/core/emalloc.c b/src/arch/i386/core/emalloc.c
index 550e686b..09f2beb4 100644
--- a/src/arch/i386/core/emalloc.c
+++ b/src/arch/i386/core/emalloc.c
@@ -33,8 +33,11 @@
/** Equivalent of NOWHERE for user pointers */
#define UNOWHERE ( ~UNULL )
+/** Start of Etherboot text, as defined by the linker */
+extern char _text[];
+
/** Top of allocatable memory */
-#define TOP ( virt_to_user ( NULL ) )
+#define TOP ( virt_to_user ( _text ) )
/** An external memory block */
struct external_memory {