From ee1b81673c99e3f1e5ef82f2f129100a5765941a Mon Sep 17 00:00:00 2001 From: patacongo Date: Sat, 4 Sep 2010 02:24:38 +0000 Subject: [PATCH] Init code needs to be in locked section too git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2918 42af7a65-404d-4744-a932-0658087f49c3 --- configs/ea3131/locked/mklocked.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/configs/ea3131/locked/mklocked.sh b/configs/ea3131/locked/mklocked.sh index b15ce63212e..911cfb95859 100755 --- a/configs/ea3131/locked/mklocked.sh +++ b/configs/ea3131/locked/mklocked.sh @@ -90,6 +90,7 @@ echo "EXTERN(up_vectorprefetch)" >>ld-locked.inc echo "EXTERN(up_vectorundefinsn)" >>ld-locked.inc echo "EXTERN(up_vectorfiq)" >>ld-locked.inc echo "EXTERN(up_vectorirq)" >>ld-locked.inc +echo "EXTERN(up_vectoaddrexcptn)" >>ld-locked.inc # # These are the initialization entry points of all device drivers that @@ -113,6 +114,19 @@ if [ $answer = y ]; then echo "EXTERN(up_usbinitialize)" >>ld-locked.inc fi +############################################################################ +# Initialization logic +############################################################################ +# All initialization logic must be in memory because it must execute before +# the page fill worker thread is started. Ideally this would be in some +# region that is mapped initially, but then unmapped after initialization +# is complete -- effectively freeing the memory used for the 1-time +# 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. + +echo "EXTERN(up_boot)" >>ld-locked.inc + ############################################################################ # Idle Loop ############################################################################