aboutsummaryrefslogtreecommitdiff
path: root/Mpu401.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2022-01-31 02:10:19 +0100
committerJavier <dev.git@javispedro.com>2022-01-31 02:10:19 +0100
commit31b5bb185de13377cdad81585ef8607e9fb850b4 (patch)
tree32f97e5a586665961193b3441ae30e0ba0711162 /Mpu401.cpp
parentdd4eaa7ccb6424df1f9c386c51aa78c0a9923832 (diff)
downloadvmusic-31b5bb185de13377cdad81585ef8607e9fb850b4.tar.gz
vmusic-31b5bb185de13377cdad81585ef8607e9fb850b4.zip
add save state & restore support
Diffstat (limited to 'Mpu401.cpp')
-rw-r--r--Mpu401.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/Mpu401.cpp b/Mpu401.cpp
index cb7606b..8e2badc 100644
--- a/Mpu401.cpp
+++ b/Mpu401.cpp
@@ -321,15 +321,14 @@ static DECLCALLBACK(VBOXSTRICTRC) mpuIoPortWrite(PPDMDEVINS pDevIns, void *pvUse
/**
* @callback_method_impl{FNSSMDEVSAVEEXEC}
*/
-static DECLCALLBACK(int) mpuR3SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle)
+static DECLCALLBACK(int) mpuR3SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
{
PMPUSTATE pThis = PDMDEVINS_2_DATA(pDevIns, PMPUSTATE);
PCPDMDEVHLPR3 pHlp = pDevIns->pHlpR3;
- // TODO
- NOREF(pThis);
- NOREF(pHlp);
- NOREF(pSSMHandle);
+ pHlp->pfnSSMPutBool(pSSM, pThis->fHaveInput);
+ pHlp->pfnSSMPutU8 (pSSM, pThis->uInput);
+ pHlp->pfnSSMPutBool(pSSM, pThis->fModeUart);
return 0;
}
@@ -337,7 +336,7 @@ static DECLCALLBACK(int) mpuR3SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle
/**
* @callback_method_impl{FNSSMDEVLOADEXEC}
*/
-static DECLCALLBACK(int) mpuR3LoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle, uint32_t uVersion, uint32_t uPass)
+static DECLCALLBACK(int) mpuR3LoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass)
{
PMPUSTATE pThis = PDMDEVINS_2_DATA(pDevIns, PMPUSTATE);
PCPDMDEVHLPR3 pHlp = pDevIns->pHlpR3;
@@ -345,10 +344,9 @@ static DECLCALLBACK(int) mpuR3LoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle
Assert(uPass == SSM_PASS_FINAL);
NOREF(uPass);
- // TODO
- NOREF(pThis);
- NOREF(pHlp);
- NOREF(pSSMHandle);
+ pHlp->pfnSSMGetBool(pSSM, &pThis->fHaveInput);
+ pHlp->pfnSSMGetU8 (pSSM, &pThis->uInput);
+ pHlp->pfnSSMGetBool(pSSM, &pThis->fModeUart);
if (uVersion > MPU_SAVED_STATE_VERSION)
return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION;