VirtualBox

Changeset 104911 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Jun 13, 2024 10:33:27 AM (9 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
163513
Message:

VMM/GIM: bugref:10703 Fix/re-implemented Hyper-V paravirt HvExtCallGetBootZeroedMemory hypercall to suit the latest (and actually used) Windows Hyper-V spec.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/GIMHvInternal.h

    r99208 r104911  
    562562                                                   | MSR_GIM_HV_STIMER_SINTX)
    563563/** @} */
     564
     565
     566/** Hyper-V page size.  */
     567#define GIM_HV_PAGE_SIZE                          4096
     568/** Hyper-V page shift. */
     569#define GIM_HV_PAGE_SHIFT                         12
     570
     571/** Microsoft Hyper-V vendor signature. */
     572#define GIM_HV_VENDOR_MICROSOFT                   "Microsoft Hv"
    564573
    565574/**
     
    10811090
    10821091/**
    1083  * HvExtCallGetBootZeroedMemory hypercall output.
    1084  */
    1085 typedef struct GIMHVEXTGETBOOTZEROMEM
     1092 * Hyper-V memory range for HvExtCallGetBootZeroedMemory.
     1093 */
     1094typedef struct GIMHVEXTMEMRANGE
    10861095{
    10871096    RTGCPHYS GCPhysStart;
    10881097    uint64_t cPages;
     1098} GIMHVEXTMEMRANGE;
     1099
     1100/** Maximum number of zeroed memory ranges supported by Hyper-V. */
     1101#define GIM_HV_MAX_BOOT_ZEROED_MEM_RANGES         255
     1102
     1103/**
     1104 * HvExtCallGetBootZeroedMemory hypercall output.
     1105 */
     1106typedef struct GIMHVEXTGETBOOTZEROMEM
     1107{
     1108    uint64_t            cRanges;
     1109    GIMHVEXTMEMRANGE    aRanges[GIM_HV_MAX_BOOT_ZEROED_MEM_RANGES];
    10891110} GIMHVEXTGETBOOTZEROMEM;
    10901111/** Pointer to a HvExtCallGetBootZeroedMemory output struct. */
    10911112typedef GIMHVEXTGETBOOTZEROMEM *PGIMHVEXTGETBOOTZEROMEM;
    1092 AssertCompileSize(GIMHVEXTGETBOOTZEROMEM, 16);
    1093 /** @} */
    1094 
    1095 
    1096 /** Hyper-V page size.  */
    1097 #define GIM_HV_PAGE_SIZE                          4096
    1098 /** Hyper-V page shift. */
    1099 #define GIM_HV_PAGE_SHIFT                         12
    1100 
    1101 /** Microsoft Hyper-V vendor signature. */
    1102 #define GIM_HV_VENDOR_MICROSOFT                   "Microsoft Hv"
     1113/** Pointer to a const HvExtCallGetBootZeroedMemory output struct. */
     1114typedef GIMHVEXTGETBOOTZEROMEM const *PCGIMHVEXTGETBOOTZEROMEM;
     1115AssertCompileSize(GIMHVEXTGETBOOTZEROMEM, 4088);
     1116AssertCompile(sizeof(GIMHVEXTGETBOOTZEROMEM) <= GIM_HV_PAGE_SIZE);
     1117/** @} */
     1118
    11031119
    11041120/**
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette