2018-11-12 12:27:32

by Suthikulpanit, Suravee

[permalink] [raw]
Subject: [PATCH] amd/iommu: Fix Guest Virtual APIC Log Tail Address Register

From: Filippo Sironi <[email protected]>

This register should have been programmed with the physical address
of the memory location containing the shadow tail pointer for
the guest virtual APIC log instead of the base address.

Fixes: 8bda0cfbdc1a ('iommu/amd: Detect and initialize guest vAPIC log')
Signed-off-by: Filippo Sironi <[email protected]>
Signed-off-by: Wei Wang <[email protected]>
Signed-off-by: Suravee Suthikulpanit <[email protected]>
---
drivers/iommu/amd_iommu_init.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 9c3d610e1e19..e777fa90b2c2 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -797,7 +797,8 @@ static int iommu_init_ga_log(struct amd_iommu *iommu)
entry = iommu_virt_to_phys(iommu->ga_log) | GA_LOG_SIZE_512;
memcpy_toio(iommu->mmio_base + MMIO_GA_LOG_BASE_OFFSET,
&entry, sizeof(entry));
- entry = (iommu_virt_to_phys(iommu->ga_log) & 0xFFFFFFFFFFFFFULL) & ~7ULL;
+ entry = (iommu_virt_to_phys(iommu->ga_log_tail) &
+ (BIT_ULL(52)-1)) & ~7ULL;
memcpy_toio(iommu->mmio_base + MMIO_GA_LOG_TAIL_OFFSET,
&entry, sizeof(entry));
writel(0x00, iommu->mmio_base + MMIO_GA_HEAD_OFFSET);
--
2.17.1



2018-11-12 14:11:05

by Joerg Roedel

[permalink] [raw]
Subject: Re: [PATCH] amd/iommu: Fix Guest Virtual APIC Log Tail Address Register

On Mon, Nov 12, 2018 at 12:26:30PM +0000, Suthikulpanit, Suravee wrote:
> From: Filippo Sironi <[email protected]>
>
> This register should have been programmed with the physical address
> of the memory location containing the shadow tail pointer for
> the guest virtual APIC log instead of the base address.
>
> Fixes: 8bda0cfbdc1a ('iommu/amd: Detect and initialize guest vAPIC log')
> Signed-off-by: Filippo Sironi <[email protected]>
> Signed-off-by: Wei Wang <[email protected]>
> Signed-off-by: Suravee Suthikulpanit <[email protected]>
> ---
> drivers/iommu/amd_iommu_init.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

Applied to iommu/fixes, thanks.