summaryrefslogtreecommitdiff
path: root/src/VBox/Devices/testcase
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2020-03-11 16:34:33 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2020-03-11 16:34:33 +0000
commit0e7b89287a15791cb9950f5348a700cd6c5b73fc (patch)
treebc2e84449f4401c634ec0b0ef32bf631b002d9f0 /src/VBox/Devices/testcase
parentee5b46276b602adc1b572c9ff89ef045ff24e622 (diff)
downloadVirtualBox-svn-0e7b89287a15791cb9950f5348a700cd6c5b73fc.tar.gz
AMD IOMMU: bugref:9654 Skeletal bits.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@83263 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Devices/testcase')
-rw-r--r--src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp b/src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp
index a4bd5fbd32e..b51ce06b0e6 100644
--- a/src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp
+++ b/src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp
@@ -4625,6 +4625,36 @@ static DECLCALLBACK(int) pdmR3DevHlp_PCIBusRegister(PPDMDEVINS pDevIns, PPDMPCIB
}
+/** @interface_method_impl{PDMDEVHLPR3,pfnIommuRegister} */
+static DECLCALLBACK(int) pdmR3DevHlp_IommuRegister(PPDMDEVINS pDevIns, PPDMIOMMUREG pIommuReg, PCPDMIOMMUHLP *ppIommuHlp)
+{
+ PDMDEV_ASSERT_DEVINS(pDevIns);
+ LogFlow(("pdmR3DevHlp_IommuRegister: caller='%s'/%d: pIommuReg=%p:{.u32Version=%#x, .u32TheEnd=%#x } ppIommuHlp=%p\n",
+ pDevIns->pReg->szName, pDevIns->iInstance, pIommuReg, pIommuReg->u32Version, pIommuReg->u32TheEnd, ppIommuHlp));
+
+ /*
+ * Validate input.
+ */
+ AssertMsgReturn(pIommuReg->u32Version == PDM_IOMMUREG_VERSION,
+ ("%s/%d: u32Version=%#x expected %#x\n", pDevIns->pReg->szName, pDevIns->iInstance, pIommuReg->u32Version, PDM_IOMMUREG_VERSION),
+ VERR_INVALID_PARAMETER);
+
+ /** @todo IOMMU: Validate other parameters */
+
+ AssertMsgReturn(pIommuReg->u32TheEnd == PDM_IOMMUREG_VERSION,
+ ("%s/%d: u32TheEnd=%#x expected %#x\n", pDevIns->pReg->szName, pDevIns->iInstance, pIommuReg->u32TheEnd, PDM_IOMMUREG_VERSION),
+ VERR_INVALID_PARAMETER);
+ AssertPtrReturn(ppIommuHlp, VERR_INVALID_POINTER);
+
+ int rc = VERR_NOT_IMPLEMENTED;
+ AssertFailed();
+ Log(("PDM: Registered IOMMU device '%s'/%d pDevIns=%p\n", pDevIns->pReg->szName, pDevIns->iInstance, pDevIns));
+
+ LogFlow(("pdmR3DevHlp_IommuRegister: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc));
+ return rc;
+}
+
+
/** @interface_method_impl{PDMDEVHLPR3,pfnPICRegister} */
static DECLCALLBACK(int) pdmR3DevHlp_PICRegister(PPDMDEVINS pDevIns, PPDMPICREG pPicReg, PCPDMPICHLP *ppPicHlp)
{