summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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 */