[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/33] intel_iommu: introduce vtd_reset_caches()
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 06/33] intel_iommu: introduce vtd_reset_caches() |
Date: |
Mon, 5 Nov 2018 13:15:35 -0500 |
From: Peter Xu <address@hidden>
Provide the function and use it in vtd_init(). Used to reset both
context entry cache and iotlb cache for the whole IOMMU unit.
Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Reviewed-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/i386/intel_iommu.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 3dfada19a6..1137861a9d 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -227,6 +227,14 @@ static void vtd_reset_iotlb(IntelIOMMUState *s)
vtd_iommu_unlock(s);
}
+static void vtd_reset_caches(IntelIOMMUState *s)
+{
+ vtd_iommu_lock(s);
+ vtd_reset_iotlb_locked(s);
+ vtd_reset_context_cache_locked(s);
+ vtd_iommu_unlock(s);
+}
+
static uint64_t vtd_get_iotlb_key(uint64_t gfn, uint16_t source_id,
uint32_t level)
{
@@ -3160,10 +3168,7 @@ static void vtd_init(IntelIOMMUState *s)
s->cap |= VTD_CAP_CM;
}
- vtd_iommu_lock(s);
- vtd_reset_context_cache_locked(s);
- vtd_reset_iotlb_locked(s);
- vtd_iommu_unlock(s);
+ vtd_reset_caches(s);
/* Define registers with default values and bit semantics */
vtd_define_long(s, DMAR_VER_REG, 0x10UL, 0, 0);
--
MST
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, (continued)
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, Michael S. Tsirkin, 2018/11/06
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, Laurent Vivier, 2018/11/06
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, Stefan Hajnoczi, 2018/11/08
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, Laurent Vivier, 2018/11/08
- Re: [Qemu-devel] [PULL 02/33] tests: Move tests/hex-loader-check-data/ to tests/data/hex-loader/, Philippe Mathieu-Daudé, 2018/11/08
[Qemu-devel] [PULL 01/33] tests: Move tests/acpi-test-data/ to tests/data/acpi/, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 03/33] configure: Rename FILES variable to LINKS, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 04/33] configure: Use LINKS loop for all build tree symlinks, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 06/33] intel_iommu: introduce vtd_reset_caches(),
Michael S. Tsirkin <=
[Qemu-devel] [PULL 05/33] virtio-blk: fix comment for virtio_blk_rw_complete, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 07/33] intel_iommu: better handling of dmar state switch, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 08/33] intel_iommu: move ce fetching out when sync shadow, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 09/33] intel_iommu: handle invalid ce for shadow sync, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 16/33] x86_iommu/amd: Add interrupt remap support when VAPIC is not enabled, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 13/33] x86_iommu/amd: remove V=1 check from amdvi_validate_dte(), Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 18/33] x86_iommu/amd: Add interrupt remap support when VAPIC is enabled, Michael S. Tsirkin, 2018/11/05
[Qemu-devel] [PULL 14/33] x86_iommu/amd: make the address space naming consistent with intel-iommu, Michael S. Tsirkin, 2018/11/05