summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2007-01-14 00:38:33 +0100
committerMichael Brown2007-01-14 00:38:33 +0100
commitaaed3d50a84505b38f81e197e700212fa22cabc7 (patch)
treea1c99d7d7ac40611358ead12417fcd2aa2a93cee /src/include
parentAdd some trace messages for important events (diff)
downloadipxe-aaed3d50a84505b38f81e197e700212fa22cabc7.tar.gz
ipxe-aaed3d50a84505b38f81e197e700212fa22cabc7.tar.xz
ipxe-aaed3d50a84505b38f81e197e700212fa22cabc7.zip
Some operating systems get a nasty shock if a region of the E820 map seems
to start on a non-page boundary. Make life safer by rounding out our edited regions.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/hidemem.h28
1 files changed, 3 insertions, 25 deletions
diff --git a/src/include/gpxe/hidemem.h b/src/include/gpxe/hidemem.h
index 89109004c..547f88815 100644
--- a/src/include/gpxe/hidemem.h
+++ b/src/include/gpxe/hidemem.h
@@ -9,37 +9,15 @@
*/
/**
- * A hidden region of Etherboot
- *
- * This represents a region that will be edited out of the system's
- * memory map.
- *
- * This structure is accessed by assembly code, so must not be
- * changed.
- */
-struct hidden_region {
- /* Physical start address */
- physaddr_t start;
- /* Physical end address */
- physaddr_t end;
-};
-
-/**
* Unique IDs for hidden regions
*/
-enum {
+enum hidemem_region_id {
TEXT = 0,
BASEMEM,
EXTMEM,
};
-extern struct hidden_region __data16_array ( hidden_regions, [] );
-#define hidden_regions __use_data16 ( hidden_regions )
-
-static inline void hide_region ( unsigned int region,
- physaddr_t start, physaddr_t end ) {
- hidden_regions[region].start = start;
- hidden_regions[region].end = end;
-}
+extern void hide_region ( unsigned int region_id, physaddr_t start,
+ physaddr_t end );
#endif /* _GPXE_HIDEMEM_H */