linux_loader/loader_gen/x86_64/
start_info.rs1#![allow(non_camel_case_types)]
4
5pub const XEN_HVM_START_MAGIC_VALUE: u32 = 0x336ec578;
6
7pub const XEN_HVM_MEMMAP_TYPE_RAM: u32 = 1;
8pub const XEN_HVM_MEMMAP_TYPE_RESERVED: u32 = 2;
9pub const XEN_HVM_MEMMAP_TYPE_ACPI: u32 = 3;
10pub const XEN_HVM_MEMMAP_TYPE_NVS: u32 = 4;
11pub const XEN_HVM_MEMMAP_TYPE_UNUSABLE: u32 = 5;
12pub const XEN_HVM_MEMMAP_TYPE_DISABLED: u32 = 6;
13pub const XEN_HVM_MEMMAP_TYPE_PMEM: u32 = 7;
14
15#[repr(C)]
21#[derive(Debug, Default, Copy, Clone, PartialEq)]
22pub struct hvm_start_info {
23 pub magic: u32,
24 pub version: u32,
25 pub flags: u32,
26 pub nr_modules: u32,
27 pub modlist_paddr: u64,
28 pub cmdline_paddr: u64,
29 pub rsdp_paddr: u64,
30 pub memmap_paddr: u64,
31 pub memmap_entries: u32,
32 pub reserved: u32,
33}
34
35#[repr(C)]
36#[derive(Debug, Default, Copy, Clone, PartialEq)]
37pub struct hvm_modlist_entry {
38 pub paddr: u64,
39 pub size: u64,
40 pub cmdline_paddr: u64,
41 pub reserved: u64,
42}
43
44#[repr(C)]
45#[derive(Debug, Default, Copy, Clone, PartialEq)]
46pub struct hvm_memmap_table_entry {
47 pub addr: u64,
48 pub size: u64,
49 pub type_: u32,
50 pub reserved: u32,
51}
52
53const _: () = assert!(core::mem::size_of::<hvm_start_info>() == 56);
55const _: () = assert!(core::mem::size_of::<hvm_modlist_entry>() == 32);
56const _: () = assert!(core::mem::size_of::<hvm_memmap_table_entry>() == 24);