qemu/hw/i386/e820_memory_layout.h
<<
>>
Prefs
   1/*
   2 * QEMU BIOS e820 routines
   3 *
   4 * Copyright (c) 2003-2004 Fabrice Bellard
   5 *
   6 * SPDX-License-Identifier: MIT
   7 */
   8
   9#ifndef HW_I386_E820_MEMORY_LAYOUT_H
  10#define HW_I386_E820_MEMORY_LAYOUT_H
  11
  12/* e820 types */
  13#define E820_RAM        1
  14#define E820_RESERVED   2
  15#define E820_ACPI       3
  16#define E820_NVS        4
  17#define E820_UNUSABLE   5
  18
  19struct e820_entry {
  20    uint64_t address;
  21    uint64_t length;
  22    uint32_t type;
  23} QEMU_PACKED __attribute((__aligned__(4)));
  24
  25extern struct e820_entry *e820_table;
  26
  27int e820_add_entry(uint64_t address, uint64_t length, uint32_t type);
  28int e820_get_num_entries(void);
  29bool e820_get_entry(int index, uint32_t type,
  30                    uint64_t *address, uint64_t *length);
  31
  32
  33
  34#endif
  35