summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2025-05-22 12:58:11 +0200
committerMichael Brown2025-05-22 17:28:15 +0200
commit11e01f0652daaf198317e2e13c8bb1d19f664ce9 (patch)
tree40d35c4ccd2d1a3dbae5517fc82e871cf1c68926 /src/include
parent[uheap] Prevent allocation of blocks with zero physical addresses (diff)
downloadipxe-11e01f0652daaf198317e2e13c8bb1d19f664ce9.tar.gz
ipxe-11e01f0652daaf198317e2e13c8bb1d19f664ce9.tar.xz
ipxe-11e01f0652daaf198317e2e13c8bb1d19f664ce9.zip
[uheap] Expose external heap region directly
We currently rely on implicit detection of the external heap region. The INT 15 memory map mangler relies on examining the corresponding in-use memory region, and the initrd reshuffler relies on performing a separate detection of the largest free memory block after startup has completed. Replace these with explicit public symbols to describe the external heap region. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/memmap.h2
-rw-r--r--src/include/ipxe/uheap.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/include/ipxe/memmap.h b/src/include/ipxe/memmap.h
index 1283421bb..0175be11a 100644
--- a/src/include/ipxe/memmap.h
+++ b/src/include/ipxe/memmap.h
@@ -228,8 +228,6 @@ static inline void memmap_dump_all ( int hide ) {
memmap_dump ( &region );
}
-extern struct used_region uheap_used __used_region;
-
extern void memmap_update ( struct memmap_region *region, uint64_t start,
uint64_t size, unsigned int flags,
const char *name );
diff --git a/src/include/ipxe/uheap.h b/src/include/ipxe/uheap.h
index 194c13175..d356786d3 100644
--- a/src/include/ipxe/uheap.h
+++ b/src/include/ipxe/uheap.h
@@ -15,4 +15,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define UMALLOC_PREFIX_uheap __uheap_
#endif
+extern physaddr_t uheap_limit;
+extern physaddr_t uheap_start;
+extern physaddr_t uheap_end;
+
#endif /* _IPXE_UHEAP_H */