|
@@ -2763,17 +2763,6 @@ static bool vtd_process_inv_desc(IntelIOMMUState *s)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
- /*
|
|
|
- * TODO: the entity of below two cases will be implemented in future series.
|
|
|
- * To make guest (which integrates scalable mode support patch set in
|
|
|
- * iommu driver) work, just return true is enough so far.
|
|
|
- */
|
|
|
- case VTD_INV_DESC_PC:
|
|
|
- break;
|
|
|
-
|
|
|
- case VTD_INV_DESC_PIOTLB:
|
|
|
- break;
|
|
|
-
|
|
|
case VTD_INV_DESC_WAIT:
|
|
|
trace_vtd_inv_desc("wait", inv_desc.hi, inv_desc.lo);
|
|
|
if (!vtd_process_wait_desc(s, &inv_desc)) {
|
|
@@ -2795,6 +2784,17 @@ static bool vtd_process_inv_desc(IntelIOMMUState *s)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
+ /*
|
|
|
+ * TODO: the entity of below two cases will be implemented in future series.
|
|
|
+ * To make guest (which integrates scalable mode support patch set in
|
|
|
+ * iommu driver) work, just return true is enough so far.
|
|
|
+ */
|
|
|
+ case VTD_INV_DESC_PC:
|
|
|
+ case VTD_INV_DESC_PIOTLB:
|
|
|
+ if (s->scalable_mode) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ /* fallthrough */
|
|
|
default:
|
|
|
error_report_once("%s: invalid inv desc: hi=%"PRIx64", lo=%"PRIx64
|
|
|
" (unknown type)", __func__, inv_desc.hi,
|