summaryrefslogtreecommitdiff
path: root/nuttx/include
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-08-17 01:37:39 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-08-17 01:37:39 +0000
commit19e95ff894d1861cd7406a45dfd36721601d6385 (patch)
tree34e9a54c4a83d76a79b4ae6556b57551f3bf0a52 /nuttx/include
parentb082d08f6137b60e02a646781c2a3d2b34ffab1f (diff)
downloadpx4-nuttx-19e95ff894d1861cd7406a45dfd36721601d6385.tar.gz
px4-nuttx-19e95ff894d1861cd7406a45dfd36721601d6385.tar.bz2
px4-nuttx-19e95ff894d1861cd7406a45dfd36721601d6385.zip
Add on-demand paging support to ARM9 prefetch abort handler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2860 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/include')
-rwxr-xr-xnuttx/include/nuttx/page.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/nuttx/include/nuttx/page.h b/nuttx/include/nuttx/page.h
index fc8ec989d..1e5ed4449 100755
--- a/nuttx/include/nuttx/page.h
+++ b/nuttx/include/nuttx/page.h
@@ -44,6 +44,7 @@
#include <nuttx/config.h>
#include <stdbool.h>
+#include <nuttx/sched.h>
#ifdef CONFIG_PAGING
@@ -51,6 +52,42 @@
* Pre-Processor Definitions
****************************************************************************/
+/* Configuration ************************************************************/
+/* CONFIG_PAGING_PAGESIZE - The size of one managed page. This must be a
+ * value supported by the processor's memory management unit.
+ * CONFIG_PAGING_NLOCKED - This is the number of locked pages in the memory
+ * map. The locked address region will then be from:
+ */
+
+#define CONFIG_PAGING_LOCKEDBASE CONFIG_DRAM_VSTART
+#define CONFIG_PAGING_LOCKEDSIZE (CONFIG_PAGING_PAGESIZE*CONFIG_PAGING_NLOCKED)
+#define CONFIG_PAGING_LOCKEDEND (CONFIG_PAGING_LOCKEDBASE + CONFIG_PAGING_LOCKEDSIZE)
+
+/* CONFIG_PAGING_NPAGES - The number of pages in the paged region of the
+ * memory map. This paged region then begins and ends at:
+ */
+
+#define CONFIG_PAGING_PAGEDBASE CONFIG_PAGING_LOCKEDEND
+#define CONFIG_PAGING_PAGEDSIZE (CONFIG_PAGING_PAGESIZE*CONFIG_PAGING_NPAGES)
+#define CONFIG_PAGING_PAGEDEND (CONFIG_PAGING_PAGEDBASE + CONFIG_PAGING_PAGEDSIZE)
+
+/* CONFIG_PAGING_DEFPRIO - The default, minimum priority of the page fill
+ * worker thread. The priority of the page fill work thread will be boosted
+ * boosted dynmically so that it matches the priority of the task on behalf
+ * of which it peforms the fill. This defines the minimum priority that
+ * will be used. Default: 50.
+ * CONFIG_PAGING_STACKSIZE - Defines the size of the allocated stack
+ * for the page fill worker thread. Default: 1024.
+ * CONFIG_PAGING_BLOCKINGFILL - The architecture specific up_fillpage()
+ * function may be blocking or non-blocking. If defined, this setting
+ * indicates that the up_fillpage() implementation will block until the
+ * transfer is completed. Default: Undefined (non-blocking).
+ * CONFIG_PAGING_TIMEOUT_TICKS - If defined, the implementation will monitor
+ * the (asynchronous) page fill logic. If the fill takes longer than this
+ * number if microseconds, then a fatal error will be declared.
+ * Default: No timeouts monitored.
+ */
+
/****************************************************************************
* Public Data
****************************************************************************/