VirtualBox

Changeset 91067 in vbox


Ignore:
Timestamp:
Sep 1, 2021 4:07:03 PM (3 years ago)
Author:
vboxsync
Message:

Devices/Security: Fix TPM not responding after a VM reset, bugref:10075

Location:
trunk/src/VBox/Devices/Security
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Security/DevTpm.cpp

    r91032 r91067  
    14081408static DECLCALLBACK(void) tpmR3Reset(PPDMDEVINS pDevIns)
    14091409{
    1410     PDEVTPM pThis = PDMDEVINS_2_DATA(pDevIns, PDEVTPM);
    1411 
    1412     pThis->enmState   = DEVTPMSTATE_IDLE;
    1413     pThis->bLoc       = TPM_NO_LOCALITY_SELECTED;
    1414     pThis->offCmdResp = 0;
     1410    PDEVTPM   pThis   = PDMDEVINS_2_DATA(pDevIns, PDEVTPM);
     1411    PDEVTPMCC pThisCC = PDMDEVINS_2_DATA_CC(pDevIns, PDEVTPMCC);
     1412
     1413    pThis->enmState       = DEVTPMSTATE_IDLE;
     1414    pThis->bLoc           = TPM_NO_LOCALITY_SELECTED;
     1415    pThis->bmLocReqAcc    = 0;
     1416    pThis->bmLocSeizedAcc = 0;
     1417    pThis->offCmdResp     = 0;
    14151418    RT_ZERO(pThis->abCmdResp);
    14161419
     
    14201423        pLoc->uRegIntEn  = 0;
    14211424        pLoc->uRegIntSts = 0;
     1425    }
     1426
     1427    if (pThisCC->pDrvTpm)
     1428    {
     1429        int rc = pThisCC->pDrvTpm->pfnReset(pThisCC->pDrvTpm);
     1430        AssertRC(rc);
    14221431    }
    14231432}
  • trunk/src/VBox/Devices/Security/DrvTpmEmu.cpp

    r91048 r91067  
    657657{
    658658    RT_NOREF(pInterface);
    659     return VERR_NOT_IMPLEMENTED;
     659    return VINF_SUCCESS;
    660660}
    661661
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