You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef MEMSIZES_H
  2. #define MEMSIZES_H
  3. /*
  4. * These structures seem to be very i386 (and, in fact, PCBIOS)
  5. * specific, so I've moved them out of etherboot.h.
  6. *
  7. */
  8. struct e820entry {
  9. uint64_t addr;
  10. uint64_t size;
  11. uint32_t type;
  12. #define E820_RAM 1
  13. #define E820_RESERVED 2
  14. #define E820_ACPI 3 /* usable as RAM once ACPI tables have been read */
  15. #define E820_NVS 4
  16. } __attribute__ (( packed ));
  17. #define E820ENTRY_SIZE 20
  18. #define E820MAX 32
  19. struct meminfo {
  20. uint16_t basememsize;
  21. uint16_t pad;
  22. uint32_t memsize;
  23. uint32_t map_count;
  24. struct e820entry map[E820MAX];
  25. } __attribute__ (( packed ));
  26. extern struct meminfo meminfo;
  27. extern void get_memsizes ( void );
  28. #endif /* MEMSIZES_H */