os/kernelhwsrv/kernel/eka/release.txt
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 Version 2.00.2065
     2 =================
     3 (Made by vfebvre 17/12/2009)
     4 
     5 1.	vfebvre
     6 	1.	MILESTONE: GT0515, MS3.16
     7 		RM-RIM REQ417-52763: HCR: Final delivery (Reference implementation and Docs)
     8 		Gaia Feature Release 422961 Package Release 428954
     9 
    10 
    11 Version 2.00.2064
    12 =================
    13 (Made by vfebvre 17/12/2009)
    14 
    15 1.	patrickconway
    16 	1.	MILESTONE: GT0515, MS3.31
    17 		RM-RIM REQ417-53000: Instrument local media subsystem and media drivers 
    18 		Gaia Feature Release 424355 Package Release 424358
    19 
    20 2.	MarkTa
    21 	1.	DEFECT FIX: DEF143438: Flexible memory model is missing an api to map any memory kernel side 
    22 		Add new TKernelMapObject and Kern methods that use it to allow device drivers to map and physically 
    23 		pin any memory.  The memory can then be accessed from kernel side for DMA operations and without 
    24 		the effects of ram defrag and demandpaging. 
    25 
    26 
    27 Version 2.00.2063
    28 =================
    29 (Made by vfebvre 16/12/2009)
    30 
    31 1.	MichaelP
    32 	1.	DEFECT FIX: DEF143310: DMA Framework makes use of PRM difficult
    33 		Introduced new virtual DMA PIL function TDmaChannel::QueuedRequestCountChanged()
    34 		which can be overridden in a DMA PSL to implement channel/DMAC power management
    35 		functionality outside of any PIL mutexes. For details see the description in
    36 		/os/kernelhwsrv/kernel/eka/include/drivers/dma_v1.h.
    37 
    38 
    39 Version 2.00.2062
    40 =================
    41 (Made by vfebvre 15/12/2009)
    42 
    43 1.	cnotton
    44 	1.	MINOR_CHANGE Added a few missing headers for when SYMBIAN_ENABLE_PUBLIC_PLATFORM_HEADER_SPLIT is enabled.
    45 
    46 
    47 Version 2.00.2061
    48 =================
    49 (Made by VincentF 14/12/2009)
    50 
    51 1.	gcochran
    52 	1.	DEF142419: Kernel doesn't flush prefetch buffer properly
    53 
    54 
    55 Version 2.00.2060
    56 =================
    57 (Made by VincentF 10/12/2009)
    58 
    59 1.	TomCosgrove
    60 	1.	MINOR_CHANGE: Fix function names given in various trace and precondition statements
    61 	2.	DEFECT FIX: DEF143168: Kernel precondition checks don't give any indication of the caller
    62 		Added compiler-specific macro PRECOND_FUNCTION_CALLER, defaulting to 0 if not present, and
    63 		use this in CHECK_PRECONDITIONS() and the various __ASSERT_WITH_MESSAGE_*() macros.  Also
    64 		updated CheckPreconditions() to print this address even if the function name is given (as
    65 		it is when called from the C macros).
    66 	3.	DEFECT FIX: DEF143237: SBTraceData::CheckFilter2() causes issues when executed with undefined CPU mode
    67 		Don't just take the CPSR & 0x03 to get the context value, since undef (etc) mode gets
    68 		confused with thread (normal supervisor) mode.  Instead, AND with 0x0f and set to 2 if
    69 		higher than 3.
    70 
    71 2.	DjordjeK
    72 	1.	DEFECT FIX: DEF143166: 	Default caching of page tables on 1136 flexible memory model is wrong
    73 		Fixed the problem with caching attributes (of page tables, code & exception vector) on 1136
    74 		running flexible memory model. Platforms other then 1136 are not affected.
    75 
    76 3.	kingbozhang
    77 	1.	DEFECT FIX: DEF142623: TKEA-7WJC4S:[OTG] A malfunctioning peripheral cannot be reported to the UI
    78 		This defect is some USB devices do not comply with USB2.0 spec. Because they drive VBus of
    79 		their upstream port, however, such behaviour is forbidden in USB2.0.
    80 
    81 4.	DaveGordon
    82 	1.	DEFECT FIX: DEF141546: T_CPUTIME fails on SMPPAGE/SMPDATAPAGE ROMs...
    83 		Improve test by making sure threads are bound to the right cores
    84 	2.	DEFECT FIX: DEF143303: Crash unpinning message descriptors
    85 		Pinning operation now uses an initialised local array to hold potential references to pin
    86 		objects, and then transfers them all into a heap-allocated object only if at least one
    87 		such reference was created, ensuring that the subsequent unpin sees only good values.
    88 
    89 5.	stmansfi
    90 	1.	MINOR_CHANGE Update header comments in HCR PIL files
    91 
    92 6.	vfebvre
    93 	1.	MINOR_CHANGE Rename Bld.inf to bld.inf (for DEF142518)
    94 
    95 7.	kunmitta
    96 	1.	MINOR_CHANGE Added library names in compsupp explicitly for RVCT4.0 linkage
    97 
    98 8.	cnotton
    99 	1.	MINOR_CHANGE Fixed T_SMPSOAKSPIN.CPP for e32svr.h.
   100 	2.	DEFECT FIX: DEF143216: btrace.iby does not load btracex.ldd as an extension
   101 
   102 
   103 Version 2.00.2059
   104 =================
   105 (Made by VincentF 03/12/2009)
   106 
   107 1.	MichaelP
   108 	1.	MILESTONE: GT0515, MS3.15
   109 		RM-RIM REQ417-52838:FEA417-62893 DMA Upgrade : Client Callback from ISR
   110 		Gaia Feature Release 428985 Package Release 428988
   111 	2.	DEFECT FIX: DEF143285: t_dma and t_dma2 test failures
   112 
   113 2.	MarkTa
   114 	1.	DEFECT FIX: DEF143220: Flexible memory model - Aliasing can cause the system to crash.
   115 		Fix various race conditions in the flexible memory model's handling of aliasing.
   116 
   117 3.	RyanHarkin
   118 	1.	MINOR_CHANGE: Removed SYMBIAN_BASE_USE_GCE from header.iby files as this broke the build
   119 	2.	MINOR_CHANGE: Tidy up naviengine.h and naviengine_priv.h
   120 	3.	MINOR_CHANGE: Update NaviEngine release.txt because nobody else has
   121 	4.	MINOR_CHANGE: Remove commented out code from csi.mmp
   122 	5.	MINOR_CHANGE: updated NaviEngine User Guide
   123 	6.	MINOR_CHANGE: Bootloader OBY file bootbinary directive fixed
   124 
   125 4.	RichardCo
   126 	1.	DEFECT FIX: DEF142738: T_SMPSAFE fails on SMP unicore
   127 
   128 5.	erifung
   129 	1.	DEFECT FIX: DEF142542: Bridge: t_dobject fails on 8500..
   130 
   131 6.	cnotton
   132 	1.	DEFECT FIX: DEF143224: Move TFlowControl to a published header
   133 
   134 
   135 Version 2.00.2058
   136 =================
   137 (Made by vinojose 03/12/2009)
   138 
   139 
   140 1.	ChrisNotton
   141 	1.	DEFECT FIX: DEF142863: Public header files must not include platform or internal headers
   142 
   143 2.	NeilClifford
   144 	1.	DEFECT FIX: DEF143039: MedMMC should not use Cache for Physical Address Requests
   145 
   146 3.	MarkTa
   147 	1.	DEFECT FIX: DEF143129: WDP - Allocating a demand paged page table can fault the system 
   148 		Implement on demand stealing of paged page tables when allocating paged page tables.
   149 
   150 4.	StephenSun
   151 	1.	DEFECT FIX: DEF142844: initialize SRP timeout
   152 
   153 5.	OliverStuart
   154 	1.	DEFECT FIX: DEF142840: KERN-EXEC 3 panics in T_SHBUF_PERF
   155 		Must use kumemget to read TPtr8 from user memory.
   156 
   157 6.	LaneRoberts
   158 	1.	DEFECT FIX: DEF143152: NaviEngine ARM4 ROMs cannot be built
   159 
   160 7. ChrisBeale
   161 	1.	DEFECT FIX: DEF143114: FMM thrashing monitor timer runs even when device is idle 
   162 
   163 8.	cnotton
   164 	1.	MINOR_CHANGE: Fix SMP Soak test for Header File Relocation
   165 	2.	DEFECT FIX: DEF143183: CTS79_MCL_wk46: TB92_200945 symbian tests compilation errors
   166 
   167 9.	lanerobe
   168 	1.	DEFECT FIX: DEFECT FIX: DEF141811: T_MSTIM on Unicore SMP (Naviengine) Image
   169 
   170 Version 2.00.2057
   171 =================
   172 (Made by vinojose 01/12/2009)
   173 
   174 1.	ChrisNotton
   175 	1.	DEFECT FIX: DEF143217: [System Build] Rom build stage unknow keyword in MSF00270
   176 
   177 
   178 Version 2.00.2056
   179 =================
   180 (Made by VincentF 25/11/2009)
   181 
   182 1.	IndrajeetSingh
   183 	1.	DEFECT FIX: DEF141945: Base Template Port build fails
   184 
   185 2.	PatrickConway
   186 	2.	MINOR_CHANGE: Add missing SMPSAFE keywords to mmp files (mostly test drivers)
   187 
   188 3.	ChrisNotton
   189 	1.	DEFECT FIX: DEF142927: BSP regressions in header relocation build
   190 	2.	DEFECT FIX: DEF143040: CrashMonitor public headers should not include platform headers
   191 	3.	DEFECT FIX: DEF143042: Public header e32test.h includes platform headers...
   192 	4.	DEFECT FIX: DEF143044: Public header u32std.h includes platform header files...
   193 	5.	DEFECT FIX: DEF143053: Public header e32event.h includes platform header...
   194 	6.	DEFECT FIX: DEF142880: btrace.iby does not use KERNEL_DIR for ldd
   195 
   196 4.	VincentF
   197 	1.	DEFECT FIX: DEF142854: Bootstrap.flm and related bld.inf changes not submitted to the MCL
   198 		Use FLM, rather than extension makefile, to build bootstraps on all SymTB10.1
   199 		baseports with SBSv2 (Raptor).
   200 
   201 5.	YiluZhu
   202 	1.	DEFECT FIX: DEF142969: Raptor GCCE: compsupp doesn't deal gracefully with a Raptor GCCE build
   203 
   204 6.	DaveGordon
   205 	1.	DEFECT FIX: DEF142684: T_TIME hangs on Ivalo waiting for absolute timer after changing secure time
   206 		Improve test by making sure time + secure offset settings are sane before changing secure time
   207 	2.	DEFECT FIX: DEF142504 T_PAGELDRTST_REAPER issues
   208 		Fixes KERN-EXEC panic with code EBadHandle by restructuring loops in CopyAndFragmentFiles().
   209 		Fixes issue with failing Attrib() leaving file unusable - now tries making file R/W if first
   210 		attempt at deleting it fails.
   211 	3.	DEFECT FIX: DEF141903 T_TIMER intermitant failure on 3430 (t_timer.cpp:633)
   212 		Fixes mismatch between getting time in UTC vs. setting alarm in Local time!
   213 		(also fixes dup PDEF136734 T_TIMER fails intermittently on SMP platforms)
   214 
   215 7.	NeilClifford
   216 	1.	DEFECT FIX: DEF142716: Medmmc / USB enhancement
   217 
   218 8.	Saravana Attiyap
   219 	1.	DEFECT FIX: DEF142896: t_drtaeabi.mmp references deprecated source directories
   220 	2.	DEFECT FIX: DEF142878: t_datapaging soak test fail in production environement
   221 
   222 9.	VincentF
   223 	1.	MINOR_CHANGE: Include missing split header files
   224 
   225 10.	JessieZh
   226 	1.	DEFECT FIX: DEF142437: t_iic failed to run in eshell
   227 
   228 11.	RichardCo
   229 	1.	DEFECT FIX: DEF142744: Missing constant KImageHWFloat_VFPv3 
   230 
   231 12.	RyanHarkin
   232 	1.	DEFECT FIX: DEF142549: Bridge: e32test t_timer fails on 8500
   233 		Added an exception, via a new Machine UID so the 8500 does not run the "Test sequential locks
   234 		fail over on/off" test
   235 		
   236 13:	MiguelB
   237 	1.	DEFECT FIX: DEF142719: WDP: Media card Passwords do not work in WDP environment 
   238 	2.	DEFECT FIX: DEF142819: exFAT partitions are not recognised by MMC/SD stack
   239 
   240 14.	Saravana Attiyap
   241 	1.	DEFECT FIX DEF142943: T_THRASH - CreatePagedChunk test method fails with KErrNoMemory on gekko77
   242 
   243 15.	SushmitaR
   244 	1.	MINOR CHANGE: Add SMP Soak Tests
   245 
   246 16. 	JimmyZhou
   247 	1.	DEFECT FIX: DEF141425: USB ONB testing steps passing rate doesn't meet test pass critiera   
   248 	2. 	DEFECT FIX: DEF141212: Engineering improvement  
   249 
   250 17.	DjordjeK
   251 	1.	DEFECT FIX: DEF142736: Bootstrap should support flexible mapping of external cache controller
   252 		Previously, external cache controller had to be positioned at the start of a H/W region specified in
   253 		bootstrap. That restriction is now removed so it can be mapped in 64KB or 1MB mappings alongside with
   254 		other controllers (which may save 1KB of page table & improve performance due to less TLB misses).
   255 
   256 
   257 Version 2.00.2055
   258 =================
   259 (Made by VincentF 24/11/2009)
   260 
   261 1.	VincentF
   262 	1.	DEFECT FIX: DEF143148: HCR Setting batch retrieval does not work
   263 
   264 
   265 Version 2.00.2054
   266 =================
   267 (Made by Vino Jose 20/11/2009)
   268 
   269 1.	VincentF
   270 	1.	MILESTONE: SymTB10.1, GT0472, MS3.16, DS.1714 HCR_DS2 : Complete and Tested PIL
   271 		PREQ2131 Hardware Configuration Repository
   272 		CR322 Prototype Kernel-side HCR API adjust following testing feedback
   273 		This change delivers the remaining HCR APIs and PIL.
   274 
   275 
   276 Version 2.00.2053
   277 =================
   278 (Made by Vino Jose 16/11/2009)
   279 
   280 1.	vinojose
   281 	1.	DEFECT FIX: DEF143037 [System Build] : Errors in GT stage 
   282 
   283 
   284 Version 2.00.2052
   285 =================
   286 (Made by Vino Jose 10/11/2009)
   287 
   288 1.	DaveGordon
   289  	1.	DEFECT FIX: DEF142684: T_TIME hangs on Ivalo waiting for absolute timer after changing secure time
   290  		Improve test by making sure time + secure offset settings are sane before changing secure time
   291  	2.	DEFECT FIX: DEF142504 T_PAGELDRTST_REAPER issues
   292  		Fixes KERN-EXEC panic with code EBadHandle by restructuring loops in CopyAndFragmentFiles().
   293  		Fixes issue with failing Attrib() leaving file unusable - now tries making file R/W if first
   294  		attempt at deleting it fails.
   295  
   296 
   297 
   298 Version 2.00.2051
   299 =================
   300 (Made by Vino Jose 05/11/2009)
   301 
   302 1.	LaneRoberts
   303 	1.	MINOR CHANGE: VFP doc update to include information on the latest VFPv3 and SMP support
   304 	2.	DEFECT FIX: DEF142855: BTrace categories need tweaking for SMP
   305 	3.	DEFECT FIX: DEF142898: VFP changes have incorrect syntax
   306 
   307 2.	Jeff Yoo
   308 	1.	DEFECT FIX: DEF141475: ECamera LDD & Template Camera PDD (BASE/CAMERA) :- Support for Effect Settings in Camera and 		LDD/PDD update based on reviews.
   309 
   310 3.	coliward
   311 	1.	MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1931 WDP Safe GCE Driver
   312 
   313 
   314 Version 2.00.2050
   315 =================
   316 (Made by Vino Jose 04/11/2009)
   317 
   318 1.	LaneRoberts
   319 	1.	DEFECT FIX: DEF142567: NaviEngine VFP is not turned on
   320 
   321 2.	Saravana Attiyap
   322 	1.	DEFECT FIX: DEF142597:edev.mmp depends on a deprecated source folder
   323 
   324 3.	PatrickConway
   325 	1.	MINOR_CHANGE: Add missing SMPSAFE keywords to mmp files and unlock test driver DFC threads from core 0
   326 
   327 4	Jonco
   328 	1.	DEFECT FIX: DEF142749: t_implicit crashes when run on Ivalo 
   329 
   330 
   331 Version 2.00.2049
   332 =================
   333 (Made by Vino Jose 02/11/2009)
   334 
   335 1.	marcinmaksymiuk
   336 	1.	DEFECT FIX: DEF142717: Some of UTFv2-inherited enumerations duplication.
   337 
   338 
   339 Version 2.00.2048
   340 =================
   341 (Made by Vino Jose 01/11/2009)
   342 
   343 1.	VincentF
   344 	1.	MILESTONE: SymTB9.2, GT0419, MS3.41, DS.1928 417-60865: Read-Only Memory Sharing
   345 		PREQ1490 Flexible Memory Model
   346 		Introduce read-only memory chunks for the FMM (see RChunk::SetReadOnly()) and
   347 		add a new Kern::MakeHandleAndOpen() overload so process-local handles can be
   348 		created.
   349 
   350 
   351 Version 2.00.2047
   352 =================
   353 (Made by Vino Jose 29/10/2009)
   354 
   355 1.	Neil Clifford
   356 	1.	DEFECT FIX: DEF142675: T_TBUS_DATAPAGING fails on Ivalo due to test problem
   357 
   358 2.	JonCo
   359 	1.	MINOR CHANGE: Mark Tai's fix for t_pagemove failures on Ivalo
   360 
   361 3.	RyanHarkin
   362 	1.	MINOR_CHANGE: Updated MBC files, they should now be able to build the NaviEngine, at long last.
   363 
   364 4.	ChrisNotton
   365 	1.	DEFECT FIX: DEF142000 ROMS are not getting completed on BTB systems (TRGTEST RETURNS 7)
   366 
   367 5.	ChrisBeale
   368 	1. 	DEFECT FIX: DEF142535:Epoc::ClaimPhysicalRam() on the flexible memory model doesn't claim enough ram
   369 
   370 6.	DaveGordon
   371 	1.	MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1926 UMG for FMM
   372 		This change adds the "User Memory Guard" feature to DEBUG builds on
   373 		all platforms using the Flexible Memory Model.
   374 
   375 7.	GayathriR
   376 	1.	DEFECT FIX: DEF142214: PRM: Fix the invalid memory calculation for BTRACE and client registration
   377 
   378 
   379 Version 2.00.2046
   380 =================
   381 (Made by Vino Jose 22/10/2009)
   382 
   383 1.	MarkTa
   384 	1.	DEFECT FIX: DEF142628: WDP: Binaries compiled against 9.4 do not have their heaps paged 
   385 		Ensure that threads that don't have the paging policy specified also leave the heap chunk's paging 
   386 		policy unspecified which will cause the process's paging polic to be used for the heap chunk. 
   387 
   388 2.	VincentF
   389 	1.	DEFECT FIX: DEF142536: Known x86gcc test failures should be investigated
   390 
   391 Version 2.00.2045
   392 =================
   393 (Made by Vino Jose 21/10/2009)
   394 
   395 
   396 1.	ChrisNotton
   397 	1.	MINOR_CHANGE: Update to allow STVariants to compile with BTB symtb92.
   398 
   399 2.	DjordjeK
   400 	1.	DEFECT FIX: DEF142453: The fix for ARM1176 erratum #720013 is required
   401 		The fix for ARM1176 erratum: 720013: Invalidate Instruction Cache operations can fai
   402 	2.	DEFECT FIX: DEF141955: PL310 erratum 588369 fix is not implemented properly
   403 		This should correct the the original fix for PL310 (External Cache Controller) erratum.
   404 		The change only affects non-SMP Kernel running on H/W with PL310.
   405 
   406 3.	VincentF
   407 	1.	DEFECT FIX: DEF142499: T_CTRAP fails stack pointer comparison on X86GCC.UREL (T_ctrap.cpp:1478)
   408 	2.	MINOR_CHANGE: Remove EPL copyright notices for USBHO code
   409 
   410 4.	MarkP
   411 	1.	DEFECT FIX: DEF141726: MMFDevSoundServer: User 20 Error occurs on H6
   412 		Fix driver to correctly cancel record dma requests during Pause. Correct record length calculation.
   413 		Correct TimeRecorded calculation.
   414 	2.	DEFECT FIX: DEF141122: T_SOUND2 (and T_SOUND_API) fails on H4HRP MMCPAGED configurations... 
   415 		Enhance test code to not fail under severe timing pressure on h4 fmm mmcpage ROMs.
   416 
   417 5.	LaneRoberts
   418 	1.	DEFECT FIX: DEF142250: Occasional kernel crashes caused by T_LDRTST on 34xx_sdp.armv5.udeb
   419 
   420 
   421 
   422 Version 2.00.2044
   423 =================
   424 (Made by Vino Jose 13/10/2009)
   425 
   426 1.	RichardCo
   427 	1.		DEFECT FIX: DEF142463: Kern::Random requires system lock; makes migration to new APIs difficult 
   428 		This enables a convenient migration path for the upcoming break request CR #83. Users of the API
   429 		Kern::Random can now modify their code to call Kern::Random without holding the system lock, so
   430 		that they will not be impacted by the future submission of the aforementioned break.
   431 
   432 2.	LaneRoberts
   433 	1       DEFECT FIX: DEF142361 VFP code breaks some test code kernel heap checks     
   434 	2.	DEFECT FIX: DEF142470: T_MATH fails Math::Log() calculation
   435 
   436 3.	RichardCo
   437 	1.	DEFECT FIX: DEF142497: SMP known test failure: t_schedhook
   438 
   439 4.	VincentF
   440 	1.	DEFECT FIX: DEF142405: T_REALX fails conversion from 64-bit number on X86 (T_realx.cpp:308)
   441 	2.	MINOR CHANGE: Convert SFL copyright notices to EPL
   442 
   443 5.	XavierLeclercq
   444 	1.	DEFECT FIX: PDEF142276: ExecHandler::ProcessSetPriority() does not behave as expected.
   445 
   446 6.	VincentF
   447 	1.	DEFECT FIX: DEF142498: T_MATCH failures on WINSCW
   448 
   449 7.	GavinCochrane
   450 	1.	DEFECT FIX: DEF140911: T_PAGEMOVE fails on H2 and NaviEngine in TestUserData
   451 
   452 
   453 Version 2.00.2043
   454 =================
   455 (Made by Vino Jose 07/10/2009)
   456 
   457 1.	DaveGordon
   458 	1.	DEFECT FIX: DEF142206: RMessageK::GetNextFreeMessage() race can cause NULL return
   459 
   460 2.	VincentF
   461 	1.	MINOR_CHANGE: In rom.pl, add the directory containing the HRH file to the include path
   462 
   463 3.	colinward
   464 	1.	MINOR_CHANGE: Removed duplicate export from /os/kernelhwsrv/kerneltest/e32test/group/bld.inf
   465 		to avoid Raptor warnings
   466 
   467 4.	ChrisNotton
   468 	1.	MINOR_CHANGE: Fixed test compile issue in SDIO code.
   469 
   470 5.	VincentF
   471 	1.	DEFECT FIX: DEF142391: GCC-E: Simple syntax errors
   472 
   473 6.	JessieZh
   474 	1.	DEFECT FIX: DEF141424: memory leaks exist in t_iic.cpp
   475 
   476 7.	RichardCo
   477 	1.	DEFECT FIX: PDEF142402: VFPv2 bounce handling is broken if context switching occurs 
   478 	.
   479 
   480 8	GayathriR
   481 	1.	DEFECT FIX: DEF142213: PRM: Not able to access extended version of PRM from user side.
   482 
   483 9.         VitalyR
   484 	
   485 	1.	MINOR_CHANGE Enable Unicore build for HREF8500.
   486 
   487 
   488 Version 2.00.2042
   489 =================
   490 (Made by Vino Jose 06/10/2009)
   491 
   492 1.	NeilClifford
   493 	1.	DEFECT FIX: DEF142326 WDP: MMC Paging does not work when Direct address is switch off
   494 
   495 
   496 Version 2.00.2041
   497 =================
   498 (Made by Chinenye Ajagu 05/10/2009)
   499 
   500 1.	chinenyeajagu
   501 	1.	DEFECT FIX: DEF142233: opensystemtrace.h uses WRONG macro name.
   502 
   503 
   504 Version 2.00.2040
   505 =================
   506 (Made by Vino Jose 01/10/2009)
   507 
   508 1.	AndrewHi
   509 	1.	DEFECT FIX: DEF141657: MHA IIC: PSL caching of BusId for Extended Transactions is contrary to MHA aims 
   510 		PIL code now provides the BusId to the PSL for Extended Transactions.
   511 
   512 2.	VincentF
   513 	1.	DEFECT FIX: DEF142258: Backslashes must be converted to forward ones
   514 
   515 3.	LaneRoberts
   516 	1.	MILESTONE: SymTB10.1, GT0472, MS3.2.4, DS.1718 PREQ2094: Product Quality SMP Kernel
   517 
   518 4.	MichaelP
   519 	1.	DEFECT FIX: DEF141047: Platform-Independent Coverity Defects
   520 
   521 5.	KalyanR
   522 	1.	DEFECT FIX: DEF141732: Iic implementation of DIicBusChannel returns incorrect bus & channel information
   523 		corrected DIicBusChannel interface inline set functions.
   524 
   525 6.	VincentF
   526 	1.	DEFECT FIX: DEF142288: EMessageSend Typo in e32btrace.h
   527 
   528 7.	VincentF
   529 	1.	MINOR_CHANGE: Apply correct Nokia copyright notice to newly submitted files
   530 
   531 8. 	AttilaV
   532 	1.	DEFECT FIX: DEF142279: coreldrasm compile failed in MSF00201 TB101SF 
   533 
   534 9.	ChrisNotton
   535 	1.	DEFECT FIX: DEF142232: Header relocation regression in MMC 
   536 
   537 
   538 Version 2.00.2039
   539 =================
   540 (Made by Vino Jose 29/09/2009)
   541 
   542 1.	mariamsood
   543 	1.DEF142287: BFC build errors on base_e32utils component build in MSF00207 tb92sf
   544 
   545 
   546 Version 2.00.2038
   547 =================
   548 (Made by Vino Jose 25/09/2009)
   549 
   550 1.	vinojose
   551 	1.	DEFECT FIX: DEF142265 {(Auto)} [MCL Build] coreldrasm compile failed on armv5smp platform in MSF00207 vtb92sf 
   552 
   553 
   554 Version 2.00.2037
   555 =================
   556 (Made by Vino Jose 24/09/2009)
   557 
   558 1. 	AttilaV
   559 	1.	DEFECT FIX: DPDEF141801: Absent file '\epoc32\release\armv5\fne1_tb_un2_coreldr.bin' detected 
   560 
   561 2.	MariamSood
   562 	1.	DEFECT FIX: DTW-KHS BTB00022: SD Support for H4 and H2 boards
   563 
   564 3.	RobCliff
   565 	1.	MINOR_CHANGE: Removal of warning when compiling for x86gcc and with dump tracing on for SDIO.
   566 
   567 4.	VincentF
   568 	1.	DEFECT FIX: DEF141833: T_SHBUF_OWN & T_SHBUF_CLIENT failing on PAGED configurations (t_shbuf.cpp:2351)
   569 
   570 5.	DjordjeK
   571 	1.	DEF142120: pl310 (in bridge) on non-SMP platform should not use spin locks
   572 		Non-SMP Kernel build for H/W with PL310 external cache controller used to call spin locks (which are not defined
   573 		in non-SMP build). These calls are now replaced by Disable/Restore interrupts.
   574 
   575 
   576 Version 2.00.2036
   577 =================
   578 (Made by Vino Jose 23/09/2009)
   579 
   580 1. 	Vino Jose
   581 	1.	DEFECT FIX: DEF142198: [System Build] coreldrasm compile failed 
   582 
   583 
   584 Version 2.00.2035
   585 =================
   586 (Made by Vino Jose 21/09/2009)
   587 
   588 1. MarkTa
   589 	1. DEFECT FIX: DEF140004: LoaderThread crash on H4 WDP when loading a LDD statically importing from a LDD
   590 	Ensure that the loader doesn't try to access ldd and pdd export directories directly when running on the flexible memory model.
   591 	2. MINOR_CHANGE: Further updates to stop t_pagemove failing on some urel test roms.
   592 
   593 2.	IndraSin
   594 	1. DEFECT FIX: DEF141919: "static const" for constant declaration in headers and duplication
   595 
   596 3.	colinward
   597 	1. DEFECT FIX: DEF141440: MHA IIC: Extendable Transactions for SPI and Slave-Select
   598 
   599 4.	LaneRoberts
   600 	1. DEFECT FIX: DEF141941: No public way of querying number of processors
   601 	2. DEFECT FIX: DEF141976: PLATSEC_DIAGNOSTIC_STRING needs to be made public
   602 	3. DEFECT FIX: DEF141942: T_MSTIM occasionally failing on SMP platforms
   603 
   604 5.	Sivashankar
   605 	1. DEFECT FIX: DEF140877: MHA IIC: MasterSlave's ReleaseChannel
   606 
   607 6.	SushmitaRoy
   608 	1. DEFECT FIX: PDEF141928: Description for WaitForNRequest(TRequestStatus *,TInt) is wrong.
   609 
   610 7.	JessieZh
   611 	1. DEFECT FIX: DEF141401: All master and slave variables and methods should be embedded with macros
   612 
   613 8.	JohnSucksmith
   614 	1.	DEFECT FIX:  DEF140063: NaviEngine NAND driver has very high CPU utilisation
   615 		Use an interrupt fast semaphore mechanism instead of polling mechanism when waiting on a read operation.
   616 
   617 9.	JonCo
   618 	1.	DEFECT FIX: DEF141893: t_sharedio and t_shbuf_client cause kernel panic on X86 with FMM
   619 
   620 10.	VincentF
   621 	1.	DEFECT FIX: DEF139033: ICL test scripts fail with USER-EXEC:3 on H6 with modified GTC_Standard_H6.oby
   622 	2.	DEFECT FIX: DEF141894: t_dmasim and t_newldd fail on X86 with FMM
   623 
   624 11.	ChrisNotton
   625 	1.	MINOR_CHANGE: Updated the unsupported MBC files to match the new buildtools layout.
   626 	2.	DEFECT FIX: PDEF139018: PRM: DeRegisterClientLevelFromResource() does not work well with custom sense
   627 
   628 12.	KunalMittal
   629 	1.	MINOR_CHANGE: Added Bootstrap FLM to be used when building with SBSv2
   630 	2.	MINOR_CHANGE: Update the bootloader bld.inf files to be compatible with bootstrap.flm
   631 
   632 13.	DaveGordon
   633 	1.	DEFECT FIX: DEF141532: Propagate fix for PDEF141058 to sfdev  
   634 		Fix race condition with DSession disconnect messages
   635 		(originally "__SendDiscMsg() EMsgCompleteDiscNotSent panic in emulator")
   636 
   637 14.	JunWookKwak
   638 	1.	MINOR_CHANGE: Set up a work-around to avoid GCC compilation error of x86 FMM.
   639 
   640 15.	JonCo
   641 	1.	DEFECT FIX: DEF142021: Performance regression between Flexible Memory Model and Multiple Memory Model 
   642 
   643 16.	MarkTa
   644 	1.	DEFECT FIX: DEF142044: Zombie processes don't release their ASID until all references are closed 
   645 
   646 17.	SushmitaR
   647 	1.	DEFECT FIX: DEF141895: T_RAMDEFRAG fails on 34XX_SDP
   648 18.	AndrewHi
   649 	1.	DEFECT FIX: DEF142067: IIC header differences between wk34 and wk36
   650 
   651 
   652 Version 2.00.2034
   653 =================             
   654 (Made by Marcin Maksymiuk 18/09/2009)
   655 
   656 1.	marcinmaksymiuk
   657 	1.	MILESTONE: SymTB9.2, GT0518, MS3.2, DS.1817 PREQ2390: Unified Trace Framework alignment with OST - User Side
   658 
   659 
   660 Version 2.00.2033
   661 =================             
   662 (Made by Vino Jose 16/09/2009)
   663 
   664 1.	MarkTa
   665 	1. MINOR_CHANGE: Stop t_pagemove failing on some urel test roms.
   666 
   667 2.	RobCliff
   668 	1.	MILESTONE: SymTB10.1, GT0472, MS3.13, DS.1708 PREQ1494: SDIO v2.0 : v2.0 APIs
   669 	2.	MILESTONE: SymTB10.1, GT0472, MS3.14, DS.1709 PREQ1494: SDIO v2.0 : Delivery of SDIO Simplified to the Symbian Foundation
   670 
   671 
   672 Version 2.00.2032
   673 =================                         
   674 (Made by Hai Xu 09/09/2009)
   675 
   676 1.	haixu
   677 	1.	MINOR_CHANGE: Add PREQ1924, new locale model support to base
   678 
   679 
   680 Version 2.00.2031
   681 =================             
   682 (Made by Vino Jose 04/09/2009)
   683 
   684 1.	colinward
   685 	1.	MINOR_CHANGE: Added copyright notice to /os/kernelhwsrv/kernel/eka/include/drivers/iic_transaction.h
   686 
   687 2.	FernandoPorta
   688 	1.	MILESTONE: SymTB10.1, GT0538, MS3.2, DS.1801 PREQ2240: KDebug API with filtered debug events and preprocessed data
   689 
   690 3.	Stefan Karlsson
   691 	1.	DEFECT FIX: PDEF141861: try/catch link error with GCCE build
   692 
   693 
   694 Version 2.00.2030
   695 =================             
   696 (Made by Vino Jose 02/09/2009)
   697 
   698 1.	ChrisNotton
   699 	1.	MINOR_CHANGE: Added missing SMPSAFE keyword to MMPs previously tested as SMP safe.
   700 	2.	MINOR_CHANGE: Test code compile fixes in preparation for when spilt headers are enabled.
   701 	3.	DEFECT FIX:DEF141705: PowerMgmt: Allow access of DPowerController member variable to derived class
   702 
   703 2	Haifeng Yang
   704 	1.	DEFECT FIX: PDEF134531: Additional alignment requirement for Bulk and Interrupt transfer buffers
   705 
   706 3.	StephenM 
   707 	1.  	DEFECT FIX: DEF141722: wk32 SMR Bootstrap fails when SP iCodeBase address is 0x0 
   708 
   709 4.	Stefan Karlsson
   710 	1.	DEFECT FIX: DEF141654: Some problems in ne1_tb_restricted_coreldr.flm
   711 	2.	DEFECT FIX: DEF141655: Some problems in omap3_restricted_coreldr.flm
   712 
   713 
   714 Version 2.00.2029
   715 =================             
   716 (Made by Vino Jose 27/08/2009)
   717 
   718 1.	OliverStuart
   719 	1.	DEFECT FIX: DEF141241: d_shbuf is not data paging safe
   720 
   721 2.	Yilu Zhu
   722 	1.	DEFECT FIX: DEF141433: Rom image fails to boot on h6 board for GTC_Standrad_H6 ROM Configuration.
   723 
   724 3.	FadhliMustaffa
   725 	1.	MINOR_CHANGE: Fixed missing deletion from DEF141558 (external submission CL1677229)
   726 
   727 
   728 Version 2.00.2028
   729 =================             
   730 (Made by Vino Jose 21/08/2009)
   731 
   732 1.	RichardCo
   733 	1.	DEFECT FIX: DEF141366: T_BTRACE fails on SMP URel platforms (exit code "2,2,RBTrace") 
   734 	2.	DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
   735 		This change may fix crashes or misbehaviour when using SMP compatibility mode.
   736 
   737 2.	JessieZh
   738 	1.	CR2039: Extend the K&HS Inter-IC bus API to support Controller-less deployment
   739 	2.	DEFECT FIX: DEF141012: MHA IIC: Extended transaction pointer not re-initialised
   740 
   741 3.	ChrisNotton
   742 	1.	MINOR_CHANGE Ensured that private headers are not included if SYMBIAN_ENABLE_SPLIT_HEADERS defined.
   743 
   744 4.	MarkTa
   745 	1.	DEFECT FIX: DEF141547: T_DEFRAG_REF fails on NaviEngine SMP (t_defrag_ref.cpp:92)
   746 		Ensure ldd waits for both the chunk to be destroyed and for the chunk clean up dfc to run.
   747 
   748 5.	Mark Phillips
   749 	1.	DEFECT FIX: DEF141558: Delete orphaned files
   750 
   751 6.	IndrajeetSingh
   752 	1. 	DEFECT FIX: DEF141524: Locale DLLs stops compiling because of changes to TFatUtilityFunctions
   753 
   754 7.	DaveGordon
   755    	1.	DEFECT FIX: DEF141240: shbuf codeUpdateMappingsAndReservedHandles() doesn't handle thread death safely
   756 
   757 
   758 8.	Saravanaumar
   759    	1.	DEFECT FIX:DEF141057: [SymTB9.2,SymTB10.1] {Fix Dev Branch} Cannot build f32test\loader using Raptor and custom configurations 
   760 
   761 
   762 Version 2.00.2027
   763 =================             
   764 (Made by Vino Jose 18/08/2009)
   765 1.	MarkTa
   766 	1. MILESTONE: SymTB9.2, GT0419, MS3.12.5, DS.1696 REQ12525: Add RAM defragmentation functionality to the Flexible Memory Model
   767 
   768 
   769 Version 2.00.2026
   770 =================
   771 (Made by Vino Jose 14/08/2009)
   772 
   773 1.	LaneRoberts
   774 	1.	DEFECT FIX: DEF141439: H6 Board Hangs after Test get completed successfully
   775 
   776 	2.	DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
   777 		This change may fix crashes or misbehaviour when using SMP compatibility mode.
   778 
   779 
   780 Version 2.00.2025
   781 =================
   782 (Made by Prakash betageri  13/08/2009)
   783 1.   
   784      MILESTONE: SymTB9.2,DS.1698 PREQ2621 relocating header files 
   785 
   786 
   787 Version 2.00.2024
   788 =================
   789 (Made by VincentF   11/08/2009)
   790 
   791 1.	InderpalSingh
   792 	1.	DEFECT FIX: DEF141205: H4 base port misuses NFastSemaphores.
   793 
   794 2.	OliverStuart
   795 	1.	MINOR_CHANGE: Pseudo random number generator should initialise seed lazily.  Calling FastPseudoRandomise during boot can cause crash if system timer (source of entropy) is not initialised.
   796 
   797 3.	LaneRoberts
   798 	1.	DEFECT FIX: DEF141441: Emulator doesn't support Writeable Static Data
   799 	2.	DEFECT FIX: DEF141462: Missing memory barriers in the SMP kernel
   800 	3.	MINOR_CHANGE: Fixed problem with submission for DEF141462 above
   801 
   802 4.	MiguelB
   803 	1.	DEFECT FIX: PDEF141445: Incorrect data size calculation in SD with Double Buffer 
   804 
   805 5.	HaifengYang
   806 	1.	DEFECT FIX: PDEF134534: test cases problems under one debug model
   807 
   808 6.	BhaskarReddy
   809 	1.	DEFECT FIX: DEF141174: 	H6 digitiser bug
   810 
   811 
   812 Version 2.00.2023
   813 =================
   814 (Made by Vino Jose   07/08/2009)
   815 
   816 1.	patrickconway
   817 	1.	DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms 
   818 
   819 2.	Kaashif Khawaja
   820 	1.	MILESTONE: SymTB10.1, GT0530, MS3.1, DS.1800 PREQ2638: Run-mode debug API extension for debug of all unspecified permitted executable
   821 
   822 3.	ChrisNotton
   823 	1.	DEFECT FIX: DEF141421: File Relocation Changes may break components using kern_ext.mmh
   824 
   825 4.	OliverStuart
   826  	1.	DEV CR: JIME-7TWED6: Extend base.iby so it doesn't need changing for each platform
   827 
   828 
   829 Version 2.00.2022
   830 =================
   831 (Made by Vino Jose   04/08/2009)
   832 
   833 1.	RobCliff
   834 	1.	MILESTONE: SymTB10.1, GT0515, MS3.11, DS.1706 PREQ1494: SDIO version 2.0
   835 	2.	MILESTONE: SymTB10.1, GT0515, MS3.12, DS.1707 PREQ1494: SDIO version 2.0
   836 
   837 2.	LukaszF
   838 	1.	DEFECT FIX: DEF138639: NaviEngine CSI test driver (d_csi) build configuration issue.
   839 
   840 3.	OliverStuart
   841 	1.	DEFECT FIX: DEF141390: [System Build]: SBS Errors "source of export not found" in GT stage
   842 
   843 
   844 Version 2.00.2021
   845 =================
   846 (Made by Vino Jose   03/08/2009)
   847 
   848 1.	ArchanaH
   849 	1.	DEFECT FIX: PDEF140868: BSP 23.23 broke h6 urel audio playback. 
   850 
   851 2.	DaveGordon
   852 	1.	DEFECT FIX: 	DEF141296 Current S60 build requires larger maximum size of kernel message chunk
   853 	    Limit increased from 1Mb to 2Mb
   854 
   855 3.	GayathriR
   856 	1.	DEFECT FIX: PDEF138130: USB shared chunk BIL function cannot always determine next alternate setting
   857 
   858 4.	ChrisNotton
   859 	1.	MINOR_CHANGE: Changed OS_LAYER_SYSTEMINCLUDE to OS_LAYER_SYSTEMINCLUDE_SYMBIAN.
   860 
   861 5.	InderpalSingh
   862 	1. 	DEFECT FIX: DEF141206: H6 base port misuses NFastSemaphores.
   863 
   864 6.	LukaszF
   865 	1. 	MINOR_CHANGE: Updated t_crazyints / d_crazyints test code because DTW-KHS BTB00055 could not be fixed.
   866 		(DTW-KHS BTB00055: btb not picking SMP related stuff properly for tests (bld.inf).)
   867 
   868 7.	indrajeetsingh
   869 	1. 	DEFECT FIX: DEF141121: IIC: Make QueueTransaction more robust to mis-use by clients
   870 
   871 8.	OliverStuart
   872 	1.	CR1970: Refactoring e32utils into two components: base_e32utils and base_32utils_restricted so that
   873 		tools needed by users of the Symbian Foundation can be released while third-part IP is restricted
   874 		for internal use only (requires supporting submission).
   875 
   876 
   877 Version 2.00.2020
   878 =================
   879 (Made by Vino Jose   24/07/2009)
   880 
   881 1.	JonCo
   882 	1.	DEFECT FIX: DEF141119: 	TClientDataRequest does not call constructor for embedded object 
   883 
   884 2.	VincentF
   885 	1.	MILESTONE: SymTB10.1, GT0515, MS3.15, DS.1710 PREQ2131: Hardware Configuration Repository - SMR and Core Image
   886 
   887 3.	sakhyaghosh
   888 	1. 	DEFECT FIX: DEF137764: 	Debug Security Server return KErrInUser for GetEvent() request
   889 
   890 4.	OliverStuart
   891 	1.	DEFECT FIX: DEF141048: Kernel Coverity Defects
   892 	2.	DEFECT FIX: DEF140374: STV_HIDDEN warnings generated when building the variant ekern/euser
   893 
   894 5.	laneroberts
   895 	1.	DEFECT FIX: DEF140801: Kernel doesn't recognise VFPv3/NEON instructions in Thumb2 mode
   896 
   897 6.	BhaskarReddy
   898 	1.	DEFECT FIX: DEF128530: T_USBAPI test failure on 3430.I for storing repeated events 
   899 
   900 
   901 version 2.00.2019
   902 =================
   903 (Made by Vino Jose   21/07/2009)
   904 
   905 1.	BhaskarReddy
   906 	1.	DEFECT FIX: DEF136724: 	T_RMDEBUG2_OEM Fails on 3430 on Base ONB	
   907 
   908 2.	RichardCo
   909 	1.	DEFECT FIX: DEF140827: TRawEvent provides no clean API for storing repeated events 
   910 
   911 3.	RichardCo
   912  	1.	DEFECT FIX: DEF137799: T_BTRACE fails on NE1_TB.ARMV5.UREL.SMPPAGE 
   913   
   914 4.	TomCosgrove
   915 	1.	DEFECT FIX: DEF141156: ETrue vs EFalse compiler warnings from locmedia.h
   916   		Just return "Flags() & EPhysAddr" rather than using foo ? ETrue : EFalse.
   917 
   918 
   919 Version 2.00.2018
   920 =================
   921 (Made by Vino Jose   15/07/2009)
   922 
   923 1.	patrickconway
   924 	1.	MILESTONE: SymTB10.1 GT0472, MS3.4.7, DS.1807 PREQ2094: Product Quality SMP Kernel
   925 		Requirements: PREQ2094: Product Quality SMP Kernel
   926 		REQ12595: Documentation - SMP User-side Migration Guide
   927 
   928 
   929 Version 2.00.2017
   930 =================
   931 (Made by Vino Jose   14/07/2009)
   932 
   933 1.	OliverStuart
   934 	1.	DEFECT FIX: DEF140766: [RShBuf] Repeated Map on aligned buffers ignores read/write attribute
   935 		Improved error reporting so that it is impossible to double Map an RShBuf.
   936 
   937 2.	SamiraA
   938 	1.	DEFECT FIX: DEF139767: t_kernasmbm fails in debug mode
   939 		Fixed unsafe user memory access by kernel code
   940 
   941 3.	HaifengYang
   942 	1.	DEFECT FIX: DEF139407: some supplemental tests aren't added to 't_usbdi_helper.iby' file
   943 	2.	DEFECT FIX: DEF140886: husbconsapp.exe freeze in MSF00105
   944 
   945 4.	stephenroberts
   946 	1.	MILESTONE: SymTB10.1, GT0530, MS3.2, DS1648/DS1647, PREQ1705: Abstract Stop Mode Debug API & Abstract Stop Mode Debug API - Process List
   947 	2.	MILESTONE: ToolsTB10.1, GT0530, MS3.7, DS1666, PREQ2596: SMP CPU Profiler Baseport API
   948 
   949 5.	TomCosgrove
   950 	1.	MINOR_CHANGE: Unbreak X86PC by defining __CPU_PAGE_TABLES_FULLY_CACHED in nk_cpu.h
   951 
   952 6.	MariamSood
   953 	1.	DEFECT FIX: DEF140005: Cannot access SD card when using some NaviEngine roms 
   954 7.	SebOlney
   955 	1.	MINOR_CHANGE: Prevent t_pipe from dead locking
   956 		- Replaced concurrent blocking read/write tests with test to check only that the notification requests
   957 		used are safe when issued concurrently.
   958 		- Updated documentation for RPipe::WriteBlocking to note that if multiple threads are attempting to perform blocking writes,
   959 		larger than the pipe size, on the same channel then their writes may be interleaved.
   960 	2.	DEFECT FIX: PDEF139514: E32TEST:T_dma.exe fails for large transfer limits 
   961 
   962 8	SushmitaR
   963 	1.	DEFECT FIX: DEF140581: T_RAMDEFRAG H2 paged occasionally fails test 9 (t_ramdefrag.cpp:7996) 
   964 		Ensure that the test is flexible to fixed pages being allocated in the place of movable pages
   965 
   966 9.	ChrisN
   967 	1.	DEFECT FIX: DEF139959: e32base.h does not compile for armv5 when __SYMBIAN_STDCPP_SUPPORT__ defined
   968 
   969 10.	MariamSood
   970 	1.	DEFECT FIX: DEF140899: T_USBCSC fails on H4HRP and FMM with KERN-EXEC 61 
   971 11.	MarkP
   972 	1.	MILESTONE: SymTB9.2, CR1632, MS3.44, CR1632: Remove the obsolete sound driver (RMdaDevSound).
   973 		BR2828: "Remove the obsolete sound driver (RMdaDevSound)" 
   974 		Delivery Step: 1797 
   975 		Component Change request "213:Audio Drivers"
   976 
   977 
   978 Version 2.00.2016
   979 =================
   980 (Made by Vino Jose   10/07/2009)
   981 
   982 1.	ChrisN
   983 	1.	MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support
   984 
   985 
   986 Version 2.00.2015
   987 =================
   988 (Made by Vino Jose   08/07/2009)
   989 
   990 1.	RichardCo
   991 	1.	DEFECT FIX: DEF140636: Panic during T_FSYSBM on H4HRP
   992 		Threads which use VFP but never make exec calls can end up crashing on exit in UDEB. Fixed.
   993 
   994 2.	MarkP
   995 	1.	DEFECT FIX: DEF139712: E32TEST T_SOUND2 fails on H4
   996 	2.	DEFECT FIX: DEF139854: T_SOUND2 intermittently failing under WINSCW.UDEB
   997 	3.	DEFECT FIX: DTW-MM00678: RSoundSc::RecordData() returns recorded length > allocated buffer size
   998 
   999 
  1000 Version 2.00.2014
  1001 =================
  1002 (Made by Vino Jose   02/07/2009)
  1003 
  1004 1.	SteveElliott
  1005 	1.	DEFECT FIX: DEF138126:  Adds to the t_usb_win application spawning a process to run a devcon utility with
  1006 		rescan parameter which will instigate scanning for hardware changes. This command line utility will be run 
  1007 		every 5 minutes if the USB device is not connected.
  1008 
  1009 2.	DjordjeK
  1010 	1.	MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_Cache memory in Symbian OS V1.0.ppt"
  1011 
  1012 3.	NeilClifford
  1013 	1.	DEFECT FIX: DEF140499: PlatSec: Reference MMC stack PSLs allow user r/w access to DMA chunk
  1014 	2.	DEFECT FIX: DEF140378: T_ROFSMULTIPLE Failure
  1015 	3.	MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_How_to_Port_eMMC_Controller.doc"
  1016 
  1017 4.	OliverStuart
  1018 	1.	DEFECT FIX: DEF140585: T_SESS panics on H2 with KERN-EXEC
  1019 
  1020 
  1021 Version 2.00.2013
  1022 =================
  1023 (Made by VincentF 26/06/2009)
  1024 
  1025 1.	marcinmaksymiuk
  1026 	1.	MILESTONE: SymTB10.1, PQ2390, MS3.1, PREQ2390/CR2034/DS1716: Submit OSTv2 API to the MCL
  1027 
  1028 2.	SophieY
  1029 	1.	DEFECT FIX: PDEF138135: SMP: euser.dll does not build on x86gcc due to undefined references to vtables 
  1030 
  1031 3.	AndreiMironenko
  1032 	1.	DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform
  1033 
  1034 4.	SushmitaR
  1035 	1.	MINOR_CHANGE: Ensure t_ramdefrag makes correct assumptions when trying to determine the zone the allocator would 
  1036 		choose for movable and discardable pages
  1037 
  1038 5.	JohnS
  1039 	1.	DEFECT FIX: DEF139230: Nandloader cannot flash core images of more than ~83 MB on 256MB NAND device 
  1040 		Update nandloader in automated and mauual mode to to flexibly set boundary between locked
  1041 		and unlocked regions during device format when using 1.5 drivers.
  1042 
  1043 
  1044 Version 2.00.2012
  1045 =================
  1046 (Made by Vino Jose   25/06/2009)
  1047 
  1048 1. 	JonCo
  1049 	1.  DEFECT FIX: DEF140538: T_DEMANDPAGING fails if Demand Paging not supported 
  1050 
  1051 2.	ArchanaH
  1052 	1.	DEFECT FIX: DEF130160: No flexible memory model component for H6 
  1053 		Add base_tiomap3_flexible.mrp and base_tiomap3_unistore2_flexible.mrp files under flexible component for inclusion of H6 FMM component as part of CBR release.
  1054 		Integration team has already created a Placeholder submission for DEF130160 which must be enabled for this submission.
  1055 
  1056 3.	BhaskarReddy
  1057 	1.	DEFECT FIX: Defect Fix: DEF139500: Performance measurment value for "Bootup Techview using SysStart" is < 1sec
  1058 
  1059 4.	DjordjeK
  1060 	1.	MILESTONE: SymTB10.1, GT0472, MS3.2.1, DS 1597, PREQ 2094: SMP Caching
  1061 
  1062 
  1063 Version 2.00.2011
  1064 =================
  1065 (Made by Vino Jose   22/06/2009)
  1066 
  1067 8.	AndreiMironenko
  1068 	1.	DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform
  1069 
  1070 
  1071 Version 2.00.2010
  1072 =================
  1073 (Made by Vino Jose   19/06/2009)
  1074 
  1075 1. 	ArunachalamR
  1076 	1.	DEFECT FIX: DEF139224: h4 images can no longer be downloaded by T32/Lauterbach 
  1077 		Ethernet Interrupt is disabled and cleared in Init3()
  1078 2.	JonCo
  1079 	1. MINOR_CHANGE: Update demandpaging tests to reduce the likelyhood of being unable to allocate
  1080 	contiguous memory (related to DEF139703)
  1081 
  1082 
  1083 Version 2.00.2009
  1084 =================
  1085 (Made by Vino Jose   19/06/2009)
  1086 
  1087 1.	SteveElliott
  1088 	1.	MINOR_CHANGE: Fix various drivers to properly use SetCpuAffinity to unlock from core 0
  1089 
  1090 2.	VyshnaviK
  1091 	1.	MINOR_CHANGE: Added the missing distribution files for labrador folders as part of PREQ2683
  1092 
  1093 3.	TomCosgrove
  1094 	1.	MINOR_CHANGE: Make rom.pl be properly quiet when given -q, and tidy up a little bit
  1095 		(remove unnecessary parentheses, add spaces and a string initialisation).
  1096 
  1097 4.	JohnS
  1098 	1.	DEFECT FIX: DEF139776: Core images with very large unpaged sections fail to boot
  1099 		Replace single call to BML_MRead with multiple calls to BML_Read to ensure that the core image
  1100 		file is correctly shadowed to RAM.
  1101 	2.  MINOR CHANGE: Correct coreloader source filename and comments
  1102 	
  1103 5.	OliverStuart
  1104 	1.	DEFECT FIX: DEF138740: SMP + WDP t_ipccpy fails: Kernel Panic "Fault with FM Held! addr=0x00422e20...
  1105 		SWI interrupt handler was not handling syscalls with extended parameters correctly - register was
  1106 		being stomped on.
  1107 
  1108 6.	NeilClifford
  1109 	1.	MILESTONE: SymTB10.1, GT0472, MS3.6, DS.1737: PREQ1967 Embedded MMC v4.3
  1110 		INTERFACE CHANGE:BR2811.1-Extend PBUS and MMC Classes to provide framework for eMMC Sleep feature	
  1111 
  1112 7.	BhaskarReddy
  1113 	1.	DEFECT FIX: DEF140400: Demand paged images don't boot on Labrador
  1114 
  1115 8.	YiluZhu
  1116 	1.	DEFECT FIX: DEF140215: elf2e32 crashed in 64 bit windows
  1117 
  1118 
  1119 Version 2.00.2008
  1120 =================
  1121 (Made by Vino Jose   12/06/2009)
  1122 
  1123 1.	OliverStuart
  1124 	1.	MINOR CHANGE: CR1970: Adding missing S60 distribution files and correcting IDs.
  1125 	2.	MINOR CHANGE: CR1994: Updating incorrect copyright headers.
  1126 	3.	MINOR CHANGE: CR1970: Removing orphaned S60 distribution files copied from symtb91.
  1127 
  1128 2.	LukaszForynski
  1129 	1.	DEF139264: NaviEngine XYIN PDD polling timer active even when no LCD module present
  1130 	2.	MINOR_CHANGE: NaviEngine Only - updated XYIN, KEYPAD and GPIO drivers:
  1131 		- updated the XYIN PSL to use a dedicated DfcQ (SMPSAFE)
  1132 		- updated the GPIO to use pre-defined spin-lock priority rather than a numeric value.
  1133 		- fixed GPIO driver, which was crashing the board when calling to SetInterruptTrigger()
  1134 		- updated drivers so that they read display mode from DIP switch settings in order to 
  1135 		start/configure settings properly according to this mode.
  1136 
  1137 
  1138 Version 2.00.2007
  1139 =================
  1140 (Made by  Vino Jose  11/06/2009)
  1141 
  1142 1.	SebOlney
  1143 	1.	DEFECT FIX: DEF139130: E32TEST t_pipe2 crashes in NE1_TB.ARMV5.UDEB.SMPKERNEL
  1144 
  1145 2.	junwookkwak
  1146 	1.	DEFECT FIX: DEF139741: Documentation for 2x YUV_422 pixel format wrong in E32's
  1147 
  1148 
  1149 Version 2.00.2006
  1150 =================
  1151 (Made by Vino Jose  08/06/2009)
  1152 
  1153 1.	DeleOgunjumelo
  1154 	1.	DEFECT FIX: DEF135926: Wrong return type from RBTrace::Filter() & RBTrace::SetFilter   
  1155 		RBTrace::Filter & RBTrace::SetFilter changed to return a TInt.Changed Tbool aValue in the
  1156 		RBTrace::SetFilter() to TInt aValue. Updated comments to describe true behaviour of the APIs.
  1157 
  1158 2.	patrickconway
  1159 	1.	DEFECT FIX: DEF139270: [ShBuf] T_SHBUF_OWN fails on NE1_TB.ARMV5.UDEB.SMPKERNEL
  1160 		Use DObject::Close instead of delete on pointers to DMemModelAlignedShBuf/DWin32ShBuf 
  1161 	2.	DEFECT FIX: DEF139296: T_DMA fails in NaviEngine SMP UREL test runs
  1162 		Change ShBuf test to prevent over-fragmentation of kernel heap
  1163 	3.	DEFECT FIX: DEF139480: Shareable Data Buffers performance has regressed
  1164 		Various performance tweaks in shareable data buffers code
  1165 	4.	MINOR_CHANGE: Add Base_How_To_Shareable_Data_Buffers.doc
  1166 	5.	MINOR_CHANGE: Fix typos in flexible memory model comments
  1167 
  1168 3.	LukaszForynski
  1169 	1.	MINOR_CHANGE: Added Crazy Interrupts option for ARM SMP.
  1170 
  1171 4.	HiteshSavaliya
  1172 	1.	DEFECT FIX: DEF139527: [system build]: cat x files in MSF00064 vtb92sf
  1173 
  1174 
  1175 Version 2.00.2005
  1176 =================
  1177 (Made by Andrew Haigh 05/06/2009)
  1178 
  1179 1.      Andrew Haigh
  1180         1.      MINOR_CHANGE: PREQ2518 Modification of Symbian OS copyright notices for run-mode debug
  1181 	2.	MINOR_CHANGE: PREQ2683 Adding distribution.policy.s60 files for all components in the MCL for run-mode debug, stop-mode debug, system crash and utrace components.
  1182 
  1183 
  1184 Version 2.00.2004
  1185 =================
  1186 (Made by Vino Jose  02/06/2009)
  1187 
  1188 1.	MarkTa
  1189 	1.	DEFECT FIX: DEF139225: t_ramdefrag crashes the kernel on h2 armv5 udeb 
  1190 		Ensure that Defrag::DisablePageModification() acquires the system lock before reading 
  1191 		a chunk's iBase member.
  1192 2.	MariamSood
  1193 	1.	MINOR_CHANGE: Add distribution.policy.s60 files for SD Driver for the work done in PREQ2560
  1194 	2.	MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved for rvemuboard
  1195 
  1196 3.	MarkPhillips
  1197 	1.	DEFECT FIX: DEF139129: ESOUNDSC is not marked SMP safe
  1198 
  1199 4. GayathriR
  1200 	1.	DEFECT FIX: DEF137035: Remove duplicated classes/structs in usb
  1201 		BREAK REQUEST: BR2683.1: Deprecate existing USB Shared Chunk Client Endpoint Resource Allocation APIs
  1202 
  1203 5.	BhaskarReddy
  1204 	1.	DEFECT FIx: DEF139054 ONB: graphics wstest_t_draw_s1_nga test failure (armv5)
  1205 
  1206 
  1207 Version 2.00.2003
  1208 =================
  1209 (Made by Vino Jose 01/06/2009)
  1210 
  1211 1.	RyanHarkin
  1212 	1.	MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved
  1213 	2.	DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
  1214 		the previous fix for this contained a bug that means reset will restart previous image
  1215 		rather than reset the board to the bootloader
  1216 
  1217 2.	RichardCo
  1218 	1.	DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
  1219 		!IMPORTANT! This change may result in Naviengine roms not booting correctly
  1220 		on older bootloaders. You should be using bootloader 1.11 platform build 5
  1221 		or a higher version. This fix changes the way software reboot is handled to
  1222 		be much more reliable.
  1223 
  1224 3.	ParameshwariB
  1225 	1.	DEFECT FIX: PDEF138397: PRM: ChangeResourceState() doesn't properly update current level owner
  1226 
  1227 4.	TomCosgrove
  1228 	1.	DEFECT FIX: DEF139497: X86 ROMs crash on boot with DP: Fault with FM Held!
  1229 		Replace use of consts with enums in x86/cexec.cia (except for X86GCC).
  1230 5.	laneroberts
  1231 	1. 	MILESTONE: SymTB9.2, GT0472, MS3.2.3, DS.1692: SMP Product Kernel: User-side read/write locks     
  1232 
  1233 6.	Vyshnavik
  1234 	1.	DEFECT FIX: DEF139525:[system build]: catx files in MSF00064 vtb92sf
  1235 7.	ArchanaH
  1236 	1.	DEFECT FIX: DEF139585: Labrador bootloader is not working as expected.
  1237 	2.	DEFECT FIX: DEF139303: Enable tvout functionality for labrador
  1238 
  1239 8.	RajivM
  1240 	1.	DEFECT FIX: DEF139612: Booting from SD card is not supported in 3430 bootloader
  1241 
  1242 9.	BhaskarReddy    
  1243 	1.	MINOR_CHANGE: Updating the Labrador User Guide
  1244 	2.	MINOR_CHANGE: Removing duplicate Labrador User Guide		
  1245 	3.	DEFECT FIX: DEF128530: T_USBAPI test failure on 3430
  1246 
  1247 10.	MarkTa
  1248 	1.	MINOR_CHANGE: Fix mbc files now that the sdcard3c bld.inf has been moved for all 
  1249 		base ports' mbc files that can build with the new source layout.
  1250 
  1251 11.	SteveElliott
  1252 	1.	DEFECT FIX: DEF139479 usbtest.testlist.h4.bat tests are failing due to recent code split
  1253 		Runtests modified to ignore comments in auto test batch files 
  1254 
  1255 12.	JohnS
  1256  	1. 	MILESTONE: SYMTB9.2, Base Duranduran, GT0419, MS3.27, PREQ2559: Kernel & HWS: Prepare Customers XSR FTL TPIP for Symbian Foundation    
  1257 
  1258 13.	InderpalSingh
  1259 	1. 	DEFECT FIX: DEF138855: H6 UREL ROMs crash early in boot when DebugPort > 2
  1260 
  1261 
  1262 Version 2.00.2002
  1263 =================
  1264 (Made by Sergei Trofimov 28/05/2009)
  1265 
  1266 1.      sergeitrofimov
  1267         1.      PREQ2621, DS.1698: relocating header files.
  1268 
  1269 
  1270 Version 2.00.2001
  1271 =================
  1272 (Made by Vino Jose 20/05/2009)
  1273 
  1274 1.	laneroberts
  1275 	1.	DEFECT FIX: DEF139375: Bootstrap.mk fails to build with raptor 
  1276 
  1277 2.	VyshnaviK
  1278 	1.	MINOR_CHANGE: CR1994:Add PREQ2518 (Modification of Symbian OS copyright notices)- TBAS (T16135 was Green)
  1279 	2.	MINOR_CHANGE: CR1970:Add PREQ2683 (Adding distribution.policy.s60 files for all components in the MCL (//epoc/master/sf/...))-TBAS (T16135 was Green)
  1280 
  1281 3.	RichardCo
  1282 	1.	MILESTONE: SymTB9.2, GT0472, MS3.2.2, DS.1600 PREQ 2094: SMP Product Kernel: (Thread) Affinity Groups
  1283 		NaviEngine roms built with -d SMPCOMPATMODE will now use the new thread group
  1284 		compatibility mode, instead of being locked to core 0, for unsafe code. The
  1285 		old compatibility mode is still available as -d SMPCOMPATCPU0.
  1286 
  1287 4.	RyanHarkin
  1288 	1.	MINOR_CHANGE: added new document "Base_BSP_Development_for_SMP.doc":  Charles Garcia-Tobin's
  1289 		document with a new template and a few minor changes.
  1290 
  1291 
  1292 Version 2.00.2000
  1293 =================
  1294 (Made by GeorgeSin 19/05/2009)
  1295 
  1296 1.	BhaskarReddy
  1297 	1.	DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform
  1298 
  1299 2.	TomCosgrove
  1300 	1.	DEFECT FIX: DEF139267: [ShBuf] T_SHBUF fails on X86
  1301 		Fixed test to use alignment of 1 << 5 if cache alignment is less than this.
  1302 		
  1303 3.	MiguelB
  1304 	1.	DEFECT FIX: PDEF139321: NaviEngine Techview ROMs use generic version of estart 
  1305 
  1306 4.	MichaelMoate
  1307 	1.	DEFECT FIX: DEF138273 [System Build]: ClassifySource returning Category X
  1308 		Modified bld.inf and mrp files to resolve packaging issues relates to exports.
  1309 
  1310 5.	patrickconway
  1311 	1.	DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms
  1312 		Generalised some test cases to run correctly under SMP
  1313 
  1314 6.	DaveGordon
  1315 	1.	DEFECT FIX: PDEF134657: Insufficient validation of RMessagePtr2 handles
  1316 		Kernel message buffers are now allocated from their own chunk, thus
  1317 		preventing address spoofing
  1318 
  1319 7.	stephenroberts
  1320 	1.	DEFECT FIX: PDEF134498: Platform Security can be disabled by an insecure debug agent (2)
  1321 		This fix adds two TRK blocking applications.
  1322 
  1323 	2.  	DEFECT FIX: DEF138274: ClassifySource returning Category X in CrashMonito
  1324 
  1325 8.	MariamSood
  1326 	1.	MILESTONE: SymTB9.2 GT0419, MS3.25, DS.1713 PREQ2560: SD simplified specification
  1327 		INTERFACE CHANGE:BR2778-Adding data member to TSDCard class
  1328 
  1329 9.	BhaskarReddy
  1330 	1.	DEFECT FIX: DEF139202: Nand images do not work on Labrador.
  1331 
  1332 10.	RobCliff
  1333 	1.	DEFECT FIX: DEF139046: Demand Paging H4 COMM device driver client request state bad for subsequent read   
  1334 
  1335 
  1336 Version 2.00.1999
  1337 =================
  1338 (Made by marcinmaksymiuk 14/05/2009)
  1339 
  1340 1.	marcinmaksymiuk
  1341 	1.	DEFECT FIX: DEF138552: Some improvements to UTrace code are necessary.
  1342 		
  1343 		
  1344 Version 2.00.1998
  1345 =================
  1346 (Made by GeorgeSin 12/05/2009)
  1347 
  1348 1.	MarkTa
  1349 	1.	DEFECT FIX: PDEF138804: Kern::ThreadCreate() unnecessarily enters thread critical section
  1350 		Removed the unnecessary entry into a critical section.
  1351 
  1352 2.	ExtRajeswarir
  1353 	1.	DEFECT FIX: DEF138287: [BFC] Warnings during BUILD stage in base_tiomap3
  1354 
  1355 3.	OliverStuart
  1356 	1.	DEFECT FIX: DEF138984: T_CHUNK can deadlock due to incorrect Sem. usage in original fix for trg hung
  1357 		Need to use three semaphores or we risk signal stealing if one thread gets ahead of the others and starts a
  1358 		second iteration before the other threads have been signalled and have begun their first iteration.
  1359 
  1360 4.	patrickconway
  1361 	1.	DEFECT FIX: PDEF138700: NaviEngine BSP fixes
  1362 
  1363 5.	stephenm
  1364 	1.	DEFECT FIX: DEF138841 Bug in D_COMM.CPP
  1365 		Updated to use correct spin lock macros in serial driver LDD ISR code.
  1366 
  1367 6.	VyshnaviK
  1368 	1.	DEFECT FIX: PDEF138462: The format in mmp and bld files within BSP dir need to have only forward slashes
  1369 
  1370 7.	colinward
  1371 	1.	FINALDS: SymTB10.1, GT0472, MS3.5, DS.1611 CR1824:Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver.
  1372 		CHANGE REQUEST: CR1824 Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver
  1373 		INTERFACE CHANGE: BR2751.1 Peripherals: Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver
  1374 
  1375 
  1376 Version 2.00.1997
  1377 =================
  1378 (Made by patrickconway 08/05/2009)
  1379 
  1380 1.	patrickconway
  1381 	1.	MILESTONE: SymTB9.2 GT0419, MS3.12, DS.1467 PREQ1490: Flexible Memory Model
  1382 		Requirements: PREQ1490 Flexible Memory Model
  1383 		REQ11423: Provide shareable buffer mechanism to reduce copies between kernel drivers and user side processes
  1384 	2.	INTERFACE CHANGE: BR2786.1 BC break to DObject virtual function table
  1385 
  1386 
  1387 Version 2.00.1996
  1388 =================
  1389 (Made by George Sin 07/05/2009)
  1390 
  1391 1.	SebOlney
  1392 	1.	MINOR_CHANGE: Make enable_symbolics.cmm aware of new source layout, where "os/" is parent dir.
  1393 
  1394 
  1395 Version 2.00.1995
  1396 =================
  1397 (Made by George Sin 29/04/2009)
  1398 
  1399 1.	HaifengYang
  1400 	1.	DEFECT FIX: DEF137995: add Devmon notification for each OHCI scheduling overrun error
  1401 	2.	DEFECT FIX: PDEF137828: Perl scripts in /e32test/usb/ need Nokia copyright header
  1402 	3.	DEFECT FIX: DEF137749: t_usbdi test rom build failed
  1403 	4.	DEFECT FIX: DEF135549: [USBHO]build warning for usbdi_channel.cpp
  1404 
  1405 2.	FrankHofmann
  1406 	1.	DEFECT FIX: DEF136834 - T_RAMDEFRAG fails, Error -26 at line 8907
  1407 
  1408 3. 	NaushadAhmed
  1409 	1.	DEFECT FIX: DEF137735: The trace instrumentation guidelines in the MCL do not describe UTFv2.0
  1410 
  1411 4.	SushmitaRoy
  1412 	1.	DEF136443: T_RAMDEFRAG fails on 34XX_SDP
  1413 		Change estart.mmp for 3430 so that filecaching can be enabled,
  1414 		but also ensure that t_ramdefarg copes when something goes wron with filecaching.
  1415 		
  1416 5.	MichaelP
  1417 	1.	MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
  1418 		(This change had been applied originally in CL1423748 but was undone
  1419 		 again in CL1512674.)
  1420 
  1421 6.	GayathriR
  1422 	1.	DEFECT FIX: DEF138257: Cache should be cleaned before setting up a dma read in usb client PSL (3430)
  1423 	2.	DEFECT FIX: DEF138089: T_USBCSC fails on H4HRP.ARMV5...
  1424 
  1425 7.	InderpalSingh
  1426 	1. 	DEFECT FIX: DEF136297: ONB : TEXECUTEwstest_t_bitgdirenderstage_rom.script TRedrawStoring test fails
  1427 	2.	DEFECT FIX: DEF137527: M04905 crashes H6 board with FAULT: DMA 0x000002ef (751) on ppp connection
  1428 
  1429 8.	patrickconway
  1430 	1.	DEFECT FIX: DEF137515: GPIO and Ethernet NaviEngine PDDs are not marked SMPSAFE
  1431 
  1432 9.	laneroberts
  1433 	1.	MILESTONE: SymTB10.1 GT0472, MS3.12, DS.1723 PREQ2094: Product Quality SMP Kernel
  1434 		Requirements: PREQ2094: Product Quality SMP Kernel
  1435 		REQ12442: Documentation - SMP Device Driver Migration Guide
  1436 
  1437 10.	NeilClifford
  1438  	1.	DEFECT FIX: PDEF138614: MMC Stack does not resend CMD23 if Data CRC Received
  1439 
  1440 11.	HenryGrant
  1441 	1.	MILESTONE: SymTB9.2 GT0419, MS3.22, DS.1462 Splitting "mixed" header files - phase 1
  1442 		Requirements: PREQ2498: Splitting "mixed" header files- Kernel & Hardware Services - E32 directory
  1443 
  1444 
  1445 Version 2.00.1994
  1446 =================
  1447 (Made by George Sin 28/04/2009)
  1448 
  1449 1.	MichaelCox
  1450 	1.	DEFECT FIX: DEF137738:t_sprioritycap tests fail with Exit type 2,100,Close&Wait
  1451 
  1452 2.	ExtRajeswarir
  1453 	1.	FinalDS: SymTB9.2, GT0419, MS3.21, DS.1688 PREQ2033: BSP: OMAP3430 board support package
  1454 		Requirements: PREQ2033 Cortex A8 BSP
  1455 		Other: New components had been added, base_tiomap3_lab, base_tiomap3_lab_unistore2, base_tiomap3_lab_sdio, 
  1456 		base_tiomap3_sdio, hence new mrp files are included. All of them had been verified using TBAS (T15497 was Green).
  1457 
  1458 3.	AnatolyP
  1459  	1.	DEFECT FIX: DEF138496: A number of drivers need to be marked SMPSAFE 
  1460  
  1461 
  1462 Version 2.00.1993
  1463 =================
  1464 (Made by Fernando Porta 28/04/2009)
  1465 
  1466 1.	Fernando Porta
  1467 	1.	MINOR_CHANGE SymTB9.2, DS.1680 Wordscan and copyright changes for debug components 
  1468 		under GT0497 PREQ2578 Developer Tools Debug Tools asset prep for SF TB 9.2 (MCL) 
  1469 		
  1470 
  1471 Version 2.00.1992
  1472 =================
  1473 (Made by Song Li 24/04/2009)
  1474 
  1475 1.	Song Li
  1476 	1.	MILESTONE: SymTB9.2 GT0456, MS3.3, DS.1661 PREQ2564 Prepare Shortlink Services USB Host and OTG TPIP for Symbian Foundation 
  1477 
  1478 
  1479 Version 2.00.1991
  1480 =================
  1481 (Made by George Sin 21/04/2009)
  1482 
  1483 1.	MichaelMoate
  1484 	1.	DEFECT FIX: PDEF134689 3430/H6 BSP does not contain workaround for ARM Cortex-A8 Eratta 430973 
  1485 		Implement workaround using TI Boot Monitor. Set IBE and disable branch size mispredict to 
  1486 		1 in CP15 Auxiliary Control Register.
  1487 
  1488 2.	Gavin Cochrane
  1489 	1.	DEFECT FIX: DEF138299: EPL header missing from files
  1490 
  1491 3.	FadhliMustaffa
  1492 	1.	DEFECT FIX: DEF137729: Coverity SymTB9.2 - M04900 - Base components
  1493 
  1494 4.	JosephCodadeen
  1495 	1.	DEFECT FIX: DEF135950: Camera Defect: Need ability to set Brightness and other Dynamic settings
  1496 	2.	DEFECT FIX: DEF138038: Camera Driver: Various logic mistakes need to be fixed
  1497 
  1498 5.	AnatolyP
  1499 	1.	DEFECT FIX: DEF137536: 	DMA drivers are not marked SMPSAFE
  1500 		The PSL code has been reviewed; the test driver has been changed to use a dedicated DFC queue 
  1501 		and CPU affinity for the DFC queue has been set to "any". T_DMA has been run on NaviEngine. 
  1502 		DMA PIL, DMA PSL for NaviEngine and DMA test driver have been marked SMPSAFE.
  1503 
  1504 6.	DennisM
  1505 	1.	DEFECT FIX: DEF138240: SYMTB92 file rom.pl has hardcoded path to source code
  1506 
  1507 7.	VitalyR
  1508 	1.  MINOR_CHANGE: Unlock UART from CPU 0
  1509 
  1510 8.	Mark Phillips
  1511 	1.	DEFECT FIX: DEF137390: Panic happens in soundsc_rx.cpp during record
  1512 
  1513 9.	ParameshwariB
  1514 	1.	DEFECT FIX: DEF138490: Convert user side Power Resource Manager to WDP safe
  1515 
  1516 10.	OliverStuart
  1517  	1. 	DEFECT FIX: DEF138318: SMP + Data Paging T_Chunk fails: t_chunk.exe::Local-c811fe18 Panic KERN-EXEC
  1518  	Modified to use thread pool in chunk-close race condition test to prevent KERN-EXEC 3 when stack is accessed
  1519  	after 50 CloseChunk threads have been created over and over again for 800 times until the backing store is
  1520  	exhausted and there is no storage left to commit to the stack page.
  1521 
  1522 
  1523 Version 2.00.1990
  1524 =================
  1525 (Made by George Sin 17/04/2009)
  1526 
  1527 1.	LukaszF
  1528 	1.	DEFECT FIX: DEF136869: SMP: It's not possible to easily boot NaviEngine with 2 or 3 CPUs
  1529 		implemented it using patchable constant.
  1530 
  1531 2.	AndreasP
  1532 	1.	DEFECT FIX: PDEF134648 HAL::EDisplayXPixels sometimes returns uninitialised data
  1533 
  1534 3.	MichaelMoate
  1535 	1.	DEFECT FIX: DEF133208 shared_sysdma for OMAP3430 requires macro  __IS_OMAP2420__ defined
  1536 		Modify Omap3 ASSP code to build correctly without defining this macro. Add Omap3 support
  1537 		to d_latncy in e32test and use that instead of BSP specific version.
  1538 
  1539 4.	MarkTa
  1540 	1.	DEFECT FIX: PDEF137533: Reported size of filesystem cache chunk keeps increasing
  1541 		Ensure that for disconnected chunks Decommit() sets the size of the chunk via the bit map 
  1542 		not by looking at which pages are mapped.
  1543 
  1544 
  1545 Version 2.00.1989
  1546 =================
  1547 (Made by George Sin 14/04/2009)
  1548 
  1549 1.	Bhaskar Reddy
  1550 	1.	DEFECT FIX: DEF136833: ONB: 3 new bitgdi test failures on H6
  1551 
  1552 2.	Radhakrishnanramanat
  1553 	1.	DEFECT FIX: DEF135076: boottime is 0 in H6 using REBOOT.LDD
  1554 		Enable the GPtimer 11 configuration, used for boottime measurement.
  1555 3.	AndrewHi
  1556 	1.	MILESTONE: SymTB9.2 GT0419, MS3.9.7, DS.1677 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
  1557 	2.	DEFECT FIX: DEF137283: IIC Controller FreeChanWriteAccess should use spin lock
  1558 		Replaced atomic access with spin lock guard
  1559 
  1560 4.	stefankarlsson
  1561 	1.	DEFECT FIX: DEF137709: Erroneous line in compsupp/rvct3_1/drtaeabi.mmp 
  1562 	2.	MINOR_CHANGE: Remove compsupp/base_e32_compsupp.history.xml.
  1563 
  1564 
  1565 Version 2.00.1988
  1566 =================
  1567 (Made by GeorgeSin 09/04/2009)
  1568 
  1569 1.	HenryGrant
  1570 	1.	DEFECT FIX: DEF137080: BFC failed due to missing rebootdrv.h 
  1571 
  1572 
  1573 Version 2.00.1987
  1574 =================
  1575 (Made by GeorgeSin 08/04/2009)
  1576 
  1577 1.	Archana H
  1578 	1.	DEFECT FIX: DEF137353: Emulator multitouch support broken on Win2K 
  1579 	
  1580 2.	MiguelB
  1581 	1.	DEFECT FIX: DEF136839: NAND media driver doesn't cancel garbage collection DFC 
  1582 
  1583 3.	Michael Moate
  1584 	1.	DEFECT FIX: DEF137241 - Template assp and variant are not located in the right places in master/sf
  1585 
  1586 4.	Vitaly Rodionov
  1587 	1.	MINOR_CHANGE: Add SMPSAFE macro in NaviEngine serial PDD.
  1588 
  1589 Version 2.00.1986
  1590 =================
  1591 (Made by George Sin 02/04/2009)
  1592 
  1593 1.	NeilClifford
  1594 	1.	DEFECT FIX: DEF137410: [System Build]: Errors in GT compilation related to medusiis.lib M04905 vFuture
  1595 
  1596 Version 2.00.1985
  1597 =================
  1598 (Made by George Sin 30/03/2009)
  1599 
  1600 1.	JonCo
  1601 	1.	DEFECT FIX: DEF137240: Kernel should parse descriptor headers when reading them from user-side	
  1602 
  1603 2.	ExtRajeswarir
  1604 	1.	DEFECT FIX: DEF137294: ARMV7 compilation errors in TIOMAP3 BSP in M04902 vFuture build 
  1605 
  1606 Version 2.00.1984
  1607 =================
  1608 (Made by George Sin 26/03/2009)
  1609 
  1610 1.	vinojose
  1611 	1.	MILESTONE: SymTB9.2 GT0419, MS3.9.6, DS.1609 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
  1612 
  1613 2.	patrickconway
  1614 	1.	DEFECT FIX: DEF137253: [System Build] buildrom missing file _34XX_SDP_HSMMC1SDIO.DLL in M04901 
  1615 
  1616 
  1617 Version 2.00.1983
  1618 =================
  1619 (Made by George Sin 23/03/2009)
  1620 	
  1621 1.	MiguelB
  1622 	1.	DEFECT FIX: DEF135702: H4 board crashes when rapidly insert and eject the MMC card on WDP build 
  1623 
  1624 2.	AnatolyP
  1625 	1.	DEFECT FIX: DEF136827: Crash Monitor doesn't print out register information for all CPU cores
  1626 
  1627 3.	LukaszF
  1628 	1. MINOR_CHANGE: NaviEngine Sound PDD driver updates.
  1629 
  1630 4.	RyanHarkin
  1631 	1.	MINOR_CHANGE: update Trace32 scripts
  1632 		Fix SymbianOS awareness; fix bootstrap symbols; align all version of scripts to a common version
  1633 
  1634 5.	NavneetS
  1635 	1.	DEFECT FIX: DEF136419: Base component base_tiomap3 not getting compiled against ARMV7
  1636 
  1637 6.	OliverStuart
  1638 	1.	DEFECT FIX: PDEF136488: ONB: wstest_t_autotest.script crashes
  1639 		Unreverting PDEF135269.  TRegion::AppendRegion calls SetListSize rather than ExpandRegion which can cause
  1640 		the preceding data to be discarded if there is a reallocation.  After change to use ExpandRegion, graphics
  1641 		tests now pass.
  1642 
  1643 7.	ReubenH
  1644 	1.	SymTB9.2, GT0421, MS3.1, DS.1625 PREQ1954 Kernel & HWS: Serial Driver Writable Data Paging & SMP Safe
  1645 
  1646 8.	JonCo
  1647 	1.	DEFECT FIX: DEF137010: t_timer hangs on the emulator 
  1648 	2.	MINOR_CHANGE: add data paged h4 usb test rom
  1649 
  1650 9.	JosephCodadeen
  1651 	1.	DEFECT FIX: DEF135949: Camera Driver: BufferIdToOffset needs to pass the Mode parameter  
  1652 
  1653 10.	RobCliff
  1654 	1.	DEFECT FIX: DEF136659 : RVCT v3.1: Linker error for d_second_excp.dll / d_second_excp2.dll 
  1655 
  1656 11.	ExtRajeswariR
  1657 	1.	Milestone: SymTB9.2, GT0419, MS3.19, DS.1605 PREQ2033: BSP: OMAP3430 board support package
  1658 		Requirements: PREQ2033 Cortex A8 BSP
  1659 		
  1660 12	georgiosdementis
  1661 	1.	DEFECT FIX: DEF137047: Modified GCE SMP safe driver 
  1662 
  1663 13.	HaoJiang
  1664 	1.	DEFECT FIX: DEF136665: Kern::InfoCopy() doc is incomplete. 
  1665 
  1666 14.	AttilaV
  1667 	1.	DEFECT FIX: DEF136224: Unable load ROM Image generated without RomLoaderHeader on NaviEngine
  1668 
  1669 
  1670 Version 2.00.1982
  1671 =================
  1672 (Made by George Sin 18/03/2009)
  1673 
  1674 1.	AttilaV
  1675 	1.	DEFECT FIX: DEF136577 Too long path cause build error in MergeBranch BSP sub-tree on ARM4 platform.
  1676 	2.	MILESTONE: Diran, GT0364, MS3.2.7 DS1538 PREQ1994: Crash Flash logger
  1677 		Crash Flash logger for the NaviEngine (second attempt)
  1678 
  1679 2.	vinojose
  1680 	1.	MILESTONE: Diran, GT0419, MS3.9.5, DS.1540 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
  1681 	2.	DEFECT FIX: DEF133707: IIC Race condition for MasterSlave channels  
  1682                 (This includes Break Request BR2705)
  1683 	3.	DEFECT FIX: DEF133712: IIC Active wait issue for Slave channels on single-processor systems  
  1684 	4.	DEFECT FIX: DEF133713: IIC Potential for corruption of spin lock state  
  1685 	5.	DEFECT FIX: DEF133715: IIC Slave ?lose?of client thread may be attempted from an ISR  
  1686 
  1687 3. 	RyanHarkin
  1688 	1.	MINOR_CHANGE: update MBC files after \f32\sftl directory removed
  1689 	2.	MINOR_CHANGE: update H4 Lauterbach Trace32 scripts to fix bootstrap debugging and EKA2 awareness
  1690 	
  1691 
  1692 Version 2.00.1981
  1693 =================
  1694 (Made by George Sin 13/03/2009)
  1695 
  1696 1.	georgiosdementis
  1697 	1.	DEFECT FIX: DEF133124:  GetCompositionBuffer in gce LCD driver for NaviEngine does not swap buffers
  1698 		Introduce iPostFlag variable to identify a Post operation has occurred.  	 	
  1699 	2.	DEFECT FIX: PDEF136355:  Incorrect calculation of buffer size in display.cpp  
  1700 	3.	MINOR_CHANGE: Fix incorrect interrupt enable/disable sequence for the naviengine GCE driver plus offset fix.
  1701 
  1702 2.	kelly li
  1703 	1.	MILESTONE: Ermine, GT0488, MS3.1, DS1448, PREQ2338: Base: Emulator support for multi-touch, pressure & proximity
  1704 	
  1705 3.	Gavin Cochrane
  1706 	1.	DEFECT FIX: PDEF135653: Lumiere20.024_Memory: Phone resets automatically after RAM low(2000~3000kb). 
  1707 
  1708 4.	Steve Elliott
  1709 	1.	DEFECT FIX: DEF136066: Microsoft - Base - Loki Fixes. For copyright issue, eject.cpp of t_usb_win rewritten.
  1710 
  1711 5.	ArunachalamR
  1712 	1.	DEFECT FIX: PDEF135529: Serial components stop responding 
  1713 		Interrupt detection - changed from edge to level for FPGA Interrupt.
  1714 		H4::InterruptXXX updated with bug fix.
  1715 		QUART and PS2 KeyBorad ISRs and DFCs are updated with bug fix.
  1716 
  1717 6.	NeilClifford
  1718 	1.	DEFECT FIX: DEF136314: Chunk offset (iChunkOffset) not reset for every read/write request
  1719 	2.	DEFECT FIX: DEF136348 SMPDDM: MMC Media Driver is not SMPSAFE
  1720 
  1721 7.	JosephCodadeen
  1722 	1.	DEFECT FIX: DEF135637 : Obsolete members and values need to be removed
  1723 
  1724 8. 	SushmitaR
  1725 	1.	DEFECT FIX: DEF135303: t_ramdefrag test fails / crashes on h2 
  1726 		Need to do the heap allocations before getting the page counts to set up memory
  1727 
  1728 9.     	AndreiMironenko
  1729     	1.  	Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer
  1730 
  1731 10.	MiguelB
  1732 	1.	DEFECT FIX: PDEF136203: F32test t_pwstr fails for SD card 
  1733 
  1734 11	MariamSood
  1735 	1.	DEFECT FIX: DEF133392: MMC Stack attempts to set clock speed before power is enabled 
  1736 
  1737 12.	OliverStuart
  1738 	1.	DEFECT FIX: DEF135801 Multiple Memory Model crash on unicore NaviEngine with DP and WDP enabled 
  1739 		DMmuCodeSegMemory::ApplyCodeFixupsOnLoad needs to temporarily reenable access to user memory (in debug mode,
  1740 		access is disabled automatically) to query the cache's IMB range.
  1741 		tests now pass.
  1742 	2.	DEFECT FIX: DEF135733: SMP: NaviEngine rom building files need updating to support demand paging
  1743 
  1744 13.	Vitaly Rodionov
  1745 	1.	DEFECT FIX: DEF136456: NGA leads to inproperly display on emulator
  1746 
  1747 14.	DennisM
  1748 	1.	DEFECT FIX: PDEF134720 t_thread fails on SMP kernels
  1749 
  1750 
  1751 Version 2.00.1980
  1752 =================
  1753 (Made by George Sin 10/03/2009)
  1754 
  1755 1.	RajivM
  1756 	1. 	MINOR_CHANGE: Changes in two test applications to match the test case ids according to the test spec.
  1757 
  1758 2.	VyshnaviK
  1759 	1. 	DEFECT FIX: DEF135504: SSR not supported error can't be triggered for regular H6 roms 
  1760 
  1761 3.	RobCliff
  1762 	1.	DEFECT FIX: PDEF135403: Error code for timeout in RSemaphore::Wait(ti) is not specified in in-source doc 
  1763 
  1764 4.	BhaskarReddy
  1765 	1.	DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform 
  1766 
  1767 5.	RyanHarkin
  1768 	1.	MINOR_CHANGE: Add HAL values for DEF134360.
  1769 		This doesn't solve the defect, however, more changes may be needed by graphics.
  1770 	2.	MINOR_CHANGE: Fix BootLoader downloads of unzipped images with no header
  1771 		A previous change to the Ymodem code added in a extra & to a pointer assignment,
  1772 		causing the board to crash if a no-header, uncompressed ROM was downloaded.
  1773 
  1774 6.	georgiosdementis
  1775 	1.	DEFECT FIX: DEF136123:  Revert PDEF135269 to stop failures on the graphics tests
  1776 	
  1777 7.	ExtRajeswarir
  1778 	1. 	DEFECT FIX: DEF130021: No FMM component for H4HRP
  1779 		Add base_omaph4hrp_flexible.mrp file under flexible component for inclusion of H4 FMM component as part of CBR release.
  1780 		Integration team has already created a Placeholder submission for DEF130021 which must be enabled for this submission.
  1781 
  1782 8.	stephenroberts
  1783 	1.	DEFECT FIX: PDEF134564: t_rmdebug2_oem test fails on platforms with no crash flash partition 
  1784 	2.	DEFECT FIX: PDEF134499: Run-mode Debug API allows user to switch user programs to kernel mode 
  1785 	3.	DEFECT FIX: PDEF134605: Write position of new crash logger is incompatible with the old crash logger
  1786 	4.	DEFECT FIX: PDEF134628: Run-Mode debug driver does not clear process breakpoints on a killthread event.
  1787 	5.	DEFECT FIX: PDEF135497: SCMonitor throws data abort if it needs to delete the last flash block.
  1788 	6.	MINOR_CHANGE: Remove the rm_debug tests that fail on SMP to prevent board from hanging
  1789 
  1790 9.	frankhofmann
  1791 	1.	DEFECT FIX: PDEF115092: Intermittent failure of T_RCACHE on H2 Armv5 Urel build
  1792 	2.	DEFECT FIX: DEF135745: DMmcMediaDriverFlash::DecodePartitionInfo fails on MBR-partitioned media
  1793 
  1794 10.	SivashankarN
  1795 	1.	DEFECT FIX: DEF136294: Issues with HCD page size (USB HOST/OTG Stack issue B67686)
  1796 
  1797 11.	SebOlney
  1798 	1.	DEFECT FIX: PDEF134755: Sound driver on H6 does not handle pause/resume properly
  1799 
  1800 12.	Volkan Akdere
  1801 	1.	DEFECT FIX: DEF135849: Run-mode Debug Driver performance improvement for WDP
  1802 		(submitted by RichardCo on behalf of tools team)
  1803 
  1804 
  1805 Version 2.00.1979
  1806 =================
  1807 (Made by George Sin 02/03/2009)
  1808 
  1809 1.	Radhakrishnanramanat
  1810 	1.	DEFECT FIX:DEF134020: Loading the REBOOT.LDD fails with error -1 on H6
  1811 		Add reboot.ldd in base_34xx_sdp.iby.
  1812 2.	dharmeshgandhi
  1813 	1.	DEFECT FIX:DEF131764: tpantestusb_dummyCCROM test Crashes in OmapUsbcGenericClientController::Connect 
  1814 	
  1815 3.	fabiangortz
  1816 	1.	MINOR_CHANGE: Change input parameter TUsbBusId to TUsbBus of UsbTransferMemoryRequirements class in 
  1817 		order to align it with the other methods of that class, remove references to TUsbBus
  1818 	2.	MINOR_CHANGE: Update/clarify documentation and in-source comments
  1819 
  1820 4.	TomCosgrove
  1821 	1.	DEFECT FIX: DEF134791: t_romtable.cpp should only use DebugPrintf() in UDEB builds
  1822 		h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
  1823 
  1824 5.	OliverStuart
  1825 	1.	DEFECT FIX: DEF134182: __crash() ought to be rewritten
  1826 		Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
  1827 	2.	DEFECT FIX: DEF134183: CountLeadingZeroes() should be rewritten
  1828 		Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
  1829 	3.	DEFECT FIX: PDEF135269: Performance: Unoptimized region handling by EUSER can cause hangs in Browser web
  1830 		Reimplementing TRegion::Tidy for higher performance and correcting memory allocation routines to respect granularity.
  1831 
  1832 6.	RyanHarkin
  1833 	1.	MINOR_CHANGE: add copyright header to NaviEngine Lauterbach scripts
  1834 
  1835 7.	patrickconway
  1836 	1.	DEFECT FIX: PDEF134602: User-side thread data causes bad memory access at thread kill time 
  1837 
  1838 
  1839 8.	MariamSood
  1840 	1.	DEFECT FIX: DEF133959: Eshell command can not support a large amount of files 
  1841 		Submitted in a seperate changelist-1507995
  1842 
  1843 9.	GavinCochrane
  1844 	1.	DEFECT FIX: DEF134765: EmptyRamZone error description is not enough
  1845 		Updates to commments to improve Doxygen documentation
  1846 
  1847 10.	jennyekelund
  1848 	1.	Milestone: Diran, GT0518, MS 3.4, DS.1516, PREQ2295: Traceability PREQ for changes to Saffron
  1849 		The UTrace API will be part of the Base tree such that it can be used in user mode only for this release.
  1850 		It adds a new kernel extention (UTraceOut), a new IBY file (e32utrace.iby) and new def files for related libraries. 
  1851 		Customers wishing to use the new API will need to include the e32utf.h file in their source 
  1852 		and e32utrace.mmh in their mmp file.
  1853 
  1854 11.	JonCo
  1855 	1.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10705: Kernel: Allow servers to make performance guarantees in a demand paged system
  1856 	2.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10706: Peripherals: Device driver migration for data paging
  1857 	3.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10708: Kernel: Productised data paging implementation
  1858 		Writeable data paging productised kernel submission
  1859 
  1860 12.	MiguelB
  1861 	1.	DEFECT FIX: DEF135390: ROM.PL doesn't return an error if ROFSBUILD fails
  1862 	2.	DEFECT FIX: DEF130212: btrace hangs when writing to mmc card 
  1863 	3.	DEFECT FIX: DEF134133: DP: Local media subsystem assumes demand paging buffer is physically contiguous 
  1864 
  1865 13.	RichardCo
  1866 	1.	DEFECT FIX: PDEF135173: Kernel needs workaround for ARM Cortex-A8 Eratta 447862
  1867 	2.	DEFECT FIX: DEF135559: SMP: SMP images with BTrace configured at rombuild time hang in bootstrap 
  1868 
  1869 14.	SebOlney
  1870 	1.	DEFECT FIX: PDEF134611: t_pipe times out intermittently on H2
  1871 		This fixes race conditions in the notification system of the pipe driver which are a
  1872 		potential problem on all platforms.
  1873 	2.	DEFECT FIX: PDEF134731: Error Code not handled from Kern::ThreadDesRead and Kern::ThreadDesWrite
  1874 	3.	MINOR_CHANGE: Stop t_pipe failing on integrator: don't close handles till test thread completes.
  1875 
  1876 
  1877 15.	VincentF
  1878 	1.	DEFECT FIX: DEF133783: [Coverity]-NULL_RETURNS,OVERRUN_STATIC,USE_AFTER_FREE,UNINIT-base/f32,base/e32
  1879 
  1880 
  1881 16.	DjordjeK
  1882 	1.	DEFECT FIX: PDEF135788: Performance issue with SyncMemoryBeforeDmaRead with WT cached memory
  1883 		Removed unnecessary cache purge of Write-Through DMA buffers prior DMA read.
  1884 
  1885 17. 	RyanHarkin
  1886 	1.	MINOR_CHANGE: Add export to direct memory model was missing from last change.
  1887 
  1888 18.	RichardCo
  1889  	1.	DEFECT FIX: PDEF134574: Race condition in Server IPC read/write
  1890  		Handling of IPC messages updated to eliminate several race conditions which are particularly
  1891  		likely to occur when data paging is in use.
  1892 
  1893 Version 2.00.1978
  1894 =================
  1895 (Made by George Sin 27/02/2009)
  1896 
  1897 1. RyanHarkin
  1898 	1.	DEFECT FIX: DEF135688: CBR stage errors due to multiowned files in M04870 vtb92
  1899 		naviengine.inc was generated by both multiple and flexible memory model builds of the NaviEngine BSP.
  1900 		Fixed this by generating the inc file into memory model specific directories
  1901 
  1902 
  1903 Version 2.00.1977
  1904 =================
  1905 (Made by JohnS 10/02/2009)
  1906 
  1907 1.	anujgupta
  1908 	1.	MILESTONE: Emin, GT0498, MS3.1, DS.1215, PREQ2035: Base Services: Prototype Accelerometer LDD.
  1909 		This Delivery Step aligns with Sensors TR 1.4.1 Core OS 2 transfer milestone.
  1910 		The LDD component will be will be part of the Base tree configured for building only in Emin 
  1911 		(vFuture) release builds. 
  1912 		It will add a new IBY file which will _not_ included into system files or GTCs. 
  1913 		Customers wishing to use the new component will need to #include it.
  1914 
  1915 2.	RyanHarkin
  1916 	1.	MINOR_CHANGE: updated NaviEngine BootLoader
  1917 	2.	MINOR_CHANGE: updated NaviEngine User Guide
  1918 	3.	MINOR_CHANGE: updated ARM BSP with latest ARM release
  1919 	4.	MINOR_CHANGE: make the NaviEngine do F32 tests on the MMC drive
  1920 
  1921 3.	SophieY
  1922 	1.	DEFECT FIX: PDEF135148: Guidance on required changes to coreloader for demand paging. 
  1923 
  1924 4.	MariamSood
  1925 	1.	PDEF134721: Put an assert in NTimerQ::Tick() 
  1926 
  1927 5.	VitalyR
  1928 	1.	MINOR_CHANGE: enable VRFB mode on OMAP_HRP
  1929 	2.	DEFEXT FIX: PDEF134646: ONB:? TDirect GCE fastpathing DSA on multiscreen
  1930 	3.	DEFECT FIX: PDEF135144: Emulator display code uses internal kernel API
  1931 
  1932 6.	ParameshwariB
  1933 	1.	DEFECT FIX: PDEF134753: Power Resource Manager - Nonsharable class should be instantiated from any DLL
  1934 
  1935 7.	colinward
  1936 	1.	DEFECT FIX: DEF133798: Missing support for ECamCaptureModeVideo with EUidPixelFormatSpeedTaggedJPEG
  1937 	2.	MINOR_CHANGE: Added a shared chunk camera driver template to the template base port.
  1938 
  1939 8.	VincentF
  1940 	1.	DEFECT FIX: DEF133782: [Coverity]-DEADCODE,DELETE_ARRAY,FORWARD_NULL,MISSING_BREAK,RESOURCE_LEAK,OVERRU
  1941 
  1942 9. MarkTai
  1943 	1.	DEFECT FIX: PDEF34675: Navieng fails to boot from NAND
  1944 		h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
  1945 
  1946 
  1947 
  1948 
  1949 Version 2.00.1976
  1950 =================
  1951 (Made by NicholasC 04/02/2009)
  1952 
  1953 1.	colinward
  1954 	1.	MINOR_CHANGE: Added e32/drivers/camerasc to x86/*.mbc
  1955 
  1956 2.	junwookkwak
  1957 	1.	MINOR CHANGE: Removed unused and not symbian related code from x86 pci driver.
  1958 	
  1959 3.	SteveElliott
  1960 	1.	DEFECT FIX: DEF133200: t_usb_device intermittently fails on mass storage test (mstore.uts).
  1961 		Improved error reporting and changes to the perl scripts.
  1962 
  1963 4.	frankhofmann
  1964 	1.	DEFECT FIX: DEF130207: bm_suite failing on integrator
  1965 		bm suite driver on integrator ported to post-SMP interrupt binding mechanism
  1966 
  1967 5.	JonCo
  1968 	1.	DEFECT FIX: DEF133806: Two unicode functions can corrupt heap
  1969 
  1970 6.	ReubenHarris
  1971 	1.	DEFECT FIX: DEF132163: Assertion failure in win32 ncsched.cpp 
  1972 	2.	DEFECT FIX: DEF133858: WINS[CW] emulator display paints incorrectly & causes access violations in gui32
  1973 
  1974 7.	AndrewHi
  1975 	1.	MILESTONE: Diran, GT0419, MS3.9, DS.1294 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
  1976 	2.	MINOR CHANGE: Add SMPSAFE to the new mmp files
  1977 
  1978 
  1979 
  1980 Version 2.00.1975
  1981 =================
  1982 (Made by Kai Duan 30/01/2009)
  1983 
  1984 1.	JohnSucksmith
  1985 	1. 	DEFECT FIX: DEF132795: Duplicated nanddefs2.h file in Unistore-II XSR code
  1986 		Remove duplicated header file. Apply other changes so that impacted code still builds. 
  1987 
  1988 2.	AttilaV
  1989 	1.	DEFECT FIX: DEF126733: H4 bootloader crashes if using OneNAND support but no OneNAND module is present
  1990 
  1991 3.	FadhliMustaffa
  1992 	1.	MINOR_CHANGE: Updated tags for Coverity Defects (Re: DEF131516)
  1993 	2.	DEFECT FIX: DEF133321: Profanities and typos in dev1 branch
  1994 	3.	DEFECT FIX: DEF133445: Improvement to RThread::Create documentation
  1995 
  1996 4.	colinward
  1997 	1.	DEFECT FIX: DEF129623: I2C driver crashes on first use after power on
  1998 		The 3430 I2C driver was crashing the first time it was used to access the Omnvision camera sensor after
  1999 		powering the board on.  This now fails gracefully and returns an error.  However, because it indicates a
  2000 		serious misconfiguration of the system, the cause of which not yet been determined, in UDEB builds it
  2001 		will fault the kernel with an error message
  2002 	2.	DEFECT FIX: DEF132119: t_camera_api test does not support saving RGB image data
  2003 	3.	MINOR_CHANGE: Fixed some camera test warnings that only happen under WINS.  Missed them first time around
  2004 		due to BTB being sick
  2005 	4.	DEFECT FIX: DEF133143: ecamerasc.ldd cannot handle a PDD that has 0 image, video or viewfinder formats
  2006 	5.	MINOR_CHANGE: Added e32/drivers/camerasc to tiomap3/variant/34xx_sdp/armv5.mbc
  2007 	6.	MINOR_CHANGE: Updated comments pertaining to TSoundFormatsSupportedV02::iRequestAlignment for clarity
  2008 
  2009 5. VitalyR
  2010 	MILESTONE: Sphinx, GT0339, MS3.24, DS.1495 CR1303 Board Support Improve LCD Driver performance
  2011 
  2012 6.	StephenM
  2013 	1.	DEFECT FIX: DEF133114: DRamAllocator reserved page locking leads to MMUBASE FAULT
  2014 
  2015 7.	TomCosgrove
  2016 	1.	DEFECT FIX: DEF133318: Obsolete ":LOR: CFG_ARMV7" condition in bootcpu.inc
  2017 		Remove useless ":LOR: CFG_ARMV7" from the end of an IF statement that is itself
  2018 		within the ELSE of a "IF CFG_ARMV7".
  2019 	2.	MINOR_CHANGE: Remove unnecessary emphasis in comments regarding hardcoded constants in FMM mmboot.h
  2020 	3.	MINOR_CHANGE: Fix mis-spelling of Symbian in e32/drivers/pbus/mmc/sdcard/sdcard3c/sdio/sdiocard.cpp
  2021 
  2022 8.	SebOlney
  2023 	1.	MINOR_CHANGE: Modify documentation for Kern::MutexWait() to emphasise the need for a user thread
  2024 		to remain in critical section for as long as it holds mutex.
  2025 
  2026 9.	MarkTa
  2027 	1.	DEFECT_FIX: PDEF133116: Incorrect ODP architecture 7 32bit BL fault
  2028 		Change exception vectors to set fault address to DFAR on data abort or on 
  2029 		prefetch abort to IFAR if exists or the return address if it doesn't.
  2030 
  2031 10.	RichardCo
  2032 	1.	DEFECT FIX: DEF133347: evfpv3 kernel extension is useless and misleading 
  2033 		Deleted the evfpv3 kernel extension as current VFPv3 hardware does not require it and it
  2034 		is unknown whether it will function correctly for hypothetical future hardware which does.
  2035 	2.	DEFECT FIX: DEF131665: Deadlock situation when Demand Paging is enabled
  2036 		Fix potential kernel crash in RProperty::Set (note: not a deadlock or specific to demand paging)
  2037 	3.	DEFECT FIX: DEF133760: NThread::ResetUserContextType clears too many states 
  2038 		Fixes tiny possibility of hardware debugger reading/writing the wrong part of the stack when using
  2039 		Symbian awareness.
  2040 	
  2041 11. RajivM
  2042 	1.	DEFECT FIX: DEF133183: H6 Doesn't support restart with mode 
  2043 
  2044 12.	junwookkwak
  2045 	1.	MINOR CHANGE: Tagged intensional some coverity defects. (ref: DEF131478)
  2046 
  2047 13.	kathrynthomas
  2048 	1.	DEF126984: Problems with DUsbInterface::CancelPermitSuspend  (BR2609)
  2049 	2.	DEF127668: Module jetest.c fails to compile 
  2050 	3.	DEF129343: t_usbdi test case 0494 sends and receives unexpected data 
  2051 	4.	DEF130515: OPT Test TD.4.10 fails to provide expected error message 
  2052 	5.	DEF130937: DUsbDevice::Detach closes USBDI channel brutally 
  2053 	6.	DEF131695: USB Host DFC queue tdfcq is not shutdown properly causing a thread leak 
  2054 	7.	DEF130153: [USB Host/OTG Stack]OPT test 5.4-2.9ms fails on second attempt 
  2055 
  2056 14.	MiguelB
  2057 	1.	DEF133542: Coverity issues in data-paging local media code 
  2058 	2.	DEF133801: DMA-ing into file server's directory cache does not update descriptor length 	
  2059 	3.	DEF133852: T_DRTAEABI no longer compiles in release mode
  2060 
  2061 15.	SushmitaR
  2062 	1.	DEF132982: t_ramdefrag test failure on h2 udeb page builds 
  2063 		Ensure that if the setup fails then that particular test should skip.
  2064 		Ensure that the test, when getting the 'best' zone, takes into account fixed pages
  2065 		
  2066 16.	fabiangortz
  2067 	1.	DEFECT FIX: DEF133618: s_to_result_t() returns incorrect code for default case
  2068 
  2069 
  2070 17.	frankhofmann
  2071 	1.	DEFECT FIX: DEF133546: DMmcMediaDriverFlash::Request() fails to cleanup in a specific error case
  2072 
  2073 18.	NavneetS
  2074 	1.	DEFECT FIX: DEF133136: Network related tests panics on H6 board with M04797 build. 
  2075 
  2076 
  2077 
  2078 Patch to Version 2.00.1974
  2079 ==========================
  2080 (Made by patrickconway 30/01/2009)
  2081 
  2082 1.	patrickconway
  2083 	1.	DEFECT FIX: DEF133823: [System Build] : CBR errors and warnings in M04833 v9.6 build 	
  2084 
  2085 
  2086 Patch to Version 2.00.1974
  2087 ==========================
  2088 (Made by patrickconway 29/01/2009)
  2089 
  2090 1.	patrickconway
  2091 	1.	DEFECT FIX: DEF133788: [System Build] : CBR error stage due to Unistore in M04831v9.6
  2092 
  2093 
  2094 Version 2.00.1974
  2095 =================
  2096 (Made by DeleOgunjumelo 15/01/2009)
  2097 
  2098 1.	HenryGrant
  2099 	1.	DEFECT FIX: DEF131543:  [Coverity]-UNINIT,REVERSE_INULL,NEGATIVE_RETURNS,MISSING_BREAK,FORWARD_NULL,CHEC
  2100 		Also fixed by Fadhli Mustaffa (CL-1467886).
  2101 	2.	DEFECT FIX: DEF131516: [Coverity]-UNINIT,MISSING_BREAK,DEADCODE -generic/base/template
  2102 		CIDs: 1964, 1962, 1961, 1960, 1959, 1954	
  2103 
  2104 2.	InderpalSingh
  2105 	1. 	DEFECT FIX: DEF132377: Failed to get control transfers larger than 64 bytes on Fibula driver
  2106 
  2107 3.	JohnSucksmith
  2108 	1. 	DEFECT FIX: DEF132762: Unistore-II / XSR 1.5 media driver setting wrong caps.iBlock value
  2109 		In some situations the wrong setting may lead to poorer performance.
  2110 	2.	MINOR_CHANGE: Remove erroneous comment from Unistore-II bld.inf file
  2111 
  2112 4.	AttilaV
  2113 	1. 	DEFECT FIX: DEF123263: Unable load ROM Image from MMC generated by ROM tool with -compress parameter
  2114 
  2115 5.	indrajeetsingh
  2116 	1. 	DEFECT FIX: PDEF132187: unistore 2 test media driver not built in customer release
  2117 
  2118 6.	georgiosdementis
  2119 	1.	DEFECT FIX: DEF131903: WDP: Display driver issues when using TV out on H4
  2120 	2.	DEFECT FIX: DEF132700: SMP: NavEngine does not boot with Multicore image  
  2121 
  2122 7.	RajivM
  2123 	1. 	DEFECT FIX: DEF132879: RPipe::Init() fails.
  2124 
  2125 8.	JonCo
  2126 	1.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10703: Kernel: Support demand paging of user data
  2127 	2.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10700: Peripherals: Change local media subsystem to support data paging
  2128 	3.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10701: Peripherals: Support data paging from NAND flash devices
  2129 	4.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10702: Peripherals: Support data paging from internal MMC devices
  2130 	5.	INTERFACE CHANGE: BR2644.1 Change behaviour of TBusLocalDrive::ControlIO()                                                              
  2131 	6.	INTERFACE CHANGE: BR2645.1 Change behaviour of TLocDrvRequest::RemoteDes()                                                                  
  2132 	7.	INTERFACE CHANGE: BR2647.1 Change behaviour of TLocDrvRequest::ReadRemote(const TAny* aSrc, TDes8* aDes)   
  2133 	8.	INTERFACE CHANGE: BR2578.1 Deprecation of existing Kern::RequestComplete method
  2134 	9.      INTERFACE CHANGE: BR2560.1 Extend Power Resource Manager to provide additional power information and adding new resource pool
  2135 		PREQ1954 Writeable data paging: prototype release
  2136 
  2137 9.	JenniferH
  2138  	1.	DEFECT FIX: DEF132319: Techview not booting on Naviengine, with SMP and Code Paging.
  2139 
  2140 Version 2.00.1973
  2141 =================
  2142 (Made by fabiangortz 07/01/2009)
  2143 
  2144 1.	TomCosgrove
  2145 	1.	MINOR_CHANGE: Fix test.Panic() call in e32test/thread/t_killer.cpp that should have
  2146 		been test.Printf() (it prints the reason for the test.Panic() call on the next line).
  2147 	2.	DEFECT FIX: DEF132655: T_DEMANDPAGING failed on H4HRP.ARMV5.UREL.PAGE during MCL release
  2148 		Mark T_LAT2 as UNPAGED so that it won't upset T_DEMANDPAGING.
  2149 
  2150 2.	BhaskarReddy
  2151 	1.	DEFECT FIX: DEF131440: NotificationCaps is not defined in H4 serial port driver
  2152 
  2153 3.	DjordjeK
  2154 	1.	DEFECT_FIX: PDEF132657: WTRA-type cache should not be purged in SyncMemoryBeforeDmaRead
  2155 		The fix resolves performance issue of Write-Through DMA Buffers on H/W with L2 cache.
  2156 	2.	DEFECT FIX: DEF131469: 	Serial Driver PDD on NaviEngine can cause temporary lockup of system
  2157 		The bug caused networking tests to fail. 
  2158 
  2159 4. 	MarkTa
  2160 	1.	DEFECT FIX: DEF129871: T_PAGELDRTST failing on all platforms
  2161 		Ensure d_exc is included in all automatic roms that run t_pageldrtst and
  2162 		manual roms that can run t_pageldrtst.
  2163 	2.	DEFECT FIX: DEF128787: 	Misleading documentation for umemget/umemput etc functions
  2164 		Update documentation to recommend Kern::ThreadRawRead/Write when caller is in a critical section
  2165 
  2166 5.	colinward
  2167 	1.	DEFECT FIX: DEF131260: there seems to be a lot of duplicated classes, structs etc in base (mainly usb)
  2168 
  2169 6.	junwookkwak
  2170 	1.	DEFECT FIX: PDEF132434: Emulator width issue 
  2171 		Now width and height of emulator screen became multiple of 4 pixels even when it is not in proper size.  
  2172 
  2173 		
  2174 Version 2.00.1972
  2175 =================
  2176 (Made by JessieZhang 02/01/2009)
  2177 
  2178 1.	gopakumarmp
  2179 	1.	MILESTONE: Emin, GT0498, MS3.3, DS.1363, PREQ2037: Prototype Proximity LDD
  2180 		The LDD component will be part of the Base tree and will be configured for
  2181 		building in Emin (vFuture) release builds. It will add a new IBY file that
  2182 		will _not_ be included into system files or GTCs. Customers wishing to use
  2183 		the new component will need to #included it.
  2184 
  2185 2.	fabiangortz
  2186 	1.	MINOR_CHANGE: Re-categorise trace print to KUSB rather than KPANIC, as the
  2187 		trace print is an indicative warning rather than a panic condition.
  2188 
  2189 3.	JessieZhang
  2190 	1.	DEFECT FIX: DEF131525: [Coverity]-UNINIT,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,CHECKED_RETURN-b
  2191 
  2192 4.	SteveElliott
  2193 	1.	MINOR_CHANGE: Removed files from t_usb_win application to prevent possible
  2194 		infringement of copyright. Also correction for fault with communication of
  2195 		host test failure to device.
  2196 
  2197 5.	ExtRajeswarir
  2198 	1.	DEFECT FIX: DEF131165: var_reboot_module.h is not exported to \epoc32\include\tiomap3 folder
  2199 		var_reboot_module.h and variant_norflash_layout.h are now exported to /epoc32/include/tiomap3/variant/34xx_sdp folder.
  2200 
  2201 6.	InderpalSingh
  2202 	1.	DEFECT FIX: DEF132258: H4 Variant.mmh missing MONITOR_THREAD_CPU_TIME
  2203 
  2204 7.	William Yu
  2205 	1.	MINOR CHANGE [Project Loki]: Remove the file UnicodeData-3.0.0.txt
  2206 
  2207 8.	SivashankarN
  2208 	1.	DEFECT FIX: DEF131519: [Coverity]-UNUSED_VALUE,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,DELETE_ARR
  2209 
  2210 9.	TomCosgrove
  2211 	1.	DEFECT FIX: INC130537: stack balancing for Symbian DEF126209
  2212 		Provide new exports __ArmVectorIrqPostambleNoResched and __ArmVectorFiqPostambleNoResched
  2213 		that implement non-rescheduling Irq and Fiq postambles.
  2214 
  2215 
  2216 Version 2.00.1971
  2217 =================
  2218 (Made by LukaszForynski 19/12/2008)
  2219 
  2220 1. VitalyR
  2221 	1.	DEFECT FIX: DEF131431: Opening two RDisplayChannel connections causes kernel fault on H4. 
  2222 
  2223 2.	MiguelB
  2224 	1.	DEFECT FIX: DEF131892: High speed clock is enabled too early in power-up sequence for MMC V4.X cards
  2225 
  2226 3.	SushmitaR
  2227 	1.	DEFECT FIX: DEF131629: T_RAMDEFRAG test failed on the Merge branch
  2228 		Ensure test sets up memory properly before checking for pass/fail
  2229 
  2230 4.	NavneetS
  2231 	1.	DEFECT FIX: DEF131923: HAS_ETHERNET is not defined for 3430 (H6) techview.
  2232 		Defined HAS_ETHERNET Macro in h4.oby.
  2233 
  2234 5.	patrickconway
  2235 	1.	DEFECT FIX: PDEF129773: Why does User::LeaveIfNull() does not take a const TAny*?
  2236 		Add an inline wrapper for User::LeaveIfNull() to check pointers to const objects
  2237 
  2238 6.	MarkTa
  2239 	1.	DEFECT FIX: DEF131214: Floating point binary<->decimal conversions are not sufficient for IEEE754 
  2240 		Increase the number of digits read by TLex::Val() when parsing real numbers.
  2241 
  2242 7.	RichardCo
  2243 	1.	MINOR_CHANGE: Mark more binaries as SMPSAFE
  2244 
  2245 8.	RyanHarkin
  2246 	1.	MINOR_CHANGE: file NaviEngine NAND policy files from Cat T to Cat E
  2247 
  2248 9.	SharathK
  2249 	1.	DEFECT FIX: DEF131717: IPR not defined for base_naviengine_flexible
  2250 
  2251 10.	AnatolyP
  2252 	1.	DEFECT FIX: DEF128713 [Coverity]-FORWARD_NULL-base/e32
  2253 
  2254 11.	TomCosgrove
  2255 	1.	DEFECT FIX: DEF130069: nk_cpu.h is missing a ; in FLUSH_ICACHE
  2256 		Remove ; from the end of the definition of CPSgen(), and
  2257 		add ; to the end of all usages of CPSIDAIF (etc.) in e32/.
  2258 	2.	MINOR_CHANGE: Update e32test/mmu/d_sharedio.cpp:CheckMemCleared() to dump
  2259 		out memory and say exactly where it fails (if it does).
  2260 
  2261 12.	ExtRajeswariR
  2262 	1.	Milestone: Diran, GT0419, MS3.15, DS.1460 OMAP3430 BSP
  2263 		Requirements: PREQ2033 Cortex A8 BSP
  2264 		Other:
  2265 		During submission, in "other risks" submission, must mention about the supporting file submission
  2266 		required to be made by the integration team. Files to be modified are
  2267 		"//EPOC/master/cedar/product/tools/Symbian_OS_v9.6_bin
  2268 		//EPOC/master/common/generic/utils/mcl_dirs.lst", for TBAS T12177, changes had been done
  2269 		to these 2 files as part of changelist:1441555, this can be used as reference
  2270 
  2271 	2.	DEFECT FIX : DEF130936: 3430 keypad driver does not perform on demand crashing
  2272 
  2273 13.	LukaszForynski
  2274 	1.	MINOR_CHANGE: NaviEngine SoundPDD: More updates to the driver:
  2275 		- restructured the driver (got rid of separate Tx and Rx, which were very simmilar-creating a common one)
  2276  		- fixed some SMP problems
  2277 		- updated I2S for missing #ifdefs
  2278 
  2279 14.	RichardCo
  2280 	1.	MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
  2281 		NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
  2282 		In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
  2283 		the process it is loaded into to execute only on core 0.
  2284 
  2285 15.	JonCo
  2286 	1.	DEFECT FIX: DEF131524: SMP: Taking a page fault accessing aliased memory crashes the system 
  2287 
  2288 17.	VincentF
  2289 	1.	DEFECT FIX: DEF131549: [Coverity]-RESOURCE_LEAK,OVERRUN_STATIC,NULL_RETURNS,MISSING_BREAK,FORWARD_NULL,
  2290 
  2291 
  2292 Version 2.00.1970
  2293 =================
  2294 (Made by DmitryL 11/12/2008)
  2295 
  2296 1.	TomCosgrove
  2297 	1.	MINOR_CHANGE: Fix grammar in doc comments in e32/euser/us_ksvr.cpp
  2298 	2.	DEFECT FIX: PDEF131503: OpenVG: WINS Emulator failed to start
  2299 		Use memory protection PAGE_EXECUTE_READWRITE for EUserSelfModCode chunks, but
  2300 		keep PAGE_READWRITE for all other types.
  2301 	3.	DEFECT FIX: PDEF131632: Paging info in TRomHeader should be PublishedPartner.
  2302 		Change iPageableRomStart and iPageableRomSize from @internalTechnology, @prototype
  2303 		to @publishedPartner, @released.
  2304 	4.	DEF130498: Bug in TDfcQue::ThreadFunction
  2305 		Update the documentation to warn against allowing Cancel() to run concurrently with the
  2306 		DFC function if the DFC function accesses the DFC object.  This is sufficient to prevent
  2307 		the race described in the defect.
  2308 
  2309 2.	colinward
  2310 	1.	DEFECT FIX: DEF131248: Some H6 .mmp files cause warnings with Carbide
  2311 
  2312 3.	colinward
  2313 	1.	DEFECT FIX: DEF130894: 3420 board crashes after sound driver changes
  2314 
  2315 4.	RyanHarkin
  2316 	1.	MINOR_CHANGE: Add copyright headers to GPIO implementation for NaviEngine
  2317 	2.	MINOR_CHANGE: update copyright headers for NaviEngine BSP
  2318 
  2319 5.	MarkTa
  2320 	1.	DEFECT FIX: PDEF131402: DataAbort in DMemModelChunk::Close()
  2321 		Remove race condition in chunk closure by removing the chunk from the process before 
  2322 		decrementing the reference count.
  2323 
  2324 6.	MichaelP
  2325 	1.	DEFECT FIX: DEF131564: USB Client: Some OTG changes needed
  2326 		A) Changed the USB Client PDD such that the OTG-capable PIL (i.e. with
  2327 		USB_OTG_CLIENT defined) does its VBus-related state transitions now based
  2328 		solely on the Enable/Disable notifications from the Dummy DCD, whereas the
  2329 		client-only PIL solely uses the USB cable Connect/Disconnect notifications
  2330 		from the PSL to that purpose.
  2331 		B) Changed in-source comment for pure virtual function
  2332 		DUsbClientController::UsbConnectionStatus() such that it now reads:
  2333 		"@return ETrue if the device is connected (via the USB cable) to a USB
  2334 		host, EFalse if not. In the case of a PSL for an OTG-enabled Client PDD
  2335 		(USB_OTG_CLIENT is #defined) this function should always return ETrue."
  2336 
  2337 7.	fabiangortz
  2338 	1.	MILESTONE: Diran, GT0364, MS3.2.4, DS.1393 USB Host for the NaviEngine. This includes 
  2339 		PCI driver. PREQ1994: USB Host on the NaviEngine
  2340 	2.	DEFECT FIX: DEF129515: SMP: UsbHost on navie engine will not build for SMP
  2341 	3.	DEFECT FIX: DEF129997: t_usbdi test cases are failing on NaviEngine
  2342 	4.	MINOR CHANGE: Restore ##BASEPATH## macro for data paths
  2343 	5.	MINOR_CHANGE: Removed usb host tests as they should be only in t_usbdi.oby
  2344 	6.	MINOR_CHANGE: Updated document, version and status
  2345 
  2346 8. VitalyR
  2347 	1. MINOR_CHANGE: Enable 3430 labrador variant ROM build
  2348 
  2349 9.	SebOlney
  2350 	1.	DEFECT FIX: DEF125329: t_pipe fails intermittently on integrator 
  2351 		Replaced use of delays with semaphores and notifications in test code.
  2352 		Added many error code checks.
  2353 		Replaced several occurrences of thread kills with logons 
  2354 
  2355 10.	AttilaV
  2356 	1.	DEFECT FIX: DEF131441: [Coverity]-OVERRUN_STATIC-base/ubootldr/display.cpp
  2357 	2. 	DEFECT FIX: DEF131442: [Coverity]-OVERRUN_STATIC-base/omap/assp/1610/dma.cpp
  2358 
  2359 11.	VincentF
  2360 	1.	DEFECT FIX: DEF131455: [Coverity]-UNUSED_VALUE,UNINIT,RETURN_LOCAL,NEGATIVE_RETURNS,MISSING_BREAK-base/
  2361 
  2362 12.	ReubenH
  2363 	1.	MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.
  2364 
  2365 13.	JessieZhang
  2366 	1.	DEFECT FIX: DEF130918: [Coverity]-SYMBIAN.CLEANUP_STACK -base/omap_hrp,e32/drivers,f32/scomp,f32/sfat32 
  2367 	
  2368 14.	LaurentiuMerlas
  2369 	1.	Milestone: Sphinx, GT0382 MS3.66, DS 1451 PREQ2102 Dynamic Resolution Switching
  2370 		Phase 2 submission to Base. Support for fast path for dynamic resolution switching
  2371 
  2372 15.	LukaszForynski
  2373 	1.	MINOR_CHANGE: NaviEngine SoundPDD: Fixed problem reported by the MM team and potential SMP problems.
  2374 
  2375 
  2376 Version 2.00.1969
  2377 =================
  2378 (Made by AnatolyP 04/12/2008)
  2379 
  2380 1.	RyanHarkin
  2381 	1.	MINOR_CHANGE - updated NaviEngine MBC scripts to build Flexible Memory Model and made a few cosmetic
  2382 			changes to the output filenames.
  2383 
  2384 2.	LukaszForynski
  2385 	1.	MINOR_CHANGE: NaviEngine BSP: Updated DMA PSL.
  2386 	2.	MILESTONE: Diran GT0364 - SMP MS3.2.2 (DS1212) PREQ 1994: ARM11 MPCore SMP BSP Enhanced features delivery: Audio Driver
  2387 
  2388 3.	AnatolyP	
  2389 	1.	MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410	PREQ1945: SMP kernel prototype support for Cortex A9 processor
  2390 	2.	MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439	PREQ1945: Prototype Run Mode Debug
  2391 	3.	MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419)	PREQ1994: ARM11 MPCore SMP BSP: NAND 
  2392 	4.	INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg
  2393 
  2394 
  2395 Version 2.00.1968
  2396 =================
  2397 (Made by AnatolyP 02/12/2008)
  2398 
  2399 1.	TomCosgrove
  2400 	1.	MINOR_CHANGE: Add missing 'f' to correct spelling of 'shift' in klib/arm/cbma.cia.
  2401 
  2402 2.	JonathanM
  2403 	1.	DEFECT FIX: DEF131031: SMP: DPager 0 panic
  2404 		This fixes race conditions in the itteration of kernel containers by Notifiers,
  2405 		Undertakers and BTrace priming. These now open objects before using them to ensure
  2406 		that they aren't partially deleted. Also updates to AsyncClose and AsyncDelete
  2407 		so that they are always asynchronous, even if called withing the supervisor thread.
  2408 
  2409 3.	NeilClifford
  2410 	1.	MINOR_CHANGE: SD 2.0 Compliance Documentation
  2411 
  2412 4.	DjordjeK
  2413 	1.	DEFECT FIX: DEF126046: Buffer passed to DMA sync methods must be cache-line aligned
  2414 		Added Kernel interface that returns required memory alignement for DMA buffers.
  2415 		
  2416 5.	MichaelCox
  2417 	1.	DEFECT FIX: DEF130317: RDisplayChannel::GetDisplayInfo returns incorrect result if parameter is a TPckg 
  2418 		Descriptors not being copied correctly by displayldd for emulator when using pointer based descriptor.
  2419 
  2420 6.	chenqin
  2421 	1.	CHANGE REQUEST: Development CR RPAR-7GZHMX Add support for the new startupmode 8 (minigui)
  2422 
  2423 7.	SebOlney
  2424 	1.	DEFECT FIX: DEF129186: Building Base and E32Tests with RVCT 3.1
  2425 		- Added e32/kernel/array_eabi.cpp which changes implementation of
  2426 		the various vector new and delete functions for kernel side to fix
  2427 		OOM bug in supplied library.
  2428 		- Various fixes for RVCT 3.1 build errors in production code,
  2429 		warnings to be fixed in subsequent defect. 
  2430 	2.	MINOR_CHANGE Revert changes made in DEF129186 to loader test
  2431 		- Don't replace __MODULE_EXPORT with EXPORT_C
  2432 
  2433 8.	RajivM
  2434 	1.	DEFECT FIX: DEF131107: Rpipe Close()read&write handles notfreeing mem allocated in individual iteration.
  2435 		Released the memory in the destructor of the pipe instance.
  2436 	2.	DEFECT FIX: DEF130888: Mismatch in IPR between distribution policy and base_tiomap3.mrp file 
  2437 		Changed the categorisation level from T to E in the distribution.policy file
  2438 
  2439 9.	NavneetS
  2440 	1.	DEFECT FIX: DEF130731: Ethernet macro HAS_ETHERNET not added to 34xx_sdp.oby.
  2441 		Defined the USE_ETHERNET Macro in header.iby. 
  2442 
  2443 10.	colinward
  2444 	1.	DEFECT_FIX: DEF130480: Problems with resuming with shared chunk driver on emulator
  2445 
  2446 
  2447 11. VitalyR
  2448 	1.  DEFECT FIX: DEF122317: Error in GCE driver when calling DeregisterUserBuffer() on a posted buffer.
  2449 	2.  DEFECT FIX: DEF130904: IPR category for base_e32_drivers_display?
  2450 
  2451 12.	junwookkwak
  2452 	1.	Milestone: Sphinx, GT0339 MS3.41, DS 1402 EI0004 Removal of ARM Abort code handler
  2453 		Removed ARM Abort code handler which only needs for Processors implementing the 'Base Register Updated' Abort Model.
  2454 		Removed bld.inf files of series mx5 which is not supported any more.
  2455 
  2456 	
  2457 13.	RyanHarkin
  2458 	1.	MINOR_CHANGE: updated NaviEngine Lauterbach scripts to use ARM11MPCORESMP4 cpu type and debug in SMP mode
  2459 
  2460 
  2461 Version 2.00.1967
  2462 =================
  2463 (Made by indrajeetsingh 27/11/2008)
  2464 
  2465 1.	junwookkwak
  2466 	1.	DEFECT FIX: DEF130474: Error in TDfc::Cancel doxygen.
  2467 		Updated doxygen documents.
  2468 
  2469 2.	stephenroberts
  2470 	1.	MILESTONE: Saffron, GT0441, MS3.1.1, DS840: PREQ1700: Development Tools: Add new kernel crash monitor and extend debug device driver
  2471 	2.	BREAK REQUEST: BR2588.1: Extend Publish Kernel CrashFlash interface
  2472 
  2473 3.	SimonTrimmer
  2474 	1.	DEFECT FIX: DEF131072: NaviEngine reports different screen dimensions to previous HRPs
  2475 		Workaround for groups that have test code that depends on screen dimensions being the same as H4
  2476 		Added support for a 320x240 16bpp screen mode that has a large offset between lines (stride)
  2477 		This graphics mode can be enabled at run time by setting dip switches DSW1 switches 7 and 8 ON
  2478 
  2479 4.	laurentiu-catalinmer
  2480 	1.	MILESTONE: Sphinx, GT0382, MS3.65, DS1418, PREQ2102: Base: Dynamic Resolution Switching
  2481 
  2482 5.	SebOlney
  2483 	1.	MINOR_CHANGE: Properly comment out #endif tag in euser.mmh
  2484 
  2485 6. 	DaveGordon
  2486 	1.	DEFECT FIX: DEF130150: NKern::ThreadSetUserContext allows changing mode, domain access
  2487 
  2488 7.	ToniaCampbell
  2489 	1.	MINOR_CHANGE: Updated Base Functional Spec
  2490 
  2491 8.	RyanHarkin
  2492 	1.	MINOR_CHANGE: Added NaviEngine BootLoader ROMs to BSP tools directory
  2493 
  2494 9.	MichaelCox
  2495 	1.	DEFECT FIX: DEF129523: vector operator new is not declared properly
  2496 
  2497 10.	TomCosgrove
  2498 	1.	MINOR_CHANGE: Fix typo in doc comment on TDfc::RawAdd() in e32/nkern/dfcs.cpp (and .cia version)
  2499 		s/no checks orare performed/no checks are performed/
  2500 
  2501 11.	indrajeetsingh
  2502 	1.	CHANGE REQUEST: Development CR ANDN-7H9CQV: Peripherals, GT0339 Base Meteora, Kernel, GT0339 Base Meteora, PREQ1226 new derived HAL  attributes simulation on H4
  2503 
  2504 12. 	AndreiMironenko
  2505 	1.	DEFECT FIX: DEF128861: [Coverity]-base/e32/drivers/usbc/
  2506 		Coverity issues fixing, CID 1616, CID 1617.
  2507 		Claim for negative return marked as "Intentional", the negative array index value
  2508 		was guarded by __ASSERT_DEBUG macro. 
  2509 
  2510 13. 	LukaszF
  2511 	1.	DEFECT FIX: DEF130677 NaviEngine BSP contains obsolite sound driver
  2512 		- removed sources and deletes entries in iby files.
  2513 
  2514 14.	DjordjeK
  2515 	1.	DEFECT FiX: INC130449 Kernel does not handle ARM1136 ERRATA 317041
  2516 		This errata is relevant only if both the following conditions are met:
  2517 			- It is arm1136 core, r0p2 revision.
  2518 			- L2 (either L210 or L220) cache controller is present.
  2519 
  2520 15.	MichaelP
  2521 	1.	MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
  2522 
  2523 16.	SteveElliott
  2524 	1.	DEFECT FIX: DEF129872 T_USB_SCDEVICE.EXE failing
  2525 		Changes to t_usb_device, t_usb_scdevice, and t_usb_win to provide test synchronisation between client and host.
  2526 		Also minor improvements to massstorage tests and changing detached process t_idlecounter to a thread.
  2527 
  2528 17.	VincentF
  2529 	1.	DEFECT FIX: DEF128859: [Coverity]- base/e32/drivers/resourceman/
  2530 
  2531 18.	colinward
  2532 	1.	MINOR_CHANGE: Tidied up some debug output in the e32test/multimedia/t_camera_api test that was accidentally left
  2533 		in incorrectly in the PREQ 1512 submission.
  2534 
  2535 Version 2.00.1966
  2536 =================
  2537 (Made by SivashankarN 14/11/2008)
  2538 
  2539 1.	GeorgeSin
  2540 	1.	DEFECT FIX: DEF128720: [Coverity]- NULL_RETURNS-base/e32/drivers 
  2541 		Have fixed 2 coverity NULL_RETURNS issues.
  2542 
  2543 2.	colinward
  2544 	1.	DEFECT FIX: DEF128903: Sound tests lack kernel and user heap checking
  2545 
  2546 3.	JessieZhang
  2547 	1.	DEFECT FIX: DEF128716: [Coverity]-FORWARD_NULL-base/e32
  2548 
  2549 4.	MichaelP
  2550 	1.	MINOR_CHANGE: Fixed typo in ps_usbc.cpp.
  2551 
  2552 5.	TomCosgrove
  2553 	1.	MILESTONE: Oregano, GT0392, MS3.6.2, DS1387, CR1526: Additional Btrace enumeration for callstack
  2554 		Add additional BTrace THeap enumeration value to be used by DevTools' memory debug tools (from TCL).
  2555 
  2556 6.	DjordjeK
  2557 	1.	MINOR_CHANGE: NaviEngine baseport: SD Card Read & Write operations now use DMA.
  2558 
  2559 7.	junwookkwak
  2560 	1.	DEFECT FIX: PDEF130166: Improve User::FastCounter() in-source doc to discourage use in production code
  2561 		Updated doxygen comment of User::FastCounter() to discourage using it.
  2562 
  2563 
  2564 Version 2.00.1965
  2565 =================
  2566 (Made by DaveGordon 12/11/2008)
  2567 
  2568 1.	GeorgeSin
  2569 	1.	DEFECT FIX: DEF128871: [Coverity]- base/omap/
  2570 		Have fixed 2 coverity deadcode issues.
  2571 
  2572 2.	colinward
  2573 	1.	DEFECT FIX: DEF129584: 3430 BSP includes obsolete sound driver
  2574 
  2575 
  2576 3.	dougsteel
  2577 	1.	MILESTONE: Diran, GT0419, MS3.11.1, DS1404: PREQ2130: GPIO device driver helper API: Template Port
  2578 		REQ11335: Documentation
  2579 
  2580 
  2581 Patch to Version 2.00.1964
  2582 =================
  2583 (Made by patrickconway 11/11/2008)
  2584 
  2585 1.	DanH
  2586 	1.	DEF130221: [System Build]:Rom errors due to gpio.dll not present in rom in M04749 vFuture
  2587 
  2588 2.	AndreasP
  2589 	1.	DEF130223: [System Build]:Export of base_e32_drivers_camerasc failed in M04749 vFuture
  2590 
  2591 
  2592 Version 2.00.1964
  2593 =================
  2594 (Made by patrickconway 10/11/2008)
  2595 
  2596 1.	DanH
  2597 	1.	DEFECT FIX: DEF129524: SMP: Ethernet and other drivers missing from naviengine iby file for Techview
  2598 
  2599 2.	ExtRajeswariR
  2600 	1.	DEFECT_FIX: DEF129042: [SMP] - H4 techview iby files to not allow easy configuration of the FMM 
  2601 
  2602 3.	georgiosdementis
  2603 	1.	DEFECT_FIX: DEF130002: [SMP] Kern::Printf left in baseport code for NaviEngine GCE
  2604 
  2605 4.	TomCosgrove
  2606 	1.	DEFECT FIX: DEF129969: hal\rom\hal.hby missing 10 attributes as defined in hal_data.h
  2607 		Add extra values to hal.hby and t_newhal.cpp, and update t_newhal.cpp to
  2608 		detect when its list is out-of-date.
  2609 	2.	MINOR_CHANGE: It's Symbian, not Symbain.
  2610 		Fix company name in comment in e32/include/e32cmn.h.
  2611 	3.	MINOR_CHANGE: Fix a couple of "the is" typos in comments.
  2612 
  2613 5.	colinward
  2614 	1.	MILESTONE: Diran,GT0419,MS3.4,DS1139: PREQ1512: Simplify Camera Hardware Adaptation
  2615 
  2616 6.	chrism
  2617 	1.	MILESTONE: Sphinx,GT0382,MS3.23,DS1395: PREQ2098: Enable memory-efficient DSA
  2618 		Change the internal implementation of the display_channel for Emulator to use the new HAL API
  2619 		introduced by REQ10721 earlier as part of Graphics PREQ2098.
  2620 
  2621 7.	RobertJ
  2622 	1. 	MINOR_CHANGE: Changed Copyright message on e32test\ethernet\pump\etherpump.cpp
  2623 
  2624 
  2625 Version 2.00.1963
  2626 =================
  2627 (Made by RichardCo 04/11/2008)
  2628 
  2629 1.	Michael Mo
  2630 	1.	DEFECT FIX: DEF129638 - 34xx_sdp should have COM3 point at Quad UART port A
  2631 		Revert changes made whilst issues with the Quad UART were not resolved. Now
  2632 		COM3 points to Quad UART port A instead of Omap UART 3.
  2633 	2.	MINOR_CHANGE: Correct whitespace in 34xx_sdp bootstrap assembler
  2634 
  2635 2.	GeorgeSin
  2636 	1.	DEFECT FIX: DEF128865: [Coverity]- base/e32/ewsrv/
  2637 		I have fixed the issues as seen by Coverity. Small changes to code. 
  2638 
  2639 3.	JessieZhang
  2640 	1.	DEFECT FIX: DEF128715: [Coverity]-FORWARD_NULL-base/e32
  2641 
  2642 4.	MiguelB
  2643 	1.	DEFECT FIX: PDEF128901: Support for Code Paging for NAND MEDIA Driver not available
  2644 		Allow code paging from local drive number zero
  2645 
  2646 5.	IanMo
  2647 	1.	DEFECT FIX: INC128834: [OTG] OPT TD.4.3 causes phone crash with udeb version of usbhost.dll
  2648 	2.	DEFECT FIX: DEF128644: Filename case check failure in usb host
  2649 	3.	DEFECT FIX: DEF127250: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
  2650 
  2651 6.	RyanHarkin
  2652 	1.	DEFECT_FIX: DEF129672: D_EXC fails to start on NaviEngine. Error - " Failed to load KDA LDD" 
  2653 		minkda.ldd was commented out in the base_ne1_tb.iby file.
  2654 
  2655 7.	dougsteel
  2656 	1.	MILESTONE: Diran,GT0419,MS3.11,DS1284: PREQ2130: GPIO device driver helper API
  2657 
  2658 
  2659 Version 2.00.1962
  2660 =================
  2661 (Made by Vino Jose 31/10/2008)
  2662 
  2663 1.	MiguelB
  2664 	1.	DEFECT FIX: DEF129636: H4 Bootloader won't boot with 2 MMC/SD cards
  2665 
  2666 2.	Michael Mo
  2667 	1.	MINOR_CHANGE: Add 34xx_sdp bootloader binaries to perforce.
  2668 
  2669 3.	SivashankarN
  2670 	1.	DEFECT FIX: DEF129578 Rom building with USBHost for fh4hrp fails
  2671 
  2672 4.	colinward
  2673 	1.	DEFECT FIX: DEF128878: Adding heap checking to t_sound_* tests exposes memory leaks in esoundsc.ldd
  2674 
  2675 
  2676 Version 2.00.1961
  2677 =================
  2678 (Made by ReubenH 27/10/2008)
  2679 
  2680 1.	RobertJ
  2681 	1. 	DEF129491: TTime class, incorrect comments
  2682 
  2683 2.	VincentF
  2684 	1.	DEF128853: [Coverity]- base/e32/drivers/medmmc
  2685 
  2686 3.	MiguelB
  2687 	1.	PDEF129509: Prevent H4 from accessing MMC slot 2 unless explicitly enabled 
  2688 
  2689 4.	JonCo
  2690 	1.	DEFECT FIX: DEF129044: Assembler version of TClientRequest::CallbackFunc doesn't match c++ version
  2691 
  2692 5.	Michael Mo
  2693 	1.	DEFECT FIX: DEF129567 - 34xx_sdp does not have unique USB Serial Number
  2694 		Port changes from H4 to 34xx_sdp such that the USB driver reports a unique serial number, derived from
  2695 		the board's MAC address, instead of reporting the same number for all boards.
  2696 
  2697 	2.	DEFECT FIX: DEF129288 - 34xx_sdp bootloader cannot write to Sibley NOR flash chip
  2698 		Modify 34xx_sdp boostrap and bootloader config to support writing to Sibley NOR flash. This allows USB 
  2699 		Mass Storage support in the bootloader to function correctly. Changes are also needed to the generic 
  2700 		ubootldr code to support this.
  2701 
  2702 	3.	MINOR_CHANGE: Remove outdated/unused 34xx_sdp camera drivers.
  2703 
  2704 
  2705 Version 2.00.1960
  2706 =================
  2707 (Made by ColinWard 24/10/2008)
  2708 
  2709 1.	GeorgeS
  2710 	1. 	DEFECT FIX: DEF128869: [Coverity]- base/e32/memmodel/ DEADCODE tagged as false positive
  2711 
  2712 2.	VitalyR
  2713 	1: 	DEFECT FIX: DEF129334: System crash visual notification missing on 3430 baseport.
  2714 		On 3430  if possible indicate that we have faulted and entered the debug monitor. Add visual notification about kernel fault.
  2715 		Display word "FAULT" on the 2-line LCD.
  2716 
  2717 3.	DaveGordon
  2718 	1.	DEFECT FIX: DEF127495: [v9.5,v9.6] {Fix Accepted} T_PAGELDRTST is timing out on H2 
  2719 		A whole bunch of changes, to address the various problems with this test:
  2720 		* Reduce total number of threads/processes executing the tests.
  2721 		* Add delays to the defrag threads. This not only reduces the load enough that
  2722 		  other threads can make progress, but also makes the point at which those threads
  2723 		  are preempted by defrag more variable.
  2724 		* Add force-kill code to the single-media-thread case.
  2725 		* Add a poll of the exit-requested-flag during library loading.
  2726 
  2727 4.	JunWookKwak
  2728 	1.	DEFECT FIX: DEF128808 : [Coverity]- base/e32/common/
  2729 		Tagged false positives for coverity runs.
  2730 		
  2731 5.	georgiosdementis
  2732 	1.	MILESTONE: Diran,GT0364,MS3.2.3,DS1375: PREQ1994:ARM11 MPCore SMP BSP: GCE Graphics driver
  2733 		
  2734 
  2735 6.	RichardCo
  2736 	1.	DEFECT FIX: DEF129398: NThread::GetUserContext doesn't work for threads executing user callbacks 
  2737 		User callbacks introduce new states a thread can be in which need different handling.
  2738 		{Get,Set}UserContext and UserContextType have been updated to deal with the new states.
  2739 		Run-mode debuggers using these APIs do not need to change their behaviour - threads
  2740 		in these states will now behave correctly.
  2741 
  2742 
  2743 Version 2.00.1959
  2744 =================
  2745 (Made by NeilClifford 17/10/2008)
  2746 
  2747 1.	AnatolyP
  2748 	1.	DEFECT FIX: DEF128886: SAN:Nandloader image creation fails,compsupp/compsupp.iby missing. 
  2749 		Relative inclusion of compsupp.iby from the source tree replaced with an absolute inclusion from the epoc32 tree 	
  2750 		
  2751 2.	Chenguang Song
  2752 	1.	DEFECT FIX: PDEF128518: TLanguage needs an entry for APAC Indonesian 	
  2753 
  2754 3.	AttilaV
  2755 	1.	DEFECT FIX: DEF128231: Failure to boot H4 board with OneNAND techview image 
  2756 
  2757 4.	JessieZhang
  2758 	1.	DEFECT FIX: DEF128211: prototype APIs in Base
  2759 	2.	DEFECT FIX: DEF128212: issues with IM tags in base
  2760 	3.	DEFECT FIX: DEF128809: [Coverity]- base/e32/compsupp/  
  2761 
  2762 5.	GeorgeS
  2763 	1.	DEFECT FIX: DEF128852: [Coverity]- base/e32/drivers/debug/  3 coverity issues fixed
  2764 
  2765 Version 2.00.1958
  2766 =================
  2767 (Made by NicholasC 14/10/2008)
  2768 
  2769 1.	CarlosF
  2770 	1.	MILESTONE: Diran,  GT0419, MS3.10 : PREQ2132 I2S device driver helper.
  2771 
  2772 2.	GayathriR
  2773 	1.	DEFECT FIX: DEF128702: Start address of data modified incorrectly when data is not block aligned 
  2774 
  2775 
  2776 Version 2.00.1957
  2777 =================
  2778 (Made by KaiD 13/10/2008)
  2779 
  2780 1.	JonathanM
  2781 	1.	DEFECT FIX: DEF128298: Cache aliasing management possibly broken on ARMV7 
  2782 		This makes the kernel apply page colouring on ARMV7 and works around Cortex A8
  2783 		errata 586324
  2784 
  2785 
  2786 Version 2.00.1956
  2787 =================
  2788 (Made by SivashankarN 08/10/2008)
  2789 
  2790 1.	MichaelP
  2791 	1.	DEFECT FIX: DEF128601 USB OTG Client: Support for Auto-HNP missing
  2792 		Introduced a new function in the USB Client PDD PIL:
  2793 
  2794 		/** Returns a truth value indicating whether this UDC handles USB OTG HNP
  2795 		    bus connects/disconnects automatically in hardware.
  2796 		*/
  2797 		virtual TBool DUsbClientController::DeviceHnpHandledByHardwareCaps() const;
  2798 
  2799 		The default implementation in the PIL returns EFalse. The function can be
  2800 		overridden in the PSL so that it returns ETrue. The capability is queried by
  2801 		the PIL and determines the way it calls the functions behind the
  2802 		iEnablePullUpOnDPlus / iDisablePullUpOnDPlus pointers.
  2803 
  2804 2.	AnatolyP
  2805 	1.	DEFECT FIX: DEF128177: 	Changes to base.iby and user.iby
  2806 		Direct inclusion of the compiler support libraries replaced with the inclusion of the compsupp.iby file.
  2807 
  2808 3.	JonathanM
  2809 	1.	DEFECT FIX: DEF128749: Memory pinning can cause system crash 
  2810 
  2811 
  2812 
  2813 Version 2.00.1955
  2814 =================
  2815 (Made by DeleOgunjumelo 06/10/2008)
  2816 
  2817 1.	RichardCo
  2818 	1.	DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded 
  2819 		Loading a kernel-side library which is linked to another kernel side library
  2820 		was not possible if the dependent had static data.
  2821 
  2822 
  2823 
  2824 Version 2.00.1954
  2825 =================
  2826 (Made by MichaelMo 02/10/2008)
  2827 
  2828 1.	patrickconway
  2829 	1.	DEFECT FIX: PDEF114200: T_RMDEBUG2 test fails on ARMv7 cores.
  2830 
  2831 2.	DipakA
  2832 	1.	DEFECT FIX:  DEF126771: APIREG: using invalid values to calibrate the digitiser crashes the h4 board
  2833 		Changes made in shared_digitizer.cpp and test added in t_calib.cpp
  2834 
  2835 3.	Radhakrishnanramanat
  2836 	1.	DEFECT FIX: DEF123210: Logical Device Drivers need auditing for bad GetCaps() implementation
  2837 
  2838 4. 	SushmitaR
  2839 	1.	MINOR CHANGE: Fix intermittent failures for t_ramdefrag
  2840 
  2841 5.	Vitalyr
  2842 	1.  MILESTONE: Duranduran, GT0419, MS3.5.1, DS.1170: Base PREQ2033 OMAP3430 BSP.
  2843 
  2844 6.	RyanHarkin	
  2845 	1.	MINOR_CHANGE: updated NaviEngine user guide
  2846 	2.	MINOR_CHANGE: updated Base Functional Spec document
  2847 
  2848 7.	FernandoPorta
  2849 	1.	DEFECT FIX: PDEF127313: rm_debug_svr needs to avoid future GCCXML build
  2850 
  2851 8.	fabiangortz
  2852 	1.	DEFECT FIX: DEF128508: USB Chapter9 tests failing
  2853 
  2854 9.	laneroberts
  2855 	1.	DEFECT FIX: DEF128456: E32Test driver d_latncy tries to access user memory
  2856 	
  2857 10.	LukaszF
  2858 	FIX PDEF128516: Code paging doesn't work with memory type remapping
  2859 	 - Changed memory permissions to use KUserCodeLoadPte instead of KUserCodeRunPte whilst the codeseg is being loaded.
  2860 
  2861 11.	indrajeetsingh
  2862 	1.	CHANGE REQUEST: Development CR ANDN-7D6MHL: Peripherals, GT0339 Base Meteora, Resource Manager, Prevent panic on re-registration of dynamic resources with dependencies and extend dependency ID information.
  2863 	2.	BREAK REQUEST: BR2407.1:Client Name added as an additional parameter to the CustomFunction()
  2864 
  2865 
  2866 Version 2.00.1953
  2867 =================
  2868 (Made by SebOlney  24/09/2008)
  2869 1.	fabiangortz
  2870 	1.	DEFECT FIX: DEF123150: T_usb crashes H4 board occasionally in the scenario when host is transmitting
  2871 
  2872 2.	RichardCo
  2873 	1.	DEFECT FIX: DEF127569: e32cmn.h: uncaught_exception() isn't declared IMPORT_C 
  2874 
  2875 3.	ChrisM
  2876 	1.	MILESTONE: Sphinx, GT0339, MS3.19 : graphics PREQ2098 enable dynamic allocation of DSA buffer.
  2877 		(New export in EKern  Kern::ChunkUserBase and new HAL attribute  EDisplayMemoryHandle.)
  2878 
  2879 4.	JonathanM
  2880 	1.	DEFECT FIX: DEF127853: Uneccessary XTRAP_PAGING in IPC copy functions
  2881 	2.	DEFECT FIX: DEF127855: Various Flexible Memory Model defects
  2882 
  2883 5.	SivashankarN
  2884 	1.	DEF126754: [Coverity] - DEADCODE- /base/template/template_variant/usbho
  2885 
  2886 6.	IanMo
  2887 	1.	DEFECT FIX: DEF125888: T_USBDI Code Review Resolutions Required
  2888 	2.	DEFECT FIX: DEF126640: StopStacks Crash needs investigation 
  2889 	3.	DEFECT FIX: DEF127252: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
  2890 	4.	DEFECT_FIX: DEF126346: 'B' Device should accept all bMaxPower levels from 'A' device
  2891    		Changes to usbhost drivers
  2892 
  2893 
  2894 
  2895 Version 2.00.1952
  2896 =================
  2897 (Made by georgiosdementis 22/09/2008)
  2898 
  2899 1. JenniferH
  2900 	1.	DEFEXT FIX: DEF126165: ZlpFlag not set when using shared chunk USB BIL GetBuffer
  2901 
  2902 2. Radhakrishnanramanat
  2903 	1.	DEFECT FIX: DEF127764: User::LockedDec(): Documentation is not correct
  2904 	
  2905 3. vinojose
  2906 	1.	DEFECT FIX: DEF127216: Handling of advanced digitiser attributes should only be supported explicitly
  2907 
  2908 4. ReubenH
  2909 	1.	DEFECT FIX: DEF127113: FAULT: Exception 0x10000000 when running test 
  2910 	
  2911 5. andrewhickman	
  2912 	1. DEFECT FIX:  PDEF127938 TLanguage needs an entry for Indic English
  2913 
  2914 
  2915 
  2916 Version 2.00.1951
  2917 =================
  2918 (Made by georgiosdementis 22/09/2008)
  2919 
  2920 1. 	georgiosdementis
  2921 	1.MINOR_CHANGE: Remove occurrences of macro __SMP_KERNEL_AVAILABLE__
  2922 
  2923 
  2924 
  2925 Version 2.00.1950
  2926 =================
  2927 (Made by georgiosdementis 19/09/2008)
  2928 
  2929 1. 	georgiosdementis
  2930 	1.	MILESTONE: Diran,  GT0364, MS3.2.1  : PREQ 1994: ARM11 MPCore SMP BSP Initial delivery   	
  2931 
  2932 
  2933 Version 2.00.1949
  2934 =================
  2935 (Made by georgiosdementis 12/09/2008)
  2936 
  2937 1.	MarkTa
  2938 	1.	DEFECT_FIX: DEF126321: Reported size of filesystem cache chunk keeps increasing
  2939 		Ensure DChunk::Lock() discounts any reclaimed pages from DChunk::iSize.
  2940 	2.	DEFECT_FIX: DEF126846: Calls to NKern::ThreadGetUserContext can crash system 
  2941 		Add checks for the NThread being in the EDead state to the thread context set and get methods.
  2942 
  2943 2.	dharmeshgandhi
  2944 	1.	DEFECT_FIX: DEF127434: RMdaDevSound::BytesPlayed( ) API documentation needs to more specific 
  2945 
  2946 3.	fabiangortz
  2947 	1.	DEFECT FIX: PDEF127654: base_e32.mrp has redundant "source" statement
  2948 
  2949 4.	SebOlney
  2950 	1.	DEFECT FIX: PDEF127457: Documentation is needed for HAL::GetAll()
  2951 	2.	DEFECT FIX: DEF125983: Sound driver does not check for UserEnvironment capability when recording.
  2952 
  2953 5.	SharathK
  2954 	1.	DEFECT FIX: DEF126047: APIREG: SetPlayFormat() does not return KErrNotSupported
  2955 
  2956 6.	RyanHarkin
  2957 	1.	MINOR_CHANGE: added 3430 extension makefile config files
  2958 
  2959 
  2960 Version 2.00.1948
  2961 =================
  2962 (Made by georgiosdementis 05/09/2008)
  2963 
  2964 1.	RyanHarkin
  2965 	1.	MILESTONE: Diran,  GT0364, MS3.8 : PREQ2127: MHA Register Access API
  2966 
  2967 2.	Dennis
  2968 	1.	MILESTONE: Diran,  GT0364, MS3.1 : PREQ1954: Foundation SMP Kernel
  2969 		DS1189
  2970 		First delivery of prototype SMP kernel for ARM.
  2971 
  2972 3.	NeilClifford
  2973 	1.	DEFECT FIX: DEF127099: Divide by zero error in MMC driver when alternate slot populated at boot
  2974 	2.	DEFECT FIX: PDEF127290:	5.0 Unable to change or remove password from memory card
  2975 
  2976 4.	JessieZhang
  2977 	1.	DEFECT FIX: DEF127108: t_pccdbm.cpp calls test.Getch() without prompting the tester for input
  2978 	2.	MINOR_CHANGE: Updated the documentation for RMdaDevSound::FlushPlayBuffer
  2979 	3.	Defect Fix: PDEF126686: armcchlp.cia file in ekern.mmp needs to avoid future GCCXML build
  2980 
  2981 5.	ParameshwariB
  2982 	1.	DEFECT_FIX:  DEF126865: Integrator board fault in overnight test runs
  2983 
  2984 6.	RichardCo
  2985 	1.	DEFECT FIX: DEF127325: VFP documentation doesn't describe how to enable VFPv3
  2986 		Updated Base_How_To_VFP_Support.doc
  2987 	2.	DEFECT FIX: PDEF127463: Issue with Neon support in Symbian Kernel 
  2988 
  2989 7.	KathrynThomas 
  2990    	1.	DEFECT_FIX: DEF126350: Scheduling deferred notifications in interrupt context creates panic
  2991    	2.	DEFECT_FIX: DEF126592: Some shortlink components failed at GCCXML build
  2992    	3.	DEFECT_FIX: DEF126431: New USB Host/OTG stack drop (3.0.4.1.13.1.3)
  2993    	4.	DEFECT_FIX: DEF126721: RUsbInterface::Open causes panic
  2994    	5.	DEFECT_FIX: DEF125891: Calling RUsbOtgDriver::StopStacks() Can Crash The Kernel
  2995 
  2996 8.	ExtRajeswariR
  2997    	1.	DEFECT_FIX: DEF126558: Some component cannot pass GCCXML build
  2998    	
  2999 	
  3000 
  3001 
  3002 Version 2.00.1947
  3003 =================
  3004 (Made by indrajeetsingh 26/08/2008)
  3005 
  3006 1.	VincentF
  3007 	1.	MINOR_CHANGE: Reduce time taken by the automated USB Performance Tests
  3008 
  3009 2.	SivashankarN
  3010 	1.	DEF126155: template_variant\usbho has different IPR in different components 
  3011 
  3012 3.	JenniferH
  3013 	1.	DEFECT FIX: DEF126163: DMA resource allocation failure on shared chunk USB LDD
  3014 
  3015 4.	MarkTa
  3016 	1.	MINOR CHANGE: Fix mismatch of test.Start()/test.End() pairs in t_svr.
  3017 
  3018 5.	AndrewHaigh
  3019 	1.  	DEFECT FIX: PDEF125836: Run-mode debug API should have AddProcess/RemoveProcess debug events
  3020 	2.  	DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
  3021 	3.  	DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be. 
  3022 	4.  	DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
  3023 	5.  	DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
  3024 	6.  	DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
  3025 
  3026 6.	StephenRoberts
  3027 	1. 	DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
  3028 
  3029 
  3030 Version 2.00.1946
  3031 =================
  3032 (Made by MichaelCox, 20/08/2008)
  3033 
  3034 1	LukaszF
  3035 	1.	MINOR_CHANGE: Updated HAL with Machine UID support for NaviEngine (NE1_TB).
  3036 
  3037 
  3038 Version 2.00.1945
  3039 =================
  3040 (Made by patrickconway, 15/08/2008)
  3041 
  3042 1.	JessieZhang
  3043 	1.	DEFECT_FIX: DEF125980: Amiguous comment for RPlugin::Open
  3044 	2.	DEFECT_FIX: DEF126401: [coverity] - All identified false positives are to be tagged correctly.
  3045 
  3046 2.	DaveGordon
  3047 	1.	DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
  3048 
  3049 3.	MichaelP
  3050 	1.	MINOR_CHANGE: USB Client Driver API Guide: Added information about the new
  3051 		endpoint resource allocation scheme in section 4.6 "Endpoint Resource
  3052 		Allocation, De-allocation and Use Query". Upped document version to 3.2.
  3053 	2.	MINOR_CHANGE: USB Client Porting and Test How-To Document: Added section 3.6
  3054 		on endpoint resource management. Upped document version to 3.5.
  3055 	3.	DEFECT_FIX: DEF126402: USB Client PDD: New endpoint resource request scheme not fully functional
  3056 		New virtual method 'TBool DeviceResourceAllocV2Caps() const' to class
  3057 		DUsbClientController + default implementation in PIL which just returns
  3058 		EFalse + adding of flag KUsbDevCapsFeatureWord1_EndpointResourceAllocV2
  3059 		to TUsbDeviceCaps::iFeatureWord1 if the PSL has overridden that function
  3060 		to return ETrue.
  3061 4.	RyanHarkin
  3062 	1.	DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
  3063 	2.	DEFECT_FIX: DEF126358: CTS line inverted in 16550 uart code
  3064 
  3065 5.	ReubenH
  3066 	1.	MINOR_CHANGE: Updated in-source documentation for RThread::Kill and RThread::Terminate 
  3067 		in response to INC125714.
  3068 	2.	MINOR_CHANGE: X86PC only: Added support for PCI-based debug serial ports.
  3069 	3.	DEFECT_FIX: PDEF126495: Date and time settings are not preserved over reset
  3070 
  3071 6.	ParameshwariB
  3072 	1.	DEV_CR: CR1258: Support compression of unpaged section in XIP ROM 
  3073 	   BREAK REQUEST: BR2457.1:ROMBUILD compression will compress ALL of a demand paged ROM by default
  3074 
  3075 7.	VincentF
  3076 	1.	DEFECT_FIX: DEF126463: IPR mismatch in base_e32_sd3c
  3077 	2.	DEFECT FIX: DEF126464: base_e32 should not have cat E
  3078 	3.	DEFECT FIX: DEF126466: IPR mismatch in base_wins
  3079 
  3080 8.	SivashankarN
  3081 	1.	DEFECT_FIX: DEF126158: drivers\usbho\usbd has different IPR in different components 
  3082 
  3083 9.	JonCo
  3084 	1.	DEFECT FIX: DEF126450: Accidentally exported DThread APIs should be removed
  3085 		BREAK REQUEST: BR2443: Remove accidentally exported DThread APIs
  3086 		Un-exported DThread::RequestComplete, DesRead, DesWrite, GetDesInfo, GetDesLength, GetDesMaxLength
  3087 	2.	DEFECT FIX: DEF126377: Regression in base\e32\kernel leads to panics in Backup Niotif Server clients
  3088 		Fixed problem where blind messages sent on a session with a dedicated message pool leaked the
  3089 		message objects
  3090 
  3091 Version 2.00.1944
  3092 =================
  3093 (Made by JohnS, 11/08/2008)
  3094 
  3095 1.	LukaszF
  3096 	1.	DEFECT_FIX: DEF119839: Assabet build broken
  3097 	 - updated conditional msr calls for StrongARM - to workaround the processor bug.
  3098 
  3099 2.	NeilC
  3100 	1.	DEFECT_FIX: PDEF126033: CMD55 may be handled as ACMD in SD controller
  3101 
  3102 3.	JessieZhang
  3103 	1.	DEFECT_FIX: DEF125688: Return value of Kern::ThreadRawWrite not checked in d_usbc.cpp
  3104 
  3105 4.	JonathanM
  3106 	1.	DEFECT_FIX: DEF126209: Debug checks needed for unsafe user memory access by kernel code
  3107 		NOTE: These checks are enabled by default in UDEB builds, to disable them completely
  3108 		the baseport must define the macro __KERNEL_APIS_DISABLE_USER_MEMORY_GUARDS__ in it's
  3109 		variant.mmh.
  3110 	2.	DEFECT FIX: DEF126326: Kernel user-permission checking disabled after Kern::HalFunction is used
  3111 
  3112 4.	SteveElliott
  3113 	1.	MINOR_CHANGE: Support for shared chunk USB LDD with t_usb_scdevice and general improvements
  3114 		to automated USB test framework.
  3115 
  3116 	2.	DEFECT_FIX: DEF126222: Larger heap size and error checks on buffer allocation in t_usb_device.
  3117 
  3118 5.	MiguelB
  3119 	1.	DEFECT_FIX: DEF125977: MMC demand paging ROM boot failure (UREL)
  3120 		Fixed deadlock in H4's MMC card detect interrupt handler
  3121 
  3122 Version 2.00.1943
  3123 =================
  3124 (Made by ReubenH, 04/08/2008)
  3125 
  3126 1.	marcinmaksymiuk
  3127 	1.	DEFECT_FIX: DEF124846: PREQ1340: Documentation how to instrument custom allocator is missing 
  3128 
  3129 2.	DaveGordon
  3130 	1.	DEFECT_FIX: PDEF122684: Severe performance problem in DThread::RawWrite and DThread::RawRead
  3131 		Fixes to DThread, propagated from 9.4; also tests to verify presence of said fixes.
  3132 		NOTE: these tests may reveal an issue on Moving memory model platforms e.g. H2; see DEF125612.
  3133 		NOTE: these tests may or may not induce failure of subsequent t_filecache test; see DEF125829.
  3134 
  3135 3.	GeorgeSin
  3136 	1.	DEFECT_FIX: PDEF125611: SPPR_PERF: DmDomainServer crashes under IPC fuzzing 
  3137 		
  3138 
  3139 Version 2.00.1942
  3140 =================
  3141 (Made by ParameshwariB, 01/08/2008)
  3142 
  3143 1.	JessieZhang
  3144 	1.	DEFECT FIX: PDEF124808: TDrive::iChanged set to ETrue on user drive when secure drive remounted
  3145 	2.	DEFECT FIX: PDEF125350: t_ramdefrag test failure on h4 urel
  3146 
  3147 2.	MarkTa
  3148 	1.	DEFECT FIX: DEF125756: UserHeap::ChunkHeap() documentation is incorrect 
  3149 		Corrected the insource docs.
  3150 
  3151 3.	ReubenH
  3152 	1.	MINOR_CHANGE: Fixed X86GCC build breaks due to accidental euser.def integration.
  3153 
  3154 4.	SebOlney
  3155 	1.	DEFECT FIX: DEF125472: Prioritised Extension loading broken on emulator
  3156 		Do not define DECLARE_EXTENSION_WITH_PRIORITY for emulator builds.
  3157 		Additionally, make extension loading on the emulator give name of the extension
  3158 		it does or doesn't load.
  3159 
  3160 
  3161 
  3162 Version 2.00.1941
  3163 =================
  3164 (Made by SivashankarN, 28/07/2008)
  3165 
  3166 1.	TomCosgrove
  3167 	1.	DEFECT FIX: DEF124697: Build with __USERSIDE_THREAD_DATA__ enabled crashes
  3168 		Move call to UserSvr::DllSetTls() to after call to UserHeap::SetupThreadHeap(),
  3169 		since DllSetTls() requires the heap to be initialised if userside thread data is used.
  3170 	2.	DEFECT FIX: DEF125561: Circular buffer of unsigned integers - wrong range (signed range specified)
  3171 		Update the documentation of CCirBuffer to be clear about the use of 8-bit unsigned integers.
  3172 
  3173 2.	RyanHarkin
  3174 	1.	DEFECT FIX: PDEF125661: Build component "base\omap_hrp\h4_bootloader" error for GCCXML
  3175 
  3176 3.	JonCo
  3177 	1.	MILESTONE: Diran, GT0421, MS3.10, DS1077, REQ10699: Kernel: Re-architect kernel services to minimise inter-process memory accesses
  3178 	2.	DEFECT FIX: DEF125475: Race condition updating count of user threads runing
  3179 
  3180 4.	fabiangortz
  3181 	1.	MINOR CHANGE: Changed classification of d32otgdi_errors.h back to publishedPartner/prototype
  3182 
  3183 5.	JessieZhang
  3184 	1.	DEFECT FIX: DEF123573: Incorrect entry in mrp file for base e32 
  3185 	
  3186 
  3187 6.  AndrewHaigh
  3188     1.  DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
  3189 	2.  DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be. 
  3190 	3.  DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
  3191 	4.  DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
  3192 	5.  DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
  3193 
  3194 7.	StephenRoberts
  3195 	1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
  3196 
  3197 Version 2.00.1940
  3198 =================
  3199 (Made by fabiangortz, 24/07/2008)
  3200 
  3201 1.	MiguelB
  3202 	1.	DEFECT FIX: PDEF124945: MMC stack power-down should cancel stack DFC
  3203 
  3204 2.	DjordjeK
  3205 	1.	DEFECT FIX: PDEF125485 ARM1176 devices do not output JTAG
  3206 
  3207 3.	RichardCo
  3208 	1.	DEFECT FIX: INC124027: PlatSec Base Config Document updates required
  3209 
  3210 4.	fabiangortz
  3211 	1.	MILESTONE: Sphinx, GT0394, MS3.3, DS924 PREQ1305: Shortlink, USB OTG HNP-A, SRP
  3212 	2.	BREAK REQUEST: BR2408.1: Deprecate Existing USB Client Endpoint Resource Allocation APIs
  3213 	3.	BREAK REQUEST: BR2497.1: Changed prototype error code values
  3214 
  3215 5.	LaneR
  3216 	1.	MINOR_CHANGE: Added CortexA9 support
  3217 
  3218 
  3219 Version 2.00.1939
  3220 =================
  3221 (Made by fabiangortz, 21/07/2008)
  3222 
  3223 1.	MichaelP
  3224 	1.	DEFECT FIX: PDEF124751: HSUSB LDD: Cache attributes are incorrect
  3225 		Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled.
  3226 		The defect fix also includes the necessary USB PDD PSL changes for the H2
  3227 		and H4 (FS + HS) reference platforms.
  3228 	2.	BREAK REQUEST: BR2464.2 Enabling IN buffer cacheing in the USB Client LDD
  3229 		Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled (see
  3230 		PDEF124751). Up until now only the LDD's OUT/Rx buffers have been cached.
  3231 		If a USB Client PDD PSL implementation supports DMA for IN transfers then
  3232 		the Tx data buffer coming from the LDD via the PIL
  3233 		(TUsbcRequestCallback.iBufferStart) will need to get synched with main memory
  3234 		before starting the transfer. To that purpose the Symbian function
  3235 		Cache::SyncMemoryBeforeDmaWrite() should be called before the IN transfer is
  3236 		initiated. More information can be found in the USB PSL porting guide
  3237 		(/base/documentation/Base_How_To_USB_Client_Porting_and_Test.doc) and in
  3238 		example PSL implementations (e.g. /base/cotulla/pa_usbc.cpp).
  3239 
  3240 2.	DjordjeK
  3241 	1.	CHANGE REQUEST: Development CR CGTN-7F8H3Q, Kernel, GT0339 Base Meteora,
  3242 							TMappingAttributes2 to be changed to @publishedPartner
  3243 		To ensure the best performance of WT DMA memory, this CR should be accompanied by DEF125125
  3244 	2.	DEFECT FIX: DEF125125 DMA framework is not efficient with Write Through memory in L2 cache
  3245 	3.	DEFECT FIX: DEF125167 Improve performance of L220 cache maintain operations
  3246 
  3247 3.	TomCosgrove
  3248 	1.	DEFECT FIX: DEF125005: [coverity] - FORWARD_NULL, CHECKED_RETURN- base/template/template_variant/usbho
  3249 		CID169 is not a defect.  Fix CID14 by checking the return value from jinterrupt_setup().
  3250 
  3251 
  3252 Version 2.00.1938
  3253 =================
  3254 (Made by RichardCo, 17/07/2008)
  3255 
  3256 1.	MichaelP
  3257 	1.	DEFECT FIX: DEF124965: USB Client PDD: Correct Device State Transition Warnings
  3258 
  3259 2.	ReubenH
  3260 	1.	DEFECT FIX: DEF125022: Change in __DECLARE_TEST macro broke debug build
  3261 
  3262 3.	RichardCo
  3263 	1.	DEV CR: BBRE-7G7GJ2: Kernel, GT0364 SMP, Implement unprioritised scheduling mode for code safety testing (Crazy Scheduler version 2)
  3264 		Introduce the crazy scheduler version 2, an improved test tool for verifying the safety
  3265 		of asychronous code. Disabled by default, enable with kernel config flag
  3266 		EKernelConfigCrazyScheduling on debug builds.
  3267 
  3268 
  3269 Version 2.00.1937
  3270 =================
  3271 (Made By LukaszF, 15/07/2008)
  3272 
  3273 1.	DjordjeK
  3274 	1.	DEFECT FIX:  PDEF124733: Implementation needed for L220 errata
  3275 		The fix for errata ID 484863: "The Cache Sync operation does not guarantee that the Eviction Buffer is empty"
  3276 
  3277 2.	DanH
  3278 	1.	MINOR_CHANGE: Added support for NaviEngine bsp in Techview iby file
  3279 
  3280 3. 	vinojose
  3281 	1.	DEFECT FIX:  DEF124797: errors in IM tagging in base headers
  3282 
  3283 
  3284 Version 2.00.1936
  3285 =================
  3286 (Made By JenniferH, 09/07/2008)
  3287 
  3288 1.	JenniferH
  3289 	1.	MILESTONE: Sphinx, GT0339, MS3.8 DS793 PREQ 1846: Peripherals : Improve USB client application efficiency by using Shared Chunks
  3290 
  3291 
  3292 Version 2.00.1935
  3293 =================
  3294 (Made By KaiD, 09/07/2008)
  3295 
  3296 1.	ColinWard
  3297 	1.	DEFECT FIX: DEF122798: Windows Server 2003 - Emulator hangs when playing star-up test sound
  3298 
  3299 2.	NeilC
  3300 	1.	DEFECT FIX: DEF124577: MMC Stack: iCurrentSelectedBusWidth is Initialised to EBusWidth1
  3301 	2.	DEFECT FIX: DEF124613: SDIO stack incorrectly parsing the CCCR register content
  3302 
  3303 3.	ReubenH
  3304 	1.	DEV CR: JPAR-7DQDXR: Kernel, GT0339 Base Meteora, Add Kernel side APIs to retrieve 
  3305 		TSecurityInfo from DThread/DProcess
  3306 	2.	DEV CR: STEN-7A4ECK: Kernel, GT0339 Base Meteora, Clean-up in preparation for RVCT 3.1
  3307 
  3308 4.	MichaelP
  3309 	1.	DEFECT FIX: PDEF124685: Array overrun in DLddUsbcChannel::HandleMsg 
  3310 	2.	DEFECT FIX: PDEF124686: Array overrun DLddUsbcChannel::DoRequest
  3311 
  3312 
  3313 Version 2.00.1934
  3314 =================
  3315 (Made By DmitryL, 07/07/2008)
  3316 
  3317 1.	TomCosgrove
  3318 	1.	DEFECT FIX: DEF123276: IPR statement in MRP and disttibution.policy don't match
  3319 		base/e32/common and subdirectories are IPR category D, so mark as such in base_e32_euser.mrp
  3320 
  3321 2.	RyanHarkin
  3322 	1.	DEF124183: T_VIDEO sets invalid values
  3323 
  3324 3.	DjordjeK
  3325 	1.	MINOR_CHANGE: SMP platforms shouldn't have Normal Non-Shared Memory.
  3326 		Marked as minor change because only NaviEngine platform is affected.
  3327 
  3328 4.	vinojose
  3329 	1.	CHANGE REQUEST: Development CR BBRE-7CERCU:Kernel, GT0339 Base Meteora, PREQ1226: TRawEvent and 
  3330 		HAL to support multi-pointer UIs
  3331 
  3332 5.	MichaelCox
  3333 	1.	DEFECT FIX: PDEF124470: Incorrect source file classification for some base_e32 dirs
  3334 
  3335 
  3336 
  3337 Version 2.00.1933
  3338 =================
  3339 (Made By NeilC, 26/06/2008)
  3340 
  3341 1.	MiguelB
  3342 	1.	BREAK REQUEST: BR2376.2: Extend & future-proof TMMCard
  3343 
  3344 2.	marcinmaksymiuk
  3345 	1.	PREQ1340: new BTrace EHeap sub-categories, further trace instrumentation of RHeap allocator
  3346 		New eexe_monitor_heap.lib added as optional library to enable monitoring for heap corruption
  3347 
  3348 
  3349 Version 2.00.1932
  3350 =================
  3351 (Made by NicholasC, 23/06/2008)
  3352 
  3353 1.	AndreasP
  3354 	1.	DEFECT FIX: DEF123209 Device drivers in E32TEST use unsafe techniques
  3355 
  3356 Version 2.00.1931
  3357 =================
  3358 (Made by indrajeetsingh, 20/06/2008)
  3359 
  3360 1.	NeilC
  3361 	1.	DEFECT FIX: DEF120522: Read Performance Degradation when file cache disabled after PREQ1724 submitted
  3362 	2.	MINOR_CHANGE: Typo in MMC Double Buffer How-to Doc BlockSize() -> BlockLength()
  3363 
  3364 2.	MichaelP
  3365 	1.	DEFECT FIX: DEF123556: USB HNP/SRP - Expected Message KUsbMessageHnpDisabled Not Received
  3366 
  3367 3.	TomCosgrove
  3368 	1.	DEFECT FIX: DEF123906: User::At documentation talks about absolute time
  3369 		Clarified that the absolute time passed to User::At() should be in the current time zone
  3370 
  3371 4.	RyanHarkin
  3372 	1.	MINOR_CHANGE: adding a boot parameter for ARMv6 and ARMv7 single/direct memory model
  3373 		This code is only built by Base and no other BSPs for these CPU targets have single
  3374 		memory model.
  3375 		
  3376 5.	MiguelB
  3377 	1.	DEFECT FIX: PDEF124016: Erase of secure area when formatting secure area of SD card is incorrect
  3378 
  3379 Version 2.00.1930
  3380 =================
  3381 (Made by patrickconway, 17/06/2008)
  3382 
  3383 1.	JohnS
  3384 	1.	DEFECT FIX: DEF122690: h4_restricted_on_coreldr.mk fails when build with Raptor 
  3385 
  3386 2.	patrickconway
  3387 	1.	DEFECT FIX: DEF123576: insource documentation for RMessagePtr2 problem 
  3388 
  3389 3.	DjordjeK
  3390 	1.	MINOR_CHANGE: NaviEngine baseport update. (The first drop of DMA support.)
  3391 		See //EPOC/DV3/team/2006/base/dev1/bsp/hwip_nec_naviengine/release.txt for details.
  3392 
  3393 4.	MarkTa
  3394 	1.	DEFECT FIX: PDEF123764: New API RChunk::Create(TChunkCreateInfo&) breaks coding standards
  3395 		Rearrange some declarations in header file for TChunkCreateInfo.
  3396 
  3397 5.	ReubenH
  3398 	1.	DEFECT FIX: PDEF123776: Some e32test def files are not frozen
  3399 
  3400 
  3401 Patch to version 2.00.1929
  3402 ==========================
  3403 (Made by JonCo, 16/06/08)
  3404 
  3405 1	JonCo
  3406 	1.	DEFECT FIX: DEF123718: [v9.5] [System Build]:TV and CBR stage errors related to Systemtest_OS in M04580
  3407 
  3408 
  3409 Version 2.00.1929
  3410 =================
  3411 (Made by deleogunjumelo, 11/06/2008)
  3412 
  3413 1.	MarkTa
  3414 	1.	DEFECT FIX: PDEF123352: Performance: Memory reserved for large bitmaps is always cleared black and then
  3415 		Add new RChunk::Create method to allow all types of chunks to be created using the new 
  3416 		struct TChunkCreateInfo.  Add TChunkCreateInfo::SetClearByte() to allow any byte value to be
  3417 		used to clear committed chunk memory.
  3418 
  3419 2.	JonathanM
  3420 	1.	DEFECT FIX: PDEF123402: LogicalDeviceGetCaps() fn should sanitize mem ptr given to LDD GetCaps() 
  3421 	2.	DEFECT FIX: DEF123538: RPipe driver reads user supplied arguments in unsafe manner
  3422 	3.	DEFECT FIX: DEF123542: RProperty::Set allows access outside of a processes memory
  3423 	4.	DEFECT FIX: DEF123528: Resource Manager driver reads user supplied name in unsafe manner
  3424 
  3425 3.	SushmitaR
  3426 	1.	MINOR_CHANGE: Fix minor error in t_ramdefrag when setting up a specific test
  3427 
  3428 4.	VincentF
  3429 	1.	MINOR_CHANGE: Automated USB Test Framework Update
  3430 
  3431 5.	LukaszF
  3432 	1. DEFECT FIX: PDEF123584: t_codepaging fails if paging cache is too big
  3433 	 - skipped tests designed for stressed confguration for bigger cache size configurations.
  3434 	2. DEFECT FIX: DEF122371: Bug in the current RBuf8/16::ReAlloc implementation
  3435 	 - Updated documentation to describe the behaviour.
  3436 
  3437 6.	MiguelB
  3438 	1.	DEFECT FIX: PDEF123464: No Init() error check in TMMCardControllerInterface::Create
  3439 	2.	DEFECT FIX: DEF118543: CPRM: CIMSecureReadWriteBlocksSM - insufficient error handling
  3440 
  3441 7.	DjordjeK
  3442 	1.	DEFECT FIX: PDEF122819: Symbian must be compliant with ARML210 Errata List
  3443 		Only the platforms with L210 L2 cache are affected.
  3444 
  3445 8.	JonCo
  3446 	1.	MILESTONE: Sphinx, GT0339, MS3.17, DS1078, REQ8666: Support for global destuctors
  3447 
  3448 
  3449 Version 2.00.1928
  3450 =================
  3451 (Made by JohnS, 05/06/2008)
  3452 
  3453 1.  VitalyR
  3454 	1.  DEFECT FIX: DEF122877: On CortexA8 BuffredNC memory mapping attribute is broken.
  3455 
  3456 2.	AndrewHi
  3457 	1.	DEFECT FIX: DEF116274: Caps buffer used by LFFS should be derived from 'v6
  3458 
  3459 
  3460 Version 2.00.1927
  3461 =================
  3462 (Made by patrickconway, 05/06/2008)
  3463 
  3464 1.	patrickconway
  3465 	1.	DEV CR: BBRE-7E6L2G Kernel, GT0339 Base Meteora, Kernel: Re-factor allocation/deallocation functions on emulator
  3466 
  3467 
  3468 Version 2.00.1926
  3469 =================
  3470 (Made by RichardCo, 01/06/2008)
  3471 
  3472 1.	JohnSucksmmith
  3473 	1.	DEF122688: h4_restricted_on_miniboot.mk fails when build with Raptor
  3474 
  3475 2.	OlegI
  3476 	1.	DEFECT_FIX: DEF121874: TCollationMethod documentation not generated
  3477 
  3478 3.	MarkTa
  3479 	1.	DEFECT FIX: DEF122954: RProperty::Define comments unclear on category value
  3480 		Update comments to refer to document detailing the correct usage of properties' categories.
  3481 		
  3482 4.	MiguelB		
  3483 	1.	DEFECT FIX: PDEF122983: 5.0 Unable to unlock locked memory card
  3484 		Fixed regression caused by PDEF120544
  3485 
  3486 5.	NeilC
  3487 	1.	DEFECT FIX: DEF122071: Invalid references in resourcecontrol_trace.h
  3488 	2.	DEFECT FIX: PDEF122484: F32_UserDisk: T_DSPACE test fail
  3489 	3.	DEFECT FIX: PDEF123067:	SDIO driver interface hangs the second time it is initialized
  3490 
  3491 6.	GayathriR
  3492 	1.	DEFECT FIX: DEF122521: USB Client locks up in an error-report spin-loop if VBUS is dropped and raised
  3493 
  3494 Version 2.00.1925
  3495 =================
  3496 (Made by ParameshwariB, 23/05/2008)
  3497 
  3498 1.	TomCosgrove
  3499 	1.	DEFECT FIX: DEF123131: X86PC only: Update to NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp.
  3500 	2.	MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
  3501 		Corrections made in several files throughout base code.
  3502 	3.	DEFECT FIX: PDEF122731: move some PlatSec enforcement from run-time to build-time
  3503 		iKernelFlags becomes private, with an accessor function that ensures required bits
  3504 		are always set (unless __PLATSEC_UNLOCKED__ is defined by the base port).  In addition
  3505 		(also unless __PLATSEC_UNLOCKED__ is defined), no capabilities can be disabled via
  3506 		iDisabledCapabilities.
  3507 
  3508 2.	JohnSucksmmith
  3509 	1.	DEFECT FIX: PDEF119924: Nand drive setup incorrect on h4 
  3510 		Updated h4 variantmediadef.h file to provide extra NAND drive for crash logging
  3511 		
  3512 3.  	VitalyR
  3513 	1.	DEFECT_FIX: DEF118718: GetCompositionBufferInfo() faults kernel when passed invalid parameters.
  3514 	2.	DEFECT_FIX: DEF122332: Error in GCE driver calling RDisplayChannel::SetRotation() with an invalid value.
  3515 	3.	DEFECT_FIX: DEF117988: LCD ROM macro usage forces redundant use of macros.
  3516 	4.	DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.
  3517 	5.	DEFECT_FIX: DEF120343: RDisplayChannel::RegisterUserBuffer returns unexpected return values.
  3518 	6.  DEFECT_FIX: DEF121284:?Display configuration reported by H4 display driver is incorrect.
  3519 
  3520 
  3521 
  3522 Version 2.00.1924
  3523 =================
  3524 (Made by SivashankarN, 19/05/2008)
  3525 
  3526 1.	fabiangortz
  3527 	1.	DEFECT FIX: DEF122167: Invalid Schedule 12 details for OTG componens
  3528 		Note: The schedule 12 entries have already been updated (refer to integration database, 
  3529 		NC7058 - NC7061), so a supporting submission is not necessary
  3530 
  3531 2.	patrickconway
  3532 	1.	DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)
  3533 
  3534 3.	TomCosgrove
  3535 	1.	MINOR CHANGE: e32test.h: Fix typos in comments on @internalComponents and update copyright.
  3536 
  3537 4.	AttilaVamos
  3538 	1.	DEFECT FIX: DEF122209: RProcess::CreateWithStackOverride() is not documented corrected 
  3539 
  3540 5.	MarkTa
  3541 	1.	MINOR CHANGE: Fix X86GMP nktest linking errors.
  3542 
  3543 
  3544 Version 2.00.1923
  3545 =================
  3546 (Made by ReubenH, 12/05/2008)
  3547 
  3548 1.	JonathanM
  3549 	1.	DEV CR: BBRE-7E5HKY: Kernel, GT0419 Base Duranduran, Preparation work for Flexible Memory Model
  3550 		- Add new DChunk::Base overload which takes a DProcess argument - to obtain address of a
  3551 		  chunk in a particular process. (This allows for the fact that chunks may simultaneously
  3552 		  appear at different addresses in different process.
  3553 		- Extend ROMBUILD to understand new MEMMODEL type 'FLEXIBLE'.
  3554 		- Numerous small memory model specific configuration changes.
  3555 
  3556 2.	IanKing
  3557 	1.	DEFECT FIX: DEF119651: DUsbInterface::Resume() returns potentially misleading error code
  3558 	2.	DEFECT FIX: DEF119645: DUsbInterface::PermitRemoteWakeup() returns potentially misleading error code
  3559 
  3560 3.	DjordjeK
  3561 	1.	DEFECT FIX: DEF122241: arm11mpcore is using wrong mmu instruction to flush tlb entry
  3562 		Revert of the change introduced by PDEF121503 related to arm11mpcore platform/
  3563 
  3564 4.	RichardCo
  3565 	1.	DEFECT FIX: DEF115401: Incomplete validation of data in loader 
  3566 
  3567 5.	AnatolyP
  3568 	1.	DEFECT FIX: DEF121875: TExtendedLocale::GetPreferredCollationMethod has no documentation
  3569 
  3570 6.	MarkTa
  3571 	1.	MINOR CHANGE: Fix some typos in Base_How_To_Shared_Chunks.doc
  3572 
  3573 7.	PhilipSturdy
  3574 	1.	DEFECT FIX: DEF118984: Assembler version of wordmove lacks debug asserts
  3575 
  3576 
  3577 Version 2.00.1922
  3578 =================
  3579 (Made by LukaszF, 09/05/2008)
  3580 
  3581 1.	MiguelB
  3582 	1.	DEV CR: SWIS-7BJN5G: Peripherals, GT0339 Base Meteora, Align FAT user data area to media block boundaries for optimised performance
  3583 
  3584 2.	JohnS
  3585 	1.	Minor_Change: Remove obsolete smoke test files romnandtechviewh2.oby & romnandtechviewh4hrp.oby 
  3586 		from e32/rombuild
  3587 	2.	DEFECT FIX: DEF122334: Nandtest_load_rel.oby and base.iby files not updated for OneNAND. 
  3588 	3.	Minor_Change: Use uncommented anInfo in DPhysicalDeviceMediaNand::Validate() implementation 
  3589 		only when needed for WINS builds
  3590 
  3591 3.	TomCosgrove
  3592 	1.	MINOR_CHANGE: X86PC only: Implement NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp,
  3593 		for debugger support.
  3594 
  3595 4.	DjordjeK
  3596 	1.	DEV CR:  BBRE-7E9CYF: Kernel, GT0364 SMP, Support for shared memory types in Kernel (part of SMP)
  3597 
  3598 
  3599 Version 2.00.1921
  3600 =================
  3601 (Made by KaiD, 30/04/2008)
  3602 
  3603 1.	TomCosgrove
  3604 	1.	DEFECT FIX: DEF121689: template variant mmh and config.inc treat errata macros incorrectly
  3605 		Replace "#define" with "macro" in appropriate places
  3606 	2.	DEFECT FIX: DEF121973: RProcess::SetParameter in source doc omission
  3607 		Clarify that APPARC programs should only use 'public use' slots.
  3608 
  3609 2.	GayathriR
  3610 	1.	DEFECT FIX: PDEF121192: Possible deadlock in USB LDD
  3611 
  3612 3.	RajivMaskara
  3613 	1.	DEFECT FIX: DEF120462: APIREG: No documentation on TCommCapsV01 etc
  3614 
  3615 4.	MichaelCox
  3616 	1.	DEFECT FIX: DEF121633: Use PLATFORM_PATH and CFG_PATH in path in TEM
  3617 
  3618 5.	NeilC
  3619 	1.	DEFECT FIX: DEF121231: ONB: uiktest_t_error in 9.5 started to fail for winscw(mmc returns KErrNotReady)
  3620 
  3621 6.	JonCo
  3622 	1.	DEFECT FIX: PDEF121716: Impact on Symbian OS because of absence of FIQ control in non-secure world (HLOS
  3623 
  3624 7. 	DipakA
  3625  	1.	DEFECT FIX: DEF121425: Error in test code Vendor Id - t_pipe5.exe 
  3626  		Comment added in t_pipe5.mmp file for Vendor Id.
  3627 
  3628 8.	SivashankarN
  3629 	1.	DEFECT FIX: DEF121780: Possible bug or redundant code in USB HOST driver 
  3630 
  3631 9.	DaveGordon
  3632 	1.	DEFECT FIX: DEF118763: Race condition in Thread logon and rendezvous
  3633 
  3634 10.	JonathanM
  3635 	1.	DEFECT FIX: DEF121857: RChunk::Decommit can decommit the wrong memory 
  3636 
  3637 
  3638 Version 2.00.1920
  3639 =================
  3640 (Made by DmitryL, 28/04/2008)
  3641 
  3642 1.	TomCosgrove
  3643 	1.	DEFECT FIX: DEF121645 [SystemBuild]: Include filenames should be case sensitive
  3644 		Fix #include <WINIOCTL.H> to be #include <winioctl.h>
  3645 
  3646 2.	RichardCo
  3647 	1.	DEFECT FIX: PDEF121624: MoveKernelPage breaks a pre-condition where __FLUSH_PT_INTO_RAM__ is enabled
  3648 
  3649 3.	BhaskarR
  3650 	1.	DEFECT FIX: DEF120299: APIREG: Lack of documentation for RBusDevComm in Symbian Dev Library
  3651 
  3652 4.	MarkTa
  3653 	1.	MILESTONE: Sphinx, GT0326, MS3.18, DS1065, CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
  3654 		CHANGE REQUEST: CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
  3655 	2.	BREAK REQUEST: BR2352.2: Removal of RAM zone allocation thresholds
  3656 		Improve the RAM page allocator to only have in use the minimum number of RAM zones required to be in use.
  3657 		Also, reduces the spread of fixed pages across the RAM zones by attempting to allocate fixed pages into
  3658 		the most preferable RAM zones with free, movable or discardable pages in them, moving or discarding pages if necessary.
  3659 
  3660 5.	ReubenH
  3661 	1.	DEV CR: CGTN-7CNGPX: Kernel, GT0339 Base Meteora, Support for Secure Clock on Emulator
  3662 
  3663 
  3664 Version 2.00.1919
  3665 =================
  3666 (Made by fabiangortz, 22/04/2008)
  3667 
  3668 1.	TomCosgrove
  3669 	1.	DEFECT FIX: PDEF121420: Wrong documentation of ChunkPhysicalAddress() may lead to device driver crash
  3670 		The correct formula for the maximum number of pages that n contiguous bytes
  3671 		might occupy is (n + PAGE_SIZE-2)/PAGE_SIZE + 1.
  3672 	2.	DEFECT FIX: DEF121432: Wrong directory separator in include statement in resman.mmp
  3673 		Change backslash path separator to forward slash (/).
  3674 
  3675 2.	RichardCo
  3676 	1.	DEV CR: BBRE-7DGGYS: Kernel, GT0364 SMP, Implement rescheduling delays for code safety testing
  3677 		Introduce the crazy scheduler version 1, a test tool for verifying the safety
  3678 		of asychronous code. Disabled by default, enable with trace flag KCRAZYSCHEDDELAY
  3679 		on debug builds.
  3680 
  3681 3.	MiguelB
  3682 	1.	DEFECT FIX: PDEF121429: Devide by zero fault on H4 with dual-slot support enabled & no card inserted
  3683 
  3684 4.	AttilaV
  3685 	1. 	MILESTONE: Sphinx, GT0339, MS3.1.4 DS836 PREQ 1115: Peripherals: Crash flash logger operation on 73nm OneNAND, a generic FTL interface for Crash Flash Logging and 73nm OneNAND documentation.
  3686 	2.	BREAK REQUEST: BR2398.1 PREQ 1115 : Update class CrashFlashNand from file /cedar/generic/base/e32/drivers/crashflash/unistore2/crashflashnand2.h 
  3687 
  3688 5.	DjordjeK
  3689 	1.	DEFECT FIX: PDEF121503 t_heap2 failed with background t_ramstress
  3690 		TLB wasn't properly flushed when data is decommited. This is stability issue.
  3691 
  3692 6.	LukaszF
  3693 	1.	DEFECT FIX: DEF121118: Math::Round is not rounding the value correctly
  3694 		Updated documentation to explain the meaning of KMaxPrecision constant.
  3695 
  3696 
  3697 Version 2.00.1918
  3698 =================
  3699 (Made by NicholasC, 18/04/2008)
  3700 
  3701 1.	MichaelP
  3702 	1.	DEFECT FIX: DEF121113: USB Client Driver: Potential Ep0 deadlock situation
  3703 		'New' bitmap member iFeatureWord in class TUsbcInterfaceInfo + new flag
  3704 		KUsbcInterfaceInfo_NoEp0RequestsPlease for use via USB LDD call
  3705 		RDevUsbcClient::SetInterface(). If the flag is set (by default it's not),
  3706 		then valid Ep0 Setup requests addressed to that interface or any of its
  3707 		endpoints will be stalled by the PDD PIL. For more info see section 4.7 here:
  3708 		Updated USB API Guide accordingly, upped document version to 3.1.
  3709 
  3710 2.	DjordjeK
  3711 	1. 	Minor_Change: The change of debug log category in ExecHandler::RegisterTrustedChunk
  3712 
  3713 3.	MarkTa
  3714 	1.	DEFECT FIX: PDEF121125: TRamDefragRequest has incorrect Doxygen tagging should be publishedPartner
  3715 		Update doxygen tagging on TRamDefragRequest and TRamDefragOp.
  3716 	2.	BREAK REQUEST: BR2394.2 TRamDefragOp should be tagged as internalAll
  3717 
  3718 4.	TomCosgrove
  3719 	1.	DEFECT FIX: PDEF121232: The error code is not handled in FindF API.
  3720 		Fix this defect by reverting the original fix for PDEF119871 (the propagation
  3721 		of INC117914 to the MCL).
  3722 
  3723 5.	RichardCo
  3724 	1.	DEFECT FIX: DEF120854: atexit() of base has empty implementation.
  3725 		WINSCW doesn't appear to actually need the dummy atexit() so only provide it
  3726 		for MSVC builds (WINS).
  3727 
  3728 6.	NeilC
  3729 	1.	DEFECT FIX: PDEF121228: Invalid value written to partitiontable of SDHC protected area
  3730 
  3731 
  3732 Version 2.00.1917
  3733 =================
  3734 (Made by indrajeetsingh, 16/04/2008)
  3735 
  3736 1.	SebOlney
  3737 	1.	MINOR_CHANGE: Clarify description for User::Panic - category is limited to 16 characters.
  3738 
  3739 2.	DanH
  3740 	1.	DEFECT FIX: DEF120034: Flogger server blows its stack on x86gcc
  3741 		Set the default stack size to 16KB on X86GCC.
  3742 
  3743 3.	francisbinns
  3744 	1.	DEFECT FIX: PDEF120594: T_FOLDPERF - Missing line ends in the performance tests
  3745 		Added newlines ("\n") to Printf statements.
  3746 
  3747 4.	MichaelP
  3748 	1.	DEFECT FIX: DEF121070: USB PDD PIL doesn't reset interface setting upon un-configuration
  3749 		When tearing down an interface (in response to a SET_INTERFACE or
  3750 		SET_CONFIGURATION request), the PIL now resets the current alternate setting
  3751 		number for that interface to 0.
  3752 
  3753 
  3754 Version 2.00.1916
  3755 =================
  3756 (Made by deleogunjumelo, 09/04/2008)
  3757 
  3758 1.	NeilC
  3759 	1.	MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem				
  3760 	2.	MINOR_CHANGE: Corrected x86GCC build errors and warnings; missing ordinals from ekern and euser.	
  3761 
  3762 2.	MichaelP
  3763 	1.	DEFECT FIX: PDEF120716: USB Endpoint SETUP packet fails to be handled in phone
  3764 		Class- or vendor-specific Ep0 Setup requests directed to an interface or an
  3765 		endpoint are now stalled by the USB Client PIL if the device is not in the
  3766 		Configured state.
  3767 	2.	MINOR_CHANGE: Removed space characters from file name
  3768 		/e32test/usb/t_usb_win/scripts/setting 2 close.uts
  3769 
  3770 3.	SebOlney
  3771 	1.	DEFECT FIX: DEF119767: T_CONDVAR fails on emulator
  3772 
  3773 
  3774 Version 2.00.1915
  3775 =================
  3776 (Made by patrickconway, 03/04/2008)
  3777 
  3778 1.	SebOlney
  3779 	1.	DEFECT FIX: DEF119148: Build eexe.lib as ARM (not Thumb)
  3780 		Also changed edll.lib to build as ARM.
  3781 
  3782 2.	markhambleton
  3783 	1.	DEV CR: BBRE-7D6ERF: Kernel, GT0364 SMP, Minor tools changes to support the x86 SMP nanokernel 
  3784 
  3785 3.	ParameshwariB
  3786 	1.	DEFECT FIX: DEF120375: Missing Resource manager includes causes SDIO on H4 not to compile 
  3787 		Also fixed other problems found during code inspection.
  3788 
  3789 4.	TomCosgrove
  3790 	1.	DEFECT FIX: PDEF120402: NULL Pointer Dereference
  3791 		Add braces around statements that should be executed only if (pS != NULL).
  3792 	2.	DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
  3793 		Protect definition of macro MAX() with #ifndef MAX/#endif
  3794 	3.	DEFECT FIX: DEF120460: Bug in D_LATNCY.CPP
  3795 		Remove power handler from power manager's list when DLatency is destroyed.
  3796 	4.	MINOR_CHANGE: X86PC only: Add macro __DEBUGGER_SUPPORT__ to x86pc/variant.mmh and
  3797 		implement NKern::ThreadGetUserContext() in nkern/x86/ncthrd.cpp, for debugger support.
  3798 
  3799 5.	MiguelB
  3800 	1.	DEFECT FIX: PDEF120544: Dual MMC support - PER003248
  3801 		Added support to allow two or more MMC/SD cards with possibly different bus widths and clock rates
  3802 		to run on a single SD card stack.
  3803 		The MMC_DUAL_SLOT macro to used to enable dual slot support for H4 textshell/techview ROMs
  3804 
  3805 	
  3806 Version 2.00.1914
  3807 =================
  3808 (Made by fabiangortz, 29/03/2008)
  3809 
  3810 1.	Ian King
  3811 	1.	DEFECT FIX: DEF116408: Compilation fault in d32usbdi.inl for unsupported platform
  3812 	2.	DEFECT FIX: DEF116434: Void method RUsbBulkTransferDescriptor::SetZlpStatus returning void value
  3813 	3.	DEFECT FIX: DEF117791: incorrect variable spelling
  3814 
  3815 2.	MichaelP
  3816 	1.	MINOR_CHANGE: Client stack now moves to Suspend state before it is enabled to trigger a device 
  3817 		state change notification even when it's not connected to a Host.
  3818 
  3819 3.	ParameshwariB
  3820 	1.	DEFECT FIX: DEF118970: Power Handle allows one handler to be added multiple times
  3821 
  3822 4.	TomCosgrove
  3823 	1.	MINOR_CHANGE: Fix typo 'PProperty' in base/documentation/Base_How_To_Publish_And_Subscribe.doc
  3824 		Corrected to RProperty (RProperty::EByteArray)
  3825 	2.	DEFECT FIX: PDEF120402: NULL Pointer Dereference
  3826 		Add braces around statements that should be executed only if (pS != NULL).
  3827 	3.	DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
  3828 		Protect definition of macro MAX() with #ifndef MAX/#endif
  3829 
  3830 5. 	SushmitaR
  3831 	1.	DEFECT FIX: PDEF120303: t_ramdefrag must not check the number of powered zones after EmptyRamZone
  3832 		All calls to empty now check that the RAM zone is empty or not. 
  3833 		Also did little tidying to ensure file sying tests are cleaned up.
  3834 
  3835 
  3836 Version 2.00.1913
  3837 =================
  3838 (Made by DjordjeK, 26/03/2008)
  3839 
  3840 1.	Dennis
  3841 	1.	DEFECT FIX: DEF119776: Kernel wait objects are inefficient in their use of RAM.
  3842 			Instead of each DSemaphore, DMutex and DCondVar having an embedded
  3843 			64-priority list using 264 bytes of RAM, it has a single pointer.
  3844 			This pointer is 0 if the wait list is empty (usual case), points
  3845 			directly to a DThread if the wait list contains exactly one thread,
  3846 			and points to a dynamically allocated 64-priority list with bit 0 of
  3847 			the pointer set in the case where there are 2 or more waiting
  3848 			threads. These lists are allocated from a LIFO queue which is
  3849 			increased or reduced whenever a thread or wait object is created or
  3850 			destroyed. The number of wait lists required can never exceed the
  3851 			minimum of W and T/2 where W is the number of wait objects and T is
  3852 			the number of threads currently in existence.
  3853 
  3854 2.	TomCosgrove
  3855 	1.	DEFECT FIX: PDEF120025: Cannot update system time if no HW RTC.
  3856 		Update documentation to reflect that the base port should return KErrNone
  3857 		if the RTC is not implemented.  Also tidy up the documentation slightly
  3858 		for SetSystemTimeInSecondsFrom2000() and SystemTimeInSecondsFrom2000().
  3859 	2.	MINOR_CHANGE: X86: Pass breakpoints on to handlers
  3860 
  3861 3.	Djazia Mecheri
  3862 	1.	DEFECT FIX: PDEF119871: TDesC16::FindF does not handle characters with and characters without accents...
  3863 
  3864 
  3865 Version 2.00.1912
  3866 =================
  3867 (Made by JohnS, 20/03/2008)
  3868 
  3869 1.	LukaszF
  3870 	1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.
  3871 
  3872 2.	SivashankarN
  3873 	1. DEFECT FIX: DEF119210: Distribution policy too strict on omap_hrp usbho iby files 
  3874 
  3875 3.	JohnS
  3876 	1.	MILESTONE: Sphinx, GT0339, MS3.1.2 DS607 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 2)
  3877 	2.	MILESTONE: Sphinx, GT0339, MS3.1.3 DS605 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 3)
  3878 
  3879 
  3880 Version 2.00.1911
  3881 =================
  3882 (Made by ParameshwariB, 17/03/2008)
  3883 
  3884 1.	MiguelB
  3885 	1.	DEFECT FIX: DEF119328: Issues with powering down the MMC stack before the media is fully initialised
  3886 	2.	DEFECT FIX: DEF119409: MmcLoader doesn't work on a FAT32-formatted card
  3887 
  3888 2.	MichaelCox
  3889 	1.	CHANGE REQUEST: CR1115: Dual Slot Support
  3890 		Added tests under e32test\pccd
  3891 
  3892 3.	patrickconway
  3893 	1.	DEFECT FIX: PDEF119489: t_video not restoring saved brightness level
  3894 
  3895 4.	ParameshwariB
  3896 	1.	MILESTONE: Sphinx, GT0339, MS3.6.1 DS720 PREQ 1398: Resource Manager API - Basic + Reference 
  3897 			   implementation on H4 
  3898 		INTERFACE CHANGE: BR2186: Registering Power Resource Controller with Power controller
  3899 	2.	MILESTONE: Sphinx, GT0339, MS3.6.2 DS780 PREQ 1398: User-side API
  3900 	3.	MILESTONE: Sphinx, GT0339, MS3.6.3 DS794 PREQ1398: Resource Manager API - Extended + Acceptance Test Suite						
  3901 
  3902 
  3903 Version 2.00.1910
  3904 =================
  3905 (Made by RichardCo 11/03/2008)
  3906 
  3907 1.	TomCosgrove
  3908 	1.	DEFECT FIX: DEF118942: Kern::ChunkPhysicalAddress fails to set aMapAttr correctly
  3909 		Set aMapAttr when return value from DChunk::PhysicalAddress is >= 0, not just == 0
  3910 		(since 1 is a successful return indicating that the region isn't physicall contiguous).
  3911 
  3912 2.	NeilC
  3913 	1.	DEFECT FIX: PDEF118966: SD Card 'High Speed Mode' Bus Configuration does not always work.
  3914 	2.	MINOR_CHANGE: Removed Test ASSERT for SDIO, caused problems with Coco Wifi test setup.
  3915 	3.	DEFECT FIX: PDEF119117: SD Card - Media Change fails with Secure Area mounted plus Password Locked Card
  3916 
  3917 3.	MichaelMo
  3918 	1.	MINOR_CHANGE: Fix ldrtest.oby so that it actually contains all the files needed to run the loader tests
  3919 
  3920 4.	RichardCo
  3921 	1.	DEFECT FIX: PDEF119191: Thread faults when destructor run on emulator.
  3922 		Modified exe stub to return to previous behaviour of not calling destructors. Executables suffering
  3923 		from this issue need to be recompiled to pick up the changed exe stub, as it's statically linked.
  3924 
  3925 5.  VitalyR
  3926     1. DEFECT FIX: DEF119416: Capability check failed loading display0.LDD
  3927 
  3928 
  3929 Version 2.00.1909
  3930 =================
  3931 (Made by OlegI 04/03/2008)
  3932 
  3933 1.	Andrew M Smith
  3934 	1.	DEFECT FIX: PDEF118720: Run-mode Debug API needs extensions to suit Carbide.c++ usage.
  3935 
  3936 2.	VitalyR
  3937 	1.	MINOR CHANGE: Limit gce driver capabilities.
  3938 
  3939 
  3940 
  3941 Version 2.00.1908
  3942 =================
  3943 (Made by ReubenH 03/03/2008)
  3944 
  3945 1.	MarkHambleton
  3946 	1.	DEFECT FIX: DEF118761: autoexec.bat not executed on x86 platform
  3947 		Added a check of file size to avoid zero length files (only for x86)
  3948 	2.	MINOR_CHANGE: remove automatic logon to crash debugger for x86.
  3949 
  3950 2.	VincentF
  3951 	1.	MINOR_CHANGE: Fix for t_sound2 failing on x86 in Graphic Mode
  3952 
  3953 3.	DjordjeK
  3954 	1.	DEFECT FIX: DEF118909: Cannot create e32tests rom image for template baseport 
  3955 
  3956 4.	JonCo
  3957 	1.	DEFECT FIX: DEF118926: Demand paging initialisation of min/max pages needs tidyup
  3958 
  3959 5.	MichaelP
  3960 	1.	MINOR_CHANGE: Updated some in-source comments in drivers/usbcc/ps_usbcc.cpp.
  3961 
  3962 
  3963 Version 2.00.1907
  3964 =================
  3965 (Made by fabiangortz 28/02/2008)
  3966 
  3967 1.	NeilC
  3968 	1.	DEFECT FIX: PDEF118371: device HW capabilities are not considered, when setting the SD card mode
  3969 
  3970 2.	TomCosgrove
  3971 	1.	DEFECT FIX: DEF118635: RThread comment example code error
  3972 		Change example code in comments from 'TInt error = ... CheckPolicy(...)' to
  3973 		'TBool pass = ... CheckPolicy(...)'
  3974 
  3975 3.	OlegI
  3976 	1.	MILESTONE: Meteora, GT0339, MS3.12 DS1001 PREQ1526: Kernel: VFPv3 and Thumb-2EE mode support.
  3977 
  3978 4.	VitalyR
  3979 	1.	DEFECT FIX: PDEF118822: Misspelling and wrong documentation in pixelformats.h
  3980 
  3981 5.	ParameshwariB
  3982 	1.	DEFECT FIX: DEF117729: Device driver entry point trying to delete factory object with access count>0 
  3983 
  3984 6.	fabiangortz
  3985 	1.	MINOR_CHANGE: Updated metabuild scripts after submission of new usb otg components
  3986     
  3987 Version 2.00.1906
  3988 =================
  3989 (Made by fabiangortz 21/02/2008)
  3990 
  3991 1.	colinward
  3992 	1.	DEFECT_FIX: PDEF117726: Disabled sound device in Windows cause the emulator to crash
  3993 
  3994 2.	TomCosgrove
  3995 	1.	DEFECT FIX: PDEF118346: patchdata: rombuild/rofsbuild r_obey.cpp does not set dataEntry->iOffset
  3996 		Update r_obey.cpp with code to set the offset from the line in the obey file.
  3997 		This was code that was indended to be submitted with the original Dev CR, but
  3998 		was lost in a Perforce integration error.
  3999 
  4000 3.	MichaelCox
  4001 	1.	DEFECT FIX: DEF118354: Incorrect case of #include causes build failure on Linux 
  4002 
  4003 4.	MarkHambleton
  4004 	1.	MINOR_CHANGE: remove unused code in x86 platform and change the way TLBs were handled.
  4005 	
  4006 5.	fabiangortz
  4007 	1.	MILESTONE: Sphinx,  GT394, MS3.2 DS619 : PREQ1782: USB Host and on-the-go for pre-installed drivers
  4008 
  4009 	Although USBDI supports both USB 2.0 Full Speed and High Speed, the USB Host stack was enabled on the
  4010 	H4 HRP, which only supports Full Speed. Bulk and high speed transfers are not tested as part of this
  4011 	PREQ and only a limited  support for the OTG (on-the-go) v1.3 specification is covered (HNP/SRP are 
  4012 	not covered). 
  4013 
  4014  		Following are the components added under e32:
  4015  			NC-7058: e32\drivers\usbho\base_drivers_usbhostotg.mrp
  4016  			NC-7059: e32\drivers\usbho\usbd\base_drivers_usbhostotg_usbware.mrp
  4017  		Following are the components added under omap_hrp:
  4018 			NC-7060: omap_hrp\h4_restricted\usbho\base_omaph4hrp_usbhostotg_usbware.mrp
  4019 		Following are the components added under template:
  4020 			NC-7061: template\template_variant\usbho\base_template_usbhostotg.mrp
  4021 
  4022 	The USB Host/OTG stack is configured by default to be OTG capable. The USB HostCore and the USBDI and
  4023 	OTGDI LDDs can be found under e32\drivers\usbho. The reference implementation is done for H4-HRP for 
  4024 	full speed and can be found under omap_hrp\h4_restricted\usbho\. Implementations of controller drivers 
  4025 	like HCD, TCD, OCD are placed here. Templates on these controller driver implementations are placed at 
  4026 	template\template_variant\usbho.
  4027 
  4028 	By default the USB Host and OTG binaries are not included as part of the ROM build. Use 
  4029 	--define=SYMBIAN_INCLUDE_USB_OTG_HOST in the ROM build command to include the USBHost and OTG binaries.
  4030 
  4031 
  4032 Version 2.00.1905
  4033 =================
  4034 (Made by ParameshwariB 19/02/2008)
  4035 
  4036 1.	ReubenH
  4037 	1.	DEFECT FIX: DEF117684: Secure clock offset sometimes not loaded at boot
  4038 
  4039 2.	SlimaneH
  4040 	1.	DEFECT FIX: PDEF117255: TChar::Fold(EFoldAccents) does not work for upper case characters. 
  4041 		i)  Fixed the method Uint TUnicode::Fold(TInt aFlags,const TUnicodeDataSet *aOverridingDataSet)
  4042 		    This method do a correct decomposition when folding a characters with accents.
  4043 		
  4044 		ii) Added a portion of test code in the method TestTChar<TCharType>::Test4(TCharTypes CharType), 
  4045 		    related to the call of TChar::Fold(TChar::EFoldAccents), tested the folding of some interesting 
  4046                     unicode characters
  4047 
  4048 
  4049 
  4050 
  4051 Version 2.00.1904
  4052 =================
  4053 (Made by SivashankarN 15/02/2008)
  4054 
  4055 1.	MarkTa
  4056 	1.	DEFECT FIX: PDEF117845: kumemget() should not be called in a critical section in d_ramdefrag.cpp
  4057 		Modify test driver so that it only enters a critical section when necessary.
  4058 
  4059 2.	SteveElliott
  4060 	1.	DEFECT FIX: PDEF117854: usbrflct Windows driver / application does not send a ZLP
  4061 
  4062 3.	MichaelP
  4063 	1.	MINOR_CHANGE: Changes to USB Porting document:
  4064 		- changed document title into "USB Client Porting and Test How-To Document"
  4065 		  and file name to 'Base_How_To_USB_Client_Porting_and_Test.doc' to make it
  4066 		  clear this is not about USB Host,
  4067 		- added brief section on T_USB_WIN / T_USB_DEVICE,
  4068 		- updated link to current version of USBCV (1.3.1),
  4069 		- upped version number to 3.3.
  4070 	2.	DEFECT FIX: DEF116350: MTPServer crashes with low RAM test
  4071 		Fixed a NULL pointer access in a USB LDD function when shutting down the driver.
  4072 	3.	MINOR_CHANGE: Updated and corrected in-source comments in USB Client PDD PIL
  4073 		(ps_usbc.cpp + chapter9.cpp).
  4074 	4.	MINOR_CHANGE: Changes to USB Client Porting document:
  4075 		- added section on PSL -> PIL upcalls,
  4076 		- upped version number to 3.3.1.
  4077 
  4078 4.	SebOlney
  4079 	1.	DEFECT FIX: PDEF117867: Emulator crashes running Loader tests
  4080 
  4081 5.	JonathanM
  4082 	1.	DEFECT FIX: DEF117930: H4 IRDA driver frees memory in wrong order
  4083 
  4084 6.	GayathriR
  4085 	1.	DEFECT FIX: DEF117514: t_usb fails to free up the usb interface
  4086 
  4087 7.	ReubenH
  4088 	1.	MINOR_CHANGE: ARM4-specific fix to t_realx caused by recent X86GCC submission.
  4089 
  4090 
  4091 Version 2.00.1903
  4092 =================
  4093 (Made by ReubenH 11/02/2008)
  4094 
  4095 1.	MarkTa
  4096 	1.	DEFECT FIX: PDEF117669: Discardable pages should not be discarded when the RAM zone cannot be emptied
  4097 		Added check in the general defrag code to see if there is enough free pages for the movable pages in a 
  4098 		RAM zone before discarding pages from that RAM zone.
  4099 	2.	DEFECT FIX: PDEF117765: DRamAllocator::HalFunction() should not be using a raw pointer from user side
  4100 		Use kumemput to copy data back to user side.
  4101 
  4102 2.	TomCosgrove
  4103 	1.	DEFECT FIX: DEF115293: e32cmn.h: declarations of new and delete conflicts with EABI headers
  4104 		Prevent multiple declarations with macro __OPERATOR_NEW_DECLARED__
  4105 	2.	DEFECT FIX: DEF117799: rom.bat/rom.pl should output a usage message when run with no parameters
  4106 		Print usage text (as for --help) if no paramters specified
  4107 
  4108 3.	NeilC
  4109 	1.	DEFECT FIX: PDEF117320: SDIO: FBR is also reading CSA Data Window
  4110 
  4111 4.	ReubenH
  4112 	1.	DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler 
  4113 		and related tools for the x86 target (i.e. support for new X86GCC platform)
  4114 
  4115 
  4116 Version 2.00.1902
  4117 =================
  4118 (Made by LukaszF, 06/02/2008)
  4119 
  4120 1.	TomCosgrove
  4121 	1.	DEFECT FIX: DEF117458: WIN32_LIBRARY statement shuold specify libraries in lower case
  4122 		Ensure all .mmp files have Win32 library names in lower case
  4123 
  4124 2.	patrickconway
  4125 	1.	CHANGE REQUEST: Development CR BBRE-7AXM6B: Kernel, GT0339 Base Meteora, RArray::Find does not work easily 
  4126 		with operator== and is positively dangerous
  4127 
  4128 3.	ReubenH
  4129 	1.	MINOR_CHANGE: Fix for X86 sound driver failing UREL builds.
  4130 
  4131 
  4132 Version 2.00.1901
  4133 =================
  4134 (Made by KaiD, 04/02/2008)
  4135 
  4136 1.	DipakA
  4137 	1.	DEFECT FIX: PDEF117065  Example driver code documentation to be moved to respective driver folder 
  4138 	2.	MILESTONE: Oregano, GT0350, MS3.3, PREQ1212, DS664 : Welcome Base.
  4139 		Added new tutorial device driver for PREQ1212 Phase 3 , 4A and 4B.
  4140 		Phase 3 : Serial driver with DMA.
  4141 		Phase 4A: Serial driver with DMA and Shared Chunk
  4142 		Phase 4B: Asynchronous serial driver derived from DLogicalChannelBase.
  4143 
  4144 2.	colinward
  4145 	1.	DEFECT FIX: PDEF117085: Voice, confirmation beep only on first recording, never when stop recording
  4146 
  4147 3.	TomCosgrove
  4148 	1.	DEFECT FIX: DEF117362: HAL.HBY's _PATCHARRAYDATA() macro doesn't work with rom.pl
  4149 		Remove spaces on either side of the token pasting operator ##, which are removed by
  4150 		buildrom but not by Base Team's rom.pl.
  4151 
  4152 4.	MarkTa
  4153 	1.	DEFECT FIX: PDEF117379: BTrace logging for some categories won't be primed when enabled from boot.
  4154 		Add extra check for all categroies (aCategory==-1) to memory model specific brtace prime methods.
  4155 
  4156 
  4157 Version 2.00.1900
  4158 =================
  4159 (Made by NicholasC, 30/01/2008)
  4160 
  4161 1.	RyanHarkin
  4162 	1.	PDEF117059: BASE QUALITY USB - Reset Data Toggle not working on some H4 silicon revisions
  4163 
  4164 2. 	georgiosdementis
  4165    	1.	DEFECT FIX: DEF116361: CleanupStack::PopAndDesroy panics with E32User-CBase 63
  4166 
  4167 3.	MichaelP
  4168 	1.	DEFECT FIX: PDEF117070: Class/Vendor specific descriptor request commands causes crash
  4169 
  4170 4.	MichaelCox
  4171 	1.	DEFECT FIX: DEF117029: Base component is not case-sensitive compliant for building on Linux
  4172 
  4173 5.	DjordjeK
  4174 	1.	MILESTONE: Base Meteora, GT0339, MS3.10, DS945
  4175 		CR1281:Kernel: Add Kernel support for DMA transfers to file server caching
  4176 
  4177 
  4178 Version 2.00.1747
  4179 =================
  4180 (Made by RichardCo, 25/01/2008)
  4181 
  4182 1.	Miguel Barra
  4183 	1.	DEFECT FIX: DEF116268: Potential problems with T_NANDPAGING
  4184 
  4185 2.	Mark Hambleton
  4186 	1.	DEFECT FIX: DEF116223: t_heap2 call test() on a child thread causing a KERN-EXEC0
  4187 
  4188 3.	colinward
  4189 	1.	MINOR_CHANGE: Updated t_soundh4.cpp to no longer pass in odd sized buffers for playback, given
  4190 		that this is now illegal.
  4191 
  4192 4.	OlegI
  4193 	1.	DEFECT FIX: INC115614: T_IMB fails
  4194 	2.	DEFECT FIX: INC115613: T_HEAP2 fails 
  4195 
  4196 5.	Steve Elliott
  4197 	1.	MINOR_CHANGE: Added t_usb_device application for automated USB test framework in e32test/usb/t_usb_device/...
  4198 	2.	MINOR_CHANGE: Added t_usb_win application for automated USB test framework in e32test/usb/t_usb_win/...
  4199 	3.	MINOR_CHANGE: Added build file t_usb_device.mmp in e32test/group
  4200 	4.	MINOR_CHANGE: Modified e32test/group/bld.inf to include t_usb_device
  4201 
  4202 6.	SharathK
  4203 	1.	DEFECT FIX: DEF116317: Class RDevice needs description.
  4204 		Description provided.
  4205 
  4206 7. JonCo
  4207    1.	DEFECT FIX: INC115987: t_tls.exe fails at Benchmark() function
  4208 
  4209 
  4210 Version 2.00.1746
  4211 =================
  4212 (Made by TomCosgrove 22/01/2008)
  4213 
  4214 1.	TomCosgrove
  4215 	DEV CR: PHAR-756HZB Kernel, GT0326 Base-Nymph, Product Usability: Enable HAL to be patched at ROM build time
  4216 	- Extend rom.pl patchdata command syntax to support patching elements of array data;
  4217 	- Allow the HAL's InitialValue[] array to be patchable;
  4218 	- Provide a HAL.HBY include file with supporting macros and constants to allow the
  4219 	  HAL to be patched at ROM build time.
  4220 
  4221 Version 2.00.1745
  4222 =================
  4223 (Made by DmitryL 16/01/2008)
  4224 
  4225 1.	DjordjeK
  4226 	1.	DEFECT FIX: DEF116106: ARM Errata 415047 not applied for ARM1176
  4227 		Applying the fix for errata on 1176 platform.
  4228 
  4229 2.	MichaelP
  4230 	1.	MINOR_CHANGE: Correct in-source documentation of some functions in e32/include/drivers/usbc.h.
  4231 
  4232 3.	MarkTa
  4233 	1.	CHANGE REQUEST: Development CR BBRE-7A3K7P: Kernel, GT0326 Base-Nymph, PREQ308: Extend zonal
  4234 		allocaton API to accept more than one Zone (was CR1353)
  4235 		Addition of 2 new APIs to the Epoc class that allow mulitple RAM zones to be specified for
  4236 		the allocation of either contiguous or discontiguous RAM from the specifed RAM zones only.
  4237 
  4238 4.	OlegI
  4239 	1.	MINOR_CHANGE: Developement CR BBRE-79VKSR: Kernel, GT0339 Base Meteora, Changes to Base Template
  4240 		Extension Makefiles to support Raptor
  4241 		Actually those changes were made by Tools Team. Made as a Base Team submission for testing purpose.
  4242 
  4243 5. 	SushmitaR
  4244 	1. 	MINOR_CHANGE: Fix incorrect #ifdef __EPOC32__ in d_memorytest.cpp
  4245 
  4246 6.	LukaszF
  4247 	1.	CHANGE REQUEST: Development CR: BBRE-79KLJQ, GT0339 Base Meteora, Peripherals: Upgrade netcards.exe to support WiFi
  4248 
  4249 7.	TomCosgrove
  4250 	1.	MINOR_CHANGE: Fix spelling of "hysteresis" in e32/common/heap.cpp
  4251 
  4252 8.	SharathK
  4253 	1.	DEFECT FIX: DEF116310: Description of the class TFindLogicalDevice is incomplete.
  4254 		Description is completed.
  4255 	2.	DEFECT FIX: DEF116312: Description of class TFindPhysicalDevice is incomplete.
  4256 		Description completed.
  4257 
  4258 
  4259 Version 2.00.1744
  4260 =================
  4261 (Made by fabiangortz 11/01/2008)
  4262 
  4263 1.	TomCosgrove
  4264 	1.	DEFECT FIX: DEF116082: Bug in e32test\benchmark\thread.cpp
  4265 		Fix cut'n'paste error to give right function name to call
  4266 	2.	MINOR_CHANGE: Fix spelling of 'omission' in template/template_variant/variant.mmh
  4267 	3.	DEFECT FIX: DEF116116: Kern::ThreadRawRead can fault the kernel using the multiple memory model
  4268 		Range checking can wrap round, both in multiple/arm/xkernel.cpp as in the defect, and
  4269 		in various other places.  Fixed all of these that were found.  Added test cases to
  4270 		t_rmdebug2.
  4271 
  4272 2.	DjordjeK
  4273 	1.	DEFECT FIX: DEF114931: The changes in PTE/PDE are temporarily invisible by H/W Page Table Walk
  4274 		Support for sharable page tables among CPUs that do not share L2 cache.
  4275 
  4276 3.	NicholasC
  4277 	1.	INC115900: Incomplete variation points for MSFS.FSY
  4278 
  4279 4.	georgiosdementis
  4280 	1.	MINOR CHANGE: Framebuffer video driver for the x86 platform
  4281 
  4282 5.	RajivM
  4283 	1.	DEFECT FIX: DEF115997: A created file is deleted in C drive when "gobble" command is executed again.
  4284 		Fixed the defect by putting a check before deleting an existing file. Now "gobble" does
  4285 		not delete an existing file.
  4286 
  4287 6.	NeilC
  4288 	1.	DEFECT FIX: DEF115056: Cache alignment in DMA sync
  4289 		Replaced iSDStatus buffer with use of iPSLBuf such that known DMA'able memory is used.
  4290 
  4291 
  4292 Version 2.00.1743
  4293 =================
  4294 (Made by patrickconway 08/01/2008)
  4295 
  4296 
  4297 1.	TomCosgrove
  4298 	1.	MINOR_CHANGE: Fix spelling of variable 'chunkTraceEnabdled' in test t_btrace.cpp
  4299 	2.	MINOR_CHANGE: Fix spelling of 'exculding' in comments in e32/euser/us_exec.cpp
  4300 	3.	MINOR_CHANGE: Fix in-source doc comments in e32/euser/us_exec.cpp
  4301 		Correct an argument name in User::SetUTCTime(), User::SetUTCTimeSecure()
  4302 		and User::SetUTCTimeAndOffset() (aUTCTime, not aTime).  SetUTCTimeSecure()
  4303 		was mentioned as an aside in INC115634; fixing the rest while here.
  4304 	4.	MINOR_CHANGE: Base documentation changes for INC115634: Capability requirements not rendered for SetUTCTimeSecure and User::SetHomeTimeS
  4305 		There should be only one capability in each @capability entry.
  4306 
  4307 
  4308 Version 2.00.1742
  4309 =================
  4310 (Made by NeilC 27/12/2007)
  4311 
  4312 1.	RoopaR
  4313 	1.	DEFECT FIX: DEF115209: Missing Description for DComm class , its data members and members functions
  4314 
  4315 2.	DjordjeK
  4316 	1.	DEFECT FIX: PDEF115839: Not possible to run MEMTRACE in Edgar
  4317 		Minor issue with memtrace tool on emulator.
  4318 
  4319 3.	MarkTa
  4320 	1.	DEFECT FIX:  DEF114283: T_RAMDEFRAG fails intermittently
  4321 		Some tidying of t_ramdefrag so it is more flexible with regards to the
  4322 		physical layout of RAM before the test is run. Also, improve t_defrag_ref
  4323 		so that it doesn't assume that allocations to the least preferable RAM zone
  4324 		will always succeed.
  4325 
  4326 
  4327 Version 2.00.1741
  4328 =================
  4329 (Made by indrajeetsingh 21/12/2007)
  4330 
  4331 1.	JonathanM
  4332 	1.	DEFECT FIX: DEF115591: TVMHalFunction sysdoc not rendered correctly in developer library
  4333 
  4334 
  4335 Version 2.00.1740
  4336 =================
  4337 (Made by DeleO,17/12/2007)
  4338 
  4339 1.	DipakA
  4340 	1.	DEFECT FIX: DEF114276: T_PIPE fails.
  4341 
  4342 2.	MichaelP
  4343 	1.	MINOR_CHANGE: Fixed 'G' option in T_USB.
  4344 
  4345 3.	MarkTa
  4346 	1.	DEFECT FIX: INC115424: Printf's are printed twice, because TraceHandler return value is not checked
  4347 		Reinserted accidentally removed if statement.
  4348 
  4349 4.	GayathriR
  4350 	1.	DEFECT FIX:	PDEF114165: Base Quality USB - Incorrect error handling, SetInterface and ReleaseInterface
  4351 
  4352 5.	YogeshC
  4353 	1.	DEFECT FIX: DEF114398: Num Lock Key toggle does not work correctly on Version 9.4
  4354 
  4355 6.	TomCosgrove
  4356 	1.	DEFECT FIX: PDEF115572: RHeap::Available(TInt&) performs unsafe heap iFree access
  4357 		Relocate Lock() to before pC initialisation, as suggested by defect.
  4358 	2.	MINOR_CHANGE: Fix description of BTrace event EPagingMapCode.
  4359 	3.	MINOR_CHANGE: Remove list of Exception-related RThread methods in Appendix B, as they
  4360 		were moved to User a long time ago.  (The methods implemented in User only work on the
  4361 		current process, so don't need to be referenced here.)
  4362 	4.	DEFECT FIX: DEF115627: nk_trace.h has inconsistent comments for trace bit allocation
  4363 		Trace bits 192-255 (not 224-255) are reserved for licensee partners.  Fix spelling
  4364 		of "licensees" while here.
  4365 
  4366 7.  VitalyR
  4367     	1.	DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
  4368 
  4369 8.	ReubenH
  4370 	1.	DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
  4371 	2.	DEFECT FIX: DEF114155: Secure clock: User-mode setting API uses wrong flag
  4372 
  4373 
  4374 
  4375 Version 2.00.1739
  4376 =================
  4377 (Made by LukaszF, 10/12/2007)
  4378 
  4379 1.	JonCo
  4380 	1.	DEFECT FIX: DEF115220: ARM Errata 424692 and 424067 workaraound
  4381 		Replace use of InvalidateTLBForAsid with FlushTLBs
  4382 
  4383 
  4384 Version 2.00.1739
  4385 =================
  4386 (Made by DmitryL 06/12/2007)
  4387 
  4388 1.	RyanHarkin
  4389 	1. MINOR_CHANGE: adding extra SYM_BRANCH comments to code
  4390 
  4391 2.	JohnS
  4392 	1.	DEFECT FIX: PDEF115048: Possible problem with FAT cleanser modification to Unistore2 core code.
  4393 		Reinstate call to CollectGarbage() in SM_MarkDeletion () routine.
  4394 
  4395 3.	JenniferH
  4396 	1.	DEFECT FIX: DEF114521: RTimer - undocumented feature when calling RTimer::Inactivity(0)
  4397 
  4398 
  4399 Version 2.00.1738
  4400 =================
  4401 (Made by DjordjeK 04/12/2007)
  4402 
  4403 1.	SebO
  4404 	1.	DEFECT FIX: DEF113488: Emulator Window now does strange things upon rotating.
  4405 	2.	DEFECT FIX: INC114502: Emulator startup configuration is not deterministic
  4406 
  4407 2.	JonathanM
  4408 	1.	DEFECT FIX: DEF115080: Kernel compile error if BTRACE_CHUNKS not enabled
  4409 
  4410 3.	MarkTa
  4411 	1.	DEFECT FIX:  DEF114225: DefragRam unexpectedly stops defragmentation when a fixed page is found
  4412 		Adjust the general defragmentation algorithm to skip RAM zones containing immovable pages and
  4413 		continue to attempt to defrag the other RAM zones.
  4414 
  4415 4.	DjordjeK
  4416 	1.	DEFECT FIX: INC114591: T_LOADER_DELETE fails
  4417 		Stops lazy unloader in setcap tool.
  4418 
  4419 5.	AndreiMironenko
  4420  	1.	DEFECT FIX: PDEF114596: Unistore2 driver enables interrupts at wrong point
  4421 
  4422 
  4423 Version 2.00.1737
  4424 =================
  4425 (Made by OlegI 26/11/2007)
  4426 
  4427 1.	TomCosgrove
  4428 	1.	DEFECT FIX: PDEF114622: Pow bug
  4429 		pow(x, +Inf) was returning NaN for x < -1.  Should return Inf.
  4430 		Also found and fixed several other cases where pow() didn't comply with the ISO spec.
  4431 	2.	BREAK REQUEST: BR2278.2 Make Math::Pow() conform to the C standard for pow()
  4432 	3.	MINOR CHANGE: x86 platform only (not emulator): rework interrupt mechanism to allow
  4433 			any interrupt to be shared.
  4434 
  4435 2.	Dennis
  4436 	1.	MINOR_CHANGE: x86 platform only - change UART driver so RX interrupt is
  4437 			triggered when there are 4 rather than 8 characters in the RX FIFO.
  4438 	2.	MINOR_CHANGE: Fix problems with T_MSTIM test:
  4439 			Assertion triggered if C++ version of nanokernel timer code is used.
  4440 			Integer overflow in TicksToMicroseconds() on x86.
  4441 
  4442 3. 	SushmitaR
  4443 	1. 	DEFECT FIX: DEF114657 t_ramdefrag does not cover all scenarios for aMaxPages
  4444 		Add test cases to verify that if aMaxPages != 0, but is valid, then the correct amount of pages
  4445 		are moved or discarded of. Also added other test improvements.
  4446 
  4447 
  4448 Version 2.00.1736
  4449 =================
  4450 (Made by ReubenH 22/11/2007)
  4451 
  4452 1.	MichaelCox
  4453 	1.	DEFECT FIX: PDEF114092: Error handling problem with DSoundLdd asynchronous requests
  4454 	2.	DEFECT FIX: PDEF114093: DSoundLdd needs error notifications within DoRequest
  4455 
  4456 2.	JonCo
  4457 	1.	DEFECT FIX: INC113879: CFileMan::Rename() shows performance regression.
  4458 		Turned buffering of epocwind.out back on after it had been inadvertently disabled
  4459 
  4460 
  4461 Version 2.00.1735
  4462 =================
  4463 (Made by NeilC 16/11/2007)
  4464 
  4465 1.	MichaelCox
  4466 	1.	CHANGE REQUEST: Development CR RFID-73RE3H: Kernel, GT0326 Base-Nymph, Add traceflags to enable/disable crash debugger and crash logger
  4467 
  4468 2.	MichaelP
  4469 	1.	BREAK REQUEST:  BR2155.1  Remove Stack Enable/Disable APIs from USB Client Driver.
  4470 		Removed USB LDD user-side APIs
  4471 			RDevUsbcClient::EnableUsbDriver;
  4472 			RDevUsbcClient::DisableUsbDriver;
  4473 		Updated USB API Guide accordingly, upped document version to 3.0.7.
  4474 
  4475 3.	JonathanM
  4476 	1.	CHANGE REQUEST: Development CR: BBRE-78XEDX Kernel, GT0326 Base-Nymph, More Btrace information for Demand Paging
  4477 		This adds two new traces to the BTrace::EPaging category: EPagingDecompressStart and EPagingDecompressStart.
  4478 
  4479 4.	SharathK
  4480 	1.	DEFECT FIX: DEF113075:  Description for struct Emulator is missing.
  4481 		Added Insource documentation
  4482 
  4483 5.	Radhakrishnanramanat
  4484 	1.	DEFECT FIX: DEF111161: inconsistent amount of data returned by RmdaDevSound (old sound drivers)
  4485 		Modified flush record scenario to update the partial buffer.
  4486 
  4487 6.	PatrickConway
  4488 	1.	CHANGE REQUEST: Development CR: PHAR-75TF6J Kernel, GT0326 Base-Nymph, Product Usability: Provide a standard TIgnoreOverflow for 				TDes8/16::Format
  4489 
  4490 7.	LukaszF
  4491 	1.	DEFECT FIX: DEF113817: Fixed comment syntax for comments in TMappingAttributes enum. They followed the items, instead of coming before).
  4492  	2.  DEFECT FIX: DEF112227: Removed the sentence "This function can be called with the system lock held" from Kern::ThreadFromId and Kern::ProcessFromId.
  4493 
  4494 8.	SamiraA
  4495 	1.	DEFECT FIX: DEF113630: APIREG:Clearing password for emulated drive does not work always.
  4496 	DMMCSession::SetupCIMInitStackAfterUnlock() does not set iCardP to NULL anymore
  4497 
  4498 
  4499 Version 2.00.1734
  4500 =================
  4501 (Made by MariamSood 13/11/2007)
  4502 
  4503 1. VitalyR
  4504 	1.	DEFECT FIX: DEF113638: Incorrect calculation of composition buffer offset in tvout and display0 driver
  4505 	2.	MINOR_CHANGE: Change comments about "Base_Pixel_Formats.doc" file
  4506 	3.	MINOR_CHANGE: Add Display Driver API and Pixel Formats documentation.
  4507 
  4508 2.	SushmitaR
  4509 	1. 	DEFECT FIX: DEF113790 Bug in MmuBase::FreePhysicalRam() function
  4510 		Change in-source comments and remove the test attempting to free from an invalid address in t_ramdefrag
  4511 
  4512 3.	DipakA
  4513 	1. 	DEFECT FIX: DEF113660: RPIPE::NotifySpaceAvailable() doesn't return the appropriate status value.
  4514 		Code added in Wait function to mark the handle as Read end (and Write end). Also changed source documentation
  4515 		for WaitForReader and WaitForWriter. T_pipe updated to verify the same.
  4516 
  4517 4.	MArkTa	DEFECT FIX: DEF097962: Simulated OOM in RHeap is a point failure
  4518 		Added new burst failure mechanisms that allow the heap allocations to fail in bursts for all
  4519 		the existing failure types.  Also added new function to return the number of failures so
  4520 		far.
  4521 
  4522 5.	Dennis
  4523 	1.	MINOR CHANGE: Add support for BIOS calls during kernel initialisation phases 0 and 1.
  4524 			Affects only x86 platform, not ARM or emulator.
  4525 
  4526 
  4527 Version 2.00.1733
  4528 =================
  4529 (Made by ParameshwariB 09/11/2007)
  4530 
  4531 1.	MiguelB
  4532 	1.	DEFECT FIX: DEF111541: Force Erase times-out if MMC PSL incorrectly implemented
  4533 
  4534 2.	JenniferH
  4535 	1.	DEFECT FIX: DEF113356: DBTraceFilter2::New fails in OOM
  4536 
  4537 3.	MichaelCox
  4538 	1.	CHANGE REQUEST:	Development CR: PHAR-756J5K Kernel, GT0286 Base KnP, Product Usability:
  4539 		Detecting cleanup stack imbalance when exiting RunL
  4540 
  4541 4.	OlegI
  4542 	1.	DEFECT FIX: DEF113720: ksrt2_2 should be a KLIB
  4543 	2.	DEFECT FIX: DEF113718: genexec.pl is not portable
  4544 		Updated to be compatible with the Unix based build system
  4545 	3.	DEFECT FIX: PDEF113932: Monitor::HandleException (on ARM) passes wrong parameters
  4546 
  4547 5.	DjordjeK
  4548 	1.	DEFECT FIX: DEF113779: ARM1176 bug
  4549 		1176 Errata fix.
  4550 
  4551 6.	MichaelCox
  4552 	1.	DEF113793: Filename Policy non-conformance generates build warnings
  4553 
  4554 7.	ArchanaH
  4555 	1.	DEFECT FIX: PDEF113772 :Div by 0 possibility it Wins::CalibrateCpuSpeed()
  4556 	        Propogated from INC111126
  4557 		Added code to improve the calculations made to get real CPU speed.
  4558 
  4559 8.	ReubenH
  4560 	1.	DEF113493: Secure Clock does not completely handle integer wrapping
  4561 	2.	DEF113494: Inconsistent capability checking for setting Non Secure Clock offset
  4562 	3.	MINOR_CHANGE: Made small improvement to t_time
  4563 
  4564 9.	NeilC
  4565 	1.	DEFECT FIX: DEF111726: <BASE Quality SD> Initialisation - Failure handling of CMD8 is incorrect
  4566 	2.	DEFECT FIX: DEF112574: <BASE Quality SD> Prevent locking if card is PERM_WRITE_PROTECTED
  4567 	3.	DEFECT FIX: DEF113079: <Base Quality SD> Blocklength ASSERT for CPRM Compliance
  4568 
  4569 
  4570 Version 2.00.1732
  4571 =================
  4572 (Made by SushmitaR 07/11/2007)
  4573 
  4574 1.	TomCosgrove
  4575 	1.	DEFECT FIX: PDEF113635: Not enough licensee keycodes available
  4576 		Added 8 more of each type of key code (EStdKeyDevice, EStdKeyApplication,
  4577 		EKeyDevice and EKeyApplication) in e32keys.h.  Added appropriate entries to
  4578 		emulator key mappings in keyboard.cpp, and added EStdKey-to-EKey (scan code
  4579 		to key code) mappings for the emulator in keymap.cpp.
  4580 2.	SebO
  4581 	1.	MINOR CHANGE: Update BASE/E32/41 entry in functional spec on Bill's behalf
  4582 
  4583 3.	MarkTa
  4584 	1.	DEFECT FIX: DEF113172: Description missing for functions of "Class Kern"
  4585 		Fix lots of doxygen tagging errors and add any missing documentation.
  4586 		Also, fix C preprocessor errors with ARM asm version of Kern::ValidateFullName() and fix it as well.
  4587 		New test code for Kern::ValidateName() and Kern::ValidateFullName().
  4588 	2.	DEFECT FIX: DEF113566: Bug in D_RAMDEFGRAG.CPP
  4589 		Fix use of TESTDEBUG and add iPageShift for byte to page and page to byte conversions.
  4590 
  4591 4.	MiguelB
  4592 	1.	DEFECT FIX: DEF112961: Data abort in ekern.exe::MultiMediaCard0 when card removed during write
  4593 		Prevent DOmapMMCStack::InterruptDFC() from dereferencing a NULL session pointer
  4594 	2.	DEFECT FIX: PDEF113642: Partition Table Entry will be incorrect for SD cards over 8GB
  4595 
  4596 5.	JonCo
  4597 	1.	DEFECT FIX: DEF113545: Bug in ARM_WFIcc, ARM_WFEcc & ARM_SEVcc macro
  4598 
  4599 6.	patrickconway
  4600 	1.	DEFECT FIX: DEF112917:  t_zip e32test does not build on top of CBR release
  4601 
  4602 7.	MichaelCox
  4603 	1.	DEFECT FIX: PDEF112797: MEDSDP can not handle FAT16
  4604  		For 16GB+ SD cards (which are not yet available!), allow the protected area to
  4605  		be formatted as FAT16 rather than FAT12
  4606 
  4607 8. RajivM
  4608  	1.	DEFECT FIX: DEF113077: Missing description for TFatUtilityFunctions, SLocaleData, LMessages and Locl
  4609 		In Source documentation added for TFatUtilityFunctions, SLocaleData, LMessages and Locl.
  4610 
  4611 9. georgiosdementis
  4612  	1.	MINOR_CHANGE: Suppress the output of the H4HRP boards during automatic overnight base team testing.
  4613 
  4614 Version 2.00.1731
  4615 =================
  4616 (Made by SivashankarN 30/10/2007)
  4617 
  4618 1.	TomCosgrove
  4619 	1.	MINOR CHANGE: Fix comment on ELangNone in e32const.h:enum TLanguage (0xFFFF is for
  4620 		1023 languages * 16 dialects, not just 1023 languages)
  4621 	2.	CHANGE REQUEST: Development CR: PHAR-76CMGU Kernel, GT0326 Base-Nymph, Product Usability: Put TLanguage into it's own header file
  4622 		Moved TLanguage enum from e32/include/e32const.h to e32/include/e32lang.h.
  4623 	3.	MINOR CHANGE: Fix typos in e32/include/e32btrace.h comments
  4624 
  4625 2.	DjordjeK
  4626 	1.	MINOR CHANGE: Enable writes into hard disk on x86pc baseport. Other platforms unaffected.
  4627 
  4628 3. RyanHarkin
  4629 	1. DEFECT FIX: DEF113395 - updated document to say that we can only use MMC card slot 1
  4630 
  4631 4.	MichaelP
  4632 	1.	BREAK REQUEST:  BR1960.1  USB Driver PIL API restriction.
  4633 		The interface between USB PDD (PIL) and USB LDD has been made Symbian internal.
  4634 		Reclassifying it as @internalTechnology will make it easier to maintain the
  4635 		interface. Some elements of class DUsbClientController will however remain
  4636 		@publishedPartner because they are also used by the layer underneath the PIL
  4637 		(the PSL - the Base port part of the USB driver).
  4638 
  4639 5.	SebO
  4640 	1.	DEFECT FIX: DEF112386: missing information in TExcType
  4641 	2.	MINOR CHANGE: Add REQ8591 to Functional Spec
  4642 	3.	DEFECT FIX: DEF112810: Emulator screen not refreshed on initial run for WINS
  4643 
  4644 6.  AndrewSmi
  4645 	1.	DEFECT FIX: DEF111733: Run-mode debug: Kernel heap allocation failure not reported by GetList()
  4646 	2.	DEFECT FIX: DEF112909: DSS multi-agent suspend\resume thread support
  4647 		Modified Debug Device Driver's handling of thread suspension to permit this.
  4648 	3.	MINOR_CHANGE: Add out-of-memory testing capability to t_rmdebug2. This can be configured from t_rmdebug2.mmp.
  4649 
  4650 7.	RichardCo
  4651 	1.	DEFECT FIX: DEF112269: T_VFP crashes on ARMv7
  4652 		Update T_VFP to deal with full ARMv7 VFPv3 specification. Should not affect current platforms.
  4653 
  4654 8. 	JohnS
  4655 	1. 	MINOR_CHANGE: Add WINS & WINSCW metabld scripts for building generic base unistore2 drivers and emulator
  4656 		specific binaries.
  4657 
  4658 9.	MarkTa
  4659 	1.	DEFECT FIX: DEF113174: API reference missing for NKern::LockSystem in developer library
  4660 		Fix incorrect doxygen tags that were missing a '<' character.  Add descriptions for TContext.
  4661 
  4662 
  4663 
  4664 
  4665 
  4666 
  4667 Version 2.00.1730
  4668 =================
  4669 (Made by KaiD 26/10/2007)
  4670 
  4671 1.	JonCo
  4672 	1.	DEFECT FIX: DEF112265: DevKit Defects PER Helpdesk 003253: Bug in T_BTB test
  4673 
  4674 2.	RichardCo
  4675 	1.	DEFECT FIX: DEF113043: Zone initialization failure for each coalesced boot bank
  4676 		Initialise the number of coalesced zones, not the original number
  4677 
  4678 3.	JenniferH
  4679 	1.	DEFECT FIX: DEF112973: ARM1176 & ARMV7 specific build errors within memory model
  4680 
  4681 4.	MariamSood
  4682 	1.	DEFECT FIX: DEF113016: TDriveUnit() does not return error for invalid drive
  4683 
  4684 5. 	MarkTa
  4685 	1.	MINOR CHANGE - - Add How To Config RAM Defrag document and update functional spec
  4686 		for PREQ308/REQ6949.
  4687 6.	HaoJ
  4688 	1.	DEFECT FIX: PDEF112695: Add langauge enums to cover more of the world
  4689 
  4690 
  4691 Version 2.00.1729
  4692 =================
  4693 (Made by JohnS 23/10/2007)
  4694 
  4695 1.	GayathriR
  4696 	1.	DEFECT FIX: DEF112114: BASE QUALITY USB - Alternate Setting High Speed Bulk EP packet size not 512
  4697 
  4698 2.	MarkTa
  4699 	1.	MINOR CHANGE - Fix d_ramdefrag and d_defrag_ref's entry points so they use AsyncClose() to
  4700 		destroy any DObject based objects.
  4701 	2.	DEFECT FIX: DEF112926: TRK driver calls delete on a DObject in low memory conditions
  4702 		Ensure that DObject derived objects are closed rather than deleted.
  4703 
  4704 3.	AndrewHi
  4705 	1.	DEFECT FIX: DEF100679: (P) MVS App: Playing any audio file at zero volume always plays at constant vol
  4706 
  4707 4. 	SushmitaR
  4708 	1. 	MINOR CHANGE: Ensure that t_ramdefrag adjusts the number of files to create according to the size
  4709 		of the MMC. Also added test improvements for muliple thread test cases.
  4710 
  4711 5.	NavneetS
  4712 	1. 	DEFECT FIX: DEF111803:Documentation for TExitType::EExitKill needs improving.
  4713 		Insource documentation changed  in e32const.h for the EExitKill enum .
  4714 6. 	VitalyR
  4715 	1.  DEFECT FIX: DEF112606: Wrong name in pixelformats.h
  4716 	2.	DEFECT FIX: DEF112608: Crash in kernel while GCE tries to operate with displaychannel
  4717 
  4718 7. 	LukaszF
  4719   1.  DEFECT FIX:PDEF113533: Baseport build fails in release mode in SOS9.4 Wk38
  4720 
  4721 
  4722 Version 2.00.1728
  4723 =================
  4724 (Made by indrajeetsingh 10/10/2007)
  4725 
  4726 1.	RichardCo
  4727 	1.	DEFECT FIX: DEF112406: NKern::FMFlash BTrace output has no return address logged
  4728 		Rewrite NKern::FMFlash and NKern::FlashSystem in assembly so that they can log
  4729 		better BTrace data. This also slightly improves their performance in all cases.
  4730 
  4731 2.	MarkTa
  4732 	1.	MINOR CHANGE: Correct in source comments for SRamZone etc in kernboot.h.
  4733 	2.	DEFECT FIX: DEF111875: TScheduler::Reschedule() Bug in ncsched.cia
  4734 		Ensure the FPEXC_REG2 and FPEXC_REG3 macros are used when they are required to be.
  4735 
  4736 3.	TomCosgrove
  4737 	1.	DEFECT FIX: DEF111913: The emulator doesn't handle PCs with multiple monitors properly
  4738 		Extend visibility checking to allow emulator window to be restored onto non-primary monitor
  4739 	2.	MINOR CHANGE: Fix typos in e32/include/e32capability.h comments
  4740 
  4741 4.	JonathanM
  4742 	1.	DEFECT FIX: DEF112530: T_BTRACE test fails on ARMV6 & ARMV7 platforms
  4743 
  4744 5. JonCo
  4745 	1.	DEFECT FIX: PDEF112671: rom.pl cannot handle no extention files
  4746 
  4747 6.	PrashantHG
  4748  	1. 	DEFECT FIX : DEF111986 :Error in comment in the Class interrupt : Updated the documentation in assp.h
  4749 		and interrupt.h for the Interrupt::Bind() function.
  4750 7.	SushmitaR
  4751 	1.	MINOR CHANGE: Ensure that t_defrag_ref accounts for when the least preferable zone cannot be claimed
  4752 	2. 	DEFECT FIX: DEF111951: T_RAMDEFRAG Fails on H2 but only when run as part of an autotest ROM
  4753 		Ensure that T_RAMDEFRAG is more flexible to different layouts of RAM by checking whether a general defrag should empty any zones.
  4754 		Other minor test flexibility improvements also added.
  4755 
  4756 8.	ReubenH
  4757 	1.	DEFECT FIX: INC112328: S60 5.0 Clock: Time setting is changing by itself
  4758 		One-line change to Kern::SetSystemTimeAndOffset() ensuring RTC is not written unless the
  4759 		ETimeSet_SetHwRtc flag is used, even if it's the secure clock being updated.
  4760 
  4761 
  4762 Version 2.00.1727
  4763 =================
  4764 (Made by DeleOgunjumelo 04/10/2007)
  4765 
  4766 1.	SebO
  4767 	1.	CHANGE REQUEST: CR1068: Screen 0 of WINS emulator should be able to have scroll bars.
  4768 	2.	DEFECT FIX: DEF110282: IMPORT_C/EXPORT_C: KHeapMinCellSize and KHeapShrinkHysRatio
  4769 	3.	DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
  4770 
  4771 2.	MiguelB
  4772 	1.	MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
  4773 		INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
  4774 		Separate out existing base_e32 component into the following components :
  4775 			e32\base_e32.mrp
  4776 			e32\drivers\adc\base_e32_drivers_adc.mrp
  4777 			e32\drivers\bsp\base_e32_drivers_bsp.mrp
  4778 			e32\drivers\debug\base_e32_drivers_debug.mrp
  4779 			e32\drivers\ecomm\base_e32_drivers_ecomm.mrp
  4780 			e32\drivers\esound\base_e32_drivers_sound.mrp
  4781 			e32\drivers\ethernet\base_e32_drivers_ethernet.mrp
  4782 			e32\drivers\locmedia\base_e32_drivers_locmedia.mrp
  4783 			e32\drivers\media\base_e32_drivers_media.mrp
  4784 			e32\drivers\trace\base_e32_drivers_trace.mrp
  4785 			e32\drivers\usbc\base_e32_drivers_usbcli.mrp
  4786 			e32\euser\base_e32_euser.mrp
  4787 			e32\ewsrv\base_e32_ewsrv.mrp
  4788 		N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
  4789 		Alterations made to the OSD Categories / S12 names of various distribution.policy files to satisfy the new rules.
  4790 	2.	DEFECT FIX: DEF112230: SD stack fails to read SDHC card if controller has no support for CMD6 (Switch)
  4791 
  4792 3. 	SushmitaR
  4793 	1. 	Minor Change: Minor improvments to t_ramdefrag
  4794 
  4795 4.	GayathriR
  4796 	1.	DEFECT FIX: DEF111033: USB LDD shouldn't accept negative length parameters
  4797 
  4798 5.	HaoJ
  4799 	1.	DEFECT FIX: PDEF110852: No ELangXxx enums for Basque and Galician
  4800 		Added two enums for supporting Basque and Galician.
  4801 
  4802 6.	georgiosdementis
  4803 	1.	DEFECT FIX: DEF108105: Control returns to the wrong place when calling User::Leave
  4804 		Added a call to an empty function as part of the TRAP implementation.
  4805 
  4806 7.	OlegI
  4807 	1.	MINOR_CHANGE: Development CR: BBRE-77DHGN Kernel, GT0326 Base-Nymph, PREQ1700 (Product usability):
  4808 		Update crash debugger to provide compression option for BTrace data
  4809 		REQ8392: Kernel: Update crash debugger to provide compression option for BTrace data
  4810 
  4811 
  4812 
  4813 Version 2.00.1726
  4814 =================
  4815 (Made by JonathanM 02/10/2007)
  4816 
  4817 1.	JonathanM
  4818 	1.	DEFECT FIX: DEF112382: Header file dependecy problem with RAMALLOC.H
  4819 
  4820 Version 2.00.1725
  4821 =================
  4822 (Made by LukaszForynski 01/10/2007)
  4823 
  4824 1.	MichaelP
  4825 	1.	DEFECT FIX: DEF111566: USBMSAPP shouldn't be built from two different locations
  4826 		Deleted the H4 target .MMP file (/omap_hrp/h4/usbmsapp.mmp) and changed the
  4827 		respective file entry in /omap_hrp/h4/rom/kernel.iby to now use the generic
  4828 		version of USBMSAPP (i.e. 'usbmsapp.exe' instead of '_h4hrp_usbmsapp.exe').
  4829 	2.	DEFECT FIX: DEF112048: USB PDD PIL issues spurious warnings
  4830 		Changed most KTRACE flags in DUsbClientController::NextDeviceState()
  4831 		from KPANIC to KUSB.
  4832 
  4833 2.	JonCo
  4834 	1.	DEFECT FIX: DEF111941: DP: Obsolete ENABLE_CODE_PAGING flag should be removed
  4835 
  4836 3.	indrajeetsingh
  4837 	1.	DEFECT FIX: PDEF109251: t_nandbm fails to run on various platforms
  4838 
  4839 4.	MarkTa
  4840 	1.	DEFECT FIX: DEF111952: Some test cases fail on H2 ARM4 builds
  4841 		Stop t_pagestress from doing alignment checks on ARM4 builds.
  4842 		Protect against division by zero in t_defragperf when t_defragdll0 is too small.
  4843 
  4844 5.	OlegI
  4845 	1.	DEFECT FIX: DEF111391: No documentation for descriptor Collapse() and Expand()
  4846 
  4847 
  4848 
  4849 
  4850 Version 2.00.1724
  4851 =================
  4852 (Made by MarkTa 26/09/2007)
  4853 
  4854 1.	RyanHarkin
  4855 	1.	DEFECT FIX: DEF111491: Fibula: 0xdead data received
  4856 
  4857 2.	DjordjeK
  4858 	1.	Minor Change: Document update: Base_How_To_ARMv7_Cache_And_Access_Remapping - Design.doc
  4859 
  4860 3.	AndrewSmi
  4861 	1.	MINOR_CHANGE: Run-mode debug test code. Modify t_rmdebug2 test code to
  4862 		enable running tests individually. Add help (-h) and version (-v) options
  4863 		to t_rmdebug2.exe command line arguments.
  4864 
  4865 4.	MiguelB
  4866 	1.	DEFECT FIX: DEF111721: H2 & H4 MMC interrupt handler may compile incorrectly
  4867 
  4868 5.	MarkTa
  4869 	1.	MILESTONE: Naiad, GT0302, MS3.5.2 DS503 PREQ308 - Defragment physical RAM.
  4870 		- Addition of the RAM zone concept.
  4871 		- New APIs to allow RAM to be physically defragmented, either all of RAM or a
  4872 		specified RAM zone.
  4873 		- Updated H4 base port to show how to potentially use RAM zones to save power
  4874 		and allow a large physically contiguous buffer to be obtained without having to
  4875 		reserve it from the rest of the system.
  4876 		- Update H2 base port to stress the RAM zone code.
  4877 
  4878 
  4879 Version 2.00.1723
  4880 =================
  4881 (Made by DmitryL 11/09/2007)
  4882 
  4883 1.	ReubenH
  4884 	1.	MINOR_CHANGE: Adding BTrace documentation for EHeap category
  4885 
  4886 2.	MiguelB
  4887 	1.	DEFECT FIX: DEF111103: IPR errors in base_e32test
  4888 
  4889 3.	MichaelP
  4890 	1.	DEFECT FIX: DEF111395: USB PIL wrongly resets endpoint data toggles
  4891 		Removed calls to ResetDataToggle() from some PIL functions such that it now
  4892 		only gets called for the relevant endpoints in InterfaceSetTeardown() (plus
  4893 		of course for a CLEAR_FEATURE(ENDPOINT_HALT) request).
  4894 4.	Yogesh Chauhan
  4895 	1.	DEFECT FIX: DEF110633: Warnings generated with checksource build
  4896 
  4897 5.	JonathanM
  4898 	1.	DEFECT FIX: PDEF111465: No API to determine VID from DThread
  4899 
  4900 6.	JonCo
  4901 	1.	DEFECT FIX: PDEF111457: Kernel exception during NThreadBase::Kill
  4902 
  4903 7.	NeilC
  4904 	1.	DEFECT FIX: DEF111080: <Base Quality SD> Initial Clock speed value not checked
  4905 	2.	DEFECT FIX: DEF111081: <Base Quality SD> Data Transfer Clock speed value not checked - PSL
  4906 	3.	DEFECT FIX: DEF111082: <Base Quality SD> Data Transfer Clock speed value not checked - PIL
  4907 
  4908 8.	VitalyR
  4909 	1.	DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
  4910 	2.	MINOR_CHANGE: TI H4 baseport version 9.61 for LCD.
  4911 	3.	MILESTONE: Oghma, GT0302, MS3.13 DS697 CR0978: LCD Driver update to support off-screen image buffer.
  4912 
  4913 
  4914 
  4915 Version 2.00.1722
  4916 =================
  4917 (Made by OlegI 04/09/2007)
  4918 
  4919 1.	OlegI
  4920 	1.	DEFECT FIX: PDEF111121: Messaging SBTM (3SK): H4 crashes as I open messaging while OOM
  4921 
  4922 2.	SebO
  4923 	1. 	DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
  4924 	2.	DEFECT FIX: DEF110299: __ARM_scalbn should be declared IMPORT_C.
  4925 
  4926 3.	AndrewSmi
  4927 	1.	DEFECT FIX: DEF109608: Debug namespace (rm_debug_api.h) comment problems
  4928 	2.	DEFECT FIX: DEF110096: Run mode debug: KRomImageDebuggable constant in e32rom.h should be @released
  4929 	3.	DEFECT FIX: DEF110837: Run mode debug - warnings produced when compiling on unsupported platform
  4930 	4.	MINOR_CHANGE: Add test case identifier comment for CRunModeAgent::TestDllUsage
  4931 
  4932 
  4933 Version 2.00.1721
  4934 ==========================
  4935 (Made by ReubenH, 29/08/2007
  4936 
  4937 1.	JonCo
  4938 	1.	DEFECT FIX: DEF110944: Precondition checks going off in the crash debugger
  4939 
  4940 2.	DjordjeK
  4941 	1.	DEFECT FIX: DEF111169: [System Build]:CBR Errors and warnings in M04329 v9.4 and M04329 v9.5
  4942 	2.	Minor Change: Support for Network Boot on X86 platform.
  4943 
  4944 3.	Radhakrishnanramanat
  4945 	1.	DEFECT FIX: DEF109461: NKern::FSWait does include not holding a fast mutex as a precondition
  4946 		Added precondition to check holding fast mutex.
  4947 
  4948 4.	ArchanaH
  4949 	1.	DEFECT FIX: DEF109992: t_boottime.cpp needs the changes to free LDD
  4950 		Added code to check for the error code while loading the driver and to free the driver.
  4951 
  4952 5. RaghavendraB
  4953 	1.  DEFECT FIX: DEF109703: [SITK v1.0] Warnings generated with checksource build.
  4954 
  4955 6. 	MArkTa
  4956 	1.	DEFECT FIX: PDEF110872: SDK/S60 3.2/C++CW/W: interfaces_kernel_EKA2 API defects (WL)
  4957 		Remove unimplemented methods, euser-7.0 build files and hal_gcc_shim
  4958 
  4959 
  4960 
  4961 Version 2.00.1720
  4962 ==========================
  4963 (Made by JonCo, 15/08/2007
  4964 
  4965 1.	NeilC
  4966 	1.	DEFECT FIX: DEF109913: Blocklength ASSERT to ensure SD Compliance
  4967 	2.	DEFECT FIX: DEF109914: Incorrectly setting KMMCOCRBusy for ACMD41
  4968 	3.	DEFECT FIX: PDEF110281: Formatting SD Card Protected Area - Format Unit Size is incorrect
  4969 
  4970 2.	JonCo
  4971 	1.	DEFECT FIX: DEF109799: The text window server doesn't handle the cursor properly
  4972 	2.	DEFECT FIX: DEF110323: DP: Code paging leaks address space
  4973 	3.	CR1170: Enable code paging without ROM paging
  4974 	4.	PDEF109414: Documentation for DPlatChunkHw::New is incorrect.
  4975 
  4976 3.	SivashankarN
  4977 	1.	DEFECT FIX: DEF107478: [v9.4,v9.5] {Fix Dev Branch} Kern::RequestComplete with deleted DThread in 				~DMsgQueue
  4978 
  4979 4.	NicholasC
  4980 	1.	MINOR_CHANGE: Fix Compiler error from DEF109913
  4981 
  4982 5.	JonathanM
  4983 	1.	DEFECT FIX: DEF110538: DP: System crash in demand paging code
  4984  	2.	DEFECT FIX: DEF110897: DP: Memory leak if DDemandPagingLock is freed twice.
  4985  	3.	DEFECT FIX: DEF110290: Various BTrace bugs
  4986 		Detailed description...
  4987 
  4988 		1.	Priming of EChunks category give incorrect memory allocation for chunks
  4989 			because the 'page bitmap' it uses also contains guard pages which don't
  4990 			have any RAM commited.
  4991 
  4992 			Solution: Change prime implementation to walk page tables to determine
  4993 			which memory is actuall committed to the chunk.
  4994 
  4995 		2.	The memory memory used for File System Caching is double counted, because
  4996 			it is both commited to the chunk and counted in the 'free ram' size.
  4997 
  4998 			Solution: Issue EChunkMemoryDeallocated for pages which are unlocked
  4999 			and EChunkMemoryAllocated when they get locked again. This makes File
  5000 			System Cache chunk appear as not using RAM. (Which is correct as the
  5001 			RAM is counted as 'free' by the system and available for other use.)
  5002 			NOTE: The fix for bug 1. also fixes the prime data for the file cache
  5003 			chunk.
  5004 
  5005 		3.	Missing physical ram allocation bookkeeping and traces
  5006 			(EKernelMemoryDrvPhysAlloc):
  5007 			- MmuBase::Init2 should account for ram banks reserved by the bootstrap.
  5008 			- Epoc::ClaimPhysicalRam should behave as Epoc::AllocPhysicalRam.
  5009 
  5010 		4.	The memory usage for CodeSegments needs to be output when ECodeSegs
  5011 			category is primed.
  5012 
  5013 		5.	The use of memory by the kernel as reported by EKernelMemory traces is
  5014 			incorrect.
  5015 
  5016 			Solution: Add extra book-keeping to the kernel so it updates the new
  5017 			variable Epoc::KernelMiscPages whenever it allocates or frees memory which
  5018 			doesn't belong to a chunk.
  5019 
  5020 		6.	Traces for EKernelMemoryDrvPhysAlloc output size and physical address in the
  5021 			wrong order.
  5022 
  5023 		7.	Traces for EKernelMemoryDrvPhysAlloc and EKernelMemoryDrvPhysFree should
  5024 			contain the size of RAM actually allocated, not that requested. I.e. sizes
  5025 			should be rouded up to a page size.
  5026 
  5027 		8.	C++ version of the reference BTrace handler in BTracex doesn't output
  5028 			Timestamp2.
  5029 
  5030 			Solution: Output NKern::TickCount() value if Timestamp2 requested.
  5031 
  5032 		9.	It's not possible to distinguish between two different processes which have
  5033 			the same trace id. (As happens when a new process is created at the same
  5034 			address as a previous terminated process.)
  5035 
  5036 			Solution: Add EProcessCreate and EProcessDestroy traces to trace category
  5037 			EThreadIdentification, and output these traces when a process is created or
  5038 			destroyed; also when trace category EThreadIdentification is primed.
  5039 
  5040 		10.	It is not possible to associate a chunk with the process which owns it.
  5041 
  5042 			Solution: Add new EChunkOwner trace to EChunks trace category and output
  5043 			this whenever a EChunkCreated trace is output.
  5044 
  5045 		11.	Cpu usage trace analysis can be made easier by outputting a
  5046 			ENewThreadContext trace when trace category ECpuUsage is primed.
  5047 
  5048 		12.	The EMetaTrace category should be automatically enabled at boot if any
  5049 			BTrace category is enabled. This makes trace-from-boot consistant with use
  5050 			of BTRACE.EXE.
  5051 
  5052 		13.	After using BTRACE.EXE to dump the contents of the trace buffer, the buffer
  5053 			is empty, therefore any subsequent dumps will lack important state
  5054 			information.
  5055 
  5056 			Solution: After dumping the buffer, 're-prime' all trace categories which
  5057 			are enabled.
  5058 
  5059 		14.	BTRACE.EXE can report 'bad command line argument' when trying to set
  5060 			filters, e.g. with '-f3'.
  5061 
  5062 			Solution: Set 'r' to true in the case 'f' line.
  5063 
  5064 		15.	Insufficient test code for checking kernel BTrace data output.
  5065 
  5066 			Solution: Add a trace analysis tool to E32UTILS testing purposes.
  5067 
  5068 		16.	It is not possible to obtain the contents of the trace buffer once the
  5069 			system has crashed.
  5070 
  5071 			Solution: Extend BTrace APIs to include the ability for the BTrace driver
  5072 			to register a 'control' function, (see enum BTrace::TControl etc.).
  5073 			These APIs enable the crash debugger to obtain the contents of the trace
  5074 			buffer and dump them through the debug UART.
  5075 
  5076 6.	AndrewSmi
  5077 	1.	DEFECT FIX: DEF109517: PREQ1426 : Run Mode Header can result in libraries with static data
  5078 	2.	DEFECT FIX: DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCL
  5079 		Added new test case to validate this defect and DEF109517 which depends on this fix.
  5080 
  5081 7.	MichaelP
  5082 	1.	DEFECT FIX: DEF110413: USB Inline Header File uses potentially wrong Enums
  5083 		Changed 'EThread' into 'NKern::EThread' in e32/include/drivers/usbc.inl.
  5084 
  5085 8.	colinward
  5086 	1.	DEFECT FIX: DEF109258: halcfg.pl - missing usage function
  5087 
  5088 9.  ArchanaH
  5089 	1.  DEFECT FIX: DEF109381 :  Documentation on thread naming needs updating.
  5090 	2.  DEFECT FIX: DEF109382 :  Documentation on Server naming needs updating.
  5091 
  5092 10.	DennisM
  5093 	1.	MINOR_CHANGE:	Move some definitions in e32keys.h from internal to @publishedPartner.
  5094 						This change is done to assist Symbian in washing its hands of Java.
  5095 
  5096 
  5097 Version 2.00.1719
  5098 ==========================
  5099 (Made by MariamSood, 08/08/2007
  5100 
  5101 1.	Gayathriramachandra
  5102 	1.	DEFECT FIX: PDEF109906: T_SERIAL: TestFirstDelayedWrite called before the ports have been configured
  5103 
  5104 2.	MiguelB
  5105 	1.	DEFECT FIX: DEF109787: NAND Media driver is a bit inefficient when reading
  5106 	2.	DEFECT FIX: DEF110049: Combining a V3 & V4  MMC card on the same bus sets the bus width to 4
  5107 	3.	MINOR CHANGE: Change MmcTest to decode MMC/SD serial number
  5108 	4.	DEFECT FIX: PDEF109903: Formatting SD card protected area is unacceptably slow
  5109 	5.	DEFECT FIX: DEF109989: PER03138 __ASSERT_DEBUG macro bug in MEDMMC.CPP
  5110 
  5111 3.	markhambleton
  5112 	1.	CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered
  5113 		during the SMP prototype development phase
  5114 	2.	MINOR CHANGE: Add missing ditribution.policy files.
  5115 	3.	MINOR CHANGE: Fix BC break with RotateReadyList.
  5116 
  5117 4.	AndrewHi
  5118 	1.	DEFECT FIX: PDEF110164: Compiler error in d32locd.h
  5119 
  5120 5.	MichaelP
  5121 	1.	DEFECT FIX: PDEF110078: Classes are not fully initialized by the constructor.
  5122 		Made sure that USB classes which are shared between kernel- and user-side
  5123 		are fully initialized with the same valid values across all 9.x releases.
  5124 		This affects classes TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
  5125 		TUsbcClassInfo, and TUsbcInterfaceInfo.
  5126 
  5127 6.	lukaszforynski
  5128 	1.	DEFECT FIX: DEF109292: added conditional creation of epoc.ini depending on run argument. (wintest.bat)
  5129 	  Changed initialisation for non SSR Nand Driver Type (estartmain.cpp)
  5130 
  5131 7.	Yogesh Chauhan
  5132 	1.	DEFECT FIX: DEF109387: TMappingAttributes not fully documented.
  5133 		Added in-source documentation for  TMappingAttributes.
  5134 
  5135 
  5136 Version 2.00.1718
  5137 ==========================
  5138 (Made by NeilC, 02/08/2007)
  5139 
  5140 1. 	DjordjeK
  5141 	1.	DEFECt FIX: PDEF109804: DSharedIoBuffer::New() caused panic in the case of no memory.
  5142 		In Out-Of-Memory condition, Kernel may have crashed when SharedIO is created.
  5143 2. 	SebO
  5144 	1.	DEFECT FIX: DEF107996: Warnings generated with checksource build.
  5145 		Made paths in .mmp and bld.inf's consistant with file system.
  5146 
  5147 3.	fabiangortz
  5148 	1.	CR0904: Remove hardcoded references to C:
  5149 		(production code)
  5150 
  5151 4.	DipakA
  5152 	1.	DEFECT FIX: DEF109997: aOffset description missing in document lib for Kern::ThreadDesRead API.
  5153 
  5154 
  5155 
  5156 Version 2.00.1717
  5157 ==========================
  5158 (Made by ParameshwariB, 24/07/2007)
  5159 
  5160 1.	ReubenH
  5161 	1.	CR1050: New BTrace instrumentation for Heap & Kernel memory analysis.
  5162 	2.	DEFECT FIX: INC108593: Setting secure clock requires TCB capability
  5163 		User-mode secure clock APIs were wrongly documented as requiring WriteDeviceData + DRM. This was changed to
  5164 		TCB + WriteDeviceData at the last possible minute, but the documentation was not updated until now.
  5165 
  5166 2.	MarkTa
  5167 	1.	DEFECT FIX: DEF107589: Problem with the context switching implementation
  5168 		Add new macros that allow the only the coprocessor registers required to be saved on the stack
  5169 		on a context switch.  No longer relies on EXTRA_STACK_SPACE but uses the real coprocessor macros.
  5170 
  5171 3.	georgiosdementis
  5172 	1.	DEFECT FIX: PDEF109322: t_chunk doesn't test allocation of 1024th page table(moving model)
  5173 		Spawn a new process that allocates more chunks.
  5174 
  5175 
  5176 Version 2.00.1716
  5177 
  5178 (Made by JohnS, 16/07/2007)
  5179 
  5180 1.  RaghavendraB
  5181 	1.	DEFECT FIX: DEF108961 : template_variant can't build variant_user.mmp.
  5182 
  5183 2.	ArchanaH
  5184 	1.	DEFECT FIX: DEF108618:  Minor issues in crash debugger
  5185 		              Updated the code to dump IRQ and FIQ stacks after all thread stacks are printed.
  5186 
  5187 3.	NeilC
  5188 	1.	DEFECT FIX: PDEF109377: <BASE Quality SD> SIZE_OF_PROTECTED_AREA incorrectly calculated for SDHC cards
  5189 
  5190 4.	MarkTa
  5191 	1.	DEFECT FIX: PDEF109159: RamCacheBase::ReturnTo System holds system lock when freeing RAM page
  5192 		Update RamCacheBase::ReturnToSytem to release the system lock before call the ram allocator.
  5193 		Also, remove some of the system lock flashing that occurs when ReturnToSystem is invoked.
  5194 	2.	MINOR CHANGE: Add missing export to eabi/euser.def.
  5195 
  5196 5.	MichaelP
  5197 	1.	DEFECT FIX: DEF109088: BASE QUALITY USB - SetInterface for invalid default setting
  5198 		Corrected the interface number that is passed into CheckEpAvailability() in
  5199 		function DUsbClientController::SetInterface().
  5200 
  5201 
  5202 Version 2.00.1715
  5203 ==========================
  5204 (Made by SushmitaR, 10/07/2007)
  5205 
  5206 1.  RaghavendraB
  5207 	1.  DEFECT FIX: PDEF108984: In source comments seem misleading in kern_priv.h.
  5208 2.	Viral Trivedi
  5209 	1.	DEFECT FIX: PDEF107149: User::RenameProcess: incorrect return code description if process name is same
  5210 		Modified insource comments to match the implementation (i.e. Returns KErrNone if the new and old (to be renamed) process names are identical).
  5211 
  5212 Version 2.00.1714
  5213 ==========================
  5214 (Made by AndreasP, 04/07/2007)
  5215 
  5216 1.	MiguelB
  5217 	1.	DEFECT FIX: PDEF108206: CMD8 is sent with wrong response type: R1 instead of R7
  5218 		Added R7 to TMMCResponseTypeEnum.
  5219 		Changed TMMCMachineInfo to support new flag - ESupportsR7. The PSL layer MUST SET THIS BIT IF IT SUPPORTS R7
  5220 		Changed CommandTable in session.cpp so that CMD55 & CMD56 have class KMMCCmdClassApplication.
  5221 		Changed DSDStack::InitialiseMemoryCardSM() so that it sends CMD8 with response type BCR. For CMD8, ERespTypeR7 is written to the
  5222 		iResponseType member variable of TMMCCommandSpec, if the PSL indicates support for the ESupportsR7 bit, otherwise it writes ERespTypeR1.
  5223 		Changed initialisation order in DSDStack::InitialiseMemoryCardSM() so that ACMD41 is send after CMD8 rather than before,  to comply with the SD 2.0 spec.
  5224 	2.	DEFECT FIX: PDEF108721: H4 MMC Inactivity timer fires in interrupt rather than DFC context
  5225 		Changed iInactivityResetTimer to fire in DFC context. Added a debug-assert to DMMCStack::UnBlock() to make sure Unblock() is not
  5226 		called in interrupt context unless the KMMCSessStateDoDFCflag is set.
  5227 
  5228 2.	MichaelP
  5229 	1.	MINOR_CHANGE: USB API Document: Added note regarding standards compliance
  5230 		when changing interface numbers to section 4.8.5 "Interface Descriptor";
  5231 		upped document version to 3.0.6.
  5232 
  5233 Version 2.00.1713
  5234 ==========================
  5235 (Made by AndrewHi, 29/06/2007)
  5236 
  5237 1. PeterS
  5238 	1.	DEFECT FIX: DEF108400: FAULT: WinsSoundScPdd 0x000002da (730) panic from Multimedia alloc tests.
  5239 
  5240 2.	StefanW
  5241 	1.	DEFECT FIX: DEF105363: KErrCorrupt - while reading a file content which is available in MMC Card
  5242 		H4 supports a maximum data transfer length of 1M.  Added support in TMMCMachineInfo to allow the
  5243 		PSL to specify if such a limitation exists, allowing the media driver to split up the transfer.
  5244 
  5245 3.	AndrewHaigh
  5246 	1.	MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426  - Finalise  run-mode debug driver including speculative Thumb2 debug support.
  5247 	2.	DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
  5248 	3.	DEFECT FIX: PDEF107500. Board Crash when Reading Thread List from Debug Security Server.
  5249 	4.	DEFECT FIX: DEF107833. PREQ1426 - Listing information not present in Debug Functionality block.
  5250 
  5251 4.	MarkTa
  5252 	1.	MINOR_CHANGE: Remove @prototype tags from KDriveAttPageable, KMediaAttPageable and DefaultHash::Integer()
  5253 		as not allowed to have @publishedAll APIs left as @prototype.
  5254 
  5255 5.	AndrewHi
  5256 	1.	DEFECT FIX: DEF107786: Miss use of #else preprocessor directive
  5257 		Modified files in Base subsystem to conform to preprocessor rules
  5258 
  5259 6.	ReubenH
  5260 	1.	DEFECT FIX: INC108121: Time setting is changing back to original time by itself after time is changed
  5261 		Applied critical patch to kernel\stimer.cpp for hardware where NOS 'owns' the hardware clock and
  5262 		goes into an interrupt-driven infinite loop if SymbianOS kernel writes to it.
  5263 
  5264 Version 2.00.1712
  5265 ==========================
  5266 (Made by JonCo, 26/06/2007)
  5267 
  5268 1.	ArwelH
  5269 	1.	DEFECT FIX: PDEF108259 Kern::MutexCreate's aMutex argument is documented wrongly
  5270 
  5271 2.	DennisM
  5272 	1.	MINOR_CHANGE: Made T_SOUND_API and T_SOUNDMCHAN 'support' tests on the
  5273 		emulator since the shared chunk sound driver has been observed to freeze
  5274 		the emulator during testing. Defect DEF108303 has been raised on account
  5275 		of this.
  5276 
  5277 3.	MariamSood
  5278 	1.	DEFECT FIX: PDEF108283: iBusWidth of TSDcard is not initialized.
  5279 		This results in iBusWidth to hold an incorrect value after a Powerup/IDLE state.
  5280 	2.	MINOR_CHANGE: Added documentation for BusWidth() and SetBusWidth() member functions of TSDCard class.
  5281 
  5282 4.	Vyshnavyk
  5283 	1.	DEFECT FIX :DEF105914 : euser.mmh should check for __CPU_HAS_VFP.
  5284 		Added a macro check for __CPU_HAS_VFP in all the files checking for the macro __USE_VFP_MATH.
  5285 
  5286 5.	ArchanaH
  5287 	1.	DEFECT FIX: PDEF107454 : Debug monitor dump command should read using alignment .
  5288 		Updated the code to read using alignment.
  5289 
  5290 6.	OlegI
  5291 	1.	MILESTONE: Naiad,GT0326 MS3.11 DS 718 CR1098: NTimer::OneShot that takes a TDfc to queue on completion
  5292 		CHANGE REQUEST: CR1098: NTimer::OneShot that takes a TDfc to queue on completion
  5293 	2.	DEFECT FIX: DEF107280: Engineering document states that Symbian does not support demand paging
  5294 	3.	DEFECT FIX: PDEF108368: Kernel precondition break happens on Lubbock
  5295 	4.	DEFECT FIX: PDEF108367: In t_chunk.cpp, RTest::Start() does not match RTest::End()
  5296 	5.	DEFECT FIX: PDEF108497: KMaxOsName has been renamed KMaxProcessName
  5297 
  5298 7.	MichaelP
  5299 	1.	MINOR_CHANGE: Added two KTRACE printfs to USB driver to aid debugging.
  5300 
  5301 Version 2.00.1711
  5302 ==========================
  5303 (Made by VincentF, 13/06/2007)
  5304 
  5305 1.	SebOlney
  5306 	1.	DEFECT FIX: DEF107331 DMMCSession::RequestMoreData() tagging incorrect.
  5307 		Removed unnecessary tags for DMMCSession::RequestMoreData() in mmc.h and mmc.inl
  5308 	2.	DEFECT FIX: DEF107342 TMMCCommandDesc::BufferLength() is @publishedPartner but has no description
  5309 		Added method description
  5310 
  5311 2.	AttilaV
  5312 	1.	DEFECT FIX: PDEF107138 Kern::NanoWait(n) blocks 2*n nanoseconds
  5313 		Added new test T_NANOWAIT to measure NanoWait() blocking time
  5314 
  5315 3.	MiguelB
  5316 	1.	DEFECT FIX: DEF108024: Closing H4 MMC DMA channel can trigger an assert
  5317 		Set iRxChannel / iTxChannel to NULL in DOmapMMCDmaRx::Close() / DOmapMMCDmaTx::Close()
  5318 		to prevent a debug-assert on a subsequent call to TDmaChannel::CancelAll().
  5319 
  5320 
  5321 Version 2.00.1710
  5322 ==========================
  5323 (Made by MiguelB, 06/06/2007)
  5324 
  5325 1.	MichaelP
  5326 	1.	MINOR_CHANGE: Updated USB Porting and Test How-To Document to version 3.2.1.
  5327 	2.	DEFECT FIX: PDEF107581: E32Test t_usb does not alter and check payload
  5328 		Changes made to T_USB and USBRFLCT to put the 32 bit packet number that is
  5329 		incremented for each transmission as the first four bytes of each data payload.
  5330 		This is checked by the receiving application and if it is not as expected
  5331 		(1 more than the previous packet number) then an error message is displayed
  5332 		and the expected packet number is changed to match the received packet number.
  5333  	3.	DEFECT FIX: DEF107620: USB LDD shouldn't allow duplicating of channel handle
  5334 		Override virtual DObject::RequestUserHandle() in class DLddUsbcChannel such
  5335 		that attempts to duplicate the channel handle via RDevUsbcClient::Duplicate()
  5336 		will result in KErrAccessDenied being returned.
  5337 	4.	DEFECT FIX: DEF107651: USB PDD: GET_DESCRIPTOR fails for large configurations
  5338 		Increased Ep0 Tx buffer size in the USB PDD PIL from 1KB to 64KB (the largest
  5339 		amount a GET_DESCRIPTOR can request).
  5340 
  5341 2.	JonCo
  5342 	1.	DEFECT FIX: DEF106817: multimedia test case still exhausting windows TLS indicies
  5343 		Added windows entrypoint to all DLLs so it can perform CodeWarrior runtime libary cleanup
  5344 
  5345 3.	DjordjeK
  5346 	1.	DEFECT FIX: DEF107030: Workaround required for ARM1136 Errata 411920 and 415662
  5347 		It affects code that (almost) never executes.
  5348 	2.	DEFECT FIX: PDEF106326: DevLib needs description to warn of an usage of Kern::RequestComplete( )
  5349 		In-sourse documentation update only.
  5350 
  5351 4.	Peters
  5352 	1.	DEFECT FIX: DEF106857 New Sound Driver-Issue with pausing recording when no outstanding requests.
  5353 	2.	DEFECT FIX: DEF107379 New Sound Driver: DSoundScLdd should not be publishPartner.
  5354 	3.	INTERFACE CHANGE: BR2127.2 DSoundScLdd and associated symbols should not be publishPartner.
  5355 
  5356 5.	JonathanM
  5357 	1.	MINOR CHANGE: Fixed E32TEST T_DEMANDPAGING to make it more robust.
  5358 		The change excludes the code of the test program itself when checking writing
  5359 		to paged ROM. Without this change it was possible for the test program execution
  5360 		to change the state of a ROM page being tested.
  5361 
  5362 6.	RichardCo
  5363 	1.	DEFECT FIX: DEF107503: IPC alias memory does not get domain initialised correctly
  5364 
  5365 7.	JohnS
  5366 	1.	MILESTONE: Sphinx,GT0339,MS3.1.1 Support FAT on <90nm flash devices (part 1)
  5367 		INTERFACE CHANGE: BR2083 Peripherals: Move base_wins component source from
  5368 		base\wins to base\emulator\wins
  5369 
  5370 8.	SimonT
  5371 	1.	MINOR CHANGE: mass update of missing SYM_BRANCH comments in OMAP H4 HRP
  5372 		BSP to mark differences for conflict resolution.
  5373 
  5374 9.	AndrewSmi
  5375 	1.	MILESTONE: Nutmeg, GT0332, MS3.7 PREQ1426  - Initial submission of run mode debug driver and security server
  5376 
  5377 10.	Yogesh Chauhan
  5378   	1.	DEFECT FIX: DEF105784: RHeap::Size is incorrectly documented as returning the bytes commited
  5379 
  5380 11.	MiguelB
  5381 	1.	DEFECT FIX: DEF107699: estart.txt file incorrectly enables noth NOR and NAND drives on H4
  5382 
  5383 
  5384 Version 2.00.1709
  5385 ==========================
  5386 (Made by SushmitaR, 30/05/2007)
  5387 
  5388 1.	MichaelP
  5389 	1.	DEFECT FIX: DEF107194: USB Client PDD: CancelWrite(0) doesn't work
  5390 		DUsbClientController::CancelWriteBuffer() didn't take into account that the
  5391 		USB LDD uses endpoint number '0' for both directions of Ep0.
  5392 
  5393 2.	ArwelH
  5394 	1.	DEF105786 RProcess::Terminate()/Kill() documented needed capabilities not correct
  5395 
  5396 3.	MiguelB
  5397 	1.	DEFECT FIX:  PDEF107283: TTG:<just after the time on inserting MMC/SD, MMC/SD cannot be recognized>
  5398 
  5399 4.	OlegI
  5400 	1.	MINOR_CHANGE: Updated Functional Specs for REQ7124
  5401 
  5402 5.	NeilC
  5403 	1.	DEFECT FIX: PDEF107214: TTG:<e-shell cannot read or recognize ELECOM SDHC 4GB Class4>
  5404 	2.	DEFECT FIX: PDEF107251:	Instantiation of  second SDIO socket should succeed
  5405 
  5406 6.  Vyshnavyk
  5407 	1.	DEFECT FIX:PDEF107137: Euser does not compile with FPU in compiler flags
  5408 		Tested by enabling the FPU within the EUSER.MMP file using OPTION ARMCC --fpu=vfpv2,
  5409 		And have made changes accordingly to the UC_REALX.CPP file.
  5410 
  5411 7.	JonCo
  5412 	1.	DEFECT FIX: DEF107196: Ipc copy of code-paged data that isn't word-aligned causes fault
  5413 
  5414 8.	MarkTa
  5415 	1.	DEFECT FIX: PDEF106928: TSecurityPolicy function is not exported
  5416 		Make overload of TSecurtityPolicy::CheckPolicy that creates list of missing polices,
  5417 		@internalComponent to remove it from the developer library.
  5418 
  5419 
  5420 Version 2.00.1708
  5421 ==========================
  5422 (Made by JenniferH, 23/05/2007)
  5423 
  5424 1.	MichaelP
  5425 	1.	MINOR_CHANGE: Changed a debug printf in the USB LDD from an error message
  5426 		to an informational one.
  5427 	2.	MINOR_CHANGE: Update of the USBIO host test driver from version 2.30 to 2.41,
  5428 		which, among other things, adds MS Windows Vista support:
  5429 		Recompiled usbrflct.exe against the new driver, provided new versions of the
  5430 		driver binaries (usbrflct.sys and usbrfl98.sys) + updated the INF files.
  5431 	3.	MINOR_CHANGE: Added testing of class-specific (CS) Endpoint descriptor
  5432 		manipulation to USB unit test T_USBAPI.
  5433 
  5434 2.	OlegI
  5435 	1.	MILESTONE: Oghma, GT302, MS3.8, DS.543 Base: GNU Make-based build system
  5436 		PREQ1182 GNU Make-based build system
  5437 		REQ7124: Base: extension makefile changes and filename compliance
  5438 
  5439 3.	RaghavendraB
  5440 	1.	DEFECT FIX: PDEF106635: RMessagePtr2::Panic can itself panic with USER 23!
  5441 
  5442 4.	DanH
  5443 	1.	DEFECT FIX: DEF106876: Missing utility to exercise DPTest API
  5444 		Added a console application (dptestcons.exe) that links to dptest.dll and provides command line
  5445 		access to all the functions in DPTest. Added an oby file containing both dptest.dll and dptestcons.exe,
  5446 		and exported this to \epoc32\rom\include\.
  5447 
  5448 5.	Yogeshchauhan
  5449 	1.	DEFECT FIX: DEF105782: DKernelEventHandler has been marked as @interim since 9.1
  5450 		Replaced @interim with @released
  5451 
  5452 6.	Radhakrishnanramanat
  5453 	1.	DEFECT FIX: PDEF106866: DProcess::Rename has a defect when renaming a process to the same name
  5454 		Added new method BaseName(n) to Dobject class (Non virtual and not exported).
  5455 		This method will be called by DProcess::Rename(). Modified T_proc1.cpp to test rename the process with same name.
  5456 
  5457 7.	DipakA
  5458 	1. 	DEFECT FIX: PDEF106923: Support for RPipe::WaitForWriter and re-alignment of RPipe def files.
  5459 		RPipe::WaitForReader and RPipe::WaitForWriter API added. DEF file regenerated for re-alignment.
  5460 		t_pipe.cpp updated with new test cases.
  5461 
  5462 8.	FionntinaC
  5463 	1.	DEFECT FIX: PDEF102484: BaflUtils::NearestLanguageFile() to use new HAL attr for custom resource drive
  5464 		New HAL attribute ECustomResourceDrive added. This is intended for use by BAFL in determining if an additional
  5465 		drive needs to be included in the search algorithm for language files.
  5466 		(BR2038.2 Kernel: Deprecate HALData::ESystemDrive and introduce a new attribute for BaflUtils::NearestLanguageFile
  5467 		to use)
  5468 
  5469 9.	ArunachalamR
  5470 	1.	DEFECT FIX: PDEF107023: Applications with caption over 80 characters in length crash
  5471 		(Propagated from INC106000: Applications with caption over 80 characters in length crash and applied the same fix)
  5472 		Maximum allowable name length for any kernel object is 80, so User::RenameThread panics
  5473 		if the name is more than 80 characters. Updated function description to reflect the same.
  5474 
  5475 10.	AndrewHickman
  5476 	1.	DEFECT FIX: PDEF107131: Incorrect search results when searching with asterisk at the beginning of searc
  5477 		When searching files using asterisk at the beginning and questionmark at the end, the search
  5478 		stops too early. For example if searching file named 'jpg_picture.jpg' with the string *jp?
  5479 		the search doesn't find the file, because it stops handeling the file after 'jpg_' which
  5480 		isn't a match.
  5481 		Changes to TCollate::Match() in collate.cpp
  5482 		Added new tests to existing in t_match.cpp
  5483 
  5484 
  5485 Version 2.00.1707
  5486 ==========================
  5487 (Made by SamiraA, 17/05/2007)
  5488 
  5489 1.	ArunachalamR
  5490 	1.	DEFECT FIX: PDEF106335: TCSD::ReadBlockLength() implementation is inconsistent with MMC functional spec
  5491 		(Propagated from DEF105501 and same fix is applied)
  5492 		TCSD::ReadBlockLength( ) is modified to validate and support Read Block Length based on the Card Specification Version.
  5493 
  5494 2.	MichaelP
  5495 	1.	DEFECT FIX: DEF106254: Device descriptor information bMaxPacketSize0 conflicts with iEp0MaxPacketSize
  5496 		Changed USB PSL constant KEp0MaxPktSzMask, which is the value reported to
  5497 		the higher layers, from KUsbEpSize16 to KUsbEpSize64. This affects both the
  5498 		H2 and the H4 full-speed USB drivers.
  5499 	2.	MINOR_CHANGE: USB API Document: Corrected description of Control transfer
  5500 		handling on Ep0 in section 3.3; upped document version to 3.0.4.
  5501 	3.	MINOR_CHANGE: Added testing of class-specific (CS) Interface descriptor
  5502 		manipulation to USB unit test T_USBAPI.
  5503 
  5504 3.	DjordjeK
  5505 	1.	MINOR_CHANGE: In-source documentation for User::IMB_Range updated
  5506 
  5507 4.	PeterS
  5508 	1. 	DEFECT FIX: DEF105033: New sound driver - Sound heard with new driver is less than the old driver.
  5509 
  5510 5.	Vyshnavyk
  5511 	1.	DEFECT FIX: DEF105786 : RProcess::Terminate()/Kill() documented needed capabilities not correct.
  5512 		Updated the capablity section of the in-source documentation for Kill(), Terminate() & Panic()
  5513 		functions of RProcess class
  5514 6. 	Kamrann
  5515 	1.MINOR_CHANGE: Updated functional specification to reflect the delivered Oghma REQ for PREQ1389
  5516 
  5517 7.	AndreasP
  5518 	1.	MINOR CHANGE: Fixed illegal IM tags
  5519 
  5520 8.	MiguelB
  5521 	1.	PDEF106752: Error in processing HEADER.IBY files
  5522 		Changed "#else if defined(USE_MMC)" to "#elif defined(USE_MMC)" to keep tools happy
  5523 
  5524 9. JenniferH
  5525 	1.	DEFECT FIX: PDEF106846: RCondVar documentation fails to mention priority inversion
  5526 
  5527 
  5528 
  5529 Version 2.00.1706
  5530 ===============================
  5531 (Made by MichaelMo, 09/05/2007)
  5532 
  5533 1.	DjordjeK
  5534 	1.	DEFECT FIX: PDEF105690: Kernel IPC problem - incorrectly fails with KErrBadDescriptor
  5535 		This defect caused aliases to fail randomly.
  5536 
  5537 2.	MichaelP
  5538 	1.	DEFECT FIX: DEF105752: Semicolon at the end of "if" statement in usb dma driver
  5539 	2.	MINOR_CHANGE Removed #include <platform.h> from e32\include\drivers\usbc.h,
  5540 		as it's not needed.
  5541 	3.	DEFECT FIX: DEF106263: Ep0 seems unstable when USB Host selects alternate interface
  5542 		The USB LDD no longer cancels pending Ep0 transfers in
  5543 		DLddUsbcChannel::ResetInterface(), also the LDD now sets up an Ep0 read upon
  5544 		the user calling RDevUsbcClient::SetDeviceControl().
  5545 
  5546 3.	NeilC
  5547 	1.	DEFECT FIX: PDEF104933: Multi socket SDIO initialization error.
  5548 
  5549 4.	JonathanM
  5550 	1.	MINOR CHANGE: Fixed a couple of typos in the example code in Base_How_To_Shared_Chunk.doc
  5551 	2.	MINOR_CHANGE: Modified E32TEST T_XXVER2 to cancel lazy DLL unloading - without this it cannot be be run standalone.
  5552 
  5553 5.	PeterS
  5554 	1.	DEFECT FIX: DEF104278 New sound driver - partial buffer captured prior to pausing is lost.
  5555 	2.	MINOR CHANGE: Minor changes to T_SOUND2 to improve coverage when playing short requests.
  5556 
  5557 6.	MariamGeorge
  5558 	1.	DEFECT FIX: DEF104508: T_MMCDRV - fails extended read/write tests (potential problem in MEDMMC)
  5559 		A memory write intended to flushout driver's buffers was in fact writing into the memory under test.
  5560 		T_MMCDRV test code is modified to correct this erroneous behaviour.
  5561 
  5562 7.	AndreasP
  5563 	1.	MILESTONE: GT302.313 MS3.10 PREQ1089 - Process Monitoring and Re-launch Service
  5564 		REQ7364 Peripherals: Restarting the hardware platform
  5565 
  5566 8.	ReubenH
  5567 	1.	DEFECT FIX: DEF105938 Secure Clock setting uses wrong capability
  5568 
  5569 9.	JonCo
  5570 	1.	DEFECT FIX: DEF106123: processes crash with MemModel 6 panic on emulator.
  5571 	2.	DEFECT FIX: PDEF106164: rom.pl doesn't allow patching of constants in kernel or drivers
  5572 
  5573 10.	ArunachalamR
  5574 	1.	DEFECT FIX: PDEF105149: mmctest fail with KErrArgument when trying to write to a sector (SD card/size2G)
  5575 		Modified source code to get correct write block length using TSDCard::MaxWriteBlLen( ) for SD Card.
  5576 		The CSD for > 2GB incorrectly returns the WRITE_BL_LEN field so by calling MaxWriteBlLen it will tune it down to 512 Bytes.
  5577 
  5578 11.	NeilC
  5579 	1.	DEFECT FIX: PDEF105669: Access failed after SDIO Inactivity timer expired.
  5580 
  5581 12.  RaniSuneelaM
  5582 	1.	MILESTONE: GT0350, MS3.1 DS542 PREQ1212
  5583 		Added tutorial reference drivers phase-1 and phase-2
  5584 
  5585 
  5586 Version 2.00.1705
  5587 ==========================
  5588 (Made by JonCo, 24/04/2007)
  5589 
  5590 1.	MarkHambleton
  5591 	1.	DEFECT FIX:  DEF100592: TRawEvent::EInactive/EActive events sent when emulator window loses
  5592 		Changed behaviour so that event is sent when window is minimised rather than losing focus.
  5593 	2.	MINOR CHANGE: Update metabld scripts used for building private dev roms to support new tools.
  5594 
  5595 2.	JonathanM
  5596 	1.	MINOR CHANGE: Removed unused internal function: ArmMmu::LinearToPhysical(TLinAddr, TInt, TInt&, TInt&)
  5597 
  5598 3.  ArunachalamR
  5599 	1.	DEFECT FIX: PDEF104712: T_DMA test fails because unexpected fragment count.
  5600 		New enum flag value is defined in e32\include\drivers\dma.h and
  5601 		e32test\dma\d_dma.cpp is modified to pass on this to request a different max transfer size for test purposes.
  5602 
  5603 4.	MariamGeorge
  5604 	1.	DEFECT FIX: PDEF103863: SD Card Protected area driver no longer gets destroyed at power
  5605 
  5606 5.	JonCo
  5607 	1.	DEFECT FIX: PDEF105218: multimedia test case popup window problem
  5608 	2.	MINOR_CHANGE: Added comment to unsafe RRegion constructor
  5609 
  5610 6.	DjordjeK
  5611 	1.	DEFECT FIX: PDEF105295: ODP - CSessionLoader::ServiceL leaves object on cleanup stack
  5612 
  5613 7.	ReubenH
  5614 	1.	Requirements: PREQ1266: Secure clock
  5615 
  5616 
  5617 Version 2.00.1704
  5618 ==========================
  5619 (Made by AndrewHi, 16/04/2007)
  5620 
  5621 1.	MiguelB
  5622 	1.	DEFECT FIX: PDEF104309: SD2 stack init sequence doesn't comply with SD2 spec
  5623 		Changed init sequence to ensure that CMD8 is issued prior to ACMD41 as dictated by the spec.
  5624 	2.	DEFECT FIX: PDEF104854: Default bus width after GO_IDLE(CMD0) have to be 1 bit
  5625 		Changed DMMCStack::GoIdleSM() state machine to set bus width to 1 after CMD0 to comply with spec.
  5626 
  5627 2.	SimonT
  5628 	1.	DEFECT FIX: DEF104086: Base USB Mass Storage App sends invalid Serial
  5629 		Number. This changes both of the USB drivers on H4 so that they
  5630 		generate a unique serial number for the platform in the string
  5631 		descriptor. The value is taken from GetSerialNumber() on the H4
  5632 		variant, a simple implementation initialises SetSerialNumber() with the
  5633 		low bits of the MAC address.
  5634 
  5635 3.	MarkHambleton
  5636 	1.	DEFECT FIX:  PDEF104588: Loading dll repeatedly fast causes Symbian OS Fatal Error
  5637 		Fixed race condition in emulator when loading a driver could find an old handle.
  5638 
  5639 
  5640 4.	ArchanaH
  5641 	1.	DEFECT FIX: DEF103043: Arch and Asic interfaces undocumented.
  5642 		Updated insource documentation.
  5643 
  5644 5.	JonathanM
  5645 	1.	MINOR CHANGE: Update in-source comment for NTimerQ::iRounding.
  5646 		This applies the correct classification of @publishedPartner and describes its
  5647 		intended use:
  5648 			This member is intended for use by ASSP/variant interrupt code as a convenient
  5649 			location to store rounding error information where hardware interrupts are not
  5650 			exactly one millisecond. The Symbian kernel does not make any use of this member.
  5651 6.	MarkTa
  5652 	1.	DEFECT FIX: DEF104851: Need to implement partial workaround for ARM erratum 408022
  5653 		Add nop before writes to CONTEXTID register that could occur after a branch
  5654 
  5655 7.	JasdeepSawhney
  5656 	1.	MILESTONE: GT329 System Libraries (Oghma), MS3.17 DS.652 CR1080 - Partial Upgrade to Unicode 5.0 for Brahmic Script Support
  5657 		Change Requests:
  5658 		CR1080 Partial Upgrade to Unicode 5.0 for Brahmic Script Support
  5659 		Configurability and Compatibility:
  5660 		Non configurable. No compatibility issues
  5661 
  5662 8.	AndrewHi
  5663 	1.	MINOR_CHANGE: Updated romnandtechviewh4hrp.oby to support testing for boot from NAND.
  5664 
  5665 Version 2.00.1703
  5666 ==========================
  5667 (Made by VincentF, 03/04/2007)
  5668 
  5669 1.	StefanW
  5670 	1.	MILESTONE: GT0302 Base Elatha (Oghma), MS3.4 DS487 PREQ1389
  5671 		Added support for High-Speed SD Cards and MMC Double-Buffering.  High-Speed SD cards now
  5672 		automatically detected and configured, supporting data transfer rates of up to 25MB/s.
  5673 
  5674 		Double-Buffering is enabled by specifying the following flags in DMMCStack::MachineInfo()
  5675 
  5676 			TMMCMachineInfo::iFlags |= ESupportsDoubleBuffering;
  5677 
  5678 		Two new API's added to facilitate double-buffered data transfer:
  5679 
  5680 			TUint32 TMMCCommandDesc::BufferLength()
  5681 
  5682 		...reports the size of the currently active buffer, and:
  5683 
  5684 			TBool DMMCSession::RequestMoreData()
  5685 
  5686 		...requests the next blocks of data to be prepared by the media driver. This would typically be called
  5687 		while hardware is transferring the previously supplied buffer, allowing the media driver to copy data
  5688 		to/from the client in parallel with hardware transfer.  While preparing the next data transfer, the
  5689 		MMC stack shall be blocked on the KMMCBlockOnMoreData blocking condition, so following a request for
  5690 		more data the PSL must wait using an SMF_WAITS state.  When data is ready, the stack is unblocked and
  5691 		the current command descriptor shall contain details of the new buffer.
  5692 
  5693 	2.	DEFECT FIX: DEF103582: TMMCard::DeviceSize64 Overflow with 8G MMC Card
  5694 		Fixed overflow in device size calculations to allow correct capacity to be returned.
  5695 
  5696 2.	ArunachalamR
  5697  	1.	DEFECT FIX: INC100578: T_DMA fails, if DMA channel is already in use.
  5698  		Modified source code to skip test on channels already in use.
  5699 
  5700 3.	MichaelP
  5701 	1.	DEFECT FIX: DEF103849 USB HS driver initializes bInterval in endpoint descriptor incorrectly
  5702 		TUsbcEndpointInfo::iInterval_Hs is now initialized to (-1), and only when
  5703 		this value is recognized in TUsbcEndpointInfo::AdjustPollInterval(), then
  5704 		an HS interval value adjustment depending on the endpoint type is done.
  5705 		Also, the Mass Storage class in CBulkOnlyTransport.cpp now explicitly sets
  5706 			ifc().iEndpointData[x].iInterval_Hs = 0;
  5707 		for both Bulk endpoints (IN & OUT) in order to be (more) MSC spec compliant.
  5708 	2.	MINOR_CHANGE: USB API Document: Clarified use of function
  5709 		RDevUsbcClient::AllocateEndpointResource() when specifying multiple resources;
  5710 		upped document version to 3.0.3.
  5711 
  5712 4.	DjordjeK
  5713 	1.	DEFECT FIX:  DEF103545 TLB not flushed properly when page is unmapped (MCL)
  5714 		Fixed potential stablility issue as TLB was flushed before pages are unmapped.
  5715 	2.	DEFECT FIX: DEF103134 T_IPCBM is slower since PageTables are in Write Back memory (MCL)
  5716 		The last week's fix of this defect has broken ARMv7 platform. This is the fix for it.
  5717 	3.	Minor change: Fixed T_cache test on ARMv7.
  5718 	4.	DEFECT FIX: DEF104512 Kernel doesn't drain write buffers in ArmMmu::ClearPages
  5719 		This defect was not likely to cause trouble because write buffers are anyway drained
  5720 		by H/W. (However, nobody garantees that it will happen in a definite time.)
  5721 	5.	DEFECT FIX: DEF104513 L2Cache::AtomicFlush() doesn't flush cache properly
  5722 		The defect was "invisible" because AtomicFlush is used only in soft reset.
  5723 
  5724 5.	OlegI
  5725 	1.	DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it
  5726 
  5727 6.	JonCo
  5728 	1.	DEFECT FIX: DEF103947: DP: Paging cache is too large in Code Paging ROMs
  5729 
  5730 7.	MiguelB
  5731 	1.	DEFECT FIX: PDEF104152: Problem in issuing HSMMC commands/Spec 4 commands in H4
  5732 		Fixed a probem on platforms with 2 MMC slots which resulted in high speed / wide bus
  5733 		mode not being enabled if a single MMCV4 card was inserted in the second slot.
  5734 
  5735 8.	NeilC
  5736 	1.	DEFECT FIX: PDEF103903: "Memory card locked" is shown incorrectly after setting a password.
  5737 		Fixed issue with Stack Power down marking cards as 'Locked' + additional test cases for t_pwstr
  5738 
  5739 
  5740 Version 2.00.1702
  5741 ==========================
  5742 (Made by MiguelB, 22/03/2007)
  5743 
  5744 1.	MichaelP
  5745 	1.	DEFECT FIX: DEF103920 USB LDD: TDmaBuf members iController and iEndpointNumber are not used
  5746 		Removed TDmaBuf data members iController and iEndpointNumber as they were
  5747 		not used.
  5748 
  5749 2.	DjordjeK
  5750 	1.	DEFECT FIX: DEF103885 Typo errors in code
  5751 		"class:class::method" replaced by "class:method"
  5752 
  5753 3.	JenniferH
  5754 	1.	DEFECT FIX: PDEF103915 Defect in base\e32\kernel\sexec.cpp
  5755 		Kern::DebugPrint changed to read user side memory with user privileges.
  5756 
  5757 4.	archanah
  5758 	1.	DEFECT FIX: PDEF103798: User::Version() documentation is unclear.
  5759 		Updated insource documentation.
  5760 
  5761 5.	NeilC
  5762 	1.	DEFECT FIX: PDEF103787: Inactivity reset timer must be canceled when erace command timed out.
  5763 		updated powerdown stak logic & updated t_pwstr for test coverage
  5764 
  5765 
  5766 Version 2.00.1701
  5767 ==========================
  5768 (Made by SushmitaR, 19/03/2007)
  5769 
  5770 1.	MichaelP
  5771 	1.	MINOR_CHANGE: Renamed (/base/documentation/)Base_How_To_USB_PSL.doc into
  5772 		Base_How_To_USB_Porting_and_Test.doc, which better reflects its contents.
  5773 	2.	MINOR_CHANGE: Several changes and updates to "USB Porting and Test How-To
  5774 		Document"; upped version to 3.2.
  5775 
  5776 2.	DjordjeK
  5777 	1.	DEFECT FIX:  DEF103134:T_IPCBM is slower since PageTables are in Write Back memory (MCL)
  5778 		Solved performance issue with t_ipcbm test.
  5779 	2.	Minor Change: Func. Spec document update for PREQ1066 (ARMv6K & ARMv7 support).
  5780 
  5781 3.	PeterS
  5782 	1.	DEFECT FIX: DEF103505 New sound driver request handling not safe if channel shared between threads.
  5783 	2.	DEFECT FIX: DEF103506 New sound driver - problems with multiple short play requests on emulator.
  5784 	3. 	DEFECT FIX: DEF103631 New sound driver - outstanding requests not always completed when pausing record.
  5785 
  5786 4.	ParameshwariB
  5787 	1.	MINOR_CHANGE: Removed call to ldd.unload function in t_powerseqtest.cpp and t_serial.cpp.
  5788 
  5789 5.	MarkHambleton
  5790 	1.	DEFECT FIX:  DEF103897 ArmMmu::BootstrapPageTable sets iTempPte to NULL, fix mistake which was
  5791 		setting iTempPte to null rather than *iTempPte.
  5792 	2. 	MINOR_CHANGE: Update metabld scripts for h2 / h4 / lubbock to include new tools2 target.
  5793 
  5794 
  5795 Version 2.00.1700
  5796 ==========================
  5797 (Made by SamiraA, 08/03/2007)
  5798 
  5799 1.	radhakrishnanramanat
  5800 	1.	DEFECT FIX: PDEF096009  Documentation incomplete for the following class DPBusPrimaryMedia, DPBusSocket.
  5801 		(Propagated from DEF092665).
  5802 		Added in-source comments for classes: DPBusPrimaryMedia and DPBusSocket.
  5803 		Applied same fix, from DEF092665.
  5804 
  5805 2.	JonathanM
  5806 	1.	DEFECT FIX: PDEF102521 Soft reset causes debug precondition check failure during boot
  5807 		The fix makes DMemModelChunk::ClaimInitialPages() acquire the System Lock.
  5808 		(Due to this function been called early in the boot sequence the code was safe without
  5809 		this locking, therefore no defect would occur on production phones.)
  5810 	2.	DEFECT FIX: PDEF102870 Demand Paging instrumentation is incorrect.
  5811 		This includes fixing DPTest::Attributes() so that is doesn't incorrectly reports that
  5812 		Data Paging is supported and so that code paging is not supported if it is disabled by
  5813 		PAGINGPOLICY NOPAGING in the ROM's OBY file.
  5814 	3.	MINOR CHANGE: Updated Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc
  5815 		Added description about using the dynamic DFC queue API and removed description of
  5816 		internal DDemandPagingLock class.
  5817 
  5818 3.	NeilC
  5819 	1.	DEFECT FIX: PDEF102051: Test zero-length read failed on secure drive.
  5820 		Added logic to media driver to return Null descriptor if read length is zero.
  5821 	2.	DEFECT FIX: PDEF096011: DMedia: Documentation is incomplete for this class in Dev library.
  5822 	3.	DEFECT FIX: PDEF102548: t_checkdisk.exe failed on secure drive.
  5823 
  5824 4.	MiguelB
  5825 	1.	DEFECT_FIX: PDEF102924: T_FSRV doesn't exit properly
  5826 		Fixed RLocalDrive::EControlSetMountInfo handling in the local media subsystem so that
  5827 		a handle to the remote thread is properly closed if there is no mount information passed.
  5828 		This was preventing any app which called Rfs::RemountDrive() from closing properly.
  5829 		Changed T_FSYS to expect KErrInUse when attempting to dismount ROM file system (due to clamping).
  5830 
  5831 5.	JonCo
  5832 	1.	DEFECT FIX:	PDEF102825: rom.pl doesn't handle patchdata command correctly
  5833 	2.	DEFECT FIX:	DEF102939: TTime.Parse() is incompatible with the Vietnamese Full & Abbreviated Month name
  5834 	3.	DEFECT FIX:	DEF102827: ARM1176 board crashes when formatting LFFS drive
  5835 
  5836 6.	DjordjeK
  5837 	1.	DEFECT-FIX: PDEF102564 malformed import table causes loader thread data abort (MCL)
  5838 		Stablility issue with Loader when loaded executable image is corrupted.
  5839 	2.	DEFECT FIX: PDEF103211: E32 T_KHEAP FAILS (MCL)
  5840 		Minor fix in test code.
  5841 
  5842 7.	PeterS
  5843 	1.	DEFECT FIX: DEF102246: New sound driver only supports record lengths of page size multiples.
  5844 		This is a BC Break - SCB confirmation number BR2066.2
  5845 		The change affects RSoundSc::SetBufferChunkCreate(). Previously this silently increased the size of
  5846 		each buffer to be a muliple of the page size. It didn't return an error - but instead reported the
  5847 		size created in response to RSoundSc::GetBufferConfig(). Now the driver accepts buffer sizes which
  5848 		are not a multiple of the page size (leaving them unmodified). For record channels, the buffer size
  5849 		specified effectively determines the size of each record request. Hence, for record channels, users
  5850 		of this function must now take greater care over the buffer size passed since the driver now returns
  5851 		an error for illegal sizes. In particular, the buffer size must be a multiple of the minimum request
  5852 		size (TSoundFormatsSupportedV02::iRequestMinSize). It should also be a multiple of the number of
  5853 		bytes per audio sample. Users of this function are no longer allowed to specify the buffer offsets
  5854 		themselves via the flag KScFlagBufOffsetListInUse in TSharedChunkBufConfigBase::iFlags. Instead they
  5855 		can select whether guard pages are left around each buffer or not - using the flag
  5856 		KScFlagUseGuardPages for the same data member.
  5857 
  5858 8.	ArwelH
  5859 	1.	MINOR CHANGE: Fixing trivial spelling errors in in-source comment.
  5860 	2.	MINOR CHANGE: Tidying up in-source comment description for TFileMode
  5861 
  5862 
  5863 9.	DmitryL
  5864 	1.	MINOR CHANGE: Added manual test t_med_writebm to benchmark media write performance
  5865 
  5866 10.	MarkTa
  5867 	1.	MINOR CHANGE: Correct spelling in comments of RLoader::Delete
  5868 
  5869 11.	ParameshwariB
  5870 	1.	DEFECT FIX: PDEF102516: Interrupts disabled and not enabled in Comm drivers.
  5871 	2.	DEFECT FIX: PDEF103159: Serial driver Turnaround timer not restarted.
  5872 
  5873 
  5874 12.	OlegI
  5875 	1.	INTERFACE CHANGE: BR2042.1 Bootstrap changes for IRQ, FIQ, UND and ABT stacks memory allocation
  5876 	2.	CR 0972: Add guard page after IRQ stack to catch programming errors
  5877 
  5878 Version 2.00.1516
  5879 ==========================
  5880 (Made by MarkTa, 19/02/2007)
  5881 
  5882 1.	MarkTa
  5883 	1.	DEFECT FIX: PDEF102134: An unimportant priority checking causes a crash when DThread gets killed
  5884 		In SetActualPriority ensure NThread and DThread priorities are updated even if
  5885 		either/both are in the state EDead.
  5886 
  5887 2.	SimonT
  5888 	1.	MINOR CHANGE: Update H4 bootloader to v1.6 and H4HRP user guide to
  5889 		reflect that the v9.41 OMAP2420 SDP is now a supported HRP platform.
  5890 	2.	MILESTONE: Oghma, GT0302, MS3.3, DS490 PREQ1227
  5891 		REQ6085 "H4 implementation of multiple displays via TV out" This adds
  5892 		support for a second physical display though the TV out connector (J9)
  5893 		on the H4 HRP processor card. The second display can be enabled by
  5894 		defining WITH_TVOUT at rombuild time. This milestone also includes a
  5895 		partial catchup to TI BSP v9.50 in the core ASIC device drivers and the
  5896 		display subsystems.
  5897 	3.	DEFECT FIX: DEF099117 "H4HRP does not have an example crash logger"
  5898 		As the defect title suggests, the H4HRP did not have support for flash
  5899 		crash logging.  This defect fix provides implementations for both the
  5900 		small block NAND and Intel Strataflash NOR flashes present on the HRP.
  5901 		Define either CRASH_LOG_NOR or CRASH_LOG_NAND2 at rombuild to get the
  5902 		respective support in Techview and Textshell roms.
  5903 
  5904 3.	NeilC
  5905 	1.	DEFECT FIX: PDEF095989: [Codebase] T_MMCDRV failures on a few SD cards
  5906 		raised EPOCSTACK size
  5907 
  5908 
  5909 Version 2.00.1515
  5910 ==========================
  5911 (Made by JohnS, 14/02/2007)
  5912 
  5913 1.	NeilC
  5914 	1.	MINOR CHANGE: Modified T_MMCDRV to not run testerase on wholemedia test pass.
  5915 	2.	DEFECT FIX: PDEF101803: iReplyCount in DMediaChangeBase is bigger than 2
  5916 
  5917 2.	PhilC
  5918 	1.	DEFECT FIX: PDEF094023 TDesC16 FindC incorrectly documented. Added extra overloaded TDesc16::FindC function
  5919 		Extra pararmeter aLengthFound -  length of the match found in the candidate string
  5920 
  5921 3.	MarkTa
  5922 	1.	MINOR CHANGE: Correct comments for TLocale::AmPmSpaceBetween, TLocale::SetAmPmSpaceBetween,
  5923 		TLocale::SetAmPmSymbolPosition and TLocalePos TLocale::AmPmSymbolPosition
  5924 	2.	DEFECT FIX: DEF100027: RBuf8 and RBuf16 claims to take ownership but it doesn't
  5925 
  5926 4.	JonathanM
  5927 	1.	MINOR CHANGE: Added Base_How_To_Impacts_Of_Demand_Paging_On_Kernel-Side_Code.doc
  5928 	2.	MINOR CHANGE: Renamed document "SGL.TS0022.016_1.1 Migrating Device Drivers to Paging Environment.doc"
  5929 		to "Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc"
  5930 	3.	MINOR CHANGE: Updated in-source comments for BTrace to indicate that EPagingAged trace is only
  5931 		produced when the kernel is compiled with the BTRACE_PAGING_VERBOSE macro. (Or BTRACE_KERNEL_VERBOSE)
  5932 	4.	MINOR CHANGE: Added document "SGL.TS0022.018 - Changes to Symbian OS for Demand Paging.doc"
  5933 		This describes all the changes made for demand paging, together with some
  5934 		explanation of why they were made, how they are implemented and the impact
  5935 		on systems which don't make use of demand paging.
  5936 
  5937 5.	DjordjeK
  5938 	1.	DEFECT FIX: DEF101646: t_wsimp test passes in emulator but panics when run on H4 board
  5939 		Minor change in test code.
  5940 
  5941 6.	MiguelB
  5942 	1.	DEFECT FIX: DEF102033: Paged MMC ROM images sometimes fail to boot
  5943 		Changed H4 MMC PSL to intially report card as present, rather than absent, so that early demand
  5944 		paging requests do not fail - the correct status is updated shortly afterwards after an interrupt.
  5945 	2.	DEFECT FIX: PDEF101799: Problems remounting SD protected area with KForceMediaChangeReOpenMedia flag
  5946 		Fixed a problem in the local media subsystem whereby an unprotected area request completed,
  5947 		and attempted to empty the deferred request queue before the protected area media driver
  5948 		had fully opened, resulting in all deferred requests completing with KErrNotReady.
  5949 		Made a minor change to the interrupt handling in panasonic logic module CPRM stack in order
  5950 		to show up this problem.
  5951 		Fixed another problem in locmedia.cpp whereby two consecutive KForceMediaChangeReOpenMedia
  5952 		remount requests caused both protected and unprotected area media driver to be re-opened.
  5953 
  5954 7.	JasdeepS
  5955 	1.	DEFECT FIX: DEF101816 - TDigitType enum needs to be extended to inlcude Indic digits to enable number co
  5956 
  5957 
  5958 Version 2.00.1514
  5959 ==========================
  5960 (Made by IgorM, 08/02/2007)
  5961 
  5962 1.	DjordjeK
  5963 	1.	Minor Change: Minor Change: the fix for t_cache that failed if ARMv7 was with memory type
  5964 		remapping switced OFF
  5965 	2.	DEFECT FIX: DEF101593 Kernel doesn't reset TLB when the chunk handler is closed (MCL).
  5966 		As the consequence, after user handler for a chunk was closed, the chunk memory was still
  5967 		accessable by user side (for a very short period of time).
  5968 
  5969 2.	MiguelB
  5970 	1.	MINOR CHANGE: Changed H2 MMC PSL DVariantMmcOmapH2::MachineInfo() to return 26MHz as the maximum
  5971 		clock speed rather than 52MHz as CRC errors have been observed with some MMCV4 cards.
  5972 
  5973 3.	MarkTa
  5974 	1.	DEFECT FIX: DEF101559: DP: hal.dll variants should not be unpaged
  5975 		Remove unpaged keyword in h2 and h2 hal.mmp files
  5976 	2.	DEFECT FIX: DEF101072: UserSvr class is incorrectly tagged
  5977 		Add @ to interalAll tags in UserSvr methods declarations.
  5978 	3.	INTERFACE CHANGE: BR2040: "Correct interface tags to restrict use of UserSvr class"
  5979 		Related to DEF101072 and is correction for doxygen tags for UserSvr methods missing '@'
  5980 
  5981 4.	JonCo
  5982 	1.	MILESTONE: Oghma, GT302,  MS3.2.4 DS502 PREQ1066:
  5983 		REQ5783 Make use of thread and process ID registers
  5984 		REQ5781 Make use of new ARMv6k load/store exclusive instructions
  5985 
  5986 5.	AndrewS
  5987 	1.	MILESTONE: Naiad GT304 System Libraries, DS.579, MS3.10 CR0989:It is not possible to format a TTime object based on a specific locale
  5988 		CHANGE REQUEST: CR0989 It is not possible to format a TTime object based on a specific locale
  5989 
  5990 6.	NeilC
  5991 	1.	DEFECT FIX: INC079996: Lifeblog refers to Nemo's harddrive as MMC
  5992 		Added new Enum TMediaType::EMediaRotatingMedia
  5993 
  5994 7.	JonathanM
  5995 	1.	MINOR CHANGE: Delete document "Base_How_To_Build_And_Configure_Code_Paging.doc"
  5996 		as this is a inaccurate description of a feature which has not yet been delivered.
  5997 
  5998 8.	JohnS
  5999 	1.	MINOR CHANGE: Add new test t_nandbm
  6000 		This test benchmarks NAND flash at the local drive level.
  6001 	2.	MINOR CHANGE: Lock kernel when calling Kern::Random() from flash translation layer.
  6002 		The call is located in the Unistore-II BML test code. Nand acceptence tests use
  6003 		this test code to simulate ECC errors.
  6004 
  6005 9.	JenniferH
  6006 	1. DEFECT FIX: DEF098402: Documentation of RPointerArray::FindInOrder() is wrong
  6007 
  6008 
  6009 10. AndreasP
  6010 	1. DEFECT FIX: DEF100093:?template baseport has 2 mmp files generating _template_ekeyb.dll
  6011 
  6012 Version 2.00.1513
  6013 ==========================
  6014 (Made by AttilaV, 29/02/2007)
  6015 
  6016 1.	DjordjeK
  6017 	1. 	DEFECT FIX: DEF100946: Kernel supprt for l220 cache is not sufficient.
  6018 		This is proper support for L220 cache (It used to work with L210 code and minor hacks
  6019 		from third parties.). Baseport for platform with L220 should be configured as:
  6020 		GBLL	CFG_HasL220Cache 		;in config.inc
  6021 		macro   __ARM_L220_CACHE__ 		//in variant .mmh
  6022 	2.	DEFECT FIX: DEF100182: Symbian OS 9.3 uses non-existent VFPv3 registers
  6023 		This is VFP for ARMv7 platform. In E32 we now build kernel extensions for both VFP & VFPv3.
  6024 
  6025 2.	MarkHambleton
  6026 	1.	DEFECT FIX: DEF100443: DP: New test code missing doxygen tags
  6027 	2.	MINOR_CHANGE: Fix emaulate_paging_device to work with new version of demand paging.
  6028 		This is sample code / test code used on non-demand paged targets.
  6029 	3.	DEFECT FIX: DEF100442: DP: DPTest::SetCacheSize comments ambiguous.
  6030 
  6031 3.	OlegI
  6032 	1.	MINOR CHANGE: Added in-source comment for macro _CHECK_DFCQ01_CONTEXT
  6033 
  6034 4.	MichaelP
  6035 	1.	DEFECT FIX: DEF100730: Update to H4 HSUSB Driver from TI's latest Base Port Code (9.61)
  6036 		Increases the number of DMA channels available to the HSUSB driver and fixes
  6037 		some timer values ('x' -> 'NKern::TimerTicks(x)').
  6038 	2.	DEFECT FIX: DEF099668: USB Configuration Descriptor shows invalid bMaxPower and SelfPowered values
  6039 		In the Configuration Descriptor for H2 and H4 (both FS & HS), set the
  6040 		bMaxPower value to 0mA and the Self-powered bit to 1 (= True).
  6041 
  6042 5.	JonCo
  6043 	1.	DEFECT FIX: INC098090: S60 emulator: Switching off display 0 swithces off also display 1
  6044 		Update the emulator display hal implementation to make use of the device number passed in.
  6045 	2.	DEFECT FIX: PDEF101382: HAL attribute ECaseState has no accessor function
  6046 
  6047 6.	JonathanM
  6048 	1.	DEFECT FIX: DEF100952: DP: ApplyCodeFixupsOnLoad can fail when system has a lot of free RAM
  6049 		This fixes unnecessary KErrNoMemory failures when loading demand paged code (Code Paging) and
  6050 		when creating ROM shadow pages in demand paged ROMs (used for setting breakpoints in ROM).
  6051 
  6052 7.	MarkTa
  6053 	1.	DEFECT FIX: PDEF101180: GCCE can't compile e32def.h in C mode
  6054 		Assign value to KSuppressPlatSecDiagnostic directly, no longer assign
  6055 		via KSuppressPlatSecDiagnosticMagicValue
  6056 	2. 	DEFECT FIX: PDEF101084: RRegion::Destroy has "delete this"
  6057 		Improve comments to RRegion::Destroy to say why USer-42 panic occurs for
  6058 		RRegion objects stored on the stack
  6059 
  6060 Version 2.00.1512
  6061 ==========================
  6062 (Made by StefanW, 18/01/2007)
  6063 
  6064 1. 	NeilC
  6065 	1.	DEFECT FIX: PDEF096014: MMCTEST can't read sectors on a SD-enabled ROM
  6066 	2.	DEFECT FIX: PDEF100589: SdioSocketThread creates a DFC thread with no name
  6067 	3.	DEFECT FIX: DEF098832: Wi-Fi broken by SDIO change
  6068 
  6069 2.	MichaelP
  6070 	1.	MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
  6071 		performance Perl script.
  6072 	2.	MINOR_CHANGE: Put in a warning in USB PIL in case the PSL doesn't support
  6073 		Device State tracking.
  6074 
  6075 3.	StefanW
  6076 	1. 	MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
  6077 		to access an entire media address space not just a given partition of an SD Card.
  6078 
  6079 4.	MiguelB
  6080 	1.	DEFECT FIX: PDEF100488: Locking and unlocking of card still doesn't work
  6081 		Changed Estart to write password store even when card is not present
  6082 	2.	DEFECT FIX: DEF100818: More issues with MMC passwords
  6083 		Changed local media subsystem to force a re-read of the partion information after
  6084 		writing the password store.
  6085 		Changed DMMCStack::PowerDownStack() to automatically mark cards with passwords as locked.
  6086 		Changed TDrive::ClearDevicePassword(TMediaPassword& aPassword) to attempt to unlock a locked
  6087 		card before clearing the password (only an issue when not using the password store).
  6088 
  6089 
  6090 Version 2.00.1511
  6091 ==========================
  6092 (Made by DjordjeK, 17/01/2007)
  6093 
  6094 1.	AbigailS
  6095 	1. MINOR CHANGE Fixing error in-source comment.
  6096 
  6097 2.	JenniferH
  6098 	1. DEFECT FIX: DEF098394: Documentation of RArray::FindInOrder() is wrong
  6099 
  6100 3.	DjordjeK
  6101 	1.	MILESTONE: Oghma, GT302,  MS3.2.3, DS488 PREQ1066, REQ5782
  6102 		Introducing Acess Permission Remapping on ARMv6K and ARMv7 platforms.
  6103 	2.	INTERFACE CHANGE: BR1911.1 	On ARMv6K and ARMv7 platforms,
  6104 		Kernel will support only a limited set of access permissions.
  6105 
  6106 4.	JonathanM
  6107 	1.	DEFECT FIX: PDEF100231: Redundant code in e32 causes BC break in Licensee codelines
  6108 
  6109 5. PeterS
  6110 	1.	DEFECT FIX: DEF099552: Fix for PDEF097084 should be applied to new sound driver too.
  6111 	2.	DEFECT FIX: DEF099549: New sound driver components ommitted from iby files used by techview.
  6112 
  6113 6.	MichaelP
  6114 	1.	DEFECT FIX: DEF098971: H4 HSUSB Driver fails Kernel Precondition Checking
  6115 		Removed the interrupt-disabling code from UsbPowerHandler::RequestPower()
  6116 		and DUsbPowerHandler::RelinquishPower() in file
  6117 		\omap_hrp\assp\omap24xx\hsusb\omapusbc_assp_24xx.cpp.
  6118 	2.	MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
  6119 		performance Perl script.
  6120 
  6121 7.	JonCo
  6122 	1.	DEFECT FIX: DEF100375: t_kernasmbm fails on freescale boards
  6123 	2.	DEFECT FIX: DEF092531: Documentation for RThread::Logon could be improved
  6124 
  6125 8.	MylesB
  6126 	1.	MINOR CHANGE: Improved test code T_Match by adding more cases to test
  6127 		for INC092513 (SYSLIB-UNICODE-CT-3337)
  6128 
  6129 9.	ArwelH
  6130 	1.	MINOR CHANGE Adding information about timer resolution to in-source comment description
  6131 		of User::After().
  6132 
  6133 Version 2.00.1510
  6134 ==========================
  6135 (Made by JonathanM, 09/01/2007)
  6136 
  6137 1.	JonathanM
  6138 	1.	Milestone:
  6139 		Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)
  6140 
  6141 		Defect Fixes:
  6142 		DEF098726 DP: [TBAS] Demand Paging low mem tests cause processes to not cleanup correctly
  6143 		DEF098360 Loading of executables can fail with random error codes under OOM conditions
  6144 		DEF098751 DP: Demand Paging stress tests appear to lock up on an H2.
  6145 		DEF099089 DP: [TBAS] Under race-conditions, KErrAlreadyExists errors may occur.
  6146 		DEF100272 DP: [TBAS] Decommiting Pages from chunks causes random corruptions.
  6147 
  6148 		Interface Changes:
  6149 		BR1991.2 USB Dfc Queue Performance Improvement
  6150 		BR1988.1 Device Driver Deferred Function Call (DFC) Queue Migration
  6151 		BR1982.1 Read from user memory must not occur whilst holding a mutex
  6152 		BR1924.1 Bootstrap Changes for Demand Paging
  6153 
  6154 Version 2.00.1509
  6155 ==========================
  6156 (Made by NicholasC, 02/01/2007)
  6157 
  6158 1.	JenniferH
  6159 	1. DEF098400  Documentation missing for RArray::Find() and RArray::FindInOrder()
  6160 	2. DEF098403  Documentation missing for RPointerArray::Find() and RPointerArray::FindInOrder()
  6161 
  6162 2.	MylesB
  6163 	1. INC092513: RR S60: Variant testing: Searching does not work properly in contacts
  6164 
  6165 3.	MarkTa
  6166 	1. DEFECT FIX: PDEF100045: T_DES E32 test is missing verdict
  6167 	Correct typos in functions test_TPtr and test_TPtrC, where test.Start is invoked twice.
  6168 
  6169 
  6170 Version 2.00.1508
  6171 ==========================
  6172 (Made by OlegI, 18/12/2006)
  6173 
  6174 1.	DharmeshG
  6175 	1.  DEFECT FIX: DEF097640 Invalid test in t_video (e32test).
  6176 
  6177 2.	ReubenH
  6178 	1.	DEFECT FIX: DEF098837: Deficiency in the addition of objects to the kernel
  6179 		Amended DObjectCon::Add() to skip call to CheckUniqueFullName for unnamed objects.
  6180 
  6181 3.	RichardCo
  6182 	1.	DEFECT FIX: PDEF099121: MMFControllerProxyServer crashes when trying to play video clip in low memory si
  6183 		Make sure that when there is no memory available when creating a code segment, we return KErrNoMemory
  6184 		instead of the (positive) number of pages which are short.
  6185 
  6186 4.	MarkTa
  6187 	1.	DEFECT FIX: DEF099336: DP: Some Base components need MMP files updating for Demand Paging
  6188 		Ensure the correct mmp files have the unpaged keyword
  6189 	2.	MINOR CHANGE: correct comments for RLibrary::Lookup
  6190 
  6191 5.	StefanW
  6192 	1.	DEFECT FIX: DEF099250: Problems with new 8GB SD Card
  6193 	2.	DEFECT FIX: DEF097952  Writing a password to the MMC password store should unlock the card.
  6194 		Auto-unlocking of MMC/SD cards traditionally only occurs during power-up of the MMC.
  6195 		However, the password store is sent to the card after the ESTART has initialised the card.  This
  6196 		can result in password notifiers appearing if the card is accessed before it has first powered down.
  6197 		To overcome this issue, the MMC/SD stack now ensures that cards are unlocked when the password store
  6198 		is first passed to the MMC/SD stack.
  6199 
  6200 6.	OlegI
  6201 	1.	MINOR_CHANGE: Add Kernel Preconditions Checking Migration Note
  6202 
  6203 7.	MiguelB
  6204 	1.	DEFECT FIX: PDEF095968 SD Protected area media driver provides no way to create/correct compliant MBR
  6205 		Changed medsdp to create MBR when card is formatted. A card with no MBR will be rejected
  6206 		if "SYMBIAN_MBR_MANDATORY_FOR_SD_CARDS" macro is defined in medsdp.mmp.
  6207 		Added a new flag RLocalDrive::ELocDrvWholeMedia to allow reading/writing entire media.
  6208 
  6209 8.	MichaelP
  6210 	1.	MINOR_CHANGE: Clarified description of the SignalRemoteWakeup() function
  6211 		in the USB API Document, also added a comment in driver header file usbc.h.
  6212 
  6213 9.	MarkHambleton
  6214 	1.	DEFECT FIX: DEF097578: Demand Paging Asserts are too restrictive
  6215 
  6216 
  6217 Version 2.00.1507
  6218 ==========================
  6219 (Made by MichaelMo, 04/12/2006)
  6220 
  6221 1.	MarkTa
  6222 	1.	DEFECT FIX: PDEF097862: Loader problems
  6223 		Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
  6224 		Extended t_loadfail to cover this fix
  6225 	2.	DEFECT FIX: PDEF098232: No way to add an event without resetting the inactivity timer
  6226 		Add overloaded version of Kern::AddEvent that specifies whether or not to
  6227 		reset the user inactivity timer
  6228 	3.	MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
  6229 		Allow new named symbol export data to be looked up using new exec function RProcess::ExeExportData and
  6230 		modifying RLibrary::Lookup to get the 0th ordinal of stdexe/stddlls only.
  6231 
  6232 2.	DjordjeK
  6233 	1.	DEFECT FIX: DEF098219: Cache not cleaned when creating a new page directory (MCL)
  6234 		Fixing the security hole. Not related to stability of the sistem by any means.
  6235 	2.	DEFECT FIX: DEF098223: CodeSeg memory not cleaned correctly from the CPU cache (MCL)
  6236 		This was potentially fatal Kernel defect. It was always there but became visible with
  6237 		extensive use of write-back cache (9.2 and later).
  6238 	3.	MILESTONE: Oghma, GT302,  MS3.2.2, DS489 PREQ1066: Support for 1176 core.
  6239 		Added support for 1176 core in Kernel and bootrom. Doesn't include TrustZone.
  6240 
  6241 3.	MichaelMo
  6242 	1.	MINOR_CHANGE: Add metabld scripts (.mbc) for building emulator for WINS and WINSCW
  6243 
  6244 4.	OlegI
  6245 	1.	MINOR_CHANGE: Add USB DFC Queue Break Migration Note
  6246 	2.	DEFECT FIX: DEF098487: USB DFC queue improvment
  6247 		All new functionality currently disabled until macro SEPARATE_DFC_QUE in
  6248 		e32/kernel/kernel_ext.mmh is defined (this will happen as part of DemandPaging submission)
  6249 	3.	INTERFACE CHANGE: BR1991.1 Development Boards: USB Dfc Queue Performance Improvement
  6250 
  6251 
  6252 5.	samiraabbasnejad
  6253 	1.	DEFECT FIX: PDEF098287: __PATH_TESTED macro has mismatched parenthesis
  6254 
  6255 6.	MichaelP
  6256 	1.	DEFECT FIX: DEF098465: H4 / Fibula HSUSB Driver Issues
  6257 		Integrating relevant HSUSB driver changes from latest version (9.60) of
  6258 		TI's H4 Base port.
  6259 
  6260 7.	ParameshwariB
  6261 	1.	DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
  6262 		Reverted back line 229 and 626 in d_ethernet.cpp.
  6263 
  6264 8.  RaghavendraB
  6265     1.  DEFECT FIX: PDEF097084  AH: Windows sound volume is increased to Max on emulator startup.
  6266 	    Changed sound driver for wins. retrieved windows wave volume settings, and assigned it as
  6267 		default volume settings.
  6268 	2.	DEFECT FIX: PDEF096025  Documentation is incomplete for the sound device driver classes in dev library
  6269 		Updated insource documentation.
  6270 
  6271 9.	DharmeshG
  6272 	1.	DEFECT FIX: PDEF096008: DPrimaryMediaBase: Documentation is incomplete for this class in dev library
  6273 		Updated source files with insource documentation
  6274 
  6275 Version 2.00.1506
  6276 ==========================
  6277 (Made by Dusko 29/11/2006)
  6278 
  6279 1. 	JohanG
  6280 		DEF098096 REQ6575:Bug in  buildrom.pm
  6281         Implementation of REQ6575, which is part of PREQ1110. New perl module ef
  6282 		ficient_rom_paging added.
  6283 
  6284 Version 2.00.1505
  6285 ==========================
  6286 (Made by KaiD, 20/11/2006)
  6287 
  6288 1. 	MarkHambleton
  6289 	1. 	DEFECT FIX: DEF096838: DP: AllocContiguousRam fails to use RAM from paging cache (part 2)
  6290 		Added code in initialisation to check for reserved RAM areas.
  6291 
  6292 2.	MarkTa
  6293 	1.	DEFECT FIX: PDEF097965: Exception handler should dump thread name
  6294 		Make DumpExcInfo, and therefore the exception handler, output the thread name
  6295 
  6296 3.	GavinT
  6297 	1.	DEFECT FIX: DEF097976: Pipe distribution. policy file incorrect
  6298 		Corrected error in e32/drivers/pipe/distribution.policy.
  6299 
  6300 4.	MichaelP
  6301 	1.	MINOR_CHANGE: Fixed comment typo in USB header file d32usbc.h.
  6302 	2.	MINOR_CHANGE: Made some changes to T_USB - disk read/write now requires
  6303 		at least a 128MB card.
  6304 
  6305 Version 2.00.1504
  6306 ==========================
  6307 (Made by JonCo, 10/11/2006)
  6308 
  6309 1.	ParameshwariB
  6310 	1.	MINOR CHANGE: Document title changed
  6311 
  6312 2.	MichaelP
  6313 	1.	MINOR_CHANGE: Reorganized USB Mass Storage documentation:
  6314 		Moved MS Functional Spec and MS App How-to to the base/documentation
  6315 		directory and deleted an old MS performance figure doc.
  6316 3.	MiguelB
  6317 	1.	DEFECT FIX: PDEF095993: SD Card implementation is not fully compliant with the specification.
  6318 
  6319 4.	AndrewHi
  6320 	1.	DEFECT FIX: PDEF095979: [AQP] NOR Flash access timeout should return error code, not fault the kernel
  6321 		Updated for H4, H2 and WINS platforms. WINS driver and T_LFSDRV2 modified to
  6322 		support simulated timeout test
  6323 5.	MarkTa
  6324 	1.	PDEF097540: t_atomic - E32 test case is empty
  6325 		Remove t_atomic as tests non-existant function User::SafeSwap
  6326 
  6327 6.	DipakA
  6328 	1. DEFECT FIX: DEF096652: Open overrides in RPipe and incorrect KErrNotReady
  6329 		Added two new Open methods in RPipe. Def files updated for the same.
  6330 		KErrNotReady updated correctly. Test files updated for all the changes.
  6331 
  6332 7. RyanHarkin
  6333 	1.	MINOR CHANGE: Tidy up H4_ResetAttach.cmm Lauterbach script
  6334 		Removed ETM specific script commands because they crash non-ETM Lautherbachs
  6335 	2.	MINOR CHANGE: Improve comments/debug output of T_SERIAL flow control test case
  6336 	3.	DEFECT FIX: DEF097350 - T_SERIAL 3 0 fails on H4HRP
  6337 		Ensure that the RTS GPIO pin returns to default multiplexed state when the driver is unloaded
  6338 	4.	DEFECT FIX: DEF097399 - H4 UART driver (_h4hrp_euart.pdd) doesn't free physical RAM
  6339 		Free allocated memeory in the destructor
  6340 
  6341 
  6342 Version 2.00.1503
  6343 ==========================
  6344 (Made by MichaelMo, 06/11/2006)
  6345 
  6346 1.	MichaelMo
  6347 	1.	DEFECT FIX: PDEF097463: Base defect submission causes overnight Networking tests to crash
  6348 
  6349 
  6350 Version 2.00.1502
  6351 ==========================
  6352 (Made by MiguelB, 31/10/2006)
  6353 
  6354 1.	DjordjeK
  6355 	1.	INTERFACE CHANGE: BR1913.1 The constants that describe ARM's page table should be marked as internalComponent
  6356 				  This is change in in-source documantation (tagging) only.
  6357 	2.	INTERFACE CHANGE: BR1848.1 Removing publishedPartner tag from cache-memory related macros (and mark them as internalComponent)
  6358 				  This is change in in-source documantation (tagging) only.
  6359 	3.	MINOR CHANGE: Document title changed
  6360 
  6361 
  6362 2.	JonCo
  6363 	1.	DEFECT FIX: DEF091211: RR Emulator hangs running steam tests
  6364 	2.	DEFECT FIX: PDEF095734: Emulator sound driver crash when running UIQ steam tests
  6365 
  6366 3.	MiguelB
  6367 	1.	DEFECT FIX: PDEF095926: Running Multimedia tests on H4 board results in MEDMMC 128 panic
  6368 		MMC stack session is now deleted when stack powers down & re-instantiated on power-up.
  6369 		This reverts behaviour to that prior to submission of PREQ1389 and resolves problem of
  6370 		engaging a session more than once which can result in an exception.
  6371 	2.	DEFECT FIX: PDEF097112	TRUE - Phone does not boot up with memory card inserted
  6372 		Changed DMMCStack::CIMReadWriteBlocksSM() and DSDStack::CIMReadWriteBlocksSM() so that if a
  6373 		faulty card does not respond to CMD17, the error code is properly propagated up the stack.
  6374 
  6375 4.	MarkTa
  6376 	1.	DEFECT FIX: DEF096629: base rom.bat tool does not support system-wide #defines
  6377 		Make rom.pl include the current configuration hrh file when preprocessing oby and iby files
  6378 	2.	MINOR CHANGE: Update comments to TSecurityPolicy::Package and TSecurityPolicy::Set to describe
  6379 		the descriptor formatting
  6380 
  6381 5.	AttilaV
  6382 	1.	DEFECT FIX: DEF095619: DP: No formal way for licensee build tools to enquire unpaged size of ROM
  6383 		Add new CLI parameter to generate include file for ROM image post-processing
  6384 	2.	DEFECT FIX: DEF096908: Add support for creating a process with a larger stack size than requested
  6385 
  6386 6.	PeteS
  6387 	1.	MILESTONE: Oghma GT0302, DS97, MS3.7.2  PREQ1073.4 : Part 2 : Graphics and multimedia (audio driver)
  6388 		This adds a new audio driver which uses shared chunks for data transfer requests. This driver is
  6389 		supported on the following platforms: H4, Lubbock, WINS, template.
  6390 		Added T_SOUND2, T_SOUND_API, T_SOUNDMCHAN and T_SOUNDWAV to E32TEST.
  6391 
  6392 7.	Radhakrishnan R
  6393  	1. 	DEFECT FIX: PDEF096020: Documentation incomplete for class like TMMCCallBack, TMMCStatus in dev library
  6394  		Propagated from DEF093710.
  6395 	2.	DEFECT FIX: PDEF096021: documentation incomplete:RMdaDevSound,TSoundFormatsSupported,TCurrentSoundFormat
  6396 		Propagated from DEF093480.
  6397 
  6398 8.	StefanW
  6399 	1.	MILESTONE: Bravo GT0236, MS3.27 DS417 PREQ1389 CR0792 - Add support for MMC cards > 2Gb in size.
  6400 		Added support for >2G MMC Cards conforming to the MMC4.2 version of the specification.
  6401 		MMCv4.2 introduces block-based addressing modes for MMC Data Transfer operations, hence
  6402 		overcoming the limitations of 32-bit addressing.
  6403 
  6404 9.	NeilC	MINOR CHANGE: Make Device Driver DFC Q Migration Note available for customer review.
  6405 
  6406 10.	RaghavendraB
  6407 	1.	DEFECT FIX: PDEF096026  Documentation incomplete for the class TCisReader in developer library.
  6408 	    Propagated from DEF093922.
  6409 	2.	DEFECT FIX: PDEF096023  Documentation incomplete for classes like TPcCardConfig in developer library.
  6410 		Propagated from DEF093709.
  6411 
  6412 
  6413 Version 2.00.1501
  6414 ===========================
  6415 (Made by DmitryL, 18/10/2006)
  6416 
  6417 1.	GavinT
  6418 	1.	MILESTONE: Argus, GT0314, MS3.3 PREQ1460/CR0923 DS346 PREQ1460: Open Environment - POSIX process launch with pipes
  6419 		Add new pipe device driver
  6420 	2.	MILESTONE: Argus, GT0314, MS3.4 PREQ1460/CR0923 DS347 PREQ1460: Open Environment - POSIX process launch with pipes : User::WaitForNRequests()
  6421 		Added User::WaitForNRequests() to support select() for Open Environment
  6422 
  6423 2.	MichaelP
  6424 	1.	DEFECT FIX: PDEF095739: USB connection is not working in 3.1 wk40 RnD build.
  6425 		Introduced list-based request processing in the USB PDD PIL for Ep0 read
  6426 		requests (OUT transfers). This is because Ep0 OUT is the only endpoint
  6427 		in the driver that can have more than one request outstanding at the
  6428 		same time (one per LDD).
  6429 
  6430 3.	NeilC
  6431 	1.	DEFECT FIX: PDEF096015: Compiler warning when building SD card support for emulator.
  6432 
  6433 4.	MarkTa
  6434 	1.	DEFECT FIX: PDEF096190: Reclasify UserSvr::AddEvent as @publishedPartner
  6435 	2.	DEFECT FIX: PDEF096192: Reclasify Kern::Restart() as @publishedPartner
  6436 	3.	DEFECT FIX: DEF096179: Incorrect stack info in superpage
  6437 		Correct typo
  6438 
  6439 5.	ParameshwariB
  6440 	1.	DEFECT FIX: PDEF095927: During powerdown, PowerHandlers registration should be reversed (i.e. C, B,A).
  6441 	2.	INTERFACE CHANGE: BR1947.2 : Convert power handler list to doubly linked list.
  6442 	3.	DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
  6443 
  6444 6.	DjordjeK
  6445 	1.	DEFECT FIX: PDEF096236: ARM11 errata 399234: How Symbian will workaround(MCL)
  6446 		This is Symbian Kernel fix for ARM1136 ERRATUM No.99234
  6447 		On ARMv6 platforms, Kernel will use cached memory only in Write-Back mode (that includes memory for
  6448 		page/directory tables). On Device drivers?request to create Write-Through memory, non-cached/buffered
  6449 		memory will be created. Performance issue is possible. In baseport, it is advisable to set write-back mode
  6450 		for the following memory regions: BTP_Rom, BTP_Kernel, BTP_SuperCPU, BTP_PageTable, BTP_Vector, BTP_PtInfo
  6451 		and BTP_User. If ARMv6 platform is not affected by this erratum, write through mode could be enabled by:
  6452 				GBLL   CFG_CPU_ARM1136_ERRATUM_399234_FIXED   ; in config.inc
  6453        				macro __CPU_ARM1136_ERRATUM_399234_FIXED // in variant.mmh
  6454 	2.	DEFECT FIX: PDEF096239: Use read/write allocate rather than just read allocate for L2 cache(MCL)
  6455 		Default cached memory in ARMv6 kernel is now "Write-Back Read/Write Allocate".
  6456 	3.	MILESTONE: Oghma, GT302,  MS3.2.1, DS432 PREQ1066: Memory Type Remaping on ARMv6K and ARMv7.
  6457 		It also disables the use of Write-Through cache mode on
  6458 		these platforms. As the consquence, page tables are now kept and maintained in Write-Back memory.
  6459 	4.	INTERFACE CHANGE: BR1907.2 On ARMv6K and ARMv7 platforms, the kernel will only support a limited set of memory types.
  6460 	5.	INTERFACE CHANGE: BR1950.4 Removing Write-Through cache mode on ARMv6 platforms.
  6461 
  6462 7.	PhilK
  6463 	1. 	DEFECT FIX: DEF092091: H4 (OMAP2420 ES2.1) cannot run at 300MHz with a core voltage of 1.3v
  6464 		- Increae core voltage to 1v4.
  6465 	2.	DEFECT FIX: DEF096876: H4HRP - Add runtime detection and support for Infineon memory
  6466 		- Add I2C interrogation of CPU board ID. If 9.41 board revision detected, then setup SDRC
  6467   		for Infineon DDRAM part.
  6468 
  6469 8. 	Trupti Parikh
  6470 	1. 	DEFECT FIX: DEF095668: A locales CurrencySymbol and Date/Time formatspecs are not accessable.
  6471 
  6472 
  6473 Version 2.00.1500
  6474 ===========================
  6475 (Made by YingS, 11/10/2006)
  6476 
  6477 1.	NeilC
  6478 	1.	DEFECT FIX: PDEF096031: Documentation is incomplete for class DPBusPsuBase, DMediaChangeBase in dev lib
  6479 
  6480 2.	Attilav
  6481 	1. 	DEFECT FIX: PDEF095931: Semi-colon in epoc.ini causes infinite loop.
  6482 
  6483 3.	MarkTa
  6484 	1.	DEFECT FIX: PDEF096041: compile error multiple memory model without __REQUEST_COMPLETE_MACHINE_CODED__
  6485 		Allow code to build when only __REQUEST_COMPLETE_MACHINE_CODED__ is undefined
  6486 	2.	MINOR CHANGE: Change comment on return codes of User::FreePhysicalDevice and User::FreeLogicalDeive to
  6487 		include the line"KErrNone will be returned if the device is not found as it may have already been
  6488 		freed."
  6489 
  6490 4.	PhilC
  6491 	1.	DEFECT FIX: PDEF096039: Calrify and extend TLanguage.
  6492 
  6493 5.	MarkHambleton
  6494 	1.	DEFECT FIX: PDEF096034: DP: AllocContiguousRam doesn't check page cache when out of memory.
  6495 
  6496 6.	JohnS
  6497 	1.	DEFECT FIX: PDEF096038: MMC / SD stack disables interrupts unnecessarily
  6498 		Don't disable interrupts anymore.
  6499 
  6500 
  6501 Version 2.00.1158
  6502 ===========================
  6503 (Made By EXTRajeswariR, 03/10/2006)
  6504 
  6505 1.	EXTRajeswariR
  6506 	1. MILESTONE: Naiad, GT0303, MS3.1 Changes required to switch ARMV5 to ABIV2 mode toolchain
  6507 	The changes are made configurable. However, in this submission, all changes required to support
  6508 	ABIV2 mode toolchain will be submitted. But the changes will not be in effect, since the keyword
  6509 	required to enable the change is not made. The keyword to enable ABIV2 mode toolchain
  6510 	(ENABLE_ABIV2_MODE) will be submitted in the configuration file as part of Delivery 2.
  6511 	Until then, the toolchain shall continue to work in ABIV1 mode.
  6512 
  6513 
  6514 Version 2.00.1157
  6515 ===========================
  6516 (Made by IgorM, 21/09/2006)
  6517 
  6518 1.	NicholasC
  6519 	1.	DEFECT FIX: DEF091844: [Codebase] Failure during a USB Mass Storage mount can cause a system crash
  6520 	Restore mounts properly when usbmsapp closes
  6521 
  6522 2.	MarkTa
  6523 	1.	MINOR CHANGE: Correct typo in comments for Kern::ChunkCommitPhysical
  6524 
  6525 3.	StefanW
  6526 	1.	DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
  6527 		SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
  6528 		aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
  6529 		to the FAT file system to ensure that this constraint is met.
  6530 
  6531 4.	KaiD
  6532 	1.	Defect Fixes: INC093932: Symbian E32 test T_PROC1 has no verdict
  6533 	Corrected nesting error of test steps.
  6534 
  6535 5.	NeilC
  6536 	1.	MILESTONE: Naiad, GT0326, MS3.1 PREQ1623 DS300 Enable DMA for SDIO transfers
  6537 		This adds new Read/Write APIs for SDIO Register Interface to allow DMA data transfers.
  6538 
  6539 6.	ParameshwariB
  6540 	1.	MINOR CHANGE: Changed to get the nandloader XSR signature by calling controlIo function instead of being
  6541 		sent as part of drive capabilities.
  6542 
  6543 7.	HusienH
  6544 	1.	DEFECT FIX: DEF093921: Documentation incomplete for class Locl/LLanguage in developer library
  6545 
  6546 8.	DjordjeK
  6547 	1.	DEFECT FIX: DEF093587: Bug in target (RAM) loader
  6548 		Global variables (in RAM loaded executables) were potentially left un-initialised.
  6549 
  6550 9.	PhilK
  6551 	1.	MINOR CHANGE: Revert code so as to disable serial logging during T_SERIAL test.
  6552 		Logging is sent to default debug serial port and breaks the test.
  6553 
  6554 10.	MichaelP
  6555 	1.	DEFECT FIX: INC094050 	RF Phone freeze DfcThread0 during USB cable disconnection at PCS mode
  6556 		When moving away from Configured state, the USB LDD didn't correctly
  6557 		reset its internal alternate interface setting representation: added
  6558 		call SelectAlternateSetting(0) to function DLddUsbcChannel::DeConfigure().
  6559 
  6560 
  6561 Version 2.00.1156
  6562 ===========================
  6563 (Made by RichardC, 14/09/2006)
  6564 
  6565 1.	JonathanM
  6566 	1.	MILESTONE: Naiad,GT0316,MS3.3 PREQ1426 Phase 1
  6567 		Add TRK debugger drivers.
  6568 	2.	DEFECT FIX: DEF090911: Formal API needed for Demand Paging test and analysis
  6569 		This adds new class DPTest in dptest.h and dpsest.dll. (In E32UTILS component.)
  6570 
  6571 2.	MarkTa
  6572 	1.	DEFECT FIX: DEF092537: Build Breaks reported by Partner
  6573 		Replace the use of the macros TO_ROOT and TO_BLDINF with EPOCROOT and EXTENSION_ROOT
  6574 		, respectively.  This required small change to genexec.pl to add drive letter to
  6575 		file paths as cpp doesn't like absolute paths beginning with '\'.
  6576 	2. 	DEFECT FIX: DEF093363: [Codebase] RProcess::FileName() spelling different in HW and emulator
  6577 		Change 'z'to 'Z' in KRomSysBin for emulator as h/w targets use uppercase for drive letters
  6578 	3.	DEFECt FIX: DEF093924: RF panic in CrashLogger::DumpRomInfo()
  6579 		Stop the version name being created twice
  6580 	4. 	DEFECT FIX: DEF093711: Documentation incomplete for TStackInfo and SSuperPageBase in developer library.
  6581 		Make comments doxygen compatible
  6582 	5.	DEFECT FIX: INC093397: RR D_EXC tries to capture kernel and critical thread crashes?
  6583 		Ensure kernel faults before attempting to send KernelEvent
  6584 	6.	DEFECT FIX: INC092747: e32utils profiler assumes C: is non-volatile drive
  6585 		Added new command line option "-drive=[drive letter]" to allow drive PROFILER.DAT
  6586 		is stored on to be specified when starting the profiler
  6587 	7.	MINOR CHANGE: Added comment to nk_plat.h to stop customers attempting to undefine
  6588 		*_MACHINE_CODED__ macros
  6589 
  6590 3.	DjordjeK
  6591 	1.	DEFECT FIX: INC092809: Number of Hal attributes is ENumHalAttributes * number of screens
  6592 		In-source documantation update only.
  6593 		(p.s. This is my No.100 defect fixed in Kernel :)
  6594 	2.	MINOR CHANGE: Fix for d_cache test driver which used to panic on ARMv7 due to attempt
  6595 		to clean/purge invalid address from inner cache.
  6596 
  6597 4.	GavinT
  6598 	1.	DEFECT FIX: DEF092745: [Codebase] User::Leave, User::Identity and User::CreatorIdentity undocumented
  6599 
  6600 
  6601 5.	JenniferH
  6602 	1.	DEFECT FIX: DEF092370: [Codebase] TDfcFn undocumented
  6603 	2.	DEFECT FIX: DEF092371: [Codebase] TDfc functions undocumented
  6604 
  6605 6.	MichaelP
  6606 	1.	DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
  6607 		Reverted the newly introduced RPointerArray stuff of the previous
  6608 		solution, as we can nowhere allocate new elements safely.
  6609 		Reintroduced the singly-linked lists (except for transfer requests),
  6610 		but this time with a maximum permissible length	(KUsbcMaxListLength)
  6611 		to ensure that the lists are of a finite length and thus the list
  6612 		traverse time is bounded.
  6613 
  6614 7.	RanisuneelaM
  6615 	1. 	DEFECT FIX: DEF092227: Insufficient documentation for TCommConfigV01 and TCommConfigV02 member data
  6616 
  6617 8.	PhilK
  6618 	1. MINOR CHANGE: Fix category for H4 NAND2 IBY files (cat T).
  6619 	2. MINOR CHANGE: Add support for SDP9.41 RAM configuration to Lauterbach scripts.
  6620 	3. MINOR CHANGE: Fix category for H2 NAND2 IBY files (cat T).
  6621 
  6622 9.	MichaelP
  6623 	1.	DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
  6624 		Removed all instances of the singly-linked list and replaced them with
  6625 		either a normal array (for endpoint transfer requests) or RPointerArray
  6626 		for notification request structures (status, ep status, OTG, client).
  6627 		Using a normal C-style array for transfer requests also means we don't
  6628 		have to disable interrupts any longer when looking up pointers and when
  6629 		storing/deleting pointers: each array element simply corresponds to one
  6630 		physical endpoint, which only ever can have either one or no transfer
  6631 		outstanding at a time (irrespective of the number of interfaces/LDDs).
  6632 	2.	DEFECT FIX:  INC093352: Adding new USB string descriptors mess up the index of the old ones.
  6633 		In the USB PDD PIL, file e32/drivers/usbcc/descriptors.cpp, function
  6634 		TUsbcDescriptorPool::SetIfcStringDescriptor(), changed
  6635 		iStrings.Insert() into ExchangeStringDescriptor(). Also extended
  6636 		unit test T_USBAPI to test the case which discovered the problem.
  6637 	3.	MILESTONE: GT0286 Base KnP (Argus), MS3.11 DS397, CR0807
  6638 		"Increase USB Buffer size in MSDC mode"
  6639 		The USB Mass Storage class driver now requests 'Default' size LDD
  6640 		buffering (4KB) on a FS device and 'Plus2'-sized (64KB) buffers when
  6641 		it detects that it is running on a HS-capable device.
  6642 		At the same time, the LDD buffer size corresponding to the 'Maximum'
  6643 		bandwidth setting has been reduced from 2.5MB (IN) and 5MB (OUT) to
  6644 		512KB in both cases.
  6645 
  6646 10.	JohnS
  6647 	1. 	DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
  6648 		Add support for multiple FAT partitions to the nadloader application and the nandloader media
  6649 		driver. Create mechanism to populate composite file system NAND FAT partitions from writeable
  6650 		FAT partitions which are not in the composite file system. Extend the ROFS tests to NAND FAT
  6651 		composite file system partitions. Adjust H2 and H4 PSL to create extra FAT partitions and run
  6652 		tests on them.
  6653 
  6654 11.	NeilC
  6655 	1.	DEFECT FIX: DEF093844: RF MMC Card still reported as Present
  6656 		Modified MMCStack such that it is aware if power down is caused by idle or card removed,
  6657 		if card removed then cards are declared as gone.
  6658 
  6659 
  6660 
  6661 Version 2.00.1155
  6662 ===========================
  6663 (Made by ParameshwariB, 29/08/2006)
  6664 
  6665 1.	MarkTa
  6666 	1.	DEFECT FIX:DEF092556: [Codebase] RProcess documentation incomplete/inaccurate
  6667 		Update search path in RProcess::Create comments to \sys\bin.
  6668 
  6669 2.	JonCo
  6670 	1.	DEFECT FIX: INC093183: The system doesn't reset when a DFC thread dies
  6671 	2.	DEFECT FIX: DEF093284: Emulator JIT crash handler broken by fix for DEF91167
  6672 
  6673 3.	HusienH
  6674 	1.	DEFECT FIX: DEF093234: GetCollationKeyL() doesn't work when TCollationMethod.iMainTable is NULL
  6675 
  6676 4.	NeilC
  6677 	1.	DEF091861: [codebase] Custom format of an MMC card doesn't work.
  6678 
  6679 
  6680 Patch to release (defect)
  6681 ===========================
  6682 (Made by DanH 30/08/2006)
  6683 
  6684 1.	DanH
  6685 	1.	DEFECT FIX: DEF091413: DP: Stressed Demand Paging configuration missing from MCL
  6686 		Add new stressed paging configuration to tools romkit oby files. Moved default paging
  6687 		configuration from base rombuild directory to romkit directory. Also added support for
  6688 		passing a command line to external tools.
  6689 
  6690 
  6691 Version 2.00.1154
  6692 ===========================
  6693 (Made by OlegI, 21/08/2006
  6694 
  6695 1.	MarkTa
  6696 	1. 	DEFECT FIX: DEF092502: [Codebase] RLibrary::Load reporting different error codes in emulator/hw
  6697 		Check if filename being looked up is actually a directory name, if it is then return KErrNotFound
  6698 		Ensure file name length is checked before accessing chars via an array index
  6699 2.	MiguelB
  6700 	1.	DEFECT FIX: PDEF092980: Prevention of closure of media driver causes several symptoms with locked cards
  6701 		Fix regressions caused by changes to local media subsystem introduced as part of
  6702 		MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
  6703 
  6704 3.	ArwelH
  6705 	1.	MINOR-CHANGE Correcting syntax of @SYMPatchable tag, and minor tweaks to the descriptive text.
  6706 
  6707 
  6708 Version 2.00.1153
  6709 ===========================
  6710 (Made by NeilC, 16/08/2006)
  6711 
  6712 1.	MichaelP
  6713 	1.	MINOR_CHANGE Added another USB Mass Storage performance measuring Perl
  6714 		script which writes and reads 100 smaller files instead of a single
  6715 		large one (\f32test\smassstorage\scripts\usbperformance_multifile.pl).
  6716 
  6717 2.	JenniferH
  6718 	1.	DEFECT FIX: DEF091903: RSessionBase panicking client when Dev lib specifies a KErrArgument return
  6719 
  6720 3.	RichardCo
  6721 	1.	DEFECT FIX: DEF092447: [Codebase] RTimer::Inactivity lack of error documentation
  6722 	2.	DEFECT FIX: DEF092548: FirstDelta() returns a value which is larger then KMaxTInt
  6723 		Prevent RTimer::AfterTicks(KMaxTInt) from rolling over to be negative
  6724 		when there are ticks pending.
  6725 
  6726 4.	MarkTa
  6727 	1.	DEFECT FIX: PDEF092862: KeyMap source table misses out EKeyDeviceD
  6728 		Correct typo to ensure EKeyDeviceE is preceeded by EKeyDeviceD
  6729 
  6730 
  6731 
  6732 Version 2.00.1152
  6733 ===========================
  6734 (Made by MiguelB, 08/08/2006)
  6735 
  6736 1.	ArwelH
  6737 	1.	DEFECT FIX: DEF092226: Insufficient documentation for DDmaRequest class member functions in OS library
  6738 
  6739 2.	CarlosF
  6740 	1.	MINOR CHANGE: Restore monotonic order to kernel trace flags muddled in the last paging submission.
  6741 
  6742 3.	RichardCo
  6743 	1.	DEFECT FIX: DEF091958: big kernel data section can trigger kernel fault
  6744 		Fix bootstrap to not try and map kernel data section with 1MB pages.
  6745 
  6746 4.	MarkTa
  6747 	1.	DEFECT FIX: INC091919: Kernel trace handler called with aTraceSource hardcoded
  6748 		Pass aTraceSource to the trace handler hook instead of EPlatSecTrace
  6749 	2.	DEFECT FIX: DEF091961: Bug in cache.cia __FlushBtb() function
  6750 		Correct #ifdef name to __CPU_HAS_BTB
  6751 	3.	DEFECT FIX: DEF091990: Just what do these functions do?
  6752 		Add in source comments to RProcess::JustInTime and RProcess::SetJustInTime
  6753 
  6754 5.	MichaelP
  6755 	1.	DEFECT FIX: DEF092055: [codebase] USB PIL endpoint number passing is inefficient
  6756 		The USB LDD no longer passes logical endpoint numbers into the PIL -
  6757 		instead it saves and later uses the physical numbers that are now
  6758 		returned by the PIL during the SetInterface() call.
  6759 
  6760 
  6761 Version 2.00.1151
  6762 ===========================
  6763 (Made by MichaelP, 03/08/2006)
  6764 
  6765 1.	MichaelP
  6766 	1.	MINOR_CHANGE: Added a new debug trace bit for the USB PDD PSL layer
  6767 		to the list in e32/include/nkern/nk_trace.h:
  6768 		#define KUSBPSL      33 //0x00000002, index 1
  6769 		Also updated the USB PSL Porting How-to accordingly.
  6770 
  6771 2.	NeilC
  6772 	1.	DEFECT FIX: DEF091478: [Codebase] T_MMCDRV failing on BUFFALO miniSD cards up to 512MB
  6773 		Modified T_MMCDRV to by-pass format test for Buffalo Mini-Sd cards with known issues.
  6774 	2.	DEFECT FIX: DEF091749: [Codebase] D_MMCIF cannot read sectors on cards >=2GB
  6775 		Modified MMCTEST to replace csd.ReadBlockLength() with MaxReadBlLen().
  6776 
  6777 3.	MarkTa
  6778 	1.	MINOR CHANGE: Added comment to RChunk::Open and RChunk::OpenGlobal to indicated that
  6779 		functionality for isReadOnly is not currently implemented.
  6780 
  6781 4.	ArwelH
  6782 	1.	MINOR-CHANGE Replacing all instances of the //! comment string with // !
  6783 		DOxygen interprets //! as a single line comment, and this causes problems in the
  6784 		generation of API reference documentation.
  6785 	2.	MINOR-CHANGE Fixing a reference to incorrect panic numbers in in-source comment.
  6786 
  6787 
  6788 Version 2.00.1150
  6789 ===========================
  6790 (Made by MarkTai, 25/07/2006)
  6791 
  6792 1.	MichaelP
  6793 	1.	DEFECT FIX: DEF091354: USB: StartUdc() return code is not being taken care of in Symbian Code
  6794 		Introduced an error case for RDevUsbcClient::ReEnumerate(), which
  6795 		is conveyed within the USB driver via return values and across
  6796 		the kernel/user-side boundary as an async request status. In both
  6797 		cases the value is KErrHardwareNotAvailable.
  6798 		RDevUsbcClient::PowerUpUdc() can now return that value too
  6799 		(alongside success and KErrNotReady).
  6800 		Also updated the USB driver documentation accordingly.
  6801 
  6802 2.	ParameshwariB
  6803 	1.	MINOR CHANGE: Added System wide impact section provided by Toby Gray and incorporated
  6804 		review comments to RHeap Minimum cell size allocation How-To Document
  6805 		(\document\SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration)
  6806 
  6807 
  6808 Version 2.00.1149
  6809 ===========================
  6810 (Made by RobertJ, 20/07/2006)
  6811 
  6812 1.	MichaelP
  6813 	1.	DEFECT FIX: DEF091386: Base USB documentation does not mention C drive cannot be used for mass storage
  6814 		Added section 6.6 "USBMSAPP (USB Mass Storage Application)" to
  6815 		USB PSL How-To Document (\documentation\Base_How_To_USB_PSL.doc)
  6816 		and upped its version number to 3.1.
  6817 
  6818 
  6819 Version 2.00.1148
  6820 ===========================
  6821 (Made by RobertJ, 19/07/2006)
  6822 
  6823 1.	DjordjeK
  6824 	1.	DEFECT FIX: DEF090810: EDISP_VT100 - frame to corruption and the edisp_vt100.dll doesn't work When KDM
  6825 		Minor change in vt100 video driver.
  6826 
  6827 2.	MichaelP
  6828 	1.	DEFECT FIX: DEF090701: HS-USB: When Remote wake up is initiated, Symbian PIL cancels wrong pending rea
  6829 		USB LDD didn't reset its internal interface alternate setting number
  6830 		(iAlternateSetting) after a device deconfiguration - it does now,
  6831 		at the end of DLddUsbcChannel::DeConfigure().
  6832 		Also fixed a problem in the H4 HSUSB PSL, where endpoint direction
  6833 		*absolute values* were erroneously compared with direction *masks*
  6834 		(base\omap_hrp\shared\hsusb\omapusbc_defs.h).
  6835 	2.	MINOR_CHANGE: Update of USB Mass Storage performance test script
  6836 		/f32test/smassstorage/scripts/usbperformance.pl.
  6837 
  6838 3.	NeilC
  6839 	1.	DEFECT FIX: DEF087614: MMC card not read after using an SDIO WLAN Card
  6840 		Ensures that SDIOInterrupts are disabled when Interrupt controller is stopped
  6841 
  6842 4.	MiguelB
  6843 	1.	DEFECT FIX: PDEF087944: SD/MMC stack: KERN EXEC 4 caused by faulty HW/ SD cards
  6844 		Removed possibility of command stack overflowing in DSDStack::CIMReadWriteBlocksSM()
  6845 	2.	DEFECT FIX: DEF090880: [codebase] XSR media driver doesn't cope with client thread death
  6846 		The XSR NAND media driver was failing to complete a large (>16K) write request when the
  6847 		client thread had died. This would result in the driver becoming unavailable until a reboot.
  6848 	3.	DEFECT FIX: DEF085613: Handling media change events in Multiple Card scenario
  6849 		Removed ASSERT from DPBusSocket::DoorCloseEvent() to allow for platforms with multiple doors.
  6850 		Changed DPBusSocket::DoorOpenEvent() to stop stack from powering down if any door is
  6851 		still closed - see in source comments for further details.
  6852 
  6853 5.	JonCo
  6854 	1.	DEFECT FIX: DEF091167: Emulator hangs if it can't load extensions
  6855 
  6856 6.	PhilK
  6857 	1. 	DEFECT FIX: DEF90876: H4 USB PSL: Wrong PIL Call Return Value Evaluation
  6858 		Handle EP0 request completion error on KErrNotFound  (was KErrNotSupported)
  6859 		and removed redundant stall request.
  6860 	2.	DEFECT FIX: DEF91168: H2 USB PSL - Remote Wakeup capability reported incorrectly
  6861 		Make H2 PSL report no remote wakeup capability (not supported in H2 baseport).
  6862 	3.	DEFECT FIX: DEF91251: [Codebase] Mass storage tests are failing
  6863 		Fix generic TESTUSBC.LDD driver for multiple memory model, ie. use ThreadReadRaw()
  6864 		instead of straight pointer dereferencing: this broke USB MS tests on H4 HRP.
  6865 
  6866 7.	MarkTa
  6867 	1.	DEFECT FIX: DEF091370: KHeapShrinkHysRatio is not marked as @symbian_patchable
  6868 
  6869 
  6870 Patch to version 2.00.1147
  6871 ===========================
  6872 (Made by JonCo, 17/07/2006)
  6873 
  6874 1.	JonCo
  6875 	1.	DEFECT FIX: DEF091131: Build gets stuck at ced.exe
  6876 		Added missing source lines to base_e32.mrp
  6877 
  6878 
  6879 
  6880 Version 2.00.1147
  6881 ===========================
  6882 (Made by StefanW, 11/07/2006)
  6883 
  6884 1. StefanW
  6885 	1.	MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
  6886 		Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
  6887 		SD2.0 introduces block-based addressing modes for SD Data Transfer operations, hence
  6888 		overcoming the limitations of 32-bit addressing.  This has introduced the following new
  6889 		API's, which should be used by clients of the MMC/SD stack (ie - writers of media drivers)
  6890 		should they wish to access data above the 2GB boundary:
  6891 
  6892 			void DMMCSession::SetupCIMReadBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
  6893 			void DMMCSession::SetupCIMWriteBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
  6894 			void DMMCSession::SetupCIMEraseMSector(TMMCArgument aBlockAddr, TUint32 aBlocks);
  6895 
  6896 			TInt64 TMMCard::DeviceSize64()
  6897 
  6898 		Note that the existing API's are still valid and fully compatible, but will not provide access above 2GB.
  6899 
  6900 	2.	DEFECT FIX: PDEF084675: Corrupted miniSD not detected as corrupted by phone
  6901 	3.	DEFECT FIX: DEF085679: Transcend MMC cards expect high-speed config to occur prior to CMD42
  6902 		Some MMC cards expect high-speed configuration to occur prior to any data transfer operations
  6903 		taking place.  This caused auto-unlocking of some MMC cards to fail, as this would occur as
  6904 		part of the initialisation sequence prior to high-speed configuration.  Re-ordered the state
  6905 		machine to ensure that high-speed mode is configured prior to performing and DT commands.
  6906 
  6907 2.	JonathanM
  6908 	1.	DEFECT FIX: DEF090334: BTrace APIs aren't extensible
  6909 		This adds support a secondary run-time filter based on a 32bit UID value.
  6910 		See /base/documentation/Base_How_To_BTrace.doc.
  6911 		Also added are support for user side 'big' traces and methods for checking the filters
  6912 		independant of trace generation. The latter enables the filter to be checked before
  6913 		any costly pre-processing of trace data.
  6914 		Summary if new APIs added to e32btrace.h:
  6915 			New macros for generating traces which pass through the secondary filter...
  6916 				BTraceFiltered4(aCategory,aSubCategory,aUid)
  6917 				BTraceFiltered8(aCategory,aSubCategory,aUid,a1)
  6918 				BTraceFiltered12(aCategory,aSubCategory,aUid,a1,a2)
  6919 				BTraceFilteredN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
  6920 				BTraceFilteredBig(aCategory,aSubCategory,aUid,aData,aDataSize)
  6921 				BTraceFilteredContext4(aCategory,aSubCategory,aUid)
  6922 				BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1)
  6923 				BTraceFilteredContext12(aCategory,aSubCategory,aUid,a1,a2)
  6924 				BTraceFilteredContextN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
  6925 				BTraceFilteredContextBig(aCategory,aSubCategory,aUid,aData,aDataSize)
  6926 				BTraceFilteredPc4(aCategory,aSubCategory,aUid)
  6927 				BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1)
  6928 				BTraceFilteredPc12(aCategory,aSubCategory,aUid,a1,a2)
  6929 				BTraceFilteredPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
  6930 				BTraceFilteredPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
  6931 				BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)
  6932 				BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1)
  6933 				BTraceFilteredContextPc12(aCategory,aSubCategory,aUid,a1,a2)
  6934 				BTraceFilteredContextPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
  6935 				BTraceFilteredContextPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
  6936 			The following kernel APIs have been added...
  6937 				TInt BTrace::SetFilter2(TUint32 aUid, TBool aValue);
  6938 				TInt BTrace::SetFilter2(const TUint32* aUids, TInt aNumUids);
  6939 				TInt BTrace::SetFilter2(TInt aGlobalFilter);
  6940 				TInt BTrace::Filter2(TUint32*& aUids, TInt& aPassAll);
  6941 			The follwoing user and kernel APIs have been added...
  6942 				TBool BTrace::CheckFilter(TUint32 aCategory);
  6943 				TBool BTrace::CheckFilter2(TUint32 aCategory,TUint32 aUid);
  6944 
  6945 3.	NicholasC
  6946 	1.	DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
  6947     	2.	MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033
  6948 
  6949 4. 	MarkTa
  6950 	1.	DEFECT FIX: INC088861: base text shell window server wrongly classified
  6951 		Change policy file to state category E for \base\e32\ewsrv directory
  6952 
  6953 5. 	CarlosF
  6954 	1.	MINOR_CHANGE: make NAND test erase roms panic when they are finished erasing instead
  6955 		of crashing with an exception.
  6956 
  6957 6.	JenniferH
  6958 	1.	DEFECT FIX: DEF090496: [AQP] Test Failures when executing H4HRP ARMV5 UDEB PAGE rom.
  6959 		Added K: to estart file for this test rom.
  6960 
  6961 7.	DjordjeK
  6962 	1.	DEFECT FIX: DEF090713: Inefficient purging of L2 cache when decommit on ARMv5
  6963 		Only affects ARMv5 platforms with (any kind of) L2 cache.
  6964 	2.	DEFECT FIX: DEF090719: t_sharedio fails on XScale with L2 cache
  6965 		The fix only affect ARMv5 XScale with L2 cache. As L2 cache is always write back,
  6966 		page tables & shadow pages must be purged from L2 cache (they are write through on L1).
  6967 
  6968 8.	RichardCh
  6969 	1.	MILESTONE: Naiad, SM0014, MS3.4, DS.045 PREQ955 Reallocation of thread priorities
  6970 		for real-time communications.
  6971 		Added prototype thread priority category to BTRACE to support future thread studies.
  6972 
  6973 9.	MichaelP
  6974 	1.	DEFECT FIX: PDEF090651: USB resets at low memory state
  6975 		Fixed a double deletion of Ep0 in the OOM case in the USB LDD.
  6976 		Also fixed some other places in the USB driver where code didn't
  6977 		behave correctly in an error case.
  6978 
  6979 
  6980 Patch to release (defect)
  6981 ================
  6982 (Made by DanH 11/07/2006)
  6983 
  6984 1.	DEFECT FIX: DEF090641: Base Techview Obey files not including the right components for paging ROMS
  6985 	Updated \omap_hrp\h4\rom\base_h4hrp.iby, \omap\h2\rom\base_h2.iby,
  6986 	\omap_hrp\h4_restricted\unistore2\rom\base_h4nand2.iby and \omap\h2_restricted\unistore2\rom\base_h2nand2.iby
  6987 	to use the paging versions of the Local Media Subsystem and NAND media driver when PAGED_ROM (or EMULATED_PAGING_MEDIA) is defined.
  6988 
  6989 
  6990 Version 2.00.1146
  6991 ===========================
  6992 (Made by JohnS, 07/07/2006)
  6993 
  6994 1.	AndreasP
  6995 	1.	DEFECT FIX: DEF087761: estartnandtest.txt does not contain K drive
  6996 		An entry for K: drive has been included in ESTARTNANDTEST.TXT which is the estart file that gets picked up for
  6997 		the nandtest_test image that is used for H4 to do NAND testing. Furthermore, the nandtest_test script has been
  6998 		changed to include f32 testing for K: .
  6999 
  7000 2.	MiguelB
  7001 	1.	DEFECT FIX: DEF087094: [AQP] MMC stacks with more than one media driver share the same buffer
  7002 		Changed medmmc.cpp and medsdp.cpp to partition the available DMA-able buffer provided
  7003 		by the MMC PSL into separate sections if there is more than one media driver (which is
  7004 		true if there is more than  one slot or an SD card CPRM media driver is installed).
  7005 		Changed medsdp.cpp to use the PSL-supplied buffer - this should hopefully ensure it
  7006 		works for a platform supporting DMA (the only platform we currently support for testing
  7007 		the CPRM media driver is the integrator which does not use DMA).
  7008 	2.	DEFECT FIX: PDEF088024: CR0638 "Backport of 2GB Card support" was imcomplete
  7009 		Modified DMMCStack::AdjustPartialRead() for integrator, lubbock & wins MMC PSL's
  7010 		to calculate the block length (512) correctly for 2GB+ cards by calling TMMCard::MaxReadBlLen()
  7011 		rather than TCSD::ReadBlockLength()
  7012 	3.	DEFECT FIX: DEF087989: [AQP] Integrator's door open interrupt fires too soon, causing a fault
  7013 		Changed DSdInterrupt::Init() so that media change interrupts are enabled after setting
  7014 		the intial values of iSavedDoorOpen and iSavedCardInserted to prevent a spurious call to
  7015 		DMediaChangeBase::DoorOpenService().
  7016 
  7017 3.	OlegI
  7018 	1.	DEFECT FIX: DEF084013: Potential security hole in UserSvr::AddEvent()
  7019 		Added checking of PowerMgmt capabilities for ESwitchOff,ECaseOpen and ECaseClose events.
  7020 		Also updated T_SUSER test.
  7021 	2.	INTERFACE CHANGE: BR1866: Kernel: Additional capability checking in UserSvr::AddEvent()
  7022 		Break for DEF084013.
  7023 
  7024 4.	DjordjeK
  7025 	1.	DEFECT FIX: INC088864: RHandleBase::FullName() blows the stack
  7026 		... which is true as it takes 512KB to hold TFullName on the stack. This fix introduces new euser interface:
  7027 		void RHandleBase::FullName(TDes& aName) const
  7028 		where aName may be now preallocated on the heap.
  7029 
  7030 5.	MichaelP
  7031 	1.	DEFECT FIX: DEF090015: Incorrect SET Address primitive handling in Symbian USB code
  7032   		Swapped the order of sending back status to the host and actually
  7033 		setting the device address in DUsbClientController::ProcessSetAddress()
  7034 		in file e32/drivers/usbcc/chapter9.cpp.
  7035 	2.	DEFECT FIX: DEF090234: [AQP] T_USB/T_USBAPI don't check properly for Alt Ifc Setting support
  7036 		T_USBAPI: Added 'HAL::EMachineUid_Lubbock' to function
  7037 		SupportsAlternateInterfaces().
  7038 		T_USB: Before setting up an alternate interface setting, we now check
  7039 		via SupportsAlternateInterfaces() whether these are supported at all.
  7040 		Also added a new header file \e32test\device\t_usblib.h, which contains
  7041 		definitions of commonly used USB test functions.
  7042 
  7043 6.	ArwelH
  7044 	1.	DEFECT FIX: DEF089583: File Server lack of documentation of async calls
  7045 	2.	DEFECT FIX: DEF090161: RFs::CheckDisk returns KErrNotSupported doesn't mean disk is corrupt
  7046 
  7047 7.	SimonT
  7048 	1.	DEFECT FIX: DEF088353 "Bad C-drive performance on H4 board"
  7049 		The platform LFFS driver on the H4HRP will now read the typical write
  7050 		and erase times from the flash device and use these to program the
  7051 		polling timers. This significantly increases LFFS performance.
  7052 	2.	DEFECT FIX: DEF090354 "H4 LFFS media driver bugs"
  7053 		We found two bugs in the polling timer code of the H4 media driver;
  7054 		one is a race that could cause hangs, crashes and warnings whilst the
  7055 		other would "forget" the timer prescale values resulting in timed
  7056 		events completing much faster than they should (benign).
  7057 
  7058 8.  RichardCh
  7059 	1.	MILESTONE: Naiad, SM0014, MS3.3, DS.013 PREQ955 Reallocation of thread priorities
  7060 		for real-time communications.
  7061 		Added new process-independent thread priorities enumerators in the normal and real-time
  7062 		ranges, the latter policed by capability ProtServ.
  7063 		Milestone includes following functional breaks:
  7064 	2.	INTERFACE CHANGE: BR1811.1 Loader/kernel will restrict access to potentially
  7065 		dangerous high/real-time thread priorities. Kernel caps "relative" thread priorities in
  7066 		processes without ProtServ capability to level of window server (SystemServer-More).
  7067 		Non-configurable.
  7068 	3.	INTERFACE CHANGE: BR1821.1, BR1821.2 Reassignment of thread priorities for realtime
  7069 		services. Reduction of SystemServer-More priority from 24 to 23. Configurable change
  7070 		enabled from Naiad through system-wide macro SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES.
  7071 
  7072 9.  NeilC
  7073 	1.	DEFECT FIX: DEF090242: H4 SDIO does not work with large packets.
  7074 		Removed redundant register set operations.
  7075 
  7076 10. MarkTa
  7077 	1.	DEFECT FIX: DEF089551: PNS_MWrite should use _PNS_DEFERRED_CHK macro
  7078 		Change #ifdef to depend on _PNS_DEFERRED_CHK not _PNL_DEF_CHK
  7079 	2.	DEFECT FIX: INC090278: Keymap and screen driver not needed in simple roms
  7080 		Make inclusion of ekdata.dll and scdv.dll by base.iby dependant on macros
  7081 		SYMBIAN_EXCLUDE_KEYMAP and SYMBIAN_EXCLUDE_SCDV not being defined
  7082 	3.	DEFECT FIX: INC090270: D_EXC always included in rom
  7083 		Make inclusion of d_exc.exe dependant on SYMBIAN_EXCLUDE_D_EXC not being defined
  7084 
  7085 11. JoR
  7086 	1. 	PDEF088021: The integrator MMC/SD port does not configure it's clocks correctly
  7087 		Fix propagated from DEF084792
  7088 
  7089 12. JonCo
  7090 	1.	PDEF090344: Data abort in RArrayBase::HeapSortSigned()
  7091 
  7092 Version 2.00.1145
  7093 ==========================
  7094 (Made by JenniferH, 04/07/2006)
  7095 
  7096 1.	JenniferH
  7097 	1. MILESTONE: SM0013, MS3.1, PREQ209 Demand Paging Prototype
  7098 	Second delivery of demand paging prototype. Delivery step DS329.
  7099 
  7100 
  7101 Version 2.00.1144
  7102 ===========================
  7103 (Made by GavinT, 23/06/2006)
  7104 
  7105 1.	DjordjeK
  7106 	1.	DEFECT FIX: DEF081438 Missing OOM KHeap tests in e32tests
  7107 		Added test steps to t_kheap for testing OOM when Shared chunk and Hw chunk are created.
  7108 		Also, fixed the problem with manual run of the test for the first time after reset.
  7109 	2.	MINOR CHANGE: Updated Kernel's Functional Specification with L2 Cache and ARMv7 support.
  7110 	3.	DEFECT FIX:  PDEF088437: Contacts sorting ignores national character variation(MCL)
  7111 		The comaprison of two unicode strings (Des16::CompareC method) depends on the value of DefaultCharSet in Kernel.
  7112 		In the existing implementation of locales in Kernel, DefaultChartSet could have been set only once. Another change
  7113 		of locales would have left DefaultChartSet preserved. It was supposed to prevent run-time change in behaviour of
  7114 		CompareC (as notifications that locale is changed is not implemented in upper levels of S/W).
  7115 		However, some licence sets locales twice during boot time. (It sets default locale first - LOCALE.LOC and then
  7116 		it sets locale according to language settings of the phone.).
  7117 		This fix removes the limitation of how many times DefaultCharSetin could be changed. It is considered safe as
  7118 		phone anyway reboots after language setting in changed.
  7119 
  7120 
  7121 2.	MarkTa
  7122 	1.	DEFECT FIX: DEF087906: RHashMap::Reserve doesn't always allocate the requested number of entries
  7123 		Forced RHashMap::Reserve to allocate memory if table hasn't been fully initialised yet
  7124 	2.	Change Request: CR0730: Zip crashlogs to save rom space
  7125 		New compile time configurable option to have crash logger compress its output before writting
  7126 		to permanent storage.  To use define the macro _CRASHLOG_COMPR when compiling the crash logger
  7127 		and the crash reader.  File output by crash reader will now be GZIP compatible and called
  7128 		'crashlog.gz'
  7129 	3.	DEFECT FIX: DEF086989: Non-default value of KHeapShrinkHysRatio can cause heap test cases to fail
  7130 		Make the test cases for t_heap and t_heap2 take the value of KHeapShrinkHysRatio into account when
  7131 		calcualting the size of the heap etc
  7132 
  7133 
  7134 3.	OlegI
  7135 	1.	MINOR-CHANGE Updated Base_Func_Spec.doc for CR0748: Edisp 32bpp/24bpp unpacked support
  7136 
  7137 4.	JonCo
  7138 	1.	DEFECT FIX: DEF088121: Wrong test tags in t_perflogger
  7139 
  7140 5.	ArwelH.
  7141 	1.	MINOR-CHANGE Error in HAL::Set() comment (capability description) is causing bad rendering
  7142 		in Symbian OS Library
  7143 
  7144 6.	YingS
  7145 	1.	MILESTONE: Naiad, GT0304, MS3.5, DS.341 CR0776 : System Libraries :
  7146 		Add several new Unicode utility functions
  7147 	2.	Change Request: MGAY-6PWK8K Text and I18N Services, Collation Support
  7148 		With User Definable Wildcards and Escape Character
  7149 
  7150 7.	PhilK
  7151 	1.	DEFECT FIX: PDEF088088: Sending and Receiving large amounts of data over usb causes hang
  7152 		Lockout interrupts during H2 USB endpoint operations (in H2 USB PSL).
  7153 	2.	MINOR CHANGE: Tidy up Lauterbach scripts.
  7154 	3.	DEFECT FIX: DEF088032: Complete HS USB HS H4 handoff
  7155 		Remove unneeded definitions and prevent buildrom making LFFS enabled HS USB Techview images.
  7156 
  7157 8.	RichardCo
  7158 	1.	DEFECT FIX: PDEF087690: RChunk::AdjustDoubleEnded() allocates and returns error
  7159 		Ensure that if AdjustDoubleEnded returns KErrNoMemory, no allocation was actually performed.
  7160 
  7161 
  7162 Version 2.00.1143
  7163 ===========================
  7164 (Made by JoR, 13/06/2006)
  7165 
  7166 1.	DavidM
  7167 	1.	DEF084609: Issues with Secure access to SD Card
  7168 		Calling the file server Remount drive API to access the protected area
  7169 		of an SD card causes issues with access to the User area.
  7170 		Propagate changes from v8.1b
  7171 
  7172 2.	JonCo
  7173 	1.	DEFECT FIX: INC087723: Implementation for RThread::GetCpuTime is not Safe
  7174 		Make ExecHandler::ThreadGetCpuTime use kumemput to write to user memory
  7175 
  7176 3.	MichaelP
  7177 	1.	MILESTONE: Bravo GT0236, MS3.16.3 DS179 PREQ709 "USB 2.0 High Speed"
  7178 		Introduction of USB 2.0 High-speed device support in Symbian OS
  7179 		(in conjunction with suitable USB Device Controller hardware).
  7180 		Changes include USB API extensions, enhanced USB test programs
  7181 		(T_USB/USBRFLCT, T_USBAPI), upgrade of the PC-side test driver
  7182 		USBIO to v2.30, updates of "USB API Guide" and "USB PSL Porting
  7183 		How-to", a new Base_H4HRP_HSUSB_Howto, and a USB PDD for the H4
  7184 		'Fibula' HSUSB extension board.
  7185 
  7186 4.	NeilC
  7187 	1.	MILESTONE: Argus GT0286, MS3.6 CR0833 DS299 "Support SDIO interupt mode on H4"
  7188 		Added support to MMC PSL for SDIO PIO.
  7189 
  7190 5.	ArwelH
  7191 	1.	MINOR-CHANGE Correcting opening  marker for RBuf8/16::Close()/CleanUpClosePushL() in-source comment from /* to /**
  7192 
  7193 6. 	GeorgeS
  7194 	1.	Change Requests: CR0781 Fast_case_insensitive_string_compare
  7195 		Milestone: Argus, GT0292, MS3.6, DS.337, Text & i18n case_insensitive_string_compare
  7196 		Requirements: PREQ1228 Argus System Quality Performance, ROM and RAM targets
  7197 		Other: None
  7198 
  7199 
  7200 
  7201 Version 2.00.1142
  7202 ===========================
  7203 (Made by RobertJ, 08/06/2006)
  7204 
  7205 1.	DjordjeK
  7206 	1.	DEF087413 t_sharedio fails on ARMv5+L210 cache platforms
  7207 		L210 cache on ARM926 cannot distinguish between Write-Back & Write-Through mode.
  7208 		(This is limitation of the bus between L210 & the rest of core). As the consequence, memory
  7209 		is Write-Back at L2 level though it is configured in page tables as Write-Through.
  7210 		This fix only affect ARMv5 platforms with L210 and sets iDecommitThreshold during initialisation.
  7211 		This will force Kernel to purge L2 cache when page tables or shadow pages (they both are WT) are decommited.
  7212 
  7213 2.	RichardCo
  7214 	1.	DEFECT FIX: DEF087693: Duplicated extension makefiles in Base build
  7215 		Remove a number of makefiles that are no longer used by the MCL
  7216 		supported baseports, and adjust the remaining ports to not use them
  7217 		either. The 'current' versions are in
  7218 		cedar/tools/buildsystem/extension/base/...
  7219 	2.	INTERFACE CHANGE: BR1818.1: Moving kernel makefiles out of e32 tree to avoid duplication caused by Linux build changes
  7220 		Break for defect fix above. Baseports which still refer to the affected
  7221 		makefiles should be updated to use new 'START EXTENSION' mechanism in
  7222 		their bld.inf files.
  7223 3.	MarkTa
  7224 	1.	DEFECT FIX: DEF087615: Incorrect description of HAL attribute's capability in hal_data.h
  7225 		Change @capability comment from WriteSystemData to WriteDeviceData where mentioned.  Add test for attribute
  7226 		ElocaleLoaded to t_shal.
  7227 
  7228 
  7229 Version 2.00.1141
  7230 ===========================
  7231 (Made by DjordjeK, 06/06/2006)
  7232 
  7233 1.	DjordjeK
  7234 	1.	DEF087352: The actual mapping attributes returned by PdePtePermission on ARMv5 are wrong
  7235 		Fixed the coding error introduced while supporting L2 cache for XScale.
  7236 
  7237 2.	JonCo
  7238  	1.	DEFECT FIX: DEF085535: Problem with ECOM test utility
  7239 
  7240 3.	AngeloP
  7241 	1. 	MINOR-CHANGE: Updated User Guide, ref: Debug Switch Settings.
  7242 
  7243 4.	MarkTa
  7244 	1.	DEFECT FIX: DEF087018: DRVTEST BUILD fails
  7245 
  7246 5.	ArwelH
  7247 	1.	DEF085711 Documentation for ESystemCritical and ESystemPermanent is wrong for processes
  7248 
  7249 6.	ParameshwariB
  7250 	1.	DEFECT FIX: INC086296: unistore2 d_mednand.cpp never completes format request for crash log partition
  7251 
  7252 7. 	AttilaV
  7253 	1.	DEF081770: The Loader should verify compression type.
  7254 
  7255 
  7256 
  7257 Version 2.00.1140
  7258 ===========================
  7259 (Made by DavidM, 26/05/2006)
  7260 
  7261 1. 	RobertJ
  7262 	1.	DEF086401: CDmDomain is listed as @internalTechnology
  7263 		Made CDmDomain @publishedPartner but kept some internal member functions as @internalTechnology
  7264 
  7265 2.	OlegI
  7266 	1.	DEF086390: T_DTIM fails intermittently on H4
  7267 		There was a race condition in the test code.
  7268 		Changed time value in Requeue test of T_DTIM for removing race condition
  7269 3. 	PhilK
  7270 	1. 	MILESTONE: Argus GT0286, MS3.10 ""Early access" support for ARMv7 and
  7271 		Kernel/User library optimisation.
  7272 		Added VFPv3 context and exception unwinder support and CP15 IFAR support.
  7273 
  7274 
  7275 Version 2.00.1139
  7276 ===========================
  7277 (Made by AndreasP, 22/05/2006)
  7278 
  7279 1. 	OlegI
  7280 	1.	DEFECT FIX: INC086106: Two running processes can have identical names (including generation numbers)
  7281 		Removed CheckUniqueFullName() from DProcess::Rename() as it doesn't work for processes anyway.
  7282 		Instead added NextGeneration() call.
  7283 	2.	MILESTONE: Argus GT0286, MS3.4 CR0748 "Edisp 32bpp/24bpp unpacked support"
  7284 		Added support of 32bpp/24bpp video mode to text shell EDISP driver and to H4 LCD driver.
  7285 		Added new H4 variant. Build ROM image with this variant using -m USE_24UBPP_DISPLAY_VARIANT.
  7286 
  7287 2.	MarkTa
  7288 	1.	DEFECT FIX: DEF085709: Memory card unlocking does not work if no card inserted while phone booted
  7289 	2.	DEFECT FIX: INC085919: Free pages from the top of the heap are not always freed
  7290 
  7291 3.	DjordjeK
  7292 	1.	DEFECT FIX: DEF086892: SWSV_610_R3A01_LOAD-LSBT-2_001: An application crash is observed while... (MCL)
  7293 		The problem was related to Active Scheduler when TRAP/Leave is implemented in terms of C++ exception.
  7294 		In CActiveScheduler::Run, we had to make sure that we don't call Active Object's RunError() or
  7295 		Active Scheduler's Error() while we are still in exception (within 'catch' brackets), as it can lead to
  7296 		"nested-exceptions" scenario. It is not fatal by default but, if two nested exceptions are both due to OOM
  7297 		condition, RVCT implementation of exception will run out of emergency buffers and terminate the thread.
  7298 
  7299 	2.	MILESTONE: Argus GT0286, MS3.10 PREQ1068 "Early access" support for ARMv7 and Kernel/User library optimisation.
  7300 		This is the second drop (after DEF085518:TextShell image cannot boot on ARMv7 platforms) of ARMv7 support in Kernel.
  7301 		This change introduces new Kernel Interface that allows variant code to set/get cache thresholds.
  7302 		Also t_cache test code is updated to test it.
  7303 
  7304 4.	RichardCo
  7305 	1.	DEFECT FIX: DEF082994: No equivalent of NKern::ThreadGetUserContext for system threads
  7306 		Add new kernel API NKern::ThreadGetSystemContext to get kernel-mode context for system threads.
  7307 
  7308 5.	MiguelB
  7309 	1.	DEFECT FIX: DEF085197: DPBusSocket::Init() calls AcknowledgeEvent incorrectly
  7310 		Removed redundant call to AcknowledgeEvent() from DPBusSocket::Init().
  7311 	2.	DEFECT FIX: DEF086878: H4 SDIO stack does not power down after inactivity timeout
  7312 		Fixed DOmapMMCPsu::PsuInfo() to set TPBusPsuInfo::iNotLockedTimeOut correctly
  7313 
  7314 6.	ParameshwariB
  7315 	1.	DEFECT FIX: DEF085189: KeyTranslator should cope better with rubbish data
  7316 
  7317 7.	JonCo
  7318 	1.	DEFECT FIX: DEF086985: Improvement to stack walking code in fix for DEF085362
  7319 
  7320 8.	AndreasP
  7321 	1.	DEFECT FIX: DEF081193: Automatic NAND testing should be enabled on H4
  7322 
  7323 
  7324 Version 2.00.1138
  7325 ===========================
  7326 (Made by AttilaV, 15/05/2006)
  7327 
  7328 1.	ArwelH
  7329 	1.	MINOR-CHANGE Adding Esc chars to description of TTime::FormatL() so that Doxygen tool chain can render special chars correctly [Issue LIB_E_152].
  7330 	2.	MINOR-CHANGE Modified description of aSize parameter [User::ReAlloc()/ReAllocL()] to state the effect of a zero value [Issue LIB_E_154].
  7331 
  7332 2.	OlegI
  7333 	1.	DEFECT FIX: INC085866: EKeyDevice1x and EKeyApplication1x keys do not work in the emulator
  7334 		Added translation between EStdKeyDevice1x/EStdKeyApplication1x scan codes and
  7335 		the EKeyDevice1x/EStdKeyApplication1x key codes
  7336 
  7337 3.	MarkTa
  7338 	1.	DEFECT FIX: DEF086000: emulator sound driver can hang on close
  7339 
  7340 
  7341 Version 2.00.1137
  7342 ===========================
  7343 (Made by NicholasC, 09/05/2006)
  7344 
  7345 1.	JonCo
  7346 	1.	DEFECT FIX: DEF085362: Emulator fails to run on windows server 2003
  7347 		Prevents windows threads being preempted while they are taking an exception.
  7348 	2.	DEFECT FIX: INC081461: Add IsRectOverlappingRegion to RRegion and machine code
  7349 	3.	DEFECT FIX: DEF082742: Techview Fails to start intermittantly on WINSCW
  7350 
  7351 2.	ArwelH
  7352 	1.	MINOR-CHANGE Corrections/additions to description of CFileMan::Move() and CFileMan::Copy().
  7353 	2.	MINOR-CHANGE In-source comment for CFileMan:Delete(). Added note about the effect of passing KNullDesC.
  7354 
  7355 3.	NeilC
  7356 	1.	DEFECT FIX: DEF066739: XSR NAND baseporting could be made slightly easier by trapping obvious errors
  7357 
  7358 4.	MiguelB
  7359 	1.	DEFECT FIX: DEF085953: Locking Not Lockable Card
  7360 		CMD42 no longer sent to card if command class 7 not supported.
  7361 
  7362 Version 2.00.1136
  7363 ===========================
  7364 (Made by RichardCo, 04/05/2006)
  7365 
  7366 1.	DjordjeK
  7367 	1.	DEFECT FIX: DEF085518: TextShell image cannot boot on ARMv7 platforms
  7368 		This fix allows CORTEX Based ARMv7 CPU to boot TextShell image. The fix is tested on Virtio Simulator.
  7369 		It boots in secure mode. Switching in non-secure mode still doesn't work.
  7370 
  7371 2.	Neilc
  7372 	1.	DEFECT FIX: DEF070123: NAND offsets aren't truely configurable (KNandFbrSectorOffset)
  7373 	2.	DEFECT FIX: DEF084091: Kern::Printfs in ISR in MMC driver - KPBUS1 introduces errors in system tick
  7374 
  7375 3.	ArwelH
  7376 	1.	MINOR-CHANGE Fixed minor typo error within in-source comment for CFixArrayBase::Length()
  7377 
  7378 4.	SimonT
  7379 	1.	MINOR-CHANGE: updated H4HRP baseport functional spec document to more accurately describe the state of
  7380 		H4's DVFS implementation (disabled in software).
  7381 
  7382 5.	MarkTa
  7383 	1.	DEFECT FIX: INC077964: Digitiser area is wrong in emulator
  7384 
  7385 6.	JonCo
  7386 	1.	DEFECT FIX: DEF085798: The fix for INC080727 is a compatibility break and should be reverted
  7387 
  7388 
  7389 Version 2.00.1135
  7390 ===========================
  7391 (Made by RobertJ, 27/04/2006)
  7392 
  7393 1.	MarkTa
  7394 	1.	DEFECT FIX: DEF084215: Crashlogger and crash debugger fail kernel preconditions
  7395 
  7396 2.	ArwelH
  7397 	1.	MINOR-CHANGE Correcting error in in-source comment for RNotifier::StartNotifier()
  7398 	2.	MINOR-CHANGE Correcting minor syntax error in in-source comment for member TChunkCreateInfo::iOwnsMemory
  7399 	3.	MINOR-CHANGE Adding in-source comment to describe the NONSHARABLE_CLASS macro.
  7400 
  7401 3.	JenniferH
  7402 	1.	DEFECT FIX: DEF080955: Core image on NAND uses multiple of megabytes of RAM
  7403 
  7404 4.	ParameshwariB
  7405 	1. 	DEFECT FIX: DEF085168: Patch data support for rom.pl (ARMv5 & EABI v1) and
  7406 		and how to document for modifying RHeap minimum cell size value during
  7407 		build time (SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration.doc).
  7408 
  7409 
  7410 Version 2.00.1134
  7411 ===========================
  7412 (Made by JonCo, 18/04/2006)
  7413 
  7414 1.	MichaelP
  7415 	1.	DEFECT FIX: DEF084696: USB EP0 reads failing with USB Hands Free Kit (Japan Brand)
  7416 		Added StallEndpoint() calls in case of request failure in USB PIL function
  7417 		DUsbClientController::Ep0RequestComplete().
  7418 
  7419 2.	JonCo
  7420 	1.	DEFECT FIX: DEF084702: NKern::CurrentContext assert causes infinite loop it if goes off
  7421 		Added method to let the nanokernel check if kernel has already been faulted, so
  7422 		it can avoid the infinite loop.
  7423 	2.	DEFECT FIX: DEF084508: cut & paste error in Fiq interrupt dispatcher for template port
  7424 	3.	DEFECT FIX: INC083831: Unable to start v9.2 week 12-based emulator on WinXP machines
  7425 
  7426 3.	JoR
  7427 	1.	DEFECT FIX: DEF083612: unsafe variable increment/decrement in Ethernet driver
  7428 		Fixes propagated from 9.1
  7429 
  7430 4.	PhilK
  7431 	1.	DEFECT FIX: DEF082318: Integrate TI version 9.37 H4HRP code release
  7432 		Various tidying up of power management. Inclusion of Symbian provided fixes.
  7433 	2. 	DEFECT FIX: DEF081174: ABIV2: Problems with use of IMPORT_C and EXPORT_C macros
  7434 		Added mssing IMPORT_C macros to enable ABIv2 RVCT toolchain builds.
  7435 	3. 	DEFECT FIX: DEF079654: Setting KPOWER tracing on H4 with debugport=0 causes panic/restart
  7436 		Removed KTRACE statements which caused endless recursion until stack exhausted.
  7437 	4. 	DEFECT FIX: DEF079527: H4 screen random whiteout during application static data initialisation
  7438 		Reduced pixel rate to LCD display to lower memory bus contention.
  7439 	5. 	DEFECT FIX: DEF066475: T_SOUND hangs when run on H2/H4 boards
  7440 		Disable broken T_SOUND testcase for simultaneous play/record.
  7441 	6. 	DEFECT FIX: DEF084406: Bad _GCCXML macro breaks GCC XML build
  7442 		Fix ifdef to use correct macro __GCCXML__.
  7443 
  7444 
  7445 Version 2.00.1133
  7446 ===========================
  7447 (Made by RobertJ, 11/04/2006)
  7448 
  7449 1.	JonCo
  7450 	1.	MILESTONE: Aniseed PGM031, MS3.1 REQ5908 Code Segment Tracing
  7451 
  7452 2.	RichardCo
  7453 	1.	DEFECT FIX: DEF084003: UserHeap::OffsetChunkHeap uses more memory than is strictly neccecary
  7454 		Adjust heap arithmetic so that the offset is rounded to multiples of 8 bytes instead of multiples
  7455 		of the page size, saving almost 4kb of memory if it's used for storing just a few pointers as
  7456 		anticipated.
  7457 	2.	DEFECT FIX: DEF083994: RChunk documentation is outdated, claims no name causes a panic
  7458 		Correct documentation for RChunk, RMutex, RSemaphore, RMsgQueueBase, RMsgQueue to describe
  7459 		using anonymous objects.
  7460 
  7461 3.	NeilC
  7462 	1.	DEFECT FIX: DEF082799: SS31 Illegal command (SET_BUS_WIDTH) is sent to locked card
  7463 
  7464 4.	SimonT
  7465 	1.	MINOR_CHANGE: added document that explains the behaviour behind NAND
  7466 		boot problems and describes how to collect the information required
  7467 		to diagnose the cause. (Base_How_To_Diagnosing_NAND_Boot_Failures.doc)
  7468 
  7469 5.	DjordjeK
  7470 	1.	MINOR_CHANGE: In-source documentation update for Code Modifier
  7471 	2.	MILESTONE: Brave GT0236, MS3.15.2 PREQ305 Level 2 Cache
  7472 		The second drop of level 2 cache. This is support for XSCALE L2 Cache specification
  7473 		and is tested against ARMv5 XScale device with L2 cache.
  7474 
  7475 6.	Parameshwarib
  7476 	1.	DEFECT FIX: DEF078385: RHeap minimum cell allocation size not optimal
  7477 
  7478 
  7479 Version 2.00.1132
  7480 ===========================
  7481 (Made by DmitryL, 07/04/2006)
  7482 
  7483 1.	MichaelP
  7484 	1.	DEFECT FIX: DEF083517: Additional corrections need to USB PDD when client reads data slowly
  7485 		Modified handling of Ep0 transfer completions in PIL when LDD hasn't set up a request yet.
  7486 		Also protected all PIL request queue accesses (transfer, status notify, etc.) from corruption
  7487 		by PSL ISR's through temporary interrupt locks.
  7488 	2.	DEFECT FIX: DEF083432: MTP transfer don't continue, when PC wakes up from stand by mode
  7489 		Add bracketing to fix mistaken operator priorities.
  7490 
  7491 2.	JonCo
  7492 	1.	DEFECT FIX: DEF083671: RMutex::Signal documentation omits potential panic details
  7493 	2.	DEFECT FIX: DEF083317: Stress test crashed on H4 after ~6 hours
  7494 	3.	DEFECT FIX: DEF082712: Store code address before entering to A::StartCrashDebugger(cat,aFault) in Kern:
  7495 
  7496 3.	OlegI
  7497 	1.	MILESTONE: Argus GT0286, MS3.5.4 PREQ1030 Kernel support for device driver test suites
  7498 		This completes all of the preconditions checks planned for this PREQ.
  7499 
  7500 4.	MarkTa
  7501 	1.	DEFECT FIX: DEF083615: Base header files missing in Wk12 external releases, this is breaking Metrotrk
  7502 
  7503 5.	MiguelB
  7504 	1.	DEFECT FIX: DEF082698: H2/H4 MMC PSLs should reset inactivity timer for Forced erase (CMD42)
  7505 
  7506 6.	DjordjeK
  7507 	1.	DEFECT FIX: DEF084107: Arm4 build warnings in Mkernel.cpp and Mprocess.cpp
  7508 	2.	DEFECT FIX: DEF084108: LUBBOCK ARMV5 UREL tests failed to run
  7509 		Fix the sequence of shutting down cache and MMU in NandLoader on Lubbock (right before reboot)
  7510 
  7511 Version 2.00.1131
  7512 ===========================
  7513 (Made by AttilaV, 27/03/2006)
  7514 
  7515 1.	JonCo
  7516 	1.	DEFECT FIX: DEF083045: epoc32\include\kernel\monitor.h is not usable
  7517 
  7518 2.	NeilC
  7519 	1.	DEFECT FIX: DEF082841: NAND Garbage collection doesn't cope with 2 requests from diff drive threads
  7520 
  7521 
  7522 3.	DmitryL
  7523 	1.	MILESTONE: Argus GT0286, MS3.5.2 PREQ1030 - Kernel support for device driver test suites. Part 2.
  7524 		This adds a functionality based on existing Generic Logging Engine to allow profiling of the device drivers.
  7525 		Added t_perflogger test to the e32test.
  7526 		Also see base\documentation\Base_How_To_FastTrace.doc.
  7527 
  7528 4.	MarkTa
  7529 	1.	DEFECT FIX: DEF074162: RHashMap does not directly support pointer keys
  7530 
  7531 5.	RichardCo
  7532 	1.	DEFECT FIX: DEF082046: Unable to reserve space at start of chunk by creating RHeap with offset
  7533 		Add new UserHeap::OffsetChunkHeap API to allow use of a heap offset.
  7534 
  7535 6.	DjordjeK
  7536 	1.	DEFECT FIX: DEF081426: Breakpoints in RAM code segments persist after process death (MCL)
  7537 		This is about Kernel support for setting breakpoints in run-mode debbuger tools.
  7538 		Under certain circumstances, brekpoints were not cleared properly when the process terminates.
  7539 
  7540 
  7541 Version 2.00.1130
  7542 ===========================
  7543 (Made by MarkTa, 20/03/2006)
  7544 
  7545 1.	JonCo
  7546 	1.	DEFECT FIX: DEF082734: Emualator crash caused by early Kern::Printf
  7547 	2.	DEFECT FIX: DEF081898: Unprotected increment of kernel object id
  7548 	3.	DEFECT FIX: DEF082586: RThread documentation omits important details in Kill and Terminate
  7549 	4.	DEFECT FIX: DEF082832: Setting a process to system critical / permanent has no effect
  7550 
  7551 2.	RobertJ
  7552 	1.	Defect FIX: DEF082320 	Avrcp bearer constructor leave causes Remcon server failing to start
  7553 
  7554 3.	RichardCo
  7555 	1.	DEFECT FIX: DEF080070: bootstrap.mke uses GCC assembler, if RVCT2.1 is not available
  7556 		Fix various Base extension makefiles to detect RVCT versions more accurately.
  7557 
  7558 
  7559 Version 2.00.1129
  7560 ===========================
  7561 (Made by MichaelP, 14/03/2006)
  7562 
  7563 1.	ArwelH
  7564 	1.	MINOR_CHANGE Clarifying description of User::SetCritical() & User::SetprocessCritical().
  7565 	2.	MINOR_CHANGE Moving in-source comment for class HAL from source to header.
  7566 
  7567 2.	MichaelP
  7568 	1.	MINOR_CHANGE: Fixed 'Receive & Write to File' mode ('P' command) of T_USB.
  7569 
  7570 3.	MiguelB
  7571 	1.	DEFECT FIX: DEF081441: B_FAT fails with KingMAX and SimpleTech
  7572 
  7573 4.	Parameshwarib
  7574 	1.	DEFECT FIX: INC080727: Ky_tran.cpp file modification needed.
  7575 
  7576 5.	CarlosF
  7577 	1.	DEFECT FIX: DEF081181: ABIV2: Missing __declspec(dllimport) or __declspec(dllexport) qualifiers
  7578 
  7579 
  7580 Version 2.00.1128
  7581 ===========================
  7582 (Made by MaximK, 07/03/2006)
  7583 
  7584 1.	ArwelH
  7585 	1.	MINOR-CHANGE Correction to in-source description of RBuf8::CreateL(TInt aMaxLength)
  7586 	2.	MINOR-CHANGE Correction to the description of classes RPointerArray & RArray
  7587 
  7588 
  7589 Version 2.00.1127
  7590 ===========================
  7591 (Made by JonathanM, 06/03/2006)
  7592 
  7593 1.	JonathanM
  7594 	1.	MILESTONE: Argus GT0286, MS3.1 PREQ209 Demand Paging Prototype.
  7595 		First delivery of demand paging prototype. Delivery step DS204.
  7596 
  7597 
  7598 Version 2.00.1126
  7599 ===========================
  7600 (Made by RobertJ, 01/03/2006)
  7601 
  7602 1.	SimonT
  7603 	1.	MINOR_CHANGE: update H4 User Guide so that example command invocations
  7604 		can be directly cut/pasted into command prompt windows. Word had
  7605 		replaced the '-' character with something that looked similar.
  7606 
  7607 2.	JenniferH
  7608 	1.	DEFECT FIX: DEF077074: t_pages doesn't work on the multiple memory model
  7609 
  7610 3.	MiguelB
  7611 	1.	DEFECT FIX: DEF081190: MMC/SD/SDIO stack needs to request for the memory chunk from TI driver
  7612 		Changed MMC stack to use the PSL-supplied (DMA-safe) "minor" buffer for LOCK_UNLOCK &
  7613 		SEND_EXT_CSD commands.
  7614 	2.	DEFECT FIX: DEF081295: Notification lost when SD card removed while powering up the stack
  7615 
  7616 4.	ArwelH
  7617 	1.	MINOR_CHANGE Correcting/expanding the description of the EPlatformSecurityTrap panic number.
  7618 	2.	MINOR_CHANGE Adding platform security issues to the description of RThread::Panic().
  7619 
  7620 5.	DjordjeK
  7621 	1.	DEFECT FIX: DEF081309: Profiler queues a DFC from an unlocked thread (MCL)
  7622 		Minor change that prevents system warning that a DFC is queued from thread context by Add() instead of Enque()
  7623 	2.	DEFECT FIX:  DEF081434: OOM during DPlatChunkHw::New(): page directory corruption(MCL)
  7624 		The page tables were not cleaned properly in case when a large region (>1M) is made up of page tables
  7625 		rather then sections. It is not usually the case, but may happen under OOM condition and led to
  7626 		system crash when the page was to be re-used.
  7627 	3.	DEFECT FIX: DEF081545: MmuBase::DoAllocPageTable(TInt& aPageNum, TPhysAddr& aPhysAddr) don't (MCL)
  7628 		The system used to panic when it runs out of the initial set of page tables (512).
  7629 		Enlarging PageTableInfo structure is fixed.
  7630 
  7631 6.	RichardCo
  7632 	1.	DEFECT FIX: DEF081322: DSoundPddWins::PlayThread() triggers "FAULT: ncsched.cpp 00000177"
  7633 		Fix NKern::CurrentContext to return the correct value when an interrupt thread is running while the
  7634 		scheduler is in an IDFC. Also fix Wins::ErrorDialog to not cause a recursive fault when an interrupt
  7635 		thread faults.
  7636 
  7637 7.	JonCo
  7638 	1.	DEFECT FIX: INC066279: Emulator hangs (winscw)
  7639 		On windows XP, prevent the emulator switching away from a thread while
  7640 		it is in a windows critical section, which can happen while it is taking
  7641 		an exception.
  7642 	2.	DEFECT FIX: DEF080186: The Memtrace macros route through RDebug
  7643 		Trace information about chunks is now output through btrace.  The old
  7644 		memtrace macros have been left in for the moment, but will be removed in
  7645 		future.
  7646 
  7647 8.	OlegI
  7648 	1.	DEFECT FIX: DEF081163: CNotifierSession::RunPasswordWindowL() fails on normal HRP roms
  7649 
  7650 Version 2.00.1125
  7651 ===========================
  7652 (Made by CarlosF, 21/02/2006)
  7653 
  7654 1.	JonCo
  7655 	1.	DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
  7656 		This was previously fixed, but re-opened due to intermittent overnight test failures
  7657 	2.	MINOR_CHANGE: Fix API classification for TFindHandleBase::Handle
  7658 	3.	DEFECT FIX: DEF080720: Assertion failed: DFC queue not set
  7659 	4.	DEFECT FIX: DEF079374: error in description of Thread::RawRead() in Symbian OS Library
  7660 
  7661 2.	Markta
  7662 	1.	DEFECT FIX: DEF080700: Keypress in landscape cause freeze due to problem with CKeyTranslatorX::Tra(MCL)
  7663 
  7664 3.	JonathanM
  7665 	1.	DEFECT FIX: DEF080964: Can't build ROMs which include SWTrace.
  7666 		Fixes type in BTRACE.IBY
  7667 
  7668 4.	DavidM
  7669 	1.	DEFECT FIX: DEF079725: SS31 First memory card password AutoUnlock
  7670 		attempt fails always, second is successful.
  7671 		Propagate changes from v9.1
  7672 
  7673 5.	DjordjeK
  7674 	1.	DEFECT FIX: DEF081057: Cache attributes of page tables on ARMv6 are inconsistent
  7675 		Cache attributes for page tables weren't consistent accross Kernel. They have to be: L1 uncached, L2 cached.
  7676 		This caused system to crash if write-back L2 cache is present.
  7677 
  7678 Version 2.00.1124
  7679 ===========================
  7680 (Made by NicholasC 14/02/2006)
  7681 
  7682 1.	JonCo
  7683 	1.	DEFECT FIX: DEF079754: TCapabilitySet SetEmpty() does not actually empty the capability set
  7684 	2.	DEFECT FIX: DEF079758: NULL thread doesn't properly construct its kill dfc
  7685 
  7686 2.	JonathanM
  7687 	1.	DEFECT FIX: DEF079857: FastTrace APIs need renaming
  7688 		All files an symbols which include the name 'FastTrace' have been renamed to 'BTrace'.
  7689 
  7690 	2.	INTERFACE CHANGE: BR1781.1 Kernel: Rename FastTrace APIs
  7691 
  7692 3.	PhilK
  7693 	1. DEFECT FIX: DEF066541: MMCTEST causes board to die when "powering up" stack
  7694 	2. DEFECT FIX: DEF072501: H4 shows T_KHEAP failures in UDEB builds
  7695 	3. DEFECT FIX: DEF066547: TESTUSBC.LDD does not run on an ARMv6 processor
  7696 	4. DEFECT FIX: DEF071158: MMC PRECONDITION READY: iRetryTimer callback in ISR rather than thread context
  7697 	5. DEFECT FIX: DEF066449: T_MSTIM fails intermitently on H4
  7698 	6. DEFECT FIX: DEF078887: Incorrect NANDLOADER image generation arguments in H4 user guide
  7699 	7. DEFECT FIX: DEF078997: T_USBAPI has implicit dependencies on endpoint capabilities
  7700 	8. DEFECT FIX: DEF079257: H4 serial PDD is broken. Cannot open serial unit 0 and 7 at same time
  7701 	9. DEFECT FIX: DEF079849: H4 UART DFC runs at very high priority
  7702 
  7703 4.	MiguelB
  7704 	1.	DEFECT FIX: DEF079870: Scope for MMC/SD card performance improvements
  7705 		Increased the DMA buffer size on H2 & H4 PSL mmc stacks to 128K.
  7706 		Changed MMC/SD media driver to create an MBR by default when formatting an SD card.
  7707 	2.	DEFECT FIX: DEF078678: 2 GB SD card protected area is unreadable
  7708 		Added new function TMMCard::MaxWriteBlLen() for clarity.
  7709 		Changed DSdMediaDriverProtected::DoCreate() to use TMMCard::MaxReadBlLen() and
  7710 		TMMCard::MaxWriteBlLen() .
  7711 	3.	DEFECT FIX: DEF078679: Flaws in integrator panasonic logic module CPRM stack
  7712 		This prevents a devide-by-zero fault. Created a function wrapper around
  7713 		CurrentSessFillCmdDesc() for the "encryption" commands which returns a dummy
  7714 		non-data transfer command spec.
  7715 
  7716 5.	JenniferH
  7717 	1.	DEFECT FIX: DEF080335: EnterIdle never cancels AfterIdleTimer.
  7718 
  7719 
  7720 6.	MarkTa
  7721 	1.	DEFECT FIX:INC079415: Crash logger dumps object containers too early
  7722 		Changed the ordering of the NAND and NOR crash logger to place object containers at the end.
  7723 
  7724 7.	TonyL
  7725 	1.	MINOR_CHANGE: Fix btrace command usage to reflect name correctly
  7726 
  7727 Version 2.00.1123
  7728 ===========================
  7729 (Made by AndreasP, 06/02/2006)
  7730 
  7731 1.	DjordjeK
  7732 	1.	DEFECT FIX: DEF079360: A lot fo SWI calls raised during apps start (MCL)
  7733 		Minor changes that are supposed to improve performance of application starts.
  7734 
  7735 	2.	INTERFACE CHANGE: BR1747.1 The constant that defines the maximum cachability of a memory region does not encapsulate L2 cache
  7736 
  7737 	3.	MILESTONE: Bravo GT0236, MS3.15.1 PREQ305 Level 2 Cache
  7738 		The first drop of level 2 cache. This is support for L210 ARM specification and is tested against ARMv6
  7739 		(multiple) memory model.
  7740 
  7741 2.	MichaelMo
  7742 	1.	MINOR_CHANGE: Fixed H4 usbmsapp.mmp to actually build mass storage app.
  7743 
  7744 3.	JonCo
  7745 	1.	MINOR_CHANGE: Added in-source documentation for Kern::NanoWait
  7746 	2.	DEFECT FIX: DEF076999: RThread::Open() panics with KErrBadHandle if the requested thread has just died
  7747 	3.	INTERFACE CHANGE: BR1765.1 Add unique ID field to DObject
  7748 
  7749 4.	OlegI
  7750 	1.	DEFECT FIX: DEF078565: Text shell window server switches off non-existing mouse character pointer
  7751 		Added #ifdef __CHARACTERPOINTER to CWsWindow::TurnMouseOff()
  7752 
  7753 5.	RichardCo
  7754 	1.	Bravo PREQ1073.1: Enable VFP by default on H4 HRP platform
  7755 		Change rom configuration so that VFP math libraries are used on the H4 by default.
  7756 
  7757 
  7758 Version 2.00.1122
  7759 ===========================
  7760 (Made by RichardCo, 01/02/2006)
  7761 
  7762 1. JonCo
  7763 	1.	DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
  7764 		The emulator now ensures that diversions don't get lost due to windows
  7765 		exception handling changing the thread's context.
  7766 
  7767 2.	DjordjeK
  7768 	1.	DEFECT FIX: DEF077701: Decomitting memory is unreliable and does unnecessary cache flushing (MCL)
  7769 		There were two problems in memory decommit process in Kernel:
  7770 		1.The physical memory not own by chunk wasn't evicted from cache when the chunk is destroyed & memory
  7771 		  returned to free pool. When such phys. memory is assigned to other chunk, it may end up with its two
  7772 		  copies in cache. It occasionally leads to system crash (in a way, quite difficult to follow/debug).
  7773 		2.On multiple memory model (ARMv6), any memory decommit request leads to flush of the entire DCache (for
  7774 		  example, when a heap enlarges/shrinks). This is very likely to have a noticable affect on performance.
  7775 		Solution:
  7776  			- DPlatChunkHw now flushes the memory from L1 cache (if it is L1 cached) when closed . It cannot
  7777 			  purge as it can still be in use.
  7778 			- The same is done in DChunk when memory is decommited. (Not in direct model as it doesn't support
  7779 			  DChunk that doesn't own the memory.) Note: L2 cache is not considered as it is physically mapped.
  7780 			- Cache flush issue is fixed.
  7781 
  7782 	2.	DEF077702: Memory given to user side through shared chunk is not always zeroed(MCL)
  7783 		This is platform security issue. At the moment, physical memory allocated through Epoc::AllocPhysicalRam
  7784 		is not zeroed. Memory allocated this way is usually used internally in the drivers. However, it could be also
  7785 		mapped to a shared chunk visible to user side applications. That way, the previous conent of the memory that
  7786 		belonged to one process could be exposed to another process.
  7787 
  7788 3.	MiguelB
  7789 	1.	DEFECT FIX: INC076078: SD: Card selected twice.
  7790 		Changed DSDStack::InitStackAfterUnlockSM() so that it only issues a select
  7791 		if card not already selected.
  7792 
  7793 4.	JonathanM
  7794 	1.	DEFECT FIX: DEF078546: Workaround required for ARM1136 Erratum 371025.
  7795 		This applies workaround 1) specified in ARM1136 Erratum 371025: Invalidate Instruction Cache operation can fail
  7796 	2.	DEFECT FIX: INC078769: RDebug::Print blows the stack too easily
  7797 		This adds a new function to enable data to be sent to the debug port without any pre-processing.
  7798 		This is: EXPORT_C void RDebug::RawPrint(const TDesC8& aDes)
  7799 
  7800 5.	TonyL
  7801 	1.	MINOR_CHANGE: Updates to the H2 user guide to reflect SD/SDIO support, minor corrections to the H4 functional spec
  7802 
  7803 6.	RichardCo
  7804 	1.	DEFECT FIX: DEF078628: Calendar:Week numbers are displayed wrong: wk53 is shown as wk1
  7805 		A rounding error in TTime::WeekNoInYear causes one day in wk53 to show up as wk1 in certain years, if the time
  7806 		is not midnight. The rounding has been corrected to eliminate this error.
  7807 
  7808 Version 2.00.1121
  7809 ===========================
  7810 (Made by JonCo, 23/01/2006)
  7811 
  7812 1.	MichaelP
  7813 	1.	DEFECT FIX: DEF078295: USB - Possibility of iEp0DataReceived is incremented twice
  7814 		In DUsbClientController::ProcessEp0DataReceived() we now subtract
  7815 		'aCount' from iEp0DataReceived before returning when no
  7816 		matching read request was found.
  7817 
  7818 2.	RichardCo
  7819 	1.	DEFECT FIX: DEF078298: RTimer::Inactivity/User::InactivityTime return wrong inactivity time
  7820 		Correct calculation of inactivity time to deal with an edge case introduced
  7821 		by a previous defect fix. Time was not correctly calculated if there were
  7822 		no other timers in the system and the time required had already elapsed
  7823 		when a new inactivity timer was queued.
  7824 
  7825 3.	JonathanM
  7826 	1.	DEFECT FIX: DEF078391: Multi-threaded heap issue when using explicity named threads.
  7827 		This changes UserHeap::ChunkHeap so that for multi-thread heap creation, the kernel
  7828 		objects owned by the RHeap don't hold references on the thread which created it.
  7829 		This enables the creating thread to exit and die normally.
  7830 
  7831 Version 2.00.1120
  7832 ===========================
  7833 (Made by NeilC, 16/01/2006)
  7834 
  7835 1.	MiguelB
  7836 	1.	MINOR_CHANGE: Added more Nandloader/Coreldr diagnostics
  7837 	2.	DEFECT FIX: DEF077936: [system build] - H4 NAND ROMS failed to format
  7838 		Nandloader /e option fixed to erase all blocks even if a genuine bad block is encountered.
  7839 		Nandloader /f option changed to erase all blocks (not just the first), excluding
  7840 		blocks in the reservoir.
  7841 
  7842 	3.	DEFECT FIX: DEF077954: Unistore2 CoreLoader doesn't handle 1-bit errors correctly for 16-bit NAND
  7843 		Changed algorithm for 16-bit Unistore2 1-bit ECC error correction.
  7844 		Defined a macro - INJECT_1BIT_ERROR - in CoreLoader for testing 1 bit errors
  7845 		(macro is undefined by default).
  7846 
  7847 2.	MichaelP
  7848 	1.	DEFECT FIX: DEF077576: PowerDOwnDone() is never called by the USB physical driver PIL
  7849 		Added three new virtual functions to support the Power Management Framework
  7850 		to the USB PDD base class DUsbClientController in e32/drivers/usbc.h; there
  7851 		they are also documented:
  7852 
  7853 		virtual TBool PowerDownWhenActive() const;
  7854 		virtual TInt PowerDown();
  7855 		virtual TInt PowerUp();
  7856 
  7857 		PowerDown() and PowerUp() are called by the PIL in the respective power
  7858 		handler DFC, and PowerDownWhenActive() is used by the PIL to determine
  7859 		whether the UDC supports a power-down mode while it is active.
  7860 
  7861 		Base port impact: A default implementation for each function is provided in
  7862 		the USB PDD PIL, but these can be overridden by the derived controller class
  7863 		in the USB device driver base port. No BC, SC, or FC break.
  7864 
  7865 	2.	DEFECT FIX: DEF077782: USB driver not reseting data toggling after bus reset
  7866 		Moved the data toggle-resetting code into ChangeConfiguration() so it gets
  7867 		called before the current configuration is torn down. On this occasion also
  7868 		a config-invalidating call was added to a new PSL notification processing
  7869 		function DUsbClientController::ProcessCableRemoveEvent() (previously
  7870 		iCurrentConfig would retain its value even after the USB cable had been
  7871 		pulled while in Configured state).
  7872 
  7873 3. 	PhilK
  7874 	1. 	DEFECT FIX: DEF075237: KERN-EXEC 3 with ARMv6 code when built with ALWAYS_BUILD_AS_ARM
  7875 		Turn on "Unaligned access" bit in CP15. Enables word aligned LDRD/STRD operations,
  7876 		to suite code generated by RVCT in ARMv6 target mode.
  7877 
  7878 4.	SimonT
  7879 	1.	DEFECT FIX: DEF077785: NAND interrupt fires too early on H4
  7880 		The NAND media driver on H4 doesn't clear the GPMC interrupt status
  7881 		before enabling the interrupt, this causes the interrupt to fire
  7882 		immediatly and the driver to spin in interrupt context waiting for
  7883 		the device to complete. This causes the idle code to assert.
  7884 	2.	MINOR_CHANGE: updated parse_symbols scripts in H4's Lauterbach
  7885 		testreference so that they may be used on moving memory model
  7886 		hardware.
  7887 	3.	MINOR_CHANGE: updated H4HRP baseport functional spec document to
  7888 		reflect power management milestone
  7889 	4.	MINOR_CHANGE: Integration requested that the quicknandz helper scripts
  7890 		for H2 and H4 format NAND, otherwise their testing will gradually fill
  7891 		up persistant storage with old test entries and data. This change
  7892 		assists them with DEF077518 (messaging smoke tests fail).
  7893 
  7894 5.	OlegI
  7895 	1.	DEFECT FIX: DEF077674: Implementation of DebugSupport::ModifyCode is unsafe(MCL)
  7896 		Added Lock/UlockSystem while calling Alias() & UnlockAndRemoveAlias()
  7897 
  7898 
  7899 Version 2.00.1119
  7900 ===========================
  7901 (Made by JenniferH, 12/01/2006)
  7902 
  7903 1.	ArwelH
  7904 	1.	MINOR_CHANGE: Replaced reference to KERN-SVR with KERN-EXEC in in-source commment
  7905 		for function User::__DbgMarkEnd().
  7906 	2.	MINOR_CHANGE:  Changed in-source comment for TDesC8::Format() and TDesC16::Format().
  7907 		Amended an incorrect explicit reference to a section
  7908 		in the Symbian OS Library.
  7909 
  7910 2.	MaximK
  7911 	1.	DEF075438: Impossible to enable SDIO on a H2 techview ROM image
  7912 		/omap/h2/rom/base_h2.iby file modified to include the relevant binaries.
  7913 
  7914 3.	OlegI
  7915 	1.	DEFECT FIX:  DEF076203: E32 test t_video fails on line 1257
  7916 		Changed test t_video (added save/restore screeen state, turn on using HAL for multiply screen test case)
  7917 
  7918 4.	MiguelB
  7919 	1.	DEFECT FIX: DEF076211: Errors in Symbian 2GB implentation
  7920 		Update code to support 2GB+ MMC cards.
  7921 
  7922 5.	JonathanM
  7923 	1.	MINOR_CHANGE: Modified test T_SEMUTX2 by increasing time delays to make emulator testing
  7924 		more robust against background activity.
  7925 	2.	DEFECT FIX: DEF077182: Panic in FastTrace client code.
  7926 
  7927 6.	JonCo
  7928 	1.	DEFECT FIX: DEF077176: Add an API to make it possible to read the TCritical flag of RThread and RProces
  7929 	2.	DEFECT FIX: DEF076992: The RHash* classes should contain standard typedefs
  7930 
  7931 7.	DjordjeK
  7932 	1.	DEFECT FIX:DEF075590: iMapAttr in chunks are set wrongly on ARMv6 (MCL)
  7933 		Kernel relies on this attribute in chunk objects when maintaining cache memory. Having this set wrongly, could lead
  7934 		to unsufficient cache operations. As the consequence, device drivers could fail in a way quite difficult to track.
  7935 
  7936 Version 2.00.1118
  7937 ===========================
  7938 (Made by JonathanM, 04/01/2006)
  7939 
  7940 1.	MichaelP
  7941 	1.	DEFECT FIX: DEF075756: USBCC: OTG Configuration Descriptor Length Incorrect
  7942 		We now take the length of the OTG descriptor (if existing) into account
  7943 		in the Configuration descriptor (wTotalLength field).
  7944 	2.	DEFECT FIX: DEF075647: t_uspcpi fails in TestAlternateInterfaceManipulation() function
  7945 		In t_usbapi.cpp:TestAlternateInterfaceManipulation() we now check the number
  7946 		of endpoints that were found for the interface, and we take appropriate action
  7947 		to make sure alternate interface setting and audio endpoint descriptor get
  7948 		tested even if there are no isochronous or interrupt endpoints available.
  7949 	3.	DEFECT FIX: INC073828: DMA/PIL - canceled transfer is not ignored by dfc
  7950 		In DMA PIL function TDmaChannel::CancelAll() we now, after stopping the channel,
  7951 		cancel a possibly outstanding DFC and also reset the local ISR/DFC count.
  7952 	4.	DEFECT FIX: DEF076307: USB device failing after cable has been plugged / unplugged a number of times
  7953 		The PIL variables iEp0_RxExtraCount and iEp0_RxExtraData now get reset in function
  7954 		DUsbClientController::ProcessResetEvent().
  7955 	5.	MINOR_CHANGE Corrected a wrong __ASSERT_DEBUG() in e32/drivers/usbcc/descriptors.cpp:658,
  7956 		which should be preceded by an 'else'.
  7957 	6.	MINOR_CHANGE Corrected T_USB: It now sets bMaxPower in the Configuration
  7958 		descriptor to 100mA, which is the highest value allowed for a bus-powered
  7959 		device. This is a requirement to pass the Chapter-9 compliance tests with
  7960 		the USB Command Verifier USBCV (and T_USB can be used to configure the
  7961 		device-under-test for it).
  7962 
  7963 2.	SimonT
  7964 	1.	MINOR_CHANGE: added document that describes how to debug problems in
  7965 		NON-XIP located code that can be exposed by moving onto ARMv6 hardware
  7966 		platforms (e.g. NAND flash on H4) Base_How_To_Debug_NONXIP_Problems.doc
  7967 	2.	DEFECT FIX: DEF075718 "H4 hangs on loading the NAND image"
  7968 		The H4 coreloader would spin during one of it's setup routines; the
  7969 		bug was an inverted test (it worked before because it was racing
  7970 		against itself)
  7971 	3.	MINOR_CHANGE: updated the lauterbach scripts in the H4 testreference
  7972 		directory with some changes to make them more useful when debugging
  7973 		with ETM.
  7974 
  7975 3.	MiguelB
  7976 	1.	DEFECT FIX: DEF075223: SD Card should issue CMD16 before CMD42
  7977 		The MMC & SD specs recommend issuing a SET_BLOCKLEN cmd (cmd 16) before the
  7978 		LOCK_UNLOCK cmd (cmd 42)
  7979 	2.	DEFECT FIX: DEF076190: Media drivers should use KMBRMaxPrimaryPartitions, not KMaxPartitionEntries
  7980 
  7981 4.	JonathanM
  7982 	1.	MILESTONE: Intulo GT0262, MS3.5.3 PREQ1030 - Kernel support for device driver test suites - Generic Logging Engine.
  7983 		This adds a new kernel and user side tracing mechanism implemented by the class FastTrace.
  7984 		See base\documentation\Base_How_To_FastTrace.doc.
  7985 
  7986 5.	NagendraV
  7987 	1.	DEFECT FIX: DEF067958: Initialization when a MMC card is locked.
  7988 		This fix is simply a replication of already fixed problem INC067922 for v9.1
  7989 
  7990 6.	ArwelH
  7991 	1.	MINOR_CHANGE: Corrected typo error in description of @panic USER 75 for
  7992 		inline TSglQue<T>::TSglQue(TInt aOffset)
  7993 	2.	MINOR_CHANGE: Added note into in-source comment for:
  7994 		TDesC8::Match()/MatchC()/MatchF()
  7995 		TDesC16::Match()/MatchC()/MatchF()
  7996 		about the lack of an escape character that prevents the functions
  7997 		from matching the "*" and "?" characters themselves.
  7998 
  7999 
  8000 Version 2.00.1117
  8001 ===========================
  8002 (Made by AttilaV, 12/12/2005)
  8003 
  8004 1.	TonyL
  8005 	1. MINOR CHANGE: Add support for 180 rotation of the screen on H4. The side
  8006 	   benefit of this change is stop Base engineers getting neck ache when
  8007 	   using H4 because the only reasonable way to prop in board up means the
  8008 	   screen is upside down. To use this build the ROM with FLIPPER defined
  8009 	   e.g: rom -v=h4hrp -i=armv5 --define=FLIPPER
  8010 
  8011 2.	JonCo
  8012 	1.	DEFECT FIX: DEF074560: Sync removed all my contacts on pc
  8013 	2.	DEFECT FIX: DEF074190: Defect in CObjectIx::Remove(), incorrect comparison of unique ID
  8014 	3.	DEFECT FIX: DEF074877: Rom.pl not working properly in a shell which starts doskey when it starts
  8015 
  8016 3.	MaxymG
  8017 	1.	DEF066451: Both TF_SUSPEND and TF_ERASE appear to pass but they do not seem to exit cleanly
  8018 
  8019 4.	NicholasC
  8020 	1.	DEFECT FIX: DEF067715: Description of UserHal::SwitchOff() needs clarifying
  8021 
  8022 5.	AnatolyP
  8023 	1.	DEFECT FIX: DEF074516: TTime: DaysFrom() returning negative number when comparing
  8024 		with Time::MinTTime
  8025 		TTime::DaysFrom function was modified to avoid overflow of integer buffer when the distance
  8026 		between 2 values doesn't fit into TInt64. Also, functions TTime::SecondsFrom,
  8027 		TTime::MinutesFrom and TTime::HoursFrom were modified in the same way.
  8028 
  8029 6.	JonathanM
  8030 	1.	DEFECT FIX: DEF070966: Thread lifetime bug in example camera driver.
  8031 		This fixes the example Camera Driver code so that it opens a reference
  8032 		on the client thread when Capture Requests are made.
  8033 
  8034 7. 	AnatolyP
  8035 	1.	MINOR CHANGE: Disabling checks of "@pre mutex must be held" precondition
  8036 		during system crash to alow crash debugger to output the content of object
  8037 		containers.
  8038 
  8039 8.	YingS
  8040 	1.	DEFECT FIX: DEF074822 - Dimension events not recieved by WServ
  8041 
  8042 9.	MiguelB
  8043 	1.	DEFECT FIX: DEF071117: class TExtendedCSD members have no in-source comment.
  8044 	2.	DEFECT FIX: DEF055909: The local media LDD doesn't support mmc/sd stacks with more than one card
  8045 		Changed TMMCardControllerInterface::RegisterMediaDevices()
  8046 		so that it instantiates a new DPBusPrimaryMedia for each slot. This is then
  8047 		stored in the new member variable, DPBusPrimaryMedia::iSlotNumber.
  8048 		Changed DMmcMediaDriverFlash::DoCreate() and DSdMediaDriverProtected::DoCreate()
  8049 		to retrieve the card number from DPBusPrimaryMedia::iSlotNumber.
  8050 		Changed wins estart to create a new drive (T:) for use on the second slot.
  8051 	3.	DEFECT FIX: DEF073518: H4 missing MMC/SD features
  8052 		Added a new directory for building SD (and eventuallly SDIO) -
  8053 		omap_hrp/h4_restricted/sdio.The SDIO stack & media drivers may be included
  8054 		in a ROM by specifying the USE_SDIO_SD_MMC macro on the command line.
  8055 		Implemented DOmapMMCStack::AddressCard() for the SD stack. This has a side effect
  8056 		that only the first slot (marked SDMMC_1) will now work with the SD stack enabled.
  8057 		Added MMCV4 card support.
  8058 		Added 2GB SD card support.
  8059 		MCF approval reference for creation of new component 'base_omaph4hrp_sdio': NC-5092.
  8060 	4.	DEFECT FIX: DEF075121: SD Media driver can become confused with other data in sector 0 of SD Card
  8061 		Changed DMmcMediaDriverFlash::DecodePartitionInfo() so that it no longer returns KErrCorrupt
  8062 		if the MBR is invalid....it now continues on and assumes that a valid or invalid boot sector
  8063 		is in the first sector
  8064 	5.	DEFECT FIX: DEF075203: Incorrect calls to TDfc::Add
  8065 		Changed DMMCStack::SchedGetOnDFC() to call iStackDFC.Add() if in ISR context
  8066 		Changed DSdMediaDriverProtected::DSdMediaDriverProtected()so that iSessionEndDfc
  8067 		is constructed with a priority of 1 (same as medmmc and DMMCStack::iStackDFC)
  8068 		Changed  DSdMediaDriverProtected::SessionEndCallBack() so that it always calls
  8069 		iSessionEndDfc.Enque();
  8070 		Changed DMMCSession::ProgramTimerCallBack(), DMMCSession::PollTimerCallBack()
  8071 		and DMMCSession::RetryTimerCallBack() to set the session state bit KMMCSessStateDoDFC
  8072 		to ensure that a DFC is queued.
  8073 		Changed DJupiterSdStack::InactivityResetTimerCallBack() and
  8074 		DJupiterSdStack::InactivityResetTimerCallBack() likewise.
  8075 	6.	MINOR_CHANGE: Change to base_h4hrp.iby to allow SD/SDIO support in a H4 techview ROM.
  8076 
  8077 10.	AnatolyP
  8078 	1.	DEFECT FIX: DEF074714: Make ethernet precondition ready and stop base port using IDFC.
  8079 		Function void DChannelEthernet::ReceiveIsr() in LDD driver was modified to detect current
  8080 		CPU context (ISR/DFC) and call Dfc::Add/CompleteRxDfc() respecively.
  8081 		Pdd driver constructors in every affected platform(H4, H2, Lubbock) were modified to create
  8082 		DFC instead of IDFC.
  8083 
  8084 11.	AnatolyP
  8085 	1.	DEFECT FIX: DEF074673: Crash debugger doesn't print object names correctly any more.
  8086 		Call of the DMonObject::AppendName from the DMonObject::DumpData() is replaced with
  8087 		DMonObject::FullName.
  8088 
  8089 12.	OlegI
  8090 	1.	DEFECT FIX: DEF075433: THashMapIter::CurrentValue() should return a non-const pointer
  8091 		Removed const from the return value of THashMapIter::CurrentValue() .
  8092 		Also added SetMap function to T_HASHTAB for testing
  8093 
  8094 13.	MichaelP
  8095 	1.	MINOR_CHANGE Added in-source comment for new OTG parameter of function
  8096 		DUsbClientController::InitialiseBaseClass() in ps_usbc.cpp.
  8097 
  8098 14.	SimonT
  8099 	1.	DEFECT FIX: DEF075626 "NAND Flash boot loader installation process fails on UREL
  8100 		The power management that was turned on as part of PREQ1073.7 MS3.3
  8101 		includes an assert on UREL builds that triggers if the millisecond
  8102 		timer is held off for long periods of time. This change disables that
  8103 		ASSERT for now and recovers the timer so that NAND can continue to be
  8104 		used on H4.
  8105 	2.	DEFECT FIX: DEF074517 "H4 PRECONDITION READY: omap power resource manager violates Symbian APIs"
  8106 		During integrating the 9.33 TI release the baseport had picked up a few
  8107 		problems that would cause the precondition asserts to occur.
  8108 	3.	MINOR_CHANGE: the bld.inf change to build 100MHz H4 bootstrap files was
  8109 		omitted from the last base release.
  8110 	4.	MINOR_CHANGE: stop the t_camera H4 variant test playing around with
  8111 		power management
  8112 
  8113 Version 2.00.1116
  8114 ===========================
  8115 (Made by JohnS, 30/11/2005)
  8116 
  8117 1.	RichardCo
  8118 	1.	DEFECT FIX: DEF074275: Problems with file share promotion & demotion
  8119 		Correct incorrect reference counting when using certain file sharing
  8120 		modes on duplicated handles.
  8121 
  8122 2.	MichaelMo
  8123 	1.	MINOR_CHANGE: Updated H2 user guide to reflect use of Unistore2 NAND Flash driver.
  8124 		This replaces the deprecated SSR NAND Flash driver.
  8125 
  8126 3.	ArwelH
  8127 	1.	MINOR CHANGE: Removing @prototype 9.1, @prototype 8.1 and @prototype 9.0 status
  8128 		tags, and replacing (where appropriate) with @released status tags to
  8129 		satisfy Bravo requirements.
  8130 
  8131 4.	JonCo
  8132 	1.	DEFECT FIX: DEF074326: Nkern fault trying to kill thread while in critical section
  8133 	2.	DEFECT FIX: DEF073910: TInt8 Documentation Mistake
  8134 	3.	MINOR CHANGE: Updated t_cputime to fix intermittent test failures
  8135 
  8136 5.	TonyL
  8137 	1.	DEFECT FIX: DEF074371: Integrate TI 9.33 H4 Base port
  8138 	2.	MILESTONE: Intulo GT268, MS3.3 PREQ1073.7 (REQ5507, REQ5492)
  8139 		Power Management. Idle tick suppression is now utilised and device
  8140 		drivers should take adequate care of power resources, using them as
  8141 		required. A slow speed configuration has been which means that the
  8142 		core CPU speed will operate at 100MHz on H4, this demonstrates a DVFS
  8143 		capability of the processor. True DVFS will be fixed at a later date.
  8144 	3.	DEF074517 H4 PRECONDITION READY: omap power resource manager violates
  8145 		Symbian APIs
  8146 		- Was previously allocating memory with interrupts disabled.
  8147 	4.	DEF071161: H4 PRECONDITION READY: Digitizer will break usage TDfc
  8148 		usage semantics
  8149 		- Was previously using TDfc::Add in thread context
  8150 	5.	DEF071136: H4 PRECONDITION READY: H4 COMM LDD suboptimal and could
  8151 		corrupt kernel data
  8152 		- Was previously using TDfc::Add in thread context, also using
  8153 		  dfcs whereas direct calls could be used
  8154 	6.	DEF071126: H4 PRECONDITION READY: USB ISP1301 will potentially corrupt
  8155 		kernel DFC queue
  8156 		- Was previously using TDfc::Add in thread context
  8157 	7.	DEF074621: RDebug output could cause a data abort
  8158 		- Ensure UARTs are enabled on the OMAP2420 PRCM before writing to them
  8159 
  8160 6.	MichaelP
  8161 	1.	MINOR_CHANGE Added test tags in T_USBAPI for MS3.13, Bravo
  8162 
  8163 7.	AttilaV
  8164 	1.	DEF071919: SD MKDir causes critical error if card is locked
  8165 
  8166 8.	NicholasC
  8167 	1.	DEF074417: [System Build] - CBR component base_omaph4hrp_mebootldr missing
  8168 
  8169 Version 2.00.1115
  8170 ===========================
  8171 (Made by YingS, 21/11/2005)
  8172 
  8173 1.	JonCo
  8174 	1.	DEFECT FIX: DEF073342: Hardcoded member offsets in ncsched.cia
  8175 	2.	DEFECT FIX: INC067848: Can't copy to a RBuf using operator=
  8176 
  8177 2.	RichardCo
  8178 	1.	DEFECT FIX: DEF073812: Crashreader does not handle corrupt sectors
  8179 		Have the crash reader tell the user that reading the log encountered errors,
  8180 		but still go ahead and write it out to a file (in the hope that some of it
  8181 		is readable/usable), and still erase the signature so that a new log can be
  8182 		created.
  8183 	2.	DEFECT FIX: DEF073813: Unnessasary overhead in writing the crashlog could result in corrupt sectors
  8184 		Change the NAND crash logger to write the ECC values out the first time around,
  8185 		instead of making two passes through the log. The logger was previously fixed
  8186 		to only write to each page once, so this is now safe and will reduce the chance
  8187 		of an unexpected power removal corrupting the log.
  8188 	3.	DEFECT FIX: DEF071506: Latest XScale CPU core is not supported in nk_cpu.h
  8189 		Add definitions to nk_cpu.h for __CPU_XSCALE_MANZANO__ according to Intel
  8190 		provided information. No effect on existing builds.
  8191 
  8192 3.	MiguelB
  8193 	1.	DEFECT FIX: DEF073516: Medsd/mmc missing clause for physically damaged card
  8194 		Ensure that a partition read request is always completed, even if the read fails.
  8195 	2.	DEFECT FIX: DEF073524: Medsdp never calls EndInCritical() after first read (for Partition info)
  8196 		Moved call to EndCritical() to DSdMediaDriverProtected::SessionEndCallBack() from
  8197 		DSdMediaDriverProtected::DoSessionEndDfc() to ensure it's always called.
  8198 
  8199 4.	TonyL
  8200 	1.	MINOR CHANGE: Updated 'final' version of the H4 user guide, also added a basic
  8201 		Trace32 set-up guide.
  8202 	2.	MINOR CHANGE: Add Lauterbach scripts for H4/H2 into omap_hrp\tools\, these can
  8203 		be used various on target debug and tracing purposes. Provided as 'example'
  8204 		files.
  8205 
  8206 
  8207 Version 2.00.1114
  8208 ===========================
  8209 (Made by MichaelP, 18/11/2005)
  8210 
  8211 1.	JonCo
  8212 	1.	DEFECT FIX: DEF073260: local function NextGeneration in sprocess.cpp is innefficient
  8213 	2.	DEFECT FIX: DEF073201: DObjectCon::CheckUniqueFullName is innefficient
  8214 	3.	DEFECT FIX: DEF073261: Emulator panic due to missing entries in key name to key mapping
  8215 
  8216 2.	OlegI
  8217 	1.	DEFECT FIX: DEF067603: Inconsistent Kernel exports
  8218 		Un-exported methods from class DObjectIx. It's implementation transfered to separate file
  8219 		KERNEL\OBJECTIX.CPP.
  8220 		Test code D_DOBJECT LDD now is linking with this file.
  8221 
  8222 3.	SimonT
  8223 	1.	DEFECT FIX: DEF072951: "Quicknandz.bat missing from H4HRP"
  8224 		This will fix the problems with using the nandtest_load_noext type when
  8225 		building autoloading nandloader images on H4 (a file wasn't brought
  8226 		over to H4)
  8227 	2.	DEFECT FIX: DEF070197: "Specifying -D_NAND on H4HRP Techview build creates bad ROM image"
  8228 		SSR nand is not supported on H4HRP, specifying -D_NAND will now trigger
  8229 		an error with a recognisable message
  8230 	3.	DEFECT FIX: DEF070062: "H4 bootstrap's memory test causes JTAG problems"
  8231 		This prevented CodeWarrior resetting the board and running the same
  8232 		image again.  The H4 baseport from TI has a memory check in the
  8233 		bootstrap, when running from flash it will destroy regions of memory
  8234 		being tested - when the board is reset with the JTAG it doesn't get
  8235 		control of the board early enough to stop the bootloader running and
  8236 		performing the memory test, overwriting portions of the image in RAM.
  8237 
  8238 4.	JonathanM
  8239 	1.	DEFECT FIX: DEF073477: USERCOMDEB configuration is incorrect
  8240 		This only affects the System Wide Tracer (PREQ505) which has not yet been completed.
  8241 
  8242 5.	YingS
  8243 	1.	MILESTONE: Intulo GT0262 MS3.9 DS92 PREQ297 USB on-the-go extensions and plug'n'play API
  8244 
  8245 
  8246 6.	MiguelB
  8247 	1.	MINOR CHANGE: Added a timer to H2 MMC controller to prevent stack from timing out
  8248 		and powering down while a long-running erase is in progress.
  8249 
  8250 7.	NicholasC
  8251 	1.	MILESTONE: Bravo GT0236 MS3.11 PREQ316 Remote software patching.
  8252 		This is mainly enabling to have a minimal environment for software upgarde.
  8253 		MCF approval reference for creation of new component 'base_ubootldr': NC-5086.
  8254 		MCF approval reference for creation of new component 'base_omaph4hrp_bootldr': NC-5087.
  8255 		MCF approval reference for creation of new component 'base_omaph4hrp_mebootldr': NC-5088.
  8256 
  8257 
  8258 Version 2.00.1113
  8259 ===========================
  8260 (Made by DuskoJ, 16/11/2005)
  8261 1.	DuskoJ
  8262 	1.	DEFECT FIX: DEF073602 - Problems integrating new compilers into toolchain
  8263 
  8264 
  8265 Version 2.00.1112
  8266 ===========================
  8267 (Made by MichaelMo, 08/11/2005)
  8268 
  8269 1.	AnatolyP
  8270 	1.	INTERFACE CHANGE: BR1647.1 APIs where the checks are enforced will behave differently: they will panic the Kernel if the preconditions they are checking are not met.
  8271 		MILESTONE: Intulo GT0262, MS3.5.1 PREQ1030 Kernel support for device driver test suites.
  8272 		This submission introduces checks of Kernel APIs preconditions. The checks are configurable, there are 3 phases of check enforcement:
  8273 		1) All checks can be switched off if both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ are undefined (commented out) in e32/kernel/kern_int.mmh.
  8274 		2) All checks can be configured to output diagnostic message if the break of precondition occurs. In this case kernel will print the title of the broken precondition and the function where the break was detected to the standard debug output. Kernel will not be crashed.
  8275 		To choose this option, please define __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ macro and undefine __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ in e32/kernel/kern_int.mmh.
  8276 		3) All checks can be configured to fault the kernel if the break of precondition occurs. In this case kernel will print out the same diagnostic message as in option 2, and then call Kern::Fault.
  8277 		To choose this option, please define both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ macros in e32/kernel/kern_int.mmh.
  8278 		Currently all checks are disabled.
  8279 
  8280 2.	DavidM
  8281 	1.	DEFECT FIX: DEF068055: T_Sound.cpp record settings incorrect
  8282 	Changed erroneous "r = SoundDevice.SetPlayFormat(PlayFormatBuf);" statement to
  8283 	"r = SoundDevice.SetRecordFormat(RecordFormatBuf);"
  8284 
  8285 3.	AnatolyP
  8286 	1.	MINOR CHANGE: Corrected improper fix for DEF068363, point 17: detection of current CPU mode moved
  8287 		to the inline functions, DrainRxBufferEnque() function is removed.
  8288 
  8289 4.	DjordjeK
  8290 	1.	DEFECT FIX: DEF072118: Panic in DMsgQueue when Playnow is restarted following a Playnow panic(MCL)
  8291 		On requesting notification (of either data or space available), we panic the requesting
  8292 		thread if another thread has already requested notification. With this fix, we now check additionally
  8293 		whether the thread which previously requested notification has died (iExitType != EExitPending). If so
  8294 		we cancel its request then accept the new one.
  8295 
  8296 6.	JonCo
  8297 	1.	MILESTONE: Intulo GT0262, MS3.1.3 PREQ521 Tune hand-coded assembler routines and/or replace them with compiled versions
  8298 		Final submission containing tuning of euser routines
  8299 	2.	DEFECT FIX: DEF072462: ARM1136 Errata 364296: Possible Cache Data Corruption with Hit-Under-Miss
  8300 
  8301 7.	RichardCo/Dennis
  8302 	1.	DEFECT FIX:	DEF070194: TLS Mechanism is broken for dynamically loaded RAM-loaded code
  8303 		Added a new DLL ID parameter to the functions UserSvr::DllTls(), UserSvr::DllSetTls().
  8304 		When setting the TLS only the module handle (= address of DLL entry point) is used to
  8305 		look up the kernel side TLS array entry. The DLL ID is merely stored in the array.
  8306 		When looking up TLS, the module handle is used to index the array and then the supplied
  8307 		DLL ID is compared to that in the array. If the DLL ID does not match, NULL is returned.
  8308 		The DLL ID is derived in two different ways:
  8309 		(i) On hardware it is read from the word 12 bytes past the entry point. The loader has
  8310 		been modified to write a unique value into this word for each DLL loaded.
  8311 		(ii) On the emulator the kernel associates a unique value with every windows DLL loaded
  8312 		and this value is used as the DLL ID.
  8313 
  8314 Version 2.00.1111
  8315 ===========================
  8316 (Made by DmitryL, 31/10/2005)
  8317 
  8318 1.	DjordjeK
  8319 	1.	DEFECT FIX: DEF069282: Run-mode debuggers cannot set breakpoints(MCL)
  8320 		Added a new (target only) interface for setting breakpoints (used in run-mode debuggers).
  8321 		They are: InitialiseCodeModifier(), CloseCodeModifier(), ModifyCode() and RestoreCode().
  8322 	2.	DEFECT FIX: DEF071433: DMsgQueue::Receive and RMsgQueueBase::ReceiveBlocking comment needs updating
  8323 		In-source documentation update.
  8324 
  8325 2.	AnatolyP
  8326 	1.	DEFECT FIX: DEF068354: Some kernel APIs are called by other kernel functions from the wrong context.
  8327 		The following steps are performed to correct the improper API calls:
  8328 		1) Problem with DMMCStack::SchedGetOnDFC() is fixed in the fix for DEF067963.
  8329 		2) K::Randomize(): call of Kern::Random() is included into NKern::LockSystem()
  8330 		and NKern::UnlockSystem() to avoid corruption of random generator.
  8331 		3) All the calls of DPowerManager::NotifyWakeupEvent(TInt aReason) are enclosed into critical section.
  8332 		4) The call of DPropertyRef::SetB in
  8333 		TInt ExecHandler::PropertySetB(DPropertyRef* aRef, const TUint8* aBuf, TInt aSize)
  8334 		enclosed into critical section.
  8335 		5) ExecHandler::GetModuleNameFromAddress: call of Kern::CodeSegFromAddress is enclosed
  8336 		into Kern::AccessCode().
  8337 		6) DMediaChangeBase::DoorOpenService() is modified to check the current CPU context and
  8338 		call TDfc.Add() from the ISR context only. If it is not in ISR, it calls MediaChangeEvent
  8339 		from the DFC and TDfc.Enque() from the thread context.
  8340 		7) void DChannelComm::CheckTxBuffer():
  8341 		instead of unconditional call of void DChannelComm::CompleteWrite() the check of current
  8342 		CPU context is introduced: if the current context is ISR, then DChannelComm::CompleteWrite()
  8343 		is called as previously, otherwise DoCompleteTx() function is called directly.
  8344 
  8345 3.	JenniferH
  8346 	1.	DEFECT FIX: INC067404: RArray and RPointerArray should have FindReverse interface
  8347 		Added FindReverse interface for RArray, as well as tests for it.
  8348 
  8349 4.	MichaelP
  8350 	1.	DEFECT FIX: DEF072099: Indication that h/w can detect cable status without USB h/w powered up, missing
  8351 
  8352 		Made use of the first reserved word (of two) in class TUsbDeviceCapsV01
  8353 		and renamed it to iFeatureWord1. We now use bit 0 of it for the indication of
  8354 		whether USB cable detection is possible without UDC power. There is a new constant
  8355 		defined for feature word 1 bit 0: KUsbDevCapsFeatureWord1_CableDetectWithoutPower.
  8356 
  8357 		Base port impact: With this API change also comes a new virtual (not pure virtual)
  8358 		USB controller base class function:
  8359 
  8360 			virtual TBool DUsbClientController::CableDetectWithoutPowerCaps() const;
  8361 
  8362 		A default implementation in the USB PDD PIL returns EFalse, but this can be
  8363 		overridden by the derived controller class in the USB base port.
  8364 
  8365 		Both T_USBAPI and T_USB query this new device capability and print its value
  8366 		upon test program start.
  8367 
  8368 	2.	DEFECT FIX: DEF072035: Re-enumeration of USB devices in T_USB causes system to crash
  8369 		The USB cable reconnect timer callback gets now called in DFC (rather than ISR) context
  8370 		by passing ETrue as a second argument to the priming function:
  8371 
  8372 			iReconnectTimer.OneShot(KUsbReconnectDelay, ETrue);
  8373 
  8374 5.	JonCo
  8375 	1.	DEFECT FIX: DEF071575: Performance: Euser should be build as ARM
  8376 		Variant euser is now built as ARM rather than Thumb if the macro
  8377 		__BUILD_VARIANT_EUSER_AS_ARM__ is defined in the variant.mmh file.
  8378 	2.	DEFECT FIX: DEF072161: Cache::SyncMemoryBeforeDmaRead Long Version Not Invaliding Caches
  8379 	3.	DEFECT FIX: DEF072159: Possibly sub-optimal implementation of 'isdigit'
  8380 	4.	DEFECT FIX: DEF070929: Inefficient processing of ASCII characters in User Lib operations
  8381 	5.	DEFECT FIX: DEF070964: rom.pl script detects false error messages
  8382 	6.	DEFECT FIX: DEF071128: Documentation update needed for "How To Use VFP Support"
  8383 
  8384 6.	AndreasP
  8385 	1.	DEFECT FIX: DEF067383: XSR LLD .cpp files include inlined assembler which will not compile under RVCT.
  8386 		The assembler NAND access routines have been seperated from the pns.cpp and pnl.cpp files. One new file has been created, namely pn.cia
  8387 		that contains the assembler instructions. The mmp files for the projects that use pns.cpp and pnl.cpp have also been modified to include
  8388 		or exclude the .cia file on demand by defining (or not) the _ASMCODE_ variable in the corresponding .mmh file. Furthermore,
  8389 		benchmark tests have been run on all (H4, H2 8bit NAND, H2 16bit NAND and Integrator) platforms. The results of these tests show
  8390 		that the performance can be only improved on H2 and Integrator by including the .cia file with the NAND access routines.
  8391 		Thus, the assembler code has only been enabled for H2 and Integrator.
  8392 
  8393 7.	AnatolyP
  8394 	1.	DEFECT FIX: DEF068363: Some kernel APIs are called by H2 drivers?functions from the wrong context.
  8395 		Some kernel APIs have limitations on the context they are called from (preconditions). As a part of my
  8396 		PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that some H2
  8397 		driver functions do not meet the preconditions while calling kernel APIs.
  8398 		The following steps are performed to fix improper use of kernel APIs:
  8399 		1) void DVariantPowerControllerH2::PowerDown(TTimeK aWakeupST):
  8400 		call of iPowerOffEventDfc.Add() replaced with iPowerOffEventDfc.Enque().
  8401 		2) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerDown():
  8402 		call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
  8403 		3) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerUp():
  8404 		call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
  8405 		4) void DLcdOmapVarPowerhandlerH2::VariantBackLightOn():
  8406 		call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
  8407 		5) void DLcdOmapVarPowerhandlerH2::VariantBackLightOff():
  8408 		call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
  8409 		6) TInt DLcdOmapVarPowerhandlerH2::uWireCallbackFn(TAny* aPtr) call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
  8410 		7) void THelenI2CPowerHandler::PowerUp():
  8411 		call of iPowerUpDfc.Add() replaced with iPowerUpDfc.Enque().
  8412 		8) TInt TTPS65010::Init(TInt Devicei2cAddress, TUint aConfigFlags):
  8413 		call of iStateMachineDfc. Add() replaced with iStateMachineDfc.Enque();
  8414 		9) TInt TTPS65010::i2cCallBackfn(TAny *aPtr):
  8415 		call of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
  8416 		10) TInt TTPS65010::Read8(TUint aTargetRegister, void (*aCallBack)(TAny* aPtr, TInt aValue), TAny* aCallBackArg):
  8417 		calls of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
  8418 		11) void TIsp1301::InitialiseTranceiver():
  8419 		instead of unconditional calls of iDfc. Add()  the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
  8420 		12) TInt TIsp1301::RequestComplete(TAny* aPtr):
  8421 		call of  iDfc. Add()  replaced with iDfc. Enque().
  8422 		13) void TIsp1301::GetConnectionState():
  8423 		instead of unconditional calls of iDfc. Add()  the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
  8424 		14) void TIsp1301::EnableDpPullUp():
  8425 		instead of unconditional calls of iDfc. Add()  the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
  8426 		15) void TIsp1301::DisableDpPullUp():
  8427 		instead of unconditional calls of iDfc. Add()  the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
  8428  		Also, void TIsp1301::ClearInterrupts() and void TIsp1301::DumpIsp1301Regs() were modified in the same way(conditional call of iDfc. Add()/iDfc. Enque() instead of unconditional call of iDfc. Add() ).
  8429 		16) The problems with the physical sound drivers are caused by the fact that they enque DFC being in DMA DFC.  To fix these problems, we need to call logical driver DFC functions instead of queing DFC. To do so, I had to declare DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
  8430 		PDD functions that request next play/record buffer are left  unchanged to avoid modifications in synchronization engine.
  8431 		So, LDD functions are modified in the following way:
  8432 		in functions  DSoundLdd::PlayCallback(),  DSoundLdd::RecordCallback() and  void DSoundLdd::PlayErrorCallback()  all unconditional calls of Dfc::Add are replaced with the conditional calls of appropriate function.
  8433 		Also, the following modifications were made in PDD code:
  8434 		-in function void DSoundTxDma::SoundTxDmaService call of  PlayErrorCallback() is replaced with setting Ldd iPlayError and calling Ldd PlayDfc;
  8435 		-in function DSoundRxDma::SoundRxDmaService() call of
  8436 		RecordErrorCallback() is replaced with setting Ldd iRecordError and calling Ldd RecordDfc;
  8437 		17) void DChannelCommDMA::TransmitFrame(TDes8 &aFrame) and void DChannelCommDMA::CheckTxBuffer():
  8438 		instead of unconditional call of DChannelCommDMA::CompleteWrite() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteWrite() is called is previously, otherwise DoCompleteTx() function is called directly.
  8439 		void DChannelCommDMA::ReceiveFrame(const TDes8 &aFrame):
  8440 		instead of unconditional call of DChannelCommDMA::CompleteRead() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteRead() is called is previously, otherwise DoCompleteRx() function is called directly.
  8441 		instead of unconditional call of DrainRxBuffer() the check of current CPU context is introduced: if the current context is ISR, then DrainRxBuffer() is called is previously, otherwise the dedicated function DrainRxBufferEnque()is called.
  8442 		void DChannelCommDMA::StateIsr(TUint aSignals)
  8443 		instead of unconditional call of iSigNotifyDfc.Add() the check of current CPU context is introduced: if the current context is ISR, then iSigNotifyDfc.Add() is called is previously, otherwise UpdateSignals() function is called directly.
  8444 		instead of unconditional call of DChannelCommDMA::CompleteRead() and DChannelCommDMA::CompleteWrite() the check of current CPU context and the call of the appropriate function is introduced.
  8445 		18) void DLddChannelCamera::CompleteNewImage():
  8446 		instead of unconditional call of iCompleteNewImgDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
  8447 		void DLddChannelCamera::CompleteAngleDetect():
  8448 		instead of unconditional call of iCompleteAngleDetectDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
  8449 	2.	DEFECT FIX: DEF068369: Some kernel API are called by Lubbock drivers?functions from the wrong context.
  8450 		Some kernel APIs have limitations on the context they are called from (preconditions). As a part of
  8451 		my PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that
  8452 		some Lubbock driver functions do not meet the preconditions while calling kernel APIs.
  8453 		The following steps are performed to fix improper use of kernel APIs:
  8454 		1) We need to allow calls of logical driver DFC function from PDD instead of queing DFC. To do so, I declared DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
  8455 		2) Also we have to modify sound LDD to allow calls of callback functions from DFC(to keep synchronization engine for allocation of play/record buffers working).
  8456 		The following modifications were made in PDD code:
  8457 		-in function DSoundPddMcot::DoErrorCallbackFn() call of
  8458 		PlayErrorCallback() and RecordErrorCallback() was replaced with setting Ldd iPlayError and calling Ldd PlayDfc/RecordDfc;
  8459 		The following modifications were made in LDD code:
  8460 		in functions  DSoundLdd::PlayCallback(),  DSoundLdd::RecordCallback(),  void DSoundLdd::PlayErrorCallback() and DSoundLdd::RecordErrorCallback() all unconditional calls of Dfc::Add were replaced with the conditional calls of appropriate function(this modification was made as a fix of DEF068363).
  8461 		3) As soon as Lubbock Nand driver is single threaded and executes synchronously (thus not reentrant) , there is no need to protect accesses to the hardware device. So I removed mutex protection from the following functions:
  8462 		- DevReadSpare
  8463 		- DevRead
  8464 		- DevWriteSpare
  8465 		- DevWrite
  8466 		- DevErase
  8467 		4) Crash debugger should avoid calls of kernel functions because kernel is unreliable after the crash. So, I moved the call of NKern::Lock in the part of Variant::UartInit() which is not executed in the context of crash debugger.
  8468 
  8469 8.	PhilK
  8470  	1.	MILESTONE: Bravo GT268, MS3.1.4 PREQ1073 Base port H4 UART drivers suitable for BT EDR.
  8471 		Ensure H4 serial PDD can support 3.6MBaud serial transfer speed by increasing data
  8472 		processing DFC thread priority and enabling autoRTS flow control.
  8473 
  8474 9.	MiguelB
  8475 	1.	MINOR CHANGE: Modified CoreLdr (H2, udeb build only) to validate ROM image checksum.
  8476 		This is enabled by defining the SYMBIAN_CHECK_ROM_CHECKSUM macro in the CoreLdr make file
  8477 		in the variant directory.
  8478 	2.	MINOR CHANGE: Modified NandLoader to validate ROM image checksum for uncompressed images only.
  8479 
  8480 
  8481 Version 2.00.1110
  8482 ===========================
  8483 (Made by MaximK, 28/10/2005)
  8484 
  8485 1.	MaximK
  8486 	1.	DEF072205 - [System Build] : ROM building warnings in overnight 9.2 build.
  8487 		Usercomdeb driver moved out of ROFS as drivers must be in core image.
  8488 
  8489 
  8490 Version 2.00.1109
  8491 ===========================
  8492 (Made by MaximK, 25/10/2005)
  8493 
  8494 1.	MiguelB
  8495 	1.	DEFECT FIX: DEF070626: Symbian format 1G miniSD illegally
  8496 		The first data sector for SD cards (i.e. the first sector after the root directory)
  8497 		is now aligned to a boundary unit as suggested in the SD Memory Card Specifications -
  8498 		Part2 File System Specification,Annex C & D.
  8499 	2.	DEFECT FIX: DEF071342: NAND/XSR - Bad Blocks not handled correctly on H2/H4
  8500 		Fixed nand_plat.h for H2 & H4 so that CoreLoader is able to calculate any
  8501 		replacement block positions correctly.
  8502 		Changed CoreLdr so that it complains and aborts if the number of blocks in the
  8503 		reservoir, according to the table in nand_plat.h, is zero.
  8504 		Added a '-e' option to NandLoader to erase & format the device; this option
  8505 		erases all bad blocks from the bad block table (for XSR).
  8506 
  8507 2.	OlegI
  8508  	1.	MILESTONE: Intulo GT262, MS3.4 PREQ505 Easy and consistent configuration of component traces
  8509  		Added new USERCOMDEB LDD for collecting trace debug data and user library USERCOMDEBC.
  8510  		Added new test T_USERCOMDEB and auxiliary D_KERN_MSG LDD for it.
  8511 
  8512  		Also changed kernel for calling trace debug hook in critical section
  8513 		Changed e32test\debug\d_logtofile.cpp to processing EInfoTrace case for preventing compillation
  8514 		warnings.
  8515 
  8516 Version 2.00.1108
  8517 ===========================
  8518 (Made by OlegI, 17/10/2005)
  8519 
  8520 1.	MiguelB
  8521 	1.	DEFECT FIX: DEF071183: Buffalo mini SD card is not recognized by Symbian
  8522 		Buffalo cards report that partial reads are supported but these do not work correctly.
  8523 		Workaround is in SD card stack PSL, integrator LM_PANA logic module.
  8524 
  8525 
  8526 2.	JonCo
  8527 	1.	DEFECT FIX: DEF070920: ColdStart initializes RealTime with value written in RomHeader
  8528 
  8529 3.	JenniferH
  8530 	1.	DEFECT FIX: DEF071190: Behavior regression of TaskEventLogging function.
  8531 
  8532 Version 2.00.1107
  8533 ===========================
  8534 (Made by RobertJ, 13/10/2005)
  8535 
  8536 1.	JonCo
  8537 	1.	DEFECT FIX: DEF068256: t_pwstr test fails on Integrator Board
  8538 	2.	DEFECT FIX: DEF070859: Mem::Swap broken for some unaligned addesses
  8539 
  8540 2.	MichaelP
  8541 	1.	MILESTONE: Bravo GT0236, MS3.13 SLUI-6EVS5P "USB Device Driver API extension to support
  8542 		setting of an string descriptor at a specific index"
  8543 		Added three new USB API functions for the manipulation of arbitrary USB string
  8544 		descriptors + updated USB API documentation accordingly:
  8545 
  8546 		TInt RDevUsbcClient::GetStringDescriptor(TUint8 aIndex, TDes16& aString);
  8547 		TInt RDevUsbcClient::SetStringDescriptor(TUint8 aIndex, const TDesC16& aString);
  8548 		TInt RDevUsbcClient::RemoveStringDescriptor(TUint8 aIndex);
  8549 
  8550 		Also added test cases to T_USB and T_USBAPI.
  8551 
  8552 	2.	DEFECT FIX: DEF069016: T_USBAPI variant specific tests mask some failures
  8553 		The USB capability functions now only use lists of known negatives (i.e. they list
  8554 		platforms known NOT to support something). Also, the capability functions now have
  8555 		more meaningful (& unified) names.
  8556 
  8557 	3.	MINOR CHANGE: Reformatted some USB files + changed in-source comments.
  8558 
  8559 
  8560 
  8561 Version 2.00.1106
  8562 ===========================
  8563 (Made by JenniferH, 11/10/2005)
  8564 
  8565 1.	JonCo
  8566 	1.	MINOR CHANGE: Make t_lat2 print a message to explain what it's doing
  8567 	2.	MINOR CHANGE: Make t_cputime wait until system is idle on windows builds
  8568 	3.	DEFECT FIX: DEF068185: t_kheap test failure
  8569 	4.	DEFECT FIX: DEF068840: NTimerQ C++ code doesn't build
  8570 
  8571 2.	MichaelMo
  8572 	1.	DEFECT FIX: DEF070257 - Update Samsung UnistoreII driver to version 1.4.0
  8573 		This fixes various defects in the Samsung provided UnistoreII driver (see defect report for
  8574 		Samsung	defect numbers).
  8575 
  8576 3.	AnatolyP
  8577 	1.	DEF068356: Kernel API is called by the testcode from the wrong context.
  8578 		To fix  improper use of kernel API the call of DObject::Close is wrapped into NKern::ThreadEnterCS() and NKern::ThreadLeaveCS().
  8579 
  8580 4.	JonathanM
  8581 	1.	MINOR_CHANGE: Fix test utility REBOOTDRV so that CPU state is cleaner after reboot
  8582 
  8583 5.	SimonT
  8584 	1.	DEF070472: H4 nandloader doesn't include the coreloader binary in the rom
  8585 
  8586 6.	MiguelB
  8587 	1.	MINOR CHANGE: Disabled automatic _SDIO support from H2 textshell ROM builds -
  8588 		this now needs to be defined on the command line when building a ROM.
  8589 
  8590 
  8591 Version 2.00.1105
  8592 ===========================
  8593 (Made by GavinT, 07/10/2005)
  8594 
  8595 1.	Dennis
  8596 	1.	DEFECT FIX: DEF069289	"Exception handling doesn't work in extension ROMs"
  8597 		Added a field to TExtensionRomHeader to point to the exception search table
  8598 		for that extension ROM. Modified ROMBUILD to fill in this field.
  8599 		Add code to the runtime support to look in the extension ROM if an address
  8600 		is not found in either the main ROM or in a RAM-loaded code segment.
  8601 
  8602 2.	JonCo
  8603 	1.	DEF069351: New x86 3.2.3 Compiler requires pragmas to globally supress warnings
  8604 	2.	DEF069355: Requiring more scan and key codes
  8605 	3.	DEF068505: Suggested improvement to comment on NThreadBase::Kill()
  8606 	4.	DEF069395: Incorrect documentation on TPriListBase::operator> in nklib.h
  8607 	5.	INC067854: Trap instrumentation lacks TRAP_INSTRUMENTATION_END or TRAP_INSTRUMENTATION_STOP
  8608 
  8609 3.	SimonT
  8610 	1.	DEF069439: Integrate TI's 9.29 H4 release into the H4HRP
  8611 		This is a planned integration of TI's H4 baseport release to minimise
  8612 		differences between the two baseports.
  8613 	2.	DEF068016: Incorrect use of NFastSemaphore internal field
  8614 	3.	DEF069228: H4 benchmark suite doesn't behave as expected
  8615 	4.	DEF067001: Latency values look weird
  8616 	5.	DEF068894: MMU enable the H4 coreloader (coreloader performace)
  8617 	6.	DEF068952: Rebootdrv changes for MMU enabled coreloader (and test app)
  8618 	7.	MINOR CHANGE - permit screen rotation within H2 textshell
  8619 	8.	MINOR CHANGE - include rebootdriver in techview roms (H2/H4)
  8620 
  8621 4.	MaxymG
  8622 	1.	DEF067304: Missing check for memory allocation in nand_media.cpp
  8623 
  8624 5.	MiguelB
  8625 	1.	DEFECT FIX: DEF068573: Emulator timer thread suicide if too many ticks are missed
  8626 		Modified the timer tick callback to ensure the timer is not inadvertently killed.
  8627 
  8628 	2.	MILESTONE: Bravo GT0236, MS3.10 WiFi Demo.
  8629 		Adds support for SD/SDIO to H2 HRP. This is part of PREQ719 and enables
  8630 		support for third-party SDIO WiFi drivers cards on H2.
  8631 		MCF approval reference for creation of new component 'base_h2_sdio': NC-5060.
  8632 		MCF approval reference for creation of new component 'base_sdiotests': NC-5066.
  8633 
  8634 	3.	CHANGE REQUEST: Bravo GT0236, MS3.14 APOS-6FRCG5 Add support for 2 GB-SD cards.
  8635 		The latest SD card spec enables support for 2GB cards by allowing the block length
  8636 		read from the CSD register to be 1024. If this value is read as 1024, then a block
  8637 		length of 512 bytes should be assumed.
  8638 
  8639 		Note: Changes are probably required in the PSL MMC/SD stack DLL to support 2GB cards.
  8640 		Any calls to TCSD::ReadBlockLength() should be carefully analysed and as likely as not
  8641 		replaced with a call to the new function TMMCard::MaxReadBlLen().
  8642 
  8643 	4.	MILESTONE: Bravo GT0262. MS3.2 Improve MMC Performance using v4.0 specification
  8644 		Adds support for MMC V4.0 cards. These can operate at bus widths of 1, 4 or 8 bits
  8645 		and up to 26 or 52 MHz.
  8646 
  8647 		Note: Changes are required in the PSL MMC/SD stack DLL to fully support v4.0 cards -
  8648 		The virtual functions DMMCStack::SetBusWidth() and DMMCStack::MachineInfo() must be
  8649 		implemented.
  8650 
  8651 6.	YingS
  8652 	1.	MINOR CHANGE: Fix DEF047896 Replace non-ascii characters with HEX value
  8653 
  8654 7.	DmitryL
  8655 	1.	DEFECT FIX: DEF067963: PBus DFCQueue gets corrupted when running t_ramstr on removable drive.
  8656 		in DMMCStack::TMMCStackSchedStateEnum DMMCStack::SchedGetOnDFC() DFC is now queued using
  8657 		TDFC::Enque() instead of TDFC::DoEnque().
  8658 
  8659 8.	GavinT
  8660 	1.	DEFECT FIX: DEF068056: T_MMCPW crashes
  8661 		Changed RunPasswordWindowL() to check the return result from its call to
  8662 		RConsole::Init(). In the event of an error, the client thread is panicked and
  8663 		we leave.
  8664 
  8665 
  8666 Version 2.00.1104
  8667 ===========================
  8668 (Made by AnatolyP, 26/09/2005)
  8669 
  8670 1.	RichardCo
  8671 	1.	DEFECT FIX: DEF067832: Kernel faults during Cleanupstack unwinding (MCL)
  8672 		Defer unloading DLibrary objects instead of DCodeSeg, so that two processes
  8673 		mapping the same library can safely unwind simultaneously.
  8674 	2.	DEFECT FIX: DEF068536: buildrom versions of Integrator NAND iby files are incorrect
  8675 		Correct iby files so that techview NAND roms work on Integrator without
  8676 		manually overriding the options.
  8677 
  8678 2.	JenniferH
  8679 	1.	DEFECT FIX: DEF068258: Crash debug and crash logger must dump CodeSeg info
  8680 		The crash debugger has been extended to include the 'p' and 'P' commands, that show codesegs.
  8681 		The crash logger has also been extended to show some of this information.
  8682 
  8683 3.	MaxymG
  8684 	1.	DEF063113 FIX: Nand STL can not be closed and reopened
  8685 
  8686 4.	MichaelP
  8687 	1.	DEFECT FIX: DEF068695: H4: USB PDD .DEF File Unnecessarily Duplicated
  8688 		Removed the two duplicate USB PDD .DEF files for H4 (omap_hrp/h4/bmarm/usbccU.def
  8689 		and omap_hrp/h4/eabi/usbccu.def). Changed the 'deffile' reference in
  8690 		omap_hrp/h4/usbcc.mmp to now point to ..\..\e32\~\usbcc.def.
  8691 
  8692 
  8693 Version 2.00.1103
  8694 ===========================
  8695 (Made by PhilK, 22/09/2005)
  8696 
  8697 1.	PhilK
  8698 	1. 	MILESTONE: Bravo GT0268, MS3.1.2 PREQ1073 USB client
  8699 		This submission cures problems with the H4 HRP USB client driver panicing in
  8700 		various PAN connectivity tests, and adds host device connection detection.
  8701 
  8702 
  8703 Version 2.00.1102
  8704 ===========================
  8705 (Made by RichardCo, 21/09/2005)
  8706 
  8707 1.	TonyL
  8708 	1.	DEFECT FIX: DEF068206: Configure h2 to use 32KHz clock for GpTimer7 by default
  8709 		The rationale for this fix is that the NAND core loader configures this timer
  8710 		to be a 32KHz clock but the bootstrap resets it to use the system input clock
  8711 		(12MHz for H2). Preserving the 32KHz clock ensures that boot time can be
  8712 		profiled in the NAND boot image.
  8713 
  8714 2.	OlegI
  8715 	1.	DEFECT FIX: DEF065516: t_pwstr not working on SymbianOS 9.1 WK26
  8716 		Used function Kern::ThreadRawWrite() instead of direct writing for transferring
  8717 		PasswordStoreLength from Kernel to User side in Locmedia driver
  8718 
  8719 3.	JonCo
  8720 	1.	DEFECT FIX: DEF068257: Exception handler assumes there is a current thread
  8721 
  8722 
  8723 4.	DjordjeK
  8724 	1.	DEFECT FIX: DEF067827: Viewing certain memory locations causes the OS to crash (MCL)
  8725 		The problem was related to the inter-process (IPC) memory transfer in Kernel. As the consequence,
  8726 		Kernel could panic if client (or server) passes a faulty descriptor for IPC transfer.
  8727 		On both mem. models, there was the issue if the memory to copy to/from was not word aligned, as memcpy
  8728 		transfers the whole words wherever it is posible - crossing memory boundaries specified in the exception handler.
  8729 		On moving mem. model, there was also the problem where the run address is specified in the exception handler
  8730 		while it is usually home address that is actually accessed by memcpy.
  8731 		Thread::RawRead/RawWrite now update the memory regions specified in the exception handler before memory access attempt.
  8732 
  8733 5.	RichardCo
  8734 	1.	MILESTONE: Intulo GT0262, MS3.3 PREQ1032 Kernel support for VFPv2
  8735 		Provide full VFPv2 support in the kernel.
  8736 
  8737 
  8738 Version 2.00.1101
  8739 ===========================
  8740 (Made by AndrewHi, 16/09/2005)
  8741 
  8742 1.	AndrewHi
  8743 	1.	DEFECT FIX: DEF068504: 2 components currently own nand_fbr_offset.inc and nand_fbr_offset.c
  8744 
  8745 
  8746 Version 2.00.1100
  8747 ===========================
  8748 (Made by AndreasP, 14/09/2005)
  8749 
  8750 1.	JonCo
  8751 	1.	MILESTONE: Intulo GT262, MS3.1.2 PREQ512 Tune hand-coded assembler routines (kernel)
  8752 		Kernel-side assembler routines have been tuned and updated to take
  8753 		advantage of ARMv6 instructions where possible.
  8754 	2.	DEFECT FIX: INC067401: Missing Find interface in RArray and RPointerArray
  8755 
  8756 2.	RichardCo
  8757 	1.	DEFECT FIX: DEF067966: The loader thread suffers badly from heap fragmentation
  8758 		Change allocation granularity for the loader cache's indexes so heap
  8759 		cells pack more tightly and get realloced less often.
  8760 
  8761 3.	YingS
  8762 	1.	DEFECT FIX: DEF068038 - CR: PPEL-6BGGKR is incomplete
  8763 		Reorganise source structure in \integrator, \soc, and \wins dirs.
  8764 		Group SD-3C LLC only source into sdcard3c dir, and
  8765 		group SD-4C LLC source into sdcard4c dir
  8766 
  8767 4.	SimonT
  8768 	1.	DEFECT FIX: DEF068030: Problems found in unistore2 drivers when bringing up XSR on H4
  8769 		The data register offset was not applied to the base address and the
  8770 		device type on the H4 was not present in the recognition table.
  8771 	2.	MILESTONE: Bravo GT268, MS3.1.3 PREQ1073 H4 HRP Boot from NAND
  8772 		MCF approval reference for creation of new component 'base_omaph4hrp_unistore2': NC-5063.
  8773 		Boot from NAND support has also been added to the H4 bootloader (from v1.5)
  8774 
  8775 5.	MichaelP
  8776 	1.	DEFECT FIX: DEF067977: USB PDD PSL SetupEndpointZeroRead() code and comment differ
  8777 		Modified SetupEndpointRead() and SetupEndpointZeroRead() for both
  8778 		Cotulla and the Template port. We now return KErrGeneral instead of
  8779 		KErrNone if (ep->iRxBuf != NULL).
  8780 
  8781 
  8782 Version 2.00.1037
  8783 ===========================
  8784 (Made by YingS, 05/09/2005)
  8785 
  8786 1.	JenniferH
  8787 	1.	DEFECT FIX: DEF067483: EMI needs a soak test.
  8788 
  8789 2.	DjordjeK
  8790 	1.	DEFECT FIX:  DEF067226: TTime.Parse does not parse microseconds - it ignores them
  8791 		Added code in TStringToDateTime to take microseconds into account.
  8792 		To separate seconds and microseconds, the following separators could be used:
  8793 			- any time separator (that already separates hours, minutes and seconds).
  8794 			- decimal separator (obtained by TLocale::DecimalSeparator())
  8795 
  8796 3.	RichardCo
  8797 	1.	DEFECT FIX: DEF066708: WServ: Digitizerarea initilized the wrong way.
  8798 		The emulator's digitizer was returning wrong coordinates, or ignoring
  8799 		clicks, in certain conditions when the screen was rotated. Fixed
  8800 		coordinate calculations to work for all rotations.
  8801 
  8802 4.	MichaelP
  8803 	1.	BREAK REQUEST  BR1623.1  USB: USB API Future-proofing Changes.
  8804 		Included are also the API changes for upcoming PREQ709 "USB 2.0 High-speed".
  8805 		List of symbols that had members added (both named & iReserved):
  8806 		TUsbDeviceCapsV01, TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
  8807 		TUsbcClassInfo, TUsbcInterfaceInfo, TUsbcInterfaceInfoBuf.
  8808 		This is a BC break, so affected sources need to be recompiled.
  8809 
  8810 5.	JonCo
  8811 	1.	DEFECT FIX: DEF067718: RPointerArray<T> can no longer take type TAny (MCL)
  8812 
  8813 Version 2.00.1036
  8814 ===========================
  8815 (Made by MichaelMo, 31/08/2005)
  8816 
  8817 
  8818 1.	JenniferH
  8819 	1.	DEFECT FIX: DEF066750: Compilation errors for ARM1136
  8820 
  8821 	2.	DEFECT FIX: DEF065150: Kern::CurrentThread, Kern::CurrentProcess assume there are no personality layers
  8822 
  8823 		The documention for the functions wil be updated.
  8824 		The crash debugger will be changed, as suggested, to check for NThreads.
  8825 		The sample profiler, which is called out of thread context, has been changed to ignore NThreads (Instead of crashing).
  8826 
  8827 	3.	DEFECT FIX: DEF066832: Repeated changing of EMIStart/Exit monitors can give inconstant results.
  8828 
  8829 2.	Dennis
  8830 	1.	DEFECT FIX: DEF065842 "Workaround required for ARM1136 Erratum 353494"
  8831 
  8832 		This erratum can cause ICache corruption if a prefetch abort occurs on
  8833 		a location which is cached in the BTAC. The workaround is to (i) flush
  8834 		the BTAC whenever any code is unmapped and (ii) never use RONO permissions
  8835 		on code.
  8836 		Define macro __CPU_ARM1136_ERRATUM_353494_FIXED in variant.mmh if this
  8837 		erratum is not present on the hardware in use.
  8838 
  8839 	2.	DEFECT FIX: DEF067029 "Workaround required for ARM1136 Erratum 351912"
  8840 
  8841 		This erratum can cause incorrect results to be produced by floating point
  8842 		multiplications in the presence of dynamic branch prediction. The
  8843 		workaround is to disable dynamic branch prediction for any thread which
  8844 		uses the VFP. Other threads are unaffected.
  8845 		Define macro __CPU_ARM1136_ERRATUM_351912_FIXED in variant.mmh if this
  8846 		erratum is not present on the hardware in use.
  8847 
  8848 3.	RichardCo
  8849 	1.	MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
  8850 		Provide HAL attribute indicating whether VFP is supported by the current platform, and
  8851 		extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.
  8852 
  8853 4.	JonCo
  8854 	1.	DEFECT FIX: DEF067060: Documentation defects in RBuf8/16 ReAlloc / ReAllocL
  8855 
  8856 
  8857 5.	CarlosF
  8858 	1.	DEFECT FIX: INC067137: WINSCW emulator networking does not work in Windows XP SP2
  8859 		Netcards needs to be compiled with .NET for XPSP2, thus look at compiler specific
  8860 		defines and if .NET assume XPSP2.
  8861 
  8862 6.	MiguelB
  8863 	1.	INTERFACE CHANGE: BR1592 Peripherals: Enable MMC V4 support.
  8864 		Required as prerequisite for Intulo PREQ562. This change does
  8865 		NOT implement MMCV4 support, it only makes the code binary compatible
  8866 		with future OS releases which will support it.
  8867  	2. 	DEFECT FIX: DEF067130: SD Card MBR, One parameter incorrectly implemented
  8868  		The GetChsCylinder function was incorrectly implemented due to an incorrect cast
  8869  		to TUint8 rather than TUint16. TUint16 is now used.
  8870 
  8871 7.	DjordjeK
  8872 	1.	DEFECT FIX:DEF066104: T_IMB will sometimes loop forever
  8873 		Two threads in test code were in potential deadlock.
  8874 
  8875 8.	AndreasP
  8876 	1.	DEFECT FIX: DEF066398: T_SERIAL turnaround test timings too tight.
  8877 		One tick period has been added to the driver's MinTurnaroundTime to allow
  8878 		for the RTimer inaccuracy.
  8879 
  8880 9.	JonathanM
  8881 	1.	MINOR CHANGE: Modified ROM.PL to support multiple -DEFINE options.
  8882 	2.	MINOR CHANGE: Fix for T_KHEAP. This turns off the Loader's lazy DLL unloading
  8883 		which was causing problems for the test.
  8884 
  8885 10.	AndrewR
  8886 	1.	DEFECT FIX: DEF057164: Nefarious clients can create orphaned session objects in a server
  8887 
  8888 		The behaviour of the client/server mechanism is modified to serialise the reception of
  8889 		connect and disconnect messages so that neither an orphaned session object may be created
  8890 		in the server process' address space nor may the server find itself in possession of a
  8891 		handle to an invalid connect message.
  8892 
  8893 		In the case where an unaccepted connect message has been delivered to the server, rather
  8894 		than waiting until the connect has been completed to send the disconnect message (as in
  8895 		the case of an accepted connect message), the connect message is simply removed from the
  8896 		server's queue, completed immediately and a disconnect message sent immediately.
  8897 
  8898 		The last message to be sent on any session remains a disconnect message and a disconnect
  8899 		message is sent in all cases, so that the server never encounters issues with the lifetime
  8900 		of its message handles [assuming it completes non-connect messages with null session cookies
  8901 		immediately].
  8902 
  8903 		Certain operations are now declared to be illegal w.r.t. server connection:
  8904 
  8905 		* A client thread may not send more than one connect message simultaneously, nor may it send
  8906 		  another connect message once a connect message has been successfully completed.
  8907 		* Similarly, a server may not set the cookie twice nor may it set the cookie to be NULL. Also,
  8908 		  a server may only set the cookie from a connect message and from no other.
  8909 
  8910 		Unit test code, in the form of t_svr_connect, has been added to test this behaviour.
  8911 
  8912 
  8913 Patch to version 2.00.1035
  8914 ===========================
  8915 (Made by YingS, 22/08/2005)
  8916 
  8917 1.	YingS
  8918 	1.	DEFECT FIX: DEF067023 - [System Build] CBR Errors (orphan files) in MCL
  8919 
  8920 		  Add binary statements in mrp files
  8921 
  8922 
  8923 Version 2.00.1035
  8924 ===========================
  8925 (Made by MichaelP, 17/08/2005)
  8926 
  8927 1.	JonCo
  8928 	1.	DEFECT FIX: DEF066250: Incorrect online documentation for RProcess:: HasCapability() and others
  8929 	2.	DEFECT FIX: DEF066477: Bad doc tag causes bad doc
  8930 	3.	DEFECT FIX: DEF066727: ROM bitmaps don't work in extension rom's
  8931 	4.	DEFECT FIX: DEF066471: T_COLOUR test causes H2 board to die
  8932 
  8933 2.	Tonyl
  8934 	1.	DEFECT FIX: DEF066239: H2 nandtest_load_noext doesn't work as intended
  8935 		Something went wrong with this quick work-around to stop Integration
  8936 		hacking our OBEY files for their boot from NAND smoketest.
  8937 	2.	MINOR CHANGE: Added description for HAL properties EDisplayMode and
  8938 		ESwitches
  8939 
  8940 3.	RichardCo
  8941 	1.	DEFECT FIX: DEF058485: Crashread reads data starting at the wrong position
  8942 		Make unistore2 crash logger write a whole page of whitespace instead
  8943 		of just one sector, eliminating the y-umlaut characters.
  8944 	2.	DEFECT FIX: DEF060474: Kernel exports RVCT specific functions
  8945 		INTERFACE CHANGE: BR1612.1 Kernel: Remove RVCT specific kernel exports
  8946 		Remove RVCT-specific compiler helper functions from kernel export list,
  8947 		leaving only EABI and CPPABI compliant helpers that will not harm non-RVCT
  8948 		builds. ALL BINARIES THAT LINK AGAINST THE KERNEL MUST BE RECOMPILED.
  8949 	3.	DEFECT FIX: DEF066774: Not possible to load more than 2 crash debugger extensions
  8950 		Support an 'arbitrary' number of crash debugger extensions - 8 by default, change
  8951 		#define MONITOR_MAXCOUNT in e32/include/kernel/monitor.h for more.
  8952 
  8953 4.	AndrewHi
  8954 	1.	DEF058851: NAND SSR is wronlgy classified as internalTechnology
  8955 		Updated classication tags as approrpiate.
  8956 	2.	DEF065648: Inappropriate waiting on ready/busy line in XSR NAND driver
  8957 		Used interrupt and IDfc to indicate when the transition has ocured. Also used an NTimer
  8958 		to ensure that a maximum waiting period is not exceeded.
  8959 
  8960 5.	MichaelP
  8961 	1.	DEFECT FIX: DEF066330: USB LDD debug print causes crash
  8962 		- Removed the offending debug printf.
  8963 
  8964 6.	MiguelB
  8965 	1.	DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
  8966 	2.	DEFECT FIX: DEF065932: SD-Card MBR Does not meet the SD-card specifications
  8967 	3.	DEFECT FIX: DEF065356: Emulator crash: FAULT: PBUS 00000000
  8968 
  8969 7.	Dennis
  8970 	1.	DEFECT FIX: DEF066445: 	RArray/RPointer array need a Reserve() function.
  8971 
  8972 		Added the following functions, which ensure that an array has sufficient
  8973 		space for aCount elements:
  8974 
  8975 		TInt RArray<T>::Reserve(TInt aCount)
  8976 		void RArray<T>::ReserveL(TInt aCount)
  8977 		TInt RPointerArray<T>::Reserve(TInt aCount)
  8978 		void RPointerArray<T>::ReserveL(TInt aCount)
  8979 
  8980 8.	RobertJ
  8981 	1.	MILESTONE: Bravo GT0236, MS3.9 PREQ01192 Performance Plus!
  8982 		Enabled MMU i-cache & d-cache in NAND coreloader
  8983 
  8984 9.	YingS
  8985 	1.	MILESTONE: GT0223 Mike Base Peripherals, MS 3.11 CR: PPEL-6BGGKR NC-5056 BR 1574.1,
  8986 		Ease delivery of SD Card 3C / 4C code by seperation into different CBR components and DevKit supplementaries
  8987 
  8988 10.	TonyL
  8989 	1.	MILESTONE: Bravo GT268, MS3.1.1 PREQ1073 H4 Base Port (H2 to H4 migration)
  8990 		This adds the H4 HRP Base Port to the Base. The H4 Base Port is located
  8991 		under the omap_hrp\h4 directory. See also the base\documentation
  8992 		directory for the H4 HRP User Guide and other H4 documents.
  8993 
  8994 		There are future deliveries for full/low speed USB client verification,
  8995 		boot from small block NAND, TV-OUT, SD/SDIO, OneNAND, Sibley,
  8996 		High Speed UART, USB High Speed, VFP, Camera and Power Management
  8997 		delivered by various projects.
  8998 
  8999 		MCF approval reference for creation of new component 'base_omaph4hrp': NC-5059.
  9000 
  9001 
  9002 Version 2.00.1034
  9003 ===========================
  9004 (Made by MaximK 05/08/2005)
  9005 
  9006 1.	MichaelP
  9007 	1.	DEFECT FIX: DEF059067: USB prints error messages whist running t_usb Receive-only test
  9008 		Made sure all data members of USB LDD are properly initialized.
  9009 		Also added missing user-side function GetEndpointZeroMaxPacketSize().
  9010 	2.	MINOR CHANGE: Brought USB API document after some additions to v2.0.2.
  9011 	3.	MINOR CHANGE: Restructured code of USB test program T_USB (file t_usbco2.cpp).
  9012 	4.	MINOR CHANGE: Unified KPANIC printf output format for USB PDD.
  9013 
  9014 2.	OlegI
  9015 	1.	DEFECT FIX: DEF065369: Emulator extension list not sufficiently configurable
  9016 		Properties initialisation was reverted having one default list of extensions, including winsgui,
  9017 		initialised before command line/epoc.ini processing, as before.
  9018 		Winsgui extension is checking NoGui property during its creation and if NoGui==true it do nothing.
  9019 
  9020 3.	CarlosF
  9021 	1.	MINOR CHANGE: as a result of fixing DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR
  9022 		FAT drives automatic f32tests are now enabled on drive i on Lubbock.
  9023 	2.	DEF059489: EKA2 version of netcards is missing auto interface selection
  9024 
  9025 4.	JonCo
  9026 	1.	DEFECT FIX: INC062499: const missing for method FindInOrder in RArray and RPointerArray
  9027 	2.	DEFECT FIX: DEF066066: short jump out of range warning reported by Nokia x86 Compiler in uc_realx.cpp
  9028 
  9029 5.	JonathanM
  9030 	1.	DEFECT FIX: DEF065694: Baseports use DThread::iNthread which is internal to the kernel
  9031 	2.	DEFECT FIX: DEF065841: Inconsistent EActive & EInactive events when 2 screens (emulator) (MCL)
  9032 	3.	DEFECT FIX: DEF066075: Documented incorrect capability for EDisplayHalBacklightOn in u32hal.h
  9033 		Deleted the @capability tag in the in-source docs for EDisplayHalBacklightOn.
  9034 		Getting the backlight state doesn't require any capabilities.
  9035 
  9036 6.	TonyL
  9037 	1.	MINOR CHANGE: (H4 preamble) Add support to bootloader bootstrap code
  9038 		to use CFG_CopyRomToAddress as the RAM address to copy boot loader.
  9039 	2.	MINOR CHANGE: (H4 preamble) pick up H4 base port IBY file if required
  9040 		from base.iby
  9041 	3.	MINOR CHANGE: Fix minor warning in rofs test
  9042 	4.	MINOR CHANGE: (H4 preamble) add H4 hal uid
  9043 	(Note none of these changes require H4 base port support in the tree)
  9044 
  9045 7.	AndrewR
  9046 	1.	DEFECT FIX: __BREAKPOINT() does not work correctly with __LEAVE_EQUALS_THROW__
  9047 		The Win32 nkern structured exception handler was changed to handle breakpoint exceptions
  9048 		by directly calling the Win32 handler which launches the JIT debugger. Breakpoint exceptions
  9049 		were previously explicitly left unhandled and allowed to propagate out of the emulator to the
  9050 		JIT debugger handler. However, with the advent of __LEAVE_EQUALS_THROW__ TRAP() frames using
  9051 		catch(...) install Win32 SE handlers which prevent the breakpoint exception propagating out
  9052 		of the emaultor and launching the JIT debugger, resulting in a call to User::Invariant() instead.
  9053 
  9054 		Hardcoded breakpoints using __BREAKPOINT() now work correctly and in particular launching a JIT
  9055 		debugger when a thread panic or kernel fault occurs in a udeb emulator not running under a
  9056 		debugger will work once again.
  9057 
  9058 8.	Dennis
  9059 	1.	Added assertions to the emulator to ensure that the kernel is never
  9060 		entered or exited with the current thread in a critical section, with
  9061 		preemption disabled or with a fast mutex held.
  9062 
  9063 Version 2.00.1033
  9064 ===========================
  9065 (Made by TonyL, 26/07/2005)
  9066 
  9067 1.	TonyL
  9068 	1.	DEFECT FIX: DEF065673: [System Build] NAND ROM Loader Broken
  9069 
  9070 Version 2.00.1032
  9071 ===========================
  9072 (Made by JohnS, 21/07/2005)
  9073 
  9074 1.	RichardCo
  9075 	1.	DEFECT FIX: DEF064869: The CEnvironmentChangeNotifier doesn't invoke callback function.
  9076 		If changing the timezone offset to the value it is already set to,
  9077 		don't cancel timers.
  9078 	2.	DEFECT FIX: DEF061603: Problem with more than 16MB of I/O mappings on multiple memory model
  9079 		INTERFACE CHANGE: BR1552.1 Kernel: Memory map changes for the multiple memory model
  9080 		Move IO mappings from 0xC3000000 to 0xC6000000, and pagetables from 0xC4000000 to 0xC2000000
  9081 		on the multiple memory model. Base ports need to change any references to these addresses
  9082 		accordingly.
  9083 
  9084 2.	MichaelP
  9085 	1.	DEFECT FIX: INC064822: USB connection is not visible in PC suite's File manager-view
  9086 		Changed the way physical USB endpoints are configured during UDC startup in
  9087 		\omap\shared\usb\omapusbc_gen_cont.cpp (OMAP USB PSL on H2).
  9088 
  9089 3.	MichaelMo
  9090 	1.	DEFECT FIX: DEF061266: Can not build nand LLD without undeliverable source
  9091 		Samsung unistore2 header files have been moved from the base_drivers_unistore2_undeliverable component
  9092 		to the base_drivers_unistore2 component with their agreement.
  9093 
  9094 4.	TonyL
  9095 	1.	MINOR CHANGE: Add a variant specific mechanism to H2 base port to
  9096 		recall the value of a hardware timer. This can be used to calculate
  9097 		boot time for NAND based images if the required logic is added to
  9098 		the H2 NAND coreloader (note this logic hasn't been added)
  9099 
  9100 5.	JonCo
  9101 	1.	DEF064966: Base PlatSec APIs are @publishedParter
  9102 	2.	DEF064985: various changes needed in base doxygen comments
  9103 	3.	DEF064965: No way of checking a TSecurityPolicy against process's creator
  9104 	4.	DEF065086: _FOFF macro causes warning in GCC-E
  9105 	5.	DEF065182: Process JustInTime() state not tied to Emulator EPOC.INI setting
  9106 
  9107 6.	Carlosf
  9108 	1.	CHANGE REQUEST CFRS-6DLMNF Automate the booting of test images from NAND flash and testing
  9109 		both the NAND User area drive and ROFS/ROFS extension drives.
  9110 		Automatic testing now involves programming a Core image and a ROFS and ROFS extension images
  9111 		to NAND flash, rebooting into the Core image and then running all the tests including the full
  9112 		F32 test suite on the NAND User data drive and the ROFS tests.
  9113 		NOTE: rom.pl has been modified to allow buildinfg ROFS and ROFS extension images. All that
  9114 		is required is to have the appropriate markers for the start of these images (same as required by
  9115 		rofsbuild) in the .OBY file (rom type)
  9116 	2.	DEFECT FIX: DEF063793: Coreloader and Miniboot make files are using an old RVCT syntax
  9117 
  9118 7.	MiguelB
  9119 	1.	DEFECT FIX: DEF056953 - Mistakes in API Classification
  9120 		Added file-wide @internalTechnology tag to e32\drivers\unistore2\src\md\nanddefs2.h
  9121 	2.	DEFECT FIX: DEF063435 - DSDIORegisterInterface::EngageSdio() should use NFastSemaphore::SetOwner()
  9122 		Changed DSDIORegisterInterface::EngageSdio() to use correct API.
  9123 
  9124 8.	StefanW
  9125 	1)	DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
  9126 		Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
  9127 		call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
  9128 		if a the forced remount was successful.
  9129 
  9130 	2)	DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
  9131 		 - Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
  9132 		 - Modified MMC media driver to allow a locked partition to be mounted.
  9133 		 - Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
  9134 		 - Fixed problem in emulator which prevented the emulated MMC card from being removed.
  9135 		   (F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)
  9136 
  9137 	3)	CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
  9138 		As part of this CR, the following new RMessagePtr2 API has been introduced:
  9139 
  9140 			const TRequestStatus* RMessagePtr2::ClientStatus() const;
  9141 
  9142 		This API is intended for use by providers of asynchronous services where the TRequestStatus* is
  9143 		used as a unique identifier for the cancellation outstanding requests and there are not enough IPC
  9144 		arguments remaining to allow this value to be passed without resorting to extra packaging of the
  9145 		request	parameters.  Note that this pointer must never be accessed directly or completed.
  9146 
  9147 9.	DjordjeK
  9148 	1.	DEF064766: t_mstim fails occasionally
  9149 		d_mstim & d_tick drivers on H2 are using OSTimer3 to measure the duration of the timing services.
  9150 		The timer was configured to period of 21.33us. OSTimer1 (used for Kernel Tick) is of 2.66us period.
  9151 		That extra rounding in the drivers'calculations caused some tests to fail occasionally.
  9152 		The period of OSTimer3 is now fixed to be the same as for OSTimer1 (2.66us).
  9153 
  9154 10.	JenniferH
  9155 	1.	DEF064810  hirestimer on H2 has incorrect clock frequency
  9156 		The hirestimer was using 32khz timer, that was inaccurate.
  9157 		It has been changed to use GPTimer3 at 3Mhz.
  9158 
  9159 Version 2.00.1031
  9160 ===========================
  9161 (Made by JonathanM, 13/07/2005)
  9162 
  9163 1.	JonathanM
  9164 	1.	DEFECT FIX: DEF060439 - Security checks on RProperty::Define missing
  9165 		INTERFACE CHANGE: BR1573.1 Enforcing security checking in Publish and Subscribe.
  9166 		This change means that processes can only define properties if the category is either:
  9167 		a) The same as the process's Secure ID
  9168 		b) KUidSystemCategory (requires WriteDeviceData capability)
  9169 		c) Numericly less than KUidSecurityThresholdCategoryValue (requires WriteDeviceData capability)
  9170 
  9171 Version 2.00.1030
  9172 ===========================
  9173 (Made by OlegI, 11/07/2005)
  9174 
  9175 1.	RichardCo
  9176 	1.	DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
  9177 		Fix emulator's path parsing to be able to deal with the case where no
  9178 		path is given, only the drive letter and filename. It will now load
  9179 		the executable from \sys\bin on that drive.
  9180 
  9181 2.	JonCo
  9182 	1.	MILESTONE: Intulo, GT0262, MS3.1.1: Allow the user library to be built as part of the variant
  9183 		euser can now be built from the variant to take advantage of
  9184 		processor-specific optimisation options.  This has been applied to the
  9185 		integrator cm1136 baseport.  The rombuild flag GENERIC_EUSER can be used
  9186 		to override the default behaviour and include the generic version.
  9187 	2.	DEFECT FIX: DEF064894: Crashdebugger should provide command help
  9188 
  9189 3.	RobertJ
  9190 	1.	MINOR CHANGE: Correction to defect fix DEF064045: #include guards in locmedia.h are wrong
  9191 		Guards should have been LOCMEDIA_H
  9192 
  9193 
  9194 Version 2.00.1029
  9195 ===========================
  9196 (Made by DjordjeK, 05/07/2005)
  9197 
  9198 1.	RobertJ
  9199 	1.	DEFECT FIX: DEF064045: #include guards in locmedia.h are wrong
  9200 		Modified lock guards to be __LOCMEDIA_H__ instead of __K32LOCD_H__
  9201 
  9202 2.	DjordjeK
  9203 	1.	DEF064571: Intermittent T_IMB failures on H4
  9204 		Interapts are now disabled during ICache flush on ARM1136.
  9205 		See ARM1136 r0p2 Errata (Date of Issue: 07-Apr-2005):
  9206 		 - 325157: Associative ICache maintenance operations can deadlock
  9207 		 - 328429: An instruction cache invalidate by MVA or Prefetch by MVA operation, if interrupted,
  9208 			   can result in microTLB corruption
  9209 		The fix is made configurable. It won't be included if macro __OMIT_1136_R0_ERRATA is specified in variant.mmh
  9210 	2.	MINOR CHANGE: t_debugapi test is fixed.
  9211 
  9212 3.	JonCo
  9213 	1.	DEF062525: Kern::NanoWait() should be delegated to the base port
  9214 		Added generic kernel hook functionality.  Using this a hardware-specific
  9215 		implmentation of Kern::NanoWait can be supplied by the variant
  9216 
  9217 4.	CarlosF
  9218 	1.	DEF064164: T_MEDCH/D_MEDCH buildrom & test errors
  9219 		D_MEDCH is now built from platform directory (and only if the platfrom supports MMC).
  9220 		T_MEDCH now checks if the platform supports MMC
  9221 
  9222 Version 2.00.1028
  9223 ===========================
  9224 (Made by RobertJ, 27/06/2005)
  9225 
  9226 1.	DjordjeK
  9227 	1.	DEF063190: User-side After() timers complete early
  9228 		When calling User::After(aTime), the time used to be (1) rounded up, and then (2) rounded down.
  9229 		As a consequence, User::After(X ms) used to be completed somewhere between (X - 16) and (X+17) miliseconds.
  9230 		It is now rounded up only once. The request now completes between X and X+17 miliseconds.
  9231 		(17 ms is the period of Symbian OS Timer.)
  9232 		The submission also includes the test code that checks these boundaries. It also checks the duration of User::AfterHighRes().
  9233 		t_cper test had to be fixed as it started to fail on integrator 1136 (armv5/udeb build).
  9234 		The test was using K*PERIOD-1 formula for timeout to ensure a request to be completed after K ticks of the OS Tick
  9235 		(PERIOD=15625microseconds).However, the delay of 1 nanokernel tick (1000 microseconds) caused the period to last K+1 ticks.
  9236 		The formula is replaced with: (K-1)*PERIOD + 1
  9237 
  9238 2.	JenniferH
  9239 	1.	DEFECT FIX: DEF063541 EMI Support Upsets OBEX Win32 USB Transport.
  9240 		Have removed bad lines from win32/nsched.cpp
  9241 	2.	DEFECT FIX: DEF063729 EMI does not call StartMonitor for Idle thread.
  9242 		Null thread EMI flags now set on EMI init.
  9243 
  9244 3.	MiguelB
  9245 	1.	DEFECT FIX: INC063035 - DWinsMMCMediaChange:TickService() panic when pressing F5 during emulator startup
  9246 		Stopped a tick counter from hoing negative leading to an ASSERT
  9247 	2.	DEFECT FIX: INC063213 - Clean build fails with fatal errors in release 91_200524
  9248 		Fixed MiniBoot & CoreLdr makefile for GCC
  9249 
  9250 
  9251 4.	Dennis
  9252 	1.	DEFECT FIX: DEF063866 - Process lock can be signalled twice in DSharedIoBuffer::UserUnmap()
  9253 	2.	DEFECT FIX: DEF063778 - Important memory allocation functions not doc'd
  9254 
  9255 5.	StefanW
  9256 	1.	DEFECT FIX: INC063402: DPBusSocket return KErrCorrupt when MMC isn't inserted
  9257 		The SDIO and SD stacks don't handle timeout error correctly when attempting to access an empty slot.
  9258 		State machines modified to trap KMMCErrResponseTimeout conditions after sending CMD2.
  9259 
  9260 6.	RichardCo
  9261 	1.	DEFECT FIX: DEF063876: RTest output produces mixed up line endings that confuse editors and terminals
  9262 		RTest::Printf now carefully rewrites line endings so that they are consistently CR/NL (DOS/Win style)
  9263 
  9264 7.	JonCo
  9265 	1.	DEFECT FIX: DEF063854: In-source docs don't say whether 0 or 7 is highest DFC priority
  9266 
  9267 
  9268 
  9269 Version 2.00.1027
  9270 ============================
  9271 (Made by AndrewHi, 23/06/2005)
  9272 
  9273 1. 	ChrisC
  9274 	1.	DEFECT FIX: DEF062975 - TChar::Compose function completely broken.
  9275 		Fix entirely within base\e32\euser
  9276 		No APIchanges, BC or SC breaks.
  9277 		Defect fix required as prerequisite for Bravo PREQ402
  9278 
  9279 2.	JonCo
  9280 	1.	DEFECT FIX: DEF063149: RTimer::HighRes can panic with certain positive value time intervals
  9281 	2.	DEFECT FIX: INC062916: Normal priority thread cannot acquire the mutex
  9282 		Updated documentation to reflect EKA2 mutex behaviour
  9283 	3.	DEFECT FIX: DEF063574: Bug in Kern::ChunkClose()
  9284 
  9285 3.	JenniferH
  9286 	1.	DEFECT FIX: DEF062083: DMutex::Wait() should assert that the current thread is a DThread
  9287 	2.	DEFECT FIX: DEF062188: TTickLink methods should assert that they aren't used from ISRs
  9288 
  9289 4.	AnatolyP
  9290 	1.	DEFECT FIX: DEF062029: RProperty::Delete() overload required
  9291 		In this modification a new version of RProperty::Delete function was added which doesn't require a category ID to be passed.
  9292 		This overload calls the appropriate server-side API passing -1 as a category ID, and server-side function uses the SecureId of the current process when it is passed with -1.
  9293 		Also the set of tests was added to CPropDelete class for testing of new functionality of RProperty class.
  9294 
  9295 5.	StefanW
  9296 	1.	DEFECT FIX: INC063037: Symbian FAT32 implementation for Nokia equipment not compatible with other FAT32
  9297 		The MMC Media Driver does not recognise media with an MBR that specifies a partition type of FAT32
  9298 		(Win95 FAT32[0B], Win95 FAT32 (LBA)[0C], Hidden Win95 FAT32[1B], Hidden Win95 FAT32 (LBA)[1C]).
  9299 		Corrected by modifying DMmcMediaDriverFlash::DecodePartitionInfo() to recognise these partition types.
  9300 
  9301 
  9302 6.	Dennis
  9303 	1.	DEFECT FIX: DEF063317	Object container classes might grow following removal of an element
  9304 		CObjectCon and DObjectCon are now restricted to array sizes 8, 12, 16, 24, ..., 2^n, 3*2^(n-1),...
  9305 		The array grows when it is full (as before), but now shrinks on removal of an element if it is
  9306 		half-full or if it is 64 entries smaller than the next size down, whichever comes first.
  9307 	2.	MINOR CHANGE: Optimise FindLeastSignificantOne() function. Add test code.
  9308 		Define __CPU_ARMV5T__ and consequent options when compiling for ARMV5.
  9309 
  9310 7.	JeremyS
  9311 	1.	DEFECT FIX: DEF060805: T_SERIAL turnaround test does not correctly set handshaking defaults.
  9312 		Set the handshaking defaults properly before running any tests on the serial ports.
  9313 
  9314 8.	TonyL
  9315 	1.	DEFECT FIX: DEF063280: OMAP H2 baseport will not build without the e32utils source code present
  9316 		Remove export of rebootdrv_ldd.h from the h2 bld.inf, this is not necessary
  9317 
  9318 9. 	RobertJ
  9319 	1.	DEFECT FIX: DEF063582: Lazy DLL unloading breaks T_SHAREDCHUNK
  9320 		Disabled lazy dll unloading at the start of the test
  9321 
  9322 10.	MiguelB
  9323 	1)	DEFECT FIX: DEF063830 - Cannot format particular SD card which does not support "erase single block"
  9324 		Formatting "old" cards or formatting on non block boundaries was broken. The effect of this was that
  9325 		not all the data was erased - normally relatively harmless.
  9326 
  9327 
  9328 Version 2.00.1026
  9329 ============================
  9330 (Made by JenniferH, 14/06/2005)
  9331 
  9332 1.	MichaelP
  9333 	1.	DEFECT FIX: DEF061556: T_Usbapi does not check for dbl buffering support prior to testing
  9334 		When de-allocating the endpoint resources, we now take into account whether the
  9335 		allocation had been successful or not.
  9336 
  9337 2.	HusienH
  9338 	1.	DEFECT FIX: DEF062579: Prop:AV28Crit: NTT - TInt TDesC16.FindC -method is giving strange output values
  9339 
  9340 3.	JonCo
  9341 	1.	DEFECT FIX: DEF057853: Delay in KeyClickPlugin can cause PANIC 85
  9342 		Emulator now waits for system starter to exit before running initial
  9343 		process
  9344 	2.	DEFECT FIX: DEF062725: TCapability is missing Capability_Denied
  9345 		Added ECapability_Denied, which is always reported missing
  9346 
  9347 4.	DjordjeK
  9348 	1.	DEFECT FIX: DEF062286: TTime::HomeTime() called from CTimer::RunL() implementation gives strange....
  9349 		Originally when changing the time (Kern::SetSystemTime), the timers were aborted (and user requests completed)
  9350 		before the time is updated. It led to the race condition where another thread of a higher priority can
  9351 		read the old time (after its timer is aborted). The timers are now aborted after the time is updated.
  9352 
  9353 5.	YingS
  9354 	1.	DEFECT FIX: DEF062963: Cannot cancel keyboard rotation
  9355 		Added check for EModifierCancelRotation in CKeyTranslatorX::UpdateModifiers()
  9356 
  9357 6.	RichardCo
  9358 	1.	DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
  9359 		Add new overloads to RSessionBase::Open and RSessionBase::SetReturnedHandle to allow a security
  9360 		policy to be validated against the server.
  9361 
  9362 
  9363 
  9364 Version 2.00.1025
  9365 ============================
  9366 (Made by CarlosF, 06/06/2005)
  9367 
  9368 1.	AndrewR
  9369 	1.	DEFECT FIX: DEF056361: Emulator initial configuration not reported and no query possible
  9370 
  9371 2.	JonCo
  9372 	1.	DEFECT FIX: DEF062142: User::ProcessCritical() does not correctly report EAllThreadsCritical
  9373 	2.	DEFECT FIX: DEF062081: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
  9374 
  9375 3.	AnatolyP
  9376 	1.	DEFECT FIX: DEF060557: Multiple emulator configs not updated when win serv screen mode is changed.
  9377 		A new property was added to the emulator that lets the user switch configuration by
  9378 		pressing a combination of hot keys, so configuration switchin is now moved from the
  9379 		windows swerver to emulator.
  9380 		Syntax of the definition instruction of a key combination is similar to the syntax
  9381 		of the defenition instruction for EmulatorControl.
  9382 		To define a new key combination add a string to appropriate configuration file according
  9383 		to the following template:
  9384 			EmulatorControlHotKey [command] [key_sequence]
  9385 		where
  9386 			-command is one of "NextConfig" or "SelectConfig [config_number]" (config_number - number of configuration to switch to)
  9387 			-key_sequence is a comma-separated list of keys as defined in
  9388 		e32\ekern\emul\win32\kp_gui.cpp.
  9389 		For example, to assign switching to configuration number 3 to +<1> combination, add the following string to epoc.ini file:
  9390 		EmulatorControlHotKey SelectConfig 3 Escape,1
  9391 
  9392 4.	JenniferH
  9393 		MILESTONE: Bravo,GT0236 MS 3.5 APOS-6ADKQ5 Add PREQ 898 "Support for 3rd party speed managers" to the scope of Bravo
  9394 		Break Request BR1547: "EMI fields added to DThread"
  9395 
  9396 		Implements the Execution Monitoring Interface (EMI) as described in SGL.TS0022.002.
  9397 
  9398 5.	JonathanM
  9399 	1.	DEFECT FIX: DEF062701: Can't suppress PlatSec diagnostic message in kernel code.
  9400 		Passing KSuppressPlatSecDiagnostic as the Diagnostic Text to
  9401 		Kern::CurrentThreadHasCapability will now prevent a PlatSec diagnostic message from
  9402 		being output.
  9403 
  9404 6.  MaximK
  9405 	1.	DEFECT FIX: DEF061279 - Domain Manager has a memory of the last state transition.
  9406 		CSvrDomain::RequestMembersTransition() modified to notify even if the domain is in the requested state.
  9407 		Also test case is modified to reflect the change.
  9408 	2.	DEFECT FIX: DEF061225 - Domain Manager does not report failure when policy is ETransitionFailureContinue.
  9409 		CSvrDomain::CompleteDomainTransition() modified to call iHierarchy.CompleteTransition() with correct error code.
  9410 		Also a number of test cases changed to check for expected error codes.
  9411 
  9412 7. BalaT
  9413 	1.	DEFECT FIX:  DEF061853: Bootstrap debugging has been broken with RVCT2.2
  9414 
  9415 Version 2.00.1024
  9416 ============================
  9417 (Made by MichaelMo, 01/06/2005)
  9418 
  9419 1.	JonCo
  9420 	1.	DEFECT FIX: DEF061320: Test T_SEMUTX2 fails intermittently
  9421 	2.	DEFECT FIX: DEF062036: Wrong SID printed in platsec diagnositic from RProperty::Define
  9422 	3.	DEFECT FIX: DEF062141: Spelling typo in in-source docs for User::SetProcessCritical()
  9423 	4.	DEFECT FIX: DEF062070: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
  9424 
  9425 2.	JohnS
  9426 	1.	DEFECT FIX: INC056218: Emulated MMC drive size isn't configurable
  9427 
  9428 	The size of the emulated MMC drive can now be configured by placing an entry MultiMediaCardSize=<kilobytes>
  9429 	in the epoc.ini file. So an entry MultiMediaCardSize=100 results in an emulated drive size of 100 Kb. When an
  9430 	epoc.ini entry is not present the emulated drive size defaults to the previously hard coded size of 1 Mb.
  9431 
  9432 
  9433 Version 2.00.1023
  9434 ============================
  9435 (Made by AndrewR, 31/05/2005)
  9436 
  9437 1.	AndrewR
  9438 	1.	DEFECT FIX: DEF062296: [System Build] Errors in INTEGRATOR_LMNAND_EKA2
  9439 
  9440 
  9441 Version 2.00.1022
  9442 ============================
  9443 (Made by RichardCo, 26/05/2005)
  9444 
  9445 1.	JonCo
  9446 	1.	DEFECT FIX: DEF061551: TLitC documentation error
  9447 
  9448 2.	JeremyS
  9449 	1.	DEFECT FIX: DEF059903: f32 t_main test error is dumb, misleading and wastes peoples time
  9450 
  9451 	Changed the test() macro in e32test.h so that it will display the source file which contains the failing
  9452 	test statement.
  9453 
  9454 	2.	DEFECT FIX: DEF056353: Crashlogger isn't sufficiently configurable
  9455 
  9456 	Updated the standard media driver, and the derived media drivers used by the crash flash logger and
  9457 	the nandloader application, to used a platform-specific offset that is specified as a whole number of
  9458 	sectors. The rebootdrv utility deployed by nandloader, and the miniboot and coreldr utlilities used in
  9459  	booting from NAND were similarly affected. The offset is specified as const TInt KNandFbrSectorOffset,
  9460  	in new file nand_fbr_offset.h. To allow for the different nandboot schemes operated across our varied
  9461 	reference boards, two further constants are defined in the platform-specific file nand_plat.h; these
  9462 	are const TBool KNandMinibootUsed and const TBool KNandCoreldrRelocatable.
  9463 
  9464 3.	DavidM
  9465 	1.	MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
  9466 
  9467 4.	YingS
  9468 	1.	MINOR_CHANGE: Fix DEF047896 - Replace non-Ascii characters with hex equivalents
  9469 			Using preprocessor statement:
  9470 			#ifdef __VC32__
  9471 			  #pragma setlocale("english")
  9472 			#endif
  9473 
  9474 5.	Dennis
  9475 	1.	MINOR_CHANGE: Ensure that there is a zero word at (entry point address + 12)
  9476 		in every code module. This will subsequently be used to fix a problem with
  9477 		TLS. If a dynamically loaded DLL sets TLS but never clears it before being
  9478 		unloaded then another DLL subsequently loaded at the same address will pick
  9479 		up the old TLS (since the module handle is the address of the entrypoint,
  9480 		which will be the same). This has been known to cause crashes.
  9481 		The loader will write a unique identifier over the zero word whenever it
  9482 		loads a new code segment into RAM and this will be used to disambiguate
  9483 		TLS references.
  9484 	2.	Changed RUNTESTS and T_LAT2 to make RT latency measurements as part of
  9485 		an automated test run.
  9486 		RUNTESTS publishes the name of the currently running test to a P+S
  9487 		property. T_LAT2 subscribes to this and outputs latency measurements
  9488 		after each test.
  9489 	3.	Add new 'kernel behaviour flag' KTESTLATENCY which disables anything which
  9490 		might break latency testing, e.g. platsec diagnostics.
  9491 		T_LAT2 now sets this flag.
  9492 	4.	Fix D_LATNCY.LDD so it works on H2.
  9493 
  9494 
  9495 6.	RichardCo
  9496 	1.	DEFECT FIX: DEF061650: CodeWarrior running of epoc.exe broken
  9497 		Emulator shouldn't require EPOCROOT to be set unless it's being used in an expansion in epoc.ini.
  9498 
  9499 7.	JonathanM
  9500 	1.	MINOR_CHANGE: Modified T_COBJ performance tests for faster testing.
  9501 		Note, this means comparison of timings with older versions of the test are not valid.
  9502 	2.	MINOR_CHANGE: Made T_TICK a manual test because it doesn't actually 'test' anything.
  9503 		I.e. it can't fail during automated testing.
  9504 	3.	MINOR_CHANGE: Made benchmarks tests 'manual' tests on the emulator in order to speed up automated testing.
  9505 		(The benchmarks are fairly pointless on the emulator anyway.)
  9506 	4.	MINOR_CHANGE: Deleted test casse from T_TIMER. (The testThreadTermination function didn't provide
  9507 		any useful testing but could cause test 'failures'.)
  9508 	5.	MINOR_CHANGE: Modify BM_SUITE so that it doesn't run the RT latency tests if the driver
  9509 		reports KErrInUse. This can happen when latency testing is already being run by T_LAT2
  9510 
  9511 
  9512 8.	AndrewR
  9513 	1.	DEFECT FIX: DEF055098 - vector allocation operator overloads not declared in e32cmn.h
  9514 
  9515 		Added declarations of operator new[] and operator delete[] to e32cmn.h to match the
  9516 		definitions elsewhere (i.e. \e32\common\gcchelp.cpp, \e32\compsupp\symcpp\rtop[new|del].cpp,
  9517 		\e32\include\win32crt.h). This fixes an obscure code generation bug on MSVC.net and has no
  9518 		effect on other platforms.
  9519 
  9520 		MINOR CHANGE: Fixed spelling typo in PlatSec diagnostic messages
  9521 
  9522 9.	MichaelP
  9523 	1.	MINOR CHANGE: Added USB test program USBIOAPP + updated "USB PSL How-to".
  9524 
  9525 10.	OlegI
  9526 	1.	DEFECT FIX: DEF056356: Abstract descriptors can be instantiated and cause runtime failures
  9527 		Added protected copy constructor for TDesC16, TDes16, TDesC8, TDes8 but with condition
  9528 		#ifdef SYMBIAN_FIX_TDESC_CONSTRUCTORS because of build issues.
  9529 
  9530 11.	RobertJ
  9531 	1.	DEFECT FIX: DEF061644: Kernel codeseg garbage list never gets cleaned up
  9532 		DCodeSeg objects in the garbage list were left lying around, allowing them to be reopened
  9533 		causing failure when the codeseg was referenced
  9534 
  9535 12.	AnatolyP
  9536 	1.	DEFECT FIX: DEF061530: EWSRV doesn't respond correctly to SysStart invocation
  9537 
  9538 
  9539 Version 2.00.1021
  9540 ============================
  9541 (Made by StefanW, 17/05/2005)
  9542 
  9543 1.	AndrewR
  9544 	1.	DEFECT FIX: DEF061148: Redundant implementation TLS cleanup mechanism should be removed
  9545 
  9546 2.	RichardCo
  9547 	1.	DEFECT FIX: DEF061026: e32test t_condvar timeout (10ms) setting too low
  9548 
  9549 3.	TonyL
  9550 	1.	MINOR_CHANGE: Added H2 user guide + doc set for setting up H2 telephony
  9551 
  9552 4.	JonathanM
  9553 	1.	DEFECT FIX: DEF061370: Defect with CR ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
  9554 
  9555 5.	JonCo
  9556 	1.	DEFECT FIX: DEF061383: Incorrect IM categorisation of internal euser/kernel SWI interface
  9557 
  9558 6.	MichaelP
  9559 	1.	MINOR CHANGE: Removed obsolete test T_USB2 (once more, after it had been re-added in CL517656).
  9560 
  9561 7.	AndrewHi
  9562 	1.	DEFECT FIX: DEF061263: Comment out debug prints from crashlogger generic library
  9563 	Changed KALWAYS qualifier in debug prints to KDEBUGGER and updated the MMP file to disable debug prints, as requested
  9564 
  9565 
  9566 Version 2.00.1020
  9567 ============================
  9568 (Made by WilliamR, 13/5/2005)
  9569 
  9570 1.	WilliamR
  9571 	1.	BREAK REQUEST BR1503.8
  9572 
  9573 		Kernel: Base Future Proofing Changes.
  9574 
  9575 		Added reserved member data to CActive, CObject, CObjectIx, CObjectCon, CObjectConIx,
  9576 		CSession2, CServer2, CActiveScheduler, RPointerArrayBase and RArrayBase.
  9577 
  9578 		Addition of reserved member data to these classes incurs a Source Compatability break
  9579 		for classes which use mutiple inheritance and have the metioned classes in the inheritance
  9580 		tree. In this case the mangled names in DEF files will change. This will require widespread
  9581 		updates to DEF files throughout Symbian and Partners' code (to fix "EABI Thunk Offsets").
  9582 
  9583 		See Symbian OS FAQ 1284 for more details of the "EABI Thunk Offset Problem".
  9584 
  9585 
  9586 Version 2.00.1019
  9587 ============================
  9588 (Made by Kamran, 12/05/2005)
  9589 
  9590 1.	JonCo
  9591 	1.	DEFECT FIX: DEF060475: Base future proofing changes has broken device provisioning test code
  9592 	2.	DEFECT FIX: DEF061118: @return comment for User::NTickCount is wrong
  9593 
  9594 2.	JonathanM
  9595 	1.	DEFECT FIX: DEF060445: Locale related data should be protected with WriteDeviceData capability
  9596 	2.	INTERFACE CHANGE: BR1496.1 Kernel: Protect writing of system locale with writedevicedata.
  9597 	3.	DEFECT FIX: DEF060490: RProperty::Get/Set performance improvement
  9598 	4.	DEFECT FIX: DEF060700: Unicode Folding and Colation performance regression
  9599 	5.	DEFECT FIX: DEF060774: Legacy PlatSec configurability should be removed from Base
  9600 
  9601 3.	JoR
  9602 	1. 	CHANGE REQUEST: TDAS-6AHMJF Implement a "Crash trigger" key on H2 board
  9603 		(Development CR)
  9604 
  9605 4.	JeremyS
  9606 	1.	MINOR_CHANGE: Fix t_serial intermittent break test failures at some baud rates.
  9607 	2.	DEFECT FIX: DEF059270: Kern::ThreadDesWrite() Call needs to be checked in ECommLdd
  9608 	3.	DEFECT FIX: INC060337: NTT - In file d_commdma.cpp return type of functions is not checked
  9609 
  9610 5.	DjordjeK
  9611 	1.	DEFECT FIX: INC053831: NTT RDebug::Print outputs incorrectly in EKA2
  9612 
  9613 6.	JoR
  9614 	1. 	Change Request: ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
  9615 
  9616 7.	AnatolyP
  9617 	1.	DEFECT FIX: DEF060961: Plat Sec in TShell
  9618 
  9619 
  9620 Version 2.00.1018
  9621 ============================
  9622 (Made by MiguelB 03/05/2005)
  9623 
  9624 1.	MichaelP
  9625 	1.	MINOR CHANGE: Updated USB Client Driver API document and bumped version number to 2.0
  9626 
  9627 2.	RichardCo
  9628 	1.	DEFECT FIX: DEF060310: RNotifiers:: Additional work required for Asynchronous notifier updates.
  9629 
  9630 3.	Dennis
  9631 	1.	DEFECT FIX: DEF060397: EKA2 doesn't do context switching for Intel WMMX
  9632 	2.	DEFECT FIX: DEF056360: Bootstrap calculates wrong address for "dummy uncached" area
  9633 
  9634 4.	JasmineS
  9635 	1.	MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
  9636 		T_CATC, T_CPER, T_MESSGE, T_PROC1, T_SVR, T_SVR5, T_IPCBM, T_KERNBM, T_CTXSW,
  9637 		T_CTXSW3, BM_SUITE and TBUF components have all had their comments refreshed and
  9638 		reviewed after rewrite.
  9639 
  9640 5.	DjordjeK
  9641 	1.	MINOR CHANGE: The update of test code description.
  9642 
  9643 6.	JonathanM
  9644 	1.	MINOR CHANGE: Speeded up automated testing by adding KTESTFAST debugmask flag which supresses output
  9645 		in console text windows.
  9646 
  9647 7.	JonCo
  9648 	1.	MINOR CHANGE: Corrected distribution.policy files in like with DEF060454
  9649 
  9650 8.	AnatolyP
  9651 	1.	DEFECT FIX: DEF059953: e32test t_schedhook optimistically carries on if no __DEBUGGER_SUPPORT__
  9652 
  9653 9.	JeremyS
  9654 	1.	DEFECT FIX: INC054288  Missing implementation of Break handling (ERequestBreak) in d_comm.cpp
  9655 
  9656 10.	DavidM
  9657 	1.	DEFECT FIX: DEF058906: WritePasswordData is used instead of WriteRemote
  9658 
  9659 11.	MiguelB
  9660 	1.	DEFECT FIX: DEF060579: Unistore2 v 1.3.1, defect patch
  9661 	2.	DEFECT FIX: DEF058863: Unistore2 NAND media driver needs garbage collecting enabled
  9662 	3.	DEFECT FIX: INC059818: NTT - Clean build fails with fatal errors in release 92_200516
  9663 
  9664 12.	AndrewH
  9665 	1.	DEF058480 -  UniStore2 crashlogger indexes using pages rather than sectors
  9666 
  9667 13.	JohnS
  9668 	1.	Milestone: GT0236, MS3.7 - Engineering Change Macro Removal
  9669 
  9670 
  9671 Version 2.00.1017
  9672 ============================
  9673 (Made by JonathanM 28/04/2005)
  9674 
  9675 1.	JonathanM
  9676 	1.	DEFECT FIX: DEF058452: File Server () performance regression
  9677 	2.	DEFECT FIX: DEF059430: Security Vulnerability in Creation of Properties in Publish and Subscribe.
  9678 	3.	INTERFACE CHANGE: BR1506.1 Publish and Subscribe Categories are restricted to one of either a) the processes SID or b) the existing system category. Publish and Subscribe enforces this behaviour.
  9679 
  9680 Version 2.00.1016
  9681 ============================
  9682 (Made by JonathanM 26/04/2005)
  9683 
  9684 1.	OlegI
  9685 	1.	DEFECT FIX: DEF058421: Misleading docs for CPolicyServer::CustomFailureActionL()
  9686 	2. 	DEFECT FIX: DEF058441: Missing test cases for RProperty
  9687 
  9688 2.	JonathanM
  9689 	1.	DEFECT FIX: DEF059805: Propagated: Optimize folded string comparisons in 8.1b and 9.1/9.2
  9690 	2.	DEFECT FIX: DEF059508: Trivial capability escalation to TCB capability.
  9691 
  9692 3.	JonCo
  9693 	1.	DEFECT FIX: DEF059823: Location of highrestimer.h for omap is ambiguous
  9694 
  9695 4.	Dennis
  9696 	1.	DEFECT FIX:	DEF059949: EUSER not future proof
  9697 
  9698 		BREAK REQUEST BR1503.4
  9699 		Added extension virtual function to CBase, CActive,
  9700 		CObject, CObjectIx, CObjectCon, CObjectConIx, CSession2, CServer2,
  9701 		CPolicyServer, CActiveScheduler.
  9702 
  9703 		Add extension virtual to MAllocator, RHeap.
  9704 
  9705 		Add spare data to TFindHandleBase, TThreadId, TProcessId.
  9706 
  9707 		BREAK REQUEST BR1503.6
  9708 		Change IM category of XLeaveException, TWin32SEHTrap, TWin32SEHExceptionHandler
  9709 		from @publishedAll to @internalComponent.
  9710 
  9711 	2.	DEFECT FIX:	DEF059950: EUSER has 312 redundant exports
  9712 		BREAK REQUEST 1503.1, 1503.2, 1503.3, 1503.5, 1503.7
  9713 		Removed all exports purely there for BC, including all functions in
  9714 		us_stubs.cpp, us_insecure.cpp, ub_sec.cpp, e32transbuf.h.
  9715 
  9716 
  9717 
  9718 Version 2.00.1015
  9719 ============================
  9720 (Made by JasmineS, 19/04/2005)
  9721 
  9722 1.	JonCo
  9723 	1.	DEFECT FIX: DEF058347: Error: __MESSAGE_MACHINE_CODED__ & !__REQUEST_COMPLETE_MACHINE_CODED__
  9724 	2.	MINOR CHANGE: Speeded up t_membm (now only runs full tests with -f option)
  9725 
  9726 2.	Dennis
  9727 	1.	DEFECT FIX: DEF059300: Cannot run ROM image from offset into flash
  9728 
  9729 3.	YingS
  9730 	1.	DEFECT FIX: DEF058801: Keyboard Rotation has not been implemented on emulator
  9731 
  9732 4.	ReubenH
  9733 	1. 	DEFECT FIX: DEF056357 - Cedar base_e32 component is updated every day
  9734 
  9735 5.	OlegI
  9736 	1.	CHANGE REQUEST: TDAS-6A9GR3 - Kernel GT0236 Base, Add Option to Invoke crashdebugger for any thread panic.
  9737 		(Development CR)
  9738 
  9739 6.	RichardCo
  9740 	1.	DEFECT FIX: DEF059110: Base source changes for GCC-E
  9741 
  9742 7.	ReubenH
  9743 	1. 	DEFECT FIX: DEF056378: NTT It is not always possible to search RArray classes with a key
  9744 
  9745 8.	CarlosF
  9746 	1.	CHANGE REQUEST: APOS-65ZLQ4 Future proofing request - Richer Pen Event Information, z-axis
  9747 				information support to WSERV and Base
  9748 	2.	INTERFACE CHANGE: BR 1444.1 Changes to make Base port APIs more future proof in Mike
  9749 
  9750 Version 2.00.1014
  9751 ============================
  9752 (Made by Jeremy Smithers, 12/04/2005)
  9753 
  9754 1.	DjordjeK
  9755 	1.	DEFECT FIX: INC054634: User::ResetInactivityTime() should not require PowerMgmt capability
  9756 	2.	DEFECT FIX: DEF058392: Emulator convKeyCodes_base has duplicate entry
  9757 	3.	DEFECT FIX: DEF056299: Emulator screen does not get redrawn if it is covered by a win32 window
  9758 	4.	DEFECT FIX: DEF058213: BM_SUITE test failure
  9759 
  9760 2.	DavidM
  9761 	1.	DEFECT FIX: DEF056545: EKA2 emulator does not support keymap modifiers in epoc.ini
  9762 	2.  DEFECT FIX: DEF058474: Base code should be placed in \sys\bin not \system\bin
  9763 
  9764 3.	YingS
  9765 	1.	DEFECT FIX: INC055351: NTT Common Digitiser Code Refuses to Accept Maximum Raw Samples
  9766 
  9767 4.	JonCo
  9768 	1.	DEFECT FIX: DEF056377: Performance of memcpy() and memset() can be improved by >=20% (MCL)
  9769 	2.	DEFECT FIX: DEF058789: RVCT calls wrong version of memset
  9770 
  9771 5.	MichaelP
  9772 	1.	MINOR CHANGE: Add new debug trace bit 'KUSB': bit 32 = (0x00000001, index 1).
  9773 	2.	MINOR CHANGE: Commented out definition of USBC_LDD_BUFFER_TRACE in USB driver header file usbc.h.
  9774 	3.	MINOR CHANGE: Improved and enhanced fix for DEF058873 - USB manager crashes on target
  9775 
  9776 6.	MichaelMo
  9777 	1.	DEFECT FIX: DEF057783 - STL.H required to build nand xsr LLD is part of the undeliverable source code
  9778 	2.	DEFECT FIX: DEF057855 - Licencee can not build MEDUSIIT lib & because it is testcode it is not released
  9779 
  9780 7.	Dennis
  9781 	1.	DEFECT FIX: DEF059107 - __VALUE_IN_REGS__ strikes wrt GCC-E
  9782 		Added new EABI compliant versions of TDesX::Left(), Right(), Mid(int), Mid(int,int) (X=8,16)
  9783 		which return the result in memory, as demanded by the EABI, rather than in registers.
  9784 		Left the old implementations in to preserve BC.
  9785 
  9786 8.	AndrewR
  9787 	1.	DEFECT FIX: DEF058992 - Problems with Win32 exceptions in TRAP_INSTRUMENTATION_NOLEAVE
  9788 	2.	MINOR CHANGE: Extend TRAP instrumentation to cover TRAP_IGNORE
  9789 	3.	MINOR CHANGE: Update conditional compilation of C++ versions of descriptor functions to match Dennis' changes
  9790 
  9791 9.	JonathanM
  9792 	1.	MINOR CHANGE: Modified test AUTOEXEC.BAT files to specify -st option for RUNTESTS
  9793 
  9794 10.	RichardCo
  9795 	1.	MILESTONE: Bravo,GT0236,MS3.2.3 PREQ234 Remove timezone and UTC functions from TLocale in favour of a new interface via User
  9796 	2.	INTERFACE CHANGE: BR-1323.1 Remove support for setting timezone and DST through TLocale
  9797 	3.	INTERFACE CHANGE: BR-1323.2 Remove support for setting timezone and DST through TLocale
  9798 	4.	INTERFACE CHANGE: BR-1323.3 Remove support for setting timezone and DST through TLocale
  9799 
  9800 
  9801 Patch to version 2.00.1013
  9802 ============================
  9803 (Made by MichaelP, 08/04/2005)
  9804 
  9805 1.	MichaelP
  9806 	1.	DEFECT FIX: DEF058873: USB manager crashes on target
  9807 
  9808 
  9809 Version 2.00.1013
  9810 ============================
  9811 (Made by JonathanM, 07/04/2005)
  9812 
  9813 1.	JonathanM
  9814 	1.	DEFECT FIX: DEF058815: Base ROMs don't build with RVCT2.2
  9815 		OTHER: The defect fix for DEF058815 means that Base code now expects that it
  9816 		is built using RVCT2.2. If RVCT2.1 is used then when building base ROMs with
  9817 		ROM.BAT the following must be added to the command line: "-define=RVCT2_1"
  9818 
  9819 2.	MichaelMo
  9820 	1.	DEFECT FIX: DEF058880: [System Build] - Problem with base.iby file change causing ROM error
  9821 
  9822 
  9823 Version 2.00.1012
  9824 ============================
  9825 (Made by AndrewHi, 06/04/2005)
  9826 
  9827 1.	AndrewHi
  9828 	1.	DEFECT FIX: DEF058744: [System Build] BASE_H2_UNISTORE2 Errors in 03552 (9.1/9.2)
  9829 
  9830 
  9831 Version 2.00.1011
  9832 ============================
  9833 (Made by Kamran, 05/04/2005)
  9834 
  9835 1.	JonathanM
  9836 	1.	CHANGE REQUEST: JMET-6AJKNX - Provide a means for adding logging to uses of TRAP and TRAPD.
  9837 		(Development CR)
  9838 	2.	DEFECT FIX: DEF057952: MMF_BASECL_U_0200-LP panics on build 3525 on 9.1
  9839 
  9840 2.	AndrewR
  9841 	1.	MINOR CHANGE: Fix hard-coded EPOCROOT in CoreLdr makefiles
  9842 
  9843 3.	NicholasD
  9844 	1.	DEFECT FIX: DEF056516 - T_KHEAP test fails 'TestReAllocZerosMemory' check
  9845 
  9846 4.	MichaelP
  9847 	1.	DEFECT FIX: DEF056441 - Deficiencies in DMA framework
  9848 
  9849 		a)  TDmac::InitDes() and TDmac::InitHwDes() both have now an additional
  9850 		argument, 'aCookie', which carries the PSL channel information.
  9851 
  9852 		b)  Instead of the fixed values TDmac::iMaxTransferSize and
  9853 		TDmac::iMemAlignMask, there are now in the PIL the two functions
  9854 
  9855 		TInt TDmaChannel::MaxTransferSize(TUint aFlags, TUint32 aPslInfo);
  9856 		TUint TDmaChannel::MemAlignMask(TUint aFlags, TUint32 aPslInfo);
  9857 
  9858 		These are called dynamically in DDmaRequest::Fragment(). This means there
  9859 		are now two additional pure virtual functions for the DMA PSL to implement:
  9860 
  9861 		virtual TInt TDmac::MaxTransferSize(TDmaChannel& aChannel, TUint aFlags,
  9862 		                                    TUint32 aPslInfo) = 0;
  9863 		virtual TUint TDmac::MemAlignMask(TDmaChannel& aChannel, TUint aFlags,
  9864 		                                  TUint32 aPslInfo) = 0;
  9865 
  9866 	2.	INTERFACE CHANGE: BR1446.1 & BR1446.2 "Changes to DMA Framework PSL/PIL Interface"
  9867 		(as part of fix for DEF056441)
  9868 
  9869 	3.	DEFECT FIX: DEF057257 - "Error: real endpoint not found" when switching alternate interface setting
  9870 	 	When calling the PIL functions CancelReadBuffer()/CancelWriteBuffer() from
  9871 		the LDD's AbortTransfer(), we now pass as additional argument the alternate
  9872 		interface setting number.
  9873 
  9874 5.	JonCo
  9875 	1.	DEFECT FIX: DEF057881 - Defining __MINIMUM_MACHINE_CODE__ causes compilation errors
  9876 	2.	MINOR CHANGE: Integrated e32test documentation for datetime, device,
  9877         dll, heap and locale tests
  9878 	3.	DEFECT FIX: DEF057886 - incorrect precondition for Kern::AppendFormat()
  9879 
  9880 6.	StefanW
  9881 	1.	DEFECT FIX: DEF056342 - MMC format operation in EKA2 is slower than in EKA1
  9882 
  9883 7.	MiguelB
  9884 	1.	DEFECT FIX: DEF056473 - Intermittent waveOutWrite failures in 8.1b emulator security tests
  9885 
  9886 8.	MichaelMo
  9887 	1.	MILESTONE: Mike,GT0223,MS3.5.2 NAND Unistore II (XSR) submission (Phase 2)
  9888 
  9889 
  9890 Version 2.00.1010
  9891 ============================
  9892 (Made by BalaT, 01/04/2005)
  9893 
  9894 1.	BalaT
  9895 	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
  9896 		Pick RVCT2.2 binaries as default with buildrom command, and make RVCT2.1 binaries as optional,
  9897 		which will be picked up with -DRVCT2_1 switch.
  9898 
  9899 
  9900 Version 2.00.1009
  9901 ============================
  9902 (Made by MichaelP, 22/03/2005)
  9903 
  9904 1.	MichaelP
  9905 	1.	DEFECT FIX: DEF057140 - USB driver ZLP behaviour does not match documentation
  9906 		Changed documentation (USB API Guide, USB PSL Porting Guide) to make it clear that the
  9907 		USB driver will figure out whether or not to send a ZLP if the ZLP flag is set.
  9908 
  9909 2.	NicholasD
  9910 	1.	DEFECT FIX: DEF057314 - Eshell emulator screen does not get redrawn if it is covered by a win32 window
  9911 
  9912 3.	OlegI
  9913 	1.	DEFECT FIX: DEF057498 - UREL binaries in techview debug ROM images ()
  9914 
  9915 4.	JonCo
  9916 	1.	CHANGE REQUEST: RFID-66JJKX - Add EKA1-style CPU thread time monitoring to EKA2 kernel
  9917 	2.	INTERFACE CHANGE: BR1378.1 Change User::FastCounter to use high res timer
  9918 	3.	INTERFACE CHANGE: BR1379.1 Addition of new members in NThreadBase for monitoring cpu time
  9919 
  9920 5.	NicholasD
  9921 	1.	DEFECT FIX: DEF056362 - e32toolp\memtrace\memtrace.rtf out of date for EKA2
  9922 
  9923 6.	PhilK
  9924 	1. 	DEFECT FIX: DEF053153 - H2 USB driver loses 2176 byte transfer (possible zero length packet problem)
  9925 
  9926 7.	DjordjeK
  9927 	1.	DEFECT FIX: DEF057789 wrong definition of RFEgen macro
  9928 	2.	DEFECT FIX: DEF057794 Incomplete implementation of ARMv6 stop-mode debugger (DDebuggerInfo)
  9929 
  9930 8.	SimonT
  9931 	1.	DEFECT FIX: DEF053286 - H2 sound pdd buffer mgmt not quite right
  9932 
  9933 9.	CiprianM
  9934 	1.	MS3.9.1- SSIN-66LJYR : System Libraries, PGM026 Mike, Add PREQs 1001, 1003 to scope of Mike
  9935 
  9936 
  9937 Version 2.00.1008
  9938 ============================
  9939 (Made by BalaT, 18/03/2005)
  9940 
  9941 1.	BalaT
  9942 	1.	DEF057008: - RVCT2.2 leading edge build fails with errors in base/coreldr files
  9943 
  9944 
  9945 Version 2.00.1007
  9946 ============================
  9947 (Made by JS, 14/03/2005)
  9948 
  9949 1.	DjordjeK
  9950 	1.	DEFECT FIX: INC054086 - Class TLex16 documentation referes to TLex8
  9951 	2.	DEFECT FIX: DEF056647 - [Sierra IPR] Distribution.policy files not in compliance with 8.1 CKL
  9952 	3.	DEFECT FIX: DEF056745 - Spelling mistakes in TSecurityPolicy (OS Reference)
  9953 	4.	DEFECT FIX: DEF056768 - Illegal #elif in ...\e32\kernel\kdebug.cpp
  9954 	5.	DEFECT FIX: DEF056854 - Mistakes in API Classification
  9955 	6.	DEFECT FIX: INC055893 - NTT - Nanokernel timer assertion
  9956 
  9957 2.	JonathanM
  9958 	1.	MINOR CHANGE: Increased timeout for loader tests on Integrator.
  9959 	2.	DEFECT FIX: DEF056369 - Incorrect iCapabilities member in RMessageU2
  9960 	3.	DEFECT FIX: DEF056374 - Physical page lock count can wrap to zero when incremented
  9961 
  9962 3.	JonCo
  9963 	1.	DEFECT FIX: DEF056209 - crash debugger: vptr == NULL in RVCT builds
  9964 
  9965 4.	DavidM
  9966 	1.	DEFECT FIX: DEF054519 - Potential problem with T_MEMBM: added forward and
  9967 		reverse memory copy benchmarks.
  9968 	2.	DEFECT FIX: DEF056618 - Kernel: DObjectCon::OpenByFullName() can return
  9969 		w/o releasing mutex: Added missing Signal( ) call.
  9970 
  9971 5.	NicholasD
  9972 	1.	DEFECT FIX: DEF056373 - EVariantHalCustomRestart should have a documented capability
  9973 
  9974 6.	MiguelB
  9975 	1.	DEFECT FIX: DEF052574 - F32 Tests on integrator sometimes fail with KErrUnknown for drive D: (MMC)
  9976 
  9977 7.	AndrewR
  9978 	1.	DEFECT FIX: DEF056366 - Cannot debug through Win32 exception handling in WINSCW
  9979 	2.	DEFECT FIX: DEF056502 - Return value of MakeDll ignored
  9980 	3.	MINOR CHANGE: Fix logging of filenames in Win32 mcodeseg.cpp
  9981 	4.	DEFECT FIX: DEF056365 - Bugs in __destroy_global_chain
  9982 	5.	DEFECT FIX: DEF056364 - global operator delete is missing an empty exception specifier
  9983 	6.	DEFECT FIX: DEF056367 - declaration of CW 3.2 runtime helper function __uncaught_exception is incorrect
  9984 	7.	MINOR CHANGE: Remove redundant test of hdr inside if (hdr) block in emulator.cpp
  9985 	8.	MINOR CHANGE: Fix KWin32SectionName_EpocBss to have all 8 bytes explicitly initialised
  9986 	9.	MINOR CHANGE: Fix placement of noreturn declspec on nklib function to allow compilation with MSVC8
  9987 
  9988 8.	MichaelP
  9989 	1.	DEFECT FIX: DEF057024 - NTT Packet Modem is Not Capable of Transferring Large File
  9990 
  9991 
  9992 Version 2.00.1006
  9993 ============================
  9994 (Made by BalaT, 14/03/2005)
  9995 
  9996 1.	BalaT
  9997 	1.	DEF057189 [System Build]: OMAP errors in 03519 overnight build
  9998 
  9999 Version 2.00.1005
 10000 ============================
 10001 (Made by BalaT, 11/03/2005)
 10002 
 10003 1.	BalaT
 10004 	1.	DEFECT FIX: DEF057008 RVCT2.2 leading edge build fails with errors in base/coreldr files.
 10005 
 10006 Version 2.00.1004
 10007 ============================
 10008 (Made by AndrewHi, 11/03/2005)
 10009 
 10010 1.	AndrewHi
 10011 	1.	DEFECT FIX: DEF057064 [System Build] UNISTORE2 _DRIVERS error frond in GT log (found in build 03516)
 10012 
 10013 2.	MiguelB
 10014 	1.	DEFECT FIX: DEF057090 [System Build] INTEGRATOR_LMNAND_EKA2  Errors
 10015 
 10016 
 10017 Version 2.00.1003
 10018 ============================
 10019 (Made by BalaT, 09/03/2005)
 10020 
 10021 1.	BalaT
 10022 	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
 10023 		Added some enhancements to support for RVCT2.2 toolchain to Base.
 10024 
 10025 
 10026 Version 2.00.1002
 10027 ============================
 10028 (Made by AndrewHi, 09/03/2005)
 10029 
 10030 1.	AndrewHi
 10031 	1.	DEFECT FIX: DEF056778 [System Builds] CBR errors due to base_nandboot_unistore2
 10032 
 10033 Version 2.00.1001
 10034 ============================
 10035 (Made by AndrewHi, 08/03/2005)
 10036 
 10037 1.	AndrewHi
 10038 	1.	DEFECT FIX: DEF056682 - [System Build] UNISTORE2_DRIVER Errors in build 03509 - The actual GT build errrors
 10039 	2.	DEFECT FIX: DEF056695 - [System Build] Run CBR error in 03509 - The incorrect paths for include directory used
 10040 
 10041 Version 2.00.1000
 10042 ============================
 10043 (Made by MichaelMo, 04/03/2005)
 10044 
 10045 1.	MaximK
 10046 	1.	DEFECT FIX: DEF055672 - TFileName not in devlib
 10047 
 10048 2.	JoR
 10049 	1. 	DEFECT FIX: DEF054319 - Wrong location for policy check in DM
 10050 
 10051 3.	JonCo
 10052 	1.	DEFECT FIX: DEF055811 - Emulator noGui option will break when system starter is released
 10053 
 10054 4.	OlegI
 10055 	1.	DEFECT FIX: DEF055809 - Userland code can fault kernel when closing bad handle
 10056 
 10057 5.	RichardCo
 10058 	1.	DEFECT FIX: DEF056352 - Shadow pages don't work if ROM mapped with 64K pages
 10059 	2.	MINOR CHANGE: Update e32tests to not use soon-to-be-removed TLocale methods.
 10060 
 10061 6.	MichaelP
 10062 	1.	CHANGE REQUEST: RJAN-65GKTX "USB PIL & API need extending to allow for optional
 10063 		removal of string descriptors"
 10064 		Added 6 new user side calls to USB Client Driver API:
 10065 		- GetStringDescriptorLangId()
 10066 		- SetStringDescriptorLangId()
 10067 		- RemoveManufacturerStringDescriptor()
 10068 		- RemoveProductStringDescriptor()
 10069 		- RemoveSerialNumberStringDescriptor()
 10070 		- RemoveConfigurationStringDescriptor()
 10071 		Also updated API documentation and extended T_USBAPI to test the new APIs.
 10072 	2.	MINOR CHANGE: Removed obsolete E32 test T_USB2.
 10073 	3.	DEFECT FIX: DEF054384 - DMA does not unlink chained requests when they complete or are cancelled
 10074 		Added virtual function TDmac::UnlinkHwDes() which gets called from (also new function)
 10075 		TDmaSgChannel::DoUnlink(), which in turn gets called from DDmaRequest::OnDeque() upon
 10076 		completion or cancellation of a DMA transfer request. TDmac::UnlinkHwDes() must be
 10077 		overridden by the PSL if the DMAC supports hardware descriptors (scatter/gather DMA).
 10078 		(Otherwise the default implementation in the PIL will fault the kernel.)
 10079 		Also extended T_DMA to test for the condition which led to the discovery of the defect,
 10080 		and thus also for the correct implementation of the unlink function in the PSL.
 10081 	4.	INTERFACE CHANGE: BR1383.1 "Add an UnlinkHwDes to DMA Framework" (part of fix for DEF054384)
 10082 
 10083 7.	AndrewR
 10084 	1.	MINOR CHANGE: Updated in-source documentation of TSecurityPolicy to correct a couple of
 10085 		typos and clarify the use of _LIT_SECURITY_POLICY_PASS and _LIT_SECURITY_POLICY_FAIL.
 10086 	2.	DEFECT FIX: DEF055757 - __ProcessIsolationFailure_RMessage_Construct diagnostic incorrect
 10087 	3.	MINOR CHANGE: Removed unused constant KMaxFixedPoolSlots associated with old IPC implementation
 10088 		from sipc.cpp
 10089 	4.	DEFECT FIX: DEF056372 - TThreadSessionShareCleanup should be removed
 10090 
 10091 8.	KamranN
 10092 	1.	MINOR CHANGE: changed the test tag id of t_domain tests
 10093 
 10094 9.	JasmineS
 10095 	1.	DEFECT FIX: DEF052749 - bootstrap missing entry for BTF_Alloc in boot table in direct memory model
 10096 
 10097 10.	MiguelB
 10098 	1.	DEF053551 - Security flaw in domain manager
 10099 
 10100 11.	DennisM
 10101 	1.	DEF056211 - STREX macros use same register for Rd and Rm
 10102 
 10103 12.	AndrewHi
 10104 	1.	MILESTONE: Mike,GT0223,MS3.5.1 NAND Unistore II (XSR) submission (Phase 1)
 10105 
 10106 13.	NicholasD
 10107 	1.	DEFECT FIX: DEF056355 - TRequestStatus::iFlags not fully initialised in overloaded constructor
 10108 
 10109 14.	TonyL
 10110 	1.	DEFECT FIX: DEF054244 - Possible stability problem in USB mass storage support
 10111 
 10112 
 10113 Version 2.00.557
 10114 ============================
 10115 (Made by DjordjeK, 21/02/2005)
 10116 
 10117 1.	DavidM
 10118 	1.  CR: RFID-66EMED - Add more trace flag fields to ROM header and increase the size of the
 10119 		boot ROM header. Originally there were 32 kernel trace bits, there are now 256. The trace
 10120 		bits are now referred to via a bit number instead of a bit-mask.
 10121 	2.INTERFACE CHANGE: Break Request 1322 was approved with confirmation numbers:
 10122 			    BR1322.1, BR1322.2 & BR1322.3.
 10123 	3.  	DEFECT FIX: DEF054500 - Add TWinsFSStartup::GetStartupMode() function.
 10124 2.	RichardCo
 10125 	1.	DEFECT FIX: DEF055534 - CTimer schedules timers in local time
 10126 	2.	DEFECT FIX: DEF050936 - e32test TF_READ fails because DF_READ driver doesn't build
 10127 
 10128 3.	TonyL
 10129 	1.	DEFECT FIX: DEF055334 - RVCT2.2 compiler upgrade needs source code changes in base/H2
 10130 	2.	DEFECT FIX: DEF055335 - RVCT2.2 compiler upgrade needs support in devboards .mke files
 10131 	3.	MINOR CHANGE:
 10132 		Some improvements to the USB MS Boot loader app. Make more code variant configurable.
 10133 
 10134 4.	DjordjeK
 10135 	1.	DEFECT FIX: DEF053501 - Generated file hal\config.cpp confuses the CBR tools
 10136 		(This is Cedar part, Beech part is already in MCL)
 10137 	2.	INTERFACE CHANGE: BR1342 Removing autogenerated cpp files from the source tree.
 10138 				  Conformation number: 1342.1
 10139 5.	AndrewHi
 10140 	1.	DEFECT FIX: DEF0046963 - Crashlogger isn't sufficiently configurable
 10141 		Updated the standard media driver, and the derived media drivers used by the crash flash
 10142 		logger and the nandloader application, to used a platform-specific offset that is specified
 10143 		as a whole number of pages. The rebootdrv utility deployed by nandloader, and the miniboot
 10144 		and coreldr utlilities used in booting from NAND were similarly affected. The offset is
 10145 		specified as const TInt KNandFbrPageOffset, in new file	nand_fbr_offset.h. To allow for the
 10146 		different nandboot schemes operated across our varied reference boards, two further constants
 10147 		are defined in the platform-specific file nand_plat.h; these are const TBool KNandMinibootUsed
 10148 		and const TBool KNandCoreldrRelocatable.
 10149 
 10150 		Base Port Impact:
 10151 		The above-mentioned constants must be defined for each platform. Their names are expected to provide
 10152 		sufficient indication as to what their values should be:
 10153 		KNandMinibootUsed  - if the miniboot utiliy is used, this should be set ETrue
 10154 		KNandCoreldrRelocatable - if the coreldr image is expected to reside at a fixed location,
 10155 		this should be set to EFalse.
 10156 
 10157 6.	JonathanM
 10158 	1.	DEFECT FIX: DEF055787 - The Text Window Server shouldn't load the Locale DLL
 10159 
 10160 
 10161 Version 2.00.556
 10162 ============================
 10163 (Made by BalaT, 22/02/2005)
 10164 
 10165 1.	BalaT
 10166 	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
 10167 		Added support for RVCT2.2 toolchain to Base.
 10168 
 10169 
 10170 Patch to Version 2.00.555
 10171 ============================
 10172 (Made by JonathanM, 21/02/2005)
 10173 
 10174 1.	JonathanM
 10175 	1.	DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
 10176 		For this fix to take effect, ESTART must be recompiled for all Base Ports.
 10177 
 10178 
 10179 Version 2.00.555
 10180 ============================
 10181 (Made by CarlosF, 15/02/2005)
 10182 
 10183 1.	JonathanM
 10184 	1.	MINOR CHANGE:
 10185 		Updated example driver code.
 10186 		1.	Used overload of DObject::RequestUserHandle to restrict access to logical
 10187 			channels. (Replaces testing of each request as it arrives.)
 10188 		2.	Made user side LDD interfaces override RHandleBase::Duplicate in order to
 10189 			manage chunk handles owner by the user side class.
 10190 2.	DavidM
 10191 	1.	DEFECT FIX: INC052977 - NTT No result from base\e32tests t_romtable and t_romtable2
 10192 	2.	DEFECT FIX: DEF054563 -  Leave without corresponding TRAP in vt100 screen driver
 10193 
 10194 3.	DjordjeK
 10195 	1.	DEFECT FIX: DEF054320 - RNotifier docs inaccuracy
 10196 	2.	DEFECT FIX: DEF054380 - [Sierra IPR] - Incorrect source categorisation in distribution.policy files
 10197 	3.	MILESTONE: MS3.3.1  PREQ835 IDE Debugger Support for ARMv6
 10198 		INTERFACE CHANGE: BR1333.1 BR1333.2 BR1333.3 DebugAPI interface change
 10199 
 10200 4. 	ArwelH
 10201 	1.	DEFECT FIX: INC054807 - NTT Semantic Error in Synbian OS documentation
 10202 
 10203 
 10204 Patches to Version 2.00.554
 10205 ============================
 10206 (Made by SimonT, 11/02/2005)
 10207 
 10208 1.	SimonT
 10209 	1.	DEFECT FIX: DEF054567 - Missing key-events
 10210 
 10211 
 10212 Version 2.00.554
 10213 ============================
 10214 (Made by RichardCo, 08/02/2005)
 10215 
 10216 1.	YingS
 10217 	1. 	CHANGE REQUEST: APOS-65YC4H - Add a mechanism to disable the password protection feature on certain MMC cards.
 10218 	2.	INTERFACE CHANGE: BR-1269.1 Peripherals: Add ControlIO API to peripheral bus controller to facilitate better test and debug.
 10219 
 10220 2.	StefanW
 10221 	1. 	DEFECT FIX: DEF054673 - SDIO controller does not support IO Abort correctly.  Added support to
 10222 					allow the PSL to issue an abort automatically and notify the PIL.
 10223 
 10224 3.	JonathanM
 10225 	1.	DEFECT FIX: DEF054518 - Kern::ChunkPhysicalAddress sets aPhysicalAddress even when memory isn't contiguo
 10226 	2.	DEFECT FIX: DEF054729 - T_EXCBM doesn't test Slow Execs on EKA1
 10227 	3.	MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
 10228 			Version 0.11 Added example code: 3.4.3 Example Chunk Open
 10229 
 10230 4.	JonCo
 10231 	1.	DEFECT FIX: DEF053932 - Possible data leak from kernel
 10232 	2.	CR JROE-63RLD9 - Add support to the EKA2 emulator to run without a UI
 10233 
 10234 5.	JasmineS
 10235 	1.	MILESTONE: MS3.1.1 PREQ838 Support ARMv6 MMU.  Change all kernel locking mechanisms to use new ARMv6
 10236 			facilities.  Implement a memory model making use of the new ARMv6 capabilities and VIPT cache.
 10237 
 10238 6.	SimonT
 10239 	1.	DEFECT FIX: DEF051088 - USB Cable pull- Start/Stop fails on H2
 10240 	2.	DEFECT FIX: DEF053945 - Lack of entropy in the kernel & security subsystems during OMAP testing
 10241 	3.	DEFECT FIX: DEF054161 - OMAP reboot module is too variant specific are uses too many magic numbers
 10242 	4.	DEFECT FIX: DEF054447 - H2 always rebuilds coreloader
 10243 	5.	MINOR CHANGE: take advantage of new DMA interface to use physical addresses where appropriate
 10244 	6.	MINOR CHANGE: USB mass storage bootloader
 10245 	7.	MINOR CHANGE: remove dead i2c test code from OMAP
 10246 
 10247 7.	RichardCo
 10248 	1.	MILESTONE: Bravo,GT0236,MS3.2.1 PREQ234 UTC and Auto DST Support(Kernel):Part 1
 10249 	2.	INTERFACE CHANGE: BR-1354.1 Change TSecondLink to use UTC instead of local time
 10250 
 10251 8.	MiguelB
 10252 	1.	DEF053107 - File Server crashes at boot
 10253 
 10254 Version 2.00.553
 10255 ============================
 10256 (Made by RichardCo, 01/02/2005)
 10257 
 10258 1.	JonathanM
 10259 	1.	MINOR CHANGE: Added example driver code to \e32test\examples.
 10260 			CONVERT1 is a device driver which takes input data (possibly in a Shared Chunk) and
 10261 			'converts' the format of this data with the results going to another Shared Chunk.
 10262 	2.	DEFECT FIX: DEF054393 - C++ exception support is incomplete on the Emulator
 10263 	3.	DEFECT FIX: DEF054382 - Difference between TRAP and TRAPD on armv5 gives unused warnings
 10264 	4.	MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
 10265 	5.	DEFECT FIX: DEF054070 - seclib's .dsp and .mak files directly reference a hard coded .hrh file.
 10266 	6.	MINOR CHANGE: Fixed example driver code CAMERA1 and CONVERT1.
 10267 			These were not allowing for Kern::ChunkPhysicalAddress returning a result of '1'
 10268 			which indicates that the memory was contiguous.
 10269 
 10270 2.	ReubenH
 10271 	1.	DEFECT FIX: DEF049905 - TPckgBuf alignment problem
 10272 		INTERFACE CHANGE: BR1337 Kernel: TPckgBuf<T>'s sizeof() and internal layout has changed
 10273 		NOTES FOR MCL SUBMISSION
 10274 			This is a system wide Binary Compatability break for anything
 10275 			that uses TPckgBuf. All affected binaries need to be rebuilt.
 10276 
 10277 3.	JonCo
 10278 	1.	CHANGE REQUEST: TDAS-63CEMD - Crash debugger improvements
 10279 
 10280 4.	NicholasD
 10281 	1.	DEFECT FIX: DEF053957 - DModuleList::LoadDependencies() is logically incorrect for emulator memory model
 10282 
 10283 5.	JoR
 10284 	1.	DEFECT FIX: DEF054054 : Domain Manager is lacking DiskAdmin capability
 10285 
 10286 Version 2.00.552
 10287 ============================
 10288 (Made by MichaelMo, 21/01/2005)
 10289 
 10290 1.	DjordjeK
 10291 	1.	DEFECT FIX: INC052979 - NTT No RTest result from base e32test t_tldd
 10292 
 10293 2.	MichaelMo
 10294 	1.	MILESTONE: Mike GT0223 MS3.7.1 CR - APOS-666C3S Re-map hardware keys to support landscape mode
 10295 
 10296 3.	MichaelP
 10297 	1.	CHANGE REQUEST: RFID-5WYL6E "Add a DMA Fragment() that takes physical addresses":
 10298 		For physical memory addresses there are now two additional flags than can be passed,
 10299 		via the 'aFlags' argument, to the DDmaRequest::Fragment() function: KDmaPhysAddrSrc
 10300 		and KDmaPhysAddrDest.
 10301 
 10302 4.	ArwelH
 10303 	1.	DEFECT FIX: DEF054097 - RThread.GetCpuTime is not supported in EKA2
 10304 
 10305 Version 2.00.551
 10306 ============================
 10307 (Made by JonathanM 18/01/2005)
 10308 
 10309 1.	JonathanM
 10310 	1.	CHANGE REQUEST: LROS-68HHTF Allow thread-specific quering of mutex status
 10311 	2.	MINOR CHANGE: Added example driver code to \e32test\examples.
 10312 			DRIVER1 is a device driver based on DLogicalChannel which supports a
 10313 				single client thread.
 10314 			CAMERA1 is a device driver based on DLogicalChannelBase which shows how
 10315 				Shared Chunks can be used for capturing a stream of video images in
 10316 				an eficient manner.
 10317 	3.	DEFECT FIX: DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor
 10318 	4.	DEFECT FIX: DEF052951 - Code segments in the call stack can be unloaded whilst taking a C++ exception
 10319 		INTERFACE CHANGE: BR1312.1 Kernel: Fix Leave=Throw problem that occurs on emulator and non-XIP code.
 10320 		NOTES FOR MCL SUBMISSION
 10321 			This is a system wide Binary Compatability break for RVCT builds.
 10322 			I.e. All RVCT binaries need to be rebuilt.
 10323 	5.	DEFECT FIX: DEF053912 - Name of "aProtected" argument on RBusLogicalChannel::DoCreate is misleading
 10324 
 10325 2.	JasmineS
 10326 	1.	MINOR CHANGE: Fix in-source documentation of RChunk::CreateLocalCode() to be more accurate.
 10327 
 10328 3.	CiprianM
 10329 	1.	Fixed DEF053434 - EPOC.INI Multi Screens
 10330 
 10331 4.	HusienH
 10332 	1.	CHANGE REQUEST: PCHY-66YM58 - Ensure Thai words starting with a leading vowel can be found(INC047064)
 10333 
 10334 
 10335 Patch to release (critical defect)
 10336 ================
 10337 (Made by DjordjeK 14/01/2005)
 10338 
 10339 1.	DjordjeK
 10340 	1. 	DEFECT FIX: DEF053827 - [System Build] CBR Errors - Multi-owned Files
 10341 	   	Reverting "DEF052237 - Cedar base_e32 component is updated every day" fix in 2.00.550.
 10342 
 10343 
 10344 Version 2.00.550
 10345 ============================
 10346 (Made by StefanW, 10/01/2005)
 10347 
 10348 1.	ReubenH
 10349 	1.	DEFECT FIX: DEF052237 - Cedar base_e32 component is updated every day
 10350 
 10351 2.	CarlosF
 10352 	1.	DEFECT FIX: DEF053320 - Incorrect entries in distribution policy file (base)
 10353 
 10354 3.	MichaelP
 10355 	1.	MINOR CHANGE: Updated USB Client Driver API and USB PSL How-to documents.
 10356 
 10357 4.	AndrewHi
 10358 	1.	DEFECT FIX: DEF053599 : "nand_media.h" contains customer name
 10359 
 10360 5.	ArwelH
 10361 	1.	DEFECT FIX: DEF053443 - CAsyncCallBack being Set using a TCallBack on stack
 10362 
 10363 6.	DjordjeK
 10364 	1.	DEFECT FIX: DEF053520 - Documentation of TSize - Width is Height and Height is Width
 10365 
 10366 
 10367 Version 2.00.549
 10368 ============================
 10369 (Made by YingS, 04/01/2005)
 10370 
 10371 1.	SimonT
 10372 	1.	DEFECT FIX: DEF052968 - Disabling DEBUGPORT is not supported on H2
 10373 
 10374 2.	JasmineS
 10375 	1.	DEFECT FIX: DEF052859 - Benchmarks flawed
 10376 	2.	MINOR_CHANGE:  Improve Integrator's clocking setup with ARM1136 core modules
 10377 	3.	DEFECT FIX: DEF053476 Reimplement signals and queues using ARMv6 instructions
 10378 		Added support for LDREX/STREX to kernel.  Made kernel and EUSER use LDREX/STREX
 10379 		in preference to SWP/SWPB on ARMv6 platforms.
 10380 
 10381 3.	JonathanM
 10382 	1.	DEFECT FIX: DEF051248 - RThread/RProcess :: Rendesvous has uninteligible documentation
 10383 	2.	MINOR_CHANGE: Removed tracing added to emulator kernel in last release which was
 10384 		added to "help track down an intermittent defect where time goes backward"
 10385 	3.	DEFECT FIX: DEF053468 - The constant KPhysAddrInvalid should be in public header file
 10386 
 10387 4.	OlegI
 10388 	1.	DEFECT FIX: DEF052789 - CTimer class is missing HighRes()
 10389 
 10390 
 10391 Version 2.00.548
 10392 ============================
 10393 (Made by MichaelP, 16/12/2004)
 10394 
 10395 1.	JonathanM
 10396 	1.	DEFECT FIX: DEF052461 - Old SharedIo buffer code should be removed
 10397 	2.	DEFECT FIX: DEF052541 - Can't build Base ROMs with PlatSec disabled
 10398 		Add ability to ROM.PL to define CPP macros.
 10399 		Added NOPLATSEC guard in USER.IBY aroung the "platsec.settings" include.
 10400 		These enable PlatSec to be disabled when building Base ROMs by adding
 10401 		-define=NOPLATSEC to the command line.
 10402 	3.	MINOR CHANGE: Made E32TEST and F32TEST only export platset.settings if
 10403 		__SECURE_API__ is defined. This means that WINS testing won't use PlatSec in this case.
 10404 	4.	DEFECT FIX: DEF052518 - Handle creation doesn't obey PlatSecEnforcement configuration
 10405 	5.	MINOR CHANGE: Test code fixes: T_CHUNK4 and T_LDRCHK.
 10406 		Added new test driver D_MEMORYTEST which provided a means of safely reading/writing to memory
 10407 	6.	MINOR_CHANGE: Changed T_I64 test to work around bug in GCC compiler.
 10408 	7.	MINOR_CHANGE: Added tracing to the emulator kernel to try and help track down an
 10409 		intermittent defect where time goes backward (causing the T_TIMER test to fail.)
 10410 
 10411 2.	YingS
 10412 	1.	CR APOS-5Z3H92 System, GT0196 Nevada Base , MMC Media type recognition
 10413 
 10414 3.	DjordjeK
 10415 	1.	DEFECT FIX: DEF052289 - Incorrect IPR entry in distribution policy file (Base)
 10416 
 10417 4.	KamranN
 10418 	1.	Fixed a problem with t_domain test panic, where it only panicked for debug version
 10419 
 10420 5.	MichaelP
 10421 	1.	DEFECT FIX: DEF052607 - "Member variable deleted incorrectly in USB driver".
 10422 
 10423 6.	MiguelB
 10424 	1.	DEFECT FIX: DEF051582 - T_USBAPI fails on platforms which don't have USB
 10425 
 10426 7.	TonyL
 10427 	1.	DEFECT FIX: DEF052866 H2 UID missing from HAL
 10428 	2.	MINOR_CHANGE: Work-around for DEF052101 MMC Password Functionality
 10429 		crashes H2. The MMC stack will indicate that password functionality is
 10430 		not supported.
 10431 	3.	DEFECT FIX: DEF048670 Preserving Lubbock C drive across boots on Cedar
 10432 	4.	MINOR_CHANGE: Fix the coreloader makefile so the build target output (abld -w)
 10433 		is correct.
 10434 	5.	MINOR_CHANGE: Add #define _NANDTEST to nand test oby file implicitly
 10435 
 10436 8. 	CarlosF
 10437 	1.	DEFECT FIX: DEF052491 - Incorrect categories in distribution policy files(Base)
 10438 
 10439 
 10440 Patch to release (critical defect)
 10441 ================
 10442 (Made by DjordjeK 10/12/2004)
 10443 
 10444 1.	DjordjeK
 10445 	1. DEFECT FIX: INC052550 NTT Ekern crash when read epoc.ini
 10446 
 10447 
 10448 Version 2.00.547
 10449 ============================
 10450 (Made by KamranN, 06/12/2004)
 10451 
 10452 1.	MichaelP
 10453 	1.	DEFECT FIX: DEF051640 - "Cannot derive from DDmaRequest because of missing exports"
 10454 		'Refroze' the DMA EABI .DEF file, so that typeinfo and vtables got included.
 10455 
 10456 2. 	CarlosF
 10457 	1.	MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
 10458 		This is a BC Break - SCB confirmation number 1240.1
 10459 	2.	MINOR_CHANGE: include power managemenet in Template ROMS
 10460 
 10461 3.	RichardCo
 10462 	1.	DEFECT FIX: DEF052199 - CObjectConIx::Lookup fails unnecessarily.
 10463 	2.	DEFECT FIX: DEF047137 - NAND Crash logger attempts to overwrite a page.
 10464 
 10465 4.	JonathanM
 10466 	1.	MINOR CHANGE: Fixed typo bug in T_SCHEDHOOK test code.
 10467 		Line 117 - ThreadWFAR.SetPriority changed to ThreadExecCall.SetPriority
 10468 	2.	MINOR CHANGE: Add a check to E32DEF.H to ensure Cedar code is built with an
 10469 		OS configuration set. (It asserts that 'EKA2' is defined.)
 10470 	3.	DEFECT FIX: DEF052167 - Bug in DMemModelChunk::Decommit
 10471 
 10472 5.	AndrewR + JonathanM
 10473 	1.	DEFECT FIX: DEF050495 - platsec: too easy for clients to foget to use __PLATSEC_DIAGNOSTIC_STRING
 10474 
 10475 6.	KamranN
 10476   	1. Mike,GT0223,MS3.3.1 PREQ810 Startup phone first - (SYS3.1)
 10477 
 10478 
 10479 Version 2.00.546
 10480 ============================
 10481 (Made by JonathanM, 29/11/2004)
 10482 
 10483 1.	JonathanM
 10484 	1.	DEFECT FIX: DEF051851 - Shared IO Buffer fault when process dies
 10485 	2.	MILESTONE: Yankee,GT0217,MS3.9.1 CR - CDRS-65RK9F : Add 2 new capabilities
 10486 		SurroundingsDD and UserEnvironment onto the system for future proofing
 10487 		CHANGE REQUEST: CDRS-65RK9F - Add 2 new capabilities SurroundingsDD and
 10488 		UserEnvironment onto the system for future proofing
 10489 		INTERFACE CHANGE: BR1239.1 Add SurroundingsDD and UserEnvironment capabilities.
 10490 		NOTES FOR MCL SUBMISSION:
 10491 		BR1239.1 is a Binary Compatability Break. Due to the creation of two new
 10492 		capabilities, all executables compiled with CAPABILITIES ALL[-xxx....] in their mmp
 10493 		files need to be recompiled.
 10494 	3.	MILESTONE: Yankee,GT0217,MS3.1.9 PS8.1.2 SYMBIAN_REMOVE_INSECURE_API
 10495 		This removes the implementation of the security classes when
 10496 		SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION is defined.
 10497 		Affected classes are: CSecurityEncryptBase, CSecurityDecryptBase,
 10498 		CSecurityBase, CBoundedSecurityBase and Security
 10499 
 10500 2.	DjordjeK
 10501 	1.	MINOR CHANGE: Fixed d_eventtracker test for MARM build.
 10502 
 10503 3.	AndrewR
 10504 	1.	DEFECT FIX: DEF051902 - TUid operator== return TInt instead of TBool
 10505 
 10506 4.	MichaelP
 10507 	1.	DEFECT FIX: DEF052061 - "USB Config Descriptor: bMaxPower cannot be set to max from PSL"
 10508 		Extended the 'aMaxPower' argument for TUsbcConfigDescriptor::New() to a TUint16.
 10509 
 10510 5.	SimonT
 10511 	1.	DEFECT FIX: DEF048784 - "Complete NAND support (boot from NAND) (incl. custom restart)."
 10512 	2.	DEFECT FIX: DEF052013 - "nand loader cannot be used in automated tests"
 10513 	3.	DEFECT FIX: DEF051079 - "Dubious use of KHoGpio_WakeUp_Enable"
 10514 	4.	DEFECT FIX: DEF052135 - "H2 debugport code needs a polish"
 10515 	5.	DEFECT FIX: DEF050787 - "H2 audio driver requires routing changes for telephony"
 10516 	6.	DEFECT FIX: DEF051934 - "record buffer in h2 sound driver is too small"
 10517 
 10518 6.	RichardCo
 10519 	1.	DEFECT FIX: DEF051549 - Crash loggers don't check bounds when writing
 10520 
 10521 
 10522 Version 2.00.545
 10523 ============================
 10524 (Made by StefanW, 19/11/2004)
 10525 
 10526 1.	GongjunC
 10527 	1.	DEFECT FIX: DEF051108 - Textshell window server defect
 10528 
 10529 2.	MichaelP
 10530 	1.	CR CWAK-5XBLCM "Enhance EKA1 with a backport of the EKA2 USB solution to EKA1
 10531 		(and maintain this as a part of EKA1)" - Porting more performance enhancement
 10532 		and API changes from EKA1 back to EKA2.
 10533 		Also, added 'USB API' and 'USB PSL How-To' documents:
 10534 		\documentation\USB_Client_Driver_API.doc
 10535 		\documentation\Base_How_To_USB_PSL_EKA2.doc
 10536 		NOTE: BC/SC breaks for USB PDD and LDD, SCB confirmation numbers: BR1025.3 and
 10537 		BR1133.1.
 10538 		(This submission includes the changed USB PDDs for Lubbock/Cotulla and H2/OMAP.)
 10539 
 10540 	2.	Added Template USB Client driver (USB PSL) - Part of MS3.3.3 - PREQ515 "Template
 10541 		Base Port Implementation".
 10542 
 10543 	3.	Added Template DMA driver - Part of MS3.3.3 - PREQ515 "Template Base Port
 10544 		Implementation".
 10545 
 10546 	4.	Fixed defect DEF051663 - "Intermittent problems with ZLPs when using
 10547 		RDevUsbcClient::Write":
 10548 		Disabled the double-buffering functionality in BulkTransmit() in the Lubbock
 10549 		USB PSL in \e32\eusbcc\epoc\cotulla\pa_usbc.cpp. As this is only a workaround,
 10550 		it will slightly impede	transfer performance for Bulk IN transfers.
 10551 
 10552 
 10553 Patches to Version 2.00.544
 10554 ============================
 10555 
 10556 1.	AndrewR
 10557 	1.	DEFECT FIX: DEF051751 - GCCXML Warnings in build 03418
 10558 
 10559 
 10560 Version 2.00.544
 10561 ============================
 10562 (Made by DjordjeK,  16/11/2004)
 10563 
 10564 1.	DjordjeK
 10565 	1.	CR (RFID-646KE2) System, GT0217 Yankee Base , More information required from Crash Logger
 10566 		Crash Logger now logs the content of IRQ & FIQ mode stacks.
 10567 		NOTE: This is BC break. SCB confirmation number is : 1251.1
 10568 
 10569 2.	MiguelB
 10570 	1.	DEF051268 - NULL pointer access in USB Channel and output unneccessary error debug
 10571 	2.	INC051297 - Sound driver prevents emulator boot
 10572 
 10573 3.	JasmineS
 10574 	1.	Improve spash screen for Integrator to show all colours
 10575 	2.	Make T_MEMBM return more meaningful values by increasing test array size.
 10576 
 10577 4.	RichardCo
 10578 	1.	Fix DEF050037 - NAND Crash Logger panics in initialisation
 10579 
 10580 5.	CarlosF
 10581 	1.	MILESTONE: Yankee,GT0217,MS3.3.3 PREQ515 Template Base Port Implementation (part 3 of 3)
 10582 		Power Management reference implementation.
 10583 	2.	(Partial) Fix for DEF050989 - Changes required in Distribution Policy due to incorrect
 10584 		Perforce entries. The rest of the fix is in \beech branch.
 10585 	3.	MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
 10586 		This is a BC Break - SCB confirmation number BR1223.1
 10587 
 10588 6.	JonathanM
 10589 	1.	DEFECT FIX: DEF051590 - RThread::RquestComplete performance improvement.
 10590 		This involves making RThread::RequestComplete update the request status user-side
 10591 		when SYMBIAN_REMOVE_INSECURE_API is defined.
 10592 		Also added new method, RThread::RequestSignal to support the above.
 10593 	2.	Added debug asserts to NFastMutex::Signal() and NFastMutex::Wait() which check
 10594 		that the preconditions for these have been met.
 10595 	3.	CHANGE REQUEST: JMET-66EE3J - Add constants to represent null thread and process IDs
 10596 		MILESTONE: Mike,GT0223,MS3.6.1 CR - JMET-66EE3J - Add constants to represent null thread and process IDs
 10597 
 10598 
 10599 Version 2.00.543
 10600 ============================
 10601 (Made by AndrewHi, 05/11/2004)
 10602 
 10603 1.	KeithR
 10604 	1.	MINOR_CHANGE - Clarified process isolation diagnostics in e32/kernel/sipc.cpp
 10605 
 10606 2.	JonathanM
 10607 	1.	DEFECT FIX: DEF050961 - Re-defining an RProperty causes the security policy to be overwritten
 10608 	2.	MILESTONE: Mike,GT0223,MS3.4.1 PREQ799 - Memory management for multi-megapixel cameras (REQ3699)
 10609 	3.	MILESTONE: Yankee,GT0217,MS3.1.8 PS8.1 - Deprecate/remove dangerous EKA1 APIs
 10610 
 10611 3.	RichardCo
 10612 	1.	Fixed DEF050118 - Behavioural difference in CCaptureKeys between EKA1 and EKA2
 10613 
 10614 4.	AndrewR
 10615 	1.	MINOR_CHANGE - Fix typo in e32/nkern/arm/ncsched.cia
 10616 	2.	Fix DEF045938 - CDeltaTimer drifts around 10%, also does not allow App Processor to power down
 10617 
 10618 
 10619 Version 2.00.542
 10620 ============================
 10621 (Made by CarlosF, 25/10/2004)
 10622 
 10623 1.	JenniferH
 10624 	1.	Fixed INC046796 - NTT - Error comparing to N/A
 10625 
 10626 2.	JonathanM
 10627 	1.	DEFECT FIX: DEF049602 - Unresumed processes aren't cleaned up when the creator process dies
 10628 	2.	DEFECT FIX: DEF049616 - Minor security risk with Process IDs
 10629 
 10630 3.	RichardCo
 10631 	1.	Fixed DEF050208 - T_CFTESTS.exe in F32Test is failing in overnight builds in Cedar
 10632 
 10633 4.	AndrewR
 10634 	1.	MINOR_CHANGE - Add catch(XLeaveException&) to emulator EpocThreadFunction to support
 10635 		__LEAVE_EQUALS_THROW__
 10636 
 10637 5.	DjordjeK
 10638 	1.	Fixed DEF049828 - Debug Monitor and Crash Debbuger do not work fine all together
 10639 	2.	Fixed DEF050504 - Publish and subscribe plat sec related interface changes (RPropertyRef::Define)
 10640 				  NOTE: This is a SC break. SCB confirmation numbers are : BR1017.3 & BR1017.4
 10641 
 10642 6.	SimonT
 10643 	1.	DEF048136 - t_video doesn't turn off the backlight
 10644 	2.	DEF048338 - H2 switch off/on doesn't appear to work reliably
 10645 	3.	DEF049004 - USB hangs in tpantestusb_normalrom for H2
 10646 	4.	MINOR_CHANGE - Fix Arm::DebugInJTAG
 10647 	5.	MINOR_CHANGE - Fix and enable H2 benchmark suite on base tests builds
 10648 
 10649 7.	MiguelB
 10650 	1.	DEF048462 - MMC stack overwrites correct settings when Card Spec is greater than 3
 10651 	2.	DEF050127 - Capabalities of MMC card is shown wrongly after a hotswap for "unlockable" card
 10652 	3.	DEF050770 - MMC stack should check pointer validity before de-referencing
 10653 	4.	DEF050771 - MMCStack::StackSessionCB returns incorrect error for s/w based card detection
 10654 
 10655 8.	KeithR
 10656 	1. 	DEF050643 - PlatSec: misleading diagnostics for Rename()
 10657 
 10658 
 10659 
 10660 Patches to Version 2.00.541
 10661 ============================
 10662 
 10663 1.	JonathanM
 10664 	1.	DEFECT FIX: DEF050385 - SS there is no way of suppressing inappropriate platsec diagnostics
 10665 	2.	DEFECT FIX: DEF050585 - SS [System Build] EDBMS.DLL not Built and Associated Errors
 10666 	3.	DEFECT FIX: DEF050964 - SS [PlatSec] Loader can fail to map "sys\bin" to the emulator path
 10667 
 10668 2.	AndrewR
 10669 	1.	DEFECT FIX: DEF050584 - [System Build] DRTAEABI.DLL not Built
 10670 
 10671 
 10672 Version 2.00.541
 10673 ============================
 10674 (Made by GongjunC, 18/10/2004)
 10675 
 10676 1.	AndrewR
 10677 	1.	DEF050010 - Math::[U]DivMod64 problems on ARM
 10678 	2.	MINOR_CHANGE - Prevent ARM4 from defining __LEAVE_EQUALS_THROW__, to support base test builds
 10679 	3.	DEF050083 - Incorrect exception specifications on operator new() in e32 headers
 10680 
 10681 2.	Dennis
 10682 	1.	Increase ROM size limits on base test ROMs to stop 'ROM overflowed'
 10683 		errors in overnight build.
 10684 
 10685 3.	DjordjeK
 10686 	1.	DEF042614 - Mistakes in API Classification. In-line documentation change only.
 10687 
 10688 4.	JonathanM
 10689 	1.	Fixes for test code: T_IDRV and T_TLDD were failing on a ARM1136 Integrator
 10690 
 10691 5.	CiprianM
 10692 	1.	Fixed for DEF050119 - CActiveScheduler::RunIfReady doesn't clear flags correctly
 10693 
 10694 6.	MichaelP
 10695 	1.	Fixed defect DEF048442 - Mistakes in API Classification. In-line documentation change only.
 10696 		(This is the Peripherals part of DEF042614.)
 10697 
 10698 
 10699 Version 2.00.540
 10700 ============================
 10701 (Made by Kamran, 08/10/2004)
 10702 
 10703 1.	MiguelB
 10704 	1.	Added template lffs driver - (Part of MS3.3.3 - PREQ515 Template Base Port Implementation)
 10705 	2.	DEF046358 - MMC card change notifcations not issued on Lubbock running Cedar
 10706 
 10707 2.	JonathanM
 10708 	1.	DEFECT FIX: DEF049601 - USB driver doesn't cleanup physical RAM allocation correctly
 10709 
 10710 3.	DjordjeK
 10711 	1.	DEF047569  Performance: CObjectIX and CObjectContainer classes
 10712 		NOTE: This is a BC break. SCB confirmation number: BR1162.1
 10713 	2.	MINOR CHANGE in base internal test program d_latncy
 10714 	3.	DEF049186 - Performance: DObjectIx
 10715 
 10716 4.	AndrewR
 10717 	1.	DEF049679 - TRealX::operator TInt64 corrupts the stack on MSVC8 and incorrect for others
 10718 	2.	DEF049711 - TRAPD definition broken
 10719 	3.	MINOR_CHANGE - Fix warnings in t_i64
 10720 	4.	MINOR_CHANGE - Fix failures in t_i64
 10721 	5.	DEF049892 - Epoc32 console does not honour CursorHeight
 10722 	6.	DEF049897 - TTimeIntervalBase bool operators declare TBool but define TInt
 10723 
 10724 5.	MichaelMo
 10725 	1.	DEF049754 - t_chunk missing call to RTest::End()
 10726 	2.	INC049205 - NTT Test case t_mwait doesn't print rtest result
 10727 
 10728 6.	JasmineS
 10729 	1.	INC049392 - NTT base\hal savehal fails in EKA2 due to improper path
 10730 
 10731 7.	CarlosF
 10732 	1.	MS3.6.1 PREQ550 Document Power Model
 10733 
 10734 8.	RobertJ
 10735 	1.	DEF049960 - Incorrect thread write function used in USB PIL
 10736 		Added a test case for this in T_usbapi
 10737 
 10738 
 10739 Version 2.00.539
 10740 ============================
 10741 (Made by YingS, 22/09/2004)
 10742 
 10743 1.	DennisM
 10744 	1.	Milestone: Yankee, GT0217 MS3.7.2 Base 1: Implement TInt64 as a built in type on EKA2
 10745 		CR ATHE-5VFL29 "Implement TInt64 as a built in type on EKA2"
 10746 
 10747 2.	KeithR
 10748 	1.	MINOR_CHANGE - changed Multimedia to MultimediaDD in comments
 10749 
 10750 3.	JonathanM
 10751 	1.	Expanded the Capabilities of EWSRV.EXE to ALL-TCB. This is to enable
 10752 		text notifier plugins to make use of a full capabilities.
 10753 		NOTES FOR MCL SUBMISSION
 10754 		On the day this change is Submitted to the MCL, tell Keith Robertson
 10755 		so that he can update the Master List of capabilities (this will prevent
 10756 		a build warning and defect being raised.)
 10757 	2.	DEFECT FIX: DEF048953 - Text notifier server's thread heap size should be increased
 10758 	3.	DEFECT FIX: DEF049305 - E32 fails to build EDLL.LIB if __SECURE_API__ is defined
 10759 
 10760 4.	CiprianM
 10761 	1.	Fixed DEF049008  RNotifier needs "update" functionality that guarantees the response gets back
 10762 
 10763 5.	JasmineS
 10764 	1.	MS3.1.2 PREQ277 Platsec REQ3527
 10765 		Secure Storage of HAL attributes
 10766 		Reimplemented HAL global data in terms of Publish and Subscribe
 10767 
 10768 
 10769 Version 2.00.538
 10770 ============================
 10771 (Made by JasmineS, 09/09/2004)
 10772 
 10773 1.	Dennis
 10774 	1.	Fix problem with D_LATNCY.LDD on lubbock.
 10775 	2.	GT0217 MS3.5.1 PREQ519
 10776 		User::Leave() in terms of throw()
 10777 		Implemented on EABI builds, configured by __LEAVE_EQUALS_THROW__
 10778 		Not yet implemented on the emulator.
 10779 
 10780 2.	CarlosF
 10781 	1. 	MINOR_CHANGE - Insert relevant Interface Management tags.
 10782 	2.	Fix defect DEF048124 - Incorrect IPR Category & Component name within
 10783 		Dist. Policy File for Sierra
 10784 
 10785 3.	SimonT
 10786 	1.	DEF048135, Touchscreen calibration is somewhat off in PORTRAIT mode
 10787 	2.	DEF048333, Keypad doesn't get interrupts on Rev C surfer boards
 10788 	3.	DEF048339, Work required to improve audio support on H2
 10789 
 10790 4.	JasmineS
 10791 	1.	DEF047450, T_R64BMFNC.CPP : Optimisation removes active code
 10792 
 10793 5.	JonathanM
 10794 	1.	Defect Fix: DEF048750 - Hardware Chunks are visible to user side code
 10795 
 10796 6.	JenniferH
 10797 	1.	Defect Fix: DEF047566 - Problems due to heap being compacted more aggressively in Cedar.
 10798 
 10799 
 10800 Version 2.00.537
 10801 ============================
 10802 (Made by MichaelP, 27/08/2004)
 10803 
 10804 1.	JonathanM
 10805 	1.	Fix for parsing of large integer properties in emultaor ini file,
 10806 		and command line. (Values >= 0x80000000 were getting set to 0x7fffffff)
 10807 	2.	Turned on PlatSecEnforceSysBin for all Base ROMs.
 10808 		This forces all executables to be placed in the \sys\bin\ directory
 10809 		of ROMs and makes the loader only look in this directory. Any file path
 10810 		specified when loading executables is ignored.
 10811 2.  KeithR
 10812 	1.	Updated Architectural Description.  Revamped section 3 about required
 10813 		capabilities for direct access to device drivers.
 10814 	2.	DEF048147, iRangeCount field in CPolicyServer::TPolicy is too small
 10815 		This breaks SC with any existing CPolicyServer::TPolicy classes.
 10816 		However, at the time of writing there were none in the MCL.
 10817 		Additionally, the fix is trivial.  To facilitate the fix the TUint16
 10818 		iSpare field in CPolicyServer::TPolicy has been removed.  Thus any
 10819 		explicit instantiations of this value must also be removed.  As an
 10820 		example, I've modified the sample code from the documentation.
 10821 
 10822 		const CPolicySErver::TPolicy myPolicy =
 10823 			{
 10824 			CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
 10825 			myRangeCount,
 10826 			myRanges,
 10827 			//####Following line must be removed####
 10828 			//0, 							//iSpare must be zero
 10829 			//####End of line that must be removed.####
 10830 			myElementsIndex,
 10831 			myElements,
 10832 			}
 10833 
 10834 		Break Request Number: BR 1147.1
 10835 
 10836 3.	TonyL
 10837 	1.	DEF047811, OMAP DMA should reset the channel to defaults on close
 10838 	2.	DEF047952, omap baseport doesn't have recognition for the ES1.2 1623
 10839 		core
 10840 	3.	DEF048104, possibility of spurious ps2 keypresses on H2 startup
 10841 	4.	DEF048105, Integrate changes from camera code review
 10842 	5.	DEF048106, USB soft connect/disconnect doesn't work
 10843 
 10844 4.	AndrewR
 10845 	1.	DEF047010, Placement operator new for arrays missing in E32
 10846 
 10847 
 10848 Version 2.00.536
 10849 ============================
 10850 (Made by DjordjeK, 18/08/2004)
 10851 
 10852 1.	Dennis
 10853 	1.	Fixed defect DEF 047427 Duplicate definition in ncsched.cia
 10854 	2.	Added __ASSERT_ALWAYS_NO_LEAVE and __ASSERT_DEBUG_NO_LEAVE macros to
 10855 		assert that code does not leave in all builds and in debug builds
 10856 		respectively.
 10857 
 10858 2.	JonathanM
 10859 	1.	Fixed corrupt drive X: on emulator by adding FS_FORMAT_CORRUPT
 10860 		for drive X: in wins/estart/estart.txt
 10861 	2.	Defect Fix: DEF047931 - Loader crash when PlatSecEnforceSysBin is ON
 10862 
 10863 3.	TonyL
 10864 	1.	Fix for DEF047556. H2 rom files should allow creation of images
 10865 		of 32MB in size. (Note that this image size is only valid for
 10866 		RAM based images).
 10867 	2.	Fix for DEF047557. H2 USB LDD/PDD wrongly specified in ROM files
 10868 	3.	Fix for DEF047558. Implement errata 1.4.28 in for the OMAP H2 baseport
 10869 	4.	Fix for DEF047561. H2 fails T_KHEAP
 10870 	5.	Fix ARMV5 warnings for lcd and edisp drivers which were missing the
 10871 		NONSHAREABLE_CLASS primitive.
 10872 
 10873 4.	CiprianM
 10874 	1.	PREQ3 - REQ2718 Part 2/2: Enable devices with multiple displays -
 10875 		EKA1 (dummy API) + EKA2,  Emulator (part II).
 10876 		This contains a BC break in TRawEvent - approval id BR1073
 10877 	2.	Fixed DEF047610  defective ScreenOffsetY
 10878 	3.	Removed the non-ASCII sterling pound symbol and replaced it with the
 10879 		hex representation to allow compilation of the code when default Far
 10880 		East locales are used
 10881 
 10882 5)	MiguelB
 10883 	1)	As part of "MS3.1.7 Platform security file handle sharing",
 10884 		changed these signatures:
 10885 			inline RSessionBase& RSubSessionBase::Session(); to
 10886 			IMPORT_C const RSessionBase RSubSessionBase::Session() const;
 10887 
 10888 			inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs); to
 10889 		 	inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
 10890 
 10891 			inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction); to
 10892 			inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);
 10893 
 10894 		 	IMPORT_C TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs); to
 10895 			IMPORT_C TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);
 10896 
 10897 		NOTE: The first is a BC/SC break. SCB confirmation number: BR1099.1
 10898 
 10899 6)	MichaelP
 10900 	1.	Fixed defect DEF047456 - USB LDD device driver aborts
 10901 		In the USB PIL (in DUsbClientController::EndpointCaps and
 10902 		DUsbClientController::DeviceCaps) we now use Kern::ThreadRawWrite
 10903 		instead of a plain descriptor copy to update the caps structures.
 10904 		Also, in the LDD certain user-provided parameters are now copied over
 10905 		via Kern::ThreadRawRead rather than referenced directly.
 10906 
 10907 
 10908 Patches to version 2.00.535
 10909 ============================
 10910 (Made by JonathanM, 11/08/2004)
 10911 
 10912 1.	JonathanM
 10913 	1.	Defect Fix: DEF047249 - Inconsistent capability checking return types
 10914 		Interface Change: BR 1114.1 Some of the HasCapability apis in base return
 10915 			TInt's whilst others return TBools. They should all return TBools.
 10916 
 10917 2.	CiprianM
 10918 	1.	Fixed INC047873 - Week 32 8.1b emulator fails to start
 10919 
 10920 
 10921 Version 2.00.535
 10922 ============================
 10923 (Made by KamranN, 04/08/2004)
 10924 
 10925 1.	MichaelP
 10926 	1.	Implemented CR MPED-5XDM2V "Enable USB DMA Support on EKA2":
 10927 		DMA support has been added throughout the USB driver stack, with changes
 10928 		at the PDD/LDD interface and the addition of two new virtual functions
 10929 		at the PSL/PIL interface:
 10930 		virtual DUsbClientController::TInt OpenDmaChannel(TInt aRealEndpoint);
 10931 		virtual DUsbClientController::void CloseDmaChannel(TInt aRealEndpoint);
 10932 		Support for DMA transfers has been added to the Cotulla PSL, however
 10933 		due to UDC hardware problems this is conditional (#define's) and is
 10934 		disabled by default.
 10935 		NOTE: BC Break in the USB PDD - SCB confirmation number: BR1084.1.
 10936 
 10937 2.	Jonathanm
 10938 	1.	Yankee,GT0217,MS3.1.5 PS8.3 Add "!" in front of the names of services to
 10939 		ensure kernel protection
 10940 	2.	E32 and E32TEST changes required for H2 baseport.
 10941 
 10942 3.	MiguelB	Fix for DEF047057 - CBR/Kits errors in MCL build 03323 8.1b:
 10943 		Deleted: template/base_template.mrp
 10944 		replaced with:
 10945 			template/template_assp/base_template_assp.mrp and
 10946 			template/template_variant/base_template_variant.mrp
 10947 
 10948 4.	AndrewR
 10949 	1.	Implement CR - LKUH-5WJMEA: Correct and improve EKA2 Stop-Mode Debug API
 10950 
 10951 5. 	Peters
 10952 	1.	Changes due to the implemented REQ3489: 'Dividing ESTART into separate generic
 10953 		and customisable parts'. Now both Lubbock and WINS platforms have a customised
 10954 		version of ESTART.
 10955 
 10956 6.	TonyL
 10957 	1.	OMAP H2 baseport handoff.
 10958 
 10959 7.	KamranN
 10960 	1. 	Added timeouts for Lubbock tests
 10961 
 10962 
 10963 Patches to Version 2.00.534
 10964 ============================
 10965 (Made by MichaelP, 04/08/2004)
 10966 
 10967 1.	MichaelP
 10968 	1.	Fixed defect DEF047336 - [System Build] : CBR warnings (Base) in 03332 build.
 10969 		Deleted the following two lines from base\lubbock\base_lubbock.mrp:
 10970 		-binary \epoc32\release\arm4\coreldr.bin
 10971 		-binary  \epoc32\release\arm4\miniboot.bin
 10972 		as the files referenced don't exist (they don't get built).
 10973 
 10974 
 10975 Version 2.00.534
 10976 ============================
 10977 (Made by JonathanM, 26/07/2004)
 10978 
 10979 1.	JonathanM
 10980 	1.	Yankee,GT0217,MS3.1.4 PS6.3.2 Ignore path information for binary files
 10981 		within ROM build and loader.
 10982 	2.	Fix for DEF047047 - It's not possible to construct TSecurityPolicy
 10983 		objects at compile time
 10984 
 10985 Version 2.00.533
 10986 ============================
 10987 (Made by AndrewJ, 21/07/2004)
 10988 
 10989 1.	MichaelP
 10990 	1.	Fixed DEF046615 - Unnecessary timer is set in Suspend ISR routine:
 10991 		In the USB PIL we now move to the Suspend state straight away, but check after
 10992 		500ms in the timer callback whether the cable is actually still there and
 10993 		change to the Undefined device state if it is not (= cable has been pulled).
 10994 
 10995 2.	Dennis
 10996 	1.	Extended RArray and RPointerArray to support geometric growth.
 10997 	2.	Maintain list of code segments in order of name to speed up checking for
 10998 		already loaded code segments.
 10999 	3.	Maintain list of code segments in run address order to allow efficient
 11000 		location of the code segment containing a given instruction address.
 11001 	4.	Store address of exception descriptor in code segment. Add function
 11002 		UserSvr::ExceptionDescriptor to find the exception descriptor which
 11003 		corresponds to a given instruction address.
 11004 
 11005 3.	Djordje
 11006 	1)	REQ2731.3 (PREQ728): Descriptors API enhancement (RBuf)
 11007 	2)	DEF046598 - TDateTime bug
 11008 	3)  DEF046353  Error in in-source documentation for TDesC16::FindC (three parameter variant)
 11009 	4)  DEF046617  memory model not taken into account when building debug monitor
 11010 
 11011 4.	JonathanM
 11012 	1.	Made emulator try and load an INI file called 'defaulttest.ini' if the
 11013 		normal ini file wasn't found.
 11014 	2.	Made E32TEST and F32TEST export a 'defaulttest.ini' so emulator testing
 11015 		uses the PlatSec settings we want.
 11016 	3.	Added PlatSec diagnostic messages to methods which attempt to open handles
 11017 		on protected kernel objects.
 11018 
 11019 5.	CarlosF
 11020 	1.	MS3.3.1 - PREQ515 Template Base Port Implementation
 11021 
 11022 6.	RobertJ
 11023 	1. 	Fixed DEF043662 - Lubbock 'dies' doing RUsb::Stop
 11024 		The basic solution is to stop the channel destructor from getting interrupted
 11025 		by a notification DFC or a data transfer completion DFC and by cancelling all
 11026 		possible outstanding DFCs at an early stage in the channel destructor
 11027 
 11028 7.	CiprianM
 11029 	1.	Fixed DEF046808 - Panic in CBitMapAllocator::IsFree(int, int) when allocate
 11030 		a contiguous 600K memo
 11031 	2.	Fixed INC045738 - emulator OnActivation keycode/scancode mixup
 11032 
 11033 8.	KamranN
 11034 	1. 	Fixed DEF045510  Bad structure member alignment in TLocalDriveCapsV3
 11035 		NOTE: Fix causes BC Break and this has been approved by System Compatibility Board (confirmation number BR1093.1)
 11036 
 11037 Version 2.00.532
 11038 ============================
 11039 (Made by AndrewH, 06/07/2004)
 11040 
 11041 1.	AndrewR
 11042 	1.	Fix DEF045730 - SDblQue methods should be const
 11043 
 11044 2.	PeteS
 11045 	1.	Fixed defect DEF022437 'CMD1 to ready timeout'. This is related to
 11046 		powerering up MMC cards.The busy timeout for CMD1 (a command issued during
 11047 		the card init. sequence) has been increased from 200ms to 1000ms. Additionally,
 11048 		the polling interval between busy checks has been reduced from 40ms to 10ms.
 11049 		The fix involves changes to the classes TMMCStackConfig and TMMCCommandDesc.
 11050 		Prior to the change, the member: "iPollAttempts" was used to hold info. on the
 11051 		number of retries the controller made in the event of a busy timeout. This applied
 11052 		to busy timeouts during both card power-up and write operations. Now this member
 11053 		only applies to busy timeout during writes. A new TUint16 member: "iOpCondBusyTimeout"
 11054 		now applies to busy timeout during card power-up. To reduce the chance of
 11055 		compatibilty issues as a result of adding this new member, the existing
 11056 		member: "iUnlockRetries" has been reduced from TUint to TUint16 to keep
 11057 		the overall size of these classes the same.
 11058 		The approval ids for these changes are: 1055.1 to 1055.3.
 11059 
 11060 		Base Port Impact:
 11061 		As mentioned above, there have been changes to the MMC related classes
 11062 		TMMCStackConfig and TMMCCommandDesc. However, it is highly unlikely that the
 11063 		changes to either of these classes will have any impact on an MMC base port.
 11064 
 11065 		The class TMMCCommandDesc is used routinely in an MMC baseport. However, the changes
 11066 		to this class relate to members which should only be accessed by the Platform
 11067 		Independent layer of the MMC Controller. However, if these members are being
 11068 		accessed in the base port for some reason:-
 11069 			Use of the member "iUnlockRetries". The change in size of this is a BC
 11070 		issue which will be fixed by re-building.
 11071 			Anyone using this class alter the busy retry count on card power up
 11072 		(ie altering "iPollAttempts") should alter the new member:"iOpCondBusyTimeout"
 11073 		instead.
 11074 
 11075 		It is unlikely that any MMC base port will use the class TMMCStackConfig. However,
 11076 		if this is used, the only issue is that those using this class alter the maximum
 11077 		busy retry count on card power up (ie altering "iPollAttempts") should alter
 11078 		the new member:"iOpCondBusyTimeout" instead. ie - use SetOpCondBusyTimeout() rather
 11079 		than SetPollAttempts().
 11080 	2.	Fixed defect DEF022432 'User cannot lock a MultiMediaCard (ver. MMCA 3.1 or
 11081 		later)'.
 11082 
 11083 3.	Dennis
 11084 	1.	Fixed bug in EKA2 emulator - an invalid fast executive call would crash the system.
 11085 	2.	Fixed double-unlock problem with Kern::SemaphoreWait().
 11086 	3.	Added BASEDEFAULT option to BLDMAKE for use in PRJ_PLATFORMS.
 11087 		This is like DEFAULT, but includes extra builds used by base.
 11088 		Changed all base BLD.INF files to use this instead of DEFAULT.
 11089 	4.	Don't include CallViaRn.cpp in USRT, KSRT when building ARMV4.
 11090 	5.	Tools define __MARM_INTERWORK__ when building for ARMV5 (or other EABI
 11091 		builds which support THUMB). E32 uses this to determine whether THUMB
 11092 		interworking should be supported.
 11093 	6.	Fixes for ARMV4 build.
 11094 	7.	Exception support is turned off for kernel side code.
 11095 	8.	Fix problem in RMsgQueueBase::SendBlocking, ReceiveBlocking
 11096 		TRequestStatus not set to KRequestPending.
 11097 
 11098 4.	CiprianM
 11099 	1.	Fixed DEF044824 - Problems with CWsScreenDevice::SetCurrentRotations()
 11100 	2.	PREQ3 - REQ2718 Part 1/2: Enable devices with multiple displays - EKA1 (dummy API) + EKA2
 11101 		,  Emulator (part I).
 11102 		Changes to HAL to allow multiple handles for the same properties.
 11103 		Variants of Kern::AddHalEntry, Kern::RemoveHalEntry and Kern::FindHalEntry which take a
 11104 		device number as parameter has been introduced. Old versions assume device 0 (default
 11105 		device). A second video driver should make itself handler for EDisplayXXX attributes by
 11106 		calling Kern::AddHalEntry(..,..,..,1) to handle screen 1.
 11107 		HAL::Set and HAL::Get APIs that take a device number have been added.
 11108 		EDisplayNumberOfScreen HAL attribute has been added. By default, it is 1.
 11109 		The emulator has been enhanced to support multiple screens, each screen will have its own
 11110 		window, the window title will contain the screen number. A control window has been
 11111 		introduced, which displays the old title and which closes the application.
 11112 		A new screen can be specified in emulator by adding the keyword _NewScreen_, all the
 11113 		screen properties (eg. screen width) after the keyword will be associated with the new
 11114 		screen. _NewScreen_ is only required for additional screens, the default screen (screen 0)
 11115 		doesn't need it.
 11116 		HAL implementation functions have changed, by needing a new parameter (device number). This
 11117 		has a potential impact on base ports if any licensee modified these implementations or if
 11118 		they've added new HAL attributes.
 11119 	3.	Fixed DEF046674 - Shared io buf DoCreate tries to memset a hardware buffer
 11120 
 11121 5.	DjordjeK
 11122 	1)	Fixed: DEF043303 - Undesired carriage returns in VT100 display when using RDEBUG output.
 11123 	2)	Fixed: DEF044439 - TVersion::Name should be const
 11124 
 11125 6.	JonathanM
 11126 	1.	Sierra,GT0196,MS3.6 PlatSec IM12 Kernel work - REQ2634 Configurability of process protection
 11127 	2.	Added User::RenameThread() and User::RenameProcess(). These are replacements
 11128 		for RThread::RenameMe() and RProcess::RenameMe();
 11129 7.	AndrewHi
 11130 	1.	Sierra, PREQ 537 part 2 and PREQ 729 part 2 - file system layout and F32 data caging enforcement
 11131 
 11132 8.	MichaelP
 11133 	1.	Fixed DEF046614 - USB: Re-enumeration delay should be shorter:
 11134 		Reduced the reconnection delay in ps_usbc.cpp from 2s to 500ms.
 11135 
 11136 Patches to version 2.00.531
 11137 ============================
 11138 1.	CiprianM
 11139 	1. Implemented REQ2731.4 Active Scheduler
 11140 	THIS IS A BC break. Break approval id: BR1031
 11141 
 11142 Version 2.00.531
 11143 ============================
 11144 (Made by MichaelP, 17/06/2004
 11145 
 11146 0.	JonathanM
 11147 	Milestone: Yankee,GT0217,MS3.1.1 PlatSec Capability Check (PS5.11 & PS5.12).
 11148 	Capability checks in E32 and HAL APIs enabled.
 11149 
 11150 1.	DennisM
 11151 	1.	Fixed defect DEF045564 - Incorrect CLZ macro
 11152 
 11153 2.	StefanW
 11154 	1.	Implemented CR - CLCT-5SAN3S Split SD Card example port into a 3C version and a 4C version on Cedar
 11155 		3C and 4C code has been split, allowing the Integrator target to be built for SD only or SD+CPRM.
 11156 		Specify --m=lmpsdio at ROM building time for SD only, --m=lmpsdiop for SD+CPRM
 11157 
 11158 	2.	Fixed DEF043653 - Nand buffers should be allocated at the driver level
 11159 		NAND Media Drivers may now enable the use of a memory allocator which allocates buffers from a pool
 11160 		allocated by the PSL at initialisation (overriding the use of stack based buffer allocation).
 11161 
 11162 		To enable the allocator:
 11163 			1. Define __USE_CUSTOM_ALLOCATOR in the mandatory exported nand_plat.h header file.
 11164 			2. Provide a concrete implementation of the TNandAllocatorBase derived class, implementing the pure
 11165 			   virtual function: TInt TNandAllocatorBase::AllocateBuffers(SBufferInfo& aBufferInfo)
 11166 			3. Provide the factory function TNandAllocatorBase* DMyNandMediaDriver::ExtensionInitAllocator();
 11167 
 11168 	3.	Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
 11169 		the password.  This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
 11170 		issue the FORCE_ERASE command to the media via CMD42.  If successful, this should be follows by a standard
 11171 		'quick format' operation to create a fresh filesystem on the disk.
 11172 
 11173 		This change has Break Request confirmation numbers BR1056.1 and BR1056.2
 11174 
 11175 	4.	Implemented REQ3381: CMD23 support - Enabled support for MMC Command 23 (SET_BLOCK_COUNT) to bring the
 11176 		controller in line with specification version V3.31.
 11177 
 11178 		Base Port Impact: Controllers that don't support CMD23 (ie - those which must use the STOP command)
 11179 						  should return KMMCErrNotSupported in response to CMD23.
 11180 
 11181 		This change has Break Request confirmation number BR1056.3
 11182 
 11183 	5.	Implemented REQ3382 (Part 1): Implement Multi-Block Write
 11184 		Allows multiple blocks of data to be written to the media in a single command to improve write performance.
 11185 		Part 2 of the REQ requires this to be rationalised with the atomic sector write requirement of ruggedised
 11186 		FAT to improve robustness if supported by the hardware.
 11187 
 11188 3.	JonathanM
 11189 	1.	Fix for defect DEF045618 - T_EXC.EXE fails on ARMV5 UREL test ROMs
 11190 	2.	Implemented REQ2862 - Obtain an executables header's capability parameters
 11191 		by adding function RLibrary::GetInfoFromHeader()
 11192 	3.	Made capability checking in E32 dependant on the macro CHECK_CAPABILITIES_IN_E32_APIS
 11193 		If this macro is defined during compilation of Base then HAL, EUSER, Kernel and variants
 11194 		will enforce capability checks.
 11195 
 11196 4.	DjordjeK
 11197 	1.	REQ2731.5:Boot Reason - Implemented through Hal::Get/Set by introducing new attributes:
 11198 		ECustomRestart & ECustomRestartReason. Fully implemented on assabet variant. Dummy implemetation
 11199 		in Lubbock & WINS variants as they do not support S/W restart.
 11200 	2.	REQ2731.1 RArray API enhancement & REQ2731.2 RMessagePtr2 API enhancement:
 11201 		Added leaving versions of the existing methods in RPointerArray<T>, RArray<T>,
 11202 		RArray<TInt) and RArray<TUint>.
 11203 
 11204 5.	CarlosF
 11205 	1.	MINOR_CHANGE - updated WINS Ethernet How_ To document.
 11206 
 11207 6.	AndrewR
 11208 	1.	Fix for defect DEF044273 - Mistake in doxgen comment for wordmove
 11209 
 11210 7.	MichaelP
 11211 	1)	Fixed defect DEF046003 - "USB should not reset all end points on SetInterface
 11212 		command from host PC":
 11213 		In function DUsbClientController::ProcessSetInterface() in file
 11214 		\e32\drivers\usbcc\chapter9.cpp we now clear the Halt feature only for those endpoints
 11215 		which belong to the new current interface setting.
 11216 
 11217 
 11218 Version 2.00.530
 11219 ============================
 11220 (Made by JonathanM, 14/06/2004
 11221 
 11222 1.	KeithR
 11223 	1.	Implemented CPolicyServer
 11224 
 11225 
 11226 Version 2.00.529
 11227 ============================
 11228 (Made by JonathanM, 07/06/2004
 11229 
 11230 1.	JonathanM
 11231 	1.	Replace RSessionBase::CreateSession overloads which uses 'Identity' checking
 11232 		with overloads which take a TSecurityPolicy. (Interface Change BR1030.1)
 11233 	2.	Changed RProperty::Define() to take TSecurityPolicy objects.
 11234 	3.	Documented all APIs which check capabilities with @capability tags.
 11235 	4.	General Platform Security tidyups.
 11236 
 11237 Patches to version 2.00.528
 11238 ============================
 11239 
 11240 1.	TonyL
 11241 	1.	Fix for defect DEF045740 - D_EXC doesn't work on EKA2 Lubbock ROMs
 11242 
 11243 Version 2.00.528
 11244 ============================
 11245 (Made by JonathanM, 26/05/2004
 11246 
 11247 1.	DennisM
 11248 	1.	Fixed DEF044687 - ARM1136 doesn't boot if caches have 16K alias restriction
 11249 	2.	Fixed DEF044483 - Bootstrap faults if RAM bank starts at address 0
 11250 	3.	Added Kern::SemaphoreCreate(), Kern::SemaphoreWait() and Kern::SemaphoreSignal()
 11251 		kernel APIs to allow semaphores to be used by device drivers.
 11252 	4.	Added Kern::SetSystemTime() API to allow the software RTC to be updated in line
 11253 		with the hardware RTC.
 11254 	5.	Move ClearPages() function from DArmPlatChunk to ArmMmu.
 11255 		Reimplement to use only a single temporary page table entry.
 11256 	6.  On X86 don't try to zero RAM-loaded code memory before giving it write permission.
 11257 	7.  Stop file server crashing if some removable drives are omitted.
 11258 	8.  Support 'debugport' on X86
 11259 	9.  On X86 'debugport -3' traces to the screen (for systems with no serial ports).
 11260 	10. Don't do ScanDrive on X86.
 11261 	11. On X86 map floppy as drive A (and ZIP as drive B if present).
 11262 	12.	Workaround for Erratum 4.14 on ARM1136
 11263 	13.	Modify CM1136 bootstrap to work with real CM1136 core module.
 11264 		The CPU is set to run at 200MHz and this seems to work, but the memory
 11265 		is very slow (12MB/s bandwidth according to T_MWAIT).
 11266 
 11267 2.	AndrewR
 11268 	1.	Fixed DEF044873 - Emulator serial driver unable to open high COM ports
 11269 
 11270 3.	CiprianM
 11271 	1.	Fixed DEF044808 - Improvement to region code
 11272 	2.	Fixed DEF045272 - CPeriodic::Start() precondition is incorrect
 11273 
 11274 4.      DjordjeK
 11275 	1.	Fixed RVCT warnings including introduction of operator delete in RHeap & CBase.
 11276 		The warnings we are not obliged to fix still remain.
 11277 
 11278 5.	JonathanM
 11279 	1.	Fixed DEF045256 - RVCT compile optimises CServer2::DoConnect() too aggressively ...
 11280 	2.	Fixed DEF045159 - New warnings in build
 11281 	3.	Fixed DEF040915 - Kernel threads aren't protected against being killed
 11282 		This changes Kern::ThreadKill so that it asserts the thread being killed is either the
 11283 		current thread, or is a user mode thread. I.e. prevent kernel threads from being
 11284 		killed by other threads. This change has Break Request confirmation number BR1028.1
 11285 
 11286 6.	AndrewT
 11287 	1.	Modified the behaviour of the emulator timer event system to discard extra ticks
 11288 		collected when the multi-media timer callback has been suspended. This
 11289 		significantly improves client-server debugging experience with EKA2 emulator.
 11290 
 11291 7.	AndrewHi
 11292 	1.	Fixed DEF043213 - Build dependency introduced between e32test t_lfsdrv2 and lubbock base port
 11293 
 11294 Version 2.00.527
 11295 ============================
 11296 (Made by AndrewJ, 28/04/2004
 11297 
 11298 1.	JonathanM
 11299 	1.	Fix for defect DEF044341 - Notifier framework (ewsrv.dll) generated KErrNoMemory
 11300 	2.	Fix for defect DEF044651 - TSecurityPolicy::CheckPolicy methods don't obey global PlatSecEnforcement option
 11301 	3.	Add capability checking to ECOMM.LDD (comm driver) and ELOCD.LDD (local media driver)
 11302 		ECOMM now checks that its client has ECapabilityCommDD
 11303 		ELOCD now checks that its client has ECapabilityTCB
 11304 		(These checks obey the PlatSecEnforcement and PlatSecDiagnostic configuration options.)
 11305 
 11306 2.	MichaelP
 11307 	1.	Fixed defect DEF041968 - "usbc ldd built by lubbock variant even though
 11308 		it isn't a VariantTarget":
 11309 		The 'usbc' line has been removed from \lubbock\bld.inf and moved to
 11310 		\e32\bld.inf. Also, the usbcc import lib 'usbcc.lib' for use by the LDD
 11311 		is now created from /e32, no longer from /lubbock (/cotulla); Added
 11312 		\e32\drivers\usbcc\usbcc_lib.mmp for that purpose.
 11313 	2.	Fixed defect DEF044327 - "Dma library with the same name (dma.lib) is created
 11314 		by each variant:
 11315 		To avoid creating the dma.lib more than once we now generate it once from /e32.
 11316 		Added a new file \e32\drivers\dma\dma_lib.mmp for that purpose and stopped the
 11317 		generation of dma.lib in \cotulla\dma.mmp.
 11318 3.    	AndrewJ
 11319 	1.	Fixed DEF044093 8 fatal errors in "cedar\generic\base\integrator\core\cm920" for
 11320 		8.1b by changing the build directory in the makefiles for both the coreldr and
 11321 		miniboot components to prevent the path being longer than approx 250 chars long.
 11322 
 11323 Version 2.00.526
 11324 ============================
 11325 (Made by JonathanM, 23/04/2004
 11326 
 11327 1.	JonathanM and KeithR
 11328 	1.	Implemented Change Request JMET-5WFL2U - Remove legacy Platform Security APIs
 11329 	2.	Implemented the following prototype Platform Security APIs
 11330 			RProcess::SecureId
 11331 			RProcess::VendorId
 11332 			RProcess::HasCapability
 11333 			RThread::SecureId
 11334 			RThread::VendorId
 11335 			RThread::HasCapability
 11336 			RMessagePtr2::SecureId
 11337 			RMessagePtr2::VendorId
 11338 			RMessagePtr2::HasCapability
 11339 			User::CreatorSecureId
 11340 			User::CreatorVendorId
 11341 			User::CreatorHasCapability
 11342 			class TSecureId
 11343 			class TVendorId
 11344 			TSecurityPolicy
 11345 			_LIT_SECURITY_POLICY_xx macros for compile time construction of TSecurityPolicy objects
 11346 			RProperty::Define(TUid aCategory, TUint aKey, TInt aAttr, const TSecurityPolicy& aReadPolicy, const TSecurityPolicy& aWritePolicy, TInt aPreallocate)
 11347 			DProcess::HasCapability
 11348 			DThread::HasCapability
 11349 	3.		Updates to TCapabilitySet and TSecurityInfo
 11350 
 11351 Patches to version 2.00.525
 11352 ============================
 11353 
 11354 1.	JonathanM
 11355 	1.	Fix for defect DEF044228 - AppendFormatList() generates KERN-EXEC 3 when
 11356 		used with VA_LIST on EABI
 11357 2.	CiprianM
 11358 	1.	Fix for DEF044435 - Incorrect MRP file for base_wins component - updated
 11359 		base_wins.mrp to reflect 3 new exported files
 11360 
 11361 Version 2.00.525
 11362 ============================
 11363 (Made by CarlosF, 14/04/2004
 11364 
 11365 1.	DennisM
 11366 	1.	Fixed defect DEF043790 "Running T_TLDD on WINSCW takes down the system"
 11367 
 11368 2.	JonathanM
 11369 	1.	Fix for DEF043570 - e32 and e32utils warnings in 8.1b EABI build - project not frozen
 11370 	2.	Added general purpose mutex ordering constants KMutexOrdGeneral0 thru KMutexOrdGeneral7
 11371 		These are for general purpose use. The values are higher than any used
 11372 		internally by the kernel, therefore there are no mutex ordering restrictions that
 11373 		limit which kernel functions may be called whilst a mutex of these orders are held.
 11374 
 11375 3.	AndrewJ
 11376 	1	Fixed defect DEF043489 "No ECC in the coreldr"
 11377 
 11378 4.	CarlosF
 11379 	1.	PREQ726 Keyboard Modifier - added new modifier (EModifierKeyboardExtend), new Scan Code
 11380 		(EStdKeyKeyboardExtend) to be turned On/Of on extendable keyboard extension/retraction, and
 11381 		new Key code (EKeyKeyboardExtend). Modified Keyboard Translator to recognise the new modifier
 11382 		Scan Code. Modified Lubbock Keyboard Mapping to map the Scroll Lock to the new modifier Scan
 11383 		Code: while this being pressed the keyboard layout is mirrored.
 11384 
 11385 5.	CiprianM
 11386 	1.	Fixed DEF044167 - epoc.ini setting "JustInTime none" no longer works in EKA2 Builds
 11387 	2.	Fixed DEF044155 - Header files need to be exported from WINS component
 11388 
 11389 6.	KeithR
 11390 	1.	DEF044039 - Seven test case failures against CLDC TCK 1.0a on Cedar
 11391 		(aka TInt64::operator>> not working on EKA2 code warrior for shift values
 11392 		>= 32)
 11393 
 11394 Patches to version 2.00.524
 11395 ===========================
 11396 1.	AndrewJ
 11397 	1.	Fix Defect DEF044069 - CBR warnings in 8.0b, changed the name of the coreldr
 11398 		and miniboot components for each board
 11399 2.	KeithR
 11400 	2.	Fix Defect DEF044109 - Missing files in ROM build for 8.1b and 8.0b
 11401 
 11402 Version 2.00.524
 11403 ============================
 11404 (Made by JonathanM, 31/03/2004
 11405 
 11406 1.	ChristopheL
 11407 	1.	A3.4.3 PREQ12 NandFlash Integrator EKA2 Part2 - With TechView booting
 11408 		(already submitted as a defect but forgot to put the milestone itself
 11409 		into the release.txt)
 11410 
 11411 2.	CiprianM
 11412 	1.	Implemented REQ2533 Kernel needs to zero memory when handing it between
 11413 		processes. Kernel fills memory commited to chunks and shared io buffers
 11414 		with 0x03. It also fills the portion in code chunks that is not overwritten
 11415 		by the loader. 0x03 is used instead of 0x00 to prevent people from relying
 11416 		on memory being zero initialised.
 11417 	2.	Fixed DEF042172 - Confusion between page size and page shift in shared I/O
 11418 		buffer code
 11419 3.	ChrisM
 11420 	1.	Fixed defect DEF042239 - WINSCW EKA2 sound PDD loses data when recording.
 11421 	2.	Implemented MRED-5MGHAW - Multiple fascia layout support in the emulator.
 11422 		Backwards compatible with existing epoc.ini files.
 11423 
 11424 4.	JonathanM
 11425 	1.	Fixed defect DEF041808 - initialisation of kdebug.dll is rather racy (possibility
 11426 		of null pointer deref)
 11427 
 11428 5.	PhilK
 11429 	1.  	Implemented PREQ12/GT135  Nand flash support for Lubbock. Note that current support
 11430 		has been tested for 16bit NAND devices only. Enabled composite filesystem support
 11431 		thus ROFS images appear on system drive. Added reboot driver support for Lubbock
 11432 		nandloader utility. Removed single/direct build since this will not work with the
 11433 		current (hardcoded) values.
 11434 	2.	Implemented PREQ412: Support for ARM RVDS 2.1 toolchain. THIS IS A BINARY COMPATIBILITY
 11435 		BREAK FOR ALL FILES COMPILED UNDER THE ARM RVCT/RVDS TOOLCHAIN. (The final RVDS
 11436 		toolchain supports the ARM EABI standard which requires renaming/refactoring both
 11437 		user and kernel side intrinsic library functions.)
 11438 	3. 	Further DEF file fixes for PREQ412. BINARY COMPATIBILITY IS BROKEN BETWEEN RVCT 2.0.1
 11439 		AND RVCT 2.1. Removed duplicated EUSER.DEF exports, removed further apostrophes from
 11440 		e32rom.h comments that caused h2inc.pl to get confused about alignments. (Correct fix
 11441 		is to h2inc.pl). Add Integrator 1136 new power dll exports generated by RVCT2.1.
 11442 
 11443 
 11444 6.	RobertJ
 11445 	1.	Fixed DEF042908 - eusbc regression: Read completes with KErrNone and zero bytes
 11446 	2.	Fixed DEF040606 - Incorrect OUT data presented to ECACM.CSY by RDevUsbcClient
 11447 	3.	Fixed DEF042074 - Random data retd by RDevUsbcClient::ReadOneOrMore after USB enumeration
 11448 
 11449 7.	CarlosF
 11450 	1.	Fixed defect DEF043285 - Lubbock Bootstrap trace is switched on
 11451 
 11452 8.	MichaelP
 11453 	1.	Fixed defect DEF043484 - "DMA Framework doesn't permit manipulation of
 11454 		custom descriptors":
 11455 		Introduced new public member function
 11456 		'inline const TDmac* Controller() const {return iController;}'
 11457 		to class TDmaChannel. This way we can access TDmac::HdrToHwDes(), which
 11458 		we need in order to get a pointer to custom-created DMA	descriptor(s).
 11459 	2.	Fixed defect DEF043600 - "USB: Zero-byte writes don't work on Lubbock":
 11460 		In the Cotulla USB PSL we need to treat zero-bytes writes still as
 11461 		comprising one packet when completing to the LDD.
 11462 
 11463 9.	KeithR
 11464 	1. 	CR JPAR-5RYLQQ: Make the Crash Flash Logger part of base
 11465 		- At a high level this code provides support for automatically writing
 11466 		  debugging information, similar to what one could have retrieved from
 11467 		  the traditional interactive crash debugger, to a special area in
 11468 		  flash.
 11469 		- This submission provides support for generic nor and nand crash loggers.
 11470 		- Lubbock is the only currently supported variant.
 11471 		- A utility called crashread is provided in e32utils.  This provides
 11472 		  the ability to read a previously stored crash log from the special
 11473 		  area in flash to the visible file system.
 11474 		- To enable crashread, several changes were required to other, seemingly
 11475 		  unrelated, areas.
 11476 			- First, KMaxLocalDrives has been increased from 9 to 16.  This
 11477 			  change was necessary to support the steadily increasing number of
 11478 			  partitions (each type of crash log logs to it's own partition).
 11479 			- Second, the generic nand flash code was updated to recognise a
 11480 			  crash log parition and be able to use it.
 11481 			- Third, the nandloader also needed updates to support creating
 11482 			  nand devices with the new crash log partition.
 11483 		- What was formally referred to as the "monitor" now consists of three
 11484 		  separate entities:
 11485 			- The common monitor functionality (code common to both the crash
 11486 			  logger and the crash debugger)
 11487 			- The crash debugger (the interactive debugger that was also
 11488 			  formally known as the "monitor" or "crash monitor")
 11489 			- The crash logger (the subject of this submission).
 11490 		- Each of these entities is now an extension.  These extensions are
 11491 		  called exmoncommon.dll, exmondebug.dll, and exmonlog.dll
 11492 		  respectively.  All three must be built from the variant.
 11493 		  exmondebug.dll and exmonlog.dll require variant specific support.  On
 11494 		  the other hand, exmoncommon.dll requires no variant specific code.
 11495 		  Building from the variant is only required in order to select the
 11496 		  correct memory model.
 11497 		- exmoncommon.dll must be included in the rom prior to either of the
 11498 		  entities.  It provides an api for subsequent crash monitors
 11499 		  (debuggers or loggers) to register and be called when the device
 11500 		  crashes.
 11501 		- The order that the crash monitors register with the common
 11502 		  functionality (aka the order they are placed in the rom) is the order
 11503 		  they are called in at crash time.
 11504 		- IMPORTANT NOTE -- Base Port Impact: Yes
 11505 			- These notes explain the steps required to get the base port
 11506 			  working with the functionality it previously had.  In order to
 11507 			  port the crash logger itself to a new variant, it is recommended
 11508 			  that the Crash Logger porting howto is consulted.
 11509 			- As a necessity of the changes described above, functionality
 11510 			  specific to the crash debugger has been moved to a subclass of
 11511 			  Monitor called CrashDebugger.  This results in four functions
 11512 			  from the variant (formerly Monitor::InitUart, Monitor::UartOut,
 11513 			  Monitor::UartIn, and Monitor::CheckPower) which need to have
 11514 			  their class changed from Monitor to CrashDebugger.
 11515 			- To build exmoncommon.dll, a mmp file is provided in
 11516 			  e32\kernel\exmoncommon.mmp which simply needs to added to a
 11517 			  variant's bld.inf.
 11518 			- To build exmondebug.dll, it is suggested that the existing
 11519 			  exmon<variant>.mmp file be slightly modified to #include
 11520 			  "..\e32\kernel\exmondebug.mmp" rather than
 11521 			  "..\e32\kernel\monitor.mmp" and that the target statement is
 11522 			  changed from "VariantTartget(monitor,dll)" to
 11523 			  "VariantTarget(exmondebug.dll)".
 11524 			- Finally, the iby file for the variant must be changed.  The
 11525 			  extension statement that previously specified "monitor.dll" should
 11526 			  be changed to "exmoncommon.dll".  After this add one more extension
 11527 			  statement to include "exmondebug.dll" in the rom is required.
 11528 
 11529 Version 2.00.523
 11530 ===========================
 11531 (Made by JonathanM, 19/03/2004)
 11532 
 11533 1.	JonathanM
 11534 	1.	Implemented the requirements:
 11535 		REQ2632 - Configurability of the enforcement of capabilities
 11536 		REQ2633 - Security violation diagnostic
 11537 		REQ3142 - Associate Platform Security information with an executable.
 11538 		See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc
 11539 
 11540 Patches to version 2.00.522
 11541 ===========================
 11542 1.	StephanGu
 11543 	1.	Fix Defect DEF043083 - The file
 11544 	\epoc32\data\media\nanddrv.bin is missing from 8.0b gt_only CBR.
 11545 
 11546 Version 2.00.522
 11547 ===========================
 11548 (Made by JonathanM, 26/02/2004)
 11549 
 11550 1.	JonathanM
 11551 	1.	Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
 11552 		THIS IS A BINARY COMPATIBILITY BREAK FOR ALL EXECUTABLE FILES.
 11553 		Binaries (EXEs,DLLs) from previous releases of Symbian OS will not work
 11554 		with this or subsequent releases.
 11555 	2.	Added new Platform Security capability enumerations (TCapability)
 11556 	3.	Early release of prototype TCapabilitySet and TSecurityInfo classes.
 11557 	4.	Added Platform Security configuration settings to the ROM Header structure.
 11558 	5.	Added PlatSecDisabledCaps keyword to emulator INI file parsing.
 11559 		(Above changes required to support testing of Change Request JDOD-5VUJ7F)
 11560 
 11561 version 2.00.521
 11562 ===========================
 11563 (Made by AndrewJ, 13/02/2004)
 11564 
 11565 1.	MichaelP
 11566 	1.	Fixed defect DEF041644 - "USB: Cable status doesn't get propagated
 11567 		in PSL at startup":
 11568 		We now call the cable connection notification callback straight away
 11569 		after installing it in the Lubbock USB PSL constructorr in order to get
 11570 		the proper PIL state from the beginning.
 11571 	2.	Fixed defect DEF042040 - "USB: Device state goes from Address to Default
 11572 		before Configured":
 11573 		An erroneous device state transition from Powered to Addressed occurred in
 11574 		PIL function DUsbClientController::ChangeConfiguration(TUint16 aValue)
 11575 		which is called upon a device Reset with an argument of 0. If the Reset
 11576 		happens after a cable-reconnection (i.e. the device was Configured, then
 11577 		the cable got pulled and is now reapplied), then the data member
 11578 		iConfigured still has a non-zero value and so we moved in
 11579 		ChangeConfiguration to the Addressed state - which was wrong since we
 11580 		weren't actually in the Configured state anymore. The solution therefore
 11581 		is, before moving to the Addressed state, to check whether we are currently
 11582 		actually in the Configured state.
 11583 	3.	Fixed defect DEF042084 - "usbman does not return correct device state in
 11584 		cold start":
 11585 		[a] DUsbClientController::GetDeviceStatus() now always returns the value
 11586 		of iDeviceState, even when iTrackDeviceState is EFalse because proper
 11587 		device state tracking is not really supported by the UDC.
 11588 		[b] In function DUsbClientController::UsbDisconnect() we move to state
 11589 		EUsbcDeviceStatePowered instead of to EUsbcDeviceStateUndefined if the
 11590 		USB cable is connected and the UDC is turned on. The reason for this is
 11591 		that it enables the user to distinguish a soft-disconnect from a USB
 11592 		cable removal.
 11593 		[c] In function DUsbClientController::ActivateHardwareController() we
 11594 		move to state EUsbcDeviceStatePowered if the cable is connected (was:
 11595 		no state change).
 11596 		[d] In function DUsbClientController::DeActivateHardwareController() we
 11597 		move to state EUsbcDeviceStateAttached if the cable is connected (was:
 11598 		no state change).
 11599 	4.	Fixed defect DEF042079 - USB: DUsbClientController::DeRegisterClient()
 11600 		is inefficient":
 11601 		We now use the value 00 for the setting to mean, to ReleaseInterface(),
 11602 		to release all existing settings for that interface. (ReleaseInterface()
 11603 		is able to pick these directly, as opposed to DeRegisterClient() which
 11604 		had to guess and therefore simply tried all possible values.)
 11605 	5.	Fixed defect DEF040615 - "Incorrect device statuses given by
 11606 		RDevUsbcClient::AlternateDeviceStatusNotify":
 11607 		1) The LDD wasn't checking if a device state change was available from the
 11608 		queue when a notification request was made. Items remained in the queue
 11609 		until pushed out when a new device state change was available.
 11610 		2) Duplicate entries were inserted into the queue. These are not required
 11611 		userside and consume valuable queue space.
 11612 		3) Device states were queued from when the first SetInterface call was made
 11613 		or when the first notification request was made. The queuing now happens
 11614 		between the first request and the cancellation, which will also flush the
 11615 		queue.
 11616 		4) Device state changes are now tracked from when the channel is created.
 11617 
 11618 2.	StephanGu
 11619         1.      Fixed defect DEF041871 - "Incorrect macro passed to cmd_read_main in NAND ftl"
 11620                 minor change to allow for easier porting of NAND flash across platforms.
 11621 
 11622 	2.	Fixed defect "DEF041869  Move Nand device table into the varient" - changed
 11623 		Samsung's code to populate it's device table based on an existing variant
 11624 		header file.
 11625 
 11626 	3.	Implemented CLCT-5VEK4P - "Binary search in ROFS
 11627 		together with 'expanding ROFS entries with UIDs'".
 11628 		Changed Rofsbuild to provide a sorted array of offsets
 11629 		in order to allow the file system to perform binary search
 11630 		through the image.  Also expended the TRofsEntry structure
 11631 		to include a copy of the file UID data.
 11632 
 11633 		Changed the SW ECC scheme in the driver to be compatible with beech and
 11634 		updated emuldrives.zip to reflect new ROFS image format.
 11635 
 11636 
 11637 Patches to version 2.00.520
 11638 ===========================
 11639 
 11640 1.	CiprianM
 11641 	1. 	Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong level of indirection
 11642  	   	The previous fix has been reverted because it broke Telephony code. Telephony has fixed their code
 11643 	   	(see DEF041144: SIM TSY makes use of TArray<class T>::Array() which Base are about to break SC.)
 11644 	   	THIS IS A SC BREAK. The approval id for it is: BR-GT0177-03
 11645 	2. 	Fixed defect DEF042012  CDeltaTimer::~CDeltaTimer does not call Close() on its iTimer
 11646 
 11647 2. 	KeithR
 11648 	1. 	DEF042221: Missing APIs from IPCv2 implementation (RMessagePtr2::GetDesLengthL and GetDesMaxLengthL)
 11649 
 11650 
 11651 
 11652 Version 2.00.520
 11653 ================
 11654 (Made by AndrewHi, 23/01/2004)
 11655 
 11656 1.	Dennis
 11657 	1.	Fixed DEF041406 "RAM mapped by bootstrap as 1MB sections is not marked as in use"
 11658 		Kernel now recognises section-mapped RAM blocks mapped by the bootstrap
 11659 		marks the RAM pages as in use.
 11660 	2.	Fixed DEF041440 "Inconsistent caching attributes for page tables on ARM architecture 6"
 11661 
 11662 2.	JonathanM
 11663 	1.	Fix for defect DEF041461 - Textshell Notifier Server cleanup and channel queueing problems
 11664 	2.	Fix for defect DEF041176 - RPropertyRef::GetStatus usage unclear/unsafe?
 11665 
 11666 3.	MichaelP
 11667 	1.	Fixed defect DEF041295 - "Race condition in 8.0b/EKA2 DMA framework generic
 11668 		layer":
 11669 		In DDmaRequest::Queue(), moved the assignment 'iQueued = ETrue' inside
 11670 		the channel-locked section.
 11671 
 11672 4. 	AndrewHi
 11673 	1.	(PREQ13), "(REQ1968) MLC NOR Flash Support"
 11674 		Introduced a driver for TYAX devices, derived the existing lfsdrv files. The updates to the
 11675 		existing driver are as follows.
 11676 		- The device is accessed of chip select 0, the device base address is 0x00000000. The first 2M is
 11677 		  assigned to the bootloader, the next 14M is for storing the OS image, and the remaining 16M is for
 11678 		  use by the LFFS.
 11679 		- The device parameters are read at initialisation in order to determine the applicable geometry. In
 11680 		  order to support this, a partition must be put in to CFI-query mode - at which point the content of that
 11681 		  partition become inaccessible. If  using XIP (i.e. code for the executing program is being read from
 11682 		  the TYAX) then there is the chance that the next executable statement could become inaccessible, and
 11683 		  so the program could 'hang'. Three approaches to this problem are suported by the driver, selectable
 11684 		  by action of the pre-processor: assume that the partition containing the executable code will not be put
 11685 		  into CFI-query mode, and access it directly; pre-load the cache with the executable code so that the
 11686 		  instructions can be executed from within the processor until the TYAX partition is returned from CFI-query
 11687 		  mode; and, copy the executable code to an area in RAM and execute from there until the device is returned
 11688 		  from CFI-query mode. File lffsdev2.cpp, method DMediaDriverFlashLA2::GetRawCfiQueryValues has the code to
 11689 		  invoke this (supported by the function QueryDeviceParameters in lffsdev2.cia)
 11690 		- Device blocks that may be subject to an erase or programming are explicitly unlocked at device
 11691 		  initialisation (method DMediaDriverFlashLA2::Initialise).
 11692 		- The device provides read-while-write and read-while-erase functionality: a partition other than the one
 11693 		  currently being written to / erased can be read. In addition, if an erase is suspended, a block other
 11694 		  than the one being erased can be read. Two new tests have been added for RWW: the first to demonstrate
 11695 		  that an attempt to read from the same partition that is currently being written to is denied; the second
 11696 		  to demonstrate that a simulataneous read from a partition other than the one that is currently being
 11697 		  written to is supported. New flag KMediaAttReadWhileWrite added to e32const.h to indicate a device's
 11698 		  capabilty to support these tests. Request method introduced to the driver (overriding the base class
 11699 		  equivalent) in order to support the RWW tests (denoted by #ifdef _DEBUG, and CtrlIoState). The DoWrite
 11700 		  function has 'special' code to support the artificial situation required to exercise the RWW capability
 11701 		  (denoted by #ifdef _DEBUG, and CtrlIoState). Test approach is as follows.  A background thread is used
 11702 		  to start a sequence of writes to the TYAX devices. In the foreground, three read requests are issued. Due
 11703 		  the fact that the write operations complete so quickly, an artificial situation was required where a read
 11704 		  request was invoked whilst a write was still in progress. The following has been implemented to supoprt
 11705 		  this: Use of  'control IO', reserved for debug builds only, allows the artificial scenario to be created.
 11706 		  For such an operation, a write request is issued to the driver (from the background write thread), but it
 11707 		  is not instigated - rather, it is held 'pending' (the thread is blocked). When a read request is received
 11708 		  by the driver, the pending write is instigated, immediately followed by the read. See lffsdev2.cpp,
 11709 		  lfsdrv2tyax.cpp
 11710 		- Poll timer expiry is now followed by a read of an address that is dependent upon the particular
 11711 		  asynchronous operation. File lffsdev2.cpp, method DMediaDriverFlashLA2::HandleEvents
 11712 
 11713 		Base Port Impact:	N
 11714 
 11715 		Method DMediaDriverFlash::Caps has been made virtual. This is part of the internal interface of the
 11716 		PDD component, between the generic and platform specific parts. No existing base ports should be affected.
 11717 
 11718 5. 	CarlosF
 11719 	1.	(PREQ13), "(REQ1968) MLC NOR Flash Support"
 11720 		Changes to both Lubbock and Bootloader build files to allow building Tyax specific
 11721 		binaries, Bootloader, tests and ROMs.
 11722 		To build a Text Shell Lubbock ROM with the Tyax module plugged in:
 11723 
 11724 		rom -i arm4 -v lubbock -m(odules) tyax -b (udeb or urel) -t tshell
 11725 
 11726 		The same applies for building a Tyax specific Lubbock Bootloader.
 11727 
 11728 6. 	CiprianM
 11729 	1.	CR (JPAR-5RJCR6) System, GT0177 Kernal and Peripherals, Extend Publish and Subscribe to have
 11730 		Large (non-RT) properties.
 11731 
 11732 7.	CarlosF
 11733 	1.	Fixed DEF041547 - Error found in base_integrator_core.mrp...
 11734 
 11735 
 11736 Patches to Version 2.00.519
 11737 ===========================
 11738 
 11739 1.	CiprianM
 11740 	1.	Fix DEF041539 - Base Documentation is not being delivered in a CBR...
 11741 		Added base_documentation.mrp file in \documentation directory
 11742 
 11743 
 11744 Version 2.00.519
 11745 ================
 11746 (Made by StefanW, 09/01/2004)
 11747 
 11748 1.  JonathanM
 11749 	1.	Fix for defect DEF041288 - EKA2 stop-mode debug table needs more constants
 11750 
 11751 2.
 11752 Author:		CarlosF
 11753 	1.
 11754 ID:	 	IBUG-5QNJZC "Implement CR IBUG-5N2DZE on Cedar":
 11755 Change:	- RBusDevComm has two new APIs (MinTurnaroundTime() to get the turnaround time
 11756 		  and SetMinTurnaroundTime(TInt aMicroSeconds) to set a new turnaround value).
 11757 		- the default turnaround time is 0, i.e. until it is changed to a value >0, if a
 11758 		  Write request is queued transmission takes place immediately.
 11759 		- if a turnaround time>0 has been set and a Read request is queued, when the last
 11760 		  character is received or the Read is aborted by fail signals, a timer is launched
 11761 		  with the turnaround time value; if in the meantime a Write request is queued
 11762 		  it will be delayed until the timer completes or a new turnaround value is set.
 11763 		- if a Write request is queued after the turnaround timer has expired, transmission
 11764 		  takes place immediately.
 11765 		- if a new turnaround time (>=0) is set while there is a pending Write request
 11766 		  waiting on the previous turnaround timer expiration, the Write will take place
 11767 		  immediately and the new turnaround value will be used after the next Read request.
 11768 		- if a Write is requested after a Read is completed and then cancelled before the
 11769 		  timer expires the transmission will not take place, but the timer carries on. If
 11770 		  another Write request is queued before the timer expires it will be delayed by the
 11771 		  remaining time.
 11772 		- if a Write request is still pending waiting on a turnaround timer expiration when
 11773 		  the Channel is closed, it will never take place.
 11774 		To make use of this feature Half-Duplex commnunications is assumed. If Full-Duplex is
 11775 		  used the following behaviour also applies
 11776 		- if a Write is queued after a Read is queued but before it completes it will take
 11777 		  place immediately.
 11778 		- if a Read request is queued and completed while there is a pending Write request
 11779 		  waiting on the previous turnaround timer expiration, the timer will be re-queueud
 11780 		  with the same turnaround value, i.e. the Write will be delayed by a total of the
 11781 		  original turnaround time plus the time elapsed between the 2 read requests.
 11782 Base Port Impact:	Y
 11783 					The LDD API has been extended. Licencees who have branched the LDD will
 11784 					have to implement the extra APIs
 11785 
 11786 3.	ChrisM
 11787 	1. Fix for DEF040901 - EKA2 emulator RDebug::Print outputs do not appear in CodeWarrior log window.
 11788 	Added LogToDebugger and LogToFile properties defaulting to false and true respectively.
 11789 	If LogToDebugger is set to 1 in the epoc.ini, debug output is written to the debugger with
 11790 	OutputDebugString.  If LogToFile is set to 0, the debugger output is not written to %temp%epocwind.out
 11791 
 11792 4. StefanW
 11793     1. Added generic support for SDIO Cards (A3.6.1 PREQ12 - REQ1764.1).
 11794 	2. Created a new Logic Module directory for Integrator, providing a platform-specific implementation of SDIO.
 11795 Base Port Impact:	Y
 11796 					The variants TMMCardControllerInterface derived class should implement the following
 11797                     factory function in order for the correct type of socket to be created:
 11798 
 11799                     DMMCSocket* TMMCardControllerInterfaceIntegrator::NewSocket(TInt aSocketNum, TMMCPasswordStore* aPasswordStore)
 11800 
 11801 Version 2.00.518
 11802 ================
 11803 (Made by StefanW, 19/12/2003)
 11804 
 11805 1.	StefanW
 11806     1.  Fixed defect T_SCNDR1 locks the system when running of MMC.
 11807         The Lubbock MMC driver does not handle errors in the Interrupt handler.  If an error occurs, the current
 11808         session would never complete, which would cause the system to lock (while the fileserver waits for the
 11809         request to complete).  The driver has now been modified to handle errors and recover when appropriate.
 11810 
 11811 2.	MichaelP
 11812 	1.	Fixed defect DEF040810 - "USB: PIL function DeRegisterClient doesn't delete
 11813 		all interface settings":
 11814 		Since we don't know in DeRegisterClient how many (if any) alt settings exist
 11815 		for the interface in question, nor their actual setting numbers (these could
 11816 		have been set arbitrarily), we have to just try all possible values, starting
 11817 		from the top. If a setting doesn't exist, ReleaseInterface() will just return
 11818 		with an KErrArgument.
 11819 
 11820 3.	CarlosF
 11821 	1.	A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changes to RebootDrv so
 11822 		that the offsets of NandFlash registers are defined in the platform-specific include file.
 11823 
 11824 	2.	MINOR_CHANGE: remove COM# limitation on WINS PDD which currently only allows using COM0,
 11825 		1 and 2.
 11826 
 11827 	3.	Fix	DEF037569 - Ethernet driver configuration utility is broken on EKA2
 11828 		Netcards.exe now builds under wins\test. New source code under e32test\netcards. Note: winpcap
 11829 		has to be run before running netcards as Symbian has not the rights to distribute packet.dll (
 11830 		which is required by netcards.exe and loaded by winpcap)
 11831 
 11832 4.	JonathanM
 11833 	1.	Fix for defect DEF040312 - Change required to Bootcpu.h
 11834 	2.	MINOR_CHANGE - Removed legacy debug test driver.
 11835 
 11836 5. 	Philk
 11837 	1.  Fix for DEF 040679 - touchscreen calibration causes system hang. Use fast mutex
 11838 		to prevent AC97 link use race condition.
 11839 	2. 	Fix for DEF 040887 - if e32test\benchmark PDD channel creation fails, benchmark LDD
 11840 		deletion panics thread and kernel.
 11841 	3.  Fix for DEF 040998 - CF cards hang under stress formatting tests. The fix allows card
 11842 		operations which raise delayed (after the timeout detection has completed the request)
 11843 		interrupts to execute correctly by ignoring interrupts after the timeout has scheduled
 11844 		a data transfer operation. Re-enabled automatic testing of CF card in PCMCIA (D:) slot.
 11845 
 11846 6.	Dennis
 11847 	1.	Implemented CR AFOD-5THE5U "Add EBps921600 and KCapsBps921600 to d32comm.h".
 11848 	2.	Modified BootCall function in new new bootstrap so that the call number
 11849 		is stored in the lower 8 bits of the following word. Modified the BOOTCALL
 11850 		macro to use a MOV LR, #n instruction to contain the call number. This
 11851 		allows a debugger to step over the BootCall since it does not modify the
 11852 		return address.
 11853 	3.	Modified WriteS function in the new new bootstrap so that the string to
 11854 		be printed starts 8 bytes after the call instead of 4 and to not modify
 11855 		the return address. Modified the PRINT and DWORD macros to place a branch
 11856 		instruction immediately after the BL WriteS to branch round the string.
 11857 		This allows a debugger to step over the WriteS call since it does not
 11858 		modify the return address.
 11859 
 11860 7.	RobertJ
 11861 	1.	Fixed defect DEF040879  USB LDD thread related problems, panicking & reading
 11862 		We have to remove the possibility of panicing the driver thread. Also, tidy code
 11863 		by using a thread descriptor copy instead of a raw copy
 11864 	2.	Fixed defect DEF041111
 11865 		"USB LDD may lose data in some situations "
 11866 	3.	Fixed defect DEF040428
 11867 		"USB Driver error codes that can be added without disrupting PSL"
 11868 
 11869 
 11870 Patches to Version 2.00.517
 11871 ================
 11872 
 11873 1.	CarlosF
 11874 	1.	Fix DEF040996 - CM1136 and CM920 are trying to export the same files
 11875 	2.	Fix DEF040845 - Error in "base_integrator_core_cmll36.mrp"...
 11876 	3.	Fix DEF041062 - Error found in base_integrator_core_cm920.mrp...
 11877 
 11878 2.	JonathanM
 11879 	1.	Change Request ATHE-5RMHFH - Remove Capability related APIs from EUSER, HAL and EKERN
 11880 
 11881 		Compatibility break ID is BR-GT0177-01
 11882 
 11883 		This is a SOURCE AND BINARY COMPATIBILITY BREAK for 8.0b
 11884 
 11885 		8.0b BASE PORTS may be affected by the HAL and EKERN changes.
 11886 		Also by the removal of the KCapabilityXxxxxx constants.
 11887 
 11888 		Changes:
 11889 
 11890 			EUSER API changes
 11891 
 11892 			RProperty::KPersistant enumeration value removed
 11893 			RProperty::TPolicyType enumeration removed
 11894 			RProperty::Define() redefined to remove the last four parameters
 11895 
 11896 			RMessage2::Capability() removed
 11897 			RMessage2::iCapability renamed to become a private member called iSpare1
 11898 			TCapability typedef removed
 11899 			capability definitions removed (The KCapabilityXxxxxx constants)
 11900 			RLibrary::GetCapability() removed
 11901 			RThread::ProcessCapability() removed
 11902 			RProcess::Capability() removed
 11903 			User::Capability() removed
 11904 			User::CreatorCapability() removed
 11905 			User::RemoveCapabilities() removed
 11906 
 11907 			HAL API changes
 11908 
 11909 			HALData::ESecureDisplay and HALData::ESecureDisplayMemoryAddress HAL attributes removed
 11910 
 11911 			EKERN API changes
 11912 
 11913 			TPropertyInfo::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
 11914 			TPropertyStatus::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
 11915 			These affect us of RPropertyRef::Define() and RPropertyRef::GetStatus()
 11916 
 11917 
 11918 Version 2.00.517
 11919 ================
 11920 (Made by JonathanM, 05/12/03)
 11921 
 11922 1.	JonathanM
 11923 	1.	Implemented REQ2481 - Disabling the insecure IPC mechanism in EKA2 at build time.
 11924 		Building the Kernel with the macro __REMOVE_IPC_V1__ defined will cause the following
 11925 		functions to panic with KERN-EXEC 55 (EObsoleteFunctionality)
 11926 
 11927 			RThread::ReadL
 11928 			RThread::WriteL
 11929 			RThread::GetDesLength
 11930 			RThread::GetDesMaxLength
 11931 			RServer::Receive
 11932 			RMessage::RMessage(RMessagePtr2&)
 11933 
 11934 	2.	Marked IPC V1 APIs as @deprecated
 11935 
 11936 	3.	Implemented CR JMET-5SBEBM - EKA2 API change for Kern::ThreadRead/Write
 11937 
 11938 		The following functions have been renamed and their arguments changed:
 11939 
 11940 		TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset, TInt aMode);
 11941 		TInt Kern::ThreadRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
 11942 		TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, TInt aMode, DThread* aOrigThread);
 11943 		TInt Kern::ThreadWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
 11944 		TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset);
 11945 		TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, DThread* aOrigThread=NULL);
 11946 
 11947 		The new prototypes for these functions are:
 11948 
 11949 		TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset, TInt aMode);
 11950 		TInt Kern::ThreadRawRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
 11951 		TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, TInt aMode, DThread* aOrigThread);
 11952 		TInt Kern::ThreadRawWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
 11953 		TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset);
 11954 		TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, DThread* aOrigThread=NULL);
 11955 
 11956 2.	StefanW
 11957 	1.	Fixed defect DEF022433 MMC gets locked although it should remain unlocked.
 11958         The MMC initialisation would get confused if a the card is not fully powered down before
 11959         the stack is powered back up. Modified the MMC state machine to check the validity of the
 11960         password when power is applied before deciding to remove it from the store.
 11961 
 11962 3.	Dennis
 11963 	1.	PREQ13 - REQ1755.9 VFP Support	(CR JPAR-5PREKA
 11964 		"We shall add kernel support, for the saving of, VFP co-processor registers")
 11965 	2.	Interchange first two instructions of FIQ handler to work around Erratum 32
 11966 		for the Intel XScale PXA255 CPU (Non-branch instruction in vector table
 11967 		may execute twice after a thumb mode exception).
 11968 	3.	Fixed defect DEF040625 - Loading and unloading an LDD twice crashes the kernel
 11969 	4.	Fixed defect DEF040712 - Bootstrap - Misuse of FindParameter in InitCpu
 11970 
 11971 4.	MichaelP
 11972 	1.	Fixed defect DEF040520 - USBRFLCT/USBTEST: Incorrect IPR Classifications:
 11973 		Changed respective distribution.policy files accordingly.
 11974 	2.	Enabled ISO transfers in Lubbock USB PSL.
 11975 
 11976 
 11977 Patches to 2.00.516
 11978 
 11979 1. CiprianM
 11980 	1.	Fixed DEF040076 - Bootstrap no longer builds with GCC - GCC cannot cope with
 11981 		absolute paths starting with \, so the this fix adds the drive letter to the
 11982 		path.
 11983 
 11984 2.	CarlosF
 11985 	1. Fix for DEF040514 - Problem with "Base_integrator_core_cm920.mrp"
 11986 
 11987 Version 2.00.516
 11988 ================
 11989 (Made by StephanGu, 13/11/03)
 11990 
 11991 1.	MichaelP
 11992 	1.	Bringing USB drivers up to date.
 11993 	2.	Fixed defect DEF040093 - "Base errors in build 03148_Symbian_OS_v8.0b":
 11994 		The WriteCancel #define in d32usbc.inl has been removed so that it cannot cause
 11995 		substitution of functions of that name in other (untargeted) source files.
 11996 
 11997 2.	JonathanM
 11998 	1.	Modified TCdtPanic enumerations to be compatible with Beech.
 11999 
 12000 3.	ChrisM
 12001 	1.	fix defect  DEF039810 - spurious kern::printf in lubbock sound driver
 12002 	2.	Fix defect  DEF039991 - EKA2 Lubbock Driver Not Working Correctly.
 12003 
 12004 4.	PhilK
 12005 	1.	Fix CF card support.
 12006 
 12007 5.	StephanGu
 12008 	1.	Added A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment.  Changed rugged
 12009 		FAT to be used by default, as this is needed by NAND flash.
 12010 		Techview does not yet boot from NAND flash.
 12011 
 12012 6.	CarlosF
 12013   	1.	A3.4.2 Added support for NAND flash as per PREQ12 (REQ1752) NandFlash on EKA2.
 12014 		Changes to allow building a NandLoader image and platform specific
 12015 		RebootDrv (Integrator).
 12016 
 12017 	2.	Created a new Logic Module directory for Integrator: lmnand. This only builds for ARM4, V4
 12018 		and 4T. To build a CM920 text shell rom including the NAND media driver do:
 12019 
 12020 			rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t tshell
 12021 
 12022 		You will still need to uncomment one of the defines in header.iby to be able to use the NAND
 12023 		flash with a filesystem.
 12024 
 12025 		To build a Nandloader rom do:
 12026 
 12027 			rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t nandloader
 12028 
 12029 		To build a techview rom do:
 12030 
 12031 			rombuild integrator920 lmxx600 lmnand techview
 12032 
 12033 	3.	Migrated defect DEF039336 Samsung NAND flash used in Zebra project is not in list of
 12034 		supported devices
 12035 
 12036 7.	Dennis
 12037 	1.	Fixed defect DEF037832 - No Reg Context Table for Kernel Threads
 12038 
 12039 8.	KeithR
 12040 	1.	DEF039906 - RSessionBase::ShareAuto unavailable if __HIDE_IPC_V1__ is not defined on cedar
 12041 
 12042 9.	CiprianM
 12043 	1.	Fixed defect DEF039925 - TArray[0] gives Kern Exec 3
 12044 
 12045 
 12046 Version 2.00.515
 12047 ================
 12048 (Made by JonathanM, 31/10/2003)
 12049 
 12050 1.	Phil Kaye
 12051 	1. 	Fixed DEF23042 - Lubbock dies when USB PC is switched off.
 12052 
 12053 2.	ChrisM
 12054 	1.	Fixed defects DEF038933 (sound underrun) and DEF038730 (emulator crash on nt4)
 12055 	2.	Fixed defect DEF039080 - NULL deref when EKA2 emulator loads an executable lacking the .SYMBIAN section
 12056 	3.	Fixed defect DEF038419 - Very short audio clips  (eg KeyClick.wav) cannot be heard
 12057 
 12058 3.	JonathanM
 12059 	1.	Fixed defect DEF038740 - Cannot build textshell ROMS withe32\rombuild\rom.bat from DevKit (cedar)
 12060 	2.	API classification work: Split off hal related stuff from U32STD.H into U32HAL.H.
 12061 		Added Access and Status classification to both files.
 12062 	3.	Add in-source docs to some pure virtual device driver methods.
 12063 	4.	Added macro __SUPPORT_IPC_V1__ to allow EUSER and EKERN to support IPC V1 even
 12064 		when __HIDE_IPC_V1__ is defined.
 12065 	5.	Fixed defect DEF039330 - Cedar text notifiers aren't compatible with Beech
 12066 	6.	Update in-source documentation for TDblQueLink::Deque()
 12067 		Fixed defect DEF039326 - The in-source documentation on TDblQueLink::Deque() needs updating
 12068 
 12069 4.	CiprianM
 12070 	1.	Fixed defect DEF038961 - e32\kernel\bootstrap.mke needs to recognise RVCT 2.0.1 armasm
 12071 	2.	Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong
 12072 		level of indirection
 12073 	3.	Fixed defect DEF039216 - bootstrap fails to link in the week 40 dev kit (build 3112)
 12074 
 12075 5.	Dennis
 12076 	1.	Added __ASSERT_COMPILE(x) macro to assert a condition at compile time.
 12077 	2.	Make TTimer::iState and TTimer::iType TUint8's. This saves a word of RAM
 12078 		per TTimer and also ensures that the iUnion member is 8-byte aligned
 12079 		which is necessary for RVCT.
 12080 	3.	Added compile time assertions that DThread::iTimer and DTimer::iTimer
 12081 		8-byte aligned.
 12082 	4.	Change NThread::iAcc0 (XScale CPU only) from an Int64 to an array of two
 12083 		TUint32's. This avoids some alignment issues with RVCT.
 12084 	5.	Added debug assertions to ensure that a thread's critical section count
 12085 		never becomes negative.
 12086 	6.	Fix race condition while opening a DMA channel - the iController member
 12087 		was set after releasing the channel manager fast mutex. Fixed by
 12088 		requiring DmaChannelMgr::Open() to set the iController and iPslId members
 12089 		of the returned TDmaChannel object and removing the out-parameters for
 12090 		these from the function signature.
 12091 	7.	Fix incorrect operation of HW_MAPPING_EXT2 and HW_MAPPING_EXT3 macros in
 12092 		the 'new new' bootstrap, pointed out in a recent licensee workshop.
 12093 	8.	Add support for VFP context save. This is enabled on ARM1136 Integrator
 12094 		build.
 12095 		Also added support for saving additional coprocessor state without
 12096 		rebuilding the kernel. To support an additional coprocessor the base
 12097 		port needs to call the following function during Init1() :
 12098 
 12099 		Arm::SetCpInfo(TInt aN, const SCpInfo* aInfo)
 12100 
 12101 		where aN is the coprocessor number and aInfo points to a structure with
 12102 		the following members:
 12103 
 12104 		TCpHandler iHandler;	// handler for context switch
 12105 		NThread* iThread;		// current owning thread, NULL if none
 12106 		TUint16 iContextSize;	// size of context for this coprocessor
 12107 		TInt8 iCpRemap;			// use to remap coprocessor number if >=0
 12108 		TUint8 iSpare;			//
 12109 		TInt iContextOffset;	// offset of context in thread extra context block
 12110 
 12111 
 12112 6.	KeithR
 12113 	1.	CR: KRON-5NLDXP -- Modifiable descriptors return constant TPtrC8's when
 12114 		Mid is called on them.  Adds support for 4 functions: LeftTPtr,
 12115 		RightTPtr, and 2 versions of MidTPtr.
 12116 
 12117 
 12118 Version 2.00.514
 12119 ================
 12120 (Made by AndrewJ, 06/10/2003)
 12121 
 12122 1. CiprianM
 12123 	1.	Implemented Shared Io Buffers.
 12124 	2.	Fixed defect DEF005890 - HAL::Get returns KErrNotSupported
 12125 	3. 	Recategorised distribution.policy files in /e32/common as part of the fix for
 12126  		DEF038275 - Textshell ROM build failures w36 (build 3091) Cedar DevKit
 12127 		(delivered through the fix branch and caught up later)
 12128 
 12129 2. AndrewJ
 12130 	1.	Allowed pc cards to mount Fat32 volumes as well as Fat12/16
 12131 
 12132 
 12133 Version 2.00.513
 12134 ================
 12135 (Made by JonathanM, 24/09/2003)
 12136 
 12137 VERSION 513 ISN'T BINARY COMPATIBLE WITH 512
 12138 
 12139 0. 	Phil Kaye
 12140 	Fix for DEF036396. UART driver reported completion of transmission
 12141 	before all data was clocked out of Transmit Shift Register.
 12142 
 12143 1. MichaelP
 12144 	1.	Added the Thesycon (USBIO.SYS) version of a Win32 command-line USB test program.
 12145 		It's called 'usbtest', and I put it under /e32test/win32/usbtest/. This program
 12146 		is the host-side part of a reflector arrangement and can only be used together
 12147 		with the device-side part T_USB.
 12148 	2.	Fixed defect DEF037542 - "Macro #define missing from rom build files":
 12149 		Added the lines
 12150 			REM Define whether or not to include USB client support:
 12151 			#define EUSBC
 12152 		to the file \lubbock\lubbock.oby (currently the only platform in EKA2 to support
 12153 		USB).
 12154 
 12155 2. CiprianM
 12156 	1.	Fixed defect DEF036844  EKA2 stop-mode debug table missing some constants
 12157 	2.	Changed default debug port on Lubbock to be port 1, in order to support automatic
 12158 		target testing.
 12159 	3.	Added support for NITZ to TLocale.
 12160 
 12161 3. Morgan
 12162 	1.	Added a reschedule callback to stop-mode debug API (kdebug.dll) to update
 12163 		NThread user thread context value. Also added a kernel event handler to
 12164 		implement the stop-mode debug API change flag.
 12165 
 12166 4.	ChrisM
 12167 	1.	New sound driver ldd compatible with Typhoon.   DEF037094. + necessary updates to pdds
 12168 
 12169 5.	SimonT
 12170 	1.	Added channel pause/resume functionality to lubbock's cotulla/dmapsl
 12171 		so the sound DMA transfers can be stopped reliably.
 12172 	2.	Made corresponding changes to the lubbock sound driver to access the
 12173 		extension for pause/resume the play channel.
 12174 	3. 	Tweaked the record behaviour to match that described in DEF037094
 12175 	4.	Fixed numerous issues with the Lubbock sound driver found during MMF
 12176 		integration, in addition t_sound now passes!
 12177 
 12178 6.	AndrewT
 12179 	1.	Fixed defect DEF037709: NULL deref when setting a text RProperty to KNullDesC.
 12180 
 12181 7.	Dennis
 12182 	1.	Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).
 12183 
 12184 8.	JonathanM
 12185 	1.	Change Request DBAR-5RAL4K - Need a way of creating an RMessage from an RMessage2
 12186 	2.	Updated DEF file for EUSER to be BC with EKA1
 12187 	3.	Fixed defect DEF038005 - Defects in MNotifierBase in Beech/Cedar
 12188 
 12189 Version 2.00.512
 12190 ================
 12191 (Made by JonathanM, 05/08/2003)
 12192 
 12193 VERSION 512 ISN'T BINARY COMPATIBLE WITH 511
 12194 
 12195 1.	Nicolas
 12196 	DMA FRAMEWORK:
 12197 	1.	Implemented per-request max transfer size for DMA framework.
 12198 		The same size limit was imposed on every channel.  It proved to be
 12199 		inflexible because some DMA-capable peripherals sharing the same DMA
 12200 		controller may have widely differing limits.  From now on, The max
 12201 		transfer size specified when creating the controller (TDmac) should be
 12202 		the hardware limit imposed by the controller itself.  By default, this
 12203 		limit is used when fragmenting a request but an alternate limit can
 12204 		optionally be specified when constructing a DDmaRequest instance.
 12205 		This change is SC but not BC.
 12206 	2.	Extended interface between DMA framework PIL and PSL so that the PSL
 12207 		can specify the attributes to use for mapping the hardware chunk used
 12208 		to store the hardware descriptors.  The change is source incompatible.
 12209 	3.	Made DMA framework robust in face of missed interrupts.  Without this
 12210 		fix, the framework goes out of sync if one or more DMA interrupts are
 12211 		missed and the client is not notified of the completion of one or more
 12212 		requests.
 12213 		The DFC now checks the request queue for orphaned requests when all
 12214 		transfers have completed and cleans-up the queue and notifies the
 12215 		client for any missed completions if necessary.  The change necessitated
 12216 		the addition of a new pure virtual in TDmac (IsIdle) to check the state
 12217 		of the DMAC.  This function must be implemented by the PSL.  Also, the
 12218 		TDmaChannel::IsIdle() function was renamed into IsQueueEmpty() to avoid
 12219 		confusion.  Consequently this change is neither SC nor BC.
 12220 	4.	Added DMA skeleton PSL in template\dma.
 12221 	5.	Small changes following code review.
 12222 	MISC:
 12223 	6.	Documented various kernel-side APIs.
 12224 
 12225 2.	JonathanM
 12226 	1.	Add new method CSession2::Disconnect(const RMessage2& aMessage).
 12227 		This enables a session to intercept Disconnect messages and delay session
 12228 		deletion until it can perform asyncronous cleanup.
 12229 	2.	Added TFindHandleBase::NextObject(TFullName& aResult,TInt aObjectType)
 12230 		and changed the 10 implementations of TFindXxxxxxx::Next(TFullName &aResult)
 12231 		to use this.
 12232 	3.	Added RHandleBase::OpenByName(const TDesC &aName,TOwnerType aOwnerType,TInt aObjectType)
 12233 		and changed RXxxxx::Open(const TDesC &aName,,TOwnerType aType) methods to use this.
 12234 	4.	Fix for DEF036520 - "RMessage::Complete doesn't NULL iHandle"
 12235 	5.	Added RThread::StackInfo(TThreadStackInfo& aInfo) which returns information about
 12236 		a thread's stack. RThread::GetRamSizes() now uses this to get the correct stack size
 12237 		but still returns zero for the heap size - which cannot be obtained by the kernel on
 12238 		EKA2.
 12239 	6.	Made EUSER compatible with EKA1 after IPC V2 backport. This is a BC break for EKA2.
 12240 
 12241 3.	Dennis
 12242 	1.	Simplified client server IPC framework.
 12243 		Sessions now no longer have a standard user-side handle from the server
 12244 		to the client, as was always intended for V2 IPC. To support V1 IPC a
 12245 		new handle type is introduced to refer to the client thread of an IPC
 12246 		message. This handle is always in the range 0x80000000 to 0x87FFFFFF.
 12247 		It is calculated by
 12248 
 12249 		h = 0x80000000 | ((x>>1)&0x07FF0000) | 0x00008000 | ((x>>2)&0x00007FFF)
 12250 
 12251 		where x = offset of kernel side message object from base of kernel heap
 12252 		chunk (always a multiple of 4). These handles can be used wherever a
 12253 		standard thread handle can be used. This handle value is returned in the
 12254 		iClient field of the V1 RMessage object. The handle is duplicated when
 12255 		a connect message is processed to create a V1 non-sharable CSession
 12256 		object in order to provide a standard handle with a lifetime equal to
 12257 		that of the CSession. Note that this means that the CSession::iClient
 12258 		and RMessage::iClient values are no longer equal, and that it is not
 12259 		possible to store the RMessage::iClient value and use it after the
 12260 		message has been completed.
 12261 		Since there is now no need to manage a handle and cater for its cleanup,
 12262 		session shares are redundant and so they have been removed.
 12263 		Kernel side RMessageK objects have been reduced to 13 words in size and
 12264 		they no longer derive from RMessage2.
 12265 		Threads keep a count of how many IPC messages they have sent. If a thread
 12266 		terminates with IPC messages outstanding and extra reference is opened on
 12267 		the thread which is closed when all outstanding messages have been
 12268 		completed.
 12269 		Messages which have been delivered but not yet accepted are no longer
 12270 		discarded on session closure or thread termination. This is done both to
 12271 		simplify the implementation (since queue iteration is no longer required)
 12272 		and to make the behaviour more predictable (the old behaviour would be
 12273 		sensitive to thread priorities, timeslicing etc.)
 12274 
 12275 	2.	Renamed RSessionBase::Share() to ShareAuto() to prevent ambiguity with
 12276 		V1 RSessionBase::Share(TAttachMode) function.
 12277 
 12278 	3.	Added extra overloads to RSessionBase::CreateSession to allow sessions
 12279 		to be created pre-shared (ie no need to call ShareAuto() to make the
 12280 		session usable by all threads in the process).
 12281 
 12282 	4.	Added virtual CServer2::DoConnect(const RMessage2&) which is called when
 12283 		a connect message is received. This allows connect to be done by another
 12284 		thread, which might be necessary if real time guarantees are required,
 12285 		since connect is not a real time service. CSession2::Disconnect() can
 12286 		be similarly used to process disconnect messages in another thread.
 12287 		It should be noted that the CServer2::iSessionQ is updated/iterated by
 12288 		session connect, session disconnect and server deletion operations, so
 12289 		these should all be done in the same thread unless additional mutex
 12290 		protection is provided.
 12291 
 12292 	5.	__xHEAP_TOTAL_RESET now walks the heap and sets the nesting level for
 12293 		all allocated cells to zero and so lives up to its name.
 12294 
 12295 	6.	Added virtual TInt DObject::RequestUserHandle(DThread*, TOwnerType)
 12296 		which is called prior to creating a user handle of the specified type
 12297 		for the specified thread. This allows kernel objects to control access
 12298 		to themselves by vetoing the creation of handles from threads or
 12299 		processes which should not have access.
 12300 		Currently used by DSession to enforce non-sharability for sessions on
 12301 		servers which don't support it. Also used by DTimer to make sure only
 12302 		creating thread can use it.
 12303 
 12304 	7.	Changed TRealX::operator TInt64() for X86 back to the TInt64-is-class
 12305 		version.
 12306 
 12307 	8.	Added handle type ipcmessaged to genexec.pl and execs.txt.
 12308 		Meanings are:
 12309 			ipcmessaged =	any RMessageK in the accepted state on a server in
 12310 							the current process.
 12311 			ipcmessage	=	as ipcmessaged but don't allow disconnect message.
 12312 			ipcclient	=	as ipcmessage but refers to message client thread.
 12313 
 12314 	9.	Fixed crash debugger problem with listing code segments loaded into a
 12315 		process.
 12316 
 12317 	10.	Fixed problem with Epoc::RomProcessInfo() - some fields of the returned
 12318 		structure were left uninitialised.
 12319 
 12320 	11.	Modified floppy and ATAPI drivers for X86 to flag themselves as
 12321 		removable media under the new scheme where an extra virtual function on
 12322 		DPrimaryMediaBase is used to indicate this.
 12323 
 12324 	12.	Added exported function NKern::CurrentContext() to allow RTOS personality
 12325 		layers to determined whether a function call is made in the context of
 12326 		a thread, an interrupt or an IDFC.
 12327 		Exported some other nanokernel functions which might be required by RTOS
 12328 		personality layers.
 12329 
 12330 	13.	Added a basic example personality layer with some test code.
 12331 
 12332 	14.	Fixed some problems with timed waits resulting from a race condition
 12333 		between the timer expiry handler (running in DfcThread1) and other code
 12334 		trying to resolve the wait condition normally, which involves cancelling
 12335 		the timer. The problem arises if both the thread resolving the wait
 12336 		condition and the waiting thread have priorities higher than that of
 12337 		DfcThread1. In this case it is possible that DfcThread1 is preempted
 12338 		right at the beginning of the timer expiry handler. The timer cancel
 12339 		will have no effect since the timer state has already been set to idle
 12340 		and the expiry handler will run after the waiting thread has been
 12341 		released, has run and blocked again. This potentially causes a
 12342 		subsequent timed wait to time out too early.
 12343 		The problem is fixed by adding a new flag to the NThread::iTimer to
 12344 		indicate definitively that it has been queued. The flag is set with the
 12345 		nanokernel locked at the same time that the timer is queued. It is
 12346 		cleared when the wait is resolved normally and the timer is cancelled
 12347 		and also if the timer expires and the expiry is not spurious.
 12348 		However the race can now be detected by noticing that the flag is still
 12349 		set but the timer state is idle. In this case the timer 'cookie' has
 12350 		bit 0 flipped. The expiry handler can use the fact that bit 0 of the
 12351 		cookie it was passed does not match the current value of the cookie in
 12352 		the NThread::iTimer object. In this case the timer expiry is spurious
 12353 		and no action is taken.
 12354 
 12355 	15.	Fixed problem where a load fails due to codewarrior leaving a DLL in
 12356 		the import list even though nothing is actually imported from it.
 12357 
 12358 	16.	Incorporated a folding table for 8-bit characters into the kernel.
 12359 		Removed the now-redundant USERSTUB.DLL and STANDALONE.DLL
 12360 
 12361 	17.	Incorporated the default UK locale settings into the kernel. Removed
 12362 		E32's version of ELOCL (ELOCL_BASE). Changed Exec::ChangeLocale() so
 12363 		that passing a NULL code segment handle restores the default locale
 12364 		settings.
 12365 
 12366 	18.	Added some tracing to example personality layer initialisation.
 12367 		Fixed a bug in the example personality layer test application.
 12368 
 12369 	19.	Modified KDebugMask() not to look for a per-thread debug mask if the
 12370 		current thread is not a Symbian OS thread.
 12371 
 12372 	20.	Changed all OBY/IBY files to use macro KMAIN instead of MAIN (and
 12373 		KERNEL_DIR instead of ABI_DIR) when including kernel-side files.
 12374 		Currently KERNEL_DIR is always the same as ABI_DIR.
 12375 		KMAIN is the same as MAIN unless the option -x <kernel_abi> is supplied
 12376 		to ROM.BAT, in which case KMAIN = <kernel_abi>. This allows mixed GCC
 12377 		and RVCT ROMs to be built.
 12378 		Modified MAKMAKE so that the ROMFILE option uses MAIN or KMAIN as is
 12379 		appropriate in the generated IBY files.
 12380 
 12381 	21.	Added SInt64, SUint64 and SDouble to enable 64-bit data items to be
 12382 		passes across GCC/EABI boundaries. These classes have 4-byte alignment
 12383 		in both cases and have conversions/assignments to/from the relevant
 12384 		data type.
 12385 		Use SInt64 in TSupplyInfoV1 and TMachineInfoV1.
 12386 
 12387 	22.	Move RAllocator data members back into RAllocator and get rid of
 12388 		SAllocatorData. Move pure virtual functions from RAllocator into new
 12389 		base class MAllocator. This is done to ensure that the vptr is always
 12390 		in the first word and the layout is the same on both GCC and EABI builds.
 12391 		The previous scheme didn't work since EABI puts the vptr in the first
 12392 		word even if there's a base class with no virtual functions - it offsets
 12393 		the base class in this case.
 12394 
 12395 	23.	Modify halcfg.pl to deal with /* ... */ comments as well as // comments.
 12396 
 12397 	24. Modified the way binary searches are done in RPointerArray and RArray.
 12398 		A new mode parameter is passed in to the search routine which takes one
 12399 		of the following values:
 12400 		EArrayFindMode_First -	find the first matching entry
 12401 		EArrayFindMode_Last -	find the first entry exceeding the specified one
 12402 								index = array count is returned if no such entry exists
 12403 		EArrayFindMode_Any -	find any matching entry (allows early termination, =old behaviour)
 12404 
 12405 		For functions which have only a return value and no out-parameter for
 12406 		the index, the return value equals the index (always >=0) if a match
 12407 		was found and equals KErrNotFound if no match was found.
 12408 
 12409 		For functions which have both a return value and an out-parameter for
 12410 		the index, the return value equals KErrNone if a match was found and
 12411 		KErrNotFound if no match was found. The index equals the value described
 12412 		above if a match was found and equals the index of the first entry
 12413 		exceeding the specified one if no match was found (=array count if no
 12414 		such entry exists).
 12415 
 12416 		New exported functions have been added to allow searching with a specified
 12417 		mode. The InsertAllowingRepeats() type functions now use a LAST mode
 12418 		binary search to locate the insertion point rather than an ANY mode
 12419 		search followed by a sequential search. All old exports are still present
 12420 		for BC reasons and default the mode to ANY.
 12421 
 12422 		This modification was prompted by licensee incident report INC036185.
 12423 
 12424 	25.	Implemented POSIX-style condition variables (RCondVar) which are used in
 12425 		association with RMutex to implement arbitrary wait conditions.
 12426 
 12427 4. MichaelP
 12428 	1.	Added in-source documentation to USB client driver (PIL + LDD).
 12429 	2.	Many smaller code changes + fixes to USB client driver (PIL + LDD + Cotulla PSL).
 12430 	3.	Fixed defect DEF036368 - "USB base drivers not in ROM":
 12431 		Updated file /lubbock/rom/base_lubbock.iby to include USB PDD + LDD.
 12432 
 12433 5. CiprianM
 12434 	1.	Propagated DEF023302 - Invalid test in HBufC8/16::__DbgTestInvariant():
 12435  		HBufC, TPtr and TPtrC __DbgTestInvariant functions now match
 12436  		the actual class invariants.
 12437 	2.	Propagated defect DEF021977 - RNotifier can start a notifier that doesn't exist
 12438 	3.	Added a new debug port KNullDebugPort=-2 which supresses any output to the com
 12439 		ports. It can be set in the .xby files with the debugport keyword or with the
 12440 		debugport eshell command. Please note that debugport eshell command only takes
 12441 		unsigned values, so you can set the port by using "debugport 0xfffffffe"
 12442 
 12443 6. StefanW
 12444 	1.	Various changes to SD Card Controller and media drivers to conform to compliance tests.
 12445 	2.	Added support for SD Card Protected Area access using device key.
 12446 	3.	Added support for cards that don't support MB Write or Erase command class (like ROM Cards).
 12447 	4.	Changed MMC media driver to take advantage of faster multi-block erase during format.
 12448 	5.	Re-ordered of SD and CPRM exports to make compatable with MMC library.
 12449 	6.	Added support for EABI builds of SD and CPRM versions of the controller.
 12450 	7.	Propogated DEF018291  MMC initialization is unnecessarily slow
 12451 	8.	Propogated DEF022315  SDCard: RAM MKB isn't supported
 12452 	9.	Propogated DEF022316  SDCard: The MKB mode is not set when issueing a secure write command.
 12453 	10.	Propogated DEF022318  SDCard: MKB mode setting problem for first sector after end of root dir
 12454 
 12455 7. RobertJ
 12456 	1.	Fixed DEF035922
 12457  		"USBMAN panics when trying to SetInterface with iString = NULL"
 12458 
 12459 8. TonyL
 12460 	1.	Fixed DEF035567 "TimeW - Can't set an Alarm". Added Lubbock sound driver
 12461 		to techview oby file.
 12462 	2.	Fix for occasional writing off end of LFFS mapped virtual space on
 12463 		Lubbock.
 12464 	3.	Fix LBA support in Lubbock specific PC card driver.
 12465 
 12466 9. ChrisM
 12467 	1.	Fixed DEF036660 "Cedar emulator panic on restart in codewarrior debugger".
 12468 
 12469 10. CarlosF
 12470 	1.	Added Integrator Bootloader. This was made generic and independent of what processor
 12471 		is being used, and uses MMC to download images to RAM or Flash (or serial download).
 12472 
 12473 Version 2.00.511
 12474 ================
 12475 (Made by JonathanM, 19/05/2003)
 12476 
 12477 0. JonathanM and ChrisM
 12478 		Changes to make EKA2 compatible with Symbian OS version 7...
 12479 	1.	Restored TInt64 as a class.
 12480 	2.	Added dummy exports to EUSER for functions which aren't unsupported on EKA2.
 12481 		The exports panic with "Deprecated EUSER xxx" where xxx is the EUSER eport
 12482 		ordinal.
 12483 	3.	IPC classes restored to their v7 definitions (RMessage, RMessagePtr, RServer,
 12484 		CServer, CSession and CSharableSession).
 12485 		Secure API versions of these are now seperate classes (RMessage2, RMessagePtr2,
 12486 		RServer2, CServer2, CSession2)
 12487 	4.	Renamed User::Heap() to User::Allocator() and provided inline version of User::Heap()
 12488 		which uses User::Allocator().
 12489 	5.	Made UserHal::SwitchOff() behave as it does on 7.0.
 12490 		(This is needed until new domain manager is integrated into the rest of the OS.)
 12491 	6.	Many other changes and tidy-ups
 12492 
 12493 1. Morgan
 12494 	1.  Removed barrier for effective post-mortem debug by removing
 12495 		__NORETURN__ and __NORETURN_TERMINATOR__ directives from selected functions.
 12496 		(Panic, Fault, and Exit functions throughout user and kernel code effected.)
 12497 	2.	Added RDebug::Print trace redirection to DebugEventHandler.
 12498 	3.	Added Debugger::Version() and DDebugEventHandler::Enabled() functions
 12499 
 12500 2. Dennis
 12501 	1.	Code in /e32/memmodel/epoc/mmubase/... is now common to both moving and
 12502 		multiple memory models. This deals with allocation and freeing of page
 12503 		tables, initialisation of some memory management-related kernel data
 12504 		structures, management of hardware chunks shadow pages.
 12505 
 12506 	2.	Moving model now maintains information relating to the use of each
 12507 		physical RAM page in the same way as the multiple memory model. This
 12508 		information will be used for mobile SDRAM defragmentation.
 12509 
 12510 	3.	IO mappings are now made in two separate address regions. Mappings made
 12511 		by the bootstrap go in the "Primary IO Mappings" area, which is a 16Mb
 12512 		address region starting at 63000000/C3000000 on the moving/multiple
 12513 		model respectively. These mappings are never altered by the kernel.
 12514 		Mappings made by variants/extensions/drivers use HW chunks and these
 12515 		are allocated addresses in the kernel section. There is no separate
 12516 		hardware address section.
 12517 
 12518 	4.	Hardware chunks will now use 64K pages and 1M sections if possible
 12519 		rather than using 4K pages for the entire mapping. The linear address
 12520 		used is selected to allow the use of the largest possible mapping size
 12521 		for the size of the region to be mapped.
 12522 		Additionally, the rationalised bootstrap code allows the use of 64K
 12523 		and 1M mappings in the primary IO area.
 12524 
 12525 	5.	Removed the AddressInfo and RealTimeInfo functions from all ASSPs and
 12526 		variants. The RealTimeInfo now always uses the standard values of 32
 12527 		pages and 512 bytes. The information returned by AddressInfo consisted
 12528 		of two parts - the home section/hw section info and the cache flush/RAM
 12529 		drive info. The changes to the way HW chunk addresses are allocated
 12530 		remove the need for the first part. The second part was used only in the
 12531 		direct memory model; the required information is now passed in the super
 12532 		page (since it is ultimately determined by the bootstrap).
 12533 
 12534 	6.	The way RAM is mapped in the direct memory model on platforms with an MMU
 12535 		has been changed to avoid problems with cached RAM being used for I/O.
 12536 		All RAM is mapped in one contiguous block starting at KernelDataAddress-8K
 12537 		using a cached mapping. 'User' RAM is also mapped at its physical address
 12538 		using an uncached mapping. Epoc::AllocPhysicalRAM returns a physical
 12539 		address, which will also be the address at which uncached accesses occur.
 12540 		The allocated range is also purged from the cache at the end of
 12541 		Epoc::AllocPhysicalRAM.
 12542 
 12543 	7.	Two new fields iKernelLimit and iRamBase have been added to the super
 12544 		page. These are used by the direct memory model only. iRamBase is the
 12545 		linear address of the base of the cached RAM mapping. iKernelLimit is
 12546 		the linear address of the base of the user-accessible RAM, which is also
 12547 		the base of the RAM drive.
 12548 
 12549 	8.	The organisation of kernel mappings in the moving and multiple memory
 12550 		models has been changed. The kernel .data/.bss sections, the initial
 12551 		thread stack and the initial kernel heap are now all mapped in one
 12552 		contiguous block starting at TRomHeader::iKernDataAddress. This block
 12553 		becomes the SvHeap chunk. The SvData chunk no longer exists.
 12554 		The rationalised bootstrap code uses 64K mappings for this initial
 12555 		kernel data area, reducing the number of TLB misses and improving
 12556 		performance. The initial kernel data area contains very frequently used
 12557 		data such as the scheduler and interrupt stacks.
 12558 
 12559 	9.	TRomHeader::iKernStackAddress no longer exists. It has been replaced with
 12560 		TRomHeader::iKernelLimit, which is the limit of prereserved addresses
 12561 		in the kernel section. On the multiple memory model this is simply the
 12562 		top of the kernel heap rounded up to the next 1Mb boundary. On the
 12563 		moving model it also includes address space for fixed process data
 12564 		chunks.
 12565 
 12566 	10.	Split the super page into two parts. The base class SSuperPageBase now
 12567 		contains all the values shared between the kernel and the bootstrap.
 12568 		This is defined in a separate header file /e32/include/kernel/kernboot.h
 12569 		which defines the interface between bootstrap and kernel.
 12570 
 12571 	11.	Moved some constant definitions from
 12572 			/e32/include/memmodel/epoc/moving/arm/arm_mem.h
 12573 			/e32/include/memmodel/epoc/multiple/arm/arm_mem.h
 12574 			/e32/include/memmodel/epoc/multiple/x86/x86_mem.h
 12575 
 12576 		into mmboot.h files in the same directory. This enables the files to be
 12577 		shared with bootstrap code.
 12578 
 12579 	12.	Rationalised all bootstrap code in the system.
 12580 		The epoc.inc files have	been removed. Instead, the following files are
 12581 		automatically translated to assembler format (using /e32toolp/e32util/h2inc.pl)
 12582 		which could be either ARMASM or GNU AS for ARM platforms or Turbo Assembler
 12583 		for X86:
 12584 
 12585 		/e32/include/e32rom.h - ROM header and file system layout
 12586 		/e32/include/kernel/kernboot.h - Interface between bootstrap and kernel
 12587 		/e32/include/memmodel/epoc/<model>/<cpu>/mmboot.h - (not on direct model)
 12588 			Memory model dependent values (mainly linear addresses).
 12589 
 12590 		The file /e32/include/kernel/arm/bootdefs.h is used on ARM CPUs to
 12591 		provide certain definitions internal to the bootstrap.
 12592 
 12593 		The following assembler include files are also provided (for ARM CPUs
 12594 		only):
 12595 
 12596 		/e32/include/kernel/arm/bootmacro.inc - debug and general use macros
 12597 		/e32/include/kernel/arm/bootcpu.inc - CPU/MMU specific definitions and
 12598 			macros for describing I/O and memory mappings.
 12599 
 12600 		On ARM platforms three generic source files are used:
 12601 
 12602 		/e32/kernel/arm/bootmain.s - The top level boot code, from reset vector
 12603 										to 'jump to kernel'.
 12604 		/e32/kernel/arm/bootutils.s - Utility subroutines, including memory copy
 12605 			and fill, MMU management routines, RAM groping, management of RAM
 12606 			bank lists, memory allocation, and debug stuff.
 12607 
 12608 		/e32/kernel/arm/bootcpu.s - CPU specific code.
 12609 
 12610 		These files are combined with (usually) one platform specific file which
 12611 		does hardware initialisation and provides descriptions of the RAM, ROM
 12612 		and hardware present on the device. Also required is a platform specific
 12613 		configuration header file (config.inc) which specifies the CPU to build
 12614 		for and some other configuration options, and a platform specific
 12615 		makefile (uses GNU make). The latter lists any platform specific files,
 12616 		specifies the relative path to E32 and specifies the memory model. It
 12617 		then includes the generic makefile /e32/kernel/bootstrap.mke.
 12618 
 12619 		The generic makefile will find all the .s, .h and .inc files specified,
 12620 		translate .h files to .inc as required, assemble and link. RVCT, ARM SDT
 12621 		2.11 and GNU AS assemblers are supported. If no ARMASM can be found,
 12622 		include and source files are automatically translated to GNU AS syntax
 12623 		(using /e32toolp/e32util/armasm2as.pl) and GNU as/link are used.
 12624 
 12625 	13.	Moved all our extension makefiles over to GNU make, except for
 12626 		x86pc/pcboot.mke, since the X86 port needs MSVC anyway.
 12627 
 12628 	14.	Don't bother saving SPSR on the stack during the IRQ preamble.
 12629 
 12630 	15.	Modified all assembler code to preserve 8 byte stack alignment where it
 12631 		calls back to C++ code. Functions which don't call back to C++ have
 12632 		not been modified. Also TScheduler::Reschedule() does not keep the
 12633 		stack aligned, since no C++ code is called - the memory model hook must
 12634 		be in assembler since it uses a nonstandard calling convention. The only
 12635 		place where C++ may be called from the scheduler is in IDFCs; the stack
 12636 		is aligned at that point.
 12637 
 12638 	16.	Changed all MOV PC, Rn instructions in the kernel and drivers to BX Rn.
 12639 		This means that the kernel and/or drivers could be built as thumb, but
 12640 		only on architecture 5 devices. LDR PC, ... and LDM Rn, {...,PC} have
 12641 		not been modified to use BX.
 12642 		Building the kernel as thumb would not be practical with GCC anyway due
 12643 		to the volume of assembler code in the kernel and the fact that GCC
 12644 		doesn't cope well with mixed ARM/THUMB code.
 12645 
 12646 	17.	Fixes to prevent emulator occasionally locking up during process exit
 12647 		due to the ExitProcess being suspended by emulator scheduling but never
 12648 		being resumed since the rescheduler thread has been killed off.
 12649 
 12650 	18.	Implemented User::FreeLogicalDevice and User::FreePhysicalDevice.
 12651 		The code segments are only unloaded when the idle thread runs to prevent
 12652 		obscure lifetime issues.
 12653 
 12654 	19.	Added assertions to check that kernel-side mutexes are acquired in the
 12655 		correct order to prevent deadlock. The assertions are active in debug
 12656 		builds only. These assertions require:
 12657 		i.	Extra member data in DThread. This is present in both debug and
 12658 			release builds since DThread is derived from.
 12659 		ii.	Extra member data in DMutex. This is present only in debug builds
 12660 			since DMutex is not derived from and the extra data is at the end
 12661 			of the class.
 12662 		iii.All places where a kernel side mutex is created must supply an extra
 12663 			parameter which indicates the position of the mutex in the global
 12664 			ordering. The values used for the standard kernel mutexes are
 12665 			in kernel.h
 12666 
 12667 	20.	Fixed hardcoded offset bug in assembler coded ExecHandler::MessageComplete
 12668 		which has been there since the original platform security changes.
 12669 
 12670 3. MichaelP
 12671 	1.	Adding USB 1.1 client support to EKA2. This comprises of the software
 12672 		controller USBCC.DLL (PDD as a kernel extension), which in turn internally
 12673 		consists of PSL and PIL (Platform-Specific/Independent Layer, respectively),
 12674 		and the LDD EUSBC.LDD.
 12675 		The PSL	submitted here is for Lubbock/Cotulla only. The PDD lives in
 12676 		/e32/drivers/usbcc (PIL) and /cotulla (PSL), the LDD in /e32/drivers/usbc.
 12677 
 12678 4. JonathanM
 12679 	1.	Fixed defect INC022668  - "Modifier example crashes the emulator"
 12680 
 12681 4.	Nicolas
 12682 
 12683 	DEBUG API CHANGES: Some of the changes are source-incompatible with the previous
 12684 	debug API drop.
 12685 
 12686 	1.	Unified all debugging hooks into a single extensible scheme (DKernelEventHandler).
 12687 		It supports hardware exceptions, user-side software exceptions, ressource
 12688 		tracking (new thread, ...) and user trace redirection.
 12689 
 12690 	2.	Fixed bugs in resource tracking hooks: The "main thread creation" event was sent
 12691 		twice and creation of the data/bss/stack chunk was sent before the corresponding
 12692 		process creation event.  Fixing it required semantic changes to EEventAddProcess,
 12693 		EEventRemoveProcess and EEventRemoveThread.
 12694 
 12695 	3.	Added EEventKillThread which is called whenever a thread dies in the context
 12696 		of this thread while all its resources are still available.  This event should
 12697 		be used in preference to EEventRemoveThread.
 12698 
 12699 	4.	Extended NKern::ThreadGetUserContext().  It can now be called from the current
 12700 		thread and behaves correctly when called on a dead thread.
 12701 
 12702 	5.	Added NKern::ThreadSetUserContext().
 12703 
 12704 	6.	Documented various debug-related APIs.
 12705 
 12706 	OTHER CHANGES:
 12707 
 12708 	7.	Added elocl.dll and ektran.dll to the obey files for full ROMs.  They
 12709 		were previously included by romkit\...\base.hby.  The latter has been
 12710 		deleted.
 12711 
 12712 	8.	Fixed bug in ATA media driver: A trace statement was referring to an
 12713 		obsolete hardcoded I/O address (0x58xxxxxx / old memory map).  Removed,
 12714 		to avoid problems in the future, some commented out trace statements in
 12715 		ATA media driver and serial LDD suffering from the same problem.
 12716 
 12717 	9.	Fixed $$$$ bug in EUSER TStringToDateTime::GetSeparatorToken().
 12718 
 12719 
 12720 Version 2.00.510
 12721 ================
 12722 (Made by ChrisM, 18/03/2003)
 12723 
 12724 1. Dennis
 12725 	1.	Made major changes to Lubbock bootstrap - previously looked like it was
 12726 		copied from SA1110 bootstrap and contained many errors.
 12727 		CPU should now run at 199MHz, SDRAM at 99.5MHz.
 12728 		Everything should now be cached appropriately.
 12729 
 12730 	2.	Made some other kernel changes for XSCALE to work round known problems
 12731 		with the PXA250 device (Cotulla) - Errata 14, 21, 96 in specification
 12732 		update.
 12733 
 12734 	3.	Some fixes for ARM v6.
 12735 
 12736 	4.	Fix bug in ARM assembler coded IPC stuff.
 12737 
 12738 	5.	Added a special instruction (TST PC, #0) to the beginning of all EKA2
 12739 		entry points. This is detected by PETRAN/ELFTRAN and the file marked as
 12740 		having an EKA2 style entry point. The ELF-derived and JFormat flags have
 12741 		been generalised into header format, import format and ABI fields.
 12742 		An entry point type field has been added to distinguish EKA1 and EKA2
 12743 		entry points.
 12744 
 12745 	6.	Fix problem getting filename of a dead process.
 12746 
 12747 	7.	Fix Series5mx and some other bootstraps - the RVCT mods destroyed
 12748 		position-independence.
 12749 
 12750 	8.	Add 'nowrapper' keyword to ROMBUILD. If specified in OBY file it causes
 12751 		the	256 byte wrapper to be omitted. Added the keyword to our obey files
 12752 		where needed.
 12753 
 12754 	9.	Added --kerneltrace (-k) option to ROMBUILD to override kernel trace mask
 12755 		from the command line.
 12756 
 12757 	10.	Added RMessagePtr::ClientDataCaging() to return the data caging attribute
 12758 		of a client without recourse to opening handles (which could fail).
 12759 
 12760 	11.	Removed the Cirrus Logic 7211 port.
 12761 
 12762 	12.	Update mainline base_*.iby files to take account of the new name
 12763 		for medint.pdd
 12764 
 12765 2.	CarlosF
 12766 	1.	Moved the definition of the Digitiser area and offset to Display area from
 12767 		the Variant to the Digitiser driver. Those parameters are now returned by
 12768 		a new function: DDigitiser::DigitiserInfo.
 12769 	2.	Extended the EHalGroupDigitiser group of functions with the addition of another
 12770 		enumeration: EDigitiserHalXYInfo. This allow obtaining the info on the Digitiser
 12771 		through calling Kern:HalFunction.
 12772 	3.	Removed an annoying dependency on the LCD extension having to start before the
 12773 		Digitiser extension which was caused by the Digitiser::DoCreate function
 12774 		requesting the Machine Info which reads the LCD info off the LCD driver.
 12775 	4.	Changed Assabet Ethernet PDD to fix a bug which resulted on when setting a new
 12776 		MAC address having to restart the driver in order for this to take effect. Also
 12777 		updated the WINS HowTo document. (All of the above under changelist 235561 and
 12778 		238007)
 12779 	5.	Changed EXSTART to start the Secondary process from a DFC. This guarantees the
 12780 		File Server is always started after all the extensions have been started,
 12781 		regardless of their relative ordering on the .IBY file. (Changelist 236966)
 12782 	6.	Removed hal\hal directory and updated hal\bld.inf (these excrecences were left
 12783 		from a previous change in the build system).
 12784 	7.	Enhancements to the HAL: provided implementations for a few attributes (EAccessoryPower,
 12785 		EPowerBackup, EKeyboardState, EKeyboard, EKeyboardDeviceKeys, EKeyboardAppKeys,
 12786 		EKeyboardClick, EKeyboardClickVolumeMax, EBacklight, EPen, EPenX, EPenY, EPenState,
 12787 		EPenClick, EPenClickVolumeMax, ELEDs, ESwitches, EMouse, EMouseX, EMouseY and EMouseButtons).
 12788 		EKeyboardState and EPenState are used by UIKLAF (as in Hurricane).
 12789 		Modified Assabet Variant and Digitiser and Keyboard drivers accordingly (also SOC drivers).
 12790 		Changelist 241295.
 12791 	8.	Rationalised Machine Info: due to changes above this is no longer held in the Variant,
 12792 		instead Keyboard, Display and DIgitiser related info is held on those extensions.
 12793 		Removed Variant unrelated info from all Variants. Modified UserHal::MachineInfo to assemble
 12794 		a Machine Info buffer pulling the info from the relevant sources. Changelists 242849 and
 12795 		242852.
 12796 	9.	Changes to Integrator Port: separated the Logic Module from the Variant. The existing
 12797 		(and any future) Logic Module directory builds independently from both ASSP and Variant.
 12798 		It also builds a special Kernel Extension (Variant Extension) which is used to extend
 12799 		to extend the Variant. The Variant Extension registers with the Variant at boot time and
 12800 		it is called by the Variant whenever it executes a function for which the Variant Extension
 12801 		registered an interest.
 12802 	10.	Modified rom.bat: the decision to include Logic module(s) binaries in ROM is only done at
 12803 		ROM building time. Introduced a new option (--modules or -m) to allow specifying a list of
 12804 		Logic modules directory names separated by commas. The Logic Modules export their own .iby
 12805 		files.
 12806 		As an example, to build a text shell ARM4/UDEB Integrator ROM comprising core module CMXXX
 12807 		and Logic Modules LMYYY and LMZZZ type:
 12808 
 12809 			rom -i arm4 -b udeb -v integrator_cmxxx -m lmyyy,lmzzz -t tshell
 12810 
 12811 		The ROM image generated will be called:
 12812 
 12813 			INTEGRATOR_CMXXX_LMYYY_LMZZZARM4D.IMG
 12814 	11.	Also modified the way Mainline Integrator ROMS are built. Using the above example you would
 12815 		need to type:
 12816 
 12817 			rombuild integratorxxx lmyyy lmzzz techview
 12818 		Changed the Base overnight build scripts accordingly.
 12819 		(Paragraphs 9. 10 and 11. under changelist 246862).
 12820 	12.	Implemented CM920 Bootstrap side of Kern::Restart. Building Integrator-specific tests now
 12821 		export autoexec.bat as required.
 12822 
 12823 3.	Nicolas
 12824 	1.	Added assertions in Kern::MutexWait() and Kern::MutexSignal() to ensure
 12825 		calling thread is in critical section.
 12826 	2.	Migrated fix for Hurricane defect INC017140 - CAsyncOneShot does not
 12827 		check return code from RThread::Duplicate: Panic if the duplication
 12828 		fails as the proper fix (adding a 2nd-phase c'tor and moving the duplicate
 12829 		operation there) implies breaking BC.
 12830 	3.	Fixed another bug in CAsyncOneShot: request status was not set to pending
 12831 		before making the AO active.
 12832 	4.	Some changes to DMA framework:
 12833 		a.	TDmac and TDmaChannel were wrongly deriving from DBase.  They are
 12834 			now standalone classes which must be stored in the BSS section.
 12835 		b.	Added TDmaChannel::Extension() and TDmaChannel::StaticExtension() so
 12836 			PSL to extend generic API.  The former is for channel-specific
 12837 			operations, the latter for global ones.
 12838 		c.	Updated comments.
 12839 
 12840 4.	JonathanM
 12841 	1.	Fix for DEF016645 - "Sound driver returns incorect length of data when recording"
 12842 	2.	Make Domain component use __SECURE_API__
 12843 	3.	Integrate lost fix for defect BAD-58CDM4 - "Locale change has no effect on
 12844 		contact filtering."
 12845 	4.	Fixed bug in User::Panic where it would give USER 23 if the category name was too long.
 12846 
 12847 5.	CiprianM
 12848 	1.	8bit kernel : REQ415 : "Kernel objects shall use narrow names (ie 8bit  non-Unicode).
 12849 		The user-side APIs that reference kernel objects shall retain 16bit APIs, but shall
 12850 		only accept ASCII names. The object names shall be validates so each name only
 12851 		contains characters in the range 0x20 to 0x7f."
 12852 		16 bit descriptors have been removed from the kernel.
 12853 	2.	Fix for DEF000034/MAT-5AJCZ9  (Propagated) RArray's binary search code is heretical
 12854 	3.	Fix for DEF021465 - Mistaken construction of a TBuf<> by assignment from a TInt
 12855 
 12856 6. 	PhilK
 12857 	1. 	Fix for DEF015625 - "USB cable detection doesn't work on Lubbock"
 12858 	2. 	Fix for DEF016388 - "Lubbock - t_video/t_shal e32test failures - t_video does not blank screen"
 12859 	3. 	Add Lubbock sound driver.
 12860 	4. 	Increased LFFS size to 29MB.
 12861 	5.	Add Lubbock bootloader and generic bootloader display driver.
 12862 
 12863 7.	AndrewT
 12864 	1.	Implemented CRJDOD-5J8MQV: "Factor RTest and Console::NewL() out of EUSER"
 12865 		Console::NewL() now creates a proxy console class which dynamically loads
 12866 		ECons.dll to create the real console implementation, removing the static
 12867 		linkage from EUSer to ECons. On the emulator it attempts to use both ECons
 12868 		and EConseik to support both text-shell and GUI emulators. It is also now
 12869 		possible to build GUI ROMs without ECons.dll.
 12870 
 12871 8.	AndrewJ
 12872 	1.	Implemented new media driver for Rofs on wins, this uses dirve J:
 12873 	2.	Added second partition to the assabet lffs driver for Rofs need to
 12874 		remove the MACRO ROFS_PARTITION from the mmp file to run the original
 12875 		configuration of one partition. The required that the allocation of
 12876 		drives per CF-card slot be reduced by one.
 12877 	3.	Added configurable partition function to the SOC lffs driver, then
 12878 		enabled the functionality to the integrator specific driver configuration.
 12879 		This involoved adding an lffs_config.h file to specify the partitions
 12880 
 12881 9.	ChrisM
 12882 	1.	Added wins sound driver
 12883 	2.	Fixed t_env to prevent it leaving a t_env_child process
 12884 	3.	Added code to start eshell automatically on emulator if started with epoc and text window server.
 12885 	4.	Fixed sound driver ldd causes panic if emulator switched off whilst playing
 12886 	5.	Fixed long debug print output can crash emulator problem
 12887 	6.	Optimised debug print to use less stack space
 12888 
 12889 
 12890 10. PeteS
 12891 		Added support for multiple Peripheral Bus Controllers:
 12892 	1.	Instead of each Peripheral Bus Controller having a pre-defined set of local drives that it registers
 12893 		for, each now calls down to the variant DLL for the list of drives for that platform prior to
 12894 		local drive registration. Hence the function: TMMCardControllerInterface::IsMMCStack(TInt aSocket)
 12895 		has been renamed and extended to:-
 12896 			TBool TMMCardControllerInterface::IsMMCSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
 12897 		Similarly, the function TPcCardControllerInterface::IsPcCardSocket(TInt aSocket)
 12898 		has been extended to:-
 12899 			TBool TPcCardControllerInterface::IsPcCardSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
 12900 		Local drive numbers are supplied via the new struct: SMediaDeviceInfo which also contains, total drives
 12901 		to register, total media objects to register, Media type and device name.
 12902 		Each variant now contains the header file VARIANTMEDIADEF.H which holds the complete set of media
 12903 		definitions for that platform.
 12904 	2. 	In addition, the local drive allocation for Media Drivers that register for local drives should also
 12905 		be platform specific rather than pre-defined. Unlike, Peripheral Bus Controllers, these don't have a
 12906 		separate PBUS variant DLL.
 12907 		Most, such as the LFFS and ROFS Media Drivers are already built from the variant directory since
 12908 		they contain platform specific code. These have been modified to take the drive registration info.
 12909 		from the variantmediadef.h file for that variant.
 12910 		The IRAM Media Driver (MEDINT.PDD) however was built 'generically' from the kernel directory. This has
 12911 		now been modified so it also builds from the variant directory. Again, this takes drive registration
 12912 		info. from the variantmediadef.h file for that variant. To build this requires the definition of the
 12913 		include path for this media info file. This must be done by defining 'VariantMediaDefIncludePath' in the
 12914 		variant.mmh file for the platform.
 12915 	3.	Since various Media Drivers only open for specific values of the media device type enum: TMediaDevice,
 12916 		these have been pre-defined as follows (but can still be re-used on platforms which don't support the
 12917 		standard media type):-
 12918 			EFixedMedia0		- 	IRAM
 12919 			EFixedMedia1		- 	LFFS
 12920 			EFixedMedia2		- 	ROFS
 12921 			ERemovableMedia0	-	MMC
 12922 			ERemovableMedia1	-	PC-CARD.
 12923 		Note that it is no longer possible to use the removable media type to determine the socket number.
 12924 		(For example PC Card devices on different sockets now all have media type 'ERemovableMedia1). Some
 12925 		user-side code was relying on assigment of media types to determine the socket number - using
 12926 		RLocalDrive::MediaDevice(). A new function RLocalDrive::IsRemovable(TInt& aSocketNum) has been added
 12927 		to retrieve the socket number for removable devices.
 12928 	4. 	Due to the differing use of TMediaDevice values described above, the media driver constructor - exported
 12929 		from ELOCD has been changed from
 12930 			DMediaDriver(TMediaDevice aDevice)
 12931 		to
 12932 			DMediaDriver(TInt aMediaId).
 12933 	5. 	Added MMC support for Lubbock. (Since this already supports PC-Card - this is now an example of a platform
 12934 		with multiple PBus Controllers).
 12935 
 12936 Version 2.00.509
 12937 ================
 12938 (Made by JonathanM, 14/01/2003)
 12939 
 12940 1. ChrisCr
 12941 	1.  DEF001740 - (Propagated) PBUS power saving is bad for power saving.
 12942 		Disable timer tick when PSU off.
 12943 
 12944 2.	JonathanM
 12945 	1.	Changes for REQ 358.2 "CPU-specific builds" and
 12946 		REQ358.3 "Split CPU- and ASSP-specific configuration"...
 12947 
 12948 		Base code no longer builds for ASSP specific targets (e.g. MISA or MI920.)
 12949 		instead they build for the ABI they use (e.g. ARM4).
 12950 
 12951 		Non-generic code is specified only in the relevant Variant's BLD.INF file.
 12952 		E.g. in Assabet the kernel's MMP file is added as
 12953 
 12954 			..\e32\kernel\ekern
 12955 
 12956 		and the SA1100 ASSP is included by
 12957 
 12958 			#include "..\sa1100\sa1100.inf"
 12959 
 12960 		In order that the same source code and MMP files can produce binaries specific
 12961 		to a given Variant, each Variant must supply a file called 'variant.mmh' which
 12962 		contains information of CPU type, Memory Model and a macro to generate a
 12963 		distinguishing name: E.g. for Assabet this is...
 12964 
 12965 			macro __CPU_SA1__
 12966 			#define MM_MOVING
 12967 			#define VariantTarget(name,ext) _assabet_##name##.##ext
 12968 
 12969 		MMP files include this header file by the line '#include <variant.mmh>' and
 12970 		will use the VaraintTarget macro in specifying arguments for things like TARGET
 12971 		and LIBRARY. The #include search path for the build tools has been extended to
 12972 		additionally look in the directory which contains the projects BLD.INF file.
 12973 		(So this is where variant.mmh should live.)
 12974 
 12975 		Because the binaries for different Variants can now have a unique name prefix
 12976 		it is no longer necessary to use cryptic two character Variant codes in their
 12977 		names. Also, now we no longer have 8.3 filenaming restrictions the opportunity
 12978 		has been taken to rename all device drivers and kernel extensions. These now
 12979 		have the same name as they have in ROM. E.g. the Assabet serial driver is now
 12980 		build as '_assabet_euart.pdd' rather than 'datxab.pdd'.
 12981 
 12982 		TEST CODE
 12983 
 12984 		Test drivers and other Variant specific test code now lives in the Variant
 12985 		under the 'test' directory. To avoid having to change source code, the
 12986 		'variant.mmh' for the test code defines relevant ASSP macros like '__MISA__'
 12987 
 12988 		ROM BUILDING
 12989 
 12990 		IBY files live in their respective variant under the 'rom' directory.
 12991 
 12992 		Changes to ROM.BAT
 12993 
 12994 		a. Variant name must be specified in full.
 12995 		b. The ASSP is no longer needed or allowed.
 12996 		c. The ABI to use must be specified with the --inst= option.
 12997 
 12998 		e.g. To build assabet use
 12999 
 13000 			rom --v=assabet --inst=arm4 --build=udeb
 13001 
 13002 		or Integrator with ARM920 and the logic module
 13003 
 13004 			rom --v=integrator_lmxx600_cm920 --inst=arm4 --build=udeb
 13005 
 13006 	2.	Debugger suport changes. Added APIs to hook the Scheduler and enable a callback
 13007 		function to be called on every context switch.
 13008 
 13009 			NKern::SchedulerHooks(TLinAddr& aStart, TLinAddr& aEnd);
 13010 			NKern::InsertSchedulerHooks();
 13011 			NKern::RemoveSchedulerHooks();
 13012 			NKern::SetRescheduleCallback(TRescheduleCallback aCallback);
 13013 			static const TArmContextElement** NThread::UserContextTables();
 13014 			TInt NThread::GetUserContextType();
 13015 
 13016 	3.	Removed unused DThread::CallUserFunction(TAny* aFunction, TAny* a1, TAny* a2);
 13017 		Changed arguments to NKern::ThreadGetUserContext();
 13018 	4.	Modified TDesXx::AppendFormatList to cope with 8byte alignment of arguments.
 13019 	5.	Changes to ensure that on ARM CPUs a threads stack pointer is 8 byte aligned
 13020 		(to support EABI). This was done by making the thread parameter block info
 13021 		have a size which is a multiple of 8 bytes.
 13022 	6.	Fix for DEF012058 "Missing pieces in e32/rombuild datacaging implementation"
 13023 		(Moved all base binaries to live in \System\Bin\)
 13024 	7.	Fixed bug in TDes8::Num(TReal aVal,const TRealFormat &aFormat) and friends.
 13025 		When using KRealFormatFixed with a number which had a negative exponent, the
 13026 		stack could get corrupted when the number was rounded.
 13027 	8.	Fix for defect DEF015827 - "OOM testing works incorrectly for ReAlloc"
 13028 	9.	Modify Lubbock bootstraps to fix some MMU config bugs.
 13029 	10.	Fixed ARM/Thumb interworking problems with huffman coding CIA file.
 13030 	11.	Fixed Kern::MachinePowerStatus() so that it copes if there isn't a power model.
 13031 	12.	Find ARM/Thumb interworking bug in CActiveScheduler::Run.
 13032 	13.	Moved ESHELL.EXE and D_EXC.EXE into System/Bin.
 13033 	14.	Fixed ARM/Thumb interworking problem with DLL entry points.
 13034 
 13035 3.	AndrewT
 13036 	1.	Added 'LogTimeStamp' property to the emulator to control whether the elapsed
 13037 		time is included in the Log file (epocwind.out). It defaults to '1', a value
 13038 		of '0' in the ini file will disable the timestamp - useful for comparing test
 13039 		logs from different builds.
 13040 	2.	Implemented most of REQ817: Added CActiveSchedulerWait class from Typhoon, and
 13041 		removed most of the redundant CActiveScheduler interface. See in-source doc for
 13042 		details. Note that:
 13043 		* Level() is deprecated, prefer to use the public StackDepth() member
 13044 		* Leaving from CActive::RunError() or CActiveScheduler::Error() will be
 13045 		  considered a fatal error.
 13046 		  Instead use CActiveScheduler::Halt() to exit the current level and force
 13047 		  Start() to leave. When all such illegal uses are changed this will be
 13048 		  enforced by making debug builds panic if this deprecated use is encountered.
 13049 		  Release builds will ignore the leave but this will result in memory corruption
 13050 		  at some later time.
 13051 		* Mixed use of CActiveScheduler::Start() and CActiveSchedulerWait::Start() is
 13052 		  not recommended, though it works in some fashion
 13053 		* CActiveSchduler::RunIfReady() is still present but will be removed shortly.
 13054 	3.	Bootstrap build rationalisation and RVCT2.0 support:
 13055 		* Build details now controlled by e32/kernel/bootstrap.mke which is exported
 13056 		  to \epoc32\include\kernel\. It handles the old/new toolchain issues and
 13057 		  currently supports the v2.11 ARM tools and the RVCT2.0 ones.
 13058 		* Each bootstrap nmake file has to define a few macros and then include the
 13059 		  standard one. See /lubbock/bootstrap/bootrom.mke and
 13060 		  /bootldr/bootstrap/assabet/bootroma1.mke for examples
 13061 		* Intermediate files are now all put into a build directory in /epoc32/build/...
 13062 	4.	Fixed the SMP race condition in the Win32 nano-kernel. This allows the
 13063 		emulator to run on multi-CPU PCs without having to manipulate the
 13064 		CPU affinity for the process. Note that this does not allow the emulator
 13065 		to fully utilise both CPUs as the nano-kernel scheduler only lets a single
 13066 		thread run at a time.
 13067 
 13068 		For flexibility there is now an emulator property 'HostCPU' that can
 13069 		control the CPU affinity of the emulator.
 13070 
 13071 		* if not defined or has the value -2, the emulator will run on just one CPU
 13072 		  on the PC (the first one available).
 13073 		* if it has the value -1, the emulator will use all the CPUs available
 13074 		* if it specifies an existing processor (0..N-1 for a N-CPU machine), the
 13075 		emulator will run on just the identified processor;
 13076 	5.	Added new versions of operator new, both global and CBase:
 13077 
 13078 			operator new(TUint aSize, TLeave, aExtraSize)
 13079 
 13080 		This essentially provides the leaving version of the 'extra-size' variant.
 13081 	6.	Added __THROW() and __NO_THROW macros to e32def.h to allow operator new to
 13082 		have a throw specification (for the RVCT compiler). This both removes a
 13083 		warning and informs the compiler whether the operator returns NULL in OOM
 13084 		or 'throws' an exception (Leaves as far as we are concerned).
 13085 
 13086 4.	Nicolas
 13087 	1.	Added missing HAL attributes to T_NEWHAL.
 13088 	2.	Introduced debug event notification API (DDebugEventHandlerBase).
 13089 	3.	Make DProcess instances global only after successful load to avoid
 13090 		scenario where rogue thread opens a handle on process being loaded and kills
 13091 		it, resulting in a system crash when ExecHandler::ProcessLoad is called.
 13092 	4.	Removed DProcess::AddFindChunk, a remnant of EKA1.
 13093 	5.	Fixed DEF012187 - dmsrv.exe with AllFiles: domainsrv.exe has got only
 13094 		PowerMgmt now.
 13095 	6.	Commented some kernel-side APIs.
 13096 	7.	Removed support for "%ld" and "%lu" from Kern::AppendFormat() because it
 13097 		didn't work and was very confusing as it truncated results to 32 bits.  Now
 13098 		an attempt to use %ld (resp. %lu) will print 'd' (resp. 'u').  Use "%lx" to
 13099 		print 64-bit integers.
 13100 	8.	Added DObjectCon::Lock() to be able to test "container lock held"-kind
 13101 		preconditions.
 13102 
 13103 5.	ChrisM
 13104 	1.	Fixed T_NEWHAL to work correctly with attribs which require parameters and return
 13105 		KErrArgument.
 13106 	2.	Added paramter passing code for process creation.  CR
 13107 	3.	Added message queues and property res to crash debugger
 13108 
 13109 6.	PhilK
 13110 	1. Added CF card support for Lubbock (uses Lubbock specific ATA driver).
 13111 	2. Added LFFS support to Lubbock.
 13112 	3. Various changes to support SINGLE build for CF bootloader.
 13113 	4. Add ethernet driver initialisation.
 13114 
 13115 7.	CarlosF
 13116 	1.	Included support for ARM926J in the Kernel (but do not release the corresponding
 13117 		variant yet as this needs to wait for the Integrator build rationalisation)
 13118 	2.	Integrator Port Re-org (Step 1):
 13119 		- Logic Module identifies its position on the stack and defines its Base
 13120 		Address, Interrupt etc based on it,
 13121 	3.	Changes to allow Core Module-only versions of Integrator to use the VT100
 13122 		display emulation by default
 13123 	4.	Submitted changes to allow building Ethernet LDD and Assabet PDD, and corrected
 13124 		problems with the test program
 13125 
 13126 8.	Morgan
 13127 	1.	Implemented stop-mode debug API tables.  Kernel extension KDEBUG.DLL included in
 13128 		roms guarded with STOP_MODE_DEBUGING.
 13129 
 13130 9.	Dennis
 13131 	1.	Fixed race condition between TInactivityLink::Start() and Kern::AddEvent().
 13132 
 13133 
 13134 
 13135 Version 2.00.508
 13136 ================
 13137 (Made by AndrewT, 29/10/2002)
 13138 
 13139 1.	JonathanM
 13140 	1.	Changed KCapabilityAll define to match that used by build tools.
 13141 		I.e. only include currently defined capabilities.
 13142 	2.	Fixed defect DEF002630 "Missing distribution.policy files"
 13143 
 13144 2.	Nicolas
 13145 	1.	HAL ELEDmask attribute can be used to get/set the 7-segment
 13146 		digits LEDs on Lubbock.  Internally moved ELEDmask from the
 13147 		power to variant group and simplified the code.
 13148 	2.	Introduced DMA framework.  The current implementation supports
 13149 		single-buffer, double-buffer and scatter-gather DMA controllers.  There
 13150 		is a reference implementation for Cotulla.
 13151 
 13152 3.	Dima
 13153 	1.	Introduced the Jetstream Power model
 13154 
 13155 		New User API in e32power.h in the Power class. This allows user mode
 13156 		code to request a power state transition.
 13157 
 13158 		New kernel API in kernel/kpower.h for device drivers and power model
 13159 		implementors (base ports).
 13160 
 13161 		base/domain manager component introduced which provides the user-side
 13162 		power state transition management. APIs in dmdomain.h and dmmanager.h.
 13163 
 13164 		See in-source for API documentation.
 13165 
 13166 		Assabet implementation of the new kernel power model. Other base ports
 13167 		have a minimal compatibility layer introduced for now.
 13168 
 13169 		Emulator 'standby' and 'display off' is now implemented.
 13170 
 13171 4.	StefanW
 13172 	1.	Add MMC peripheral bus and MMC media drivers for integrator and emulator
 13173 		This shows up as driver D: on integrator and X: in the emulator.
 13174 
 13175 5.	AndyS
 13176 	1.	Added support for RVCT toolchain to Base - Assabet is the only base port
 13177 		currently modified to fully support the toolchain.
 13178 
 13179 Version 2.00.507
 13180 ================
 13181 (Made by JonathanM, 21/10/2002)
 13182 
 13183 0.	ChrisM
 13184 	1.	Change default DTR control from handshake to enabled in WINS serial driver.
 13185 		DEF001561
 13186 
 13187 1.	JonathanM
 13188 	1.	Fix for defect DEF001251 - E32notif.h should #define __NOTIFIER_NAME to "!Notifier"
 13189 	2.	Changed method for getting SETCAP.EXE into base test ROMs.
 13190 	3.	Tidied up EDISP by deleting old files. Also fixed CScreenDriverTemplate::SetMode()
 13191 
 13192 2.	Nicolas
 13193 	1.	Fix for defect DEF001259 - Text window notifier
 13194 		completes requests too early.
 13195 	2.	Fixed another notifier bug: Message requesting MMC
 13196 		password dialog was never completed.
 13197 
 13198 3.	Phil Kaye
 13199 	1.	Add partial lubbock port.
 13200 
 13201 4.	CarlosF
 13202 	1.	Fixes for Integrator Modem Control Signals
 13203 	2.	Fixes for SIR on Integrator
 13204 
 13205 5.	Dennis
 13206 	1.	SECURE_API flag is now set by default for all processes
 13207 	2.	Added USERSTUB_FORCE_DATA_CAGING.DLL to allow testing of data caging.
 13208 		Replace USERSTUB.DLL with this to force data caging on for all processes.
 13209 	3.	Fixed bug in boot loader caused by "return handles" changes.
 13210 
 13211 6.	ChrisM
 13212 	1.	Secure screen HAL API + test implementation on assabet, integrator and WINS.
 13213 	2.	Probably fixed DEF001413 Data loss with WINs for large files over HTTP (serial driver)!
 13214 		Applied basically the same fix which worked on typhoon.
 13215 
 13216 Version 2.00.506
 13217 ================
 13218 (Made by JonathanM, 20/09/2002)
 13219 
 13220 1.	Dennis
 13221 	1.	Split all ARM inline assembler into separate .cia files.
 13222 		The __NAKED__ macro is redefined for .cpp files to cause an error if this
 13223 		rule is violated.
 13224 
 13225 2.	JonathanM
 13226 	1.	Add 'CAPABILITY' to all MMP files.
 13227 
 13228 Version 2.00.505
 13229 ================
 13230 (Made by Nicolas, 16/09/2002)
 13231 
 13232 1.	JonathanM
 13233 
 13234 	1.	Added RMsgQueueBase::Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType)
 13235 	2.	Modified RMessagePtr::Read/Write/GetDes functions to return KErrBadDescriptor rather
 13236 		than KErrArgument when the specified parameter is not of the expected descriptor type.
 13237 	3.	Added new 'DevMan' capability.
 13238 
 13239 2.	VadimA
 13240 	1. Implemented Pub/Sub Properties.
 13241 
 13242 3.	Nicolas
 13243 	1.	Set iAsyncDeleteNext to NULL in DCodeSeg::Destruct()
 13244 		to force DCodeSeg::VerifyHandle() to fail when passed
 13245 		a handle to a deleted code segment.
 13246 	2.	Added d_exc.exe and minkda.ldd to full ROM obey files.
 13247 	3.	Modified d_exc.exe to ignore spurious command-line and
 13248 		use defaults when started from UIKON shell.  This is
 13249 		just a proactive move as a bug in UIKON currently
 13250 		prevents from starting executables with SID from the
 13251 		UIKON shell.
 13252 
 13253 4.	Markdo
 13254 	1.	Added DPBusPrimaryMedia::DefaultDriveCaps() so drive attributes of a removable media
 13255 		are returned even when card not present.
 13256 	2.	Introduced TDriveInfoV1::iRegisteredDriveBitmask to indicate whether a particular
 13257 		local drive has a media driver associated with it.
 13258 
 13259 5.	CarlosF
 13260 	1.	Release Integrator Platform and SOC driver code
 13261 
 13262 6.	David Batchelor
 13263 	1.	Fix defect DEF001034 (RNotifier broken in mainline 1050)
 13264 
 13265 Version 2.00.504
 13266 =================
 13267 (Made by the Uikon team, 05-09-2002)
 13268 
 13269 1.	Made some API changes to RNotifier both for tidying it up and
 13270 		- Removed the 4-parameter overload of StartNotifier and the
 13271 		  5-parameter overload of StartNotifierAndGetResponse (these
 13272 		  were not implemented server-side by Eiksrv anyway).
 13273 		- Removed the last parameter of the 3-parameter overload of
 13274 		  StartNotifier. This parameter was useless as it was not
 13275 		  guaranteed to contain any actual response generated by the
 13276 		  notifier. If a response is required,
 13277 		  StartNotifierAndGetResponse should be used instead.
 13278 		- NotifyCancel has been added to cancel Notify calls.
 13279 		- Close has been added to free up the member-objects now owned
 13280 		  by RNotifier.
 13281 
 13282 2.	Made some API changes to MNotifierManager:
 13283 		- The last parameter of StartNotifierL has been removed.
 13284 
 13285 3.	Made some API changes to MNotifierBase:
 13286 		- The 1-parameter overload of StartL now returns void.
 13287 		- The second and third parameters of the 3-parameter overload of
 13288 		  StartL have changed.
 13289 
 13290 4.	Made Ewsrv work with __SECURE_API__ defined.
 13291 
 13292 
 13293 Version 2.00.503
 13294 ================
 13295 (Made by Dennis, 16/08/2002)
 13296 
 13297 1.	Dennis
 13298 	1.	Removed the following empty exported constructors/destructors:
 13299 
 13300 		CBase::CBase() - replace with inline
 13301 		CBase::~CBase() - replace with pure virtual inline empty
 13302 		CSecurityEncryptBase::CSecurityEncryptBase()
 13303 		CSecurityDecryptBase::CSecurityDecryptBase()
 13304 		CSecurityBase::CSecurityBase()
 13305 		DBase::~DBase() - replace with pure virtual inline empty
 13306 
 13307 	2.	Changed the way the kernel reboots the system after a fault. It now
 13308 		jumps to a 'restart vector' in the bootstrap (at rombase+0x7c). The
 13309 		bootstrap then implements whatever variant-dependent code is needed.
 13310 		The restart vector is only currently implemented on assabet and X86.
 13311 		On assabet it performs a software reset of the SA1110.
 13312 		Export a Kern::Restart(TInt aMode) function from the kernel which
 13313 		triggers a reboot. The mode parameter is used to indicate what type
 13314 		of reboot is required (if more than one type is supported). Currently
 13315 		supported values are:
 13316 
 13317 		0x00000000 - reboot the same image.
 13318 		0x80000000 - rerun the bootloader to allow a new image to be loaded.
 13319 
 13320 		The crash debugger uses this function to implement two new commands:
 13321 
 13322 		x - reboot the system using the same image
 13323 		X - rerun the bootloader to allow a new image to be loaded.
 13324 
 13325 	3.	Fixed bug in initialisation code - .data section was never initialised
 13326 		for ASSP DLLs. Now all extensions have .data initialised before the
 13327 		variant is initialised.
 13328 
 13329 	4.	Added DECLARE_EXTENSION_LDD() and DECLARE_EXTENSION_PDD() macros to
 13330 		declare the ordinal 1 export for LDDs/PDDs which are also extensions.
 13331 		Use DECLARE_STANDARD_EXTENSION() to declare the extension entrypoint.
 13332 
 13333 	5.	Added support for ETM thread ID register.
 13334 		On architecture 4 and 5 this is conditional on the macro
 13335 		__CPU_HAS_ETM_PROCID_REG, and simply writes the 32 bit NThread pointer
 13336 		into the register on each reschedule.
 13337 		On architecture 6 it is unconditional and bits 6-29 of the NThread
 13338 		pointer are written into bits 8-31 of the CONTEXTID register. Given the
 13339 		size of NThread this is guaranteed to be unique for each NThread. Bits
 13340 		0-7 of CONTEXTID are used for the ASID.
 13341 
 13342 	6.	Rearranged user-side memory allocation code.
 13343 		There is now a base class RAllocator which provides pure virtual functions
 13344 		for common operations Alloc(), Free(), ReAlloc() etc.
 13345 		Exec::Heap() (and User::Heap()) now returns a pointer to this base class.
 13346 		RHeap now derives from RAllocator and also supports alignment of cells on
 13347 		any power of 2 boundary, which will go some way to making us compliant
 13348 		with the new ARM ABI, which requires 8 byte alignment.
 13349 		Also these changes will make it possible for processes to use a more
 13350 		specialised memory allocator (i.e. not an address-ordered first fit heap,
 13351 		which is all that is allowed currently) by supplying an implementation
 13352 		of UserHeap::SetupThreadHeap().
 13353 
 13354 	7.	Share source code between EUSER and EKERN.
 13355 		Code which is used in both places is now placed in the /e32/common/...
 13356 		tree; /e32/nklib/... has been removed.
 13357 		New heap code is now used in the kernel as well.
 13358 		Rationalised the number-to-text conversion functions to avoid having
 13359 		multiple copies of very similar or identical code.
 13360 
 13361 	8.	Add __EKA2__ macro to enable code to tell if it's compiling against
 13362 		EKA1 or EKA2.
 13363 
 13364 	9.	TRomImageHeader::iCheckSumCode changed to iCapability
 13365 		Capabilities are now stored in code segments; process capabilities are
 13366 		initialised from the code segment.
 13367 		A process with capabilities other than 0xffffffff automatically has
 13368 		security checking enabled.
 13369 
 13370 	10.	Fixed double deletion problem with PDD Create() functions. In the function
 13371 
 13372 		virtual TInt Create(DBase*& aChannel, TInt aUnit, const TDesC8* aInfo, const TVersion& aVer) =0;
 13373 
 13374 		The aChannel parameter will be deleted by the kernel if an error is returned,
 13375 		so it should not be deleted by the driver.
 13376 
 13377 	11.	Added exported kernel functions
 13378 
 13379 		TInt Arm::DebugOutJTAG(TUint aChar);
 13380 		TInt Arm::DebugInJTAG(TUint32& aRxData);
 13381 
 13382 		to send and receive data via the ARM JTAG debug comms channel.
 13383 
 13384 	12.	Removed requirement for "namespace std" declarations when building for
 13385 		code warrior by putting the following sequence into e32def.h:
 13386 
 13387 		#undef __embedded_cplusplus
 13388 		#define __embedded_cplusplus	1
 13389 
 13390 		This stops the CW standard headers from putting everything into
 13391 		namespace std.
 13392 
 13393 	13.	Moved base.iby from ROMKIT into /e32/rombuild. This now includes one of
 13394 		the following, depending on the target platform:
 13395 
 13396 		e32/rombuild/misa/base_assabet.iby
 13397 		e32/rombuild/mi920/base_integrator920.iby
 13398 		e32/rombuild/ni1136/base_integrator1136.iby
 13399 
 13400 		Most of the macros relating to base stuff have been removed since there
 13401 		is now a separate base_xxx.iby for each target platform.
 13402 
 13403 		Added files
 13404 
 13405 		integrator/core/cm920/integrator920.oby
 13406 		integrator/core/cm1136/integrator1136.oby
 13407 
 13408 		which correspond to assabet/assabet.oby to allow building full mainline
 13409 		ROMs for integrator platforms.
 13410 
 13411 
 13412 2.	JonathanM
 13413 
 13414 	Completed "REQ192.1.1: Kernel support for creator identification"
 13415 
 13416 	1.  Added EUser::CreatorCapability.
 13417 
 13418 	Completed REQ192.2.1.1: Creating Private Kernel Resources
 13419 
 13420 	1.  The TFindXxxx classes can not find objects which don't have a name.
 13421 
 13422 	2.  Objects without a name cannot be opened in any way by a threads in
 13423 		a process diferent from the objects creator.
 13424 
 13425 	3.  Private (Local) Servers can now be created by giving them a zero length name.
 13426 
 13427 	4.  To enable connections to be made to these servers the folling methods have been added:
 13428 
 13429 		  CServer::Server()
 13430 
 13431 		This returns a copy of the RServer object used by the server.
 13432 
 13433 		  RSessionBase::CreateSession(RServer aServer...
 13434 
 13435 		A new overload of the create method which takes an RServer object instead of a name.
 13436 
 13437 	Completed REQ192.2.1.2: Granting Access To Protected Kernel Resources
 13438 
 13439 	1.  The following kinds of kernel objects may be created as 'protected' kernel resources.
 13440 		Handles to these may be passed via client/server communications.
 13441 
 13442 		  * RMutex
 13443 		  * RSemaphore
 13444 		  * RChunk
 13445 		  * RBusLogicalChannel
 13446 		  * RSessionBase
 13447 
 13448 	2.  The following methods are used to create protected resources:
 13449 
 13450 		  TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);
 13451 
 13452 		The create method takes an additional argument (aProtected) to indicate if the
 13453 		channel is protected.
 13454 
 13455 		  RSessionBase::ShareProtected()
 13456 
 13457 		This makes an already existing session a protected resource. This is only permitted
 13458 		if the server constructor specified the type 'EGlobalSharableSessions'.
 13459 
 13460 
 13461 		  RSemaphore::CreateGlobal
 13462 		  RMutex::CreateGlobal
 13463 		  RChunk::CreateGlobal
 13464 
 13465 		Use of these with a zero length name will create an anonymous protected resource.
 13466 
 13467 		An additional method is provided for the RChunk class which enables the creator
 13468 		process to set restrictions on the use of a chunk by another process.
 13469 
 13470 		  RChunk::SetRestrictions(TUint aFlags)
 13471 
 13472 		Currently the only implemented restriction is the 'EPreventAdjust' flag, which
 13473 		prevents other processes from changing the memory allocation with Adjust, Commit,
 13474 		Allocate, or Decommit.
 13475 
 13476 	3.  A client process which has a handle on one of these can give a server the used of it
 13477 		by sending the handle as a RHandleBase parameter in a TIpcArgs package. The server
 13478 		can then open this handle by calling the following method on the appropriate resource
 13479 		class:
 13480 
 13481 		  Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType=EOwnerProcess)
 13482 
 13483 		where aMessage in the message that the server received from the client, and aParam
 13484 		is a number (0-3) indicating which message parameter holds the client's handle.
 13485 
 13486 		A server can return a handle to the client by completing a client message using the
 13487 		resource object as an argument:
 13488 
 13489 		  RMessagePtr::Complete(RHandleBase aHandle)
 13490 
 13491 		This will create a thread relative handle to the object and cause the client's request
 13492 		to complete with this value. The client should check the returned value, a negative
 13493 		value indicates an error value, a positive value is a handle which can be used to
 13494 		initialise the relevant R object by calling RHandleBase::SetHandle().
 13495 		Alternatively (and preferably) this check and set step can be performed by using the
 13496 		following method instead:
 13497 
 13498 		  TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)
 13499 
 13500 		where aHandleOrError is the value returned by the server. This method does the
 13501 		following:
 13502 
 13503 		  If the value is a handle, then set the handle of the object to this, and
 13504 			return KErrNone;
 13505 		  Else, set the handle value to NULL and return the error value.
 13506 
 13507 	Implemented REQ192.2.7.1: Preventing Spoofing of System Servers
 13508 
 13509 		Creating servers with an '!' as the first character in their name requires
 13510 		KCapabilityProtServ
 13511 
 13512 	Implemented REQ192.2.7.2: Detecting Spoofing of Servers.
 13513 	Implemented REQ192.2.7.3: Preventing Denial of Service by Server
 13514 
 13515 		These are implemented by:
 13516 
 13517 		  TInt RSessionBase::CreateSession(const TDesC& aServer,const TVersion& aVersion
 13518 				  ,TInt aAsyncMessageSlots,TRequestStatus* aStatus=0,TInt32 aIdentity=0)
 13519 
 13520 		This new method allows connecting to a server asynchronously (if aStatus is zero
 13521 		then the connection is done synchronously). When the connection has completed aStatus
 13522 		will be signalled, if this holds anything other than KErrNone then the connect failed
 13523 		and the programmer must Close() the session. (Failure to do so, will result in leaked
 13524 		resources.)
 13525 
 13526 		Note that CreateSession returns a standard error value, if this is not KErrNone then
 13527 		the connection process has failed before sending a message to the server, and in this
 13528 		case aStatus will NOT be signalled.
 13529 
 13530 		The aIdentity argument in this function specifies the Security Identity of the process
 13531 		in which the client is expecting the server to be running. (Zero means "don't care")
 13532 		If this identity doesn't match that of the servers process then the session creation
 13533 		fails with KErrNotFound.
 13534 
 13535 	Platform Security Changes
 13536 
 13537 	1.	Made RMessage::RMessage(const RMessagePtr& aPtr) explicit to avoid the compiler
 13538 		automaticly constructing temporaries.
 13539 	2.	Corrected runtime security on RThread::Rename so that only the current thread can
 13540 		be renamed.
 13541 	3.	Added capability checks:
 13542 		* User::ResetInactivityTime() requires KCapabilityPowerMgmt
 13543 		* User::SetHomeTime(const TTime &aTime) requires KCapabilityWriteSystemData
 13544 		* UserSvr::SetMemoryThresholds(TInt aLowThreshold, TInt aGoodThreshold) requires KCapabilitySwEvent
 13545 	4.	Changed UserSvr::RequestEvent and RequestEventCancel to insist that the calling thread
 13546 		is the same as the one which captured the event hook.
 13547 	5.	Changed User::WsRegisterThread and User::FsRegisterThread to take no arguments.
 13548 	6.	Trapped attempts at connecting a server session which is already connected and
 13549 		Reorganised CServer panics.
 13550 
 13551 	Internal Kernel code modifications:
 13552 
 13553 	1.	Modified most exec functions which create handles to return them by value, rather than
 13554 		poke them back to user memory.
 13555 	2.	Refactored RChunk::Create code to make it smaller.
 13556 	3.	Changed iCreator in DProcess to be a process id rather that a DProcess*
 13557 
 13558 
 13559 3.	AndrewT
 13560 	1.	Expanded the TRAPD macro in CActiveScheduler::DoStart() so that it can be stepped
 13561 		through in a debugger.
 13562 	2.	Added assertions to the emulator scheduler to trap invalid use of NKern::Unlock()
 13563 		and Emulator::Escape().
 13564 	3.	Made the kernel ask USERSTUB.DLL what the default value for the process flags
 13565 		controlling secure API and data cage checking. The default USERSTUB.DLL currently
 13566 		returns false for both, but USERSTUB_FORCE_SECURE_API.DLL changes the default for
 13567 		SecureApi to on. Simply replacing USERSTUB.DLL with the longer named version in a
 13568 		ROM or in the emulator will change the default settings.
 13569 
 13570 4.	ChrisM
 13571 	1.	Fixed propagated bitmapallocator defect fix MOS-5C6C8Y
 13572 	2.	Fixed propagated WINS serial driver defect GUV-5CMJSR
 13573 	3.	Implemented DLR 363.2 Message Queues.
 13574 
 13575 5.	Nicolas
 13576 	1.	KERN-EXEC litteral now available as KLitKernExec in
 13577 	  	kernel.h for the benefit of drivers needing to panic
 13578 		clients.
 13579 	2.	KEXECFAST trace bit merged with KEXEC.	KEXECFAST has
 13580 		been recycled for debug agents (KDEBUGGER).
 13581 
 13582 	The following modifications are part of the on-target debugging support
 13583 	HLR.  They are needed to support the new D_EXC utility.
 13584 
 13585 	3.	New functions exported from kernel:
 13586 		* NKern::ThreadGetUserContext()
 13587 		* NKern::ThreadSuspend()
 13588 		* DProcess::TraverseCodeSegs()
 13589 		  (EMarkDebug flag added for debug agents)
 13590 		* DCodeSeg::UnmarkAll()
 13591 		* Kern::ProcessFromId()
 13592 		* Kern::ThreadFromId()
 13593 		* Kern::AccessCode() (use this instead of DCodeSeg::Wait())
 13594 		* Kern::EndAccessCode() (use this instead of DCodeSeg::Signal())
 13595 	4.	DExceptionHandler renamed as DCrashHandlerBase and extended to
 13596 		deal with both hardware exceptions and panics.	In case of panic,
 13597 		the handler is called at a point where it is safe to acquire
 13598 		mutexes.
 13599 	4.	Existing JIT debugging callback removed.  The WINS code now uses
 13600 		DJitCrashHandler derived from DCrashHandlerBase.
 13601 
 13602 6.	Abhishek Kumar
 13603 	1.	Added Ethernet LDD and accompanying Assabet PDD.
 13604 
 13605 
 13606 Version 2.00.502
 13607 ================
 13608 (Made by Dennis, 11/07/2002)
 13609 
 13610 Memory model and loader changes.
 13611 Two mode secure kernel.
 13612 
 13613 1.	Dennis
 13614 	1.	Added new memory model (multiple) which is optimised for processors with
 13615 		physically tagged caches and reasonable sized page directories. This
 13616 		uses a separate page directory (or part thereof) for each process, thus
 13617 		providing faster context switching.
 13618 		Currently works on ARMv6 (NI1136 target) and X86 (NX86 target).
 13619 
 13620 	2.	Placed some memory model code into a new directory (mmubase) which will
 13621 		be shared between multiple and moving models. This code deals with things
 13622 		like page table alloc/free and HW chunks and the extra per-page information
 13623 		required for mobile SDRAM defragmentation.
 13624 		Moving model has yet to be updated to use this.
 13625 
 13626 	3.	Hw Chunks now support large page sizes (64K and 1Mb on ARM, 4Mb on X86).
 13627 
 13628 	4.	Code loading system has been reworked to support DLLs with per-process
 13629 		.data and .bss sections, and also to allow code protection on the multiple
 13630 		memory model.
 13631 		All loaded code is now managed by DCodeSeg objects in the kernel.
 13632 
 13633 	5.	Loading of device drivers, file systems and locale DLLs is now done
 13634 		entirely by the loader rather than partially on the client side.
 13635 
 13636 	6.	The public E32Dll entry point for user-side DLLs has been removed.
 13637 		The private _E32Dll entry point is still there and is used to call
 13638 		constructors and destructors for C++ objects in .data/.bss.
 13639 		The TDllReason enum has been removed along with all redundant E32Dll
 13640 		functions.
 13641 
 13642 	7.	The public entry point for kernel-side DLLs (extensions and device drivers)
 13643 		is retained but renamed to
 13644 						TInt KernelModuleEntry(TInt);
 13645 
 13646 		Macros DECLARE_STANDARD_EXTENSION(), DECLARE_STANDARD_LDD(),
 13647 		DECLARE_STANDARD_PDD() and DECLARE_STANDARD_ASSP() have been provided which
 13648 		declare the entry point in the way normally required for these things.
 13649 
 13650 	8.	The private entry point of a process (_E32Startup) is now used for several
 13651 		things, currently:
 13652 			1.	Process initialisation (similar to previous)
 13653 			2.	Thread initialisation (new thread started in process)
 13654 			3.	Exception handling (thread in process took a handled exception)
 13655 		Essentially whenever the kernel needs to invoke user-mode code, this is now
 13656 		vectored via the process entry point. This will eventually allow different
 13657 		allocators to be used for each process/thread and the removal of USERSTUB.
 13658 
 13659 	9.	Added device drivers for X86:
 13660 			Floppy disk, generic ATA interface controller, ATA hard disk media
 13661 			driver, ATAPI ZIP/CDROM media driver, PCI bus scanning code, video
 13662 			drivers for Permedia2 and CT65554 (dodgy) chipsets.
 13663 
 13664 	10.	Added memmove() function to the kernel and modified the kernel and all
 13665 		drivers/extensions to use it instead of memcpy() when the source and
 13666 		destination may overlap.
 13667 
 13668 	11.	Added the ability to specify a cleanup handler when adding a TLS entry.
 13669 		The handler will be called on thread normal exit (return from main function
 13670 		or call User::Exit(), not on panics).
 13671 
 13672 	12.	Disabled THUMB interworking support until ARMv5/THUMBv2 becomes the
 13673 		standard configuration. Default ABI for all platforms is now ARM4. It
 13674 		is no longer necessary to build anything for ARMI.
 13675 
 13676 	13.	All executive functions are now declared in a single file
 13677 
 13678 			/e32/kernel/execs.txt
 13679 
 13680 		which is then processed by a perl script to generate the dispatch numbers,
 13681 		Exec:: and ExecHandler:: class definitions, user side code and kernel side
 13682 		dispatch tables.
 13683 		See /e32/kernel/execs.txt for a description of syntax.
 13684 
 13685 	14.	Local media system now returns type of partition in drive capabilities.
 13686 		See /e32/include/partitions.h for list of partitions.
 13687 		Also, the media type field in drive capabilities is set even if the
 13688 		drive is not ready.
 13689 
 13690 	15.	Change KCurrentProcessHandle from 0xffff0000 to 0xffff8000 - this has the
 13691 		'NoClose' bit set, so you don't get panicked for doing
 13692 		{ RProcess p; p.Close(); }
 13693 
 13694 	16.	Change IPC copy functions to always return KErrBadDescriptor rather than
 13695 		KErrArgument where the remote address is invalid or points to an invalid
 13696 		descriptor.
 13697 
 13698 	17.	Changed the way static data is detected on the emulator to work around
 13699 		problem with code warrior. It is now necessary to put 'epocallowdlldata' in
 13700 		the makefile, as it is for target builds. On WINS a DLL or EXE will be
 13701 		considered to have writeable static data if the .data section is present;
 13702 		if it is but 'epocallowdlldata' was not specified, the load will fail.
 13703 		On WINSCW a DLL	will be considered to have writeable static data if the
 13704 		'epocallowdlldata' keyword was present in the MMP file. An EXE will be
 13705 		considered to have writeable static data if the .data section is present.
 13706 		Emulator DLLs with a .data section but which were not built with the
 13707 		'epocallowdlldata' keyword will have their entry points called every time
 13708 		the DLL is loaded or a referencing DLL is loaded; this is to cope with
 13709 		the case where the compiler puts supposedly constant data into .bss and
 13710 		uses a runtime constructor to initialise it.
 13711 
 13712 	18.	Integrated platform security changes (two-mode kernel).
 13713 
 13714 	19.	Kernel changes to allow anonymous chunks, mutexes, semaphores, servers
 13715 		and logical channels. Removed named logical channel support.
 13716 		If an empty string is passed as the name, an anonymous object is created.
 13717 		Note that logical channels no longer set an owner.
 13718 
 13719 	20.	Allow message handles to be verified by the executive call preprocessor.
 13720 		Modified genexec.pl to accept 'ipcmessage' and 'ipcclient' handle types.
 13721 		Changed executive calls which take a message handle to use this feature.
 13722 
 13723 	21.	Added machine coded versions of DObject handle lookup code, i.e.
 13724 		DThread::ObjectFromHandle, K::ObjectFromHandle, Kern::ObjectFromHandle.
 13725 
 13726 	22. Added code to support static data destructors on WINSCW.
 13727 
 13728 	23.	Removed exit handler, state handler and exception handler from NThread.
 13729 		These are now placed in a separate structure (SNThreadHandlers) to which
 13730 		NThread has a pointer, along with a new timeout handler which is called
 13731 		when the NThread timer expires in either BLOCKED or UNKNOWN N-states.
 13732 
 13733 	24.	Added timeout to DSemaphore::Wait().
 13734 		Added new RSemaphore::Wait(TInt aTimeout) which waits for a semaphore
 13735 		signal or for aTimeout microseconds, which ever occurs first.
 13736 		aTimeout=0 means wait forever.
 13737 		The new API returns an error code:
 13738 			KErrNone = semaphore was signalled
 13739 			KErrTimedOut = semaphore was not signalled before the timeout expired.
 13740 			KErrArgument = -ve timeout specified
 13741 			KErrGeneral = semaphore was deleted
 13742 
 13743 	25.	Removed all RDebug:: functions apart from RDebug::Print
 13744 
 13745 	26.	Removed class TInt64 and replaced it with TInt64 and TUint64 which are
 13746 		typedefs of the compiler's native 64 bit integer types.
 13747 		Special function Mul10() has been removed - just use x*=10 instead.
 13748 		DivMod and MulTop have been migrated to Math:: as follows:
 13749 
 13750 		void Math::Mul64(TInt64 aX, TInt64 aY, TInt64& aOutH, TUint64& aOutL);
 13751 			Multiply aX by aY and store 128-bit result in aOutH:aOutL
 13752 
 13753 		void Math::UMul64(TUint64 aX, TUint64 aY, TUint64& aOutH, TUint64& aOutL);
 13754 			Multiply aX by aY and store 128-bit result in aOutH:aOutL
 13755 
 13756 		TInt64 Math::DivMod64(TInt64 aDividend, TInt64 aDivisor, TInt64& aRemainder);
 13757 			Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
 13758 			Remainder has same sign as dividend.
 13759 
 13760 		TUint64 Math::UDivMod64(TUint64 aDividend, TUint64 aDivisor, TUint64& aRemainder);
 13761 			Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
 13762 
 13763 	27.	Add new alloc failure type RHeap::EReset and new macros
 13764 
 13765 		__UHEAP_TOTAL_RESET and __KHEAP_TOTAL_RESET
 13766 
 13767 		to both cancel any simulated allocation failure and reset the allocation mark.
 13768 
 13769 	28.	Add compiler helpers for 64 bit arithmetic to kernel side emulator entry libraries.
 13770 
 13771 	29.	Processor affinity setting for emulator slightly modified - if the process is
 13772 		already limited to a single CPU, the affinity mask is not changed.
 13773 
 13774 	30.	Allow more emulator parameters to be overridden:
 13775 		i.		The log file can be overridden by the the EmulatorLog environment variable.
 13776 		ii.		The option -Dname=value will set the 'name' property to 'value'
 13777 				The option -Dname+=value  will append 'value' to the 'name' property.
 13778 		iii.	The directory used for temporary EXE images can be overridden by
 13779 				-DEmulatorImagePath=dir
 13780 		iv.		It is now possible to run two emulators simultaneously by judicious
 13781 				choice of command line parameters.
 13782 
 13783 2.	JonathanM
 13784 	1.	Secure Kernel APIs implemented. This release is 'dual mode' where both old and new
 13785 		APIs are present.
 13786 		( For API changes see document "SGL.GT0135.201_Rev0.12 Securing Kernel APIs.doc" )
 13787 		* Old APIs which will be removed for Platform Security can be disabled at compile time by
 13788 		  defining __SECURE_API__, e.g. by "MACRO __SECURE_API__" in your MMP file.
 13789 		* New test function RProcess::SecureApi() enables a process to turn on run-time checking for
 13790 		  APIs which have new restricted usage. (For that process only.) This will cause a thread to
 13791 		  be panicked with EPlatformSecurityTrap when they make illegal use of kernel APIs.
 13792 		  If 'SecureApi' is not enabled, kernel functions will continue to behave as before the
 13793 		  Platform Security changes.
 13794 		* Test function User::RemoveCapabilities() allows a process to remove capabilities.
 13795 		  (Currently processes have all capabilities.)
 13796 		* NOTE: The new versions of RProcess/RThread::Rename are called RenameMe to distinguish them
 13797 		  from the old non-static versions.
 13798 
 13799 3.	ChrisM
 13800 	1.	Minor change to WINS serial driver which will stop it locking up when a comms error occurs.
 13801 	2.	Fix SCI-5BFCPJ(MediaServer TMDaaud audio test code panics when Play is called)
 13802 
 13803 4.	CarlosF
 13804 	1.	Changes to Template Screen Driver for Text Window Server to allow support for
 13805 		Integrator.
 13806 	2.	Corrected a minor bug on one of the Display accessor functions of SA1100 Achticteture
 13807 		Layer
 13808 
 13809 
 13810 Version 2.00.501
 13811 ================
 13812 (Made by AndrewT, 12/06/2002)
 13813 
 13814 1)
 13815 	ChrisM
 13816 	1)	fixed (RArrayBase::HeapSort makes assumption about max iEntrySize value) and
 13817 		(TLex::Val() should not give error for missing exponent) defects reported on 7.0
 13818 
 13819 2)	AndrewT
 13820 	1)	Made the justintime emulator setting operational for kernel fault situations
 13821 		as well. This means that a setting of 'debug' or 'none' ensures that no
 13822 		dialogs are ever presented to the user.
 13823 	2)	Added a -D commandline switch to the emulator. This allows additional
 13824 		emulator settings to be defined on the commandline. These are parsed before
 13825 		the ones in the epoc.ini file. e.g.
 13826 
 13827 			epoc -Djustintime=none --
 13828 
 13829 		Will disable JIT debugging for that emulator.
 13830 	3)	Set the processor-affinity-mask for the emulator to ensure that it runs only
 13831 		on a single CPU in the PC. This effectively works around an as yet
 13832 		undiagnosed problem with the emulator scheduler on multi-processor PCs.
 13833 	4)	Added 'const T& operator()() const' to TPckgBuf<T> - propagating a 7.0 fix to
 13834 		Jetstream.
 13835 	5)	Made TThreadId and TProcessId members const, propagating a 7.0 fix to
 13836 		Jetstream.
 13837 	6)	Fixed the 'diaplay contrast' HAL settings for the emulator so that both
 13838 		T_VIDEO and Techview behave. WINS now claims to support contrast but does
 13839 		nothing with the setting.
 13840 	7)	Provided another means for EPOC threads to interact with the host OS in the
 13841 		emulator. As well as Emulator::Lock()/Unlock() to block the scheduler, there is
 13842 		now Emulator::Escape()/Reenter() which allows the scheduler to carry on running
 13843 		but takes the calling thread out of the scheduler control. In particular this
 13844 		allows a calling thread to safely wait on host OS synchronisation objects (e.g.
 13845 		call WaitForSingleObject()) without deadlocking [part of] the emulator.
 13846 
 13847 		When 'escaped' a thread should not use any EPOC APIs at all except for
 13848 		Emulator::Reenter(). Note that if a thread is killed in this state the exit will
 13849 		be deferred until it reenters the scheduler control - thus it may be necessary
 13850 		to also cause the host OS to release the thread in roder to clean up completely.
 13851 	8)	Added some instrumentation to the emulator scheduler in order to detect and assert
 13852 		incorrect use of kernel APIs from 'interrupt' and EPOC threads.
 13853 
 13854 2.	Chris
 13855 	1.	Added KMEMTRACE + memory tracing.
 13856 
 13857 
 13858 
 13859 Version 2.00.500
 13860 ================
 13861 (Made by AndrewT, 23/05/2002)
 13862 
 13863 First release of EKA2 into Symbian OS mainline.
 13864 
 13865 
 13866 --------------------------------------------------------------------------------
 13867 E32RT Modification History (not necessarily complete)
 13868 --------------------------------------------------------------------------------
 13869 Revision 051
 13870 
 13871 14-12-01:	 WINSCW Introduction
 13872 
 13873 	The E32TOOLP changes are documented in
 13874 	\e32toolp\group\release.txt.
 13875 
 13876 	Fixed various std C++ compliance issues.
 13877 
 13878 	Got rid of every WINSCW warning.
 13879 
 13880 	Added WINSCW to the relevant BLD.INF.
 13881 
 13882 	"long long" are used for 64-bit types.
 13883 
 13884 	Added pragmas to disable RTTI and C++ exception handling for
 13885 	CW.
 13886 
 13887 	Bracketed arguments used only in UDEB builds with __DEBUG_ONLY
 13888 	to turn off spurious warnings (this is subject to change).
 13889 
 13890 	Extended wintest.bat for WINSCW and added code to delete the
 13891 	LFFS and IRAM "drive" files.
 13892 
 13893 	In E32TEST T_EXC Made some variables volatile to prevent mwcc
 13894 	optimising out an intentional division by zero.
 13895 
 13896 	Ported fix for CMOS-52CDGU (T_MATH and T_FLOAT rely on the compiler
 13897 	generating denormal constants).
 13898 
 13899 	Mwcc 2.4.1 generates incorrect code for the "foo <= 0"
 13900 	statement when foo is a 64-bit integer.  Worked-around by
 13901 	comparing against a named constant.  This bug is fixed in
 13902 	Codewarrior Pro 7.
 13903 
 13904 	Modified WIN32 section in various MMP files.
 13905 
 13906 	Fixed Wins::SetupPaths() so the path parsing code works for
 13907 	both VC++ and CW.
 13908 
 13909 	EPOC versions of memset() and memcpy() conflict with the
 13910 	standard library ones.  They need to be declared and defined
 13911 	inside the std namespace.  The other compilers are happy with
 13912 	that too.
 13913 
 13914 	Modified Dispatch() signature to avoid mangling difference
 13915 	between VC++ and Codewarrior.
 13916 
 13917 	The header file needed for wcs*() function prototypes is
 13918 	<wchar.h> not <stdlib.h>.
 13919 
 13920 	Codewarrior inline assembler does not support code like
 13921 	"[exc]this.iThread".  There is only one occurence of this in
 13922 	TExcTrap::Trap().  Worked-around by using
 13923 	[ecx]TExcTrap.iThread for codewarrior.
 13924 
 13925 	Added explicit return value to Emulator::Init().
 13926 
 13927 
 13928 	The following changes are not related to WINSCW:
 13929 
 13930 	E32TEST T_TBMA is not built anymore for THUMB because it contains lots
 13931 	of ARM assembly language which is executed in privileged mode only in
 13932 	normal conditions.
 13933 
 13934 	Fixed __PROFILE_DISPLAY() macro.
 13935 
 13936 	Fixed typo in F32TEST T_DSPACE test (= mistaken for ==).
 13937 
 13938 
 13939 
 13940 --------------------------------------------------------------------------------
 13941 Revision 050
 13942 
 13943 15-05-01:	Added the first-cut of the Win32 port
 13944 
 13945 			nKern scheduler ported to Win32 - emulation of EPOC scheduler. This
 13946 			provides the Win32 threads implementation for EPOC. Exception
 13947 			handling and context setting are not yet supported.
 13948 
 13949 			Added 'platform/image' layer into memmodel to catch the remaining
 13950 			differences in layer 2 of the kernel. For now this is captured in
 13951 			the imgmodel.h header files. The memory models have moved down a
 13952 			directory as a result. This deals with ROM, Process and Library
 13953 			specialisations.
 13954 
 13955 			The rest of the layer 2 code is now completely generic and ready for
 13956 			merging with layer 1.
 13957 
 13958 			Added a Win32 memory model, currently based on a simple direct model.
 13959 			The plan is to support a more dynamic model like 6.2 WINS.
 13960 
 13961 			Tidied up many bits of C++ code that had either rotted or were
 13962 			rejected by the VC++ compiler.
 13963 
 13964 			Started development of a 'wins' variant. This provides the variant
 13965 			DLL, which has support for processing emulator ini files, a 5ms
 13966 			timer to drive the nKern 'millisecond' timer and debug output. The
 13967 			UI is in a separate extension and handles most of the clever ini
 13968 			settings. There is no power model yet.
 13969 
 13970 			Process emulation is functional, the loader can launch 'EXE's within
 13971 			the emulator, but the emulator does not provide memory protection.
 13972 			EPOC heap sizes are not yet stored in the binaries, so processes
 13973 			currently get 1MB maximum heaps by default.
 13974 
 13975 			DLL entrypoints are not called.
 13976 			Emulated media drivers are not implemented.
 13977 			Serial driver is not implemented.
 13978 
 13979 			E32TESTs and F32TESTs pass where expected (failures are due to
 13980 			known omissions at this stage) using the F32 RUNTESTS tool -
 13981 			ERunTests is no longer required.
 13982 
 13983 --------------------------------------------------------------------------------
 13984 ???
 13985 
 13986 --------------------------------------------------------------------------------
 13987 Revision 038
 13988 
 13989 26-10-00:	Added first Assabet port (base board only, no SA1111 support).
 13990 			UART driver not tested due to the serial keyboard function. Also,
 13991 			handshake signals are not handled by the UART driver yet.
 13992 			Power down/up works with RTC wakeup but wakeup due to GPIO0/1 is
 13993 			intercepted by reprob and touchscreen doesn't wake the system up -
 13994 			don't know why.
 13995 
 13996 			Modified bootloader to work on Assabet as well as Brutus. New files
 13997 			displayinit.cpp and mem.cpp have been added to deal with LCD startup
 13998 			and memory addresses (different on Brutus and Assabet).
 13999 
 14000 			Added new scheme for handling interrupts on GPIO11-27 on SA11x0. We
 14001 			use timer match register 1 to generate an interrupt which is never
 14002 			cleared. The shared GPIO11-27 interrupt is always enabled; if an
 14003 			interrupt occurs on a line which is not enabled, it is remembered in
 14004 			the SharedGpio structure. If the interrupt is subsequently enabled,
 14005 			the timer 1 interrupt is enabled to cause another hardware interrupt
 14006 			which then services any remembered GPIO interrupts which are now
 14007 			enabled.
 14008 
 14009 			Fix to Brutus digitiser to prevent locking up if the off key is
 14010 			pressed with the pen down.
 14011 
 14012 			Fix to exception handling code in the case of fatal exception due to
 14013 			mode or SVC stack overflow - R4 was not being stored.
 14014 
 14015 			Fixed bug in TSa1100::UartData() - incorrect register being used.
 14016 
 14017 
 14018 --------------------------------------------------------------------------------
 14019 Revision 037b
 14020 
 14021 18-10-00:	Added generic kernel-side exception handler support.
 14022 			Added asynchronous deletion facilities; Kern::AsyncFree(TAny*) frees
 14023 			any kernel heap cell and Kern::AsyncDelete(DBase*) deletes any DBase
 14024 			derived object on the kernel heap.
 14025 
 14026 --------------------------------------------------------------------------------
 14027 Revision 037a
 14028 
 14029 16-10-00:	Synchronised to //epoc/development/base/ongoing/...@60165
 14030 
 14031 			Modified forceMediaChange() in \e32\drivers\locmedia\locmedia.cpp so
 14032 			that clients are always notified of media change even if there is
 14033 			no media present on the drive (caused T_NOTIFY to fail).
 14034 
 14035 --------------------------------------------------------------------------------
 14036 Revision 037
 14037 
 14038 03-08-00:	Implemented inactivity timers (RTimer::Inactivity etc.)
 14039 
 14040 10-08-00:	Separated RAM page allocator from rest of MMU code.
 14041 
 14042 			Fixed bug in millisecond timer which caused it to stop completing
 14043 			timers if DFC was delayed by more than 16ms.
 14044 
 14045 			Set up supervisor stack base and size for the initial thread during
 14046 			kernel boot (otherwise any exceptions in this thread kill the system
 14047 			immediately).
 14048 
 14049 06-10-00:	Removed Asic::TickPeriodNs() function. Added Asic::MsTickPeriod() to
 14050 			return the period of the millisecond tick in microseconds. This will
 14051 			always be 1000 except on pathological hardware.
 14052 
 14053 			Modified tick timer code to cope with 'millisecond' timers with
 14054 			tick period other than 1ms.
 14055 
 14056 			Added functions Kern::TickPeriod() to return the system tick period
 14057 			(always 15625us at the moment), Epoc::MsTickPeriod() to return the
 14058 			period of the millisecond tick and Epoc::MsTimerTicks(TInt) to
 14059 			convert a time in milliseconds to millisecond timer ticks, rounding
 14060 			up.
 14061 
 14062 			Fixed bug in RAM drive initialisation. Max size of chunk should be
 14063 			set to PP::RamDriveMaxSize rather than to MaxFreeRam to cope with
 14064 			non-MMU builds.
 14065 
 14066 --------------------------------------------------------------------------------
 14067 Revision 036
 14068 
 14069 20-06-00:	Bug fix to DProcess::Rename and DThread::Rename. If new and old
 14070 			names were identical they would return KErrAlreadyExists. We now
 14071 			check for this case explicitly and return KErrNone.
 14072 
 14073 21-06-00:	Fixed bugs in Brutus digitiser driver:
 14074 				1. Every other pen move event was to (0,0)
 14075 				2. Added debounce on pen up
 14076 
 14077 			Fixed bug in Brutus bootstrap - only the first 8Mb of the ROM image
 14078 			was being mapped in.
 14079 
 14080 22-06-00:	Further tweaks to Brutus digitiser:-
 14081 				1. Increased inter-sample time from 1ms to 3ms.
 14082 				2. Reduced inter-group time from 16ms to 3ms.
 14083 				3. Disregard 2 samples on pen down/pen up instead of 1.
 14084 
 14085 			Miscellaneous makefile changes to enable boot loader to build.
 14086 
 14087 30-06-00:	Removed series5-style one-pixel-at-a-time moving from Brutus
 14088 			digitiser driver.
 14089 
 14090 06-07-00:	Changed the way tick-based timers are implemented. There is no
 14091 			longer a separate tick interrupt - the millisecond timer is used
 14092 			to generate the intervals between ticks. Whenever the millisecond
 14093 			timer expires, it is requeued for a time corresponding to the next
 14094 			tick timer on the list. The rounding error is also accumulated so
 14095 			that an average tick period of 1/64s is obtained.
 14096 
 14097 			The 'RTC' is maintained by accumulating ticks. When the time is
 14098 			requested, the software-maintained time is returned. A tracking
 14099 			system will be implemented to keep the software time in sync with
 14100 			the hardware RTC.
 14101 
 14102 			TTickLink callback functions now only take a single TAny* parameter;
 14103 			the 'delay' parameter has been abandoned.
 14104 
 14105 			Changed CL7211 and Series5MX keyboard drivers to use the millisecond
 14106 			timer for polling the keyboard instead of the tick timer.
 14107 
 14108 			Power tick removed from bpower.cpp - only second tick still remains.
 14109 			Another way will be needed to accumulate battery consumption.
 14110 
 14111 			Fixed bug in SDeltaQue::RemoveFirst() - forgot to adjust next queue
 14112 			entry if the element removed had a nonzero delta.
 14113 
 14114 07-07-00:	Increased the number of thread priorities from 32 to 64.
 14115 			Changed the interpretation of the iThreadPriority field in DThread;
 14116 			values from 0-63 now represent absolute priorities and values from
 14117 			-8 to -1 represent process-relative priorities.
 14118 
 14119 			Thread absolute priorities are still the same apart from DfcThread1
 14120 			which has been elevated to 48 and the threads used in test T_LAT2
 14121 			which now have priorities 62 and 63.
 14122 
 14123 			TPriListBase now has two words of bit mask instead of one.
 14124 
 14125 			Turned off timeslicing for null thread.
 14126 
 14127 			When a thread is killed externally, its priority is now set to the
 14128 			same level as the kernel server. This ensures it can run and exit
 14129 			and stops low priority threads hanging around forever because they
 14130 			can't get a chance to run.
 14131 
 14132 			Time spent in the scheduler now counts against the current thread's
 14133 			time slice. This is to prevent threads which do nothing but signal
 14134 			other threads from effectively stretching their timeslice by a huge
 14135 			amount.
 14136 
 14137 28-07-00:	Made the 1ms tick on SA1100 more accurate by waiting either 3686 or
 14138 			3687 ticks such that the average period is exactly 1ms.
 14139 
 14140 			Added test programs T_TICK and T_TOCK to test the new timer code.
 14141 
 14142 			Removed EUSER.LIB from .MMP files for all test device drivers.
 14143 
 14144 --------------------------------------------------------------------------------
 14145 Revision 035
 14146 
 14147 16-06-00:	Broke the dependence of the kernel and drivers on EUSER.DLL. Kernel
 14148 			components no longer link to EUSER.DLL. Those parts of EUSER which
 14149 			are required by the kernel and/or device drivers have been copied
 14150 			into the kernel and are exported from the kernel. These are:
 14151 
 14152 			GCC helper functions memcpy, memset, 32 and 64 bit integer division.
 14153 			Descriptors (not all functions available in the kernel).
 14154 			RArray<> classes (no sorting).
 14155 			RHeap, modified to present an RAllocatorK interface.
 14156 			DBase (modified CBase).
 14157 			TUnicode class (but not collation).
 14158 
 14159 			The kernel still needs to link to EUSER indirectly in order to call
 14160 			User::StartThread() and User::HandleException() and in order to get
 14161 			pointers to the unicode data tables, which are not duplicated. This
 14162 			linkage occurs via a stub DLL (USERSTUB.DLL). A standalone kernel
 14163 			can also be produced by using STANDALONE.DLL instead.
 14164 
 14165 			Note that kernel components should now use:
 14166 				memcpy()/memset() instead of Mem::Copy(), Mem::Fill()
 14167 				wordmove() instead of Mem::Move()
 14168 				Int64 (typedef to long long) instead of TInt64
 14169 				DBase instead of CBase
 14170 				Kern::Alloc(), Kern::Free(), Kern::ReAlloc() instead of the
 14171 				usual User::XX() functions.
 14172 				TInt instead of TTimeIntervalMicroSeconds32/TTimeIntervalSeconds
 14173 				TTimeK (=Int64 =long long) instead of TTime
 14174 				Int64 instead of TTimeIntervalMicroSeconds
 14175 				HBuf (derived from TDes) instead of HBufC - no Des() function.
 14176 
 14177 			Device drivers (LDD/PDD) use EDEV.LIB instead of EDLL.LIB to avoid
 14178 			linking to UserSvr::DllTls() etc.
 14179 
 14180 			The user-side include files have been rearranged as well. E32STD.H
 14181 			has been split into three files:
 14182 				E32CONST.H - constants and typedefs
 14183 				E32CMN.H - classes used in both the kernel and user code.
 14184 				E32STD.H - classes used only in user code.
 14185 
 14186 			E32SVR.H has been split into the following:
 14187 				D32LOCD.H - RLocalDrive/TLocalDrive stuff
 14188 				E32DEBUG.H - RDebug stuff
 14189 				E32EVENT.H - TRawEvent and related things
 14190 				E32KTRAN.H - Keyboard translation stuff
 14191 				E32LDR.H - TLoaderInfo
 14192 				E32LMSG.H - TLocaleMessage
 14193 				E32NOTIF.H - Notifier stuff
 14194 
 14195 
 14196 			In SA1100 bootstrap use top bit of PC instead of DRAM HOLD bit to
 14197 			determine if we are running from RAM.
 14198 
 14199 			Bug fix to brutus variant - CS3 register wait states were not being
 14200 			initialised.
 14201 
 14202 			Added non-MMU SA1100/Brutus build (SISA).
 14203 
 14204 			Removed the CL7111, Series5 and RackD directories and replaced them
 14205 			with a port to the CL7211 evaluation board. /cl7211 contains the
 14206 			ASSP (extended from the original /cl7111) and /cl7211eval the
 14207 			variant parts. The digitiser driver has not yet been ported and the
 14208 			sound driver is untested. The CL7211 boots at either 18.432MHz or
 14209 			73.728MHz depending on the state of the EXTPWR switch (off->18.432,
 14210 			on->73.728); this is because the CL6700 PC card controller chip only
 14211 			works at 18.432MHz.
 14212 
 14213 			Moved common power management code into \e32\drivers\power - file
 14214 			binpower.cpp contains the code required to implement a binary power
 14215 			model (i.e. Series 5 style).
 14216 
 14217 			Moved common PC card code into \e32\drivers\pbus\pccard\epoc. This
 14218 			basically contains the old DArmPlatPccdChunk, DArmPlatPccdSocket,
 14219 			DArmPlatPccdVcc, DArmPlatPccdMediaChange code. Each of these classes
 14220 			can be replaced separately by the variant.
 14221 			This and the preceding change were done to remove dependencies of
 14222 			one variant on another to make it easier to distribute source code -
 14223 			each variant can be distributed separately.
 14224 
 14225 			Modification made to ECOMM.LDD to reduce time spent with interrupts
 14226 			disabled while scanning the RX buffer at the beginning of a read
 14227 			request.
 14228 
 14229 			Fix to ATA media driver - the not busy timeout was being erroneously
 14230 			cancelled after calling CmdDfc(). Brutus somehow seems to miss some
 14231 			CF card interrupts (don't yet know why) so this was causing the
 14232 			machine to lock up during CF card accesses.
 14233 
 14234 			__CHECK_THREAD_STATE macros removed from US_HEAP.CPP now that the
 14235 			kernel heap is separate.
 14236 
 14237 			ARM3 versions of TInt64 and TRealX multiply functions have been
 14238 			removed - only the ARM4 versions are now present.
 14239 
 14240 			Added CF-card bootloader for Brutus, in \bootldr\... - this uses the
 14241 			SISA build in standalone mode so it can fit in the 256K Brutus boot
 14242 			ROMs.
 14243 
 14244 			Added %lx option to Kern::Format to print 64-bit integers in hex.
 14245 
 14246 			Moved the starting of the file server into an extension (EXSTART).
 14247 
 14248 			Removed machine password stuff - do we really want CSecurityBase in
 14249 			the kernel??
 14250 
 14251 			On cold boot we now set the system time to the ROM image timestamp
 14252 			to avoid messing about with TDateTime conversions.
 14253 
 14254 			Bug fix to read version of MM::CurrentAddress() - the optimisation
 14255 			that avoided lookup if the process concerned was TheCurrentVMProcess
 14256 			has been removed. Under the new scheduling scheme where preemption
 14257 			can occur after each chunk is moved, TheCurrentVMProcess is not
 14258 			guaranteed to have all its chunks at their run addresses.
 14259 
 14260 			Fix to \sa1100\interrupts.cpp - Interrupt::Clear() now clears the
 14261 			interrupt in the PortEdgeDetected register if it is caused by a GPIO
 14262 			line. This prevents the machine spinning while accessing CF cards
 14263 			due to uncleared card interrupts.
 14264 
 14265 			Change to all UART PDDs - EnableTransmit() does not fill the TX FIFO
 14266 			but merely enables the TX interrupt. The interrupt will occur
 14267 			immediately and fill the TX FIFO. This prevents problems caused by
 14268 			code being called in both an interrupt and non-interrupt context;
 14269 			in particular TDfc::Add() will not do the right thing unless called
 14270 			in an ISR or with the kernel locked.
 14271 
 14272 --------------------------------------------------------------------------------
 14273 Revision 034
 14274 
 14275 25-05-00:	Synchronised all user APIs with v6.0. User-side v6.0 changes all
 14276 			implemented, but not all kernel and driver changes done.
 14277 
 14278 --------------------------------------------------------------------------------
 14279 Revision 033b
 14280 
 14281 03-05-00:	Moved bootstrap code from \bootstrap directory into the \variant
 14282 			directories for easier distribution.
 14283 			Added bootrom.mke to each variant to build the bootstrap as part of
 14284 			the variant.
 14285 			Moved shared files from series5 to series5mx1.
 14286 			Added new perl script configure.pl to build a specified set of
 14287 			variants/tests/add-ons from scratch. This uses *.bld files in each
 14288 			component to describe the genbuild options required to build that
 14289 			component.
 14290 			Added deffile emptyu.def to \e32\bmarm for use by extensions with
 14291 			no exports. Removed __DummyExport() functions from such extensions.
 14292 
 14293 --------------------------------------------------------------------------------
 14294 Revision 033a
 14295 
 14296 25-04-00:	Moved the functions K::RunUserThread() and RUserHeap::Create() from
 14297 			EKERN into EUSER - they now become User::RunUserThread() and
 14298 			UserHeap::CreateThreadHeap() respectively.
 14299 			Moved the definition of SThreadCreateInfo into u32std.h to accompany
 14300 			this change.
 14301 
 14302 			Moved the following functions from KExec to Kern and made them
 14303 			exports to allow for use in RTOS personality layers:
 14304 
 14305 			Kern::ThreadResume(DThread&)
 14306 			Kern::MutexWait(DMutex&)
 14307 			Kern::MutexSignal(DMutex&)
 14308 			Kern::MutexCreate(DMutex*&, const TDesC&)
 14309 			Kern::ThreadCreate(SNewThreadInfo&)
 14310 
 14311 			Moved SNewThreadInfo and TThreadType into kernel.h to match this.
 14312 			Removed class KExec and class KExecHandler altogether.
 14313 
 14314 			Made the following functions exports from the kernel to allow for
 14315 			use in RTOS personality layers:
 14316 
 14317 			DPlatThread::CancelTimer()
 14318 			DPlatThread::CheckSuspendThenReady()
 14319 			DPlatThread::Ready()
 14320 			DPlatThread::ReleaseWait(TInt)
 14321 			DPlatThread::Wait(TInt, TAny*, TUint32)
 14322 			all TPlatRequestSemaphore functions
 14323 
 14324 			Added an additional UnknownStateHandler callback ELeaveCS. This is
 14325 			invoked when a thread leaves its critical section with
 14326 			iCsFunction < -1. This is for use by RTOS personality layers to do
 14327 			thread termination by the back door, allowing reuse of the thread
 14328 			control block (DPlatThread).
 14329 
 14330 			Modified the extension entry point x_entry.cpp so that the E32Dll()
 14331 			function is called if the parameter is <0 rather than just the two
 14332 			values KExtensionInit0 and KExtensionInit1. This allows other values
 14333 			to be used for access to RTOS applications.
 14334 
 14335 			Made test.oby include test.iby so that SAWD16 builds work.
 14336 
 14337 			Added first cut Nucleus personality layer in \nucleus directory.
 14338 
 14339 
 14340 --------------------------------------------------------------------------------
 14341 Revision 033
 14342 
 14343 18-04-00:	Added class SDblQue to give cheap queueing operations (all inlines,
 14344 			no DLL calls). Changed all instances of TDblQue<> and TPriQue<> in
 14345 			the kernel and drivers to use SDblQue instead.
 14346 
 14347 			Rewrote the millisecond timer. The new version uses 32 queues for
 14348 			timers which expire in the next 32ms (as before), but now uses a
 14349 			holding queue and an ordered queue. Timers expiring after 32ms are
 14350 			first placed on the holding queue. The timer thread (DfcThread1)
 14351 			then sorts them and places them on the ordered queue. When the
 14352 			expiry time of a timer on the ordered queue approaches, it is
 14353 			transferred to one of the 32 'final' queues for completion. This
 14354 			new implementation allows a quick determination of the time before
 14355 			the next timer expires, which will allow the millisecond tick to be
 14356 			temporarily disabled to save power while the machine is idle.
 14357 
 14358 			Added test program T_MSTIM and device driver D_MSTIM to test the new
 14359 			millisecond timer implementation.
 14360 
 14361 			Modified memory access times in Brutus bootstrap to 9 cycles random,
 14362 			6 cycles sequential, data latch delay 1, RAS precharge 4, RAS low
 14363 			during CBR refresh 5. Also modified bootstrap to use cache line
 14364 			aligned code to set the RAM config and the clock frequency.
 14365 			Added test program T_MEM to stress test RAM.
 14366 
 14367 
 14368 --------------------------------------------------------------------------------
 14369 Revision 032
 14370 
 14371 07-04-00:	Upgraded to V6.0 build tools (e32tools and e32toolp).
 14372 			Changed MMP files to use SOURCEPATH instead of PROJECT/SUBPROJECT.
 14373 			Removed group directories from variants - build files are now in
 14374 			the \variant directory instead of \variant\group.
 14375 
 14376 			Bug fixes:
 14377 				plat_priv.h - TThreadList had 31 extra SDblQueLink's instead of
 14378 					SDblQueLink*'s, which wasted 124 bytes of RAM per list.
 14379 				pmstimer.cpp - Forgot to reenable interrupts in Again().
 14380 				pprocess.cpp - Wait on process lock before checking if process
 14381 					fully loaded in DPlatProcess::Die().
 14382 				cutils.cpp - A::StartCrashDebugger() was not storing mode_irq
 14383 					registers correctly.
 14384 				object.cpp - Memory leak in DObjectIx destructor - list of
 14385 					objects was not deleted if iCount=0.
 14386 
 14387 --------------------------------------------------------------------------------
 14388 Revision 031a
 14389 
 14390 27-03-00:	Changed the implementation of the priority lists used for mutex and
 14391 			semaphore wait queues, for the scheduler's ready list and for DFCs.
 14392 			We still have 32 doubly-linked lists, but the lists are circular
 14393 			with no head link. Instead there are 32 pointers, each of which
 14394 			points to the first item at the relevant priority. The pointers are
 14395 			NULL if there are no items at that priority. This saves 128 bytes
 14396 			on each 32-priority list (one per thread, one per mutex, one per
 14397 			semaphore, maybe 20K on a typical EPOC system).
 14398 
 14399 			Added EPOCONLY option to GENBUILD.PL and DOIT.CMD to build all base
 14400 			components (E32/ASSP/VARIANT/F32/BOOTSTRAP).
 14401 
 14402 --------------------------------------------------------------------------------
 14403 Revision 031
 14404 
 14405 15-03-00:	Changed the way thread exit and thread suspend work. The thread
 14406 			critical section mutexes have been replaced with integers iCsCount
 14407 			and iCsFunction. If an attempt is made to suspend or kill a thread
 14408 			while iCsCount>0, the action is not performed immediately; instead
 14409 			iCsFunction is modified to reflect the required action (+n means n
 14410 			suspensions are pending, -1 means an exit is pending). The thread
 14411 			then performs the required action itself when the critical section
 14412 			ends (iCsCount becomes zero). If iCsCount=0 initially then a suspend
 14413 			operation is performed directly, but a kill operation is still done
 14414 			indirectly by modifying the saved return address on the target
 14415 			thread's supervisor stack so that the thread will exit next time it
 14416 			runs. Thus thread death is now always initiated by the dying thread.
 14417 			In neither case is the originating thread blocked waiting for the
 14418 			target thread to leave the critical section or to exit. Thus
 14419 			the semantics of RThread::Suspend() and RThread::Kill() are slightly
 14420 			modified in that they may return before the operations have been
 14421 			performed. However it is still guaranteed that the target thread
 14422 			will not execute any more user-side code after these functions have
 14423 			returned. This method has the advantage that a real-time thread can
 14424 			suspend/kill another thread without blocking for an indefinitely
 14425 			long time. Another advantage is a considerable saving in RAM due to
 14426 			the removal of the critical section mutexes (320 bytes per thread).
 14427 
 14428 			A thread now exits by setting its state to EDead and then queueing
 14429 			a DFC with the kernel server to clean up the dead thread. Thread
 14430 			death/suspension no longer involves the sending of synchronous
 14431 			kernel-side messages.
 14432 
 14433 			Modified the structure of DTimer so that instead of having three
 14434 			separate timers (TTickLink, TSecondLink and TMilliSecondCallBack),
 14435 			only one of which can be in use at any one time, it has effectively
 14436 			a union of these three (class TTimer). This was done to save RAM.
 14437 			More RAM is saved by using only a TTimer for a thread's timer rather
 14438 			than a DTimer.
 14439 
 14440 			Added some facilities for RTOS personality layers:
 14441 			1.	Added a new thread type EThreadMinimalSupervisor. This has no
 14442 				handles array and is not added to the K::Threads container.
 14443 				It may be created in statically allocated memory and may use
 14444 				a statically allocated supervisor stack. There are still issues
 14445 				with cleanup of these, however (attempts could be made to free
 14446 				memory not allocated on the kernel heap).
 14447 			2.	Added functions DPlatThread::Wait(), DPlatThread::ForceResume(),
 14448 				DPlatThread::Ready(), DPlatThread::StartWaitTimeout() and
 14449 				DPlatThread::ReleaseWait() to facilitate the implementation of
 14450 				new synchronisation/communication objects such as queues and
 14451 				event flags and the implementation of timed waits.
 14452 			3.	Added unknown state handlers to threads. If an operation such
 14453 				as suspend, resume, release wait, change priority is attempted
 14454 				on a thread which is in a state not known to the EPOC kernel
 14455 				a callout will be made to the unknown state handler. This would
 14456 				usually fault the kernel, but threads created by a personality
 14457 				layer could use this to process extra thread states such as
 14458 				'waiting on queue' or 'waiting on event flag'.
 14459 			4.	Changed thread creation to only wait on the process lock mutex
 14460 				while adding the new thread to the process thread list, rather
 14461 				than throughout the create operation. This required changes
 14462 				to AllocateUserStack(), FreeUserStack(), SetupUserStack() to
 14463 				cope with cases where the process data/bss/stack chunk is freed
 14464 				during thread creation. This was done to make creation of
 14465 				EThreadMinimalSupervisor threads a real-time service.
 14466 				Added new test programs T_PROC3 and T_PROC4 to test process
 14467 				death during thread creation.
 14468 
 14469 			Changed Brutus bootstrap to link at 0xC8000000 instead of 0xD0000000
 14470 			in order to work with the 12Mb reprob bootloader.
 14471 
 14472 			Fixed bug in SAWD bootstrap - redundant LS condition stopped the
 14473 			system booting unless bootstrap tracing was enabled.
 14474 
 14475 			Use unnamed threads in T_SVR3, T_SVR6.
 14476 
 14477 --------------------------------------------------------------------------------
 14478 Revision 030
 14479 
 14480 03-03-00:	Added 16-bit RAM bootstrap for MAWD and SAWD builds to enable tests
 14481 			on a system with 16 bit RAM and no MMU/cache.
 14482 			Added Brutus device drivers for power management, serial comms (one
 14483 			common PDD EUART.PDD for serial ports 1, 2 (SIR) and 3), digitiser,
 14484 			PC card and local media system including media drivers.
 14485 			Modified Brutus keyboard and LCD drivers to use power management.
 14486 			Changed Epoc::PollingWait() to take a context pointer which is then
 14487 			passed to the polling function.
 14488 			Changed power model shared power API. The functions now power up or
 14489 			down a single shared power input rather than a set of them. Added
 14490 			default implementation (no shared power inputs).
 14491 			Added function Epoc::LinearToPhysical() to convert a linear to a
 14492 			physical address.
 14493 			Removed kernel lock from DPBusPsuBase::SetState() - it is only ever
 14494 			called by the socket thread.
 14495 			TDes16::PtrZ() bug fix.
 14496 			Modified window server not to crash if an infoprint or notifier is
 14497 			requested which is longer than the screen width.
 14498 			When a DLL is unloaded any Dll::GlobalAlloc() belonging to it is
 14499 			now removed.
 14500 			Added iBusy flag to TDfcQue. This is set just before processing a
 14501 			DFC and cleared just before waiting on the thread semaphore. The
 14502 			TDfc::Enque() function now only signals the thread semaphore if this
 14503 			flag is clear rather than if the queue is empty. This prevents the
 14504 			buildup of unnecessary semaphore signals if a DFC is queued while
 14505 			another is being processed.
 14506 			Unlock the kernel in Exc::Dispatch() before printing the context of
 14507 			the thread which took the exception. This is so that the E32 tests
 14508 			may be run with T_LAT2 and meaningful latency measurements taken.
 14509 			Modified T_TERM to work on Brutus (screen size) and on SAWD (memory
 14510 			allocation).
 14511 			Added calibration function to CPUMETER.
 14512 			Modified T_WWINS to work with screens <50 chars wide (eg Brutus).
 14513 			Assembler coded most TSa1100:: functions and the tick/millisecond
 14514 			timer interrupt handlers in SA1100. Added dispatcher for shared GPIO
 14515 			11-27 interrupt line.
 14516 
 14517 
 14518 --------------------------------------------------------------------------------
 14519 Revision 029
 14520 
 14521 19-02-00:	Split platform and CPU layers into memory model dependent and
 14522 			non-memory model dependent bits. Only the latter are now in the
 14523 			e32\kernel\epoc and e32\kernel\epoc\arm directories. The rest are
 14524 			in e32\memmodel\MMNAME and e32\memmodel\MMNAME\arm where MMNAME is
 14525 			the name of the memory model. Include files platform.h, plat_priv.h
 14526 			and arm.h have also been split. These now contain only non-memory
 14527 			model specific stuff. The rest is in
 14528 			e32\include\memmodel\MMNAME\memmodel.h and
 14529 			e32\include\memmodel\MMNAME\arm\arm_mem.h
 14530 
 14531 			The original memory model (moving RAM chunks on ARM-style MMU) is
 14532 			in e32\memmodel\moving\...
 14533 
 14534 			Added non-MMU memory model in e32\memmodel\direct\... which builds
 14535 			and works (not fully tested) on Series 5 MX.
 14536 
 14537 			Changed expansion algorithm for DObjectIx and DObjectCon. The arrays
 14538 			now expand by 50%+granularity each time instead of just by a fixed
 14539 			granularity.
 14540 
 14541 --------------------------------------------------------------------------------
 14542 Revision 028
 14543 
 14544 08-02-00:	Reorganised source into a deep directory structure a la v6.0 kernel.
 14545 
 14546 --------------------------------------------------------------------------------
 14547 Revision 027
 14548 
 14549 16-11-99:	Major change to context switching code. Chunks are now moved or have
 14550 			permissions modified one at a time, with preemption points following
 14551 			each chunk operation. Each process has a 'partial state change' flag
 14552 			which is set if a reschedule to or from that process is aborted at a
 14553 			preemption point, leaving the process with its chunks in different
 14554 			states. This flag is used on subsequent reschedules to defeat the
 14555 			normal optimisations, for example if new process = the current data
 14556 			section process don't move it. The functions which move chunks and
 14557 			change their permissions have been made state-aware and idempotent,
 14558 			so that the final state of the chunk is always the requested state
 14559 			regardless of the initial state. The code to add and remove chunks
 14560 			from a process address space has also been modified so that only
 14561 			one chunk is operated on between preemption points.
 14562 
 14563 			The SWI/IRQ/FIQ/ABT vector code has been rewritten to reduce the
 14564 			time spent with interrupts disabled.
 14565 
 14566 			Function Plat::PreemptionPoint() has been added. This is similar to
 14567 			Plat::AllowReschedule(), but returns a boolean value of TRUE if a
 14568 			reschedule occurred and FALSE if it did not.
 14569 
 14570 			Reduced the block size for inter-process data transfer from 2K to
 14571 			512 bytes. Function Plat::PreemptionPoint() is called after each
 14572 			block is copied; if no reschedule occurred, the copy can simply
 14573 			proceed with no need to look up the remote address again since it
 14574 			cannot have changed. This results in a considerable speed increase.
 14575 
 14576 			Moved assembler coded IPC stuff from KC_SCHED.CPP into a new file
 14577 			KC_MES.CPP.
 14578 
 14579 			Bug fix to DPlatSemaphore and DPlatMutex destructors - kernel is
 14580 			locked before calling Reset().
 14581 
 14582 			Rationalised inter-process data transfer mechanisms. All transfers
 14583 			now use DThread:: functions Read(), Write(), FastRead() or
 14584 			FastWrite(). All these are called with the kernel locked. The first
 14585 			two allow any length of data to be transferred and also allow
 14586 			remote descriptors to be used, but preemption can occur during the
 14587 			transfer. The FastRead() and FastWrite() functions allow up to 128
 14588 			bytes to be transferred and no preemption is allowed. These calls
 14589 			encapsulate the process memory model used (ie the fact that chunks
 14590 			belonging to non-running user processes exist in the home section).
 14591 			The CurrentAddress() functions are now protected non-virtual members
 14592 			of DPlatThread, so are not accessible by most code. The only
 14593 			code which still contains implicit knowledge of the memory model is
 14594 			the machine-coded DThread::RequestComplete and DServer::Accept code.
 14595 
 14596 			Added skeleton SA1100/Brutus port. Modified MMU and scheduling code
 14597 			to cope with the SA1100 write-back cache and Harvard architecture.
 14598 			Drivers are scarce - only the LCD, keyboard and crash debugger have
 14599 			been ported. ASSP/interrupt support is not up to final standard -
 14600 			interrupts are simply prioritised in descending order of bit number
 14601 			in the SA1100 status register and the TSa1100 class needs machine
 14602 			coding.
 14603 
 14604 			Modified ExecHandler::LockedInc() and LockedDec() to use LDRT/STRT
 14605 			instructions to access the counter if called from user mode.
 14606 
 14607 			Synchronised EUSER to ER5u.
 14608 
 14609 			Bug fix to MMU initialisation code - if RAM banks were not aligned
 14610 			to the bank size, the wrong AND and EOR masks could be produced,
 14611 			resulting in memory leaks.
 14612 
 14613 --------------------------------------------------------------------------------
 14614 Revision 026f
 14615 
 14616 28-08-99:	Changes to MMP files to work with E32TOOLP 127 (ABLD etc.).
 14617 			New-look ROM.BAT with -i and -n options and new-style ROM.CFG file.
 14618 			Added very early debug mode - generates debug output from exceptions
 14619 			in global constructors or other crashes before normal debug output
 14620 			is available. Only works on Snowdrop.
 14621 			Machine coded 16-bit descriptors.
 14622 
 14623 --------------------------------------------------------------------------------
 14624 Revision 026e
 14625 
 14626 			Zero .bss section when loading ROM resident device drivers with a
 14627 			non-empty .bss section.
 14628 			Changes to ROM.BAT for SINGLE builds.
 14629 			Use 'fixed' in .IBY/.OBY files again - needs E32TOOLSv124A.
 14630 
 14631 --------------------------------------------------------------------------------
 14632 Revision 026d
 14633 
 14634 			More build tool changes:
 14635 				Split BLD.INF into BLD.INF and GENERIC.INF.
 14636 				Changed __THUMB__ macro to __MARM_THUMB__.
 14637 				Added ROMTARGET statements to MMP files for automatic IBY file
 14638 				generation.
 14639 			Modified ExecHandler::CallSupervisorFunction to cope with THUMB
 14640 			code being used in the function. This is to allow F32 to be
 14641 			built for THUMB.
 14642 			New system for building test ROMs.
 14643 			Store panic code when a system thread panics.
 14644 			Bug fix to power model to make switch off work when no absolute
 14645 			timers are pending.
 14646 
 14647 --------------------------------------------------------------------------------
 14648 Revision 026c
 14649 
 14650 			Added extra RLocalDrive::Format() function to format a specified
 14651 			part of the media.
 14652 			Fixed more warnings generated by new GCC.
 14653 			Added iTimerExpired flag which is set when an absolute timer expires
 14654 			so that a switch-off currently in progress can be aborted.
 14655 			Added extra function DPowerModel::ClearTimerExpired() to clear this
 14656 			flag.
 14657 			DPowerModel::SuspendTimers() now returns one of three values EEmpty,
 14658 			EPending or EExpired to indicate whether the absolute timer queue is
 14659 			empty or non-empty and whether an absolute timer has expired during
 14660 			the switch off process.
 14661 			Modified power manager to abort the switch off process if an
 14662 			absolute timer expires during the process or if one is due within
 14663 			2 seconds of the switch off time. When switching on due to a timer,
 14664 			switch on 4 seconds before timer expiry is due.
 14665 			Define __JUMP, __POPRET macros when compiling for THUMB.
 14666 			Added __SWITCH_TO_ARM macro to switch to ARM mode at the beginning
 14667 			of an assembler function (for use in test code).
 14668 			Modified the kernel to support user threads executing in THUMB mode.
 14669 			Added thumb indirect call helpers to UC_EXE.CPP and UP_DLL.CPP.
 14670 
 14671 --------------------------------------------------------------------------------
 14672 Revision 026b
 14673 
 14674 			Source renamed for consistency with ER5u. (UCDT->USRC etc.)
 14675 			DEF files frozen to work with new build system.
 14676 			Added BLD.INF to work with new build system.
 14677 			Various MMP file changes for new build system.
 14678 			Synchronised with E32 188.
 14679 			Changes to suppress warnings from new GCC.
 14680 			Changed EUSER machine code functions to use BX for returns and
 14681 			indirect function calls.
 14682 
 14683 --------------------------------------------------------------------------------
 14684 Revision 026a
 14685 
 14686 			Changes to make unicode build work:
 14687 				anInfo parameters to device drivers are TDesC8 instead of TDesC;
 14688 				Some TDes8's become TDes and vice-versa;
 14689 				Added unicode UIDs;
 14690 				Added ReadClient and WriteClient functions to DLogicalChannel
 14691 				and TMessage to handle 16-bit descriptors;
 14692 				Removed UIDs from ROM.OBY files;
 14693 				Don't put TLoaderInfo on supervisor stacks (it's too big);
 14694 			Return error code from UserSvr::LibraryLoaded().
 14695 			Display drivers mask the top 8 bits from 16-bit characters.
 14696 
 14697 --------------------------------------------------------------------------------
 14698 Revision 026
 14699 
 14700 14-06-99:	Added a dedicated synchronous RMessageK slot to each thread. This
 14701 			ensures that a thread can always send a synchronous message without
 14702 			risking OOM failure.
 14703 
 14704 			Reintroduced fixed message pool capability to sessions. A session
 14705 			may now be created either with a fixed size pool of asynchronous
 14706 			message slots using RSessionBase::CreateFixedPoolSession() or
 14707 			may be created with dynamic allocation of asynchronous message slots
 14708 			using RSessionBase::CreateSession(). This is intended to support
 14709 			message passing between threads with a real-time requirement.
 14710 
 14711 			Added RSessionBase::Attach() to explicitly create a share for the
 14712 			current thread on a multithreaded session. This allows the thread
 14713 			to handle potential OOM errors in advance before actually starting
 14714 			on work which requires the session to be operational.
 14715 
 14716 			Added C++ versions of ExecHandlers PushTrapFrame, PopTrapFrame,
 14717 			ActiveScheduler(), SetActiveScheduler(), TrapHandler() and
 14718 			SetTrapHandler().
 14719 
 14720 			Fixed problem with discontiguous memory dumps using the crash
 14721 			debugger.
 14722 
 14723 --------------------------------------------------------------------------------
 14724 Revision 025i
 14725 
 14726 23-05-99:	Added hooks to the kernel to allow the crash debugger to catch
 14727 			exceptions and kernel faults.
 14728 			Separated crash debugger into 3 parts (independent, CPU-dependent
 14729 			and ASIC/variant dependent). Added more features (register dump,
 14730 			exception handling, more comprehensive DObject dump, memory dump of
 14731 			discontiguous regions). Crash debugger is now an extension which
 14732 			hooks into the kernel at boot time, rather than being part of the
 14733 			kernel or variant DLL.
 14734 
 14735 			Added multithreaded session support. A session is created in single
 14736 			threaded mode and a call to RSessionBase::MakeShareable() mutates it
 14737 			into multithreaded configuration and makes the client handle process
 14738 			relative. The original client is given a share immediately. Other
 14739 			threads in the same process acquire shares when they first attempt
 14740 			a message send on the session.
 14741 
 14742 			Dropped the timer period on MEASURE_LATENCY builds from 2ms to 1ms
 14743 			on Windermere.
 14744 			Applied the Windermere DRAM refresh fix to TWind::SetStandby().
 14745 
 14746 			Bug fix to DPlatProcess::AddChunk() - the process chunk list was
 14747 			being updated with the kernel unlocked.
 14748 
 14749 --------------------------------------------------------------------------------
 14750 Revision 025h
 14751 
 14752 07-04-99:	Added dynamic message allocation for sessions. Free messages are
 14753 			stored on a singly linked list with K::NextMessage pointing to the
 14754 			first free message. A new TDblQueLink field iSessionLink has been
 14755 			added to RMessageK - this serves the twin purpose of linking free
 14756 			messages onto the free list and linking messages in use to the
 14757 			session which originated the message. The latter is necessary to
 14758 			allow accepted messages to be freed when a session (or the server)
 14759 			is closed.
 14760 			Sessions no longer have a specific pool of message slots - they have
 14761 			a single reserved disconnect slot and a doubly-linked list of all
 14762 			messages in use by that session. A limit of 256 messages per session
 14763 			is imposed to prevent a rogue program from gobbling all the system
 14764 			RAM by repeatedly sending messages.
 14765 			The system message pool grows whenever a thread attempts to send a
 14766 			message on a session and none are free. The K::Sessions mutex is
 14767 			used to prevent multiple threads from growing the message pool at
 14768 			the same time. The system message pool is never shrunk.
 14769 			Added a new message state COMPLETED. A message enters this state if
 14770 			the server completes the message after the session has been closed
 14771 			by the client. This removes the need for the server to dequeue the
 14772 			message from the session while the client is iterating through the
 14773 			list of messages on the session and thus removes the need for mutex
 14774 			protection on this list. The session also has a new flag iClosing
 14775 			which is set when the client closes the session. COMPLETED messages
 14776 			will be dequeued from the session and returned to the free pool when
 14777 			final session cleanup occurs (i.e. when the server completes the
 14778 			disconnect message or terminates).
 14779 			Added DThread::iTempObj to allow a thread to open an object with the
 14780 			kernel locked and then wait on a mutex. If the thread dies while
 14781 			waiting, iTempObj will be closed by the kernel server.
 14782 
 14783 --------------------------------------------------------------------------------
 14784 Revision 025g
 14785 
 14786 03-04-99:	Added KBAWD16 directory to boot on Snowdrop with RAM in 16-bit mode.
 14787 			Ran benchmark tests in both 32 and 16 bit mode.
 14788 
 14789 --------------------------------------------------------------------------------
 14790 Revision 025f
 14791 
 14792 26-03-99:	Changed KMaxMemCopyInOneGo into a variable K::MaxMemCopyInOneGo
 14793 			which is initialised in ImpMmu::Init1() using an ASIC/Variant call.
 14794 			Added IPC stress test program \E32TEST\MISC\T_SVR3.CPP to test
 14795 			message passing with clients and servers exiting at random times.
 14796 
 14797 27-03-99:	Reviewed all message passing code in light of problems observed
 14798 			running T_SVR3.EXE. Several changes made to ensure that the code
 14799 			operates correctly when the threads involved exit or the server is
 14800 			destroyed at inopportune moments. Mutex ordering changed - the
 14801 			K::Servers container mutex now comes before DObjectIx::HandleMutex
 14802 			since this mutex is now held during session creation while the
 14803 			client thread handle is being created. CServer::Connect() now uses
 14804 			Exec::ThreadRead8 instead of RMessage::ReadL() to read the version
 14805 			from the client since the latter would leave and cause the Error()
 14806 			function on CActiveScheduler to be called if the client exited
 14807 			before the server processed the connect message. This could then
 14808 			cause the server to panic.
 14809 
 14810 29-03-99:	Executive functions Exec::ServerCreate(), Exec::SessionCreate(),
 14811 			Exec::SetSessionPtr() and Exec::CompleteDisconnect() have been made
 14812 			UNPROTECTED instead of SLOW.
 14813 			The kernel now validates RMessageK pointers passed in by user code.
 14814 			The functions involved are CompleteDisconnect, MessageComplete and
 14815 			and SetSessionPtr. Validation is done by first checking the pointer
 14816 			lies within the kernel heap, then checking that the message state
 14817 			is EAccepted and that the message pointer matches the value passed
 14818 			in. The value of RMessageK::EAccepted has been changed from 2 to the
 14819 			more unlikely value 0xbfffffc5 (this is an ARM-friendly value).
 14820 			Changed iSessionPtr in kernel-side RMessageK to point to DSession
 14821 			not CSession. This means that it is no longer necessary to pass out
 14822 			the DSession pointer on a session create. Each RMessageK is set up
 14823 			with the DSession pointer during session creation. DServer::Accept()
 14824 			changes this into the CSession pointer - stored in the DSession by
 14825 			SetSessionPtr() - while copying the message across. Eliminated
 14826 			function call RServer::SetSessionPtr() and replaced it with
 14827 			Exec::SetSessionPtr() since the server is irrelevant to this.
 14828 			Assembler coded Exec::MessageComplete() - this doesn't need to find
 14829 			the client by looking up the handle any more since it now has the
 14830 			DSession pointer available.
 14831 			Exec::DuplicateHandle() now updates the handle before releasing the
 14832 			thread's critical section to prevent thread heaps being orphaned if
 14833 			the thread is killed during heap creation.
 14834 
 14835 --------------------------------------------------------------------------------
 14836 Revision 025e
 14837 
 14838 20-03-99:	Removed redundant constructors and destructors from the kernel.
 14839 			TDfc now has only 2 constructors - the 4 parameter one and one which
 14840 			sets iDfcQ to NULL.
 14841 			Modified all DFC constructors which set the DFC queue to NULL to use
 14842 			the 3 parameter constructor.
 14843 			Removed redundant iObjId member from DObject to save RAM.
 14844 			Removed DPlatRequestSemaphore class. Thread request semaphores are
 14845 			now TPlatRequestSemaphore objects embedded in the DPlatThread. They
 14846 			do not appear in the K::Semaphores container and are not accessible
 14847 			other than by executive calls which explicitly use them.
 14848 			Reduced DObjectIx and DObjectCon granularities to 8 to save RAM.
 14849 			Changed Match, Locate and FindF executive calls from SLOW to
 14850 			UNPROTECTED.
 14851 
 14852 23-03-99:	Fixed problem with TEtna::ModifyUartControl8 and TEtna::SetUartBreak
 14853 			functions.
 14854 
 14855 --------------------------------------------------------------------------------
 14856 Revision 025d
 14857 
 14858 17-03-99:	Implemented password stuff. There is still a potential problem with
 14859 			Exec::SetMachineConfiguration if the call is preempted and memory
 14860 			is used before the password is recreated.
 14861 
 14862 16-03-99:	Modified ExecHandler::ThreadContext to truncate the returned data
 14863 			to fit in whatever buffer the caller supplies.
 14864 			Increased max user thread stack from 56K to 80K to accommodate the
 14865 			ESTLIB Posix server thread, which uses a 64K stack.
 14866 			Got Java running with Conifer 236 ROM.
 14867 
 14868 13-03-99:	Implemented DynamicCallList and LibraryCallList functions. Added
 14869 			calls to DLL entry points. Test programs T_TDLL12, T_TSTART pass.
 14870 
 14871 12-03-99:	Implemented DLL static data. Test programs T_TLDD and T_TDLLA now
 14872 			pass.
 14873 
 14874 --------------------------------------------------------------------------------
 14875 Revision 025c
 14876 
 14877 06-03-99:	Replaced Plat::WaitOneMicrosecond() with a more general function
 14878 			Plat::NanoWait() which waits for a specified time in nanoseconds.
 14879 			Use this new function in ATA media driver.
 14880 			Added function Kern::MachinePowerStatus() to return the current
 14881 			power status - i.e. good if external power present, otherwise the
 14882 			main battery status.
 14883 			New Snowdrop current consumption figures.
 14884 			Stopped backlight turning on if battery status is Replace.
 14885 			Prevent writes to CF card if battery status is Replace.
 14886 			Added Vpc voltage checking.
 14887 
 14888 09-03-99:	Reset2() is now not called on peripheral bus sockets when a power
 14889 			down occurs, only when a media change occurs. This leaves the card
 14890 			configurations intact. When the socket is next powered up, the
 14891 			Restore() function is called to restore any active card configs.
 14892 
 14893 --------------------------------------------------------------------------------
 14894 Revision 025b
 14895 
 14896 28-02-99:	New PBus/media system state machine, including postponement of power
 14897 			down and media change for writes.
 14898 
 14899 01-03-99:	Implemented SetCurrentConsumption() for media drivers.
 14900 			Added DPowerHandler::DeltaCurrentConsumption() function.
 14901 
 14902 02-03-99:	Timing measurements done for short reads.
 14903 			Optimised local drive access when data source or destination is the
 14904 			same thread as the DLocalDrive client. In this case, we don't bother
 14905 			opening the thread again and we leave iSrcDestThread=NULL. Functions
 14906 			ReadRemote() and WriteRemote() just call ReadClient() and
 14907 			WriteClient() if iSrcDestThread is NULL.
 14908 			Further optimisation by using Plat::SafeRead instead of ReadClient
 14909 			to read the TLocalDriveMessageData from a client request.
 14910 			Rewrote most TEtna functions in ARM assembler. Added new functions
 14911 			TEtna::EnableWaitControl() and TEtna::DisableWaitControl() to
 14912 			set up the ETNA wait state controller quickly - these each replace
 14913 			3 separate TEtna calls.
 14914 
 14915 05-03-99:	Added iAdjusted flag to DLocalDrive. This is cleared for a new
 14916 			request and set when CheckAndAdjustForPartition() is called. This
 14917 			flag is used to prevent a deferred request from being adjusted more
 14918 			than once - adjustment is only done if the flag is clear.
 14919 			Fixed bugs in handling of requests by the local media subsystem and
 14920 			ATA media driver when the client thread exits while the request is
 14921 			still being processed or while the media is being mounted.
 14922 			Fixed bug in TMessage::Cancel(). If a message was completed after
 14923 			being cancelled this would cause a kernel fault. However this is a
 14924 			valid thing to do if a thread exits while a device driver request is
 14925 			still outstanding.
 14926 			Modified ATA media driver to call ReleaseConfig() when it is closed.
 14927 			Added test program T_ATADR3.EXE to stress the media subsystem and
 14928 			ATA media driver with requests from multiple threads, with threads
 14929 			which exit with requests outstanding and with media changes and
 14930 			machine power downs during processing of requests.
 14931 
 14932 --------------------------------------------------------------------------------
 14933 Revision 025a
 14934 
 14935 26-02-99:	Merged in changes to EUSER and F32 for ER5. EUSER is now up to E32
 14936 			166 standard and F32 up to release 132 standard (apart from UID
 14937 			changes - UIDs will need to be different for E32RT anyway).
 14938 			Use P2 UK keyboard table from LOCE32_1 release 005 for Snowdrop
 14939 			keyboard data.
 14940 
 14941 --------------------------------------------------------------------------------
 14942 Revision 025
 14943 
 14944 24-02-99:	Modified Snowdrop digitiser driver to use DAdc::SetMinPriority() to
 14945 			lock out battery readings rather than using a dummy ADC channel.
 14946 
 14947 25-02-99:	Boils.
 14948 
 14949 --------------------------------------------------------------------------------
 14950 Revision 024g
 14951 
 14952 20-02-99:	Changes to SWI handling:
 14953 				1.	The call number is now checked to make sure it is in range.
 14954 				2.	Slow and Unprotected calls now save r4-r11 before calling
 14955 					the kernel function and restore them afterwards.
 14956 			Modified LookupKernHandle, DSession::Send and DServer::Receive to
 14957 			take advantage of the saving of r4-r11 - they don't need to save
 14958 			registers themselves.
 14959 			DArmPlatThread::SetReturnValue() now places the value in the saved
 14960 			R4 register - this is copied into r0 by Plat::LeaveCS() or
 14961 			Plat::AllowReschedule() or the slow SWI postamble.
 14962 			DArmPlatThread::CallUserFunction() modified to cope with the case
 14963 			where a FIQ occurs immediately following execution of a SWI.
 14964 			Fixed bug in scheduler. If a high priority moving process is being
 14965 			scheduled and an interrupt occurs during the moving of the previous
 14966 			data section process to the home section, the reschedule is aborted.
 14967 			But if the thread readied by the interrupt has a lower priority than
 14968 			the thread being scheduled, the reschedule is never completed and
 14969 			the high priority user process' chunks are never mapped down.
 14970 			Use new default calibration values in Snowdrop digitiser driver.
 14971 
 14972 22-02-99:	Implemented RThread::Context() to get the user-mode context of a
 14973 			user thread.
 14974 
 14975 23-02-99:	Fixed bug whereby a closed DSession was dequeued from the DServer
 14976 			twice - once when the client Close()d the session and again when the
 14977 			server completed the disconnect.
 14978 			Fixed bug in TMessage::Cancel() - iDfcQ was being referred to and
 14979 			P::RemoveClient() being called even if the message was not currently
 14980 			in use. Changed so that iDfcQ is set when the message is sent and is
 14981 			set to NULL when the message is either completed or cancelled.
 14982 			Do ASIC/Variant Init1() before getting startup reason - on Snowdrop
 14983 			this is necessary for two shift keys reset to work (because Init1
 14984 			determines whether the machine is running in professional mode).
 14985 
 14986 --------------------------------------------------------------------------------
 14987 Revision 024f
 14988 
 14989 			Added DAdc::SetMinPriority() to enable lower-priority ADC channels
 14990 			to be suspended for a while (on Snowdrop taking battery readings
 14991 			leads to inaccurate digitiser readings.
 14992 			Fixed bug in DChannelComm::ImpRequest - client data was being
 14993 			accessed directly instead of using ReadClient or WriteClient.
 14994 			Improved debugger to allow memory and container dumps to either
 14995 			the screen or the serial port, with optional logging to a file.
 14996 			Fixed problem with sound driver - synthesised sounds were stopped
 14997 			when the last sample was placed into the sample buffer rather than
 14998 			when the sample buffer has been completely emptied.
 14999 			Added CBase::Delete() to delete a CBase-derived object.
 15000 			Removed Exec::DriveXxx functions from EUSER.
 15001 			Consolidated all chunk adjust operations (Adjust, AdjustDoubleEnded,
 15002 			Commit, Allocate, Decommit) into one Exec function.
 15003 			Moved some data from static storage to the kernel heap.
 15004 			Removed TMessage::SendReceiveL() and TMessage::SendReceiveH().
 15005 			Applied fix for Snowdrop cold-reset problem - still doesn't work
 15006 			though.
 15007 			Change permissions on virtual address 0 from RWNO to RORO.
 15008 			Some ExecHandler consolidation to reduce ROM size.
 15009 			Increased limit on a session's message slots from 16 to 20 to cope
 15010 			with Web (WtlServer sessions request 20 message slots).
 15011 			Fixed a bug in ATA driver - if a thread exited just before F32
 15012 			made a request on its behalf, the card status would not be set back
 15013 			to idle, rendering the device unusable until a remount occurs.
 15014 			Comms/sound driver fix - only unbind interrupts in the destructor
 15015 			if we successfully bound them.
 15016 			Fixed bug in keyboard driver - if a dictaphone key caused the
 15017 			machine to switch on, the keyboard driver would never acknowledge
 15018 			the power manager power-up request.
 15019 
 15020 --------------------------------------------------------------------------------
 15021 Revision 024e
 15022 
 15023 			Modified comms LDD - receive ISR can now accept a character count of
 15024 			zero (occurs if only XON or XOFF received).
 15025 			Generalised digitiser driver a bit - number of samples taken is now
 15026 			variant-configurable, as is pen-move filtering. The driver can now
 15027 			be built as a PDD for RAM-loading.
 15028 			Added debug mode checking to ensure that kernel heap is only ever
 15029 			accessed with the kernel unlocked and the current thread in a
 15030 			critical section.
 15031 			Exported TMessage::SendReceiveLocked().
 15032 			Re-introduced TransmitIsr() function to comms LDD.
 15033 			DPlatChunk::SetFixedAddress() now rounds the supplied size up to a
 15034 			multiple of the page size.
 15035 			Modified DPlatChunk::Reserve() to use the RAM allocator mutex so
 15036 			that it can be used after booting.
 15037 			Modified DPlatProcess::NewChunk() to reserve linear address space
 15038 			for fixed chunks.
 15039 			In DEBUG builds, DObjectIx and DObjectCon both use a granularity of
 15040 			1 to aid kernel heap testing.
 15041 			Fixed RHeap::Compress() bug.
 15042 			Set case state to closed when machine comes out of standby to avoid
 15043 			problems with incorrect state reporting.
 15044 			Remove extraneous Plat::LeaveCS() in emergency power down handler.
 15045 			Modified comms drivers to fill the TX FIFO in EnableTransmit().
 15046 			Brought C++ comms code up to date.
 15047 			Reduced power up/power down delay times in sound driver.
 15048 			Fixed problem with clearing Snowdrop screen when coming out of
 15049 			standby mode.
 15050 
 15051 
 15052 --------------------------------------------------------------------------------
 15053 Revision 024d
 15054 
 15055 			Added BITGDI-style video device driver for Windermere to enable full
 15056 			EIKON-based Snowdrop images to be created.
 15057 			Added media change notification to the local media device driver.
 15058 			This uses a Request on the device driver. Also added a way to force
 15059 			media change events (replacing UserPcCardCntrl::PowerDown()).
 15060 			Moved EUSER up to E32 161 standard.
 15061 			Moved F32 up to F32 127 standard - use F32_127A.ZIP with this.
 15062 			Fixed bug with ATA driver power down.
 15063 			Fixed bug in ATA driver - a format request was never completed due
 15064 			to incorrect updating of the amount of media formatted.
 15065 			Corrected power management code so that battery consumption is not
 15066 			counted while external power is present.
 15067 			Fixed 'switch off if no external power' mode - logic of test was
 15068 			inverted so that switch off only occurred if external power was
 15069 			present.
 15070 			Check external power and case open/closed state when machine comes
 15071 			out of standby.
 15072 			Fixed problem with Windermere UART1 driver which caused UART2 lines
 15073 			to be wrongly configured after UART1 driver is closed.
 15074 			Changed ScreenInfo() function on Windermere port to return address
 15075 			of bitmap in video RAM rather than of palette - this is to obtain
 15076 			compatibility with ER5 release of BITGDI.
 15077 			Fixed emergency power down problem with Snowdrop - the interrupt was
 15078 			not being cleared after servicing.
 15079 			Fixed problem with kernel tracing on Snowdrop - the UART was not
 15080 			being reinitialised after coming out of standby.
 15081 			Text window server modified in line with ER5.
 15082 
 15083 
 15084 --------------------------------------------------------------------------------
 15085 Revision 024b
 15086 
 15087 			Fixed bug where DLocalDrive was being dequeued twice as a result of
 15088 			TLocalDrive::Disconnect being called.
 15089 			Fixed bugs in local media state machine.
 15090 			Corrected erroneous use of registers in Plat::LockedSetClear().
 15091 			Modified media driver MEDATA.PDD so that card not busy interrupts
 15092 			now always queue a DFC which then transfers the data thus reducing
 15093 			interrupt latency. In addition, single sector reads have been made
 15094 			asynchronous as well. The only synchronous reads remaining are the
 15095 			preliminary reads for a non sector-aligned write.
 15096 			Modified MEDATA not busy timeout. Every 30ms a DFC is run to check
 15097 			for card not busy. If not busy, normal processing resumes. If card
 15098 			is still busy after 67 checks, the operation is timed out.
 15099 			Fixed ATA driver bug which caused incorrect data to be written to
 15100 			last sector of a non sector-aligned write of more than 4K.
 15101 			Fixed some bugs involving systems with more than one PC card socket.
 15102 			Added power handling to EPBUS.
 15103 
 15104 
 15105 --------------------------------------------------------------------------------
 15106 Revision 024a
 15107 
 15108 			Added Windermere/Snowdrop B1 port. Macros are used for cache and TLB
 15109 			flush instructions, defined differently for EIGER and Windermere.
 15110 			Added Mmu::AllocPhysicalRam() function to allocate a block of RAM
 15111 			contiguous in physical addresses. This is used to allocate the video
 15112 			RAM in the Windermere port.
 15113 			Added first cut peripheral bus/PC card/CF card support
 15114 			Added local media subsystem using media drivers and accessed via
 15115 			RLocalDrive class. The local media system is implemented as a device
 15116 			driver. TLocalDrive is provided as a derived class from RLocalDrive.
 15117 			Removed old implementation of RAM drive access functions from the
 15118 			kernel and added IRAM media driver MEDINT.PDD. Exec::DriveXXX
 15119 			functions now return KErrNotSupported or do nothing.
 15120 			Added internal RAM drive interlock mutex and exported functions to
 15121 			wait/signal it.
 15122 			Added first cut ATA media driver MEDATA.PDD
 15123 			Fixed battery monitoring bug - iAdjusted was not being initialised,
 15124 			causing status updates to be missed.
 15125 			Upgraded VA_ETNA.CPP in all variants to Rev 3 ETNA standard.
 15126 			Modified comms driver EnableTransmit() function to enable interrupts
 15127 			without filling transmit FIFO.
 15128 
 15129 --------------------------------------------------------------------------------
 15130 Revision 024
 15131 
 15132 14-12-98:	Fixed a bug in Exec::ProcessSetOwner whereby a user thread might be
 15133 			killed and leave an unclosed reference on a DProcess.
 15134 			Implemented Exec::ThreadGetRamSizes.
 15135 			Put screen variant stuff back into bootstrap and map 2 pages for HW
 15136 			registers instead of 1 to cater for the CL-PS7111 chip (as used on
 15137 			Gator).
 15138 
 15139 --------------------------------------------------------------------------------
 15140 Revision 023a
 15141 
 15142 09-12-98:	Modified the memory mapping scheme. Thread supervisor stacks are now
 15143 			allocated in a new disconnected SvStack chunk. One guard page is
 15144 			placed before each supervisor stack to catch stack overflows. The
 15145 			kernel heap (and the kernel server stack) are in chunk SvHeap.
 15146 			User thread stacks are now allocated in the $DAT chunk of a process
 15147 			after the static data. The $DAT chunk is now a disconnected chunk.
 15148 			This will necessitate a change to ROMBUILD to cope with fixed
 15149 			processes in ROM - the stack space for the process must be added to
 15150 			the static data size to give the maximum size of the data chunk.
 15151 			8K of guard space is placed between adjacent user thread stacks in
 15152 			order to catch stack overflows.
 15153 			User heaps are now always created by a user thread. The main thread
 15154 			of a process creates its own heap when it begins execution in
 15155 			function K::RunUserThread in the kernel. Subsequent threads can
 15156 			either create new heaps or share a heap, as previously.
 15157 			Removed specially-declared null thread stack - the null thread now
 15158 			gets its stack the same way as any other kernel thread.
 15159 
 15160 10-12-98:	Moved version of E32TEST up to 006. Reintroduced kernel heap checks
 15161 			into tests from which they had previously been removed (T_SVR2,
 15162 			T_TLS, T_CHUNK, T_REG). Added kernel heap checking to T_PROC1.
 15163 			Got T_CHUNK and T_THREAD working with full number of threads being
 15164 			created (previously this didn't work due to each thread requiring
 15165 			its own stack chunk).
 15166 
 15167 11-12-98:	Moved up to F32 124 and E32TOOLP 098.
 15168 			Added 'magic' exception handling scheme. If a data-abort exception
 15169 			occurs in mode_svc and the aborted instruction is one of a select
 15170 			few 'magic' instructions, the exception handler simply returns to
 15171 			the instruction following the aborted instruction with the ZERO flag
 15172 			set and R12 containing the faulted data address. This avoids the
 15173 			need for long-winded address validation for inter-process transfers.
 15174 			The problem is that it is fairly difficult to determine the validity
 15175 			of a range of addresses in a disconnected chunk - this would require
 15176 			searching of the page bitmap; so instead we simply verify that the
 15177 			address given is in the process address space and the offset in the
 15178 			chunk is within the home region offset range - this guarantees we
 15179 			cannot access another process' chunk by accident.
 15180 			Added functions Plat::SafeRead() and Plat::SafeWrite() which make
 15181 			use of this facility to provide exception-proof small-block data
 15182 			transfers for kernel functions.
 15183 			Modified DThread::RequestComplete and DServer::Accept to use the
 15184 			'magic' exception handling facility.
 15185 			Modified GetDesInfo(), GetDesLength() and GetDesMaxLength() to use
 15186 			Plat::SafeRead().
 15187 
 15188 12-12-98:	Optimisations to DThread::RequestComplete, DServer::Accept (machine
 15189 			code versions).
 15190 			Added function DThread::AsyncClose(). This is called from
 15191 			TMessage::Complete to close the message's reference on the thread.
 15192 			If the access count drops to zero during this call, the thread
 15193 			must have terminated with a kernel message outstanding. The dead
 15194 			thread's kernel message is sent to the kernel server, but the
 15195 			current thread does not wait for its completion. The kernel server
 15196 			actually deletes the dead thread. This is done so that device driver
 15197 			threads do not have to actually delete the thread, which may
 15198 			involve waiting a long time for the kernel heap mutex.
 15199 			Added test program T_PROT2 which tests protection of a new process
 15200 			against scribbling over its chunks while it is being loaded.
 15201 			Added function UserSvr::ExecuteInSupervisorMode() available only to
 15202 			F32. Modified loader SF_LDR.CPP and SF_IMAGE.CPP to make use of this
 15203 			call to run the functions which fix up images in supervisor mode.
 15204 			This removes the need for the chunks of a new process or DLL to be
 15205 			given user read/write permissions until they have been loaded.
 15206 			Removed functions DPlatChunk::ApplyUserPermissions() and
 15207 			DPlatChunk::SetFinalPagePermissions().
 15208 
 15209 --------------------------------------------------------------------------------
 15210 Revision 023
 15211 
 15212 03-12-98:	Changed all instances of TName in the kernel to TKName which has max
 15213 			length 64 characters. This is to guarantee that the full name of an
 15214 			object can never exceed the 256 character limit of a TFullName.
 15215 			Moved the kernel-generated panic numbers (TKernelPanic) into a
 15216 			separate header file E32KPAN.H. This is included in e32test.h and
 15217 			in uc_exec.cpp but not in all EUSER files. It is also included in
 15218 			K32STD.H, and so in all kernel files.
 15219 			Removed logical channel functions relating to slow open, which are
 15220 			not required in E32RT.
 15221 
 15222 04-12-98:	Implemented Exec::ThreadSetInitialParameter. The initial parameter
 15223 			is stored in a reserved word in the DThread and is read when the
 15224 			thread first starts to run.
 15225 			Implemented kernel heap checking in DEBUG builds. A special class
 15226 			TKernelHeapWalk is used so that failures don't cause a kernel panic.
 15227 			Modified Kern::SafeReAlloc so that in DEBUG builds it preserves the
 15228 			nesting level of the cell being reallocated. This is done to prevent
 15229 			reallocation from causing kernel heap checking to fail.
 15230 			Fixed bug in svThreadKill which caused kernel fault if a thread
 15231 			attempted to kill a protected thread.
 15232 			Fixed memory leak in DThread::Create - the supervisor stack was
 15233 			allocated and the pointer stored in a temporary variable for a bit
 15234 			rather than in the iSupervisorStack member variable. This meant that
 15235 			if the following memory allocation failed, the memory block which
 15236 			was allocated for the stack was orphaned.
 15237 			Added stub ExecHandler functions for CompressAllHeaps,
 15238 			DllGlobalAlloc, PasswordSetEnabled, PasswordSet, ChangeLocale and
 15239 			ResetMachine.
 15240 			Implemented Exec::ChunkSetHeapInfo to record information about the
 15241 			heap existing in a chunk so that it can be compressed. This function
 15242 			also stores a pointer to the heap interlock mutex and increments the
 15243 			mutex reference count. When the chunk is deleted the reference is
 15244 			closed to balance this.
 15245 			Fixed bug in LCD driver - contrast was not being correctly set when
 15246 			the machine powered up.
 15247 			Modified RHeap::Open so that it will refuse to modify a zero access
 15248 			count.
 15249 			Modified RHeap::Close so that if the access count falls to zero,
 15250 			Exec::ChunkSetHeapInfo is called with KNoHeap so that the reference
 15251 			to the heap mutex can be closed.
 15252 
 15253 05-12-98:	Implemented generic priority inheritance for TDfcQue. A Boolean
 15254 			field iInherit has been added; if it is set TRUE, the DFC queue
 15255 			thread will inherit the priority of any clients which send a kernel
 15256 			message (TMessage) to it. The kernel server message queue sets this
 15257 			field TRUE during initialisation (KP_INI.CPP).
 15258 			Implemented Exec::CompressAllHeaps(). The compression is done by a
 15259 			dedicated kernel-side compressor thread. This thread is activated
 15260 			by kernel messages received from other threads, and it inherits the
 15261 			priority of its clients (if higher than its default priority).
 15262 			Heaps are only compressed if no thread currently holds the interlock
 15263 			mutex - the compressor thread can never block on this mutex since
 15264 			this could result in deadlocks.
 15265 			Fixed an access-count imbalance in shared heap chunks. When a thread
 15266 			is created with a new chunk heap, a handle is opened to the heap
 15267 			chunk to enable the thread to initialise its heap when it starts
 15268 			running. However the access count of the new heap chunk within the
 15269 			process was not incremented. This eventually results in the chunk
 15270 			being removed from the process address space while still in use by
 15271 			a thread in the process which shares the original thread's heap.
 15272 			The chunk's access count in the process is now incremented.
 15273 			In __MEASURE_LATENCY__ builds, the maximum observed interrupt and
 15274 			thread latencies are now recorded. T_LATNCY.CPP has been modified
 15275 			to make this information available.
 15276 
 15277 07-12-98:	Bug fixes to sound driver:
 15278 				Set the correct DFC queue for DLddSound::iEmergencyPowerDfc.
 15279 				Set AlarmStackPtr to 0 when initialising an alarm.
 15280 
 15281 08-12-98:	Bug fix in kernel - TDfc::Cancel was using register r0 after it had
 15282 			been overwritten.
 15283 			Comms PDDs modified to use Plat::DisableIrqsToLevel1() instead of
 15284 			disabling interrupts by hand - this is so that the kernel is locked
 15285 			when IRQs are off.
 15286 
 15287 --------------------------------------------------------------------------------
 15288 Revision 022f
 15289 
 15290 26-11-98:	Update battery insertion time when system time changes.
 15291 			Fixed problem with estimate of total charge taken from the battery.
 15292 			The power manager was using an invalid way of determining that the
 15293 			CPU is idle. The TickInterrupt() function is now called with a TBool
 15294 			indicating whether or not the CPU is idle.
 15295 
 15296 27-11-98:	Added exports and public header file to PR_MISC.CPP so that it may
 15297 			be used by the sound driver to play the fallback alarm.
 15298 
 15299 28-11-98:	Added sound device driver - basically rewritten from scratch rather
 15300 			than hacking the original sound driver, due to the excessive time
 15301 			taken by the latter in ISRs. So far, no battery monitoring is done
 15302 			by the sound driver; in addition, some machine coding of the ISR
 15303 			and of the sinewave generator may be advantageous.
 15304 			Modified comms device driver so that the PDD now determines which
 15305 			DFC queue is used rather than the LDD. This is so that PC card
 15306 			serial ports may use the PC card controller thread instead of the
 15307 			usual DfcThread0.
 15308 
 15309 29-12-98:	DLogicalChannel::Complete() now tests that the request is pending
 15310 			before completing it. It does nothing if the request is not pending.
 15311 			Added extra functions to read and write remote thread memory space
 15312 			without the need for descriptors:
 15313 
 15314 			TInt DThread::Read(const TAny*, TAny*, TInt)
 15315 			TInt DThread::Write(TAny*, const TAny*, TInt, DThread*)
 15316 			TInt DLogicalChannel::ReadClient(const TAny*, TAny*, TInt)
 15317 			TInt DLogicalChannel::WriteClient(TAny*, const TAny*, TInt)
 15318 			TInt TMessage::ReadClient(const TAny*, TAny*, TInt)
 15319 			TInt TMessage::WriteClient(TAny*, const TAny*, TInt)
 15320 
 15321 			Changed TDfc::Enque() to TDfc::DoEnque() - this function expects the
 15322 			kernel to be locked. Added TDfc::Enque() which locks and unlocks the
 15323 			kernel itself.
 15324 
 15325 01-12-98:	Bug fixes to sound driver. It now passes T_SOUND with the exception
 15326 			of tests which require User::FreeLogicalDevice (not yet implemented)
 15327 			and which test that PreparePlay() and PrepareRecord() actually
 15328 			allocate memory (which they now don't).
 15329 			Fixed kernel bug which was failing to set the heap for a thread
 15330 			created with a shared heap.
 15331 			Made all kernel threads SYSTEM and PROTECTED.
 15332 
 15333 --------------------------------------------------------------------------------
 15334 Revision 022e
 15335 
 15336 20-11-98:	Added power handling to VARMP2\VA_KEYB.CPP so that key-up events
 15337 			may be delivered for keys which were down when power-down occurred.
 15338 
 15339 21-11-98:	Implemented MachineConfiguration() and SetMachineConfiguration()
 15340 			functions. These currently assume that the super-page configuration
 15341 			is small enough to be copied with the kernel locked (i.e. <=2K on
 15342 			EIGER).
 15343 			Implemented ModifyLedMask() in PR_POWER.CPP.
 15344 			Wrote miscellaneous function extension (PR_MISC.CPP) to implement
 15345 			the SoundHal group of HAL functions and to implement User::Beep()
 15346 			and startup beeps.
 15347 			Wrote ADC driver extension. D_ADC.CPP implements a generic ADC
 15348 			controller with a queue of requests. PR_ADC.CPP implements hardware
 15349 			specifics for the Protea ADC. ADC requests are prioritised, so that
 15350 			e.g. digitiser readings can be guaranteed to occur before battery
 15351 			readings. ADC requests can also consist of multiple ADC readings,
 15352 			wait periods and a general preamble or postamble - e.g. to apply a
 15353 			load to the backup battery or to drive the X or Y digitiser plates.
 15354 			Fixed problem with K::SecondsFrom2000() so that it now works for
 15355 			times before and after K::Year2000.
 15356 			Removed functions SvSendReceive, SvSendReceiveCheck from UC_EXEC.CPP
 15357 
 15358 23-11-98:	Implemented monitoring of reference voltage and main battery in file
 15359 			PR_BATT.CPP, using the ADC driver. Added and interface class
 15360 			DBatteryMonitor by which the power manager code in PR_POWER.CPP
 15361 			communicates with the battery monitoring code. Battery monitoring
 15362 			is done as part of the power manager, in the extension POWER.DLL.
 15363 
 15364 24-11-98:	TMessage::Complete() now checks that the client thread has not died
 15365 			before attempting to signal its request semaphore.
 15366 			Added monitoring of the backup battery to PR_BATT.CPP, using a
 15367 			somewhat simplified scheme compared to the old E32 code. The generic
 15368 			periodically monitored channel abstraction TTimedAdcChannel is used
 15369 			instead of a completely specialised class.
 15370 
 15371 25-11-98:	Implemented digitiser driver in 3 parts. D_XYIN.CPP contains generic
 15372 			code for processing raw samples from the hardware - averaging,
 15373 			discarding initial and final samples, filtering pen moves. It also
 15374 			implements a state machine for pen-down/pen-move/pen-up. File
 15375 			PR_XYIN.CPP implements calibration as used on the Series 5, which is
 15376 			dependent on PR_MCONF.H. File VA_XYIN.CPP implements pen-up/pen-down
 15377 			detection and raw sampling on the particular hardware, using the ADC
 15378 			driver to do the sampling.
 15379 			Note that pointer switch-on events and reading of calibration and
 15380 			configuration parameters from EEPROM have not yet been implemented.
 15381 
 15382 
 15383 --------------------------------------------------------------------------------
 15384 Revision 022d
 15385 
 15386 20-11-98:	Implemented DPlatChunkHw to allow device drivers and extensions to
 15387 			dynamically map hardware addresses into the memory map. For ARM a
 15388 			simple queue of hardware chunks in decreasing order of linear
 15389 			address is used to allocate linear addresses. This is OK for ARM,
 15390 			since all HW chunks will have the same PDE. For other processors
 15391 			a more complicated scheme may be needed - this can be implemented
 15392 			by overriding some virtual functions.
 15393 			Modified VA_ETNA.CPP and VA_LCD.CPP to map ETNA and the video RAM
 15394 			using DPlatChunkHw.
 15395 			Fixed error in VARMP2\VA_KEYB - the wrong variant header was being
 15396 			included (v32armpd.h instead of v32armp2.h).
 15397 			Changed executive calls ScreenInfo(), WsSwitchOnScreen(),
 15398 			WsRegisterSwitchOnScreenHandling() and Beep() to be HalFunction
 15399 			calls instead, which are handled by the appropriate extension rather
 15400 			than by the kernel.
 15401 			Extension VA_LCD.CPP has been modified to deal with the first three
 15402 			of these functions, along with the rest of the DisplayHal group of
 15403 			HAL functions.
 15404 
 15405 --------------------------------------------------------------------------------
 15406 Revision 022c
 15407 
 15408 7-11-98:	TMessage::SendReceive now Open()s the client thread before sending
 15409 			the message to ensure that it cannot be deleted while the message
 15410 			is being processed. TMessage::Complete() closes the client thread.
 15411 			TMessage::Cancel() closes it if the message is being held on a
 15412 			queue.
 15413 
 15414 11-11-98:	Added power model to the kernel. File KS_POWER contains generic
 15415 			code with hardware-specific derivations in VA_POWER. Only power
 15416 			handler so far is for the LCD - device drivers not yet modified to
 15417 			work with the new power model. UserHal::SwitchOff() now implemented
 15418 			and test T_TIMER now passes.
 15419 			Fixed bug in timer code which meant that the hardware RTC was not
 15420 			being initialised with the system time on a cold start.
 15421 			Implemented TTickQ::WakeUp() to reconcile the state of the second
 15422 			queue after the system has been powered down.
 15423 			Moved DebugInit() function entirely into the variant layer. The
 15424 			flag indicating that the debug port is initialised has also been
 15425 			moved. This is so that it can be reset when we power down.
 15426 			Use a consistent size for the predefined stacks (null, irq, fiq,
 15427 			exception); this size is defined in arm_kern.h.
 15428 			Implemented a new type of DFC - the immediate DFC. These run as
 15429 			soon as the kernel is unlocked - at the point where an ordinary DFC
 15430 			would be transferred from the pending queue to its final queue. The
 15431 			immediate DFC is used to implement emergency power down, to ensure
 15432 			that devices are notified of the power-down before any threads can
 15433 			run.
 15434 			Increased the size of the null thread stack from 1K to 4K to allow
 15435 			for the new immediate DFCs.
 15436 			Changed HalEntryArray from an RArray<SHalEntry> to a SHalEntry<32>.
 15437 			The RArray<> was not reentrant safe.
 15438 			Added new Variant:: functions to turn display on and off, to turn
 15439 			the backlight on and off and to turn all power supplies off.
 15440 			Moved the generation of the switch on event from KP_INI.CPP into
 15441 			the power model in VA_POWER.CPP.
 15442 
 15443 12-11-98:	Fixed some problems relating to emergency power down. This now
 15444 			seems to work, although no device drivers are currently involved.
 15445 			Modified Plat::DisableIrqsToLevel1() to also lock the kernel if it
 15446 			is not already locked - this is necessary since otherwise a level 2
 15447 			interrupt could cause a reschedule and the new thread could then
 15448 			enable interrupts. The return value now has bit 31 set if the
 15449 			kernel was locked. Plat::RestoreIrqs() checks this bit and unlocks
 15450 			the kernel if it is set.
 15451 			Modified the kernel server to Close() a thread which has exited or
 15452 			which has been paniced by the kernel server. This is to balance the
 15453 			Open() in the TMessage::SendReceive() call which initiated the
 15454 			kernel server operation.
 15455 
 15456 14-11-98:	Modified keyboard driver to be an extension instead of an LDD. This
 15457 			removes the need for the window server to load it.
 15458 			Split out LCD power handling into a separate extension (VA_LCD.CPP)
 15459 			from the power handling extension (PR_POWER.CPP + VA_POWER.CPP).
 15460 			Restructured DLogicalChannel into two classes DLogicalChannel and
 15461 			DPoweredLogicalChannel. The former contains no power handling
 15462 			functions and may be implemented either with either direct executive
 15463 			functions or with a DfcQue. The latter has power handling via a
 15464 			DLogicalChannelPowerHandler, derived from DPowerHandler, and always
 15465 			uses a DfcQue. Client messages received while the channel is powered
 15466 			down or powering down will be deferred until the channel powers up
 15467 			again.
 15468 			Modified comms device driver to use DPoweredLogicalChannel and to
 15469 			act correctly on power-up and power-down. Reinstated the ETNA UART
 15470 			driver (VA_COM2) for rack D.
 15471 
 15472 15-11-98:	Fixed debug build crash due to missing __NAKED__ declaration on
 15473 			TMilliSecondCallBack::Cancel().
 15474 
 15475 16-11-98:	Implemented power-related and LCD/backlight related UserHal::
 15476 			functions in PR_POWER.CPP and VA_LCD.CPP respectively.
 15477 
 15478 17-11-98:	Got test programs T_POWR and T_SERIAL working. This required fixing
 15479 			a timer bug relating to inconsistent rounding of TTime to the
 15480 			nearest second when dealing with absolute timers. This is fixed by
 15481 			adding a function K::SecondsFrom2000 which converts a TTime into
 15482 			seconds from K::Year2000, always rounding down (rather than towards
 15483 			zero).
 15484 			T_SERIAL required a short pause (100ms) to be added just after
 15485 			waking up when checking that RTS/DTR are preserved over power down.
 15486 			This is due to the fact that when performing an operation on a
 15487 			channel, it is guaranteed that your channel has powered up before
 15488 			the operation is performed but it is not guaranteed that other
 15489 			channels have powered up.
 15490 
 15491 18-11-98:	Fixed bug in KS_DEV which caused a crash if a logical channel create
 15492 			failed part-way through.
 15493 			Ran EIKON ROM - ER4 ROM 213 + E32RT + lexicon 040. Lexicon 041 in
 15494 			the ROM appears not to work.
 15495 
 15496 --------------------------------------------------------------------------------
 15497 Revision 022b
 15498 
 15499 18-10-98:	EXE code chunks are now fixed. Added extra parameter to functions
 15500 			DThread::Write() to indicate thread which initiated the action -
 15501 			this is either the current thread or the client thread for device
 15502 			driver writes. This is to allow F32 to write to code chunks owned
 15503 			by a process being loaded and to DLL code chunks, where the client
 15504 			of F32 is the loader and the chunk being written to is not part of
 15505 			F32's address space. Modified DThread::CurrentAddress(TAny*, TInt)
 15506 			so that no exemption is made for F32.
 15507 			The main thread of a newly-created process has the KThreadFlagMain
 15508 			bit set immediately on creation of the thread instead of when
 15509 			UserSvr::ProcessLoaded() is called. This is to ensure that if the
 15510 			load fails, Exec::ProcessKill can delete the process successfully.
 15511 			Added missing __NAKED__ declaration to TEiger::SetPalette().
 15512 
 15513 23-10-98:	Fixed two timer bugs - 2^32-1 microseconds was being incorrectly
 15514 			handled due to signed arithmetic overflow, and added a check to
 15515 			reject an attempt to start an absolute timer for a time <=now.
 15516 			Implemented ProcessOwner() and ProcessSetOwner().
 15517 
 15518 24-10-98:	KBARMS5 bootstrap will now handle up to 4Mb of 'ROM' code.
 15519 
 15520 26-10-98:	Added stubs for unimplemented EXEC functions - DllGlobal*,
 15521 			DllDataInfo, PasswordIsValid, GetLocaleCharSet. Also stubbed the
 15522 			remaining EUSER functions which call SvSendReceive to return
 15523 			KErrNotSupported. This enables the E32 tests to run and fail rather
 15524 			than crashing the machine.
 15525 			Brought EUSER and EWSRV/ECONS up to E32 156 level. Changed _LITERAL
 15526 			declarations to _LIT in line with E32 156.
 15527 
 15528 27-10-98:	Moved over to latest E32TOOLP (096). Added unicode UIDs to all MMP
 15529 			files.
 15530 
 15531 --------------------------------------------------------------------------------
 15532 Revision 022a
 15533 
 15534 14-10-98:	Modified DThread::CurrentAddress to work with disconnected chunks.
 15535 			The maximum size to test for must now be supplied. Made
 15536 			DPlatProcess::LookupChunk pure virtual in DProcess so that KS code
 15537 			can use it. Modified DThread::Write to work with disconnected
 15538 			chunks.
 15539 
 15540 --------------------------------------------------------------------------------
 15541 Revision 022
 15542 
 15543 15-09-98:	Implemented 'Double-Ended' and 'Disconnected' chunks:
 15544 			Added function DPlatChunk::ExpandHomeRegion() which reallocates the
 15545 			home region to accommodate a new committed block. The home region
 15546 			size allocated is the minimum which will accommodate the new block.
 15547 			The home region does not need to include the whole of the reserved
 15548 			region - a new variable iHomeRegionOffset has been added. This is
 15549 			the chunk offset represented by the start of the home region.
 15550 			Renamed functions DPlatChunk::Commit() and DPlatChunk::Decommit()
 15551 			to DoCommit() and DoDecommit() respectively. These allow committing
 15552 			and decommitting of any part of a chunk.
 15553 			Implemented DPlatChunk::AdjustDoubleEnded(). This differs from the
 15554 			old E32 implementation in that it no longer guarantees to preserve
 15555 			the chunk state under OOM conditions. Only the intersection of the
 15556 			initial and final regions is guaranteed to be preserved.
 15557 			Added functions RChunk::CreateDisconnectedx where x=Local/Global.
 15558 			These create disconnected chunks, which allow any pattern of pages
 15559 			to be committed rather than just a single interval.
 15560 			Added functions RChunk::Commit(), RChunk::Allocate() and
 15561 			RChunk::Decommit() for use with disconnected chunks. These commit
 15562 			a specified interval, commit a specific size of block at an offset
 15563 			determined by the OS and decommit a specified interval respectively.
 15564 			Changes to DPlatThread::CurrentAddress() required to cope with
 15565 			disconnected chunks have not yet been implemented.
 15566 
 15567 --------------------------------------------------------------------------------
 15568 Revision 021l
 15569 
 15570 11-09-98:	Fixed bug in DPlatChunk::Decommit - the address was being passed
 15571 			to RemovePde instead of the offset, resulting in the PDE not
 15572 			being deallocated and the chunk's PDE info being incorrect.
 15573 
 15574 --------------------------------------------------------------------------------
 15575 Revision 021k
 15576 
 15577 10-09-98:	Fixed problem in comms driver - when the transmitter was flow
 15578 			controlled, continuous TX interrupts occurred. The TX interrupt
 15579 			is now disabled when the transmitter is flow controlled.
 15580 
 15581 --------------------------------------------------------------------------------
 15582 Revision 021j
 15583 
 15584 09-09-98:	Modified comms driver to avoid repeated calls to LDD functions. PDD
 15585 			now reads from TX buffer directly and makes a single LDD call after
 15586 			filling the TX FIFO. RX characters are stored in a buffer before
 15587 			being passed to the LDD in one block. This reduces time spent in
 15588 			interrupt (int latency with comms loopback down to 226us).
 15589 
 15590 --------------------------------------------------------------------------------
 15591 Revision 021i
 15592 
 15593 03-09-98:	Implemented the ROM-shadowing MMU functions and ported test program
 15594 			T_SHADOW.CPP and accompanying LDD D_SHADOW.LDD.
 15595 
 15596 09-09-98:	Machine coded most TEiger functions.
 15597 
 15598 --------------------------------------------------------------------------------
 15599 Revision 021h
 15600 
 15601 02-09-98:	Added iPdeBitMap to DPlatChunk. For chunks with a max size of <=32
 15602 			PDEs, this is simply a bit-mask showing which PDEs are present.
 15603 			For chunks with more than 32 PDEs, it is a pointer to a bit map of
 15604 			the appropriate number of words. Added functions MoveHomePdes(),
 15605 			MoveCurrentPdes(), AddPde() and RemovePde() to set up this bitmap
 15606 			and use it to determine the chunk's current PDE range.
 15607 			Fixed a bug in TBitMapAllocator::NotFree() which caused incorrect
 15608 			answers to be given in the case where a word boundary was not
 15609 			crossed (the easy case!).
 15610 
 15611 --------------------------------------------------------------------------------
 15612 Revision 021g
 15613 
 15614 01-09-98:	Reverted the SetPdeInfo() function to its old non-searching form.
 15615 			Unfortunately this introduced a bug - while decommitting RAM, even
 15616 			a standard E32 chunk may temporarily become 'gappy'; SetPdeInfo()
 15617 			would not cope with this correctly.
 15618 
 15619 --------------------------------------------------------------------------------
 15620 Revision 021f
 15621 
 15622 01-09-98:	Machine coded those Mmu and ImpMmu functions which run with the
 15623 			kernel locked (PageTableId(), MapRamPages(), MapPhysicalPages(),
 15624 			UnmapPages(), AssignPageTable(), UnassignPageTable()).
 15625 
 15626 --------------------------------------------------------------------------------
 15627 Revision 021e
 15628 
 15629 30-08-98:	Rewrite of MMU code to reduce kernel-locked time. The functions of
 15630 			allocation/deallocation and mapping/unmapping of pages have been
 15631 			separated. The allocation and deallocation, which was the more time
 15632 			consuming part, now runs with the kernel unlocked and the global
 15633 			allocators protected by RamAllocatorMutex. The actual mapping and
 15634 			unmapping of pages is still done with the kernel locked to prevent
 15635 			collision with the scheduler.
 15636 			Added new TBitMapAllocator class which is machine coded for speed.
 15637 			It also remembers the last position it allocated to avoid repeated
 15638 			searching over any completely full initial segment of the bitmap.
 15639 			Extra functions have also been provided. AllocList() allocates a
 15640 			list of positions more efficiently than repeated calls to Alloc().
 15641 			AllocConsecutive() allocates consecutive positions. Both first fit
 15642 			and best fit methods are supported. This is intended for use in an
 15643 			AllocDmaPages() function (not yet written).
 15644 			Modified the organisation of the RAM allocator. A separate bitmap
 15645 			allocator (TBitMapAllocator) is now used for each physical RAM
 15646 			segment. This is to make it possible to write an AllocDmaPages()
 15647 			function which would allocate pages with consecutive physical
 15648 			addresses.
 15649 			The system for finding which physical segment a page of RAM is in
 15650 			has been modified. The system now computes a shift, and EOR mask
 15651 			and an AND mask at boot time. The physical address is shifted right
 15652 			then EORed with the EOR mask and ANDed with the AND mask. If the
 15653 			result is zero, the EOR result is used as an index into a bank
 15654 			lookup table which gives the bank number. This method should be
 15655 			quicker than a search of the bank data array.
 15656 			Split MMU code into two files KP_MMU.CPP and KE_MMU.CPP. The former
 15657 			is intended to be processor independent. It contains the code for
 15658 			allocation and deallocation of physical pages and for common
 15659 			initialisation. The file KE_MMU.CPP contains code for actually
 15660 			mapping and unmapping pages and for allocation and deallocation of
 15661 			page tables for a given MMU.
 15662 			Changed the split of the Mmu class. This class is now the base for
 15663 			ImpMmu, which is now defined in ARM_KERN.H instead of M32KERN.H.
 15664 			Class Mmu has several pure virtual functions which are implemented
 15665 			by ImpMmu. Mmu is now by necessity a non-static class, and global
 15666 			PP::TheMmu has been added to store a pointer to the MMU data.
 15667 			The DPlatChunk code has been amended to be more MMU-aware. This is
 15668 			necessary since the DPlatChunk code has to ensure that the chunk
 15669 			state is always consistent when the kernel is unlocked.
 15670 			Modified DArmPlatChunk::SetPdeInfo() to check the page directory
 15671 			to find the first and last PDEs in a chunk. This was done to make
 15672 			'gappy' chunks possible - there may be gaps in the set of present
 15673 			PDEs. However the current SetPdeInfo is not really good enough,
 15674 			since its execution time is proportional to the chunk's MaxSize -
 15675 			it has to search every PDE in the chunks reserved range. The RAM
 15676 			drive chunk has a max size of 496Mb, so this will probably take too
 15677 			long and adversely affect thread latency. I will probably employ
 15678 			another bitmap allocator to keep track of which PDEs are present,
 15679 			and search that instead, which should be quicker.
 15680 
 15681 --------------------------------------------------------------------------------
 15682 Revision 021c
 15683 
 15684 23-08-98:	Export function K::RecordInterruptLatency() so that other latencies
 15685 			may be measured, eg from interrupt to millisecond callback.
 15686 			Changed DFC handling system. Now adding a DFC puts it on to a
 15687 			'pending' queue rather than on its final queue and does not signal
 15688 			any semaphores. This is to reduce interrupt disable time. The
 15689 			scheduler picks up these 'pending' DFCs and places them on their
 15690 			final queues, signalling the DFC thread if necessary. This code
 15691 			all runs with the kernel locked and interrupts enabled. This
 15692 			change means that interrupts may no longer access the ready list,
 15693 			they may only add a DFC. All ready list modification is now done
 15694 			with the kernel locked, rather than with interrupts disabled.
 15695 			In addition, final DFC queues are manipulated with the kernel
 15696 			locked.
 15697 			A new function TDfc::Enque() has been added which puts a DFC onto
 15698 			its final queue and signals the thread, as opposed to TDfc::Add()
 15699 			which places the DFC on the pending DFC queue.
 15700 			TDfc::iSpare1 is now used to indicate which queue a DFC is on. If
 15701 			this value is 0 the DFC is either not queued or is on the pending
 15702 			queue. If the value is nonzero, the DFC is on its final queue.
 15703 			A new flag TScheduler::iDfcPendingFlag has been added. This is set
 15704 			when a DFC is added to the pending queue and cleared after the
 15705 			last pending DFC has been moved to its final queue.
 15706 			Removed special-case code to handle threads in state
 15707 			EWaitRequestSemaphore, which was required because threads in this
 15708 			state could be made ready by an ISR.
 15709 			Implemented special-case code for ExecHandler::WaitForAnyRequest()
 15710 			which enables this to run as a FAST executive call instead of a
 15711 			SLOW executive call. This makes a noticeable difference to the
 15712 			speed on the standard benchmark tests - I guess this is probably
 15713 			the most popular system call.
 15714 			Moved some global variables (TheCurrentThread etc.) into TScheduler
 15715 			member data for easier access, reducing the number of literal reads
 15716 			required.
 15717 			C++ Scheduler (KP_SCHED.CPP) is now out of date.
 15718 
 15719 --------------------------------------------------------------------------------
 15720 Revision 021a
 15721 
 15722 22-08-98:	Rewrote SWI handler to reduce interrupt disable time. Handle lookup
 15723 			now runs with the kernel locked and interrupts enabled. This means
 15724 			that handle lookup is only available with slow executive calls.
 15725 			Changed some executive calls which use handle lookup from FAST to
 15726 			SLOW. Changed executive calls which return a descriptor (e.g.
 15727 			MonthName) from FAST to SLOW to reduce interrupts-off time.
 15728 			Created a new header file U32ARM.H to hold processor-dependent
 15729 			interface data between EKERN and EUSER, such as bit masks
 15730 			required for SWI calls.
 15731 
 15732 --------------------------------------------------------------------------------
 15733 Revision 021
 15734 
 15735 20-08-98:	Changed ExecHandler::WaitForAnyRequest() to run with interrupts off
 15736 			rather than with the kernel locked. Changed TDfcQue::ThreadFunction
 15737 			to call this directly rather than via User::WaitForAnyRequest().
 15738 			Best benchmark results ever - T_SVR 7530 T_PROC1 1608 T_CTXSW 40300.
 15739 			10 seconds to spell check Welcome on EIKON ROM 209.
 15740 			Fixed bug in KS_TIMER.CPP in TSecondQ::SystemTimeChanged() - this
 15741 			should acquire the timer mutex while iterating through the timer
 15742 			list.
 15743 
 15744 21-08-98:	Made the machine reset if the window server (event thread) dies.
 15745 			Added debugger facility to dump out a thread's context if it causes
 15746 			an exception. Device driver D_DEBUG.LDD binds to the kernel debug
 15747 			interface, test program T_DEBUG.EXE displays the information.
 15748 
 15749 22-08-98:	In __MEASURE_LATENCY__ build, flush the TLB and cache at the start
 15750 			of the IRQ and SWI handlers, to obtain more realistic worst-case
 15751 			latency figures.
 15752 			Added VARMP2 variant for Protea, and bootstrap in KBARMS5. This
 15753 			allows a ROM image to be produced which can be downloaded onto a
 15754 			Series 5 using D_RTLDR.LDD/RTLDR.EXE and run. The code resides
 15755 			in the 0xd0000000 RAM and E32RT runs with 4Mb of available RAM
 15756 			in the 0xc0000000 area.
 15757 			P2 keyboard driver is a bit dodgy at the moment.
 15758 
 15759 			Decided that interrupt and thread latency needed improving.
 15760 
 15761 --------------------------------------------------------------------------------
 15762 Revision 020
 15763 
 15764 19-08-98:	Completely changed the scheduling system. Three main changes:
 15765 			1.	Registers making up a thread's context are stored on the
 15766 				mode_svc stack for that thread instead of in the thread
 15767 				control block. Context switching takes place in the scheduler
 15768 				where the registers for the initial thread are pushed on the
 15769 				stack, then sp_svc is saved in the thread control block. At
 15770 				the end of the reschedule, sp_svc is restored from the new
 15771 				thread's control block and the registers are popped, resulting
 15772 				in a context switch to the new thread. This reduces interrupt
 15773 				latency, since less stack accesses now occur with interrupts
 15774 				disabled. It also simplifies the handling of SWIs, interrupts
 15775 				and exceptions in ke_int.cpp.
 15776 			2.	The current thread now remains on the ready list. This means
 15777 				that the ECurrent state for threads is no longer needed, and
 15778 				the current thread simply remains in the EReady state. This
 15779 				reduces the time taken for preemption to occur, since once the
 15780 				new thread is added to the ready list, it is only necessary
 15781 				for the scheduler to find it; no adding or removing of entries
 15782 				is required. It also enables most of the ready list processing
 15783 				to occur with interrupts enabled, reducing interrupt latency.
 15784 				This also allows the timeslicing to be tightened up. Each thread
 15785 				now has an iTimeslice which specifies how many milliseconds it
 15786 				may run for before yielding to a thread of the same priority.
 15787 				The millisecond timer decrements the current thread's iTime
 15788 				count and when it reaches zero, a reschedule occurs. Setting
 15789 				iTimeslice to -1 will result in a FIFO scheduling policy for
 15790 				that thread.
 15791 			3.	A reschedule to a moving chunk or variable access process can
 15792 				now be aborted after each process is moved. This means that
 15793 				preemption may occur after the time taken to move a single
 15794 				process' chunks, whereas previously it would have to wait for
 15795 				a maximum of 2 process moves + 1 process protect.
 15796 
 15797 			Bug fixes:
 15798 				K::SvMsgQ.iThread is set just after the initial thread is
 15799 				created, instead of after the kernel server priority is set.
 15800 				This eliminates any chance of a kernel server message being sent
 15801 				before K::SvMsgQ.iThread is set up.
 15802 
 15803 --------------------------------------------------------------------------------
 15804 Revision 019
 15805 
 15806 17-08-98:	Modified VARMPD\VA_HW.CPP to set the correct wait states on the ROM
 15807 			(2 wait states) instead of leaving the maximum 4 wait states set by
 15808 			the bootstrap. This gives a considerable speed increase, with
 15809 			T_SVR up from 6500 to 7088 and T_PROC1 up from 1140 to 1505.
 15810 			Running from RAM T_SVR gives 7278 and T_PROC1 1978!
 15811 			Fixed scheduler bug which could leave user processes unprotected.
 15812 			Scheduling from a variable access process to the kernel process
 15813 			and then to a fixed access user process would leave the first
 15814 			process unprotected. Now only skips the MMU stuff if both the
 15815 			new current process and TheCurrentVMProcess are fixed access.
 15816 
 15817 --------------------------------------------------------------------------------
 15818 Revision 018
 15819 
 15820 10-08-98:	Renamed DPlatProcess::iMutex to iProcessLock for easier searching.
 15821 			RDebug::Print now leaves the kernel locked while printing.
 15822 			DPlatProcess::SvKill no longer acquires the process lock before
 15823 			calling Release(). DPlatProcess::Release() acquires the lock after
 15824 			deleting the handles array.
 15825 			DPlatThread::Die now only acquires the process lock while unlinking
 15826 			the thread from the process thread list.
 15827 			DPlatThread::Die releases held mutexes before waiting on process
 15828 			lock.
 15829 
 15830 12-08-98:	Modified comms driver to implement a timeout on ReadOneOrMore to
 15831 			prevent the client just being completed immediately and using vast
 15832 			amounts of CPU time.
 15833 			Fixed bug in KE_MSTIM.CPP where a function had been interposed
 15834 			after a 'fall through' function.
 15835 			Added DLogicalChannel::GetClientDesLength, GetClientDesMaxLength
 15836 			and GetClientDesInfo functions.
 15837 			Modified comms driver to use these functions rather than accessing
 15838 			client descriptors directly.
 15839 
 15840 13-08-98:	Added code to measure interrupt and kernel thread latency, enabled
 15841 			by the __MEASURE_LATENCY__ switch. Test program T_LATNCY is used
 15842 			to dump out the measurements to COM1.
 15843 			Latency measurements not up to spec - large variations due to cache
 15844 			misses. Thread latency peaked at 1.3ms running Comms loopback and
 15845 			3 copies of T_WRITE. Interrupt latency 326us.
 15846 			Modified bootstrap to copy code into RAM and run from RAM. This
 15847 			produced a noticeable speed and latency improvement, especially
 15848 			under frequent cache flushing (eg T_PROC1 nearly doubled from 995
 15849 			to 1870, with latency measurements active). Max thread latency
 15850 			with Comms loopback + 3 copies of T_WRITE down to 826us.
 15851 			Reduced block size for remote thread read/write from 4K to 2K and
 15852 			reduced RAM allocation block size from 8 pages to 4 pages to
 15853 			improve latency. With both improvements, Comms loopback + 3TWrite
 15854 			gives 207us int + 656us thread latency. Comms loopback + 2TFrag
 15855 			gives 220us + 628us. 3TFrag with no comms gives 44us + 332us.
 15856 
 15857 --------------------------------------------------------------------------------
 15858 Revision 017
 15859 
 15860 06-08-98:	Modified DObject destructor to atomically replace iName with NULL
 15861 			before freeing the name buffer.
 15862 			Modified DObjectCon name searching functions (CheckUniqueFullName,
 15863 			FindByName, FindByFullName, OpenByFullName) to ignore objects with
 15864 			a zero access count.
 15865 			Fixed bug in Plat::ThreadEnterCS(handle,container) which attempted
 15866 			to panic the current thread without releasing the critical section.
 15867 			Changed some delete-and-clear-pointer operations to use the atomic
 15868 			swap routine Plat::SafeSwap.
 15869 			Added a check to fault the kernel if a thread panics while the
 15870 			kernel is locked.
 15871 
 15872 07-08-98:	Code chunks for RAM-loaded processes are now called $EXE[proc id]
 15873 			to ensure unique names for each process code chunk.
 15874 
 15875 
 15876 
 15877