aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorecd <ecd>2002-02-10 15:04:46 +0000
committerecd <ecd>2002-02-10 15:04:46 +0000
commit8abf430f48ef8752dbf6c54c606cfccd30d047e0 (patch)
tree26764907b08b51fd86585c941e073a93f434c2fd
parentcb17b3843db30da90ddd2571f7d796be51980e74 (diff)
downloadnetdev-vger-cvs-8abf430f48ef8752dbf6c54c606cfccd30d047e0.tar.gz
use pci_memspace_mask for mmap calculations
-rw-r--r--arch/sparc64/kernel/pci.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index 8c1acb11c..2c0c5f11d 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 @@ static int __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vm
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 @@ static int __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vm
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 @@ static int __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vm
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;
}