From 3ce6504f14855f40bc5f8aff09e53875d53993e4 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 17 May 2005 13:35:43 +0000 Subject: [PATCH] Use shared symbols for heap_ptr and heap_end --- src/core/heap.c | 2 +- src/include/heap.h | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/heap.c b/src/core/heap.c index 0c8a9ac8..d9a7efec 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 448ce5e0..fbd3f643 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 */