VirtualBox

Changeset 108554 in vbox for trunk/include


Ignore:
Timestamp:
Mar 13, 2025 5:47:45 PM (6 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167951
Message:

Runtime/common/efi,Main: Fix creating NVRAM files for ARM VMs, the previous ones where incompatible to what the UEFI firmware expected causing a hang during boot under certain circumstances, bugref:10872

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/efi.h

    r106061 r108554  
    135135
    136136/**
     137 * EFI variable store config.
     138 */
     139typedef struct RTEFIVARSTORECFG
     140{
     141    /** The size of the firmware volume. */
     142    uint32_t            cbFv;
     143    /** The block size. */
     144    uint32_t            cbBlock;
     145    /** Size of the variable store in bytes (minus metadata overhead). */
     146    uint32_t            cbVarStore;
     147    /** Size of the NV event log area following the variable store - 0 if no NV event log area is configured. */
     148    uint32_t            cbNvEventLog;
     149    /** Size of the fault tolerant working space - 0 to disable the FTW area. */
     150    uint32_t            cbFtw;
     151    /** Write queue size in bytes of the FTW area. */
     152    uint64_t            cbWriteQueue;
     153} RTEFIVARSTORECFG;
     154/** Pointer to an EFI variable store config. */
     155typedef RTEFIVARSTORECFG *PRTEFIVARSTORECFG;
     156/** Pointer to a const EFI variable store config. */
     157typedef const RTEFIVARSTORECFG *PCRTEFIVARSTORECFG;
     158
     159
     160/**
    137161 * Creates a new EFI variable store.
    138162 *
     
    141165 * @param   offStore            The offset into @a hVfsFile of the file.
    142166 *                              Typically 0.
    143  * @param   cbStore             The size of the variable store.  Pass 0 if the rest of
    144  *                              hVfsFile should be used. The remaining space for variables
    145  *                              will be less because of some metadata overhead.
    146  * @param   fFlags              See RTEFIVARSTORE_F_XXX.
    147  * @param   cbBlock             The logical block size.
     167 * @param   pCfg                The firmware volume config for the variable store.
    148168 * @param   pErrInfo            Additional error information, maybe.  Optional.
    149169 */
    150 RTDECL(int) RTEfiVarStoreCreate(RTVFSFILE hVfsFile, uint64_t offStore, uint64_t cbStore, uint32_t fFlags, uint32_t cbBlock,
    151                                 PRTERRINFO pErrInfo);
     170RTDECL(int) RTEfiVarStoreCreate(RTVFSFILE hVfsFile, uint64_t offStore, PCRTEFIVARSTORECFG pCfg, PRTERRINFO pErrInfo);
    152171
    153172
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