diff --git a/include/kvm/vfio.h b/include/kvm/vfio.h
index 9556233..6ece040 100644
--- a/include/kvm/vfio.h
+++ b/include/kvm/vfio.h
@@ -116,6 +116,9 @@
 	 * PCI for now.
 	 */
 	struct vfio_platform_device	platform;
+	u64                             iommu;
+	u32                             *sid;
+	int                             nr_sid;
 };
 
 struct vfio_device_params {
diff --git a/vfio/core.c b/vfio/core.c
index f722168..b93fbab 100644
--- a/vfio/core.c
+++ b/vfio/core.c
@@ -738,6 +738,9 @@
 			return ret;
 		}
 		pr_info("nr_sids = %d\n", info.out_nr_sids);
+		vfio_devices[i].iommu = pviommufd;
+		vfio_devices[i].sid = malloc(info.out_nr_sids * sizeof(vfio_devices[i].sid));
+		vfio_devices[i].nr_sid = info.out_nr_sids;
 		/* Set vSID => SID translation. */
 		for (j = 0; j < info.out_nr_sids; ++j) {
 			struct kvm_vfio_iommu_config config = {
@@ -753,6 +756,7 @@
 				pr_err("Failed to set vsid(%d) => sid(%d) translation, err %d\n", config.vsid, j, ret);
 				return ret;
 			}
+			vfio_devices[i].sid[j] = config.vsid;
 		}
 	}
 
@@ -797,8 +801,11 @@
 	if (!kvm->cfg.num_vfio_devices)
 		return 0;
 
-	for (i = 0; i < kvm->cfg.num_vfio_devices; i++)
+	for (i = 0; i < kvm->cfg.num_vfio_devices; i++) {
+		if (vfio_devices[i].nr_sid)
+			free(vfio_devices[i].sid);
 		vfio_device_exit(kvm, &vfio_devices[i]);
+	}
 
 	free(vfio_devices);
 
diff --git a/vfio/platform.c b/vfio/platform.c
index 409788b..047a699 100644
--- a/vfio/platform.c
+++ b/vfio/platform.c
@@ -25,10 +25,10 @@
 	return block;
 }
 
-static void generate_qemu_iommu(void *fdt) {
+static void generate_qemu_iommu(void *fdt, u64 id) {
 	_FDT(fdt_begin_node(fdt, "pviommu"));
 	_FDT(fdt_property_string(fdt, "compatible", "pkvm,pviommu"));
-	_FDT(fdt_property_cell(fdt, "id", 0));
+	_FDT(fdt_property_cell(fdt, "id", id));
 	_FDT(fdt_property_cell(fdt, "phandle", 0x9000));
 	_FDT(fdt_property_cell(fdt, "#iommu-cells", 1));
 	_FDT(fdt_end_node(fdt));
@@ -51,13 +51,13 @@
 	struct vfio_platform_device *pdev = &vdev->platform;
 	u32 iommu[] = {
 		cpu_to_fdt32(0x9000),	/*phandle of pvIOMMU */
-		cpu_to_fdt32(1),		/* SID */
+		cpu_to_fdt32(vdev->sid[0]),		/* SID */
 	};
 
 	u64 reg_prop[10]; /* Max 5 for now. */
 	unsigned int i = 0;
 
-	generate_qemu_iommu(fdt);
+	generate_qemu_iommu(fdt, vdev->iommu);
 
 	for ( ; i < vdev->info.num_regions ; i++) {
 		reg_prop[2 * i] = cpu_to_fdt64(vdev->regions[i].guest_phys_addr); /* Addr */
