summaryrefslogtreecommitdiff
path: root/nuttx/configs/ea3131/locked
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-09-05 19:13:48 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-09-05 19:13:48 +0000
commit7c64ca00e9dcd6b2d3c0647145aa8cc92e447acd (patch)
tree91f5c6e926a8353194bfd320a00afd711a54a807 /nuttx/configs/ea3131/locked
parent08f9be9b748dfa310b3150e0a931e3aa89c09eeb (diff)
downloadpx4-nuttx-7c64ca00e9dcd6b2d3c0647145aa8cc92e447acd.tar.gz
px4-nuttx-7c64ca00e9dcd6b2d3c0647145aa8cc92e447acd.tar.bz2
px4-nuttx-7c64ca00e9dcd6b2d3c0647145aa8cc92e447acd.zip
paging debug fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2922 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/ea3131/locked')
-rwxr-xr-xnuttx/configs/ea3131/locked/mklocked.sh80
1 files changed, 80 insertions, 0 deletions
diff --git a/nuttx/configs/ea3131/locked/mklocked.sh b/nuttx/configs/ea3131/locked/mklocked.sh
index 0bd8f0896..3696888b0 100755
--- a/nuttx/configs/ea3131/locked/mklocked.sh
+++ b/nuttx/configs/ea3131/locked/mklocked.sh
@@ -65,6 +65,9 @@ fi
function checkconfig () {
CONFIGLINE=`cat "$CONFIG" | grep "$1="`
+ if [ -z "$CONFIGLINE" ]; then
+ echo "n"
+ fi
if [ "X${CONFIGLINE}" = "X${1}=y" ]; then
echo "y"
else
@@ -72,6 +75,17 @@ function checkconfig () {
fi
}
+function checkzero () {
+ CONFIGLINE=`cat "$CONFIG" | grep "$1="`
+ if [ -z "$CONFIGLINE" ]; then
+ echo "y"
+ fi
+ if [ "X${CONFIGLINE}" = "X${1}=0" ]; then
+ echo "y"
+ else
+ echo "n"
+ fi
+}
############################################################################
# Interrupt Handlers
############################################################################
@@ -124,9 +138,75 @@ fi
# initialization code. That optimization has not yet been made and, as
# consequence, the 1-time initialization code takes up precious memory
# in the locked memory region.
+#
+# up_boot is a low-level initialization function called by __start:
echo "EXTERN(up_boot)" >>ld-locked.inc
+# All of the initialization functions that are called by os_start up to
+# the point where the page fill worker thread is started must also be
+# included in the locked text section (at least for now)
+
+answer=$(checkzero CONFIG_TASK_NAME_SIZE)
+if [ $answer = n ]; then
+ echo "EXTERN(up_boot)" >>ld-locked.inc
+fi
+
+echo "EXTERN(dq_addfirst)" >>ld-locked.inc
+echo "EXTERN(up_initial_state)" >>ld-locked.inc
+
+answer=$(checkconfig CONFIG_HEAP_BASE)
+if [ $answer = n ]; then
+ echo "EXTERN(up_allocate_heap)" >>ld-locked.inc
+fi
+
+echo "EXTERN(mm_initialize)" >>ld-locked.inc
+echo "EXTERN(irq_initialize)" >>ld-locked.inc
+#echo "EXTERN(user_initialize)" >>ld-locked.inc
+echo "EXTERN(wd_initialize)" >>ld-locked.inc
+
+answer=$(checkconfig CONFIG_DISABLE_CLOCK)
+if [ $answer = n ]; then
+ echo "EXTERN(clock_initialize)" >>ld-locked.inc
+fi
+
+answer=$(checkconfig CONFIG_DISABLE_POSIX_TIMERS)
+if [ $answer = n ]; then
+ echo "EXTERN(timer_initialize)" >>ld-locked.inc
+fi
+
+answer=$(checkconfig CONFIG_DISABLE_SIGNALS)
+if [ $answer = n ]; then
+ echo "EXTERN(sig_initialize)" >>ld-locked.inc
+fi
+
+echo "EXTERN(sem_initialize)" >>ld-locked.inc
+
+answer=$(checkconfig CONFIG_DISABLE_MQUEUE)
+if [ $answer = n ]; then
+ echo "EXTERN(mq_initialize)" >>ld-locked.inc
+fi
+
+answer=$(checkconfig CONFIG_DISABLE_PTHREAD)
+if [ $answer = n ]; then
+ echo "EXTERN(pthread_initialize)" >>ld-locked.inc
+fi
+
+answer=$(checkzero CONFIG_NFILE_DESCRIPTORS)
+if [ $answer = n ]; then
+ echo "EXTERN(fs_initialize)" >>ld-locked.inc
+fi
+
+answer=$(checkconfig CONFIG_NET)
+if [ $answer = y ]; then
+ echo "EXTERN(net_initialize)" >>ld-locked.inc
+fi
+
+echo "EXTERN(up_initialize)" >>ld-locked.inc
+echo "EXTERN(lib_initialize)" >>ld-locked.inc
+echo "EXTERN(sched_setupidlefiles)" >>ld-locked.inc
+echo "EXTERN(task_create)" >>ld-locked.inc
+
############################################################################
# Idle Loop
############################################################################