kerneltest/e32test/smr/aReadMe.txt
changeset 0 a41df078684a
equal deleted inserted replaced
-1:000000000000 0:a41df078684a
       
     1 Shadow Memory Region (SMR) Manual Test Suite
       
     2 ============================================
       
     3 
       
     4 
       
     5 Introduction
       
     6 ------------
       
     7 
       
     8 This folder contains the manual tests for the Shadow Memory Region feature
       
     9 that is part of the kernel bootstrap PIL. The reference test variant for this 
       
    10 feature is the NaviEngine, NE1 PSL. This feature allows Loader software in a 
       
    11 local media boot scenario to shadow data held in local media partition into 
       
    12 RAM which is then reserved by the bootstrap for later access by kernel 
       
    13 extensions. The feature was introduced frist during the development of the 
       
    14 Hardware Configuration Repository component.
       
    15 
       
    16 The folder contains an overlay of 'os' tree source code that modifies 
       
    17 several components to enable unit testing of this feature with existing NAND 
       
    18 User Data partitions separately from the new tool support added to support 
       
    19 SMR partitions.
       
    20 
       
    21 This unit test suite was initially developed in the depot @
       
    22 //EPOC/dv3/personal/2008/stephenm/sfm-baseH1-test1/os/...
       
    23 
       
    24 There are three main parts to the test suite which relate to individual MBC #
       
    25 files as follows:
       
    26 	smrtest_h4_production.mbc
       
    27 		Used to build ROMs for H4 to test SMR results in zero regressions.
       
    28 		Test cases S01.xx
       
    29 	smrtest_ne1_production.mbc
       
    30 		Used to build ROMs for NE1 to test for zero regressions when no SMRs 
       
    31 		are shadowed. 
       
    32 		Test cases S02.xx
       
    33 	smrtest_h4_production.mbc
       
    34 		Used to build ROMs for H4 to test SMR results in zero regressions.
       
    35 		Test cases S03.xx
       
    36 
       
    37 Test cases listed in spreadsheet "aTestCases.xls". The memory model used does
       
    38 not have a bearing on the testing of SMR as it is MM independent. Multiple
       
    39 Memory Model ROMs should be used for H4 and NE1 uni-core testing
       
    40 and Flexible Memory Model ROMs for NE1 multi-core SMP testing.
       
    41 
       
    42 
       
    43 Build & Execute Instructions Summary
       
    44 ------------------------------------
       
    45 
       
    46 S01.xx tests
       
    47 	Build the Base tree and H4 variant tree
       
    48 	Build exports from the e32tests\smr\h4 project
       
    49 	Build H4 roms using smrtest_h4_production.mbc
       
    50 	Execute tests as explained in aTestCases.xls
       
    51 		
       
    52 S02.xx tests
       
    53 	Build the Base tree and NE1 variant tree		
       
    54 	Build exports and test binaries from the e32tests\smr\ne1 project
       
    55 	Build exports and test binaries from the e32tests\smr\ne1\flex project
       
    56 	Build NE1 roms using smrtest_ne1_production.mbc	
       
    57 	Execute tests as explained in aTestCases.xls
       
    58 	
       
    59 S03.01.xx tests
       
    60 S03.02.xx tests
       
    61 	Build the Base tree and NE1 variant tree	
       
    62 	Unzip the e32test\smr\os-patch.zip files onto your os source tree (patches coreldr)
       
    63 	Clean and then re-build the \os\boardsupport\naviengine\naviengineunistore2 
       
    64 		component (builds patched coreldr)
       
    65 	Build exports and test binaries from the e32tests\smr\ne1 project
       
    66 	Build exports and test binaries from the e32tests\smr\ne1\flex project
       
    67 	Build NE1 roms using smrtest_ne1_autotest.mbc	
       
    68 	Execute tests as explained in aTestCases.xls
       
    69 		
       
    70 S03.03.xx test
       
    71 	Modify \os\boardsupport\naviengine\navienginebsp\ne1_tb\config.inc to 
       
    72 		define CFG_DebugBootRom & CFG_InitDebugPort to enable bootstrap tracing
       
    73 	Build the Base tree and NE1 variant tree	
       
    74 	Unzip the e32test\smr\os-patch.zip files onto your os source tree (patches coreldr)
       
    75 	Clean and then re-build the \os\boardsupport\naviengine\naviengineunistore2 
       
    76 		component (builds patched coreldr)
       
    77 	Build exports and test binaries from the e32tests\smr\ne1 project
       
    78 	Build exports and test binaries from the e32tests\smr\ne1\flex project
       
    79 	Build NE1 roms using smrtest_ne1_autotest.mbc	
       
    80 	Execute test S03.03.01 as explained in aTestCases.xls
       
    81 	
       
    82 	Modify \os\kernelhwsrv\kernel\eka\drivers\unistore2\srca\xsr\util\ONBL2\ONBL2.CPP
       
    83 		to uncomment line 627 (comment line 626) in ShadowHCR() routine so that 
       
    84 		it create an invalid sized SMRIB with 128 bytes, i.e. 8 entries but is 
       
    85 		the 7 maximum so will lead to a fault in the bootstrap.
       
    86 	Re-build the CoreLdr component for NE1 non FMM 
       
    87 		(\os\boardsupport\naviengine\naviengineunistore2)
       
    88 	Execute test S03.03.02 as explained in aTestCases.xls
       
    89 	
       
    90 	Revert edits to Core Loader.
       
    91 	Revert edits to the NE1 config.inc source.
       
    92 		
       
    93 S03.04.01 tests
       
    94 	Modify \os\boardsupport\naviengine\navienginebsp\ne1_tb\config.inc to 
       
    95 		define CFG_DebugBootRom & CFG_InitDebugPort to enable bootstrap tracing
       
    96 	Build the Base tree and NE1 variant tree	
       
    97 	Unzip the e32test\smr\os-patch.zip files onto your os source tree (patches coreldr)
       
    98 	Clean and then re-build the \os\boardsupport\naviengine\naviengineunistore2 
       
    99 		component (builds patched coreldr)
       
   100 	Build exports and test binaries from the e32tests\smr\ne1 project
       
   101 	Build exports and test binaries from the e32tests\smr\ne1\flex project
       
   102 	Build NE1 roms using smrtest_ne1_autotest.mbc	
       
   103 	Modify \os\kernelhwsrv\kernel\eka\drivers\unistore2\srca\xsr\util\ONBL2\ONBL2.CPP
       
   104 		to uncomment line 608 (comment line 607) in ShadowHCR() routine so that
       
   105 		it stores the size of the SMRs as not multiples of 4096bytes so will 
       
   106 		lead to a fault in bootstrap.
       
   107 	Re-build the CoreLdr component for NE1 non FMM 
       
   108 		(\os\boardsupport\naviengine\naviengineunistore2)
       
   109 	Execute test S03.04.01 as explained in aTestCases.xls
       
   110 
       
   111 	Revert edits to Core Loader source.
       
   112 	Revert edits to the NE1 config.inc source.
       
   113 
       
   114 
       
   115 Build SMR Test Projects
       
   116 -----------------------
       
   117 
       
   118 	Build H4 Multiple Memory Model version:
       
   119 	cd \os\kernelhwsrv\kerneltest\e32test\smr\h4
       
   120 	bldmake -f=smr_h4bld.inf bldfiles
       
   121 	abld test build
       
   122 
       
   123 	Build NE1 Multiple Memory Model version:
       
   124 	cd \os\kernelhwsrv\kerneltest\e32test\smr\ne1
       
   125 	bldmake -f=smr_ne1bld.inf bldfiles
       
   126 	abld test build
       
   127 	
       
   128 	Build NE1 Flexible Memory Model / SMP version:
       
   129 	cd \os\kernelhwsrv\kerneltest\e32test\smr\ne1\flex
       
   130 	bldmake -f=smr_ne1smpbld.inf bldfiles
       
   131 	abld test build
       
   132 	
       
   133 
       
   134 	
       
   135 Build ROMs for Test Suite
       
   136 -------------------------
       
   137 
       
   138 	Smoke test H4:
       
   139 		cd \os\kernelhwsrv\kernel\eka\rombuild
       
   140 		metabld smrtest_h4_production.mbc > \logs\h4p.log 2>&1
       
   141 		scanlog \logs\h4p.log
       
   142 		
       
   143 	Smoke test NE1:
       
   144 		cd \os\kernelhwsrv\kernel\eka\rombuild
       
   145 		metabld smrtest_ne1_production.mbc > \logs\ne1p.log 2>&1
       
   146 		scanlog \logs\ne1p.log
       
   147 	
       
   148 	Functional (+ve & -ve) tests for NE1:
       
   149 		cd \os\kernelhwsrv\kernel\eka\rombuild
       
   150 		metabld smrtest_ne1_autotest.mbc > \logs\ne1at.log 2>&1
       
   151 		scanlog \logs\ne1at.log
       
   152 	
       
   153 
       
   154 Notes
       
   155 -----
       
   156 
       
   157 *** variant.mmh Files
       
   158 
       
   159 \os\kernelhwsrv\kerneltest\e32test\smr\ne1\variant.mmh is a direct unmodified 
       
   160 copy of the version in \os\boardsupport\naviengine\navienginebsp\ne1_tb\variant.mmh.
       
   161 Please ensure this is aligned before building NE1 tests. Same for 
       
   162 \os\kernelhwsrv\kerneltest\e32test\smr\ne1\flex\variant.mmh which is a copy of
       
   163 \os\boardsupport\naviengine\navienginebspflexible\variant.mmh
       
   164