From 9e91f14bec677cc3c5410d3014d8e93acf66d37f Mon Sep 17 00:00:00 2001 From: Zide Chen Date: Tue, 4 Jun 2019 10:53:07 -0700 Subject: [PATCH] hv: correctly grant DRHD register access rights to hypervisor Need to call hv_access_memory_region_update() explicitly for DRHD registers to correctly grant access rights for hypervisor. Currently, other hv_access_memory_region_update() calls happen to cover the DRHD addresses for currently supported platforms. Tracked-On: #3194 Signed-off-by: Zide Chen Acked-by: Anthony Xu --- hypervisor/arch/x86/vtd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hypervisor/arch/x86/vtd.c b/hypervisor/arch/x86/vtd.c index ffbff1d42..9b2d1e2e4 100644 --- a/hypervisor/arch/x86/vtd.c +++ b/hypervisor/arch/x86/vtd.c @@ -213,6 +213,9 @@ static int32_t register_hrhd_units(void) drhd_rt->index = i; drhd_rt->drhd = &platform_dmar_info->drhd_units[i]; drhd_rt->dmar_irq = IRQ_INVALID; + + hv_access_memory_region_update(drhd_rt->drhd->reg_base_addr, PAGE_SIZE); + ret = dmar_register_hrhd(drhd_rt); if (ret != 0) { break;