include/xen/interface/hvm/start_info.h

Source file repositories/reference/linux-study-clean/include/xen/interface/hvm/start_info.h

File Facts

System
Linux kernel
Corpus path
include/xen/interface/hvm/start_info.h
Extension
.h
Size
6377 bytes
Lines
143
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

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.               */
};

#endif /* __XEN_PUBLIC_ARCH_X86_HVM_START_INFO_H__ */

Annotation

Implementation Notes