mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-08-02 00:08:43 +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
|
||||
|
||||
#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 {
|
||||
uint32_t size;
|
||||
uint64_t baseaddr;
|
||||
|
Loading…
Reference in New Issue
Block a user