Use shared symbols for heap_ptr and heap_end
authorMichael Brown <mcb30@etherboot.org>
Tue, 17 May 2005 13:35:43 +0000 (13:35 +0000)
committerMichael Brown <mcb30@etherboot.org>
Tue, 17 May 2005 13:35:43 +0000 (13:35 +0000)
src/core/heap.c
src/include/heap.h

index 0c8a9ac..d9a7efe 100644 (file)
@@ -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
index 448ce5e..fbd3f64 100644 (file)
@@ -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 */