mirror of https://github.com/xqemu/xqemu.git
intel-iommu: pass in address space when page walk
We pass in the VTDAddressSpace too. It'll be used in the follow up patches. CC: QEMU Stable <qemu-stable@nongnu.org> Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
fe215b0cbb
commit
2f764fa87d
|
@ -754,9 +754,11 @@ typedef int (*vtd_page_walk_hook)(IOMMUTLBEntry *entry, void *private);
|
||||||
* @hook_fn: hook func to be called when detected page
|
* @hook_fn: hook func to be called when detected page
|
||||||
* @private: private data to be passed into hook func
|
* @private: private data to be passed into hook func
|
||||||
* @notify_unmap: whether we should notify invalid entries
|
* @notify_unmap: whether we should notify invalid entries
|
||||||
|
* @as: VT-d address space of the device
|
||||||
* @aw: maximum address width
|
* @aw: maximum address width
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
VTDAddressSpace *as;
|
||||||
vtd_page_walk_hook hook_fn;
|
vtd_page_walk_hook hook_fn;
|
||||||
void *private;
|
void *private;
|
||||||
bool notify_unmap;
|
bool notify_unmap;
|
||||||
|
@ -1463,6 +1465,7 @@ static void vtd_iotlb_page_invalidate_notify(IntelIOMMUState *s,
|
||||||
.private = (void *)&vtd_as->iommu,
|
.private = (void *)&vtd_as->iommu,
|
||||||
.notify_unmap = true,
|
.notify_unmap = true,
|
||||||
.aw = s->aw_bits,
|
.aw = s->aw_bits,
|
||||||
|
.as = vtd_as,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2943,6 +2946,7 @@ static void vtd_iommu_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n)
|
||||||
.private = (void *)n,
|
.private = (void *)n,
|
||||||
.notify_unmap = false,
|
.notify_unmap = false,
|
||||||
.aw = s->aw_bits,
|
.aw = s->aw_bits,
|
||||||
|
.as = vtd_as,
|
||||||
};
|
};
|
||||||
|
|
||||||
vtd_page_walk(&ce, 0, ~0ULL, &info);
|
vtd_page_walk(&ce, 0, ~0ULL, &info);
|
||||||
|
|
Loading…
Reference in New Issue