os/kernelhwsrv/kerneltest/e32test/smr/aReadMe.txt
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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