From 8332c2217fcf6a93a3bbbbb5a1d7d028e0f3f927 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 5 Sep 2010 19:13:48 +0000 Subject: [PATCH] paging debug fixes git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2922 42af7a65-404d-4744-a932-0658087f49c3 --- configs/ea3131/locked/mklocked.sh | 80 +++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/configs/ea3131/locked/mklocked.sh b/configs/ea3131/locked/mklocked.sh index 0bd8f0896a1..3696888b04e 100755 --- a/configs/ea3131/locked/mklocked.sh +++ b/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 ############################################################################