summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2005-05-17 15:35:43 +0200
committerMichael Brown2005-05-17 15:35:43 +0200
commit3ce6504f14855f40bc5f8aff09e53875d53993e4 (patch)
treeaf17f842cbd2589e535e1f15495770c2cf1d646d /src
parentAdded copy_phys_to_phys (diff)
downloadipxe-3ce6504f14855f40bc5f8aff09e53875d53993e4.tar.gz
ipxe-3ce6504f14855f40bc5f8aff09e53875d53993e4.tar.xz
ipxe-3ce6504f14855f40bc5f8aff09e53875d53993e4.zip
Use shared symbols for heap_ptr and heap_end
Diffstat (limited to 'src')
-rw-r--r--src/core/heap.c2
-rw-r--r--src/include/heap.h9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/core/heap.c b/src/core/heap.c
index 0c8a9ac83..d9a7efec7 100644
--- a/src/core/heap.c
+++ b/src/core/heap.c
@@ -13,7 +13,7 @@ struct heap_block {
extern char _text[];
extern char _end[];
-static physaddr_t heap_start, heap_end, heap_ptr;
+static physaddr_t heap_start;
/*
* Find the largest contiguous area of memory that I can use for the
diff --git a/src/include/heap.h b/src/include/heap.h
index 448ce5e0b..fbd3f643c 100644
--- a/src/include/heap.h
+++ b/src/include/heap.h
@@ -80,4 +80,13 @@ static inline void forget2 ( void *ptr ) {
efree ( ptr );
}
+/*
+ * Heap markers. osloader.c and other code may wish to know the heap
+ * location, without necessarily wanting to drag in heap.o. We
+ * therefore declare these as shared (i.e. common) symbols.
+ *
+ */
+physaddr_t heap_ptr __asm__ ( "_shared_heap_ptr" );
+physaddr_t heap_end __asm__ ( "_shared_heap_end" );
+
#endif /* HEAP_H */