summaryrefslogtreecommitdiffstats
path: root/sys/kern
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/kern
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/kern')
-rw-r--r--sys/kern/subr_devstat.c2
-rw-r--r--sys/kern/subr_xxx.c2
-rw-r--r--sys/kern/sys_pipe.c3
-rw-r--r--sys/kern/uipc_cow.c2
-rw-r--r--sys/kern/uipc_jumbo.c2
-rw-r--r--sys/kern/vfs_bio.c2
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;
OpenPOWER on IntegriCloud