On 01/03/2018 11:33, Liu, Yi L wrote:
> + IntelPASIDNode *node;
> + char name[128];
> +
> + QLIST_FOREACH(node, &(s->pasid_as_list), next) {
> + vtd_pasid_as = node->pasid_as;
> + if (pasid == vtd_pasid_as->sva_ctx.pasid) {
> + return vtd_pasid_as;
> + }
> + }
> +
> + vtd_pasid_as = g_malloc0(sizeof(*vtd_pasid_as));
> + vtd_pasid_as->iommu_state = s;
> + snprintf(name, sizeof(name), "intel_iommu_pasid_%d", pasid);
> + address_space_init(&vtd_pasid_as->as, NULL, "pasid");
The name is unused here. The call to address_space_init should probably
use it.
You also don't need the separate IntelPASIDNode, because the
QLIST_ENTRY can be placed directly in VTDPASIDAddressSpace.
Paolo