diff options
author | jhb <jhb@FreeBSD.org> | 2012-03-01 19:58:34 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2012-03-01 19:58:34 +0000 |
commit | 5013ab31bdd0c853bd73031dd2246844cd9f9cfe (patch) | |
tree | c681791d9aa316edfa305bde95f3cea4802aee56 /sys/x86 | |
parent | fbe3c228aa921805fe715fd6cd18c7f02d936815 (diff) | |
download | FreeBSD-src-5013ab31bdd0c853bd73031dd2246844cd9f9cfe.zip FreeBSD-src-5013ab31bdd0c853bd73031dd2246844cd9f9cfe.tar.gz |
- Change contigmalloc() to use the vm_paddr_t type instead of an unsigned
long for specifying a boundary constraint.
- Change bus_dma tags to use bus_addr_t instead of bus_size_t for boundary
constraints.
These allow boundary constraints to be fully expressed for cases where
sizeof(bus_addr_t) != sizeof(bus_size_t). Specifically, it allows a
driver to properly specify a 4GB boundary in a PAE kernel.
Note that this cannot be safely MFC'd without a lot of compat shims due
to KBI changes, so I do not intend to merge it.
Reviewed by: scottl
Diffstat (limited to 'sys/x86')
-rw-r--r-- | sys/x86/x86/busdma_machdep.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/x86/x86/busdma_machdep.c b/sys/x86/x86/busdma_machdep.c index 89e0e98..35daa40 100644 --- a/sys/x86/x86/busdma_machdep.c +++ b/sys/x86/x86/busdma_machdep.c @@ -63,7 +63,7 @@ struct bounce_zone; struct bus_dma_tag { bus_dma_tag_t parent; bus_size_t alignment; - bus_size_t boundary; + bus_addr_t boundary; bus_addr_t lowaddr; bus_addr_t highaddr; bus_dma_filter_t *filter; @@ -218,7 +218,7 @@ dflt_lock(void *arg, bus_dma_lock_op_t op) */ int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, - bus_size_t boundary, bus_addr_t lowaddr, + bus_addr_t boundary, bus_addr_t lowaddr, bus_addr_t highaddr, bus_dma_filter_t *filter, void *filterarg, bus_size_t maxsize, int nsegments, bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, |