diff options
author | jake <jake@FreeBSD.org> | 2003-03-25 00:07:06 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2003-03-25 00:07:06 +0000 |
commit | 783ae539c3e44d35afb500b405ff986b3033bc4a (patch) | |
tree | 553401a4d58eb98b1e208a82c3ba2c32b848a225 /sys/kern | |
parent | 0079e3d786d0b0a2647229d3498a426a039a5016 (diff) | |
download | FreeBSD-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/kern')
-rw-r--r-- | sys/kern/subr_devstat.c | 2 | ||||
-rw-r--r-- | sys/kern/subr_xxx.c | 2 | ||||
-rw-r--r-- | sys/kern/sys_pipe.c | 3 | ||||
-rw-r--r-- | sys/kern/uipc_cow.c | 2 | ||||
-rw-r--r-- | sys/kern/uipc_jumbo.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_bio.c | 2 |
6 files changed, 7 insertions, 6 deletions
diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c index 671b9cb..70799e6 100644 --- a/sys/kern/subr_devstat.c +++ b/sys/kern/subr_devstat.c @@ -452,7 +452,7 @@ static TAILQ_HEAD(, statspage) pagelist = TAILQ_HEAD_INITIALIZER(pagelist); static MALLOC_DEFINE(M_DEVSTAT, "devstat", "Device statistics"); static int -devstat_mmap(dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int nprot) +devstat_mmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot) { struct statspage *spp; diff --git a/sys/kern/subr_xxx.c b/sys/kern/subr_xxx.c index 448a8e2..ce92a9b 100644 --- a/sys/kern/subr_xxx.c +++ b/sys/kern/subr_xxx.c @@ -135,7 +135,7 @@ int nommap(dev, offset, paddr, nprot) dev_t dev; vm_offset_t offset; - vm_offset_t *paddr; + vm_paddr_t *paddr; int nprot; { diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index 32c9384..8557065 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -620,7 +620,8 @@ pipe_build_write_buffer(wpipe, uio) { u_int size; int i; - vm_offset_t addr, endaddr, paddr; + vm_offset_t addr, endaddr; + vm_paddr_t paddr; GIANT_REQUIRED; PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); diff --git a/sys/kern/uipc_cow.c b/sys/kern/uipc_cow.c index 4cded3f..26b3f4c 100644 --- a/sys/kern/uipc_cow.c +++ b/sys/kern/uipc_cow.c @@ -104,7 +104,7 @@ socow_setup(struct mbuf *m0, struct uio *uio) { struct sf_buf *sf; vm_page_t pp; - vm_offset_t pa; + vm_paddr_t pa; struct iovec *iov; struct vmspace *vmspace; struct vm_map *map; diff --git a/sys/kern/uipc_jumbo.c b/sys/kern/uipc_jumbo.c index d82a1f4..30e91f7 100644 --- a/sys/kern/uipc_jumbo.c +++ b/sys/kern/uipc_jumbo.c @@ -212,7 +212,7 @@ void jumbo_pg_free(vm_offset_t addr) { struct jumbo_kmap *entry; - vm_offset_t paddr; + vm_paddr_t paddr; vm_page_t pg; paddr = pmap_kextract((vm_offset_t)addr); diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index cf25ff4..f904aec 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -3622,7 +3622,7 @@ int vmapbuf(struct buf *bp) { caddr_t addr, kva; - vm_offset_t pa; + vm_paddr_t pa; int pidx, i; struct vm_page *m; struct pmap *pmap = &curproc->p_vmspace->vm_pmap; |