VirtualBox

Changeset 100116 in vbox


Ignore:
Timestamp:
Jun 8, 2023 12:38:00 PM (21 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157809
Message:

Devices/DevEFI-armv8.cpp: Move the FDT injection to the memory setup phase instead of after construction or reset because the memory gets zeroed _after_ the device was reset so the FDT got overwritten making UEFI fail to come up after a VM reset, bugref:10400

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/DevEFI-armv8.cpp

    r100039 r100116  
    189189
    190190/**
    191  * @interface_method_impl{PDMDEVREG,pfnReset}
    192  */
    193 static DECLCALLBACK(void) efiR3Reset(PPDMDEVINS pDevIns)
     191 * @interface_method_impl{PDMDEVREG,pfnMemSetup}
     192 */
     193static DECLCALLBACK(void) efiR3MemSetup(PPDMDEVINS pDevIns, PDMDEVMEMSETUPCTX enmCtx)
    194194{
    195195    PDEVEFIR3 pThisCC = PDMDEVINS_2_DATA_CC(pDevIns, PDEVEFIR3);
    196     LogFlow(("efiR3Reset\n"));
    197 
     196    LogFlow(("efiR3MemSetup\n"));
     197
     198    RT_NOREF(enmCtx);
    198199    if (pThisCC->GCPhysFdtAddress != RTGCPHYS_MAX)
    199200    {
     
    406407        return PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, N_("Can't attach resource Storage driver"));
    407408
    408     efiR3Reset(pDevIns);
    409409    return VINF_SUCCESS;
    410410}
     
    451451    /* .pfnDestruct = */            efiR3Destruct,
    452452    /* .pfnRelocate = */            NULL,
    453     /* .pfnMemSetup = */            NULL,
     453    /* .pfnMemSetup = */            efiR3MemSetup,
    454454    /* .pfnPowerOn = */             NULL,
    455     /* .pfnReset = */               efiR3Reset,
     455    /* .pfnReset = */               NULL,
    456456    /* .pfnSuspend = */             NULL,
    457457    /* .pfnResume = */              NULL,
Note: See TracChangeset for help on using the changeset viewer.

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