use pci_memspace_mask for mmap calculations
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index 8c1acb1..2c0c5f1 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -1,4 +1,4 @@
-/* $Id: pci.c,v 1.39 2002-01-05 01:13:43 davem Exp $
+/* $Id: pci.c,v 1.40 2002-02-10 15:04:46 ecd Exp $
* pci.c: UltraSparc PCI controller support.
*
* Copyright (C) 1997, 1998, 1999 David S. Miller (davem@redhat.com)
@@ -418,7 +418,7 @@
enum pci_mmap_state mmap_state)
{
unsigned long user_offset = vma->vm_pgoff << PAGE_SHIFT;
- unsigned long user32 = user_offset & 0xffffffffUL;
+ unsigned long user32 = user_offset & pci_memspace_mask;
unsigned long largest_base, this_base, addr32;
int i;
@@ -448,7 +448,7 @@
this_base = rp->start;
- addr32 = (this_base & PAGE_MASK) & 0xffffffffUL;
+ addr32 = (this_base & PAGE_MASK) & pci_memspace_mask;
if (mmap_state == pci_mmap_io)
addr32 &= 0xffffff;
@@ -464,7 +464,7 @@
if (mmap_state == pci_mmap_io)
vma->vm_pgoff = (((largest_base & ~0xffffffUL) | user32) >> PAGE_SHIFT);
else
- vma->vm_pgoff = (((largest_base & ~0xffffffffUL) | user32) >> PAGE_SHIFT);
+ vma->vm_pgoff = (((largest_base & ~(pci_memspace_mask)) | user32) >> PAGE_SHIFT);
return 0;
}