Lines Matching refs:gdte
25 static int validate_gdte_nested(struct iommu_hwpt_amd_guest *gdte)
27 u32 gpt_level = FIELD_GET(DTE_GPT_LEVEL_MASK, gdte->dte[2]);
30 if (FIELD_GET(DTE_MODE_MASK, gdte->dte[0]) != 0 ||
31 FIELD_GET(DTE_HOST_TRP, gdte->dte[0]) != 0)
35 if (FIELD_GET(DTE_FLAG_V, gdte->dte[0]) == 1 &&
36 FIELD_GET(DTE_FLAG_GV, gdte->dte[0]) == 1 &&
37 FIELD_GET(DTE_GCR3_14_12, gdte->dte[0]) == 0 &&
38 FIELD_GET(DTE_GCR3_30_15, gdte->dte[1]) == 0 &&
39 FIELD_GET(DTE_GCR3_51_31, gdte->dte[1]) == 0)
48 if (FIELD_GET(DTE_GLX, gdte->dte[0]) == 3)
109 ret = iommu_copy_struct_from_user(&ndom->gdte, user_data,
115 ret = validate_gdte_nested(&ndom->gdte);
119 ndom->gdom_id = FIELD_GET(DTE_DOMID_MASK, ndom->gdte.dte[1]);
191 struct iommu_hwpt_amd_guest *gdte = &ndom->gdte;
219 new->data[0] |= gdte->dte[0] & DTE_FLAG_PPR;
222 new->data[0] |= gdte->dte[0] & (DTE_GLX | DTE_FLAG_GIOV);
225 new->data[0] |= gdte->dte[0] & DTE_GCR3_14_12;
226 new->data[1] |= gdte->dte[1] & (DTE_GCR3_30_15 | DTE_GCR3_51_31);
229 new->data[2] |= gdte->dte[2] & DTE_GPT_LEVEL_MASK;