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/i386/isa | |
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/i386/isa')
-rw-r--r-- | sys/i386/isa/isa_dma.c | 5 | ||||
-rw-r--r-- | sys/i386/isa/pcvt/pcvt_drv.c | 2 | ||||
-rw-r--r-- | sys/i386/isa/spigot.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/sys/i386/isa/isa_dma.c b/sys/i386/isa/isa_dma.c index 3b6e231..381bd75 100644 --- a/sys/i386/isa/isa_dma.c +++ b/sys/i386/isa/isa_dma.c @@ -213,7 +213,7 @@ isa_dmacascade(chan) void isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan) { - vm_offset_t phys; + vm_paddr_t phys; int waport; caddr_t newaddr; @@ -373,7 +373,8 @@ isa_dmadone(int flags, caddr_t addr, int nbytes, int chan) static int isa_dmarangecheck(caddr_t va, u_int length, int chan) { - vm_offset_t phys, priorpage = 0, endva; + vm_paddr_t phys, priorpage = 0; + vm_offset_t endva; u_int dma_pgmsk = (chan & 4) ? ~(128*1024-1) : ~(64*1024-1); GIANT_REQUIRED; diff --git a/sys/i386/isa/pcvt/pcvt_drv.c b/sys/i386/isa/pcvt/pcvt_drv.c index e795180..b5d0063 100644 --- a/sys/i386/isa/pcvt/pcvt_drv.c +++ b/sys/i386/isa/pcvt/pcvt_drv.c @@ -417,7 +417,7 @@ pcvt_ioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td) * driver mmap *---------------------------------------------------------------------------*/ static int -pcvt_mmap(dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int nprot) +pcvt_mmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot) { if (offset > 0x20000 - PAGE_SIZE) return -1; diff --git a/sys/i386/isa/spigot.c b/sys/i386/isa/spigot.c index 1a7bfec..2cbdc39 100644 --- a/sys/i386/isa/spigot.c +++ b/sys/i386/isa/spigot.c @@ -268,7 +268,7 @@ struct spigot_softc *ss = (struct spigot_softc *)&spigot_softc[unit]; } static int -spigot_mmap(dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int nprot) +spigot_mmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot) { struct spigot_softc *ss = (struct spigot_softc *)&spigot_softc[0]; |