summaryrefslogtreecommitdiff
path: root/drivers/iommu/intel/iommu.c
diff options
context:
space:
mode:
authorLu Baolu <baolu.lu@linux.intel.com>2020-08-28 08:06:15 +0800
committerJoerg Roedel <jroedel@suse.de>2020-09-04 11:39:21 +0200
commit6e4e9ec65078093165463c13d4eb92b3e8d7b2e8 (patch)
treee114b3fced2821373fcbc6e08f19aa71c5db007d /drivers/iommu/intel/iommu.c
parent365d2a23663711c32e778c9c18b07163f9193925 (diff)
downloadlwn-6e4e9ec65078093165463c13d4eb92b3e8d7b2e8.tar.gz
lwn-6e4e9ec65078093165463c13d4eb92b3e8d7b2e8.zip
iommu/vt-d: Serialize IOMMU GCMD register modifications
The VT-d spec requires (10.4.4 Global Command Register, GCMD_REG General Description) that: If multiple control fields in this register need to be modified, software must serialize the modifications through multiple writes to this register. However, in irq_remapping.c, modifications of IRE and CFI are done in one write. We need to do two separate writes with STS checking after each. It also checks the status register before writing command register to avoid unnecessary register write. Fixes: af8d102f999a4 ("x86/intel/irq_remapping: Clean up x2apic opt-out security warning mess") Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Jacob Pan <jacob.jun.pan@linux.intel.com> Cc: Kevin Tian <kevin.tian@intel.com> Cc: Ashok Raj <ashok.raj@intel.com> Link: https://lore.kernel.org/r/20200828000615.8281-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/intel/iommu.c')
0 files changed, 0 insertions, 0 deletions