summaryrefslogtreecommitdiff
path: root/libcpu/arm
diff options
context:
space:
mode:
authorAdrian Huang <[email protected]>2015-05-11 09:57:12 +0800
committerAdrian Huang <[email protected]>2015-05-11 10:36:11 +0800
commit42226779338716fbef7ab4eab6386fe3462912ae (patch)
tree4a43b146e02896d1d108f514a926a56d7443a6da /libcpu/arm
parent9fa2a04a64b6ae69b8fdcd0a2172262a28e0121d (diff)
[libcpu][am335x] Fix the booting failure when enabling MMU
Since the 16 domains are configured as the client domains in mmu_setttbase(), a Permission fault is generated if the XN bit (Execute-never) is set in the short-descriptor translation table (for section and supersection). This leads to the booting failure when enabling MMU for beagleboard bsp. Here is log: ---------------------------------------------------------------- SD/MMC found on device 0 reading uEnv.txt 117 bytes read in 3 ms (38.1 KiB/s) Loaded environment from uEnv.txt Importing environment from mmc ... Running uenvcmd ... reading rtthread.bin 162624 bytes read in 24 ms (6.5 MiB/s) \## Starting application at 0x80200000 ... ---------------------------------------------------------------- This commit removes the XN bit configuration in the section of the short-descriptor translation table. The OS can be booted successfully with applying this commit.
Diffstat (limited to 'libcpu/arm')
-rw-r--r--libcpu/arm/am335x/mmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcpu/arm/am335x/mmu.c b/libcpu/arm/am335x/mmu.c
index 46f2d6afd7..d3e505e76a 100644
--- a/libcpu/arm/am335x/mmu.c
+++ b/libcpu/arm/am335x/mmu.c
@@ -15,7 +15,7 @@
#include <rtthread.h>
#include "am33xx.h"
-#define DESC_SEC (0x2|(1<<4))
+#define DESC_SEC (0x2)
#define CB (3<<2) //cache_on, write_back
#define CNB (2<<2) //cache_on, write_through
#define NCB (1<<2) //cache_off,WR_BUF on