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