From: Wei Wang Date: Mon, 16 Jan 2012 15:36:15 +0000 (+0100) Subject: cleanup get_gfn_from_base_reg() function. X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eae124c8f3dbff64aab18ef69d86a83cf9e7ae06;p=xen.git cleanup get_gfn_from_base_reg() function. Signed-off-by: Wei Wang Signed-off-by: Jan Beulich Committed-by: Jan Beulich --- diff --git a/xen/drivers/passthrough/amd/iommu_guest.c b/xen/drivers/passthrough/amd/iommu_guest.c index c160bada77..d1e0e4ab89 100644 --- a/xen/drivers/passthrough/amd/iommu_guest.c +++ b/xen/drivers/passthrough/amd/iommu_guest.c @@ -121,16 +121,9 @@ static unsigned int host_domid(struct domain *d, uint64_t g_domid) static unsigned long get_gfn_from_base_reg(uint64_t base_raw) { - struct mmio_reg reg; - uint64_t addr64; - - reg.lo = iommu_get_addr_lo_from_reg(base_raw & DMA_32BIT_MASK); - reg.hi = iommu_get_addr_hi_from_reg(base_raw >> 32); - addr64 = reg_to_u64(reg); - - ASSERT ( addr64 != 0 ); - - return addr64 >> PAGE_SHIFT; + base_raw &= PADDR_MASK; + ASSERT ( base_raw != 0 ); + return base_raw >> PAGE_SHIFT; } static void guest_iommu_deliver_msi(struct domain *d) diff --git a/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h b/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h index 813265f44b..a41acde327 100644 --- a/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h @@ -257,16 +257,4 @@ static inline void iommu_set_addr_hi_to_reg(uint32_t *reg, uint32_t addr) IOMMU_REG_BASE_ADDR_HIGH_SHIFT, reg); } -static inline uint32_t iommu_get_addr_lo_from_reg(uint32_t reg) -{ - return get_field_from_reg_u32(reg, IOMMU_REG_BASE_ADDR_LOW_MASK, - IOMMU_REG_BASE_ADDR_LOW_SHIFT); -} - -static inline uint32_t iommu_get_addr_hi_from_reg(uint32_t reg) -{ - return get_field_from_reg_u32(reg, IOMMU_REG_BASE_ADDR_HIGH_MASK, - IOMMU_REG_BASE_ADDR_HIGH_SHIFT); -} - #endif /* _ASM_X86_64_AMD_IOMMU_PROTO_H */