|
@@ -2692,6 +2692,14 @@ static bool vtd_process_iotlb_desc(IntelIOMMUState *s, VTDInvDesc *inv_desc)
|
|
static bool vtd_process_inv_iec_desc(IntelIOMMUState *s,
|
|
static bool vtd_process_inv_iec_desc(IntelIOMMUState *s,
|
|
VTDInvDesc *inv_desc)
|
|
VTDInvDesc *inv_desc)
|
|
{
|
|
{
|
|
|
|
+ uint64_t mask[4] = {VTD_INV_DESC_IEC_RSVD, VTD_INV_DESC_ALL_ONE,
|
|
|
|
+ VTD_INV_DESC_ALL_ONE, VTD_INV_DESC_ALL_ONE};
|
|
|
|
+
|
|
|
|
+ if (!vtd_inv_desc_reserved_check(s, inv_desc, mask, false,
|
|
|
|
+ __func__, "iec inv")) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
trace_vtd_inv_desc_iec(inv_desc->iec.granularity,
|
|
trace_vtd_inv_desc_iec(inv_desc->iec.granularity,
|
|
inv_desc->iec.index,
|
|
inv_desc->iec.index,
|
|
inv_desc->iec.index_mask);
|
|
inv_desc->iec.index_mask);
|