summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2007-01-17 00:53:05 +0000
committercognet <cognet@FreeBSD.org>2007-01-17 00:53:05 +0000
commitb0b19280da4b10f7deec622e6ba2614b495b4302 (patch)
tree07fc7a1abe64d71cb43b6472e2d5dc9dfdc5df0b /sys/arm/include
parent317819a5f62502c2daad8b2f578f62e1cd7f4017 (diff)
downloadFreeBSD-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.h2
-rw-r--r--sys/arm/include/md_var.h3
-rw-r--r--sys/arm/include/pmap.h2
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);
OpenPOWER on IntegriCloud