/* *Crepresentationofthex86/HVMstartinfolayout. * *Thecanonicaldefinitionofthislayoutisabove,thisisjustawayto *representthelayoutdescribedthereusingCtypes.
*/ struct hvm_start_info {
uint32_t magic; /* Contains the magic value 0x336ec578 */ /* ("xEn3" with the 0x80 bit of the "E" set).*/
uint32_t version; /* Version of this structure. */
uint32_t flags; /* SIF_xxx flags. */
uint32_t nr_modules; /* Number of modules passed to the kernel. */
uint64_t modlist_paddr; /* Physical address of an array of */ /* hvm_modlist_entry. */
uint64_t cmdline_paddr; /* Physical address of the command line. */
uint64_t rsdp_paddr; /* Physical address of the RSDP ACPI data */ /* structure. */ /* All following fields only present in version 1 and newer */
uint64_t memmap_paddr; /* Physical address of an array of */ /* hvm_memmap_table_entry. */
uint32_t memmap_entries; /* Number of entries in the memmap table. */ /* Value will be zero if there is no memory */ /* map being provided. */
uint32_t reserved; /* Must be zero. */
};
struct hvm_modlist_entry {
uint64_t paddr; /* Physical address of the module. */
uint64_t size; /* Size of the module in bytes. */
uint64_t cmdline_paddr; /* Physical address of the command line. */
uint64_t reserved;
};
struct hvm_memmap_table_entry {
uint64_t addr; /* Base address of the memory region */
uint64_t size; /* Size of the memory region in bytes */
uint32_t type; /* Mapping type */
uint32_t reserved; /* Must be zero for Version 1. */
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.