[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region |
Date: |
Mon, 16 Jan 2017 16:12:52 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Jan 16, 2017 at 04:01:00PM +0800, Jason Wang wrote:
>
>
> On 2017年01月16日 15:50, Peter Xu wrote:
> >On Mon, Jan 16, 2017 at 02:20:31PM +0800, Jason Wang wrote:
> >
> >[...]
> >
> >>>diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> >>>index fd75112..2596f11 100644
> >>>--- a/hw/i386/intel_iommu.c
> >>>+++ b/hw/i386/intel_iommu.c
> >>>@@ -1343,9 +1343,49 @@ static void vtd_handle_gcmd_sirtp(IntelIOMMUState
> >>>*s)
> >>> vtd_set_clear_mask_long(s, DMAR_GSTS_REG, 0, VTD_GSTS_IRTPS);
> >>> }
> >>>+static void vtd_switch_address_space(VTDAddressSpace *as, bool
> >>>iommu_enabled)
> >>Looks like you can check s->dmar_enabled here?
> >Yes, we need to check old state in case we don't need a switch at all.
> >Actually I checked it...
> >
>
> I mean is there a chance that iommu_enabled( better name should be
> dmar_enabled) is not equal to s->dmar_enabled? Looks not.
>
> vtd_handle_gcmd_te() did:
>
> ...
> if (en) {
> s->dmar_enabled = true;
> /* Ok - report back to driver */
> vtd_set_clear_mask_long(s, DMAR_GSTS_REG, 0, VTD_GSTS_TES);
> } else {
> s->dmar_enabled = false;
> ...
>
> You can vtd_switch_address_space_all(s, en) after this which will call this
> function. And another caller like you've pointed out has already call this
> through s->dmar_enabled. So en here is always s->dmar_enalbed?
Hmm, yes...
(I would still prefer keeping this parameter for readablility.
Though, I prefer your suggestion to rename it to dmar_enabled)
-- peterx
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, (continued)
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
[Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Peter Xu, 2017/01/12
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region,
Peter Xu <=
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Michael S. Tsirkin, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Peter Xu, 2017/01/17
Re: [Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Alex Williamson, 2017/01/16
[Qemu-devel] [PATCH RFC v3 14/14] intel_iommu: enable vfio devices, Peter Xu, 2017/01/12