summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2003-03-25 00:07:06 +0000
committerjake <jake@FreeBSD.org>2003-03-25 00:07:06 +0000
commit783ae539c3e44d35afb500b405ff986b3033bc4a (patch)
tree553401a4d58eb98b1e208a82c3ba2c32b848a225 /sys/vm/vm_page.c
parent0079e3d786d0b0a2647229d3498a426a039a5016 (diff)
downloadFreeBSD-src-783ae539c3e44d35afb500b405ff986b3033bc4a.zip
FreeBSD-src-783ae539c3e44d35afb500b405ff986b3033bc4a.tar.gz
- Add vm_paddr_t, a physical address type. This is required for systems
where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index a5d2886..12c15ae 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -163,18 +163,20 @@ vm_offset_t
vm_page_startup(vm_offset_t starta, vm_offset_t enda, vm_offset_t vaddr)
{
vm_offset_t mapped;
- vm_size_t npages, page_range;
- vm_offset_t new_end;
+ vm_size_t npages;
+ vm_paddr_t page_range;
+ vm_paddr_t new_end;
int i;
- vm_offset_t pa;
+ vm_paddr_t pa;
int nblocks;
- vm_offset_t last_pa;
+ vm_paddr_t last_pa;
/* the biggest memory array is the second group of pages */
- vm_offset_t end;
- vm_offset_t biggestone, biggestsize;
+ vm_paddr_t end;
+ vm_paddr_t biggestsize;
+ int biggestone;
- vm_offset_t total;
+ vm_paddr_t total;
vm_size_t bootpages;
total = 0;
@@ -189,7 +191,7 @@ vm_page_startup(vm_offset_t starta, vm_offset_t enda, vm_offset_t vaddr)
}
for (i = 0; phys_avail[i + 1]; i += 2) {
- vm_size_t size = phys_avail[i + 1] - phys_avail[i];
+ vm_paddr_t size = phys_avail[i + 1] - phys_avail[i];
if (size > biggestsize) {
biggestone = i;
OpenPOWER on IntegriCloud