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