#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 */