summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-11-06 16:10:37 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-11-06 16:10:37 +0100
commit3cdd30342bb31fae72adf52903cce2876cdead9d (patch)
tree50eebd2d26b6ae0997b5d68d1e5d8fef10f8e6d5 /include
parent5b476ef5e510c4305d81f82c9041eeedef2e8215 (diff)
parent5a5838f5cc2d6d2b492432427dc07031da1b4c42 (diff)
downloadbarebox-3cdd30342bb31fae72adf52903cce2876cdead9d.tar.gz
barebox-3cdd30342bb31fae72adf52903cce2876cdead9d.tar.xz
Merge branch 'for-next/memtest'
Diffstat (limited to 'include')
-rw-r--r--include/memtest.h8
-rw-r--r--include/mmu.h41
2 files changed, 47 insertions, 2 deletions
diff --git a/include/memtest.h b/include/memtest.h
index a337be832f..0100a6c58c 100644
--- a/include/memtest.h
+++ b/include/memtest.h
@@ -8,7 +8,11 @@ struct mem_test_resource {
struct list_head list;
};
-int mem_test(resource_size_t _start,
- resource_size_t _end, int bus_only);
+int mem_test_request_regions(struct list_head *list);
+void mem_test_release_regions(struct list_head *list);
+struct mem_test_resource *mem_test_biggest_region(struct list_head *list);
+
+int mem_test_bus_integrity(resource_size_t _start, resource_size_t _end);
+int mem_test_moving_inversions(resource_size_t _start, resource_size_t _end);
#endif /* __MEMTEST_H */
diff --git a/include/mmu.h b/include/mmu.h
new file mode 100644
index 0000000000..66b246f6d2
--- /dev/null
+++ b/include/mmu.h
@@ -0,0 +1,41 @@
+#ifndef __MMU_H
+#define __MMU_H
+
+#define MAP_UNCACHED 0
+#define MAP_CACHED 1
+
+/*
+ * Depending on the architecture the default mapping can be
+ * cached or uncached. Without ARCH_HAS_REMAP being set this
+ * is mapping type is the only one supported.
+ */
+#define MAP_DEFAULT MAP_ARCH_DEFAULT
+
+#include <asm/mmu.h>
+
+#ifndef ARCH_HAS_REMAP
+static inline int arch_remap_range(void *start, size_t size, unsigned flags)
+{
+ if (flags == MAP_ARCH_DEFAULT)
+ return 0;
+
+ return -EINVAL;
+}
+
+static inline bool arch_can_remap(void)
+{
+ return false;
+}
+#else
+static inline bool arch_can_remap(void)
+{
+ return true;
+}
+#endif
+
+static inline int remap_range(void *start, size_t size, unsigned flags)
+{
+ return arch_remap_range(start, size, flags);
+}
+
+#endif