mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-08-03 17:31:42 +00:00
HV: elf_loader: introduce the multiboot_header data structure
Define the multiboot_header data structure and MULTIBOOT_MEMORY related definitions. Tracked-On: #8642 Signed-off-by: Zhang Chen <chen.zhang@intel.com> Signed-off-by: Victor Sun <victor.sun@intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
parent
b808c0ef32
commit
1d4bdd452c
@ -48,6 +48,36 @@
|
|||||||
#define MULTIBOOT_INFO_HAS_LOADER_NAME 0x00000200U
|
#define MULTIBOOT_INFO_HAS_LOADER_NAME 0x00000200U
|
||||||
|
|
||||||
#ifndef ASSEMBLER
|
#ifndef ASSEMBLER
|
||||||
|
|
||||||
|
struct multiboot_header {
|
||||||
|
/* Must be MULTIBOOT_MAGIC - see above. */
|
||||||
|
uint32_t magic;
|
||||||
|
|
||||||
|
/* Feature flags. */
|
||||||
|
uint32_t flags;
|
||||||
|
|
||||||
|
/* The above fields plus this one must equal 0 mod 2^32. */
|
||||||
|
uint32_t checksum;
|
||||||
|
|
||||||
|
/* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */
|
||||||
|
uint32_t header_addr;
|
||||||
|
uint32_t load_addr;
|
||||||
|
uint32_t load_end_addr;
|
||||||
|
uint32_t bss_end_addr;
|
||||||
|
uint32_t entry_addr;
|
||||||
|
|
||||||
|
/* These are only valid if MULTIBOOT_VIDEO_MODE is set. */
|
||||||
|
uint32_t mode_type;
|
||||||
|
uint32_t width;
|
||||||
|
uint32_t height;
|
||||||
|
uint32_t depth;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
#define MULTIBOOT_MEMORY_AVAILABLE 1U
|
||||||
|
#define MULTIBOOT_MEMORY_RESERVED 2U
|
||||||
|
#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE 3U
|
||||||
|
#define MULTIBOOT_MEMORY_NVS 4U
|
||||||
|
#define MULTIBOOT_MEMORY_BADRAM 5U
|
||||||
struct multiboot_mmap {
|
struct multiboot_mmap {
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
uint64_t baseaddr;
|
uint64_t baseaddr;
|
||||||
|
Loading…
Reference in New Issue
Block a user