diff options
author | cognet <cognet@FreeBSD.org> | 2007-01-17 00:53:05 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2007-01-17 00:53:05 +0000 |
commit | b0b19280da4b10f7deec622e6ba2614b495b4302 (patch) | |
tree | 07fc7a1abe64d71cb43b6472e2d5dc9dfdc5df0b /sys/arm/include | |
parent | 317819a5f62502c2daad8b2f578f62e1cd7f4017 (diff) | |
download | FreeBSD-src-b0b19280da4b10f7deec622e6ba2614b495b4302.zip FreeBSD-src-b0b19280da4b10f7deec622e6ba2614b495b4302.tar.gz |
- Add bounce pages for arm, largely based on the i386 implementation.
- Add a default parent dma tag, similar to what has been done for sparc64.
- Before invalidating the dcache in POSTREAD, save the bits which are in the
same cachelines than our buffers, but not part of it, and restore them after
the invalidation.
Diffstat (limited to 'sys/arm/include')
-rw-r--r-- | sys/arm/include/bus_dma.h | 2 | ||||
-rw-r--r-- | sys/arm/include/md_var.h | 3 | ||||
-rw-r--r-- | sys/arm/include/pmap.h | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/sys/arm/include/bus_dma.h b/sys/arm/include/bus_dma.h index f239197..55edee9 100644 --- a/sys/arm/include/bus_dma.h +++ b/sys/arm/include/bus_dma.h @@ -101,6 +101,8 @@ struct arm32_dma_range { struct arm32_dma_range *bus_dma_get_range(void); int bus_dma_get_range_nb(void); +extern bus_dma_tag_t arm_root_dma_tag; + #endif /* _ARM32_BUS_DMA_PRIVATE */ #endif /* _ARM_BUS_DMA_H */ diff --git a/sys/arm/include/md_var.h b/sys/arm/include/md_var.h index 868b5bc..3271803 100644 --- a/sys/arm/include/md_var.h +++ b/sys/arm/include/md_var.h @@ -46,4 +46,7 @@ extern int _min_bzero_size; #define SRC_IS_USER 0x2 #define IS_PHYSICAL 0x4 +extern int busdma_swi_pending; +void busdma_swi(void); + #endif /* !_MACHINE_MD_VAR_H_ */ diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h index 47b3a4c..bf7de7c 100644 --- a/sys/arm/include/pmap.h +++ b/sys/arm/include/pmap.h @@ -537,7 +537,7 @@ struct arm_small_page { #endif -#define ARM_NOCACHE_KVA_SIZE 0x600000 +#define ARM_NOCACHE_KVA_SIZE 0x1000000 extern vm_offset_t arm_nocache_startaddr; void *arm_remap_nocache(void *, vm_size_t); void arm_unmap_nocache(void *, vm_size_t); |