On 07/06/14 19:54, Stefan Weil wrote:

Both constants need more than 32 bit.

Signed-off-by: Stefan Weil <s...@weilnetz.de>
---
  hw/pci-host/apb.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/pci-host/apb.c b/hw/pci-host/apb.c
index 1497008..6fa2723 100644
--- a/hw/pci-host/apb.c
+++ b/hw/pci-host/apb.c
@@ -99,8 +99,8 @@ do { printf("IOMMU: " fmt , ## __VA_ARGS__); } while (0)
  #define IOMMU_TTE_DATA_SIZE     (1ULL << 61)
  #define IOMMU_TTE_DATA_W        (1ULL << 1)

-#define IOMMU_TTE_PHYS_MASK_8K  0x1ffffffe000
-#define IOMMU_TTE_PHYS_MASK_64K 0x1ffffff8000
+#define IOMMU_TTE_PHYS_MASK_8K  0x1ffffffe000ULL
+#define IOMMU_TTE_PHYS_MASK_64K 0x1ffffff8000ULL

  #define IOMMU_TSB_8K_OFFSET_MASK_8M    0x00000000007fe000ULL
  #define IOMMU_TSB_8K_OFFSET_MASK_16M   0x0000000000ffe000ULL

Gah yes, physical addresses in SPARC do lie outside the 32-bit range (I guess this showed up building with a 32-bit compiler?). Is it urgent enough to warrant me sending this as a separate pull request, or can it simply be queued via trivial?


ATB,

Mark.


Reply via email to