diff options
| author | Michael Brown | 2005-04-08 17:01:17 +0200 |
|---|---|---|
| committer | Michael Brown | 2005-04-08 17:01:17 +0200 |
| commit | 0ff80b477dcff0726ebdbed95e8a93971e59e82b (patch) | |
| tree | 860b7150212a07c24a9529ea072f3fb12700974c /src/arch/i386/include/memsizes.h | |
| parent | Merged this file into HEAD (diff) | |
| download | ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.tar.gz ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.tar.xz ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.zip | |
Merged mcb30-realmode-redesign back to HEAD
Diffstat (limited to 'src/arch/i386/include/memsizes.h')
| -rw-r--r-- | src/arch/i386/include/memsizes.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/arch/i386/include/memsizes.h b/src/arch/i386/include/memsizes.h new file mode 100644 index 000000000..a5bb3f2df --- /dev/null +++ b/src/arch/i386/include/memsizes.h @@ -0,0 +1,34 @@ +#ifndef MEMSIZES_H +#define MEMSIZES_H + +/* + * These structures seem to be very i386 (and, in fact, PCBIOS) + * specific, so I've moved them out of etherboot.h. + * + */ + +struct e820entry { + uint64_t addr; + uint64_t size; + uint32_t type; +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 /* usable as RAM once ACPI tables have been read */ +#define E820_NVS 4 +} __attribute__ (( packed )); +#define E820ENTRY_SIZE 20 +#define E820MAX 32 + +struct meminfo { + uint16_t basememsize; + uint16_t pad; + uint32_t memsize; + uint32_t map_count; + struct e820entry map[E820MAX]; +} __attribute__ (( packed )); + +extern struct meminfo meminfo; + +extern void get_memsizes ( void ); + +#endif /* MEMSIZES_H */ |
