Version 2.00.2044
=================
(Made by Vino Jose 13/10/2009)

1.	RichardCo
	1.		DEFECT FIX: DEF142463: Kern::Random requires system lock; makes migration to new APIs difficult 
		This enables a convenient migration path for the upcoming break request CR #83. Users of the API
		Kern::Random can now modify their code to call Kern::Random without holding the system lock, so
		that they will not be impacted by the future submission of the aforementioned break.

2.	LaneRoberts
	1       DEFECT FIX: DEF142361 VFP code breaks some test code kernel heap checks     
	2.	DEFECT FIX: DEF142470: T_MATH fails Math::Log() calculation

3.	RichardCo
	1.	DEFECT FIX: DEF142497: SMP known test failure: t_schedhook

4.	VincentF
	1.	DEFECT FIX: DEF142405: T_REALX fails conversion from 64-bit number on X86 (T_realx.cpp:308)
	2.	MINOR CHANGE: Convert SFL copyright notices to EPL

5.	XavierLeclercq
	1.	DEFECT FIX: PDEF142276: ExecHandler::ProcessSetPriority() does not behave as expected.

6.	VincentF
	1.	DEFECT FIX: DEF142498: T_MATCH failures on WINSCW

7.	GavinCochrane
	1.	DEFECT FIX: DEF140911: T_PAGEMOVE fails on H2 and NaviEngine in TestUserData

Version 2.00.2043
=================
(Made by Vino Jose 07/10/2009)

1.	DaveGordon
	1.	DEFECT FIX: DEF142206: RMessageK::GetNextFreeMessage() race can cause NULL return

2.	VincentF
	1.	MINOR_CHANGE: In rom.pl, add the directory containing the HRH file to the include path

3.	colinward
	1.	MINOR_CHANGE: Removed duplicate export from /os/kernelhwsrv/kerneltest/e32test/group/bld.inf
		to avoid Raptor warnings

4.	ChrisNotton
	1.	MINOR_CHANGE: Fixed test compile issue in SDIO code.

5.	VincentF
	1.	DEFECT FIX: DEF142391: GCC-E: Simple syntax errors

6.	JessieZh
	1.	DEFECT FIX: DEF141424: memory leaks exist in t_iic.cpp

7.	RichardCo
	1.	DEFECT FIX: PDEF142402: VFPv2 bounce handling is broken if context switching occurs 
	.

8	GayathriR
	1.	DEFECT FIX: DEF142213: PRM: Not able to access extended version of PRM from user side.

9.         VitalyR
	
	1.	MINOR_CHANGE Enable Unicore build for HREF8500.


Version 2.00.2042
=================
(Made by Vino Jose 06/10/2009)

1.	NeilClifford
	1.	DEFECT FIX: DEF142326 WDP: MMC Paging does not work when Direct address is switch off

Version 2.00.2041
=================
(Made by Chinenye Ajagu 05/10/2009)

1.	chinenyeajagu
	1.	DEFECT FIX: DEF142233: opensystemtrace.h uses WRONG macro name.

Version 2.00.2040
=================
(Made by Vino Jose 01/10/2009)

1.	AndrewHi
	1.	DEFECT FIX: DEF141657: MHA IIC: PSL caching of BusId for Extended Transactions is contrary to MHA aims 
		PIL code now provides the BusId to the PSL for Extended Transactions.

2.	VincentF
	1.	DEFECT FIX: DEF142258: Backslashes must be converted to forward ones

3.	LaneRoberts
	1.	MILESTONE: SymTB10.1, GT0472, MS3.2.4, DS.1718 PREQ2094: Product Quality SMP Kernel

4.	MichaelP
	1.	DEFECT FIX: DEF141047: Platform-Independent Coverity Defects

5.	KalyanR
	1.	DEFECT FIX: DEF141732: Iic implementation of DIicBusChannel returns incorrect bus & channel information
		corrected DIicBusChannel interface inline set functions.

6.	VincentF
	1.	DEFECT FIX: DEF142288: EMessageSend Typo in e32btrace.h

7.	VincentF
	1.	MINOR_CHANGE: Apply correct Nokia copyright notice to newly submitted files

8. 	AttilaV
	1.	DEFECT FIX: DEF142279: coreldrasm compile failed in MSF00201 TB101SF 

9.	ChrisNotton
	1.	DEFECT FIX: DEF142232: Header relocation regression in MMC 

Version 2.00.2039
=================
(Made by Vino Jose 29/09/2009)

1.	mariamsood
	1.DEF142287: BFC build errors on base_e32utils component build in MSF00207 tb92sf




Version 2.00.2038
=================
(Made by Vino Jose 25/09/2009)

1.	vinojose
	1.	DEFECT FIX: DEF142265 {(Auto)} [MCL Build] coreldrasm compile failed on armv5smp platform in MSF00207 vtb92sf 


Version 2.00.2037
=================
(Made by Vino Jose 24/09/2009)

1. 	AttilaV
	1.	DEFECT FIX: DPDEF141801: Absent file '\epoc32\release\armv5\fne1_tb_un2_coreldr.bin' detected 

2

2.	MariamSood
	1.	DEFECT FIX: DTW-KHS BTB00022: SD Support for H4 and H2 boards

3.	RobCliff
	1.	MINOR_CHANGE: Removal of warning when compiling for x86gcc and with dump tracing on for SDIO.

4.	VincentF
	1.	DEFECT FIX: DEF141833: T_SHBUF_OWN & T_SHBUF_CLIENT failing on PAGED configurations (t_shbuf.cpp:2351)

5.	DjordjeK
	1.	DEF142120: pl310 (in bridge) on non-SMP platform should not use spin locks
		Non-SMP Kernel build for H/W with PL310 external cache controller used to call spin locks (which are not defined
		in non-SMP build). These calls are now replaced by Disable/Restore interrupts.

Version 2.00.2036
=================
(Made by Vino Jose 23/09/2009)

1. 	Vino Jose
	1.	DEFECT FIX: DEF142198: [System Build] coreldrasm compile failed 


Version 2.00.2035
=================
(Made by Vino Jose 21/09/2009)

1. MarkTa
	1. DEFECT FIX: DEF140004: LoaderThread crash on H4 WDP when loading a LDD statically importing from a LDD
	Ensure that the loader doesn't try to access ldd and pdd export directories directly when running on the flexible memory model.
	2. MINOR_CHANGE: Further updates to stop t_pagemove failing on some urel test roms.

2.	IndraSin
	1. DEFECT FIX: DEF141919: "static const" for constant declaration in headers and duplication

3.	colinward
	1. DEFECT FIX: DEF141440: MHA IIC: Extendable Transactions for SPI and Slave-Select

4.	LaneRoberts
	1. DEFECT FIX: DEF141941: No public way of querying number of processors
	2. DEFECT FIX: DEF141976: PLATSEC_DIAGNOSTIC_STRING needs to be made public
	3. DEFECT FIX: DEF141942: T_MSTIM occasionally failing on SMP platforms

5.	Sivashankar
	1. DEFECT FIX: DEF140877: MHA IIC: MasterSlave's ReleaseChannel

6.	SushmitaRoy
	1. DEFECT FIX: PDEF141928: Description for WaitForNRequest(TRequestStatus *,TInt) is wrong.

7.	JessieZh
	1. DEFECT FIX: DEF141401: All master and slave variables and methods should be embedded with macros

8.	JohnSucksmith
	1.	DEFECT FIX:  DEF140063: NaviEngine NAND driver has very high CPU utilisation
		Use an interrupt fast semaphore mechanism instead of polling mechanism when waiting on a read operation.

9.	JonCo
	1.	DEFECT FIX: DEF141893: t_sharedio and t_shbuf_client cause kernel panic on X86 with FMM

10.	VincentF
	1.	DEFECT FIX: DEF139033: ICL test scripts fail with USER-EXEC:3 on H6 with modified GTC_Standard_H6.oby
	2.	DEFECT FIX: DEF141894: t_dmasim and t_newldd fail on X86 with FMM

11.	ChrisNotton
	1.	MINOR_CHANGE: Updated the unsupported MBC files to match the new buildtools layout.
	2.	DEFECT FIX: PDEF139018: PRM: DeRegisterClientLevelFromResource() does not work well with custom sense

12.	KunalMittal
	1.	MINOR_CHANGE: Added Bootstrap FLM to be used when building with SBSv2
	2.	MINOR_CHANGE: Update the bootloader bld.inf files to be compatible with bootstrap.flm

13.	DaveGordon
	1.	DEFECT FIX: DEF141532: Propagate fix for PDEF141058 to sfdev  
		Fix race condition with DSession disconnect messages
		(originally "__SendDiscMsg() EMsgCompleteDiscNotSent panic in emulator")

14.	JunWookKwak
	1.	MINOR_CHANGE: Set up a work-around to avoid GCC compilation error of x86 FMM.


15.	JonCo
	1.	DEFECT FIX: DEF142021: Performance regression between Flexible Memory Model and Multiple Memory Model 

16.	MarkTa
	1.	DEFECT FIX: DEF142044: Zombie processes don't release their ASID until all references are closed 

17.	SushmitaR
	1.	DEFECT FIX: DEF141895: T_RAMDEFRAG fails on 34XX_SDP
18.	AndrewHi
	1.	DEFECT FIX: DEF142067: IIC header differences between wk34 and wk36


Version 2.00.2034
=================             
(Made by Marcin Maksymiuk 18/09/2009)

1.	marcinmaksymiuk
	1.	MILESTONE: SymTB9.2, GT0518, MS3.2, DS.1817 PREQ2390: Unified Trace Framework alignment with OST - User Side
	



Version 2.00.2033
=================             
(Made by Vino Jose 16/09/2009)

1.	MarkTa
	1. MINOR_CHANGE: Stop t_pagemove failing on some urel test roms.

2.	RobCliff
	1.	MILESTONE: SymTB10.1, GT0472, MS3.13, DS.1708 PREQ1494: SDIO v2.0 : v2.0 APIs
	2.	MILESTONE: SymTB10.1, GT0472, MS3.14, DS.1709 PREQ1494: SDIO v2.0 : Delivery of SDIO Simplified to the Symbian Foundation

Version 2.00.2032
=================                         
(Made by Hai Xu 09/09/2009)

1.	haixu
	1.	MINOR_CHANGE: Add PREQ1924, new locale model support to base
	


Version 2.00.2031
=================             
(Made by Vino Jose 04/09/2009)

1.	colinward
	1.	MINOR_CHANGE: Added copyright notice to /os/kernelhwsrv/kernel/eka/include/drivers/iic_transaction.h

2.	FernandoPorta
	1.	MILESTONE: SymTB10.1, GT0538, MS3.2, DS.1801 PREQ2240: KDebug API with filtered debug events and preprocessed data

3.	Stefan Karlsson
	1.	DEFECT FIX: PDEF141861: try/catch link error with GCCE build



Version 2.00.2030
=================             
(Made by Vino Jose 02/09/2009)

1.	ChrisNotton
	1.	MINOR_CHANGE: Added missing SMPSAFE keyword to MMPs previously tested as SMP safe.
	2.	MINOR_CHANGE: Test code compile fixes in preparation for when spilt headers are enabled.
	3.	DEFECT FIX:DEF141705: PowerMgmt: Allow access of DPowerController member variable to derived class

2	Haifeng Yang
	1.	DEFECT FIX: PDEF134531: Additional alignment requirement for Bulk and Interrupt transfer buffers

3.	StephenM 
	1.  	DEFECT FIX: DEF141722: wk32 SMR Bootstrap fails when SP iCodeBase address is 0x0 

4.	Stefan Karlsson
	1.	DEFECT FIX: DEF141654: Some problems in ne1_tb_restricted_coreldr.flm
	2.	DEFECT FIX: DEF141655: Some problems in omap3_restricted_coreldr.flm



Version 2.00.2029
=================             
(Made by Vino Jose 27/08/2009)

1.	OliverStuart
	1.	DEFECT FIX: DEF141241: d_shbuf is not data paging safe

2.	Yilu Zhu
	1.	DEFECT FIX: DEF141433: Rom image fails to boot on h6 board for GTC_Standrad_H6 ROM Configuration.

3.	FadhliMustaffa
	1.	MINOR_CHANGE: Fixed missing deletion from DEF141558 (external submission CL1677229)



Version 2.00.2028
=================             
(Made by Vino Jose 21/08/2009)

1.	RichardCo
	1.	DEFECT FIX: DEF141366: T_BTRACE fails on SMP URel platforms (exit code "2,2,RBTrace") 
	2.	DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
		This change may fix crashes or misbehaviour when using SMP compatibility mode.

2.	JessieZh
	1.	CR2039: Extend the K&HS Inter-IC bus API to support Controller-less deployment
	2.	DEFECT FIX: DEF141012: MHA IIC: Extended transaction pointer not re-initialised

3.	ChrisNotton
	1.	MINOR_CHANGE Ensured that private headers are not included if SYMBIAN_ENABLE_SPLIT_HEADERS defined.

4.	MarkTa
	1.	DEFECT FIX: DEF141547: T_DEFRAG_REF fails on NaviEngine SMP (t_defrag_ref.cpp:92)
		Ensure ldd waits for both the chunk to be destroyed and for the chunk clean up dfc to run.

5.	Mark Phillips
	1.	DEFECT FIX: DEF141558: Delete orphaned files

6.	IndrajeetSingh
	1. 	DEFECT FIX: DEF141524: Locale DLLs stops compiling because of changes to TFatUtilityFunctions

7.	DaveGordon
   	1.	DEFECT FIX: DEF141240: shbuf codeUpdateMappingsAndReservedHandles() doesn't handle thread death safely


8.	Saravanaumar
   	1.	DEFECT FIX:DEF141057: [SymTB9.2,SymTB10.1] {Fix Dev Branch} Cannot build f32test\loader using Raptor and custom configurations 
   

Version 2.00.2027
=================             
(Made by Vino Jose 18/08/2009)
1.	MarkTa
	1. MILESTONE: SymTB9.2, GT0419, MS3.12.5, DS.1696 REQ12525: Add RAM defragmentation functionality to the Flexible Memory Model



Version 2.00.2026
=================
(Made by Vino Jose 14/08/2009)

1.	LaneRoberts
	1.	DEFECT FIX: DEF141439: H6 Board Hangs after Test get completed successfully

	2.	DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
		This change may fix crashes or misbehaviour when using SMP compatibility mode.

Version 2.00.2025
=================
(Made by Prakash betageri  13/08/2009)
1.   
     MILESTONE: SymTB9.2,DS.1698 PREQ2621 relocating header files 
	



Version 2.00.2024
=================
(Made by VincentF   11/08/2009)

1.	InderpalSingh
	1.	DEFECT FIX: DEF141205: H4 base port misuses NFastSemaphores.

2.	OliverStuart
	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.

3.	LaneRoberts
	1.	DEFECT FIX: DEF141441: Emulator doesn't support Writeable Static Data
	2.	DEFECT FIX: DEF141462: Missing memory barriers in the SMP kernel
	3.	MINOR_CHANGE: Fixed problem with submission for DEF141462 above

4.	MiguelB
	1.	DEFECT FIX: PDEF141445: Incorrect data size calculation in SD with Double Buffer 

5.	HaifengYang
	1.	DEFECT FIX: PDEF134534: test cases problems under one debug model

6.	BhaskarReddy
	1.	DEFECT FIX: DEF141174: 	H6 digitiser bug


Version 2.00.2023
=================
(Made by Vino Jose   07/08/2009)


1.	patrickconway
	1.	DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms 

2.	Kaashif Khawaja
	1.	MILESTONE: SymTB10.1, GT0530, MS3.1, DS.1800 PREQ2638: Run-mode debug API extension for debug of all unspecified permitted executable

3.	ChrisNotton
	1.	DEFECT FIX: DEF141421: File Relocation Changes may break components using kern_ext.mmh

4.	OliverStuart
 	1.	DEV CR: JIME-7TWED6: Extend base.iby so it doesn't need changing for each platform


Version 2.00.2022
=================
(Made by Vino Jose   04/08/2009)

1.	RobCliff
	1.	MILESTONE: SymTB10.1, GT0515, MS3.11, DS.1706 PREQ1494: SDIO version 2.0
	2.	MILESTONE: SymTB10.1, GT0515, MS3.12, DS.1707 PREQ1494: SDIO version 2.0


2.	LukaszF
	1.	DEFECT FIX: DEF138639: NaviEngine CSI test driver (d_csi) build configuration issue.

3.	OliverStuart
	1.	DEFECT FIX: DEF141390: [System Build]: SBS Errors "source of export not found" in GT stage
   

Version 2.00.2021
=================
(Made by Vino Jose   03/08/2009)

1.	ArchanaH
	1.	DEFECT FIX: PDEF140868: BSP 23.23 broke h6 urel audio playback. 

2.	DaveGordon
	1.	DEFECT FIX: 	DEF141296 Current S60 build requires larger maximum size of kernel message chunk
	    Limit increased from 1Mb to 2Mb

3.	GayathriR
	1.	DEFECT FIX: PDEF138130: USB shared chunk BIL function cannot always determine next alternate setting


4.	ChrisNotton
	1.	MINOR_CHANGE: Changed OS_LAYER_SYSTEMINCLUDE to OS_LAYER_SYSTEMINCLUDE_SYMBIAN.

5.	InderpalSingh
	1. 	DEFECT FIX: DEF141206: H6 base port misuses NFastSemaphores.

6.	LukaszF
	1. 	MINOR_CHANGE: Updated t_crazyints / d_crazyints test code because DTW-KHS BTB00055 could not be fixed.
		(DTW-KHS BTB00055: btb not picking SMP related stuff properly for tests (bld.inf).)
	

7.	indrajeetsingh
	1. 	DEFECT FIX: DEF141121: IIC: Make QueueTransaction more robust to mis-use by clients

8.	OliverStuart
	1.	CR1970: Refactoring e32utils into two components: base_e32utils and base_32utils_restricted so that
		tools needed by users of the Symbian Foundation can be released while third-part IP is restricted
		for internal use only (requires supporting submission).

Version 2.00.2020
=================
(Made by Vino Jose   24/07/2009)

1.	JonCo
	1.	DEFECT FIX: DEF141119: 	TClientDataRequest does not call constructor for embedded object 

2.	VincentF
	1.	MILESTONE: SymTB10.1, GT0515, MS3.15, DS.1710 PREQ2131: Hardware Configuration Repository - SMR and Core Image

3.	sakhyaghosh
	1. 	DEFECT FIX: DEF137764: 	Debug Security Server return KErrInUser for GetEvent() request

4.	OliverStuart
	1.	DEFECT FIX: DEF141048: Kernel Coverity Defects
	2.	DEFECT FIX: DEF140374: STV_HIDDEN warnings generated when building the variant ekern/euser

5.	laneroberts
	1.	DEFECT FIX: DEF140801: Kernel doesn't recognise VFPv3/NEON instructions in Thumb2 mode

6.	BhaskarReddy
	1.	DEFECT FIX: DEF128530: T_USBAPI test failure on 3430.I for storing repeated events 

version 2.00.2019
=================
(Made by Vino Jose   21/07/2009)

1.	BhaskarReddy
	1.	DEFECT FIX: DEF136724: 	T_RMDEBUG2_OEM Fails on 3430 on Base ONB	

2.	RichardCo
	1.	DEFECT FIX: DEF140827: TRawEvent provides no clean API for storing repeated events 

3.	RichardCo
 	1.	DEFECT FIX: DEF137799: T_BTRACE fails on NE1_TB.ARMV5.UREL.SMPPAGE 
  
4.	TomCosgrove
	1.	DEFECT FIX: DEF141156: ETrue vs EFalse compiler warnings from locmedia.h
  		Just return "Flags() & EPhysAddr" rather than using foo ? ETrue : EFalse.
  



Version 2.00.2018
=================
(Made by Vino Jose   15/07/2009)

1.	patrickconway
	1.	MILESTONE: SymTB10.1 GT0472, MS3.4.7, DS.1807 PREQ2094: Product Quality SMP Kernel
		Requirements: PREQ2094: Product Quality SMP Kernel
		REQ12595: Documentation - SMP User-side Migration Guide


Version 2.00.2017
=================
(Made by Vino Jose   14/07/2009)

1.	OliverStuart
	1.	DEFECT FIX: DEF140766: [RShBuf] Repeated Map on aligned buffers ignores read/write attribute
		Improved error reporting so that it is impossible to double Map an RShBuf.

2.	SamiraA
	1.	DEFECT FIX: DEF139767: t_kernasmbm fails in debug mode
		Fixed unsafe user memory access by kernel code

3.	HaifengYang
	1.	DEFECT FIX: DEF139407: some supplemental tests aren't added to 't_usbdi_helper.iby' file
	2.	DEFECT FIX: DEF140886: husbconsapp.exe freeze in MSF00105

4.	stephenroberts
	1.	MILESTONE: SymTB10.1, GT0530, MS3.2, DS1648/DS1647, PREQ1705: Abstract Stop Mode Debug API & Abstract Stop Mode Debug API - Process List
	2.	MILESTONE: ToolsTB10.1, GT0530, MS3.7, DS1666, PREQ2596: SMP CPU Profiler Baseport API

5.	TomCosgrove
	1.	MINOR_CHANGE: Unbreak X86PC by defining __CPU_PAGE_TABLES_FULLY_CACHED in nk_cpu.h

6.	MariamSood
	1.	DEFECT FIX: DEF140005: Cannot access SD card when using some NaviEngine roms 
7.	SebOlney
	1.	MINOR_CHANGE: Prevent t_pipe from dead locking
		- Replaced concurrent blocking read/write tests with test to check only that the notification requests
		used are safe when issued concurrently.
		- Updated documentation for RPipe::WriteBlocking to note that if multiple threads are attempting to perform blocking writes,
		larger than the pipe size, on the same channel then their writes may be interleaved.
	2.	DEFECT FIX: PDEF139514: E32TEST:T_dma.exe fails for large transfer limits 

8	SushmitaR
	1.	DEFECT FIX: DEF140581: T_RAMDEFRAG H2 paged occasionally fails test 9 (t_ramdefrag.cpp:7996) 
		Ensure that the test is flexible to fixed pages being allocated in the place of movable pages

9.	ChrisN
	1.	DEFECT FIX: DEF139959: e32base.h does not compile for armv5 when __SYMBIAN_STDCPP_SUPPORT__ defined

10.	MariamSood
	1.	DEFECT FIX: DEF140899: T_USBCSC fails on H4HRP and FMM with KERN-EXEC 61 
11.	MarkP
	1.	MILESTONE: SymTB9.2, CR1632, MS3.44, CR1632: Remove the obsolete sound driver (RMdaDevSound).
		BR2828: "Remove the obsolete sound driver (RMdaDevSound)" 
		Delivery Step: 1797 
		Component Change request "213:Audio Drivers"

Version 2.00.2016
=================
(Made by Vino Jose   10/07/2009)

1.	ChrisN
	1.	MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support

Version 2.00.2015
=================
(Made by Vino Jose   08/07/2009)

1.	RichardCo
	1.	DEFECT FIX: DEF140636: Panic during T_FSYSBM on H4HRP
		Threads which use VFP but never make exec calls can end up crashing on exit in UDEB. Fixed.

2.	MarkP
	1.	DEFECT FIX: DEF139712: E32TEST T_SOUND2 fails on H4
	2.	DEFECT FIX: DEF139854: T_SOUND2 intermittently failing under WINSCW.UDEB
	3.	DEFECT FIX: DTW-MM00678: RSoundSc::RecordData() returns recorded length > allocated buffer size



Version 2.00.2014
=================
(Made by Vino Jose   02/07/2009)

1.	SteveElliott
	1.	DEFECT FIX: DEF138126:  Adds to the t_usb_win application spawning a process to run a devcon utility with
		rescan parameter which will instigate scanning for hardware changes. This command line utility will be run 
		every 5 minutes if the USB device is not connected.

2.	DjordjeK
	1.	MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_Cache memory in Symbian OS V1.0.ppt"

3.	NeilClifford
	1.	DEFECT FIX: DEF140499: PlatSec: Reference MMC stack PSLs allow user r/w access to DMA chunk
	2.	DEFECT FIX: DEF140378: T_ROFSMULTIPLE Failure
	3.	MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_How_to_Port_eMMC_Controller.doc"

4.	OliverStuart
	1.	DEFECT FIX: DEF140585: T_SESS panics on H2 with KERN-EXEC

Version 2.00.2013
=================
(Made by VincentF 26/06/2009)

1.	marcinmaksymiuk
	1.	MILESTONE: SymTB10.1, PQ2390, MS3.1, PREQ2390/CR2034/DS1716: Submit OSTv2 API to the MCL

2.	SophieY
	1.	DEFECT FIX: PDEF138135: SMP: euser.dll does not build on x86gcc due to undefined references to vtables 

3.	AndreiMironenko
	1.	DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform

4.	SushmitaR
	1.	MINOR_CHANGE: Ensure t_ramdefrag makes correct assumptions when trying to determine the zone the allocator would 
		choose for movable and discardable pages

5.	JohnS
	1.	DEFECT FIX: DEF139230: Nandloader cannot flash core images of more than ~83 MB on 256MB NAND device 
		Update nandloader in automated and mauual mode to to flexibly set boundary between locked
		and unlocked regions during device format when using 1.5 drivers.

Version 2.00.2012
=================
(Made by Vino Jose   25/06/2009)

1. 	JonCo
	1.  DEFECT FIX: DEF140538: T_DEMANDPAGING fails if Demand Paging not supported 

2.	ArchanaH
	1.	DEFECT FIX: DEF130160: No flexible memory model component for H6 
		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.
		Integration team has already created a Placeholder submission for DEF130160 which must be enabled for this submission.

3.	BhaskarReddy
	1.	DEFECT FIX: Defect Fix: DEF139500: Performance measurment value for "Bootup Techview using SysStart" is < 1sec

4.	DjordjeK
	1.	MILESTONE: SymTB10.1, GT0472, MS3.2.1, DS 1597, PREQ 2094: SMP Caching

Version 2.00.2011
=================
(Made by Vino Jose   22/06/2009)

8.	AndreiMironenko
	1.	DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform
 	

Version 2.00.2010
=================
(Made by Vino Jose   19/06/2009)

1. 	ArunachalamR
	1.	DEFECT FIX: DEF139224: h4 images can no longer be downloaded by T32/Lauterbach 
		Ethernet Interrupt is disabled and cleared in Init3()
2.	JonCo
	1. MINOR_CHANGE: Update demandpaging tests to reduce the likelyhood of being unable to allocate
	contiguous memory (related to DEF139703)


Version 2.00.2009
=================
(Made by Vino Jose   19/06/2009)

1.	SteveElliott
	1.	MINOR_CHANGE: Fix various drivers to properly use SetCpuAffinity to unlock from core 0

2.	VyshnaviK
	1.	MINOR_CHANGE: Added the missing distribution files for labrador folders as part of PREQ2683

3.	TomCosgrove
	1.	MINOR_CHANGE: Make rom.pl be properly quiet when given -q, and tidy up a little bit
		(remove unnecessary parentheses, add spaces and a string initialisation).

4.	JohnS
	1.	DEFECT FIX: DEF139776: Core images with very large unpaged sections fail to boot
		Replace single call to BML_MRead with multiple calls to BML_Read to ensure that the core image
		file is correctly shadowed to RAM.
	2.  MINOR CHANGE: Correct coreloader source filename and comments
	
5.	OliverStuart
	1.	DEFECT FIX: DEF138740: SMP + WDP t_ipccpy fails: Kernel Panic "Fault with FM Held! addr=0x00422e20...
		SWI interrupt handler was not handling syscalls with extended parameters correctly - register was
		being stomped on.

6.	NeilClifford
	1.	MILESTONE: SymTB10.1, GT0472, MS3.6, DS.1737: PREQ1967 Embedded MMC v4.3
		INTERFACE CHANGE:BR2811.1-Extend PBUS and MMC Classes to provide framework for eMMC Sleep feature	

7.	BhaskarReddy
	1.	DEFECT FIX: DEF140400: Demand paged images don't boot on Labrador

8.	YiluZhu
	1.	DEFECT FIX: DEF140215: elf2e32 crashed in 64 bit windows



Version 2.00.2008
=================
(Made by Vino Jose   12/06/2009)

1.	OliverStuart
	1.	MINOR CHANGE: CR1970: Adding missing S60 distribution files and correcting IDs.
	2.	MINOR CHANGE: CR1994: Updating incorrect copyright headers.
	3.	MINOR CHANGE: CR1970: Removing orphaned S60 distribution files copied from symtb91.

2.	LukaszForynski
	1.	DEF139264: NaviEngine XYIN PDD polling timer active even when no LCD module present
	2.	MINOR_CHANGE: NaviEngine Only - updated XYIN, KEYPAD and GPIO drivers:
		- updated the XYIN PSL to use a dedicated DfcQ (SMPSAFE)
		- updated the GPIO to use pre-defined spin-lock priority rather than a numeric value.
		- fixed GPIO driver, which was crashing the board when calling to SetInterruptTrigger()
		- updated drivers so that they read display mode from DIP switch settings in order to 
		start/configure settings properly according to this mode.


Version 2.00.2007
=================
(Made by  Vino Jose  11/06/2009)

1.	SebOlney
	1.	DEFECT FIX: DEF139130: E32TEST t_pipe2 crashes in NE1_TB.ARMV5.UDEB.SMPKERNEL

2.	junwookkwak
	1.	DEFECT FIX: DEF139741: Documentation for 2x YUV_422 pixel format wrong in E32's

	
Version 2.00.2006
=================
(Made by Vino Jose  08/06/2009)

1.	DeleOgunjumelo
	1.	DEFECT FIX: DEF135926: Wrong return type from RBTrace::Filter() & RBTrace::SetFilter   
		RBTrace::Filter & RBTrace::SetFilter changed to return a TInt.Changed Tbool aValue in the
		RBTrace::SetFilter() to TInt aValue. Updated comments to describe true behaviour of the APIs.

2.	patrickconway
	1.	DEFECT FIX: DEF139270: [ShBuf] T_SHBUF_OWN fails on NE1_TB.ARMV5.UDEB.SMPKERNEL
		Use DObject::Close instead of delete on pointers to DMemModelAlignedShBuf/DWin32ShBuf 
	2.	DEFECT FIX: DEF139296: T_DMA fails in NaviEngine SMP UREL test runs
		Change ShBuf test to prevent over-fragmentation of kernel heap
	3.	DEFECT FIX: DEF139480: Shareable Data Buffers performance has regressed
		Various performance tweaks in shareable data buffers code
	4.	MINOR_CHANGE: Add Base_How_To_Shareable_Data_Buffers.doc
	5.	MINOR_CHANGE: Fix typos in flexible memory model comments

3.	LukaszForynski
	1.	MINOR_CHANGE: Added Crazy Interrupts option for ARM SMP.

4.	HiteshSavaliya
	1.	DEFECT FIX: DEF139527: [system build]: cat x files in MSF00064 vtb92sf


Version 2.00.2005
=================
(Made by Andrew Haigh 05/06/2009)

1.      Andrew Haigh
        1.      MINOR_CHANGE: PREQ2518 Modification of Symbian OS copyright notices for run-mode debug
	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.


Version 2.00.2004
=================
(Made by Vino Jose  02/06/2009)

1.	MarkTa
	1.	DEFECT FIX: DEF139225: t_ramdefrag crashes the kernel on h2 armv5 udeb 
		Ensure that Defrag::DisablePageModification() acquires the system lock before reading 
		a chunk's iBase member.
2.	MariamSood
	1.	MINOR_CHANGE: Add distribution.policy.s60 files for SD Driver for the work done in PREQ2560
	2.	MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved for rvemuboard

3.	MarkPhillips
	1.	DEFECT FIX: DEF139129: ESOUNDSC is not marked SMP safe

4. GayathriR
	1.	DEFECT FIX: DEF137035: Remove duplicated classes/structs in usb
		BREAK REQUEST: BR2683.1: Deprecate existing USB Shared Chunk Client Endpoint Resource Allocation APIs

5.	BhaskarReddy
	1.	DEFECT FIx: DEF139054 ONB: graphics wstest_t_draw_s1_nga test failure (armv5)
	


Version 2.00.2003
=================
(Made by Vino Jose 01/06/2009)

1.	RyanHarkin
	1.	MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved
	2.	DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
		the previous fix for this contained a bug that means reset will restart previous image
		rather than reset the board to the bootloader

2.	RichardCo
	1.	DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
		!IMPORTANT! This change may result in Naviengine roms not booting correctly
		on older bootloaders. You should be using bootloader 1.11 platform build 5
		or a higher version. This fix changes the way software reboot is handled to
		be much more reliable.

3.	ParameshwariB
	1.	DEFECT FIX: PDEF138397: PRM: ChangeResourceState() doesn't properly update current level owner

4.	TomCosgrove
	1.	DEFECT FIX: DEF139497: X86 ROMs crash on boot with DP: Fault with FM Held!
		Replace use of consts with enums in x86/cexec.cia (except for X86GCC).
5.	laneroberts
	1. 	MILESTONE: SymTB9.2, GT0472, MS3.2.3, DS.1692: SMP Product Kernel: User-side read/write locks     

6.	Vyshnavik
	1.	DEFECT FIX: DEF139525:[system build]: catx files in MSF00064 vtb92sf
7.	ArchanaH
	1.	DEFECT FIX: DEF139585: Labrador bootloader is not working as expected.
	2.	DEFECT FIX: DEF139303: Enable tvout functionality for labrador

8.	RajivM
	1.	DEFECT FIX: DEF139612: Booting from SD card is not supported in 3430 bootloader

9.	BhaskarReddy    
	1.	MINOR_CHANGE: Updating the Labrador User Guide
	2.	MINOR_CHANGE: Removing duplicate Labrador User Guide		
	3.	DEFECT FIX: DEF128530: T_USBAPI test failure on 3430

10.	MarkTa
	1.	MINOR_CHANGE: Fix mbc files now that the sdcard3c bld.inf has been moved for all 
		base ports' mbc files that can build with the new source layout.

11.	SteveElliott
	1.	DEFECT FIX: DEF139479 usbtest.testlist.h4.bat tests are failing due to recent code split
		Runtests modified to ignore comments in auto test batch files 

12.	JohnS
 	1. 	MILESTONE: SYMTB9.2, Base Duranduran, GT0419, MS3.27, PREQ2559: Kernel & HWS: Prepare Customers XSR FTL TPIP for Symbian Foundation    

13.	InderpalSingh
	1. 	DEFECT FIX: DEF138855: H6 UREL ROMs crash early in boot when DebugPort > 2



Version 2.00.2002
=================
(Made by Sergei Trofimov 28/05/2009)

1.      sergeitrofimov
        1.      PREQ2621, DS.1698: relocating header files.


Version 2.00.2001
=================
(Made by Vino Jose 20/05/2009)

1.	laneroberts
	1.	DEFECT FIX: DEF139375: Bootstrap.mk fails to build with raptor 

2.	VyshnaviK
	1.	MINOR_CHANGE: CR1994:Add PREQ2518 (Modification of Symbian OS copyright notices)- TBAS (T16135 was Green)
	2.	MINOR_CHANGE: CR1970:Add PREQ2683 (Adding distribution.policy.s60 files for all components in the MCL (//epoc/master/sf/...))-TBAS (T16135 was Green)

3.	RichardCo
	1.	MILESTONE: SymTB9.2, GT0472, MS3.2.2, DS.1600 PREQ 2094: SMP Product Kernel: (Thread) Affinity Groups
		NaviEngine roms built with -d SMPCOMPATMODE will now use the new thread group
		compatibility mode, instead of being locked to core 0, for unsafe code. The
		old compatibility mode is still available as -d SMPCOMPATCPU0.

4.	RyanHarkin
	1.	MINOR_CHANGE: added new document "Base_BSP_Development_for_SMP.doc":  Charles Garcia-Tobin's
		document with a new template and a few minor changes.


Version 2.00.2000
=================
(Made by GeorgeSin 19/05/2009)

1.	BhaskarReddy
	1.	DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform

2.	TomCosgrove
	1.	DEFECT FIX: DEF139267: [ShBuf] T_SHBUF fails on X86
		Fixed test to use alignment of 1 << 5 if cache alignment is less than this.
		
3.	MiguelB
	1.	DEFECT FIX: PDEF139321: NaviEngine Techview ROMs use generic version of estart 

4.	MichaelMoate
	1.	DEFECT FIX: DEF138273 [System Build]: ClassifySource returning Category X
		Modified bld.inf and mrp files to resolve packaging issues relates to exports.

5.	patrickconway
	1.	DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms
		Generalised some test cases to run correctly under SMP

6.	DaveGordon
	1.	DEFECT FIX: PDEF134657: Insufficient validation of RMessagePtr2 handles
		Kernel message buffers are now allocated from their own chunk, thus
		preventing address spoofing

7.	stephenroberts
	1.	DEFECT FIX: PDEF134498: Platform Security can be disabled by an insecure debug agent (2)
		This fix adds two TRK blocking applications.

	2.  	DEFECT FIX: DEF138274: ClassifySource returning Category X in CrashMonito

8.	MariamSood
	1.	MILESTONE: SymTB9.2 GT0419, MS3.25, DS.1713 PREQ2560: SD simplified specification
		INTERFACE CHANGE:BR2778-Adding data member to TSDCard class

9.	BhaskarReddy
	1.	DEFECT FIX: DEF139202: Nand images do not work on Labrador.

10.	RobCliff
	1.	DEFECT FIX: DEF139046: Demand Paging H4 COMM device driver client request state bad for subsequent read   


Version 2.00.1999
=================
(Made by marcinmaksymiuk 14/05/2009)

1.	marcinmaksymiuk
	1.	DEFECT FIX: DEF138552: Some improvements to UTrace code are necessary.
		
		
Version 2.00.1998
=================
(Made by GeorgeSin 12/05/2009)

1.	MarkTa
	1.	DEFECT FIX: PDEF138804: Kern::ThreadCreate() unnecessarily enters thread critical section
		Removed the unnecessary entry into a critical section.

2.	ExtRajeswarir
	1.	DEFECT FIX: DEF138287: [BFC] Warnings during BUILD stage in base_tiomap3

3.	OliverStuart
	1.	DEFECT FIX: DEF138984: T_CHUNK can deadlock due to incorrect Sem. usage in original fix for trg hung
		Need to use three semaphores or we risk signal stealing if one thread gets ahead of the others and starts a
		second iteration before the other threads have been signalled and have begun their first iteration.

4.	patrickconway
	1.	DEFECT FIX: PDEF138700: NaviEngine BSP fixes

5.	stephenm
	1.	DEFECT FIX: DEF138841 Bug in D_COMM.CPP
		Updated to use correct spin lock macros in serial driver LDD ISR code.

6.	VyshnaviK
	1.	DEFECT FIX: PDEF138462: The format in mmp and bld files within BSP dir need to have only forward slashes

7.	colinward
	1.	FINALDS: SymTB10.1, GT0472, MS3.5, DS.1611 CR1824:Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver.
		CHANGE REQUEST: CR1824 Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver
		INTERFACE CHANGE: BR2751.1 Peripherals: Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver


Version 2.00.1997
=================
(Made by patrickconway 08/05/2009)

1.	patrickconway
	1.	MILESTONE: SymTB9.2 GT0419, MS3.12, DS.1467 PREQ1490: Flexible Memory Model
		Requirements: PREQ1490 Flexible Memory Model
		REQ11423: Provide shareable buffer mechanism to reduce copies between kernel drivers and user side processes
	2.	INTERFACE CHANGE: BR2786.1 BC break to DObject virtual function table


Version 2.00.1996
=================
(Made by George Sin 07/05/2009)

1.	SebOlney
	1.	MINOR_CHANGE: Make enable_symbolics.cmm aware of new source layout, where "os/" is parent dir.


Version 2.00.1995
=================
(Made by George Sin 29/04/2009)

1.	HaifengYang
	1.	DEFECT FIX: DEF137995: add Devmon notification for each OHCI scheduling overrun error
	2.	DEFECT FIX: PDEF137828: Perl scripts in /e32test/usb/ need Nokia copyright header
	3.	DEFECT FIX: DEF137749: t_usbdi test rom build failed
	4.	DEFECT FIX: DEF135549: [USBHO]build warning for usbdi_channel.cpp

2.	FrankHofmann
	1.	DEFECT FIX: DEF136834 - T_RAMDEFRAG fails, Error -26 at line 8907

3. 	NaushadAhmed
	1.	DEFECT FIX: DEF137735: The trace instrumentation guidelines in the MCL do not describe UTFv2.0

4.	SushmitaRoy
	1.	DEF136443: T_RAMDEFRAG fails on 34XX_SDP
		Change estart.mmp for 3430 so that filecaching can be enabled,
		but also ensure that t_ramdefarg copes when something goes wron with filecaching.
		
5.	MichaelP
	1.	MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
		(This change had been applied originally in CL1423748 but was undone
		 again in CL1512674.)

6.	GayathriR
	1.	DEFECT FIX: DEF138257: Cache should be cleaned before setting up a dma read in usb client PSL (3430)
	2.	DEFECT FIX: DEF138089: T_USBCSC fails on H4HRP.ARMV5...

7.	InderpalSingh
	1. 	DEFECT FIX: DEF136297: ONB : TEXECUTEwstest_t_bitgdirenderstage_rom.script TRedrawStoring test fails
	2.	DEFECT FIX: DEF137527: M04905 crashes H6 board with FAULT: DMA 0x000002ef (751) on ppp connection

8.	patrickconway
	1.	DEFECT FIX: DEF137515: GPIO and Ethernet NaviEngine PDDs are not marked SMPSAFE

9.	laneroberts
	1.	MILESTONE: SymTB10.1 GT0472, MS3.12, DS.1723 PREQ2094: Product Quality SMP Kernel
		Requirements: PREQ2094: Product Quality SMP Kernel
		REQ12442: Documentation - SMP Device Driver Migration Guide

10.	NeilClifford
 	1.	DEFECT FIX: PDEF138614: MMC Stack does not resend CMD23 if Data CRC Received

11.	HenryGrant
	1.	MILESTONE: SymTB9.2 GT0419, MS3.22, DS.1462 Splitting "mixed" header files - phase 1
		Requirements: PREQ2498: Splitting "mixed" header files- Kernel & Hardware Services - E32 directory


Version 2.00.1994
=================
(Made by George Sin 28/04/2009)

1.	MichaelCox
	1.	DEFECT FIX: DEF137738:t_sprioritycap tests fail with Exit type 2,100,Close&Wait

2.	ExtRajeswarir
	1.	FinalDS: SymTB9.2, GT0419, MS3.21, DS.1688 PREQ2033: BSP: OMAP3430 board support package
		Requirements: PREQ2033 Cortex A8 BSP
		Other: New components had been added, base_tiomap3_lab, base_tiomap3_lab_unistore2, base_tiomap3_lab_sdio, 
		base_tiomap3_sdio, hence new mrp files are included. All of them had been verified using TBAS (T15497 was Green).

3.	AnatolyP
 	1.	DEFECT FIX: DEF138496: A number of drivers need to be marked SMPSAFE 
 

Version 2.00.1993
=================
(Made by Fernando Porta 28/04/2009)

1.	Fernando Porta
	1.	MINOR_CHANGE SymTB9.2, DS.1680 Wordscan and copyright changes for debug components 
		under GT0497 PREQ2578 Developer Tools Debug Tools asset prep for SF TB 9.2 (MCL) 
		

Version 2.00.1992
=================
(Made by Song Li 24/04/2009)

1.	Song Li
	1.	MILESTONE: SymTB9.2 GT0456, MS3.3, DS.1661 PREQ2564 Prepare Shortlink Services USB Host and OTG TPIP for Symbian Foundation 


Version 2.00.1991
=================
(Made by George Sin 21/04/2009)

1.	MichaelMoate
	1.	DEFECT FIX: PDEF134689 3430/H6 BSP does not contain workaround for ARM Cortex-A8 Eratta 430973 
		Implement workaround using TI Boot Monitor. Set IBE and disable branch size mispredict to 
		1 in CP15 Auxiliary Control Register.

2.	Gavin Cochrane
	1.	DEFECT FIX: DEF138299: EPL header missing from files

3.	FadhliMustaffa
	1.	DEFECT FIX: DEF137729: Coverity SymTB9.2 - M04900 - Base components

4.	JosephCodadeen
	1.	DEFECT FIX: DEF135950: Camera Defect: Need ability to set Brightness and other Dynamic settings
	2.	DEFECT FIX: DEF138038: Camera Driver: Various logic mistakes need to be fixed

5.	AnatolyP
	1.	DEFECT FIX: DEF137536: 	DMA drivers are not marked SMPSAFE
		The PSL code has been reviewed; the test driver has been changed to use a dedicated DFC queue 
		and CPU affinity for the DFC queue has been set to "any". T_DMA has been run on NaviEngine. 
		DMA PIL, DMA PSL for NaviEngine and DMA test driver have been marked SMPSAFE.

6.	DennisM
	1.	DEFECT FIX: DEF138240: SYMTB92 file rom.pl has hardcoded path to source code

7.	VitalyR
	1.  MINOR_CHANGE: Unlock UART from CPU 0

8.	Mark Phillips
	1.	DEFECT FIX: DEF137390: Panic happens in soundsc_rx.cpp during record

9.	ParameshwariB
	1.	DEFECT FIX: DEF138490: Convert user side Power Resource Manager to WDP safe

10.	OliverStuart
 	1. 	DEFECT FIX: DEF138318: SMP + Data Paging T_Chunk fails: t_chunk.exe::Local-c811fe18 Panic KERN-EXEC
 	Modified to use thread pool in chunk-close race condition test to prevent KERN-EXEC 3 when stack is accessed
 	after 50 CloseChunk threads have been created over and over again for 800 times until the backing store is
 	exhausted and there is no storage left to commit to the stack page.


Version 2.00.1990
=================
(Made by George Sin 17/04/2009)

1.	LukaszF
	1.	DEFECT FIX: DEF136869: SMP: It's not possible to easily boot NaviEngine with 2 or 3 CPUs
		implemented it using patchable constant.

2.	AndreasP
	1.	DEFECT FIX: PDEF134648 HAL::EDisplayXPixels sometimes returns uninitialised data

3.	MichaelMoate
	1.	DEFECT FIX: DEF133208 shared_sysdma for OMAP3430 requires macro  __IS_OMAP2420__ defined
		Modify Omap3 ASSP code to build correctly without defining this macro. Add Omap3 support
		to d_latncy in e32test and use that instead of BSP specific version.

4.	MarkTa
	1.	DEFECT FIX: PDEF137533: Reported size of filesystem cache chunk keeps increasing
		Ensure that for disconnected chunks Decommit() sets the size of the chunk via the bit map 
		not by looking at which pages are mapped.


Version 2.00.1989
=================
(Made by George Sin 14/04/2009)

1.	Bhaskar Reddy
	1.	DEFECT FIX: DEF136833: ONB: 3 new bitgdi test failures on H6

2.	Radhakrishnanramanat
	1.	DEFECT FIX: DEF135076: boottime is 0 in H6 using REBOOT.LDD
		Enable the GPtimer 11 configuration, used for boottime measurement.
3.	AndrewHi
	1.	MILESTONE: SymTB9.2 GT0419, MS3.9.7, DS.1677 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
	2.	DEFECT FIX: DEF137283: IIC Controller FreeChanWriteAccess should use spin lock
		Replaced atomic access with spin lock guard

4.	stefankarlsson
	1.	DEFECT FIX: DEF137709: Erroneous line in compsupp/rvct3_1/drtaeabi.mmp 
	2.	MINOR_CHANGE: Remove compsupp/base_e32_compsupp.history.xml.


Version 2.00.1988
=================
(Made by GeorgeSin 09/04/2009)

1.	HenryGrant
	1.	DEFECT FIX: DEF137080: BFC failed due to missing rebootdrv.h 


Version 2.00.1987
=================
(Made by GeorgeSin 08/04/2009)

1.	Archana H
	1.	DEFECT FIX: DEF137353: Emulator multitouch support broken on Win2K 
	
2.	MiguelB
	1.	DEFECT FIX: DEF136839: NAND media driver doesn't cancel garbage collection DFC 

3.	Michael Moate
	1.	DEFECT FIX: DEF137241 - Template assp and variant are not located in the right places in master/sf

4.	Vitaly Rodionov
	1.	MINOR_CHANGE: Add SMPSAFE macro in NaviEngine serial PDD.

Version 2.00.1986
=================
(Made by George Sin 02/04/2009)

1.	NeilClifford
	1.	DEFECT FIX: DEF137410: [System Build]: Errors in GT compilation related to medusiis.lib M04905 vFuture

Version 2.00.1985
=================
(Made by George Sin 30/03/2009)

1.	JonCo
	1.	DEFECT FIX: DEF137240: Kernel should parse descriptor headers when reading them from user-side	

2.	ExtRajeswarir
	1.	DEFECT FIX: DEF137294: ARMV7 compilation errors in TIOMAP3 BSP in M04902 vFuture build 

Version 2.00.1984
=================
(Made by George Sin 26/03/2009)

1.	vinojose
	1.	MILESTONE: SymTB9.2 GT0419, MS3.9.6, DS.1609 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper

2.	patrickconway
	1.	DEFECT FIX: DEF137253: [System Build] buildrom missing file _34XX_SDP_HSMMC1SDIO.DLL in M04901 


Version 2.00.1983
=================
(Made by George Sin 23/03/2009)
	
1.	MiguelB
	1.	DEFECT FIX: DEF135702: H4 board crashes when rapidly insert and eject the MMC card on WDP build 

2.	AnatolyP
	1.	DEFECT FIX: DEF136827: Crash Monitor doesn't print out register information for all CPU cores

3.	LukaszF
	1. MINOR_CHANGE: NaviEngine Sound PDD driver updates.

4.	RyanHarkin
	1.	MINOR_CHANGE: update Trace32 scripts
		Fix SymbianOS awareness; fix bootstrap symbols; align all version of scripts to a common version

5.	NavneetS
	1.	DEFECT FIX: DEF136419: Base component base_tiomap3 not getting compiled against ARMV7

6.	OliverStuart
	1.	DEFECT FIX: PDEF136488: ONB: wstest_t_autotest.script crashes
		Unreverting PDEF135269.  TRegion::AppendRegion calls SetListSize rather than ExpandRegion which can cause
		the preceding data to be discarded if there is a reallocation.  After change to use ExpandRegion, graphics
		tests now pass.

7.	ReubenH
	1.	SymTB9.2, GT0421, MS3.1, DS.1625 PREQ1954 Kernel & HWS: Serial Driver Writable Data Paging & SMP Safe

8.	JonCo
	1.	DEFECT FIX: DEF137010: t_timer hangs on the emulator 
	2.	MINOR_CHANGE: add data paged h4 usb test rom

9.	JosephCodadeen
	1.	DEFECT FIX: DEF135949: Camera Driver: BufferIdToOffset needs to pass the Mode parameter  

10.	RobCliff
	1.	DEFECT FIX: DEF136659 : RVCT v3.1: Linker error for d_second_excp.dll / d_second_excp2.dll 

11.	ExtRajeswariR
	1.	Milestone: SymTB9.2, GT0419, MS3.19, DS.1605 PREQ2033: BSP: OMAP3430 board support package
		Requirements: PREQ2033 Cortex A8 BSP
		
12	georgiosdementis
	1.	DEFECT FIX: DEF137047: Modified GCE SMP safe driver 

13.	HaoJiang
	1.	DEFECT FIX: DEF136665: Kern::InfoCopy() doc is incomplete. 

14.	AttilaV
	1.	DEFECT FIX: DEF136224: Unable load ROM Image generated without RomLoaderHeader on NaviEngine


Version 2.00.1982
=================
(Made by George Sin 18/03/2009)

1.	AttilaV
	1.	DEFECT FIX: DEF136577 Too long path cause build error in MergeBranch BSP sub-tree on ARM4 platform.
	2.	MILESTONE: Diran, GT0364, MS3.2.7 DS1538 PREQ1994: Crash Flash logger
		Crash Flash logger for the NaviEngine (second attempt)

2.	vinojose
	1.	MILESTONE: Diran, GT0419, MS3.9.5, DS.1540 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
	2.	DEFECT FIX: DEF133707: IIC Race condition for MasterSlave channels  
                (This includes Break Request BR2705)
	3.	DEFECT FIX: DEF133712: IIC Active wait issue for Slave channels on single-processor systems  
	4.	DEFECT FIX: DEF133713: IIC Potential for corruption of spin lock state  
	5.	DEFECT FIX: DEF133715: IIC Slave “Close?of client thread may be attempted from an ISR  

3. 	RyanHarkin
	1.	MINOR_CHANGE: update MBC files after \f32\sftl directory removed
	2.	MINOR_CHANGE: update H4 Lauterbach Trace32 scripts to fix bootstrap debugging and EKA2 awareness
	

Version 2.00.1981
=================
(Made by George Sin 13/03/2009)

1.	georgiosdementis
	1.	DEFECT FIX: DEF133124:  GetCompositionBuffer in gce LCD driver for NaviEngine does not swap buffers
		Introduce iPostFlag variable to identify a Post operation has occurred.  	 	
	2.	DEFECT FIX: PDEF136355:  Incorrect calculation of buffer size in display.cpp  
	3.	MINOR_CHANGE: Fix incorrect interrupt enable/disable sequence for the naviengine GCE driver plus offset fix.

2.	kelly li
	1.	MILESTONE: Ermine, GT0488, MS3.1, DS1448, PREQ2338: Base: Emulator support for multi-touch, pressure & proximity
	
3.	Gavin Cochrane
	1.	DEFECT FIX: PDEF135653: Lumiere20.024_Memory: Phone resets automatically after RAM low(2000~3000kb). 

4.	Steve Elliott
	1.	DEFECT FIX: DEF136066: Microsoft - Base - Loki Fixes. For copyright issue, eject.cpp of t_usb_win rewritten.

5.	ArunachalamR
	1.	DEFECT FIX: PDEF135529: Serial components stop responding 
		Interrupt detection - changed from edge to level for FPGA Interrupt.
		H4::InterruptXXX updated with bug fix.
		QUART and PS2 KeyBorad ISRs and DFCs are updated with bug fix.

6.	NeilClifford
	1.	DEFECT FIX: DEF136314: Chunk offset (iChunkOffset) not reset for every read/write request
	2.	DEFECT FIX: DEF136348 SMPDDM: MMC Media Driver is not SMPSAFE

7.	JosephCodadeen
	1.	DEFECT FIX: DEF135637 : Obsolete members and values need to be removed

8. 	SushmitaR
	1.	DEFECT FIX: DEF135303: t_ramdefrag test fails / crashes on h2 
		Need to do the heap allocations before getting the page counts to set up memory

9.     	AndreiMironenko
    	1.  	Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer

10.	MiguelB
	1.	DEFECT FIX: PDEF136203: F32test t_pwstr fails for SD card 

11	MariamSood
	1.	DEFECT FIX: DEF133392: MMC Stack attempts to set clock speed before power is enabled 

12.	OliverStuart
	1.	DEFECT FIX: DEF135801 Multiple Memory Model crash on unicore NaviEngine with DP and WDP enabled 
		DMmuCodeSegMemory::ApplyCodeFixupsOnLoad needs to temporarily reenable access to user memory (in debug mode,
		access is disabled automatically) to query the cache's IMB range.
		tests now pass.
	2.	DEFECT FIX: DEF135733: SMP: NaviEngine rom building files need updating to support demand paging

13.	Vitaly Rodionov
	1.	DEFECT FIX: DEF136456: NGA leads to inproperly display on emulator

14.	DennisM
	1.	DEFECT FIX: PDEF134720 t_thread fails on SMP kernels


Version 2.00.1980
=================
(Made by George Sin 10/03/2009)

1.	RajivM
	1. 	MINOR_CHANGE: Changes in two test applications to match the test case ids according to the test spec.

2.	VyshnaviK
	1. 	DEFECT FIX: DEF135504: SSR not supported error can't be triggered for regular H6 roms 

3.	RobCliff
	1.	DEFECT FIX: PDEF135403: Error code for timeout in RSemaphore::Wait(ti) is not specified in in-source doc 

4.	BhaskarReddy
	1.	DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform 

5.	RyanHarkin
	1.	MINOR_CHANGE: Add HAL values for DEF134360.
		This doesn't solve the defect, however, more changes may be needed by graphics.
	2.	MINOR_CHANGE: Fix BootLoader downloads of unzipped images with no header
		A previous change to the Ymodem code added in a extra & to a pointer assignment,
		causing the board to crash if a no-header, uncompressed ROM was downloaded.

6.	georgiosdementis
	1.	DEFECT FIX: DEF136123:  Revert PDEF135269 to stop failures on the graphics tests
	
7.	ExtRajeswarir
	1. 	DEFECT FIX: DEF130021: No FMM component for H4HRP
		Add base_omaph4hrp_flexible.mrp file under flexible component for inclusion of H4 FMM component as part of CBR release.
		Integration team has already created a Placeholder submission for DEF130021 which must be enabled for this submission.

8.	stephenroberts
	1.	DEFECT FIX: PDEF134564: t_rmdebug2_oem test fails on platforms with no crash flash partition 
	2.	DEFECT FIX: PDEF134499: Run-mode Debug API allows user to switch user programs to kernel mode 
	3.	DEFECT FIX: PDEF134605: Write position of new crash logger is incompatible with the old crash logger
	4.	DEFECT FIX: PDEF134628: Run-Mode debug driver does not clear process breakpoints on a killthread event.
	5.	DEFECT FIX: PDEF135497: SCMonitor throws data abort if it needs to delete the last flash block.
	6.	MINOR_CHANGE: Remove the rm_debug tests that fail on SMP to prevent board from hanging

9.	frankhofmann
	1.	DEFECT FIX: PDEF115092: Intermittent failure of T_RCACHE on H2 Armv5 Urel build
	2.	DEFECT FIX: DEF135745: DMmcMediaDriverFlash::DecodePartitionInfo fails on MBR-partitioned media

10.	SivashankarN
	1.	DEFECT FIX: DEF136294: Issues with HCD page size (USB HOST/OTG Stack issue B67686)

11.	SebOlney
	1.	DEFECT FIX: PDEF134755: Sound driver on H6 does not handle pause/resume properly

12.	Volkan Akdere
	1.	DEFECT FIX: DEF135849: Run-mode Debug Driver performance improvement for WDP
		(submitted by RichardCo on behalf of tools team)


Version 2.00.1979
=================
(Made by George Sin 02/03/2009)

1.	Radhakrishnanramanat
	1.	DEFECT FIX:DEF134020: Loading the REBOOT.LDD fails with error -1 on H6
		Add reboot.ldd in base_34xx_sdp.iby.
2.	dharmeshgandhi
	1.	DEFECT FIX:DEF131764: tpantestusb_dummyCCROM test Crashes in OmapUsbcGenericClientController::Connect 
	
3.	fabiangortz
	1.	MINOR_CHANGE: Change input parameter TUsbBusId to TUsbBus of UsbTransferMemoryRequirements class in 
		order to align it with the other methods of that class, remove references to TUsbBus
	2.	MINOR_CHANGE: Update/clarify documentation and in-source comments

4.	TomCosgrove
	1.	DEFECT FIX: DEF134791: t_romtable.cpp should only use DebugPrintf() in UDEB builds
		h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor

5.	OliverStuart
	1.	DEFECT FIX: DEF134182: __crash() ought to be rewritten
		Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
	2.	DEFECT FIX: DEF134183: CountLeadingZeroes() should be rewritten
		Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
	3.	DEFECT FIX: PDEF135269: Performance: Unoptimized region handling by EUSER can cause hangs in Browser web
		Reimplementing TRegion::Tidy for higher performance and correcting memory allocation routines to respect granularity.

6.	RyanHarkin
	1.	MINOR_CHANGE: add copyright header to NaviEngine Lauterbach scripts

7.	patrickconway
	1.	DEFECT FIX: PDEF134602: User-side thread data causes bad memory access at thread kill time 


8.	MariamSood
	1.	DEFECT FIX: DEF133959: Eshell command can not support a large amount of files 
		Submitted in a seperate changelist-1507995

9.	GavinCochrane
	1.	DEFECT FIX: DEF134765: EmptyRamZone error description is not enough
		Updates to commments to improve Doxygen documentation

10.	jennyekelund
	1.	Milestone: Diran, GT0518, MS 3.4, DS.1516, PREQ2295: Traceability PREQ for changes to Saffron
		The UTrace API will be part of the Base tree such that it can be used in user mode only for this release.
		It adds a new kernel extention (UTraceOut), a new IBY file (e32utrace.iby) and new def files for related libraries. 
		Customers wishing to use the new API will need to include the e32utf.h file in their source 
		and e32utrace.mmh in their mmp file.

11.	JonCo
	1.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10705: Kernel: Allow servers to make performance guarantees in a demand paged system
	2.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10706: Peripherals: Device driver migration for data paging
	3.	MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10708: Kernel: Productised data paging implementation
		Writeable data paging productised kernel submission

12.	MiguelB
	1.	DEFECT FIX: DEF135390: ROM.PL doesn't return an error if ROFSBUILD fails
	2.	DEFECT FIX: DEF130212: btrace hangs when writing to mmc card 
	3.	DEFECT FIX: DEF134133: DP: Local media subsystem assumes demand paging buffer is physically contiguous 

13.	RichardCo
	1.	DEFECT FIX: PDEF135173: Kernel needs workaround for ARM Cortex-A8 Eratta 447862
	2.	DEFECT FIX: DEF135559: SMP: SMP images with BTrace configured at rombuild time hang in bootstrap 

14.	SebOlney
	1.	DEFECT FIX: PDEF134611: t_pipe times out intermittently on H2
		This fixes race conditions in the notification system of the pipe driver which are a
		potential problem on all platforms.
	2.	DEFECT FIX: PDEF134731: Error Code not handled from Kern::ThreadDesRead and Kern::ThreadDesWrite
	3.	MINOR_CHANGE: Stop t_pipe failing on integrator: don't close handles till test thread completes.


15.	VincentF
	1.	DEFECT FIX: DEF133783: [Coverity]-NULL_RETURNS,OVERRUN_STATIC,USE_AFTER_FREE,UNINIT-base/f32,base/e32


16.	DjordjeK
	1.	DEFECT FIX: PDEF135788: Performance issue with SyncMemoryBeforeDmaRead with WT cached memory
		Removed unnecessary cache purge of Write-Through DMA buffers prior DMA read.

17. 	RyanHarkin
	1.	MINOR_CHANGE: Add export to direct memory model was missing from last change.

18.	RichardCo
 	1.	DEFECT FIX: PDEF134574: Race condition in Server IPC read/write
 		Handling of IPC messages updated to eliminate several race conditions which are particularly
 		likely to occur when data paging is in use.

Version 2.00.1978
=================
(Made by George Sin 27/02/2009)

1. RyanHarkin
	1.	DEFECT FIX: DEF135688: CBR stage errors due to multiowned files in M04870 vtb92
		naviengine.inc was generated by both multiple and flexible memory model builds of the NaviEngine BSP.
		Fixed this by generating the inc file into memory model specific directories


Version 2.00.1977
=================
(Made by JohnS 10/02/2009)

1.	anujgupta
	1.	MILESTONE: Emin, GT0498, MS3.1, DS.1215, PREQ2035: Base Services: Prototype Accelerometer LDD.
		This Delivery Step aligns with Sensors TR 1.4.1 Core OS 2 transfer milestone.
		The LDD component will be will be part of the Base tree configured for building only in Emin 
		(vFuture) release builds. 
		It will add a new IBY file which will _not_ included into system files or GTCs. 
		Customers wishing to use the new component will need to #include it.

2.	RyanHarkin
	1.	MINOR_CHANGE: updated NaviEngine BootLoader
	2.	MINOR_CHANGE: updated NaviEngine User Guide
	3.	MINOR_CHANGE: updated ARM BSP with latest ARM release
	4.	MINOR_CHANGE: make the NaviEngine do F32 tests on the MMC drive

3.	SophieY
	1.	DEFECT FIX: PDEF135148: Guidance on required changes to coreloader for demand paging. 

4.	MariamSood
	1.	PDEF134721: Put an assert in NTimerQ::Tick() 

5.	VitalyR
	1.	MINOR_CHANGE: enable VRFB mode on OMAP_HRP
	2.	DEFEXT FIX: PDEF134646: ONB:? TDirect GCE fastpathing DSA on multiscreen
	3.	DEFECT FIX: PDEF135144: Emulator display code uses internal kernel API

6.	ParameshwariB
	1.	DEFECT FIX: PDEF134753: Power Resource Manager - Nonsharable class should be instantiated from any DLL

7.	colinward
	1.	DEFECT FIX: DEF133798: Missing support for ECamCaptureModeVideo with EUidPixelFormatSpeedTaggedJPEG
	2.	MINOR_CHANGE: Added a shared chunk camera driver template to the template base port.

8.	VincentF
	1.	DEFECT FIX: DEF133782: [Coverity]-DEADCODE,DELETE_ARRAY,FORWARD_NULL,MISSING_BREAK,RESOURCE_LEAK,OVERRU

9. MarkTai
	1.	DEFECT FIX: PDEF34675: Navieng fails to boot from NAND
		h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor




Version 2.00.1976
=================
(Made by NicholasC 04/02/2009)

1.	colinward
	1.	MINOR_CHANGE: Added e32/drivers/camerasc to x86/*.mbc

2.	junwookkwak
	1.	MINOR CHANGE: Removed unused and not symbian related code from x86 pci driver.
	
3.	SteveElliott
	1.	DEFECT FIX: DEF133200: t_usb_device intermittently fails on mass storage test (mstore.uts).
		Improved error reporting and changes to the perl scripts.

4.	frankhofmann
	1.	DEFECT FIX: DEF130207: bm_suite failing on integrator
		bm suite driver on integrator ported to post-SMP interrupt binding mechanism

5.	JonCo
	1.	DEFECT FIX: DEF133806: Two unicode functions can corrupt heap

6.	ReubenHarris
	1.	DEFECT FIX: DEF132163: Assertion failure in win32 ncsched.cpp 
	2.	DEFECT FIX: DEF133858: WINS[CW] emulator display paints incorrectly & causes access violations in gui32

7.	AndrewHi
	1.	MILESTONE: Diran, GT0419, MS3.9, DS.1294 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
	2.	MINOR CHANGE: Add SMPSAFE to the new mmp files



Version 2.00.1975
=================
(Made by Kai Duan 30/01/2009)

1.	JohnSucksmith
	1. 	DEFECT FIX: DEF132795: Duplicated nanddefs2.h file in Unistore-II XSR code
		Remove duplicated header file. Apply other changes so that impacted code still builds. 

2.	AttilaV
	1.	DEFECT FIX: DEF126733: H4 bootloader crashes if using OneNAND support but no OneNAND module is present

3.	FadhliMustaffa
	1.	MINOR_CHANGE: Updated tags for Coverity Defects (Re: DEF131516)
	2.	DEFECT FIX: DEF133321: Profanities and typos in dev1 branch
	3.	DEFECT FIX: DEF133445: Improvement to RThread::Create documentation

4.	colinward
	1.	DEFECT FIX: DEF129623: I2C driver crashes on first use after power on
		The 3430 I2C driver was crashing the first time it was used to access the Omnvision camera sensor after
		powering the board on.  This now fails gracefully and returns an error.  However, because it indicates a
		serious misconfiguration of the system, the cause of which not yet been determined, in UDEB builds it
		will fault the kernel with an error message
	2.	DEFECT FIX: DEF132119: t_camera_api test does not support saving RGB image data
	3.	MINOR_CHANGE: Fixed some camera test warnings that only happen under WINS.  Missed them first time around
		due to BTB being sick
	4.	DEFECT FIX: DEF133143: ecamerasc.ldd cannot handle a PDD that has 0 image, video or viewfinder formats
	5.	MINOR_CHANGE: Added e32/drivers/camerasc to tiomap3/variant/34xx_sdp/armv5.mbc
	6.	MINOR_CHANGE: Updated comments pertaining to TSoundFormatsSupportedV02::iRequestAlignment for clarity

5. VitalyR
	MILESTONE: Sphinx, GT0339, MS3.24, DS.1495 CR1303 Board Support Improve LCD Driver performance

6.	StephenM
	1.	DEFECT FIX: DEF133114: DRamAllocator reserved page locking leads to MMUBASE FAULT

7.	TomCosgrove
	1.	DEFECT FIX: DEF133318: Obsolete ":LOR: CFG_ARMV7" condition in bootcpu.inc
		Remove useless ":LOR: CFG_ARMV7" from the end of an IF statement that is itself
		within the ELSE of a "IF CFG_ARMV7".
	2.	MINOR_CHANGE: Remove unnecessary emphasis in comments regarding hardcoded constants in FMM mmboot.h
	3.	MINOR_CHANGE: Fix mis-spelling of Symbian in e32/drivers/pbus/mmc/sdcard/sdcard3c/sdio/sdiocard.cpp

8.	SebOlney
	1.	MINOR_CHANGE: Modify documentation for Kern::MutexWait() to emphasise the need for a user thread
		to remain in critical section for as long as it holds mutex.

9.	MarkTa
	1.	DEFECT_FIX: PDEF133116: Incorrect ODP architecture 7 32bit BL fault
		Change exception vectors to set fault address to DFAR on data abort or on 
		prefetch abort to IFAR if exists or the return address if it doesn't.

10.	RichardCo
	1.	DEFECT FIX: DEF133347: evfpv3 kernel extension is useless and misleading 
		Deleted the evfpv3 kernel extension as current VFPv3 hardware does not require it and it
		is unknown whether it will function correctly for hypothetical future hardware which does.
	2.	DEFECT FIX: DEF131665: Deadlock situation when Demand Paging is enabled
		Fix potential kernel crash in RProperty::Set (note: not a deadlock or specific to demand paging)
	3.	DEFECT FIX: DEF133760: NThread::ResetUserContextType clears too many states 
		Fixes tiny possibility of hardware debugger reading/writing the wrong part of the stack when using
		Symbian awareness.
	
11. RajivM
	1.	DEFECT FIX: DEF133183: H6 Doesn't support restart with mode 

12.	junwookkwak
	1.	MINOR CHANGE: Tagged intensional some coverity defects. (ref: DEF131478)

13.	kathrynthomas
	1.	DEF126984: Problems with DUsbInterface::CancelPermitSuspend  (BR2609)
	2.	DEF127668: Module jetest.c fails to compile 
	3.	DEF129343: t_usbdi test case 0494 sends and receives unexpected data 
	4.	DEF130515: OPT Test TD.4.10 fails to provide expected error message 
	5.	DEF130937: DUsbDevice::Detach closes USBDI channel brutally 
	6.	DEF131695: USB Host DFC queue tdfcq is not shutdown properly causing a thread leak 
	7.	DEF130153: [USB Host/OTG Stack]OPT test 5.4-2.9ms fails on second attempt 

14.	MiguelB
	1.	DEF133542: Coverity issues in data-paging local media code 
	2.	DEF133801: DMA-ing into file server's directory cache does not update descriptor length 	
	3.	DEF133852: T_DRTAEABI no longer compiles in release mode

15.	SushmitaR
	1.	DEF132982: t_ramdefrag test failure on h2 udeb page builds 
		Ensure that if the setup fails then that particular test should skip.
		Ensure that the test, when getting the 'best' zone, takes into account fixed pages
		
16.	fabiangortz
	1.	DEFECT FIX: DEF133618: s_to_result_t() returns incorrect code for default case


17.	frankhofmann
	1.	DEFECT FIX: DEF133546: DMmcMediaDriverFlash::Request() fails to cleanup in a specific error case

18.	NavneetS
	1.	DEFECT FIX: DEF133136: Network related tests panics on H6 board with M04797 build. 



Patch to Version 2.00.1974
==========================
(Made by patrickconway 30/01/2009)

1.	patrickconway
	1.	DEFECT FIX: DEF133823: [System Build] : CBR errors and warnings in M04833 v9.6 build 	


Patch to Version 2.00.1974
==========================
(Made by patrickconway 29/01/2009)

1.	patrickconway
	1.	DEFECT FIX: DEF133788: [System Build] : CBR error stage due to Unistore in M04831v9.6


Version 2.00.1974
=================
(Made by DeleOgunjumelo 15/01/2009)

1.	HenryGrant
	1.	DEFECT FIX: DEF131543:  [Coverity]-UNINIT,REVERSE_INULL,NEGATIVE_RETURNS,MISSING_BREAK,FORWARD_NULL,CHEC
		Also fixed by Fadhli Mustaffa (CL-1467886).
	2.	DEFECT FIX: DEF131516: [Coverity]-UNINIT,MISSING_BREAK,DEADCODE -generic/base/template
		CIDs: 1964, 1962, 1961, 1960, 1959, 1954	

2.	InderpalSingh
	1. 	DEFECT FIX: DEF132377: Failed to get control transfers larger than 64 bytes on Fibula driver

3.	JohnSucksmith
	1. 	DEFECT FIX: DEF132762: Unistore-II / XSR 1.5 media driver setting wrong caps.iBlock value
		In some situations the wrong setting may lead to poorer performance.
	2.	MINOR_CHANGE: Remove erroneous comment from Unistore-II bld.inf file

4.	AttilaV
	1. 	DEFECT FIX: DEF123263: Unable load ROM Image from MMC generated by ROM tool with -compress parameter

5.	indrajeetsingh
	1. 	DEFECT FIX: PDEF132187: unistore 2 test media driver not built in customer release

6.	georgiosdementis
	1.	DEFECT FIX: DEF131903: WDP: Display driver issues when using TV out on H4
	2.	DEFECT FIX: DEF132700: SMP: NavEngine does not boot with Multicore image  

7.	RajivM
	1. 	DEFECT FIX: DEF132879: RPipe::Init() fails.

8.	JonCo
	1.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10703: Kernel: Support demand paging of user data
	2.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10700: Peripherals: Change local media subsystem to support data paging
	3.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10701: Peripherals: Support data paging from NAND flash devices
	4.	MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10702: Peripherals: Support data paging from internal MMC devices
	5.	INTERFACE CHANGE: BR2644.1 Change behaviour of TBusLocalDrive::ControlIO()                                                              
	6.	INTERFACE CHANGE: BR2645.1 Change behaviour of TLocDrvRequest::RemoteDes()                                                                  
	7.	INTERFACE CHANGE: BR2647.1 Change behaviour of TLocDrvRequest::ReadRemote(const TAny* aSrc, TDes8* aDes)   
	8.	INTERFACE CHANGE: BR2578.1 Deprecation of existing Kern::RequestComplete method
	9.      INTERFACE CHANGE: BR2560.1 Extend Power Resource Manager to provide additional power information and adding new resource pool
		PREQ1954 Writeable data paging: prototype release

9.	JenniferH
 	1.	DEFECT FIX: DEF132319: Techview not booting on Naviengine, with SMP and Code Paging.

Version 2.00.1973
=================
(Made by fabiangortz 07/01/2009)

1.	TomCosgrove
	1.	MINOR_CHANGE: Fix test.Panic() call in e32test/thread/t_killer.cpp that should have
		been test.Printf() (it prints the reason for the test.Panic() call on the next line).
	2.	DEFECT FIX: DEF132655: T_DEMANDPAGING failed on H4HRP.ARMV5.UREL.PAGE during MCL release
		Mark T_LAT2 as UNPAGED so that it won't upset T_DEMANDPAGING.

2.	BhaskarReddy
	1.	DEFECT FIX: DEF131440: NotificationCaps is not defined in H4 serial port driver

3.	DjordjeK
	1.	DEFECT_FIX: PDEF132657: WTRA-type cache should not be purged in SyncMemoryBeforeDmaRead
		The fix resolves performance issue of Write-Through DMA Buffers on H/W with L2 cache.
	2.	DEFECT FIX: DEF131469: 	Serial Driver PDD on NaviEngine can cause temporary lockup of system
		The bug caused networking tests to fail. 

4. 	MarkTa
	1.	DEFECT FIX: DEF129871: T_PAGELDRTST failing on all platforms
		Ensure d_exc is included in all automatic roms that run t_pageldrtst and
		manual roms that can run t_pageldrtst.
	2.	DEFECT FIX: DEF128787: 	Misleading documentation for umemget/umemput etc functions
		Update documentation to recommend Kern::ThreadRawRead/Write when caller is in a critical section

5.	colinward
	1.	DEFECT FIX: DEF131260: there seems to be a lot of duplicated classes, structs etc in base (mainly usb)

6.	junwookkwak
	1.	DEFECT FIX: PDEF132434: Emulator width issue 
		Now width and height of emulator screen became multiple of 4 pixels even when it is not in proper size.  

		
Version 2.00.1972
=================
(Made by JessieZhang 02/01/2009)

1.	gopakumarmp
	1.	MILESTONE: Emin, GT0498, MS3.3, DS.1363, PREQ2037: Prototype Proximity LDD
		The LDD component will be part of the Base tree and will be configured for
		building in Emin (vFuture) release builds. It will add a new IBY file that
		will _not_ be included into system files or GTCs. Customers wishing to use
		the new component will need to #included it.

2.	fabiangortz
	1.	MINOR_CHANGE: Re-categorise trace print to KUSB rather than KPANIC, as the
		trace print is an indicative warning rather than a panic condition.

3.	JessieZhang
	1.	DEFECT FIX: DEF131525: [Coverity]-UNINIT,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,CHECKED_RETURN-b

4.	SteveElliott
	1.	MINOR_CHANGE: Removed files from t_usb_win application to prevent possible
		infringement of copyright. Also correction for fault with communication of
		host test failure to device.

5.	ExtRajeswarir
	1.	DEFECT FIX: DEF131165: var_reboot_module.h is not exported to \epoc32\include\tiomap3 folder
		var_reboot_module.h and variant_norflash_layout.h are now exported to /epoc32/include/tiomap3/variant/34xx_sdp folder.

6.	InderpalSingh
	1.	DEFECT FIX: DEF132258: H4 Variant.mmh missing MONITOR_THREAD_CPU_TIME

7.	William Yu
	1.	MINOR CHANGE [Project Loki]: Remove the file UnicodeData-3.0.0.txt

8.	SivashankarN
	1.	DEFECT FIX: DEF131519: [Coverity]-UNUSED_VALUE,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,DELETE_ARR

9.	TomCosgrove
	1.	DEFECT FIX: INC130537: stack balancing for Symbian DEF126209
		Provide new exports __ArmVectorIrqPostambleNoResched and __ArmVectorFiqPostambleNoResched
		that implement non-rescheduling Irq and Fiq postambles.


Version 2.00.1971
=================
(Made by LukaszForynski 19/12/2008)

1. VitalyR
	1.	DEFECT FIX: DEF131431: Opening two RDisplayChannel connections causes kernel fault on H4. 

2.	MiguelB
	1.	DEFECT FIX: DEF131892: High speed clock is enabled too early in power-up sequence for MMC V4.X cards

3.	SushmitaR
	1.	DEFECT FIX: DEF131629: T_RAMDEFRAG test failed on the Merge branch
		Ensure test sets up memory properly before checking for pass/fail

4.	NavneetS
	1.	DEFECT FIX: DEF131923: HAS_ETHERNET is not defined for 3430 (H6) techview.
		Defined HAS_ETHERNET Macro in h4.oby.

5.	patrickconway
	1.	DEFECT FIX: PDEF129773: Why does User::LeaveIfNull() does not take a const TAny*?
		Add an inline wrapper for User::LeaveIfNull() to check pointers to const objects

6.	MarkTa
	1.	DEFECT FIX: DEF131214: Floating point binary<->decimal conversions are not sufficient for IEEE754 
		Increase the number of digits read by TLex::Val() when parsing real numbers.

7.	RichardCo
	1.	MINOR_CHANGE: Mark more binaries as SMPSAFE

8.	RyanHarkin
	1.	MINOR_CHANGE: file NaviEngine NAND policy files from Cat T to Cat E

9.	SharathK
	1.	DEFECT FIX: DEF131717: IPR not defined for base_naviengine_flexible

10.	AnatolyP
	1.	DEFECT FIX: DEF128713 [Coverity]-FORWARD_NULL-base/e32

11.	TomCosgrove
	1.	DEFECT FIX: DEF130069: nk_cpu.h is missing a ; in FLUSH_ICACHE
		Remove ; from the end of the definition of CPSgen(), and
		add ; to the end of all usages of CPSIDAIF (etc.) in e32/.
	2.	MINOR_CHANGE: Update e32test/mmu/d_sharedio.cpp:CheckMemCleared() to dump
		out memory and say exactly where it fails (if it does).

12.	ExtRajeswariR
	1.	Milestone: Diran, GT0419, MS3.15, DS.1460 OMAP3430 BSP
		Requirements: PREQ2033 Cortex A8 BSP
		Other:
		During submission, in "other risks" submission, must mention about the supporting file submission
		required to be made by the integration team. Files to be modified are
		"//EPOC/master/cedar/product/tools/Symbian_OS_v9.6_bin
		//EPOC/master/common/generic/utils/mcl_dirs.lst", for TBAS T12177, changes had been done
		to these 2 files as part of changelist:1441555, this can be used as reference

	2.	DEFECT FIX : DEF130936: 3430 keypad driver does not perform on demand crashing

13.	LukaszForynski
	1.	MINOR_CHANGE: NaviEngine SoundPDD: More updates to the driver:
		- restructured the driver (got rid of separate Tx and Rx, which were very simmilar-creating a common one)
 		- fixed some SMP problems
		- updated I2S for missing #ifdefs

14.	RichardCo
	1.	MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
		NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
		In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
		the process it is loaded into to execute only on core 0.

15.	JonCo
	1.	DEFECT FIX: DEF131524: SMP: Taking a page fault accessing aliased memory crashes the system 

17.	VincentF
	1.	DEFECT FIX: DEF131549: [Coverity]-RESOURCE_LEAK,OVERRUN_STATIC,NULL_RETURNS,MISSING_BREAK,FORWARD_NULL,


Version 2.00.1970
=================
(Made by DmitryL 11/12/2008)

1.	TomCosgrove
	1.	MINOR_CHANGE: Fix grammar in doc comments in e32/euser/us_ksvr.cpp
	2.	DEFECT FIX: PDEF131503: OpenVG: WINS Emulator failed to start
		Use memory protection PAGE_EXECUTE_READWRITE for EUserSelfModCode chunks, but
		keep PAGE_READWRITE for all other types.
	3.	DEFECT FIX: PDEF131632: Paging info in TRomHeader should be PublishedPartner.
		Change iPageableRomStart and iPageableRomSize from @internalTechnology, @prototype
		to @publishedPartner, @released.
	4.	DEF130498: Bug in TDfcQue::ThreadFunction
		Update the documentation to warn against allowing Cancel() to run concurrently with the
		DFC function if the DFC function accesses the DFC object.  This is sufficient to prevent
		the race described in the defect.

2.	colinward
	1.	DEFECT FIX: DEF131248: Some H6 .mmp files cause warnings with Carbide

3.	colinward
	1.	DEFECT FIX: DEF130894: 3420 board crashes after sound driver changes

4.	RyanHarkin
	1.	MINOR_CHANGE: Add copyright headers to GPIO implementation for NaviEngine
	2.	MINOR_CHANGE: update copyright headers for NaviEngine BSP

5.	MarkTa
	1.	DEFECT FIX: PDEF131402: DataAbort in DMemModelChunk::Close()
		Remove race condition in chunk closure by removing the chunk from the process before 
		decrementing the reference count.

6.	MichaelP
	1.	DEFECT FIX: DEF131564: USB Client: Some OTG changes needed
		A) Changed the USB Client PDD such that the OTG-capable PIL (i.e. with
		USB_OTG_CLIENT defined) does its VBus-related state transitions now based
		solely on the Enable/Disable notifications from the Dummy DCD, whereas the
		client-only PIL solely uses the USB cable Connect/Disconnect notifications
		from the PSL to that purpose.
		B) Changed in-source comment for pure virtual function
		DUsbClientController::UsbConnectionStatus() such that it now reads:
		"@return ETrue if the device is connected (via the USB cable) to a USB
		host, EFalse if not. In the case of a PSL for an OTG-enabled Client PDD
		(USB_OTG_CLIENT is #defined) this function should always return ETrue."

7.	fabiangortz
	1.	MILESTONE: Diran, GT0364, MS3.2.4, DS.1393 USB Host for the NaviEngine. This includes 
		PCI driver. PREQ1994: USB Host on the NaviEngine
	2.	DEFECT FIX: DEF129515: SMP: UsbHost on navie engine will not build for SMP
	3.	DEFECT FIX: DEF129997: t_usbdi test cases are failing on NaviEngine
	4.	MINOR CHANGE: Restore ##BASEPATH## macro for data paths
	5.	MINOR_CHANGE: Removed usb host tests as they should be only in t_usbdi.oby
	6.	MINOR_CHANGE: Updated document, version and status

8. VitalyR
	1. MINOR_CHANGE: Enable 3430 labrador variant ROM build

9.	SebOlney
	1.	DEFECT FIX: DEF125329: t_pipe fails intermittently on integrator 
		Replaced use of delays with semaphores and notifications in test code.
		Added many error code checks.
		Replaced several occurrences of thread kills with logons 

10.	AttilaV
	1.	DEFECT FIX: DEF131441: [Coverity]-OVERRUN_STATIC-base/ubootldr/display.cpp
	2. 	DEFECT FIX: DEF131442: [Coverity]-OVERRUN_STATIC-base/omap/assp/1610/dma.cpp

11.	VincentF
	1.	DEFECT FIX: DEF131455: [Coverity]-UNUSED_VALUE,UNINIT,RETURN_LOCAL,NEGATIVE_RETURNS,MISSING_BREAK-base/

12.	ReubenH
	1.	MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.

13.	JessieZhang
	1.	DEFECT FIX: DEF130918: [Coverity]-SYMBIAN.CLEANUP_STACK -base/omap_hrp,e32/drivers,f32/scomp,f32/sfat32 
	
14.	LaurentiuMerlas
	1.	Milestone: Sphinx, GT0382 MS3.66, DS 1451 PREQ2102 Dynamic Resolution Switching
		Phase 2 submission to Base. Support for fast path for dynamic resolution switching

15.	LukaszForynski
	1.	MINOR_CHANGE: NaviEngine SoundPDD: Fixed problem reported by the MM team and potential SMP problems.


Version 2.00.1969
=================
(Made by AnatolyP 04/12/2008)

1.	RyanHarkin
	1.	MINOR_CHANGE - updated NaviEngine MBC scripts to build Flexible Memory Model and made a few cosmetic
			changes to the output filenames.

2.	LukaszForynski
	1.	MINOR_CHANGE: NaviEngine BSP: Updated DMA PSL.
	2.	MILESTONE: Diran GT0364 - SMP MS3.2.2 (DS1212) PREQ 1994: ARM11 MPCore SMP BSP Enhanced features delivery: Audio Driver

3.	AnatolyP	
	1.	MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410	PREQ1945: SMP kernel prototype support for Cortex A9 processor
	2.	MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439	PREQ1945: Prototype Run Mode Debug
	3.	MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419)	PREQ1994: ARM11 MPCore SMP BSP: NAND 
	4.	INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg


Version 2.00.1968
=================
(Made by AnatolyP 02/12/2008)

1.	TomCosgrove
	1.	MINOR_CHANGE: Add missing 'f' to correct spelling of 'shift' in klib/arm/cbma.cia.

2.	JonathanM
	1.	DEFECT FIX: DEF131031: SMP: DPager 0 panic
		This fixes race conditions in the itteration of kernel containers by Notifiers,
		Undertakers and BTrace priming. These now open objects before using them to ensure
		that they aren't partially deleted. Also updates to AsyncClose and AsyncDelete
		so that they are always asynchronous, even if called withing the supervisor thread.

3.	NeilClifford
	1.	MINOR_CHANGE: SD 2.0 Compliance Documentation

4.	DjordjeK
	1.	DEFECT FIX: DEF126046: Buffer passed to DMA sync methods must be cache-line aligned
		Added Kernel interface that returns required memory alignement for DMA buffers.
		
5.	MichaelCox
	1.	DEFECT FIX: DEF130317: RDisplayChannel::GetDisplayInfo returns incorrect result if parameter is a TPckg 
		Descriptors not being copied correctly by displayldd for emulator when using pointer based descriptor.

6.	chenqin
	1.	CHANGE REQUEST: Development CR RPAR-7GZHMX Add support for the new startupmode 8 (minigui)

7.	SebOlney
	1.	DEFECT FIX: DEF129186: Building Base and E32Tests with RVCT 3.1
		- Added e32/kernel/array_eabi.cpp which changes implementation of
		the various vector new and delete functions for kernel side to fix
		OOM bug in supplied library.
		- Various fixes for RVCT 3.1 build errors in production code,
		warnings to be fixed in subsequent defect. 
	2.	MINOR_CHANGE Revert changes made in DEF129186 to loader test
		- Don't replace __MODULE_EXPORT with EXPORT_C

8.	RajivM
	1.	DEFECT FIX: DEF131107: Rpipe Close()read&write handles notfreeing mem allocated in individual iteration.
		Released the memory in the destructor of the pipe instance.
	2.	DEFECT FIX: DEF130888: Mismatch in IPR between distribution policy and base_tiomap3.mrp file 
		Changed the categorisation level from T to E in the distribution.policy file

9.	NavneetS
	1.	DEFECT FIX: DEF130731: Ethernet macro HAS_ETHERNET not added to 34xx_sdp.oby.
		Defined the USE_ETHERNET Macro in header.iby. 

10.	colinward
	1.	DEFECT_FIX: DEF130480: Problems with resuming with shared chunk driver on emulator


11. VitalyR
	1.  DEFECT FIX: DEF122317: Error in GCE driver when calling DeregisterUserBuffer() on a posted buffer.
	2.  DEFECT FIX: DEF130904: IPR category for base_e32_drivers_display?

12.	junwookkwak
	1.	Milestone: Sphinx, GT0339 MS3.41, DS 1402 EI0004 Removal of ARM Abort code handler
		Removed ARM Abort code handler which only needs for Processors implementing the 'Base Register Updated' Abort Model.
		Removed bld.inf files of series mx5 which is not supported any more.

	
13.	RyanHarkin
	1.	MINOR_CHANGE: updated NaviEngine Lauterbach scripts to use ARM11MPCORESMP4 cpu type and debug in SMP mode


Version 2.00.1967
=================
(Made by indrajeetsingh 27/11/2008)

1.	junwookkwak
	1.	DEFECT FIX: DEF130474: Error in TDfc::Cancel doxygen.
		Updated doxygen documents.

2.	stephenroberts
	1.	MILESTONE: Saffron, GT0441, MS3.1.1, DS840: PREQ1700: Development Tools: Add new kernel crash monitor and extend debug device driver
	2.	BREAK REQUEST: BR2588.1: Extend Publish Kernel CrashFlash interface

3.	SimonTrimmer
	1.	DEFECT FIX: DEF131072: NaviEngine reports different screen dimensions to previous HRPs
		Workaround for groups that have test code that depends on screen dimensions being the same as H4
		Added support for a 320x240 16bpp screen mode that has a large offset between lines (stride)
		This graphics mode can be enabled at run time by setting dip switches DSW1 switches 7 and 8 ON

4.	laurentiu-catalinmer
	1.	MILESTONE: Sphinx, GT0382, MS3.65, DS1418, PREQ2102: Base: Dynamic Resolution Switching

5.	SebOlney
	1.	MINOR_CHANGE: Properly comment out #endif tag in euser.mmh

6. 	DaveGordon
	1.	DEFECT FIX: DEF130150: NKern::ThreadSetUserContext allows changing mode, domain access

7.	ToniaCampbell
	1.	MINOR_CHANGE: Updated Base Functional Spec

8.	RyanHarkin
	1.	MINOR_CHANGE: Added NaviEngine BootLoader ROMs to BSP tools directory

9.	MichaelCox
	1.	DEFECT FIX: DEF129523: vector operator new is not declared properly

10.	TomCosgrove
	1.	MINOR_CHANGE: Fix typo in doc comment on TDfc::RawAdd() in e32/nkern/dfcs.cpp (and .cia version)
		s/no checks orare performed/no checks are performed/

11.	indrajeetsingh
	1.	CHANGE REQUEST: Development CR ANDN-7H9CQV: Peripherals, GT0339 Base Meteora, Kernel, GT0339 Base Meteora, PREQ1226 new derived HAL  attributes simulation on H4

12. 	AndreiMironenko
	1.	DEFECT FIX: DEF128861: [Coverity]-base/e32/drivers/usbc/
		Coverity issues fixing, CID 1616, CID 1617.
		Claim for negative return marked as "Intentional", the negative array index value
		was guarded by __ASSERT_DEBUG macro. 

13. 	LukaszF
	1.	DEFECT FIX: DEF130677 NaviEngine BSP contains obsolite sound driver
		- removed sources and deletes entries in iby files.

14.	DjordjeK
	1.	DEFECT FiX: INC130449 Kernel does not handle ARM1136 ERRATA 317041
		This errata is relevant only if both the following conditions are met:
			- It is arm1136 core, r0p2 revision.
			- L2 (either L210 or L220) cache controller is present.

15.	MichaelP
	1.	MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).

16.	SteveElliott
	1.	DEFECT FIX: DEF129872 T_USB_SCDEVICE.EXE failing
		Changes to t_usb_device, t_usb_scdevice, and t_usb_win to provide test synchronisation between client and host.
		Also minor improvements to massstorage tests and changing detached process t_idlecounter to a thread.

17.	VincentF
	1.	DEFECT FIX: DEF128859: [Coverity]- base/e32/drivers/resourceman/

18.	colinward
	1.	MINOR_CHANGE: Tidied up some debug output in the e32test/multimedia/t_camera_api test that was accidentally left
		in incorrectly in the PREQ 1512 submission.

Version 2.00.1966
=================
(Made by SivashankarN 14/11/2008)

1.	GeorgeSin
	1.	DEFECT FIX: DEF128720: [Coverity]- NULL_RETURNS-base/e32/drivers 
		Have fixed 2 coverity NULL_RETURNS issues.

2.	colinward
	1.	DEFECT FIX: DEF128903: Sound tests lack kernel and user heap checking

3.	JessieZhang
	1.	DEFECT FIX: DEF128716: [Coverity]-FORWARD_NULL-base/e32

4.	MichaelP
	1.	MINOR_CHANGE: Fixed typo in ps_usbc.cpp.

5.	TomCosgrove
	1.	MILESTONE: Oregano, GT0392, MS3.6.2, DS1387, CR1526: Additional Btrace enumeration for callstack
		Add additional BTrace THeap enumeration value to be used by DevTools' memory debug tools (from TCL).

6.	DjordjeK
	1.	MINOR_CHANGE: NaviEngine baseport: SD Card Read & Write operations now use DMA.

7.	junwookkwak
	1.	DEFECT FIX: PDEF130166: Improve User::FastCounter() in-source doc to discourage use in production code
		Updated doxygen comment of User::FastCounter() to discourage using it.


Version 2.00.1965
=================
(Made by DaveGordon 12/11/2008)

1.	GeorgeSin
	1.	DEFECT FIX: DEF128871: [Coverity]- base/omap/
		Have fixed 2 coverity deadcode issues.

2.	colinward
	1.	DEFECT FIX: DEF129584: 3430 BSP includes obsolete sound driver


3.	dougsteel
	1.	MILESTONE: Diran, GT0419, MS3.11.1, DS1404: PREQ2130: GPIO device driver helper API: Template Port
		REQ11335: Documentation


Patch to Version 2.00.1964
=================
(Made by patrickconway 11/11/2008)

1.	DanH
	1.	DEF130221: [System Build]:Rom errors due to gpio.dll not present in rom in M04749 vFuture

2.	AndreasP
	1.	DEF130223: [System Build]:Export of base_e32_drivers_camerasc failed in M04749 vFuture


Version 2.00.1964
=================
(Made by patrickconway 10/11/2008)

1.	DanH
	1.	DEFECT FIX: DEF129524: SMP: Ethernet and other drivers missing from naviengine iby file for Techview

2.	ExtRajeswariR
	1.	DEFECT_FIX: DEF129042: [SMP] - H4 techview iby files to not allow easy configuration of the FMM 

3.	georgiosdementis
	1.	DEFECT_FIX: DEF130002: [SMP] Kern::Printf left in baseport code for NaviEngine GCE

4.	TomCosgrove
	1.	DEFECT FIX: DEF129969: hal\rom\hal.hby missing 10 attributes as defined in hal_data.h
		Add extra values to hal.hby and t_newhal.cpp, and update t_newhal.cpp to
		detect when its list is out-of-date.
	2.	MINOR_CHANGE: It's Symbian, not Symbain.
		Fix company name in comment in e32/include/e32cmn.h.
	3.	MINOR_CHANGE: Fix a couple of "the is" typos in comments.

5.	colinward
	1.	MILESTONE: Diran,GT0419,MS3.4,DS1139: PREQ1512: Simplify Camera Hardware Adaptation

6.	chrism
	1.	MILESTONE: Sphinx,GT0382,MS3.23,DS1395: PREQ2098: Enable memory-efficient DSA
		Change the internal implementation of the display_channel for Emulator to use the new HAL API
		introduced by REQ10721 earlier as part of Graphics PREQ2098.

7.	RobertJ
	1. 	MINOR_CHANGE: Changed Copyright message on e32test\ethernet\pump\etherpump.cpp


Version 2.00.1963
=================
(Made by RichardCo 04/11/2008)

1.	Michael Mo
	1.	DEFECT FIX: DEF129638 - 34xx_sdp should have COM3 point at Quad UART port A
		Revert changes made whilst issues with the Quad UART were not resolved. Now
		COM3 points to Quad UART port A instead of Omap UART 3.
	2.	MINOR_CHANGE: Correct whitespace in 34xx_sdp bootstrap assembler

2.	GeorgeSin
	1.	DEFECT FIX: DEF128865: [Coverity]- base/e32/ewsrv/
		I have fixed the issues as seen by Coverity. Small changes to code. 

3.	JessieZhang
	1.	DEFECT FIX: DEF128715: [Coverity]-FORWARD_NULL-base/e32

4.	MiguelB
	1.	DEFECT FIX: PDEF128901: Support for Code Paging for NAND MEDIA Driver not available
		Allow code paging from local drive number zero

5.	IanMo
	1.	DEFECT FIX: INC128834: [OTG] OPT TD.4.3 causes phone crash with udeb version of usbhost.dll
	2.	DEFECT FIX: DEF128644: Filename case check failure in usb host
	3.	DEFECT FIX: DEF127250: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers

6.	RyanHarkin
	1.	DEFECT_FIX: DEF129672: D_EXC fails to start on NaviEngine. Error - " Failed to load KDA LDD" 
		minkda.ldd was commented out in the base_ne1_tb.iby file.

7.	dougsteel
	1.	MILESTONE: Diran,GT0419,MS3.11,DS1284: PREQ2130: GPIO device driver helper API


Version 2.00.1962
=================
(Made by Vino Jose 31/10/2008)

1.	MiguelB
	1.	DEFECT FIX: DEF129636: H4 Bootloader won't boot with 2 MMC/SD cards

2.	Michael Mo
	1.	MINOR_CHANGE: Add 34xx_sdp bootloader binaries to perforce.

3.	SivashankarN
	1.	DEFECT FIX: DEF129578 Rom building with USBHost for fh4hrp fails

4.	colinward
	1.	DEFECT FIX: DEF128878: Adding heap checking to t_sound_* tests exposes memory leaks in esoundsc.ldd


Version 2.00.1961
=================
(Made by ReubenH 27/10/2008)

1.	RobertJ
	1. 	DEF129491: TTime class, incorrect comments

2.	VincentF
	1.	DEF128853: [Coverity]- base/e32/drivers/medmmc

3.	MiguelB
	1.	PDEF129509: Prevent H4 from accessing MMC slot 2 unless explicitly enabled 

4.	JonCo
	1.	DEFECT FIX: DEF129044: Assembler version of TClientRequest::CallbackFunc doesn't match c++ version

5.	Michael Mo
	1.	DEFECT FIX: DEF129567 - 34xx_sdp does not have unique USB Serial Number
		Port changes from H4 to 34xx_sdp such that the USB driver reports a unique serial number, derived from
		the board's MAC address, instead of reporting the same number for all boards.

	2.	DEFECT FIX: DEF129288 - 34xx_sdp bootloader cannot write to Sibley NOR flash chip
		Modify 34xx_sdp boostrap and bootloader config to support writing to Sibley NOR flash. This allows USB 
		Mass Storage support in the bootloader to function correctly. Changes are also needed to the generic 
		ubootldr code to support this.

	3.	MINOR_CHANGE: Remove outdated/unused 34xx_sdp camera drivers.


Version 2.00.1960
=================
(Made by ColinWard 24/10/2008)

1.	GeorgeS
	1. 	DEFECT FIX: DEF128869: [Coverity]- base/e32/memmodel/ DEADCODE tagged as false positive

2.	VitalyR
	1: 	DEFECT FIX: DEF129334: System crash visual notification missing on 3430 baseport.
		On 3430  if possible indicate that we have faulted and entered the debug monitor. Add visual notification about kernel fault.
		Display word "FAULT" on the 2-line LCD.

3.	DaveGordon
	1.	DEFECT FIX: DEF127495: [v9.5,v9.6] {Fix Accepted} T_PAGELDRTST is timing out on H2 
		A whole bunch of changes, to address the various problems with this test:
		* Reduce total number of threads/processes executing the tests.
		* Add delays to the defrag threads. This not only reduces the load enough that
		  other threads can make progress, but also makes the point at which those threads
		  are preempted by defrag more variable.
		* Add force-kill code to the single-media-thread case.
		* Add a poll of the exit-requested-flag during library loading.

4.	JunWookKwak
	1.	DEFECT FIX: DEF128808 : [Coverity]- base/e32/common/
		Tagged false positives for coverity runs.
		
5.	georgiosdementis
	1.	MILESTONE: Diran,GT0364,MS3.2.3,DS1375: PREQ1994:ARM11 MPCore SMP BSP: GCE Graphics driver
		

6.	RichardCo
	1.	DEFECT FIX: DEF129398: NThread::GetUserContext doesn't work for threads executing user callbacks 
		User callbacks introduce new states a thread can be in which need different handling.
		{Get,Set}UserContext and UserContextType have been updated to deal with the new states.
		Run-mode debuggers using these APIs do not need to change their behaviour - threads
		in these states will now behave correctly.


Version 2.00.1959
=================
(Made by NeilClifford 17/10/2008)

1.	AnatolyP
	1.	DEFECT FIX: DEF128886: SAN:Nandloader image creation fails,compsupp/compsupp.iby missing. 
		Relative inclusion of compsupp.iby from the source tree replaced with an absolute inclusion from the epoc32 tree 	
		
2.	Chenguang Song
	1.	DEFECT FIX: PDEF128518: TLanguage needs an entry for APAC Indonesian 	

3.	AttilaV
	1.	DEFECT FIX: DEF128231: Failure to boot H4 board with OneNAND techview image 

4.	JessieZhang
	1.	DEFECT FIX: DEF128211: prototype APIs in Base
	2.	DEFECT FIX: DEF128212: issues with IM tags in base
	3.	DEFECT FIX: DEF128809: [Coverity]- base/e32/compsupp/  

5.	GeorgeS
	1.	DEFECT FIX: DEF128852: [Coverity]- base/e32/drivers/debug/  3 coverity issues fixed

Version 2.00.1958
=================
(Made by NicholasC 14/10/2008)

1.	CarlosF
	1.	MILESTONE: Diran,  GT0419, MS3.10 : PREQ2132 I2S device driver helper.

2.	GayathriR
	1.	DEFECT FIX: DEF128702: Start address of data modified incorrectly when data is not block aligned 


Version 2.00.1957
=================
(Made by KaiD 13/10/2008)

1.	JonathanM
	1.	DEFECT FIX: DEF128298: Cache aliasing management possibly broken on ARMV7 
		This makes the kernel apply page colouring on ARMV7 and works around Cortex A8
		errata 586324


Version 2.00.1956
=================
(Made by SivashankarN 08/10/2008)

1.	MichaelP
	1.	DEFECT FIX: DEF128601 USB OTG Client: Support for Auto-HNP missing
		Introduced a new function in the USB Client PDD PIL:

		/** Returns a truth value indicating whether this UDC handles USB OTG HNP
		    bus connects/disconnects automatically in hardware.
		*/
		virtual TBool DUsbClientController::DeviceHnpHandledByHardwareCaps() const;

		The default implementation in the PIL returns EFalse. The function can be
		overridden in the PSL so that it returns ETrue. The capability is queried by
		the PIL and determines the way it calls the functions behind the
		iEnablePullUpOnDPlus / iDisablePullUpOnDPlus pointers.

2.	AnatolyP
	1.	DEFECT FIX: DEF128177: 	Changes to base.iby and user.iby
		Direct inclusion of the compiler support libraries replaced with the inclusion of the compsupp.iby file.

3.	JonathanM
	1.	DEFECT FIX: DEF128749: Memory pinning can cause system crash 



Version 2.00.1955
=================
(Made by DeleOgunjumelo 06/10/2008)

1.	RichardCo
	1.	DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded 
		Loading a kernel-side library which is linked to another kernel side library
		was not possible if the dependent had static data.



Version 2.00.1954
=================
(Made by MichaelMo 02/10/2008)

1.	patrickconway
	1.	DEFECT FIX: PDEF114200: T_RMDEBUG2 test fails on ARMv7 cores.

2.	DipakA
	1.	DEFECT FIX:  DEF126771: APIREG: using invalid values to calibrate the digitiser crashes the h4 board
		Changes made in shared_digitizer.cpp and test added in t_calib.cpp

3.	Radhakrishnanramanat
	1.	DEFECT FIX: DEF123210: Logical Device Drivers need auditing for bad GetCaps() implementation

4. 	SushmitaR
	1.	MINOR CHANGE: Fix intermittent failures for t_ramdefrag

5.	Vitalyr
	1.  MILESTONE: Duranduran, GT0419, MS3.5.1, DS.1170: Base PREQ2033 OMAP3430 BSP.

6.	RyanHarkin	
	1.	MINOR_CHANGE: updated NaviEngine user guide
	2.	MINOR_CHANGE: updated Base Functional Spec document

7.	FernandoPorta
	1.	DEFECT FIX: PDEF127313: rm_debug_svr needs to avoid future GCCXML build

8.	fabiangortz
	1.	DEFECT FIX: DEF128508: USB Chapter9 tests failing

9.	laneroberts
	1.	DEFECT FIX: DEF128456: E32Test driver d_latncy tries to access user memory
	
10.	LukaszF
	FIX PDEF128516: Code paging doesn't work with memory type remapping
	 - Changed memory permissions to use KUserCodeLoadPte instead of KUserCodeRunPte whilst the codeseg is being loaded.

11.	indrajeetsingh
	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.
	2.	BREAK REQUEST: BR2407.1:Client Name added as an additional parameter to the CustomFunction()


Version 2.00.1953
=================
(Made by SebOlney  24/09/2008)
1.	fabiangortz
	1.	DEFECT FIX: DEF123150: T_usb crashes H4 board occasionally in the scenario when host is transmitting

2.	RichardCo
	1.	DEFECT FIX: DEF127569: e32cmn.h: uncaught_exception() isn't declared IMPORT_C 

3.	ChrisM
	1.	MILESTONE: Sphinx, GT0339, MS3.19 : graphics PREQ2098 enable dynamic allocation of DSA buffer.
		(New export in EKern  Kern::ChunkUserBase and new HAL attribute  EDisplayMemoryHandle.)

4.	JonathanM
	1.	DEFECT FIX: DEF127853: Uneccessary XTRAP_PAGING in IPC copy functions
	2.	DEFECT FIX: DEF127855: Various Flexible Memory Model defects

5.	SivashankarN
	1.	DEF126754: [Coverity] - DEADCODE- /base/template/template_variant/usbho

6.	IanMo
	1.	DEFECT FIX: DEF125888: T_USBDI Code Review Resolutions Required
	2.	DEFECT FIX: DEF126640: StopStacks Crash needs investigation 
	3.	DEFECT FIX: DEF127252: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
	4.	DEFECT_FIX: DEF126346: 'B' Device should accept all bMaxPower levels from 'A' device
   		Changes to usbhost drivers



Version 2.00.1952
=================
(Made by georgiosdementis 22/09/2008)

1. JenniferH
	1.	DEFEXT FIX: DEF126165: ZlpFlag not set when using shared chunk USB BIL GetBuffer

2. Radhakrishnanramanat
	1.	DEFECT FIX: DEF127764: User::LockedDec(): Documentation is not correct
	
3. vinojose
	1.	DEFECT FIX: DEF127216: Handling of advanced digitiser attributes should only be supported explicitly

4. ReubenH
	1.	DEFECT FIX: DEF127113: FAULT: Exception 0x10000000 when running test 
	
5. andrewhickman	
	1. DEFECT FIX:  PDEF127938 TLanguage needs an entry for Indic English



Version 2.00.1951
=================
(Made by georgiosdementis 22/09/2008)

1. 	georgiosdementis
	1.MINOR_CHANGE: Remove occurrences of macro __SMP_KERNEL_AVAILABLE__



Version 2.00.1950
=================
(Made by georgiosdementis 19/09/2008)

1. 	georgiosdementis
	1.	MILESTONE: Diran,  GT0364, MS3.2.1  : PREQ 1994: ARM11 MPCore SMP BSP Initial delivery   	


Version 2.00.1949
=================
(Made by georgiosdementis 12/09/2008)

1.	MarkTa
	1.	DEFECT_FIX: DEF126321: Reported size of filesystem cache chunk keeps increasing
		Ensure DChunk::Lock() discounts any reclaimed pages from DChunk::iSize.
	2.	DEFECT_FIX: DEF126846: Calls to NKern::ThreadGetUserContext can crash system 
		Add checks for the NThread being in the EDead state to the thread context set and get methods.

2.	dharmeshgandhi
	1.	DEFECT_FIX: DEF127434: RMdaDevSound::BytesPlayed( ) API documentation needs to more specific 

3.	fabiangortz
	1.	DEFECT FIX: PDEF127654: base_e32.mrp has redundant "source" statement

4.	SebOlney
	1.	DEFECT FIX: PDEF127457: Documentation is needed for HAL::GetAll()
	2.	DEFECT FIX: DEF125983: Sound driver does not check for UserEnvironment capability when recording.

5.	SharathK
	1.	DEFECT FIX: DEF126047: APIREG: SetPlayFormat() does not return KErrNotSupported

6.	RyanHarkin
	1.	MINOR_CHANGE: added 3430 extension makefile config files


Version 2.00.1948
=================
(Made by georgiosdementis 05/09/2008)

1.	RyanHarkin
	1.	MILESTONE: Diran,  GT0364, MS3.8 : PREQ2127: MHA Register Access API

2.	Dennis
	1.	MILESTONE: Diran,  GT0364, MS3.1 : PREQ1954: Foundation SMP Kernel
		DS1189
		First delivery of prototype SMP kernel for ARM.

3.	NeilClifford
	1.	DEFECT FIX: DEF127099: Divide by zero error in MMC driver when alternate slot populated at boot
	2.	DEFECT FIX: PDEF127290:	5.0 Unable to change or remove password from memory card

4.	JessieZhang
	1.	DEFECT FIX: DEF127108: t_pccdbm.cpp calls test.Getch() without prompting the tester for input
	2.	MINOR_CHANGE: Updated the documentation for RMdaDevSound::FlushPlayBuffer
	3.	Defect Fix: PDEF126686: armcchlp.cia file in ekern.mmp needs to avoid future GCCXML build

5.	ParameshwariB
	1.	DEFECT_FIX:  DEF126865: Integrator board fault in overnight test runs

6.	RichardCo
	1.	DEFECT FIX: DEF127325: VFP documentation doesn't describe how to enable VFPv3
		Updated Base_How_To_VFP_Support.doc
	2.	DEFECT FIX: PDEF127463: Issue with Neon support in Symbian Kernel 

7.	KathrynThomas 
   	1.	DEFECT_FIX: DEF126350: Scheduling deferred notifications in interrupt context creates panic
   	2.	DEFECT_FIX: DEF126592: Some shortlink components failed at GCCXML build
   	3.	DEFECT_FIX: DEF126431: New USB Host/OTG stack drop (3.0.4.1.13.1.3)
   	4.	DEFECT_FIX: DEF126721: RUsbInterface::Open causes panic
   	5.	DEFECT_FIX: DEF125891: Calling RUsbOtgDriver::StopStacks() Can Crash The Kernel

8.	ExtRajeswariR
   	1.	DEFECT_FIX: DEF126558: Some component cannot pass GCCXML build
   	
	


Version 2.00.1947
=================
(Made by indrajeetsingh 26/08/2008)

1.	VincentF
	1.	MINOR_CHANGE: Reduce time taken by the automated USB Performance Tests

2.	SivashankarN
	1.	DEF126155: template_variant\usbho has different IPR in different components 

3.	JenniferH
	1.	DEFECT FIX: DEF126163: DMA resource allocation failure on shared chunk USB LDD

4.	MarkTa
	1.	MINOR CHANGE: Fix mismatch of test.Start()/test.End() pairs in t_svr.

5.	AndrewHaigh
	1.  	DEFECT FIX: PDEF125836: Run-mode debug API should have AddProcess/RemoveProcess debug events
	2.  	DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
	3.  	DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be. 
	4.  	DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
	5.  	DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
	6.  	DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)

6.	StephenRoberts
	1. 	DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events


Version 2.00.1946
=================
(Made by MichaelCox, 20/08/2008)

1	LukaszF
	1.	MINOR_CHANGE: Updated HAL with Machine UID support for NaviEngine (NE1_TB).


Version 2.00.1945
=================
(Made by patrickconway, 15/08/2008)

1.	JessieZhang
	1.	DEFECT_FIX: DEF125980: Amiguous comment for RPlugin::Open
	2.	DEFECT_FIX: DEF126401: [coverity] - All identified false positives are to be tagged correctly.

2.	DaveGordon
	1.	DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model

3.	MichaelP
	1.	MINOR_CHANGE: USB Client Driver API Guide: Added information about the new
		endpoint resource allocation scheme in section 4.6 "Endpoint Resource
		Allocation, De-allocation and Use Query". Upped document version to 3.2.
	2.	MINOR_CHANGE: USB Client Porting and Test How-To Document: Added section 3.6
		on endpoint resource management. Upped document version to 3.5.
	3.	DEFECT_FIX: DEF126402: USB Client PDD: New endpoint resource request scheme not fully functional
		New virtual method 'TBool DeviceResourceAllocV2Caps() const' to class
		DUsbClientController + default implementation in PIL which just returns
		EFalse + adding of flag KUsbDevCapsFeatureWord1_EndpointResourceAllocV2
		to TUsbDeviceCaps::iFeatureWord1 if the PSL has overridden that function
		to return ETrue.
4.	RyanHarkin
	1.	DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
	2.	DEFECT_FIX: DEF126358: CTS line inverted in 16550 uart code

5.	ReubenH
	1.	MINOR_CHANGE: Updated in-source documentation for RThread::Kill and RThread::Terminate 
		in response to INC125714.
	2.	MINOR_CHANGE: X86PC only: Added support for PCI-based debug serial ports.
	3.	DEFECT_FIX: PDEF126495: Date and time settings are not preserved over reset

6.	ParameshwariB
	1.	DEV_CR: CR1258: Support compression of unpaged section in XIP ROM 
	   BREAK REQUEST: BR2457.1:ROMBUILD compression will compress ALL of a demand paged ROM by default

7.	VincentF
	1.	DEFECT_FIX: DEF126463: IPR mismatch in base_e32_sd3c
	2.	DEFECT FIX: DEF126464: base_e32 should not have cat E
	3.	DEFECT FIX: DEF126466: IPR mismatch in base_wins

8.	SivashankarN
	1.	DEFECT_FIX: DEF126158: drivers\usbho\usbd has different IPR in different components 

9.	JonCo
	1.	DEFECT FIX: DEF126450: Accidentally exported DThread APIs should be removed
		BREAK REQUEST: BR2443: Remove accidentally exported DThread APIs
		Un-exported DThread::RequestComplete, DesRead, DesWrite, GetDesInfo, GetDesLength, GetDesMaxLength
	2.	DEFECT FIX: DEF126377: Regression in base\e32\kernel leads to panics in Backup Niotif Server clients
		Fixed problem where blind messages sent on a session with a dedicated message pool leaked the
		message objects

Version 2.00.1944
=================
(Made by JohnS, 11/08/2008)

1.	LukaszF
	1.	DEFECT_FIX: DEF119839: Assabet build broken
	 - updated conditional msr calls for StrongARM - to workaround the processor bug.

2.	NeilC
	1.	DEFECT_FIX: PDEF126033: CMD55 may be handled as ACMD in SD controller

3.	JessieZhang
	1.	DEFECT_FIX: DEF125688: Return value of Kern::ThreadRawWrite not checked in d_usbc.cpp

4.	JonathanM
	1.	DEFECT_FIX: DEF126209: Debug checks needed for unsafe user memory access by kernel code
		NOTE: These checks are enabled by default in UDEB builds, to disable them completely
		the baseport must define the macro __KERNEL_APIS_DISABLE_USER_MEMORY_GUARDS__ in it's
		variant.mmh.
	2.	DEFECT FIX: DEF126326: Kernel user-permission checking disabled after Kern::HalFunction is used

4.	SteveElliott
	1.	MINOR_CHANGE: Support for shared chunk USB LDD with t_usb_scdevice and general improvements
		to automated USB test framework.

	2.	DEFECT_FIX: DEF126222: Larger heap size and error checks on buffer allocation in t_usb_device.

5.	MiguelB
	1.	DEFECT_FIX: DEF125977: MMC demand paging ROM boot failure (UREL)
		Fixed deadlock in H4's MMC card detect interrupt handler

Version 2.00.1943
=================
(Made by ReubenH, 04/08/2008)

1.	marcinmaksymiuk
	1.	DEFECT_FIX: DEF124846: PREQ1340: Documentation how to instrument custom allocator is missing 

2.	DaveGordon
	1.	DEFECT_FIX: PDEF122684: Severe performance problem in DThread::RawWrite and DThread::RawRead
		Fixes to DThread, propagated from 9.4; also tests to verify presence of said fixes.
		NOTE: these tests may reveal an issue on Moving memory model platforms e.g. H2; see DEF125612.
		NOTE: these tests may or may not induce failure of subsequent t_filecache test; see DEF125829.

3.	GeorgeSin
	1.	DEFECT_FIX: PDEF125611: SPPR_PERF: DmDomainServer crashes under IPC fuzzing 
		

Version 2.00.1942
=================
(Made by ParameshwariB, 01/08/2008)

1.	JessieZhang
	1.	DEFECT FIX: PDEF124808: TDrive::iChanged set to ETrue on user drive when secure drive remounted
	2.	DEFECT FIX: PDEF125350: t_ramdefrag test failure on h4 urel

2.	MarkTa
	1.	DEFECT FIX: DEF125756: UserHeap::ChunkHeap() documentation is incorrect 
		Corrected the insource docs.

3.	ReubenH
	1.	MINOR_CHANGE: Fixed X86GCC build breaks due to accidental euser.def integration.

4.	SebOlney
	1.	DEFECT FIX: DEF125472: Prioritised Extension loading broken on emulator
		Do not define DECLARE_EXTENSION_WITH_PRIORITY for emulator builds.
		Additionally, make extension loading on the emulator give name of the extension
		it does or doesn't load.



Version 2.00.1941
=================
(Made by SivashankarN, 28/07/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF124697: Build with __USERSIDE_THREAD_DATA__ enabled crashes
		Move call to UserSvr::DllSetTls() to after call to UserHeap::SetupThreadHeap(),
		since DllSetTls() requires the heap to be initialised if userside thread data is used.
	2.	DEFECT FIX: DEF125561: Circular buffer of unsigned integers - wrong range (signed range specified)
		Update the documentation of CCirBuffer to be clear about the use of 8-bit unsigned integers.

2.	RyanHarkin
	1.	DEFECT FIX: PDEF125661: Build component "base\omap_hrp\h4_bootloader" error for GCCXML

3.	JonCo
	1.	MILESTONE: Diran, GT0421, MS3.10, DS1077, REQ10699: Kernel: Re-architect kernel services to minimise inter-process memory accesses
	2.	DEFECT FIX: DEF125475: Race condition updating count of user threads runing

4.	fabiangortz
	1.	MINOR CHANGE: Changed classification of d32otgdi_errors.h back to publishedPartner/prototype

5.	JessieZhang
	1.	DEFECT FIX: DEF123573: Incorrect entry in mrp file for base e32 
	

6.  AndrewHaigh
    1.  DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
	2.  DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be. 
	3.  DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
	4.  DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
	5.  DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)

7.	StephenRoberts
	1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events

Version 2.00.1940
=================
(Made by fabiangortz, 24/07/2008)

1.	MiguelB
	1.	DEFECT FIX: PDEF124945: MMC stack power-down should cancel stack DFC

2.	DjordjeK
	1.	DEFECT FIX: PDEF125485 ARM1176 devices do not output JTAG

3.	RichardCo
	1.	DEFECT FIX: INC124027: PlatSec Base Config Document updates required

4.	fabiangortz
	1.	MILESTONE: Sphinx, GT0394, MS3.3, DS924 PREQ1305: Shortlink, USB OTG HNP-A, SRP
	2.	BREAK REQUEST: BR2408.1: Deprecate Existing USB Client Endpoint Resource Allocation APIs
	3.	BREAK REQUEST: BR2497.1: Changed prototype error code values

5.	LaneR
	1.	MINOR_CHANGE: Added CortexA9 support


Version 2.00.1939
=================
(Made by fabiangortz, 21/07/2008)

1.	MichaelP
	1.	DEFECT FIX: PDEF124751: HSUSB LDD: Cache attributes are incorrect
		Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled.
		The defect fix also includes the necessary USB PDD PSL changes for the H2
		and H4 (FS + HS) reference platforms.
	2.	BREAK REQUEST: BR2464.2 Enabling IN buffer cacheing in the USB Client LDD
		Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled (see
		PDEF124751). Up until now only the LDD's OUT/Rx buffers have been cached.
		If a USB Client PDD PSL implementation supports DMA for IN transfers then
		the Tx data buffer coming from the LDD via the PIL
		(TUsbcRequestCallback.iBufferStart) will need to get synched with main memory
		before starting the transfer. To that purpose the Symbian function
		Cache::SyncMemoryBeforeDmaWrite() should be called before the IN transfer is
		initiated. More information can be found in the USB PSL porting guide
		(/base/documentation/Base_How_To_USB_Client_Porting_and_Test.doc) and in
		example PSL implementations (e.g. /base/cotulla/pa_usbc.cpp).

2.	DjordjeK
	1.	CHANGE REQUEST: Development CR CGTN-7F8H3Q, Kernel, GT0339 Base Meteora,
							TMappingAttributes2 to be changed to @publishedPartner
		To ensure the best performance of WT DMA memory, this CR should be accompanied by DEF125125
	2.	DEFECT FIX: DEF125125 DMA framework is not efficient with Write Through memory in L2 cache
	3.	DEFECT FIX: DEF125167 Improve performance of L220 cache maintain operations

3.	TomCosgrove
	1.	DEFECT FIX: DEF125005: [coverity] - FORWARD_NULL, CHECKED_RETURN- base/template/template_variant/usbho
		CID169 is not a defect.  Fix CID14 by checking the return value from jinterrupt_setup().


Version 2.00.1938
=================
(Made by RichardCo, 17/07/2008)

1.	MichaelP
	1.	DEFECT FIX: DEF124965: USB Client PDD: Correct Device State Transition Warnings

2.	ReubenH
	1.	DEFECT FIX: DEF125022: Change in __DECLARE_TEST macro broke debug build

3.	RichardCo
	1.	DEV CR: BBRE-7G7GJ2: Kernel, GT0364 SMP, Implement unprioritised scheduling mode for code safety testing (Crazy Scheduler version 2)
		Introduce the crazy scheduler version 2, an improved test tool for verifying the safety
		of asychronous code. Disabled by default, enable with kernel config flag
		EKernelConfigCrazyScheduling on debug builds.


Version 2.00.1937
=================
(Made By LukaszF, 15/07/2008)

1.	DjordjeK
	1.	DEFECT FIX:  PDEF124733: Implementation needed for L220 errata
		The fix for errata ID 484863: "The Cache Sync operation does not guarantee that the Eviction Buffer is empty"

2.	DanH
	1.	MINOR_CHANGE: Added support for NaviEngine bsp in Techview iby file

3. 	vinojose
	1.	DEFECT FIX:  DEF124797: errors in IM tagging in base headers


Version 2.00.1936
=================
(Made By JenniferH, 09/07/2008)

1.	JenniferH
	1.	MILESTONE: Sphinx, GT0339, MS3.8 DS793 PREQ 1846: Peripherals : Improve USB client application efficiency by using Shared Chunks


Version 2.00.1935
=================
(Made By KaiD, 09/07/2008)

1.	ColinWard
	1.	DEFECT FIX: DEF122798: Windows Server 2003 - Emulator hangs when playing star-up test sound

2.	NeilC
	1.	DEFECT FIX: DEF124577: MMC Stack: iCurrentSelectedBusWidth is Initialised to EBusWidth1
	2.	DEFECT FIX: DEF124613: SDIO stack incorrectly parsing the CCCR register content

3.	ReubenH
	1.	DEV CR: JPAR-7DQDXR: Kernel, GT0339 Base Meteora, Add Kernel side APIs to retrieve 
		TSecurityInfo from DThread/DProcess
	2.	DEV CR: STEN-7A4ECK: Kernel, GT0339 Base Meteora, Clean-up in preparation for RVCT 3.1

4.	MichaelP
	1.	DEFECT FIX: PDEF124685: Array overrun in DLddUsbcChannel::HandleMsg 
	2.	DEFECT FIX: PDEF124686: Array overrun DLddUsbcChannel::DoRequest


Version 2.00.1934
=================
(Made By DmitryL, 07/07/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF123276: IPR statement in MRP and disttibution.policy don't match
		base/e32/common and subdirectories are IPR category D, so mark as such in base_e32_euser.mrp

2.	RyanHarkin
	1.	DEF124183: T_VIDEO sets invalid values

3.	DjordjeK
	1.	MINOR_CHANGE: SMP platforms shouldn't have Normal Non-Shared Memory.
		Marked as minor change because only NaviEngine platform is affected.

4.	vinojose
	1.	CHANGE REQUEST: Development CR BBRE-7CERCU:Kernel, GT0339 Base Meteora, PREQ1226: TRawEvent and 
		HAL to support multi-pointer UIs

5.	MichaelCox
	1.	DEFECT FIX: PDEF124470: Incorrect source file classification for some base_e32 dirs



Version 2.00.1933
=================
(Made By NeilC, 26/06/2008)

1.	MiguelB
	1.	BREAK REQUEST: BR2376.2: Extend & future-proof TMMCard

2.	marcinmaksymiuk
	1.	PREQ1340: new BTrace EHeap sub-categories, further trace instrumentation of RHeap allocator
		New eexe_monitor_heap.lib added as optional library to enable monitoring for heap corruption


Version 2.00.1932
=================
(Made by NicholasC, 23/06/2008)

1.	AndreasP
	1.	DEFECT FIX: DEF123209 Device drivers in E32TEST use unsafe techniques

Version 2.00.1931
=================
(Made by indrajeetsingh, 20/06/2008)

1.	NeilC
	1.	DEFECT FIX: DEF120522: Read Performance Degradation when file cache disabled after PREQ1724 submitted
	2.	MINOR_CHANGE: Typo in MMC Double Buffer How-to Doc BlockSize() -> BlockLength()

2.	MichaelP
	1.	DEFECT FIX: DEF123556: USB HNP/SRP - Expected Message KUsbMessageHnpDisabled Not Received

3.	TomCosgrove
	1.	DEFECT FIX: DEF123906: User::At documentation talks about absolute time
		Clarified that the absolute time passed to User::At() should be in the current time zone

4.	RyanHarkin
	1.	MINOR_CHANGE: adding a boot parameter for ARMv6 and ARMv7 single/direct memory model
		This code is only built by Base and no other BSPs for these CPU targets have single
		memory model.
		
5.	MiguelB
	1.	DEFECT FIX: PDEF124016: Erase of secure area when formatting secure area of SD card is incorrect

Version 2.00.1930
=================
(Made by patrickconway, 17/06/2008)

1.	JohnS
	1.	DEFECT FIX: DEF122690: h4_restricted_on_coreldr.mk fails when build with Raptor 

2.	patrickconway
	1.	DEFECT FIX: DEF123576: insource documentation for RMessagePtr2 problem 

3.	DjordjeK
	1.	MINOR_CHANGE: NaviEngine baseport update. (The first drop of DMA support.)
		See //EPOC/DV3/team/2006/base/dev1/bsp/hwip_nec_naviengine/release.txt for details.

4.	MarkTa
	1.	DEFECT FIX: PDEF123764: New API RChunk::Create(TChunkCreateInfo&) breaks coding standards
		Rearrange some declarations in header file for TChunkCreateInfo.

5.	ReubenH
	1.	DEFECT FIX: PDEF123776: Some e32test def files are not frozen


Patch to version 2.00.1929
==========================
(Made by JonCo, 16/06/08)

1	JonCo
	1.	DEFECT FIX: DEF123718: [v9.5] [System Build]:TV and CBR stage errors related to Systemtest_OS in M04580


Version 2.00.1929
=================
(Made by deleogunjumelo, 11/06/2008)

1.	MarkTa
	1.	DEFECT FIX: PDEF123352: Performance: Memory reserved for large bitmaps is always cleared black and then
		Add new RChunk::Create method to allow all types of chunks to be created using the new 
		struct TChunkCreateInfo.  Add TChunkCreateInfo::SetClearByte() to allow any byte value to be
		used to clear committed chunk memory.

2.	JonathanM
	1.	DEFECT FIX: PDEF123402: LogicalDeviceGetCaps() fn should sanitize mem ptr given to LDD GetCaps() 
	2.	DEFECT FIX: DEF123538: RPipe driver reads user supplied arguments in unsafe manner
	3.	DEFECT FIX: DEF123542: RProperty::Set allows access outside of a processes memory
	4.	DEFECT FIX: DEF123528: Resource Manager driver reads user supplied name in unsafe manner

3.	SushmitaR
	1.	MINOR_CHANGE: Fix minor error in t_ramdefrag when setting up a specific test

4.	VincentF
	1.	MINOR_CHANGE: Automated USB Test Framework Update

5.	LukaszF
	1. DEFECT FIX: PDEF123584: t_codepaging fails if paging cache is too big
	 - skipped tests designed for stressed confguration for bigger cache size configurations.
	2. DEFECT FIX: DEF122371: Bug in the current RBuf8/16::ReAlloc implementation
	 - Updated documentation to describe the behaviour.

6.	MiguelB
	1.	DEFECT FIX: PDEF123464: No Init() error check in TMMCardControllerInterface::Create
	2.	DEFECT FIX: DEF118543: CPRM: CIMSecureReadWriteBlocksSM - insufficient error handling

7.	DjordjeK
	1.	DEFECT FIX: PDEF122819: Symbian must be compliant with ARML210 Errata List
		Only the platforms with L210 L2 cache are affected.

8.	JonCo
	1.	MILESTONE: Sphinx, GT0339, MS3.17, DS1078, REQ8666: Support for global destuctors


Version 2.00.1928
=================
(Made by JohnS, 05/06/2008)

1.  VitalyR
	1.  DEFECT FIX: DEF122877: On CortexA8 BuffredNC memory mapping attribute is broken.

2.	AndrewHi
	1.	DEFECT FIX: DEF116274: Caps buffer used by LFFS should be derived from 'v6


Version 2.00.1927
=================
(Made by patrickconway, 05/06/2008)

1.	patrickconway
	1.	DEV CR: BBRE-7E6L2G Kernel, GT0339 Base Meteora, Kernel: Re-factor allocation/deallocation functions on emulator


Version 2.00.1926
=================
(Made by RichardCo, 01/06/2008)

1.	JohnSucksmmith
	1.	DEF122688: h4_restricted_on_miniboot.mk fails when build with Raptor

2.	OlegI
	1.	DEFECT_FIX: DEF121874: TCollationMethod documentation not generated

3.	MarkTa
	1.	DEFECT FIX: DEF122954: RProperty::Define comments unclear on category value
		Update comments to refer to document detailing the correct usage of properties' categories.
		
4.	MiguelB		
	1.	DEFECT FIX: PDEF122983: 5.0 Unable to unlock locked memory card
		Fixed regression caused by PDEF120544

5.	NeilC
	1.	DEFECT FIX: DEF122071: Invalid references in resourcecontrol_trace.h
	2.	DEFECT FIX: PDEF122484: F32_UserDisk: T_DSPACE test fail
	3.	DEFECT FIX: PDEF123067:	SDIO driver interface hangs the second time it is initialized

6.	GayathriR
	1.	DEFECT FIX: DEF122521: USB Client locks up in an error-report spin-loop if VBUS is dropped and raised

Version 2.00.1925
=================
(Made by ParameshwariB, 23/05/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF123131: X86PC only: Update to NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp.
	2.	MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
		Corrections made in several files throughout base code.
	3.	DEFECT FIX: PDEF122731: move some PlatSec enforcement from run-time to build-time
		iKernelFlags becomes private, with an accessor function that ensures required bits
		are always set (unless __PLATSEC_UNLOCKED__ is defined by the base port).  In addition
		(also unless __PLATSEC_UNLOCKED__ is defined), no capabilities can be disabled via
		iDisabledCapabilities.

2.	JohnSucksmmith
	1.	DEFECT FIX: PDEF119924: Nand drive setup incorrect on h4 
		Updated h4 variantmediadef.h file to provide extra NAND drive for crash logging
		
3.  	VitalyR
	1.	DEFECT_FIX: DEF118718: GetCompositionBufferInfo() faults kernel when passed invalid parameters.
	2.	DEFECT_FIX: DEF122332: Error in GCE driver calling RDisplayChannel::SetRotation() with an invalid value.
	3.	DEFECT_FIX: DEF117988: LCD ROM macro usage forces redundant use of macros.
	4.	DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.
	5.	DEFECT_FIX: DEF120343: RDisplayChannel::RegisterUserBuffer returns unexpected return values.
	6.  DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.



Version 2.00.1924
=================
(Made by SivashankarN, 19/05/2008)

1.	fabiangortz
	1.	DEFECT FIX: DEF122167: Invalid Schedule 12 details for OTG componens
		Note: The schedule 12 entries have already been updated (refer to integration database, 
		NC7058 - NC7061), so a supporting submission is not necessary

2.	patrickconway
	1.	DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)

3.	TomCosgrove
	1.	MINOR CHANGE: e32test.h: Fix typos in comments on @internalComponents and update copyright.

4.	AttilaVamos
	1.	DEFECT FIX: DEF122209: RProcess::CreateWithStackOverride() is not documented corrected 

5.	MarkTa
	1.	MINOR CHANGE: Fix X86GMP nktest linking errors.


Version 2.00.1923
=================
(Made by ReubenH, 12/05/2008)

1.	JonathanM
	1.	DEV CR: BBRE-7E5HKY: Kernel, GT0419 Base Duranduran, Preparation work for Flexible Memory Model
		- Add new DChunk::Base overload which takes a DProcess argument - to obtain address of a
		  chunk in a particular process. (This allows for the fact that chunks may simultaneously
		  appear at different addresses in different process.
		- Extend ROMBUILD to understand new MEMMODEL type 'FLEXIBLE'.
		- Numerous small memory model specific configuration changes.

2.	IanKing
	1.	DEFECT FIX: DEF119651: DUsbInterface::Resume() returns potentially misleading error code
	2.	DEFECT FIX: DEF119645: DUsbInterface::PermitRemoteWakeup() returns potentially misleading error code

3.	DjordjeK
	1.	DEFECT FIX: DEF122241: arm11mpcore is using wrong mmu instruction to flush tlb entry
		Revert of the change introduced by PDEF121503 related to arm11mpcore platform/

4.	RichardCo
	1.	DEFECT FIX: DEF115401: Incomplete validation of data in loader 

5.	AnatolyP
	1.	DEFECT FIX: DEF121875: TExtendedLocale::GetPreferredCollationMethod has no documentation

6.	MarkTa
	1.	MINOR CHANGE: Fix some typos in Base_How_To_Shared_Chunks.doc

7.	PhilipSturdy
	1.	DEFECT FIX: DEF118984: Assembler version of wordmove lacks debug asserts


Version 2.00.1922
=================
(Made by LukaszF, 09/05/2008)

1.	MiguelB
	1.	DEV CR: SWIS-7BJN5G: Peripherals, GT0339 Base Meteora, Align FAT user data area to media block boundaries for optimised performance

2.	JohnS
	1.	Minor_Change: Remove obsolete smoke test files romnandtechviewh2.oby & romnandtechviewh4hrp.oby 
		from e32/rombuild
	2.	DEFECT FIX: DEF122334: Nandtest_load_rel.oby and base.iby files not updated for OneNAND. 
	3.	Minor_Change: Use uncommented anInfo in DPhysicalDeviceMediaNand::Validate() implementation 
		only when needed for WINS builds

3.	TomCosgrove
	1.	MINOR_CHANGE: X86PC only: Implement NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp,
		for debugger support.

4.	DjordjeK
	1.	DEV CR:  BBRE-7E9CYF: Kernel, GT0364 SMP, Support for shared memory types in Kernel (part of SMP)


Version 2.00.1921
=================
(Made by KaiD, 30/04/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF121689: template variant mmh and config.inc treat errata macros incorrectly
		Replace "#define" with "macro" in appropriate places
	2.	DEFECT FIX: DEF121973: RProcess::SetParameter in source doc omission
		Clarify that APPARC programs should only use 'public use' slots.

2.	GayathriR
	1.	DEFECT FIX: PDEF121192: Possible deadlock in USB LDD

3.	RajivMaskara
	1.	DEFECT FIX: DEF120462: APIREG: No documentation on TCommCapsV01 etc

4.	MichaelCox
	1.	DEFECT FIX: DEF121633: Use PLATFORM_PATH and CFG_PATH in path in TEM

5.	NeilC
	1.	DEFECT FIX: DEF121231: ONB: uiktest_t_error in 9.5 started to fail for winscw(mmc returns KErrNotReady)

6.	JonCo
	1.	DEFECT FIX: PDEF121716: Impact on Symbian OS because of absence of FIQ control in non-secure world (HLOS

7. 	DipakA
 	1.	DEFECT FIX: DEF121425: Error in test code Vendor Id - t_pipe5.exe 
 		Comment added in t_pipe5.mmp file for Vendor Id.

8.	SivashankarN
	1.	DEFECT FIX: DEF121780: Possible bug or redundant code in USB HOST driver 

9.	DaveGordon
	1.	DEFECT FIX: DEF118763: Race condition in Thread logon and rendezvous

10.	JonathanM
	1.	DEFECT FIX: DEF121857: RChunk::Decommit can decommit the wrong memory 


Version 2.00.1920
=================
(Made by DmitryL, 28/04/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF121645 [SystemBuild]: Include filenames should be case sensitive
		Fix #include <WINIOCTL.H> to be #include <winioctl.h>

2.	RichardCo
	1.	DEFECT FIX: PDEF121624: MoveKernelPage breaks a pre-condition where __FLUSH_PT_INTO_RAM__ is enabled

3.	BhaskarR
	1.	DEFECT FIX: DEF120299: APIREG: Lack of documentation for RBusDevComm in Symbian Dev Library

4.	MarkTa
	1.	MILESTONE: Sphinx, GT0326, MS3.18, DS1065, CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
		CHANGE REQUEST: CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
	2.	BREAK REQUEST: BR2352.2: Removal of RAM zone allocation thresholds
		Improve the RAM page allocator to only have in use the minimum number of RAM zones required to be in use.
		Also, reduces the spread of fixed pages across the RAM zones by attempting to allocate fixed pages into
		the most preferable RAM zones with free, movable or discardable pages in them, moving or discarding pages if necessary.

5.	ReubenH
	1.	DEV CR: CGTN-7CNGPX: Kernel, GT0339 Base Meteora, Support for Secure Clock on Emulator


Version 2.00.1919
=================
(Made by fabiangortz, 22/04/2008)

1.	TomCosgrove
	1.	DEFECT FIX: PDEF121420: Wrong documentation of ChunkPhysicalAddress() may lead to device driver crash
		The correct formula for the maximum number of pages that n contiguous bytes
		might occupy is (n + PAGE_SIZE-2)/PAGE_SIZE + 1.
	2.	DEFECT FIX: DEF121432: Wrong directory separator in include statement in resman.mmp
		Change backslash path separator to forward slash (/).

2.	RichardCo
	1.	DEV CR: BBRE-7DGGYS: Kernel, GT0364 SMP, Implement rescheduling delays for code safety testing
		Introduce the crazy scheduler version 1, a test tool for verifying the safety
		of asychronous code. Disabled by default, enable with trace flag KCRAZYSCHEDDELAY
		on debug builds.

3.	MiguelB
	1.	DEFECT FIX: PDEF121429: Devide by zero fault on H4 with dual-slot support enabled & no card inserted

4.	AttilaV
	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.
	2.	BREAK REQUEST: BR2398.1 PREQ 1115 : Update class CrashFlashNand from file /cedar/generic/base/e32/drivers/crashflash/unistore2/crashflashnand2.h 

5.	DjordjeK
	1.	DEFECT FIX: PDEF121503 t_heap2 failed with background t_ramstress
		TLB wasn't properly flushed when data is decommited. This is stability issue.

6.	LukaszF
	1.	DEFECT FIX: DEF121118: Math::Round is not rounding the value correctly
		Updated documentation to explain the meaning of KMaxPrecision constant.


Version 2.00.1918
=================
(Made by NicholasC, 18/04/2008)

1.	MichaelP
	1.	DEFECT FIX: DEF121113: USB Client Driver: Potential Ep0 deadlock situation
		'New' bitmap member iFeatureWord in class TUsbcInterfaceInfo + new flag
		KUsbcInterfaceInfo_NoEp0RequestsPlease for use via USB LDD call
		RDevUsbcClient::SetInterface(). If the flag is set (by default it's not),
		then valid Ep0 Setup requests addressed to that interface or any of its
		endpoints will be stalled by the PDD PIL. For more info see section 4.7 here:
		Updated USB API Guide accordingly, upped document version to 3.1.

2.	DjordjeK
	1. 	Minor_Change: The change of debug log category in ExecHandler::RegisterTrustedChunk

3.	MarkTa
	1.	DEFECT FIX: PDEF121125: TRamDefragRequest has incorrect Doxygen tagging should be publishedPartner
		Update doxygen tagging on TRamDefragRequest and TRamDefragOp.
	2.	BREAK REQUEST: BR2394.2 TRamDefragOp should be tagged as internalAll

4.	TomCosgrove
	1.	DEFECT FIX: PDEF121232: The error code is not handled in FindF API.
		Fix this defect by reverting the original fix for PDEF119871 (the propagation
		of INC117914 to the MCL).

5.	RichardCo
	1.	DEFECT FIX: DEF120854: atexit() of base has empty implementation.
		WINSCW doesn't appear to actually need the dummy atexit() so only provide it
		for MSVC builds (WINS).

6.	NeilC
	1.	DEFECT FIX: PDEF121228: Invalid value written to partitiontable of SDHC protected area


Version 2.00.1917
=================
(Made by indrajeetsingh, 16/04/2008)

1.	SebOlney
	1.	MINOR_CHANGE: Clarify description for User::Panic - category is limited to 16 characters.

2.	DanH
	1.	DEFECT FIX: DEF120034: Flogger server blows its stack on x86gcc
		Set the default stack size to 16KB on X86GCC.

3.	francisbinns
	1.	DEFECT FIX: PDEF120594: T_FOLDPERF - Missing line ends in the performance tests
		Added newlines ("\n") to Printf statements.

4.	MichaelP
	1.	DEFECT FIX: DEF121070: USB PDD PIL doesn't reset interface setting upon un-configuration
		When tearing down an interface (in response to a SET_INTERFACE or
		SET_CONFIGURATION request), the PIL now resets the current alternate setting
		number for that interface to 0.


Version 2.00.1916
=================
(Made by deleogunjumelo, 09/04/2008)

1.	NeilC
	1.	MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem				
	2.	MINOR_CHANGE: Corrected x86GCC build errors and warnings; missing ordinals from ekern and euser.	

2.	MichaelP
	1.	DEFECT FIX: PDEF120716: USB Endpoint SETUP packet fails to be handled in phone
		Class- or vendor-specific Ep0 Setup requests directed to an interface or an
		endpoint are now stalled by the USB Client PIL if the device is not in the
		Configured state.
	2.	MINOR_CHANGE: Removed space characters from file name
		/e32test/usb/t_usb_win/scripts/setting 2 close.uts

3.	SebOlney
	1.	DEFECT FIX: DEF119767: T_CONDVAR fails on emulator


Version 2.00.1915
=================
(Made by patrickconway, 03/04/2008)

1.	SebOlney
	1.	DEFECT FIX: DEF119148: Build eexe.lib as ARM (not Thumb)
		Also changed edll.lib to build as ARM.

2.	markhambleton
	1.	DEV CR: BBRE-7D6ERF: Kernel, GT0364 SMP, Minor tools changes to support the x86 SMP nanokernel 

3.	ParameshwariB
	1.	DEFECT FIX: DEF120375: Missing Resource manager includes causes SDIO on H4 not to compile 
		Also fixed other problems found during code inspection.

4.	TomCosgrove
	1.	DEFECT FIX: PDEF120402: NULL Pointer Dereference
		Add braces around statements that should be executed only if (pS != NULL).
	2.	DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
		Protect definition of macro MAX() with #ifndef MAX/#endif
	3.	DEFECT FIX: DEF120460: Bug in D_LATNCY.CPP
		Remove power handler from power manager's list when DLatency is destroyed.
	4.	MINOR_CHANGE: X86PC only: Add macro __DEBUGGER_SUPPORT__ to x86pc/variant.mmh and
		implement NKern::ThreadGetUserContext() in nkern/x86/ncthrd.cpp, for debugger support.

5.	MiguelB
	1.	DEFECT FIX: PDEF120544: Dual MMC support - PER003248
		Added support to allow two or more MMC/SD cards with possibly different bus widths and clock rates
		to run on a single SD card stack.
		The MMC_DUAL_SLOT macro to used to enable dual slot support for H4 textshell/techview ROMs

	
Version 2.00.1914
=================
(Made by fabiangortz, 29/03/2008)

1.	Ian King
	1.	DEFECT FIX: DEF116408: Compilation fault in d32usbdi.inl for unsupported platform
	2.	DEFECT FIX: DEF116434: Void method RUsbBulkTransferDescriptor::SetZlpStatus returning void value
	3.	DEFECT FIX: DEF117791: incorrect variable spelling

2.	MichaelP
	1.	MINOR_CHANGE: Client stack now moves to Suspend state before it is enabled to trigger a device 
		state change notification even when it's not connected to a Host.

3.	ParameshwariB
	1.	DEFECT FIX: DEF118970: Power Handle allows one handler to be added multiple times

4.	TomCosgrove
	1.	MINOR_CHANGE: Fix typo 'PProperty' in base/documentation/Base_How_To_Publish_And_Subscribe.doc
		Corrected to RProperty (RProperty::EByteArray)
	2.	DEFECT FIX: PDEF120402: NULL Pointer Dereference
		Add braces around statements that should be executed only if (pS != NULL).
	3.	DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
		Protect definition of macro MAX() with #ifndef MAX/#endif

5. 	SushmitaR
	1.	DEFECT FIX: PDEF120303: t_ramdefrag must not check the number of powered zones after EmptyRamZone
		All calls to empty now check that the RAM zone is empty or not. 
		Also did little tidying to ensure file sying tests are cleaned up.


Version 2.00.1913
=================
(Made by DjordjeK, 26/03/2008)

1.	Dennis
	1.	DEFECT FIX: DEF119776: Kernel wait objects are inefficient in their use of RAM.
			Instead of each DSemaphore, DMutex and DCondVar having an embedded
			64-priority list using 264 bytes of RAM, it has a single pointer.
			This pointer is 0 if the wait list is empty (usual case), points
			directly to a DThread if the wait list contains exactly one thread,
			and points to a dynamically allocated 64-priority list with bit 0 of
			the pointer set in the case where there are 2 or more waiting
			threads. These lists are allocated from a LIFO queue which is
			increased or reduced whenever a thread or wait object is created or
			destroyed. The number of wait lists required can never exceed the
			minimum of W and T/2 where W is the number of wait objects and T is
			the number of threads currently in existence.

2.	TomCosgrove
	1.	DEFECT FIX: PDEF120025: Cannot update system time if no HW RTC.
		Update documentation to reflect that the base port should return KErrNone
		if the RTC is not implemented.  Also tidy up the documentation slightly
		for SetSystemTimeInSecondsFrom2000() and SystemTimeInSecondsFrom2000().
	2.	MINOR_CHANGE: X86: Pass breakpoints on to handlers

3.	Djazia Mecheri
	1.	DEFECT FIX: PDEF119871: TDesC16::FindF does not handle characters with and characters without accents...


Version 2.00.1912
=================
(Made by JohnS, 20/03/2008)

1.	LukaszF
	1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.

2.	SivashankarN
	1. DEFECT FIX: DEF119210: Distribution policy too strict on omap_hrp usbho iby files 

3.	JohnS
	1.	MILESTONE: Sphinx, GT0339, MS3.1.2 DS607 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 2)
	2.	MILESTONE: Sphinx, GT0339, MS3.1.3 DS605 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 3)


Version 2.00.1911
=================
(Made by ParameshwariB, 17/03/2008)

1.	MiguelB
	1.	DEFECT FIX: DEF119328: Issues with powering down the MMC stack before the media is fully initialised
	2.	DEFECT FIX: DEF119409: MmcLoader doesn't work on a FAT32-formatted card

2.	MichaelCox
	1.	CHANGE REQUEST: CR1115: Dual Slot Support
		Added tests under e32test\pccd

3.	patrickconway
	1.	DEFECT FIX: PDEF119489: t_video not restoring saved brightness level

4.	ParameshwariB
	1.	MILESTONE: Sphinx, GT0339, MS3.6.1 DS720 PREQ 1398: Resource Manager API - Basic + Reference 
			   implementation on H4 
		INTERFACE CHANGE: BR2186: Registering Power Resource Controller with Power controller
	2.	MILESTONE: Sphinx, GT0339, MS3.6.2 DS780 PREQ 1398: User-side API
	3.	MILESTONE: Sphinx, GT0339, MS3.6.3 DS794 PREQ1398: Resource Manager API - Extended + Acceptance Test Suite						


Version 2.00.1910
=================
(Made by RichardCo 11/03/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF118942: Kern::ChunkPhysicalAddress fails to set aMapAttr correctly
		Set aMapAttr when return value from DChunk::PhysicalAddress is >= 0, not just == 0
		(since 1 is a successful return indicating that the region isn't physicall contiguous).

2.	NeilC
	1.	DEFECT FIX: PDEF118966: SD Card 'High Speed Mode' Bus Configuration does not always work.
	2.	MINOR_CHANGE: Removed Test ASSERT for SDIO, caused problems with Coco Wifi test setup.
	3.	DEFECT FIX: PDEF119117: SD Card - Media Change fails with Secure Area mounted plus Password Locked Card

3.	MichaelMo
	1.	MINOR_CHANGE: Fix ldrtest.oby so that it actually contains all the files needed to run the loader tests

4.	RichardCo
	1.	DEFECT FIX: PDEF119191: Thread faults when destructor run on emulator.
		Modified exe stub to return to previous behaviour of not calling destructors. Executables suffering
		from this issue need to be recompiled to pick up the changed exe stub, as it's statically linked.

5.  VitalyR
    1. DEFECT FIX: DEF119416: Capability check failed loading display0.LDD


Version 2.00.1909
=================
(Made by OlegI 04/03/2008)

1.	Andrew M Smith
	1.	DEFECT FIX: PDEF118720: Run-mode Debug API needs extensions to suit Carbide.c++ usage.

2.	VitalyR
	1.	MINOR CHANGE: Limit gce driver capabilities.



Version 2.00.1908
=================
(Made by ReubenH 03/03/2008)

1.	MarkHambleton
	1.	DEFECT FIX: DEF118761: autoexec.bat not executed on x86 platform
		Added a check of file size to avoid zero length files (only for x86)
	2.	MINOR_CHANGE: remove automatic logon to crash debugger for x86.

2.	VincentF
	1.	MINOR_CHANGE: Fix for t_sound2 failing on x86 in Graphic Mode

3.	DjordjeK
	1.	DEFECT FIX: DEF118909: Cannot create e32tests rom image for template baseport 

4.	JonCo
	1.	DEFECT FIX: DEF118926: Demand paging initialisation of min/max pages needs tidyup

5.	MichaelP
	1.	MINOR_CHANGE: Updated some in-source comments in drivers/usbcc/ps_usbcc.cpp.


Version 2.00.1907
=================
(Made by fabiangortz 28/02/2008)

1.	NeilC
	1.	DEFECT FIX: PDEF118371: device HW capabilities are not considered, when setting the SD card mode

2.	TomCosgrove
	1.	DEFECT FIX: DEF118635: RThread comment example code error
		Change example code in comments from 'TInt error = ... CheckPolicy(...)' to
		'TBool pass = ... CheckPolicy(...)'

3.	OlegI
	1.	MILESTONE: Meteora, GT0339, MS3.12 DS1001 PREQ1526: Kernel: VFPv3 and Thumb-2EE mode support.

4.	VitalyR
	1.	DEFECT FIX: PDEF118822: Misspelling and wrong documentation in pixelformats.h

5.	ParameshwariB
	1.	DEFECT FIX: DEF117729: Device driver entry point trying to delete factory object with access count>0 

6.	fabiangortz
	1.	MINOR_CHANGE: Updated metabuild scripts after submission of new usb otg components
    
Version 2.00.1906
=================
(Made by fabiangortz 21/02/2008)

1.	colinward
	1.	DEFECT_FIX: PDEF117726: Disabled sound device in Windows cause the emulator to crash

2.	TomCosgrove
	1.	DEFECT FIX: PDEF118346: patchdata: rombuild/rofsbuild r_obey.cpp does not set dataEntry->iOffset
		Update r_obey.cpp with code to set the offset from the line in the obey file.
		This was code that was indended to be submitted with the original Dev CR, but
		was lost in a Perforce integration error.

3.	MichaelCox
	1.	DEFECT FIX: DEF118354: Incorrect case of #include causes build failure on Linux 

4.	MarkHambleton
	1.	MINOR_CHANGE: remove unused code in x86 platform and change the way TLBs were handled.
	
5.	fabiangortz
	1.	MILESTONE: Sphinx,  GT394, MS3.2 DS619 : PREQ1782: USB Host and on-the-go for pre-installed drivers

	Although USBDI supports both USB 2.0 Full Speed and High Speed, the USB Host stack was enabled on the
	H4 HRP, which only supports Full Speed. Bulk and high speed transfers are not tested as part of this
	PREQ and only a limited  support for the OTG (on-the-go) v1.3 specification is covered (HNP/SRP are 
	not covered). 

 		Following are the components added under e32:
 			NC-7058: e32\drivers\usbho\base_drivers_usbhostotg.mrp
 			NC-7059: e32\drivers\usbho\usbd\base_drivers_usbhostotg_usbware.mrp
 		Following are the components added under omap_hrp:
			NC-7060: omap_hrp\h4_restricted\usbho\base_omaph4hrp_usbhostotg_usbware.mrp
		Following are the components added under template:
			NC-7061: template\template_variant\usbho\base_template_usbhostotg.mrp

	The USB Host/OTG stack is configured by default to be OTG capable. The USB HostCore and the USBDI and
	OTGDI LDDs can be found under e32\drivers\usbho. The reference implementation is done for H4-HRP for 
	full speed and can be found under omap_hrp\h4_restricted\usbho\. Implementations of controller drivers 
	like HCD, TCD, OCD are placed here. Templates on these controller driver implementations are placed at 
	template\template_variant\usbho.

	By default the USB Host and OTG binaries are not included as part of the ROM build. Use 
	--define=SYMBIAN_INCLUDE_USB_OTG_HOST in the ROM build command to include the USBHost and OTG binaries.


Version 2.00.1905
=================
(Made by ParameshwariB 19/02/2008)

1.	ReubenH
	1.	DEFECT FIX: DEF117684: Secure clock offset sometimes not loaded at boot

2.	SlimaneH
	1.	DEFECT FIX: PDEF117255: TChar::Fold(EFoldAccents) does not work for upper case characters. 
		i)  Fixed the method Uint TUnicode::Fold(TInt aFlags,const TUnicodeDataSet *aOverridingDataSet)
		    This method do a correct decomposition when folding a characters with accents.
		
		ii) Added a portion of test code in the method TestTChar<TCharType>::Test4(TCharTypes CharType), 
		    related to the call of TChar::Fold(TChar::EFoldAccents), tested the folding of some interesting 
                    unicode characters




Version 2.00.1904
=================
(Made by SivashankarN 15/02/2008)

1.	MarkTa
	1.	DEFECT FIX: PDEF117845: kumemget() should not be called in a critical section in d_ramdefrag.cpp
		Modify test driver so that it only enters a critical section when necessary.

2.	SteveElliott
	1.	DEFECT FIX: PDEF117854: usbrflct Windows driver / application does not send a ZLP

3.	MichaelP
	1.	MINOR_CHANGE: Changes to USB Porting document:
		- changed document title into "USB Client Porting and Test How-To Document"
		  and file name to 'Base_How_To_USB_Client_Porting_and_Test.doc' to make it
		  clear this is not about USB Host,
		- added brief section on T_USB_WIN / T_USB_DEVICE,
		- updated link to current version of USBCV (1.3.1),
		- upped version number to 3.3.
	2.	DEFECT FIX: DEF116350: MTPServer crashes with low RAM test
		Fixed a NULL pointer access in a USB LDD function when shutting down the driver.
	3.	MINOR_CHANGE: Updated and corrected in-source comments in USB Client PDD PIL
		(ps_usbc.cpp + chapter9.cpp).
	4.	MINOR_CHANGE: Changes to USB Client Porting document:
		- added section on PSL -> PIL upcalls,
		- upped version number to 3.3.1.

4.	SebOlney
	1.	DEFECT FIX: PDEF117867: Emulator crashes running Loader tests

5.	JonathanM
	1.	DEFECT FIX: DEF117930: H4 IRDA driver frees memory in wrong order

6.	GayathriR
	1.	DEFECT FIX: DEF117514: t_usb fails to free up the usb interface

7.	ReubenH
	1.	MINOR_CHANGE: ARM4-specific fix to t_realx caused by recent X86GCC submission.


Version 2.00.1903
=================
(Made by ReubenH 11/02/2008)

1.	MarkTa
	1.	DEFECT FIX: PDEF117669: Discardable pages should not be discarded when the RAM zone cannot be emptied
		Added check in the general defrag code to see if there is enough free pages for the movable pages in a 
		RAM zone before discarding pages from that RAM zone.
	2.	DEFECT FIX: PDEF117765: DRamAllocator::HalFunction() should not be using a raw pointer from user side
		Use kumemput to copy data back to user side.

2.	TomCosgrove
	1.	DEFECT FIX: DEF115293: e32cmn.h: declarations of new and delete conflicts with EABI headers
		Prevent multiple declarations with macro __OPERATOR_NEW_DECLARED__
	2.	DEFECT FIX: DEF117799: rom.bat/rom.pl should output a usage message when run with no parameters
		Print usage text (as for --help) if no paramters specified

3.	NeilC
	1.	DEFECT FIX: PDEF117320: SDIO: FBR is also reading CSA Data Window

4.	ReubenH
	1.	DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler 
		and related tools for the x86 target (i.e. support for new X86GCC platform)


Version 2.00.1902
=================
(Made by LukaszF, 06/02/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF117458: WIN32_LIBRARY statement shuold specify libraries in lower case
		Ensure all .mmp files have Win32 library names in lower case

2.	patrickconway
	1.	CHANGE REQUEST: Development CR BBRE-7AXM6B: Kernel, GT0339 Base Meteora, RArray::Find does not work easily 
		with operator== and is positively dangerous

3.	ReubenH
	1.	MINOR_CHANGE: Fix for X86 sound driver failing UREL builds.


Version 2.00.1901
=================
(Made by KaiD, 04/02/2008)

1.	DipakA
	1.	DEFECT FIX: PDEF117065  Example driver code documentation to be moved to respective driver folder 
	2.	MILESTONE: Oregano, GT0350, MS3.3, PREQ1212, DS664 : Welcome Base.
		Added new tutorial device driver for PREQ1212 Phase 3 , 4A and 4B.
		Phase 3 : Serial driver with DMA.
		Phase 4A: Serial driver with DMA and Shared Chunk
		Phase 4B: Asynchronous serial driver derived from DLogicalChannelBase.

2.	colinward
	1.	DEFECT FIX: PDEF117085: Voice, confirmation beep only on first recording, never when stop recording

3.	TomCosgrove
	1.	DEFECT FIX: DEF117362: HAL.HBY's _PATCHARRAYDATA() macro doesn't work with rom.pl
		Remove spaces on either side of the token pasting operator ##, which are removed by
		buildrom but not by Base Team's rom.pl.

4.	MarkTa
	1.	DEFECT FIX: PDEF117379: BTrace logging for some categories won't be primed when enabled from boot.
		Add extra check for all categroies (aCategory==-1) to memory model specific brtace prime methods.


Version 2.00.1900
=================
(Made by NicholasC, 30/01/2008)

1.	RyanHarkin
	1.	PDEF117059: BASE QUALITY USB - Reset Data Toggle not working on some H4 silicon revisions

2. 	georgiosdementis
   	1.	DEFECT FIX: DEF116361: CleanupStack::PopAndDesroy panics with E32User-CBase 63

3.	MichaelP
	1.	DEFECT FIX: PDEF117070: Class/Vendor specific descriptor request commands causes crash

4.	MichaelCox
	1.	DEFECT FIX: DEF117029: Base component is not case-sensitive compliant for building on Linux

5.	DjordjeK
	1.	MILESTONE: Base Meteora, GT0339, MS3.10, DS945
		CR1281:Kernel: Add Kernel support for DMA transfers to file server caching


Version 2.00.1747
=================
(Made by RichardCo, 25/01/2008)

1.	Miguel Barra
	1.	DEFECT FIX: DEF116268: Potential problems with T_NANDPAGING

2.	Mark Hambleton
	1.	DEFECT FIX: DEF116223: t_heap2 call test() on a child thread causing a KERN-EXEC0

3.	colinward
	1.	MINOR_CHANGE: Updated t_soundh4.cpp to no longer pass in odd sized buffers for playback, given
		that this is now illegal.

4.	OlegI
	1.	DEFECT FIX: INC115614: T_IMB fails
	2.	DEFECT FIX: INC115613: T_HEAP2 fails 

5.	Steve Elliott
	1.	MINOR_CHANGE: Added t_usb_device application for automated USB test framework in e32test/usb/t_usb_device/...
	2.	MINOR_CHANGE: Added t_usb_win application for automated USB test framework in e32test/usb/t_usb_win/...
	3.	MINOR_CHANGE: Added build file t_usb_device.mmp in e32test/group
	4.	MINOR_CHANGE: Modified e32test/group/bld.inf to include t_usb_device

6.	SharathK
	1.	DEFECT FIX: DEF116317: Class RDevice needs description.
		Description provided.

7. JonCo
   1.	DEFECT FIX: INC115987: t_tls.exe fails at Benchmark() function


Version 2.00.1746
=================
(Made by TomCosgrove 22/01/2008)

1.	TomCosgrove
	DEV CR: PHAR-756HZB Kernel, GT0326 Base-Nymph, Product Usability: Enable HAL to be patched at ROM build time
	- Extend rom.pl patchdata command syntax to support patching elements of array data;
	- Allow the HAL's InitialValue[] array to be patchable;
	- Provide a HAL.HBY include file with supporting macros and constants to allow the
	  HAL to be patched at ROM build time.

Version 2.00.1745
=================
(Made by DmitryL 16/01/2008)

1.	DjordjeK
	1.	DEFECT FIX: DEF116106: ARM Errata 415047 not applied for ARM1176
		Applying the fix for errata on 1176 platform.

2.	MichaelP
	1.	MINOR_CHANGE: Correct in-source documentation of some functions in e32/include/drivers/usbc.h.

3.	MarkTa
	1.	CHANGE REQUEST: Development CR BBRE-7A3K7P: Kernel, GT0326 Base-Nymph, PREQ308: Extend zonal
		allocaton API to accept more than one Zone (was CR1353)
		Addition of 2 new APIs to the Epoc class that allow mulitple RAM zones to be specified for
		the allocation of either contiguous or discontiguous RAM from the specifed RAM zones only.

4.	OlegI
	1.	MINOR_CHANGE: Developement CR BBRE-79VKSR: Kernel, GT0339 Base Meteora, Changes to Base Template
		Extension Makefiles to support Raptor
		Actually those changes were made by Tools Team. Made as a Base Team submission for testing purpose.

5. 	SushmitaR
	1. 	MINOR_CHANGE: Fix incorrect #ifdef __EPOC32__ in d_memorytest.cpp

6.	LukaszF
	1.	CHANGE REQUEST: Development CR: BBRE-79KLJQ, GT0339 Base Meteora, Peripherals: Upgrade netcards.exe to support WiFi

7.	TomCosgrove
	1.	MINOR_CHANGE: Fix spelling of "hysteresis" in e32/common/heap.cpp

8.	SharathK
	1.	DEFECT FIX: DEF116310: Description of the class TFindLogicalDevice is incomplete.
		Description is completed.
	2.	DEFECT FIX: DEF116312: Description of class TFindPhysicalDevice is incomplete.
		Description completed.


Version 2.00.1744
=================
(Made by fabiangortz 11/01/2008)

1.	TomCosgrove
	1.	DEFECT FIX: DEF116082: Bug in e32test\benchmark\thread.cpp
		Fix cut'n'paste error to give right function name to call
	2.	MINOR_CHANGE: Fix spelling of 'omission' in template/template_variant/variant.mmh
	3.	DEFECT FIX: DEF116116: Kern::ThreadRawRead can fault the kernel using the multiple memory model
		Range checking can wrap round, both in multiple/arm/xkernel.cpp as in the defect, and
		in various other places.  Fixed all of these that were found.  Added test cases to
		t_rmdebug2.

2.	DjordjeK
	1.	DEFECT FIX: DEF114931: The changes in PTE/PDE are temporarily invisible by H/W Page Table Walk
		Support for sharable page tables among CPUs that do not share L2 cache.

3.	NicholasC
	1.	INC115900: Incomplete variation points for MSFS.FSY

4.	georgiosdementis
	1.	MINOR CHANGE: Framebuffer video driver for the x86 platform

5.	RajivM
	1.	DEFECT FIX: DEF115997: A created file is deleted in C drive when "gobble" command is executed again.
		Fixed the defect by putting a check before deleting an existing file. Now "gobble" does
		not delete an existing file.

6.	NeilC
	1.	DEFECT FIX: DEF115056: Cache alignment in DMA sync
		Replaced iSDStatus buffer with use of iPSLBuf such that known DMA'able memory is used.


Version 2.00.1743
=================
(Made by patrickconway 08/01/2008)


1.	TomCosgrove
	1.	MINOR_CHANGE: Fix spelling of variable 'chunkTraceEnabdled' in test t_btrace.cpp
	2.	MINOR_CHANGE: Fix spelling of 'exculding' in comments in e32/euser/us_exec.cpp
	3.	MINOR_CHANGE: Fix in-source doc comments in e32/euser/us_exec.cpp
		Correct an argument name in User::SetUTCTime(), User::SetUTCTimeSecure()
		and User::SetUTCTimeAndOffset() (aUTCTime, not aTime).  SetUTCTimeSecure()
		was mentioned as an aside in INC115634; fixing the rest while here.
	4.	MINOR_CHANGE: Base documentation changes for INC115634: Capability requirements not rendered for SetUTCTimeSecure and User::SetHomeTimeS
		There should be only one capability in each @capability entry.


Version 2.00.1742
=================
(Made by NeilC 27/12/2007)

1.	RoopaR
	1.	DEFECT FIX: DEF115209: Missing Description for DComm class , its data members and members functions

2.	DjordjeK
	1.	DEFECT FIX: PDEF115839: Not possible to run MEMTRACE in Edgar
		Minor issue with memtrace tool on emulator.

3.	MarkTa
	1.	DEFECT FIX:  DEF114283: T_RAMDEFRAG fails intermittently
		Some tidying of t_ramdefrag so it is more flexible with regards to the
		physical layout of RAM before the test is run. Also, improve t_defrag_ref
		so that it doesn't assume that allocations to the least preferable RAM zone
		will always succeed.


Version 2.00.1741
=================
(Made by indrajeetsingh 21/12/2007)

1.	JonathanM
	1.	DEFECT FIX: DEF115591: TVMHalFunction sysdoc not rendered correctly in developer library


Version 2.00.1740
=================
(Made by DeleO,17/12/2007)

1.	DipakA
	1.	DEFECT FIX: DEF114276: T_PIPE fails.

2.	MichaelP
	1.	MINOR_CHANGE: Fixed 'G' option in T_USB.

3.	MarkTa
	1.	DEFECT FIX: INC115424: Printf's are printed twice, because TraceHandler return value is not checked
		Reinserted accidentally removed if statement.

4.	GayathriR
	1.	DEFECT FIX:	PDEF114165: Base Quality USB - Incorrect error handling, SetInterface and ReleaseInterface

5.	YogeshC
	1.	DEFECT FIX: DEF114398: Num Lock Key toggle does not work correctly on Version 9.4

6.	TomCosgrove
	1.	DEFECT FIX: PDEF115572: RHeap::Available(TInt&) performs unsafe heap iFree access
		Relocate Lock() to before pC initialisation, as suggested by defect.
	2.	MINOR_CHANGE: Fix description of BTrace event EPagingMapCode.
	3.	MINOR_CHANGE: Remove list of Exception-related RThread methods in Appendix B, as they
		were moved to User a long time ago.  (The methods implemented in User only work on the
		current process, so don't need to be referenced here.)
	4.	DEFECT FIX: DEF115627: nk_trace.h has inconsistent comments for trace bit allocation
		Trace bits 192-255 (not 224-255) are reserved for licensee partners.  Fix spelling
		of "licensees" while here.

7.  VitalyR
    	1.	DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo

8.	ReubenH
	1.	DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
	2.	DEFECT FIX: DEF114155: Secure clock: User-mode setting API uses wrong flag



Version 2.00.1739
=================
(Made by LukaszF, 10/12/2007)

1.	JonCo
	1.	DEFECT FIX: DEF115220: ARM Errata 424692 and 424067 workaraound
		Replace use of InvalidateTLBForAsid with FlushTLBs


Version 2.00.1739
=================
(Made by DmitryL 06/12/2007)

1.	RyanHarkin
	1. MINOR_CHANGE: adding extra SYM_BRANCH comments to code

2.	JohnS
	1.	DEFECT FIX: PDEF115048: Possible problem with FAT cleanser modification to Unistore2 core code.
		Reinstate call to CollectGarbage() in SM_MarkDeletion () routine.

3.	JenniferH
	1.	DEFECT FIX: DEF114521: RTimer - undocumented feature when calling RTimer::Inactivity(0)


Version 2.00.1738
=================
(Made by DjordjeK 04/12/2007)

1.	SebO
	1.	DEFECT FIX: DEF113488: Emulator Window now does strange things upon rotating.
	2.	DEFECT FIX: INC114502: Emulator startup configuration is not deterministic

2.	JonathanM
	1.	DEFECT FIX: DEF115080: Kernel compile error if BTRACE_CHUNKS not enabled

3.	MarkTa
	1.	DEFECT FIX:  DEF114225: DefragRam unexpectedly stops defragmentation when a fixed page is found
		Adjust the general defragmentation algorithm to skip RAM zones containing immovable pages and
		continue to attempt to defrag the other RAM zones.

4.	DjordjeK
	1.	DEFECT FIX: INC114591: T_LOADER_DELETE fails
		Stops lazy unloader in setcap tool.

5.	AndreiMironenko
 	1.	DEFECT FIX: PDEF114596: Unistore2 driver enables interrupts at wrong point


Version 2.00.1737
=================
(Made by OlegI 26/11/2007)

1.	TomCosgrove
	1.	DEFECT FIX: PDEF114622: Pow bug
		pow(x, +Inf) was returning NaN for x < -1.  Should return Inf.
		Also found and fixed several other cases where pow() didn't comply with the ISO spec.
	2.	BREAK REQUEST: BR2278.2 Make Math::Pow() conform to the C standard for pow()
	3.	MINOR CHANGE: x86 platform only (not emulator): rework interrupt mechanism to allow
			any interrupt to be shared.

2.	Dennis
	1.	MINOR_CHANGE: x86 platform only - change UART driver so RX interrupt is
			triggered when there are 4 rather than 8 characters in the RX FIFO.
	2.	MINOR_CHANGE: Fix problems with T_MSTIM test:
			Assertion triggered if C++ version of nanokernel timer code is used.
			Integer overflow in TicksToMicroseconds() on x86.

3. 	SushmitaR
	1. 	DEFECT FIX: DEF114657 t_ramdefrag does not cover all scenarios for aMaxPages
		Add test cases to verify that if aMaxPages != 0, but is valid, then the correct amount of pages
		are moved or discarded of. Also added other test improvements.


Version 2.00.1736
=================
(Made by ReubenH 22/11/2007)

1.	MichaelCox
	1.	DEFECT FIX: PDEF114092: Error handling problem with DSoundLdd asynchronous requests
	2.	DEFECT FIX: PDEF114093: DSoundLdd needs error notifications within DoRequest

2.	JonCo
	1.	DEFECT FIX: INC113879: CFileMan::Rename() shows performance regression.
		Turned buffering of epocwind.out back on after it had been inadvertently disabled


Version 2.00.1735
=================
(Made by NeilC 16/11/2007)

1.	MichaelCox
	1.	CHANGE REQUEST: Development CR RFID-73RE3H: Kernel, GT0326 Base-Nymph, Add traceflags to enable/disable crash debugger and crash logger

2.	MichaelP
	1.	BREAK REQUEST:  BR2155.1  Remove Stack Enable/Disable APIs from USB Client Driver.
		Removed USB LDD user-side APIs
			RDevUsbcClient::EnableUsbDriver;
			RDevUsbcClient::DisableUsbDriver;
		Updated USB API Guide accordingly, upped document version to 3.0.7.

3.	JonathanM
	1.	CHANGE REQUEST: Development CR: BBRE-78XEDX Kernel, GT0326 Base-Nymph, More Btrace information for Demand Paging
		This adds two new traces to the BTrace::EPaging category: EPagingDecompressStart and EPagingDecompressStart.

4.	SharathK
	1.	DEFECT FIX: DEF113075:  Description for struct Emulator is missing.
		Added Insource documentation

5.	Radhakrishnanramanat
	1.	DEFECT FIX: DEF111161: inconsistent amount of data returned by RmdaDevSound (old sound drivers)
		Modified flush record scenario to update the partial buffer.

6.	PatrickConway
	1.	CHANGE REQUEST: Development CR: PHAR-75TF6J Kernel, GT0326 Base-Nymph, Product Usability: Provide a standard TIgnoreOverflow for 				TDes8/16::Format

7.	LukaszF
	1.	DEFECT FIX: DEF113817: Fixed comment syntax for comments in TMappingAttributes enum. They followed the items, instead of coming before).
 	2.  DEFECT FIX: DEF112227: Removed the sentence "This function can be called with the system lock held" from Kern::ThreadFromId and Kern::ProcessFromId.

8.	SamiraA
	1.	DEFECT FIX: DEF113630: APIREG:Clearing password for emulated drive does not work always.
	DMMCSession::SetupCIMInitStackAfterUnlock() does not set iCardP to NULL anymore


Version 2.00.1734
=================
(Made by MariamSood 13/11/2007)

1. VitalyR
	1.	DEFECT FIX: DEF113638: Incorrect calculation of composition buffer offset in tvout and display0 driver
	2.	MINOR_CHANGE: Change comments about "Base_Pixel_Formats.doc" file
	3.	MINOR_CHANGE: Add Display Driver API and Pixel Formats documentation.

2.	SushmitaR
	1. 	DEFECT FIX: DEF113790 Bug in MmuBase::FreePhysicalRam() function
		Change in-source comments and remove the test attempting to free from an invalid address in t_ramdefrag

3.	DipakA
	1. 	DEFECT FIX: DEF113660: RPIPE::NotifySpaceAvailable() doesn't return the appropriate status value.
		Code added in Wait function to mark the handle as Read end (and Write end). Also changed source documentation
		for WaitForReader and WaitForWriter. T_pipe updated to verify the same.

4.	MArkTa	DEFECT FIX: DEF097962: Simulated OOM in RHeap is a point failure
		Added new burst failure mechanisms that allow the heap allocations to fail in bursts for all
		the existing failure types.  Also added new function to return the number of failures so
		far.

5.	Dennis
	1.	MINOR CHANGE: Add support for BIOS calls during kernel initialisation phases 0 and 1.
			Affects only x86 platform, not ARM or emulator.


Version 2.00.1733
=================
(Made by ParameshwariB 09/11/2007)

1.	MiguelB
	1.	DEFECT FIX: DEF111541: Force Erase times-out if MMC PSL incorrectly implemented

2.	JenniferH
	1.	DEFECT FIX: DEF113356: DBTraceFilter2::New fails in OOM

3.	MichaelCox
	1.	CHANGE REQUEST:	Development CR: PHAR-756J5K Kernel, GT0286 Base KnP, Product Usability:
		Detecting cleanup stack imbalance when exiting RunL

4.	OlegI
	1.	DEFECT FIX: DEF113720: ksrt2_2 should be a KLIB
	2.	DEFECT FIX: DEF113718: genexec.pl is not portable
		Updated to be compatible with the Unix based build system
	3.	DEFECT FIX: PDEF113932: Monitor::HandleException (on ARM) passes wrong parameters

5.	DjordjeK
	1.	DEFECT FIX: DEF113779: ARM1176 bug
		1176 Errata fix.

6.	MichaelCox
	1.	DEF113793: Filename Policy non-conformance generates build warnings

7.	ArchanaH
	1.	DEFECT FIX: PDEF113772 :Div by 0 possibility it Wins::CalibrateCpuSpeed()
	        Propogated from INC111126
		Added code to improve the calculations made to get real CPU speed.

8.	ReubenH
	1.	DEF113493: Secure Clock does not completely handle integer wrapping
	2.	DEF113494: Inconsistent capability checking for setting Non Secure Clock offset
	3.	MINOR_CHANGE: Made small improvement to t_time

9.	NeilC
	1.	DEFECT FIX: DEF111726: <BASE Quality SD> Initialisation - Failure handling of CMD8 is incorrect
	2.	DEFECT FIX: DEF112574: <BASE Quality SD> Prevent locking if card is PERM_WRITE_PROTECTED
	3.	DEFECT FIX: DEF113079: <Base Quality SD> Blocklength ASSERT for CPRM Compliance


Version 2.00.1732
=================
(Made by SushmitaR 07/11/2007)

1.	TomCosgrove
	1.	DEFECT FIX: PDEF113635: Not enough licensee keycodes available
		Added 8 more of each type of key code (EStdKeyDevice, EStdKeyApplication,
		EKeyDevice and EKeyApplication) in e32keys.h.  Added appropriate entries to
		emulator key mappings in keyboard.cpp, and added EStdKey-to-EKey (scan code
		to key code) mappings for the emulator in keymap.cpp.
2.	SebO
	1.	MINOR CHANGE: Update BASE/E32/41 entry in functional spec on Bill's behalf

3.	MarkTa
	1.	DEFECT FIX: DEF113172: Description missing for functions of "Class Kern"
		Fix lots of doxygen tagging errors and add any missing documentation.
		Also, fix C preprocessor errors with ARM asm version of Kern::ValidateFullName() and fix it as well.
		New test code for Kern::ValidateName() and Kern::ValidateFullName().
	2.	DEFECT FIX: DEF113566: Bug in D_RAMDEFGRAG.CPP
		Fix use of TESTDEBUG and add iPageShift for byte to page and page to byte conversions.

4.	MiguelB
	1.	DEFECT FIX: DEF112961: Data abort in ekern.exe::MultiMediaCard0 when card removed during write
		Prevent DOmapMMCStack::InterruptDFC() from dereferencing a NULL session pointer
	2.	DEFECT FIX: PDEF113642: Partition Table Entry will be incorrect for SD cards over 8GB

5.	JonCo
	1.	DEFECT FIX: DEF113545: Bug in ARM_WFIcc, ARM_WFEcc & ARM_SEVcc macro

6.	patrickconway
	1.	DEFECT FIX: DEF112917:  t_zip e32test does not build on top of CBR release

7.	MichaelCox
	1.	DEFECT FIX: PDEF112797: MEDSDP can not handle FAT16
 		For 16GB+ SD cards (which are not yet available!), allow the protected area to
 		be formatted as FAT16 rather than FAT12

8. RajivM
 	1.	DEFECT FIX: DEF113077: Missing description for TFatUtilityFunctions, SLocaleData, LMessages and Locl
		In Source documentation added for TFatUtilityFunctions, SLocaleData, LMessages and Locl.

9. georgiosdementis
 	1.	MINOR_CHANGE: Suppress the output of the H4HRP boards during automatic overnight base team testing.

Version 2.00.1731
=================
(Made by SivashankarN 30/10/2007)

1.	TomCosgrove
	1.	MINOR CHANGE: Fix comment on ELangNone in e32const.h:enum TLanguage (0xFFFF is for
		1023 languages * 16 dialects, not just 1023 languages)
	2.	CHANGE REQUEST: Development CR: PHAR-76CMGU Kernel, GT0326 Base-Nymph, Product Usability: Put TLanguage into it's own header file
		Moved TLanguage enum from e32/include/e32const.h to e32/include/e32lang.h.
	3.	MINOR CHANGE: Fix typos in e32/include/e32btrace.h comments

2.	DjordjeK
	1.	MINOR CHANGE: Enable writes into hard disk on x86pc baseport. Other platforms unaffected.

3. RyanHarkin
	1. DEFECT FIX: DEF113395 - updated document to say that we can only use MMC card slot 1

4.	MichaelP
	1.	BREAK REQUEST:  BR1960.1  USB Driver PIL API restriction.
		The interface between USB PDD (PIL) and USB LDD has been made Symbian internal.
		Reclassifying it as @internalTechnology will make it easier to maintain the
		interface. Some elements of class DUsbClientController will however remain
		@publishedPartner because they are also used by the layer underneath the PIL
		(the PSL - the Base port part of the USB driver).

5.	SebO
	1.	DEFECT FIX: DEF112386: missing information in TExcType
	2.	MINOR CHANGE: Add REQ8591 to Functional Spec
	3.	DEFECT FIX: DEF112810: Emulator screen not refreshed on initial run for WINS

6.  AndrewSmi
	1.	DEFECT FIX: DEF111733: Run-mode debug: Kernel heap allocation failure not reported by GetList()
	2.	DEFECT FIX: DEF112909: DSS multi-agent suspend\resume thread support
		Modified Debug Device Driver's handling of thread suspension to permit this.
	3.	MINOR_CHANGE: Add out-of-memory testing capability to t_rmdebug2. This can be configured from t_rmdebug2.mmp.

7.	RichardCo
	1.	DEFECT FIX: DEF112269: T_VFP crashes on ARMv7
		Update T_VFP to deal with full ARMv7 VFPv3 specification. Should not affect current platforms.

8. 	JohnS
	1. 	MINOR_CHANGE: Add WINS & WINSCW metabld scripts for building generic base unistore2 drivers and emulator
		specific binaries.

9.	MarkTa
	1.	DEFECT FIX: DEF113174: API reference missing for NKern::LockSystem in developer library
		Fix incorrect doxygen tags that were missing a '<' character.  Add descriptions for TContext.






Version 2.00.1730
=================
(Made by KaiD 26/10/2007)

1.	JonCo
	1.	DEFECT FIX: DEF112265: DevKit Defects PER Helpdesk 003253: Bug in T_BTB test

2.	RichardCo
	1.	DEFECT FIX: DEF113043: Zone initialization failure for each coalesced boot bank
		Initialise the number of coalesced zones, not the original number

3.	JenniferH
	1.	DEFECT FIX: DEF112973: ARM1176 & ARMV7 specific build errors within memory model

4.	MariamSood
	1.	DEFECT FIX: DEF113016: TDriveUnit() does not return error for invalid drive

5. 	MarkTa
	1.	MINOR CHANGE - - Add How To Config RAM Defrag document and update functional spec
		for PREQ308/REQ6949.
6.	HaoJ
	1.	DEFECT FIX: PDEF112695: Add langauge enums to cover more of the world


Version 2.00.1729
=================
(Made by JohnS 23/10/2007)

1.	GayathriR
	1.	DEFECT FIX: DEF112114: BASE QUALITY USB - Alternate Setting High Speed Bulk EP packet size not 512

2.	MarkTa
	1.	MINOR CHANGE - Fix d_ramdefrag and d_defrag_ref's entry points so they use AsyncClose() to
		destroy any DObject based objects.
	2.	DEFECT FIX: DEF112926: TRK driver calls delete on a DObject in low memory conditions
		Ensure that DObject derived objects are closed rather than deleted.

3.	AndrewHi
	1.	DEFECT FIX: DEF100679: (P) MVS App: Playing any audio file at zero volume always plays at constant vol

4. 	SushmitaR
	1. 	MINOR CHANGE: Ensure that t_ramdefrag adjusts the number of files to create according to the size
		of the MMC. Also added test improvements for muliple thread test cases.

5.	NavneetS
	1. 	DEFECT FIX: DEF111803:Documentation for TExitType::EExitKill needs improving.
		Insource documentation changed  in e32const.h for the EExitKill enum .
6. 	VitalyR
	1.  DEFECT FIX: DEF112606: Wrong name in pixelformats.h
	2.	DEFECT FIX: DEF112608: Crash in kernel while GCE tries to operate with displaychannel

7. 	LukaszF
  1.  DEFECT FIX:PDEF113533: Baseport build fails in release mode in SOS9.4 Wk38


Version 2.00.1728
=================
(Made by indrajeetsingh 10/10/2007)

1.	RichardCo
	1.	DEFECT FIX: DEF112406: NKern::FMFlash BTrace output has no return address logged
		Rewrite NKern::FMFlash and NKern::FlashSystem in assembly so that they can log
		better BTrace data. This also slightly improves their performance in all cases.

2.	MarkTa
	1.	MINOR CHANGE: Correct in source comments for SRamZone etc in kernboot.h.
	2.	DEFECT FIX: DEF111875: TScheduler::Reschedule() Bug in ncsched.cia
		Ensure the FPEXC_REG2 and FPEXC_REG3 macros are used when they are required to be.

3.	TomCosgrove
	1.	DEFECT FIX: DEF111913: The emulator doesn't handle PCs with multiple monitors properly
		Extend visibility checking to allow emulator window to be restored onto non-primary monitor
	2.	MINOR CHANGE: Fix typos in e32/include/e32capability.h comments

4.	JonathanM
	1.	DEFECT FIX: DEF112530: T_BTRACE test fails on ARMV6 & ARMV7 platforms

5. JonCo
	1.	DEFECT FIX: PDEF112671: rom.pl cannot handle no extention files

6.	PrashantHG
 	1. 	DEFECT FIX : DEF111986 :Error in comment in the Class interrupt : Updated the documentation in assp.h
		and interrupt.h for the Interrupt::Bind() function.
7.	SushmitaR
	1.	MINOR CHANGE: Ensure that t_defrag_ref accounts for when the least preferable zone cannot be claimed
	2. 	DEFECT FIX: DEF111951: T_RAMDEFRAG Fails on H2 but only when run as part of an autotest ROM
		Ensure that T_RAMDEFRAG is more flexible to different layouts of RAM by checking whether a general defrag should empty any zones.
		Other minor test flexibility improvements also added.

8.	ReubenH
	1.	DEFECT FIX: INC112328: S60 5.0 Clock: Time setting is changing by itself
		One-line change to Kern::SetSystemTimeAndOffset() ensuring RTC is not written unless the
		ETimeSet_SetHwRtc flag is used, even if it's the secure clock being updated.


Version 2.00.1727
=================
(Made by DeleOgunjumelo 04/10/2007)

1.	SebO
	1.	CHANGE REQUEST: CR1068: Screen 0 of WINS emulator should be able to have scroll bars.
	2.	DEFECT FIX: DEF110282: IMPORT_C/EXPORT_C: KHeapMinCellSize and KHeapShrinkHysRatio
	3.	DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio

2.	MiguelB
	1.	MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
		INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
		Separate out existing base_e32 component into the following components :
			e32\base_e32.mrp
			e32\drivers\adc\base_e32_drivers_adc.mrp
			e32\drivers\bsp\base_e32_drivers_bsp.mrp
			e32\drivers\debug\base_e32_drivers_debug.mrp
			e32\drivers\ecomm\base_e32_drivers_ecomm.mrp
			e32\drivers\esound\base_e32_drivers_sound.mrp
			e32\drivers\ethernet\base_e32_drivers_ethernet.mrp
			e32\drivers\locmedia\base_e32_drivers_locmedia.mrp
			e32\drivers\media\base_e32_drivers_media.mrp
			e32\drivers\trace\base_e32_drivers_trace.mrp
			e32\drivers\usbc\base_e32_drivers_usbcli.mrp
			e32\euser\base_e32_euser.mrp
			e32\ewsrv\base_e32_ewsrv.mrp
		N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
		Alterations made to the OSD Categories / S12 names of various distribution.policy files to satisfy the new rules.
	2.	DEFECT FIX: DEF112230: SD stack fails to read SDHC card if controller has no support for CMD6 (Switch)

3. 	SushmitaR
	1. 	Minor Change: Minor improvments to t_ramdefrag

4.	GayathriR
	1.	DEFECT FIX: DEF111033: USB LDD shouldn't accept negative length parameters

5.	HaoJ
	1.	DEFECT FIX: PDEF110852: No ELangXxx enums for Basque and Galician
		Added two enums for supporting Basque and Galician.

6.	georgiosdementis
	1.	DEFECT FIX: DEF108105: Control returns to the wrong place when calling User::Leave
		Added a call to an empty function as part of the TRAP implementation.

7.	OlegI
	1.	MINOR_CHANGE: Development CR: BBRE-77DHGN Kernel, GT0326 Base-Nymph, PREQ1700 (Product usability):
		Update crash debugger to provide compression option for BTrace data
		REQ8392: Kernel: Update crash debugger to provide compression option for BTrace data



Version 2.00.1726
=================
(Made by JonathanM 02/10/2007)

1.	JonathanM
	1.	DEFECT FIX: DEF112382: Header file dependecy problem with RAMALLOC.H

Version 2.00.1725
=================
(Made by LukaszForynski 01/10/2007)

1.	MichaelP
	1.	DEFECT FIX: DEF111566: USBMSAPP shouldn't be built from two different locations
		Deleted the H4 target .MMP file (/omap_hrp/h4/usbmsapp.mmp) and changed the
		respective file entry in /omap_hrp/h4/rom/kernel.iby to now use the generic
		version of USBMSAPP (i.e. 'usbmsapp.exe' instead of '_h4hrp_usbmsapp.exe').
	2.	DEFECT FIX: DEF112048: USB PDD PIL issues spurious warnings
		Changed most KTRACE flags in DUsbClientController::NextDeviceState()
		from KPANIC to KUSB.

2.	JonCo
	1.	DEFECT FIX: DEF111941: DP: Obsolete ENABLE_CODE_PAGING flag should be removed

3.	indrajeetsingh
	1.	DEFECT FIX: PDEF109251: t_nandbm fails to run on various platforms

4.	MarkTa
	1.	DEFECT FIX: DEF111952: Some test cases fail on H2 ARM4 builds
		Stop t_pagestress from doing alignment checks on ARM4 builds.
		Protect against division by zero in t_defragperf when t_defragdll0 is too small.

5.	OlegI
	1.	DEFECT FIX: DEF111391: No documentation for descriptor Collapse() and Expand()




Version 2.00.1724
=================
(Made by MarkTa 26/09/2007)

1.	RyanHarkin
	1.	DEFECT FIX: DEF111491: Fibula: 0xdead data received

2.	DjordjeK
	1.	Minor Change: Document update: Base_How_To_ARMv7_Cache_And_Access_Remapping - Design.doc

3.	AndrewSmi
	1.	MINOR_CHANGE: Run-mode debug test code. Modify t_rmdebug2 test code to
		enable running tests individually. Add help (-h) and version (-v) options
		to t_rmdebug2.exe command line arguments.

4.	MiguelB
	1.	DEFECT FIX: DEF111721: H2 & H4 MMC interrupt handler may compile incorrectly

5.	MarkTa
	1.	MILESTONE: Naiad, GT0302, MS3.5.2 DS503 PREQ308 - Defragment physical RAM.
		- Addition of the RAM zone concept.
		- New APIs to allow RAM to be physically defragmented, either all of RAM or a
		specified RAM zone.
		- Updated H4 base port to show how to potentially use RAM zones to save power
		and allow a large physically contiguous buffer to be obtained without having to
		reserve it from the rest of the system.
		- Update H2 base port to stress the RAM zone code.


Version 2.00.1723
=================
(Made by DmitryL 11/09/2007)

1.	ReubenH
	1.	MINOR_CHANGE: Adding BTrace documentation for EHeap category

2.	MiguelB
	1.	DEFECT FIX: DEF111103: IPR errors in base_e32test

3.	MichaelP
	1.	DEFECT FIX: DEF111395: USB PIL wrongly resets endpoint data toggles
		Removed calls to ResetDataToggle() from some PIL functions such that it now
		only gets called for the relevant endpoints in InterfaceSetTeardown() (plus
		of course for a CLEAR_FEATURE(ENDPOINT_HALT) request).
4.	Yogesh Chauhan
	1.	DEFECT FIX: DEF110633: Warnings generated with checksource build

5.	JonathanM
	1.	DEFECT FIX: PDEF111465: No API to determine VID from DThread

6.	JonCo
	1.	DEFECT FIX: PDEF111457: Kernel exception during NThreadBase::Kill

7.	NeilC
	1.	DEFECT FIX: DEF111080: <Base Quality SD> Initial Clock speed value not checked
	2.	DEFECT FIX: DEF111081: <Base Quality SD> Data Transfer Clock speed value not checked - PSL
	3.	DEFECT FIX: DEF111082: <Base Quality SD> Data Transfer Clock speed value not checked - PIL

8.	VitalyR
	1.	DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
	2.	MINOR_CHANGE: TI H4 baseport version 9.61 for LCD.
	3.	MILESTONE: Oghma, GT0302, MS3.13 DS697 CR0978: LCD Driver update to support off-screen image buffer.



Version 2.00.1722
=================
(Made by OlegI 04/09/2007)

1.	OlegI
	1.	DEFECT FIX: PDEF111121: Messaging SBTM (3SK): H4 crashes as I open messaging while OOM

2.	SebO
	1. 	DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
	2.	DEFECT FIX: DEF110299: __ARM_scalbn should be declared IMPORT_C.

3.	AndrewSmi
	1.	DEFECT FIX: DEF109608: Debug namespace (rm_debug_api.h) comment problems
	2.	DEFECT FIX: DEF110096: Run mode debug: KRomImageDebuggable constant in e32rom.h should be @released
	3.	DEFECT FIX: DEF110837: Run mode debug - warnings produced when compiling on unsupported platform
	4.	MINOR_CHANGE: Add test case identifier comment for CRunModeAgent::TestDllUsage


Version 2.00.1721
==========================
(Made by ReubenH, 29/08/2007

1.	JonCo
	1.	DEFECT FIX: DEF110944: Precondition checks going off in the crash debugger

2.	DjordjeK
	1.	DEFECT FIX: DEF111169: [System Build]:CBR Errors and warnings in M04329 v9.4 and M04329 v9.5
	2.	Minor Change: Support for Network Boot on X86 platform.

3.	Radhakrishnanramanat
	1.	DEFECT FIX: DEF109461: NKern::FSWait does include not holding a fast mutex as a precondition
		Added precondition to check holding fast mutex.

4.	ArchanaH
	1.	DEFECT FIX: DEF109992: t_boottime.cpp needs the changes to free LDD
		Added code to check for the error code while loading the driver and to free the driver.

5. RaghavendraB
	1.  DEFECT FIX: DEF109703: [SITK v1.0] Warnings generated with checksource build.

6. 	MArkTa
	1.	DEFECT FIX: PDEF110872: SDK/S60 3.2/C++CW/W: interfaces_kernel_EKA2 API defects (WL)
		Remove unimplemented methods, euser-7.0 build files and hal_gcc_shim



Version 2.00.1720
==========================
(Made by JonCo, 15/08/2007

1.	NeilC
	1.	DEFECT FIX: DEF109913: Blocklength ASSERT to ensure SD Compliance
	2.	DEFECT FIX: DEF109914: Incorrectly setting KMMCOCRBusy for ACMD41
	3.	DEFECT FIX: PDEF110281: Formatting SD Card Protected Area - Format Unit Size is incorrect

2.	JonCo
	1.	DEFECT FIX: DEF109799: The text window server doesn't handle the cursor properly
	2.	DEFECT FIX: DEF110323: DP: Code paging leaks address space
	3.	CR1170: Enable code paging without ROM paging
	4.	PDEF109414: Documentation for DPlatChunkHw::New is incorrect.

3.	SivashankarN
	1.	DEFECT FIX: DEF107478: [v9.4,v9.5] {Fix Dev Branch} Kern::RequestComplete with deleted DThread in 				~DMsgQueue

4.	NicholasC
	1.	MINOR_CHANGE: Fix Compiler error from DEF109913

5.	JonathanM
	1.	DEFECT FIX: DEF110538: DP: System crash in demand paging code
 	2.	DEFECT FIX: DEF110897: DP: Memory leak if DDemandPagingLock is freed twice.
 	3.	DEFECT FIX: DEF110290: Various BTrace bugs
		Detailed description...

		1.	Priming of EChunks category give incorrect memory allocation for chunks
			because the 'page bitmap' it uses also contains guard pages which don't
			have any RAM commited.

			Solution: Change prime implementation to walk page tables to determine
			which memory is actuall committed to the chunk.

		2.	The memory memory used for File System Caching is double counted, because
			it is both commited to the chunk and counted in the 'free ram' size.

			Solution: Issue EChunkMemoryDeallocated for pages which are unlocked
			and EChunkMemoryAllocated when they get locked again. This makes File
			System Cache chunk appear as not using RAM. (Which is correct as the
			RAM is counted as 'free' by the system and available for other use.)
			NOTE: The fix for bug 1. also fixes the prime data for the file cache
			chunk.

		3.	Missing physical ram allocation bookkeeping and traces
			(EKernelMemoryDrvPhysAlloc):
			- MmuBase::Init2 should account for ram banks reserved by the bootstrap.
			- Epoc::ClaimPhysicalRam should behave as Epoc::AllocPhysicalRam.

		4.	The memory usage for CodeSegments needs to be output when ECodeSegs
			category is primed.

		5.	The use of memory by the kernel as reported by EKernelMemory traces is
			incorrect.

			Solution: Add extra book-keeping to the kernel so it updates the new
			variable Epoc::KernelMiscPages whenever it allocates or frees memory which
			doesn't belong to a chunk.

		6.	Traces for EKernelMemoryDrvPhysAlloc output size and physical address in the
			wrong order.

		7.	Traces for EKernelMemoryDrvPhysAlloc and EKernelMemoryDrvPhysFree should
			contain the size of RAM actually allocated, not that requested. I.e. sizes
			should be rouded up to a page size.

		8.	C++ version of the reference BTrace handler in BTracex doesn't output
			Timestamp2.

			Solution: Output NKern::TickCount() value if Timestamp2 requested.

		9.	It's not possible to distinguish between two different processes which have
			the same trace id. (As happens when a new process is created at the same
			address as a previous terminated process.)

			Solution: Add EProcessCreate and EProcessDestroy traces to trace category
			EThreadIdentification, and output these traces when a process is created or
			destroyed; also when trace category EThreadIdentification is primed.

		10.	It is not possible to associate a chunk with the process which owns it.

			Solution: Add new EChunkOwner trace to EChunks trace category and output
			this whenever a EChunkCreated trace is output.

		11.	Cpu usage trace analysis can be made easier by outputting a
			ENewThreadContext trace when trace category ECpuUsage is primed.

		12.	The EMetaTrace category should be automatically enabled at boot if any
			BTrace category is enabled. This makes trace-from-boot consistant with use
			of BTRACE.EXE.

		13.	After using BTRACE.EXE to dump the contents of the trace buffer, the buffer
			is empty, therefore any subsequent dumps will lack important state
			information.

			Solution: After dumping the buffer, 're-prime' all trace categories which
			are enabled.

		14.	BTRACE.EXE can report 'bad command line argument' when trying to set
			filters, e.g. with '-f3'.

			Solution: Set 'r' to true in the case 'f' line.

		15.	Insufficient test code for checking kernel BTrace data output.

			Solution: Add a trace analysis tool to E32UTILS testing purposes.

		16.	It is not possible to obtain the contents of the trace buffer once the
			system has crashed.

			Solution: Extend BTrace APIs to include the ability for the BTrace driver
			to register a 'control' function, (see enum BTrace::TControl etc.).
			These APIs enable the crash debugger to obtain the contents of the trace
			buffer and dump them through the debug UART.

6.	AndrewSmi
	1.	DEFECT FIX: DEF109517: PREQ1426 : Run Mode Header can result in libraries with static data
	2.	DEFECT FIX: DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCL
		Added new test case to validate this defect and DEF109517 which depends on this fix.

7.	MichaelP
	1.	DEFECT FIX: DEF110413: USB Inline Header File uses potentially wrong Enums
		Changed 'EThread' into 'NKern::EThread' in e32/include/drivers/usbc.inl.

8.	colinward
	1.	DEFECT FIX: DEF109258: halcfg.pl - missing usage function

9.  ArchanaH
	1.  DEFECT FIX: DEF109381 :  Documentation on thread naming needs updating.
	2.  DEFECT FIX: DEF109382 :  Documentation on Server naming needs updating.

10.	DennisM
	1.	MINOR_CHANGE:	Move some definitions in e32keys.h from internal to @publishedPartner.
						This change is done to assist Symbian in washing its hands of Java.


Version 2.00.1719
==========================
(Made by MariamSood, 08/08/2007

1.	Gayathriramachandra
	1.	DEFECT FIX: PDEF109906: T_SERIAL: TestFirstDelayedWrite called before the ports have been configured

2.	MiguelB
	1.	DEFECT FIX: DEF109787: NAND Media driver is a bit inefficient when reading
	2.	DEFECT FIX: DEF110049: Combining a V3 & V4  MMC card on the same bus sets the bus width to 4
	3.	MINOR CHANGE: Change MmcTest to decode MMC/SD serial number
	4.	DEFECT FIX: PDEF109903: Formatting SD card protected area is unacceptably slow
	5.	DEFECT FIX: DEF109989: PER03138 __ASSERT_DEBUG macro bug in MEDMMC.CPP

3.	markhambleton
	1.	CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered
		during the SMP prototype development phase
	2.	MINOR CHANGE: Add missing ditribution.policy files.
	3.	MINOR CHANGE: Fix BC break with RotateReadyList.

4.	AndrewHi
	1.	DEFECT FIX: PDEF110164: Compiler error in d32locd.h

5.	MichaelP
	1.	DEFECT FIX: PDEF110078: Classes are not fully initialized by the constructor.
		Made sure that USB classes which are shared between kernel- and user-side
		are fully initialized with the same valid values across all 9.x releases.
		This affects classes TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
		TUsbcClassInfo, and TUsbcInterfaceInfo.

6.	lukaszforynski
	1.	DEFECT FIX: DEF109292: added conditional creation of epoc.ini depending on run argument. (wintest.bat)
	  Changed initialisation for non SSR Nand Driver Type (estartmain.cpp)

7.	Yogesh Chauhan
	1.	DEFECT FIX: DEF109387: TMappingAttributes not fully documented.
		Added in-source documentation for  TMappingAttributes.


Version 2.00.1718
==========================
(Made by NeilC, 02/08/2007)

1. 	DjordjeK
	1.	DEFECt FIX: PDEF109804: DSharedIoBuffer::New() caused panic in the case of no memory.
		In Out-Of-Memory condition, Kernel may have crashed when SharedIO is created.
2. 	SebO
	1.	DEFECT FIX: DEF107996: Warnings generated with checksource build.
		Made paths in .mmp and bld.inf's consistant with file system.

3.	fabiangortz
	1.	CR0904: Remove hardcoded references to C:
		(production code)

4.	DipakA
	1.	DEFECT FIX: DEF109997: aOffset description missing in document lib for Kern::ThreadDesRead API.



Version 2.00.1717
==========================
(Made by ParameshwariB, 24/07/2007)

1.	ReubenH
	1.	CR1050: New BTrace instrumentation for Heap & Kernel memory analysis.
	2.	DEFECT FIX: INC108593: Setting secure clock requires TCB capability
		User-mode secure clock APIs were wrongly documented as requiring WriteDeviceData + DRM. This was changed to
		TCB + WriteDeviceData at the last possible minute, but the documentation was not updated until now.

2.	MarkTa
	1.	DEFECT FIX: DEF107589: Problem with the context switching implementation
		Add new macros that allow the only the coprocessor registers required to be saved on the stack
		on a context switch.  No longer relies on EXTRA_STACK_SPACE but uses the real coprocessor macros.

3.	georgiosdementis
	1.	DEFECT FIX: PDEF109322: t_chunk doesn't test allocation of 1024th page table(moving model)
		Spawn a new process that allocates more chunks.


Version 2.00.1716

(Made by JohnS, 16/07/2007)

1.  RaghavendraB
	1.	DEFECT FIX: DEF108961 : template_variant can't build variant_user.mmp.

2.	ArchanaH
	1.	DEFECT FIX: DEF108618:  Minor issues in crash debugger
		              Updated the code to dump IRQ and FIQ stacks after all thread stacks are printed.

3.	NeilC
	1.	DEFECT FIX: PDEF109377: <BASE Quality SD> SIZE_OF_PROTECTED_AREA incorrectly calculated for SDHC cards

4.	MarkTa
	1.	DEFECT FIX: PDEF109159: RamCacheBase::ReturnTo System holds system lock when freeing RAM page
		Update RamCacheBase::ReturnToSytem to release the system lock before call the ram allocator.
		Also, remove some of the system lock flashing that occurs when ReturnToSystem is invoked.
	2.	MINOR CHANGE: Add missing export to eabi/euser.def.

5.	MichaelP
	1.	DEFECT FIX: DEF109088: BASE QUALITY USB - SetInterface for invalid default setting
		Corrected the interface number that is passed into CheckEpAvailability() in
		function DUsbClientController::SetInterface().


Version 2.00.1715
==========================
(Made by SushmitaR, 10/07/2007)

1.  RaghavendraB
	1.  DEFECT FIX: PDEF108984: In source comments seem misleading in kern_priv.h.
2.	Viral Trivedi
	1.	DEFECT FIX: PDEF107149: User::RenameProcess: incorrect return code description if process name is same
		Modified insource comments to match the implementation (i.e. Returns KErrNone if the new and old (to be renamed) process names are identical).

Version 2.00.1714
==========================
(Made by AndreasP, 04/07/2007)

1.	MiguelB
	1.	DEFECT FIX: PDEF108206: CMD8 is sent with wrong response type: R1 instead of R7
		Added R7 to TMMCResponseTypeEnum.
		Changed TMMCMachineInfo to support new flag - ESupportsR7. The PSL layer MUST SET THIS BIT IF IT SUPPORTS R7
		Changed CommandTable in session.cpp so that CMD55 & CMD56 have class KMMCCmdClassApplication.
		Changed DSDStack::InitialiseMemoryCardSM() so that it sends CMD8 with response type BCR. For CMD8, ERespTypeR7 is written to the
		iResponseType member variable of TMMCCommandSpec, if the PSL indicates support for the ESupportsR7 bit, otherwise it writes ERespTypeR1.
		Changed initialisation order in DSDStack::InitialiseMemoryCardSM() so that ACMD41 is send after CMD8 rather than before,  to comply with the SD 2.0 spec.
	2.	DEFECT FIX: PDEF108721: H4 MMC Inactivity timer fires in interrupt rather than DFC context
		Changed iInactivityResetTimer to fire in DFC context. Added a debug-assert to DMMCStack::UnBlock() to make sure Unblock() is not
		called in interrupt context unless the KMMCSessStateDoDFCflag is set.

2.	MichaelP
	1.	MINOR_CHANGE: USB API Document: Added note regarding standards compliance
		when changing interface numbers to section 4.8.5 "Interface Descriptor";
		upped document version to 3.0.6.

Version 2.00.1713
==========================
(Made by AndrewHi, 29/06/2007)

1. PeterS
	1.	DEFECT FIX: DEF108400: FAULT: WinsSoundScPdd 0x000002da (730) panic from Multimedia alloc tests.

2.	StefanW
	1.	DEFECT FIX: DEF105363: KErrCorrupt - while reading a file content which is available in MMC Card
		H4 supports a maximum data transfer length of 1M.  Added support in TMMCMachineInfo to allow the
		PSL to specify if such a limitation exists, allowing the media driver to split up the transfer.

3.	AndrewHaigh
	1.	MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426  - Finalise  run-mode debug driver including speculative Thumb2 debug support.
	2.	DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
	3.	DEFECT FIX: PDEF107500. Board Crash when Reading Thread List from Debug Security Server.
	4.	DEFECT FIX: DEF107833. PREQ1426 - Listing information not present in Debug Functionality block.

4.	MarkTa
	1.	MINOR_CHANGE: Remove @prototype tags from KDriveAttPageable, KMediaAttPageable and DefaultHash::Integer()
		as not allowed to have @publishedAll APIs left as @prototype.

5.	AndrewHi
	1.	DEFECT FIX: DEF107786: Miss use of #else preprocessor directive
		Modified files in Base subsystem to conform to preprocessor rules

6.	ReubenH
	1.	DEFECT FIX: INC108121: Time setting is changing back to original time by itself after time is changed
		Applied critical patch to kernel\stimer.cpp for hardware where NOS 'owns' the hardware clock and
		goes into an interrupt-driven infinite loop if SymbianOS kernel writes to it.

Version 2.00.1712
==========================
(Made by JonCo, 26/06/2007)

1.	ArwelH
	1.	DEFECT FIX: PDEF108259 Kern::MutexCreate's aMutex argument is documented wrongly

2.	DennisM
	1.	MINOR_CHANGE: Made T_SOUND_API and T_SOUNDMCHAN 'support' tests on the
		emulator since the shared chunk sound driver has been observed to freeze
		the emulator during testing. Defect DEF108303 has been raised on account
		of this.

3.	MariamSood
	1.	DEFECT FIX: PDEF108283: iBusWidth of TSDcard is not initialized.
		This results in iBusWidth to hold an incorrect value after a Powerup/IDLE state.
	2.	MINOR_CHANGE: Added documentation for BusWidth() and SetBusWidth() member functions of TSDCard class.

4.	Vyshnavyk
	1.	DEFECT FIX :DEF105914 : euser.mmh should check for __CPU_HAS_VFP.
		Added a macro check for __CPU_HAS_VFP in all the files checking for the macro __USE_VFP_MATH.

5.	ArchanaH
	1.	DEFECT FIX: PDEF107454 : Debug monitor dump command should read using alignment .
		Updated the code to read using alignment.

6.	OlegI
	1.	MILESTONE: Naiad,GT0326 MS3.11 DS 718 CR1098: NTimer::OneShot that takes a TDfc to queue on completion
		CHANGE REQUEST: CR1098: NTimer::OneShot that takes a TDfc to queue on completion
	2.	DEFECT FIX: DEF107280: Engineering document states that Symbian does not support demand paging
	3.	DEFECT FIX: PDEF108368: Kernel precondition break happens on Lubbock
	4.	DEFECT FIX: PDEF108367: In t_chunk.cpp, RTest::Start() does not match RTest::End()
	5.	DEFECT FIX: PDEF108497: KMaxOsName has been renamed KMaxProcessName

7.	MichaelP
	1.	MINOR_CHANGE: Added two KTRACE printfs to USB driver to aid debugging.

Version 2.00.1711
==========================
(Made by VincentF, 13/06/2007)

1.	SebOlney
	1.	DEFECT FIX: DEF107331 DMMCSession::RequestMoreData() tagging incorrect.
		Removed unnecessary tags for DMMCSession::RequestMoreData() in mmc.h and mmc.inl
	2.	DEFECT FIX: DEF107342 TMMCCommandDesc::BufferLength() is @publishedPartner but has no description
		Added method description

2.	AttilaV
	1.	DEFECT FIX: PDEF107138 Kern::NanoWait(n) blocks 2*n nanoseconds
		Added new test T_NANOWAIT to measure NanoWait() blocking time

3.	MiguelB
	1.	DEFECT FIX: DEF108024: Closing H4 MMC DMA channel can trigger an assert
		Set iRxChannel / iTxChannel to NULL in DOmapMMCDmaRx::Close() / DOmapMMCDmaTx::Close()
		to prevent a debug-assert on a subsequent call to TDmaChannel::CancelAll().


Version 2.00.1710
==========================
(Made by MiguelB, 06/06/2007)

1.	MichaelP
	1.	MINOR_CHANGE: Updated USB Porting and Test How-To Document to version 3.2.1.
	2.	DEFECT FIX: PDEF107581: E32Test t_usb does not alter and check payload
		Changes made to T_USB and USBRFLCT to put the 32 bit packet number that is
		incremented for each transmission as the first four bytes of each data payload.
		This is checked by the receiving application and if it is not as expected
		(1 more than the previous packet number) then an error message is displayed
		and the expected packet number is changed to match the received packet number.
 	3.	DEFECT FIX: DEF107620: USB LDD shouldn't allow duplicating of channel handle
		Override virtual DObject::RequestUserHandle() in class DLddUsbcChannel such
		that attempts to duplicate the channel handle via RDevUsbcClient::Duplicate()
		will result in KErrAccessDenied being returned.
	4.	DEFECT FIX: DEF107651: USB PDD: GET_DESCRIPTOR fails for large configurations
		Increased Ep0 Tx buffer size in the USB PDD PIL from 1KB to 64KB (the largest
		amount a GET_DESCRIPTOR can request).

2.	JonCo
	1.	DEFECT FIX: DEF106817: multimedia test case still exhausting windows TLS indicies
		Added windows entrypoint to all DLLs so it can perform CodeWarrior runtime libary cleanup

3.	DjordjeK
	1.	DEFECT FIX: DEF107030: Workaround required for ARM1136 Errata 411920 and 415662
		It affects code that (almost) never executes.
	2.	DEFECT FIX: PDEF106326: DevLib needs description to warn of an usage of Kern::RequestComplete( )
		In-sourse documentation update only.

4.	Peters
	1.	DEFECT FIX: DEF106857 New Sound Driver-Issue with pausing recording when no outstanding requests.
	2.	DEFECT FIX: DEF107379 New Sound Driver: DSoundScLdd should not be publishPartner.
	3.	INTERFACE CHANGE: BR2127.2 DSoundScLdd and associated symbols should not be publishPartner.

5.	JonathanM
	1.	MINOR CHANGE: Fixed E32TEST T_DEMANDPAGING to make it more robust.
		The change excludes the code of the test program itself when checking writing
		to paged ROM. Without this change it was possible for the test program execution
		to change the state of a ROM page being tested.

6.	RichardCo
	1.	DEFECT FIX: DEF107503: IPC alias memory does not get domain initialised correctly

7.	JohnS
	1.	MILESTONE: Sphinx,GT0339,MS3.1.1 Support FAT on <90nm flash devices (part 1)
		INTERFACE CHANGE: BR2083 Peripherals: Move base_wins component source from
		base\wins to base\emulator\wins

8.	SimonT
	1.	MINOR CHANGE: mass update of missing SYM_BRANCH comments in OMAP H4 HRP
		BSP to mark differences for conflict resolution.

9.	AndrewSmi
	1.	MILESTONE: Nutmeg, GT0332, MS3.7 PREQ1426  - Initial submission of run mode debug driver and security server

10.	Yogesh Chauhan
  	1.	DEFECT FIX: DEF105784: RHeap::Size is incorrectly documented as returning the bytes commited

11.	MiguelB
	1.	DEFECT FIX: DEF107699: estart.txt file incorrectly enables noth NOR and NAND drives on H4


Version 2.00.1709
==========================
(Made by SushmitaR, 30/05/2007)

1.	MichaelP
	1.	DEFECT FIX: DEF107194: USB Client PDD: CancelWrite(0) doesn't work
		DUsbClientController::CancelWriteBuffer() didn't take into account that the
		USB LDD uses endpoint number '0' for both directions of Ep0.

2.	ArwelH
	1.	DEF105786 RProcess::Terminate()/Kill() documented needed capabilities not correct

3.	MiguelB
	1.	DEFECT FIX:  PDEF107283: TTG:<just after the time on inserting MMC/SD, MMC/SD cannot be recognized>

4.	OlegI
	1.	MINOR_CHANGE: Updated Functional Specs for REQ7124

5.	NeilC
	1.	DEFECT FIX: PDEF107214: TTG:<e-shell cannot read or recognize ELECOM SDHC 4GB Class4>
	2.	DEFECT FIX: PDEF107251:	Instantiation of  second SDIO socket should succeed

6.  Vyshnavyk
	1.	DEFECT FIX:PDEF107137: Euser does not compile with FPU in compiler flags
		Tested by enabling the FPU within the EUSER.MMP file using OPTION ARMCC --fpu=vfpv2,
		And have made changes accordingly to the UC_REALX.CPP file.

7.	JonCo
	1.	DEFECT FIX: DEF107196: Ipc copy of code-paged data that isn't word-aligned causes fault

8.	MarkTa
	1.	DEFECT FIX: PDEF106928: TSecurityPolicy function is not exported
		Make overload of TSecurtityPolicy::CheckPolicy that creates list of missing polices,
		@internalComponent to remove it from the developer library.


Version 2.00.1708
==========================
(Made by JenniferH, 23/05/2007)

1.	MichaelP
	1.	MINOR_CHANGE: Changed a debug printf in the USB LDD from an error message
		to an informational one.
	2.	MINOR_CHANGE: Update of the USBIO host test driver from version 2.30 to 2.41,
		which, among other things, adds MS Windows Vista support:
		Recompiled usbrflct.exe against the new driver, provided new versions of the
		driver binaries (usbrflct.sys and usbrfl98.sys) + updated the INF files.
	3.	MINOR_CHANGE: Added testing of class-specific (CS) Endpoint descriptor
		manipulation to USB unit test T_USBAPI.

2.	OlegI
	1.	MILESTONE: Oghma, GT302, MS3.8, DS.543 Base: GNU Make-based build system
		PREQ1182 GNU Make-based build system
		REQ7124: Base: extension makefile changes and filename compliance

3.	RaghavendraB
	1.	DEFECT FIX: PDEF106635: RMessagePtr2::Panic can itself panic with USER 23!

4.	DanH
	1.	DEFECT FIX: DEF106876: Missing utility to exercise DPTest API
		Added a console application (dptestcons.exe) that links to dptest.dll and provides command line
		access to all the functions in DPTest. Added an oby file containing both dptest.dll and dptestcons.exe,
		and exported this to \epoc32\rom\include\.

5.	Yogeshchauhan
	1.	DEFECT FIX: DEF105782: DKernelEventHandler has been marked as @interim since 9.1
		Replaced @interim with @released

6.	Radhakrishnanramanat
	1.	DEFECT FIX: PDEF106866: DProcess::Rename has a defect when renaming a process to the same name
		Added new method BaseName(n) to Dobject class (Non virtual and not exported).
		This method will be called by DProcess::Rename(). Modified T_proc1.cpp to test rename the process with same name.

7.	DipakA
	1. 	DEFECT FIX: PDEF106923: Support for RPipe::WaitForWriter and re-alignment of RPipe def files.
		RPipe::WaitForReader and RPipe::WaitForWriter API added. DEF file regenerated for re-alignment.
		t_pipe.cpp updated with new test cases.

8.	FionntinaC
	1.	DEFECT FIX: PDEF102484: BaflUtils::NearestLanguageFile() to use new HAL attr for custom resource drive
		New HAL attribute ECustomResourceDrive added. This is intended for use by BAFL in determining if an additional
		drive needs to be included in the search algorithm for language files.
		(BR2038.2 Kernel: Deprecate HALData::ESystemDrive and introduce a new attribute for BaflUtils::NearestLanguageFile
		to use)

9.	ArunachalamR
	1.	DEFECT FIX: PDEF107023: Applications with caption over 80 characters in length crash
		(Propagated from INC106000: Applications with caption over 80 characters in length crash and applied the same fix)
		Maximum allowable name length for any kernel object is 80, so User::RenameThread panics
		if the name is more than 80 characters. Updated function description to reflect the same.

10.	AndrewHickman
	1.	DEFECT FIX: PDEF107131: Incorrect search results when searching with asterisk at the beginning of searc
		When searching files using asterisk at the beginning and questionmark at the end, the search
		stops too early. For example if searching file named 'jpg_picture.jpg' with the string *jp?
		the search doesn't find the file, because it stops handeling the file after 'jpg_' which
		isn't a match.
		Changes to TCollate::Match() in collate.cpp
		Added new tests to existing in t_match.cpp


Version 2.00.1707
==========================
(Made by SamiraA, 17/05/2007)

1.	ArunachalamR
	1.	DEFECT FIX: PDEF106335: TCSD::ReadBlockLength() implementation is inconsistent with MMC functional spec
		(Propagated from DEF105501 and same fix is applied)
		TCSD::ReadBlockLength( ) is modified to validate and support Read Block Length based on the Card Specification Version.

2.	MichaelP
	1.	DEFECT FIX: DEF106254: Device descriptor information bMaxPacketSize0 conflicts with iEp0MaxPacketSize
		Changed USB PSL constant KEp0MaxPktSzMask, which is the value reported to
		the higher layers, from KUsbEpSize16 to KUsbEpSize64. This affects both the
		H2 and the H4 full-speed USB drivers.
	2.	MINOR_CHANGE: USB API Document: Corrected description of Control transfer
		handling on Ep0 in section 3.3; upped document version to 3.0.4.
	3.	MINOR_CHANGE: Added testing of class-specific (CS) Interface descriptor
		manipulation to USB unit test T_USBAPI.

3.	DjordjeK
	1.	MINOR_CHANGE: In-source documentation for User::IMB_Range updated

4.	PeterS
	1. 	DEFECT FIX: DEF105033: New sound driver - Sound heard with new driver is less than the old driver.

5.	Vyshnavyk
	1.	DEFECT FIX: DEF105786 : RProcess::Terminate()/Kill() documented needed capabilities not correct.
		Updated the capablity section of the in-source documentation for Kill(), Terminate() & Panic()
		functions of RProcess class
6. 	Kamrann
	1.MINOR_CHANGE: Updated functional specification to reflect the delivered Oghma REQ for PREQ1389

7.	AndreasP
	1.	MINOR CHANGE: Fixed illegal IM tags

8.	MiguelB
	1.	PDEF106752: Error in processing HEADER.IBY files
		Changed "#else if defined(USE_MMC)" to "#elif defined(USE_MMC)" to keep tools happy

9. JenniferH
	1.	DEFECT FIX: PDEF106846: RCondVar documentation fails to mention priority inversion



Version 2.00.1706
===============================
(Made by MichaelMo, 09/05/2007)

1.	DjordjeK
	1.	DEFECT FIX: PDEF105690: Kernel IPC problem - incorrectly fails with KErrBadDescriptor
		This defect caused aliases to fail randomly.

2.	MichaelP
	1.	DEFECT FIX: DEF105752: Semicolon at the end of "if" statement in usb dma driver
	2.	MINOR_CHANGE Removed #include <platform.h> from e32\include\drivers\usbc.h,
		as it's not needed.
	3.	DEFECT FIX: DEF106263: Ep0 seems unstable when USB Host selects alternate interface
		The USB LDD no longer cancels pending Ep0 transfers in
		DLddUsbcChannel::ResetInterface(), also the LDD now sets up an Ep0 read upon
		the user calling RDevUsbcClient::SetDeviceControl().

3.	NeilC
	1.	DEFECT FIX: PDEF104933: Multi socket SDIO initialization error.

4.	JonathanM
	1.	MINOR CHANGE: Fixed a couple of typos in the example code in Base_How_To_Shared_Chunk.doc
	2.	MINOR_CHANGE: Modified E32TEST T_XXVER2 to cancel lazy DLL unloading - without this it cannot be be run standalone.

5.	PeterS
	1.	DEFECT FIX: DEF104278 New sound driver - partial buffer captured prior to pausing is lost.
	2.	MINOR CHANGE: Minor changes to T_SOUND2 to improve coverage when playing short requests.

6.	MariamGeorge
	1.	DEFECT FIX: DEF104508: T_MMCDRV - fails extended read/write tests (potential problem in MEDMMC)
		A memory write intended to flushout driver's buffers was in fact writing into the memory under test.
		T_MMCDRV test code is modified to correct this erroneous behaviour.

7.	AndreasP
	1.	MILESTONE: GT302.313 MS3.10 PREQ1089 - Process Monitoring and Re-launch Service
		REQ7364 Peripherals: Restarting the hardware platform

8.	ReubenH
	1.	DEFECT FIX: DEF105938 Secure Clock setting uses wrong capability

9.	JonCo
	1.	DEFECT FIX: DEF106123: processes crash with MemModel 6 panic on emulator.
	2.	DEFECT FIX: PDEF106164: rom.pl doesn't allow patching of constants in kernel or drivers

10.	ArunachalamR
	1.	DEFECT FIX: PDEF105149: mmctest fail with KErrArgument when trying to write to a sector (SD card/size2G)
		Modified source code to get correct write block length using TSDCard::MaxWriteBlLen( ) for SD Card.
		The CSD for > 2GB incorrectly returns the WRITE_BL_LEN field so by calling MaxWriteBlLen it will tune it down to 512 Bytes.

11.	NeilC
	1.	DEFECT FIX: PDEF105669: Access failed after SDIO Inactivity timer expired.

12.  RaniSuneelaM
	1.	MILESTONE: GT0350, MS3.1 DS542 PREQ1212
		Added tutorial reference drivers phase-1 and phase-2


Version 2.00.1705
==========================
(Made by JonCo, 24/04/2007)

1.	MarkHambleton
	1.	DEFECT FIX:  DEF100592: TRawEvent::EInactive/EActive events sent when emulator window loses
		Changed behaviour so that event is sent when window is minimised rather than losing focus.
	2.	MINOR CHANGE: Update metabld scripts used for building private dev roms to support new tools.

2.	JonathanM
	1.	MINOR CHANGE: Removed unused internal function: ArmMmu::LinearToPhysical(TLinAddr, TInt, TInt&, TInt&)

3.  ArunachalamR
	1.	DEFECT FIX: PDEF104712: T_DMA test fails because unexpected fragment count.
		New enum flag value is defined in e32\include\drivers\dma.h and
		e32test\dma\d_dma.cpp is modified to pass on this to request a different max transfer size for test purposes.

4.	MariamGeorge
	1.	DEFECT FIX: PDEF103863: SD Card Protected area driver no longer gets destroyed at power

5.	JonCo
	1.	DEFECT FIX: PDEF105218: multimedia test case popup window problem
	2.	MINOR_CHANGE: Added comment to unsafe RRegion constructor

6.	DjordjeK
	1.	DEFECT FIX: PDEF105295: ODP - CSessionLoader::ServiceL leaves object on cleanup stack

7.	ReubenH
	1.	Requirements: PREQ1266: Secure clock


Version 2.00.1704
==========================
(Made by AndrewHi, 16/04/2007)

1.	MiguelB
	1.	DEFECT FIX: PDEF104309: SD2 stack init sequence doesn't comply with SD2 spec
		Changed init sequence to ensure that CMD8 is issued prior to ACMD41 as dictated by the spec.
	2.	DEFECT FIX: PDEF104854: Default bus width after GO_IDLE(CMD0) have to be 1 bit
		Changed DMMCStack::GoIdleSM() state machine to set bus width to 1 after CMD0 to comply with spec.

2.	SimonT
	1.	DEFECT FIX: DEF104086: Base USB Mass Storage App sends invalid Serial
		Number. This changes both of the USB drivers on H4 so that they
		generate a unique serial number for the platform in the string
		descriptor. The value is taken from GetSerialNumber() on the H4
		variant, a simple implementation initialises SetSerialNumber() with the
		low bits of the MAC address.

3.	MarkHambleton
	1.	DEFECT FIX:  PDEF104588: Loading dll repeatedly fast causes Symbian OS Fatal Error
		Fixed race condition in emulator when loading a driver could find an old handle.


4.	ArchanaH
	1.	DEFECT FIX: DEF103043: Arch and Asic interfaces undocumented.
		Updated insource documentation.

5.	JonathanM
	1.	MINOR CHANGE: Update in-source comment for NTimerQ::iRounding.
		This applies the correct classification of @publishedPartner and describes its
		intended use:
			This member is intended for use by ASSP/variant interrupt code as a convenient
			location to store rounding error information where hardware interrupts are not
			exactly one millisecond. The Symbian kernel does not make any use of this member.
6.	MarkTa
	1.	DEFECT FIX: DEF104851: Need to implement partial workaround for ARM erratum 408022
		Add nop before writes to CONTEXTID register that could occur after a branch

7.	JasdeepSawhney
	1.	MILESTONE: GT329 System Libraries (Oghma), MS3.17 DS.652 CR1080 - Partial Upgrade to Unicode 5.0 for Brahmic Script Support
		Change Requests:
		CR1080 Partial Upgrade to Unicode 5.0 for Brahmic Script Support
		Configurability and Compatibility:
		Non configurable. No compatibility issues

8.	AndrewHi
	1.	MINOR_CHANGE: Updated romnandtechviewh4hrp.oby to support testing for boot from NAND.

Version 2.00.1703
==========================
(Made by VincentF, 03/04/2007)

1.	StefanW
	1.	MILESTONE: GT0302 Base Elatha (Oghma), MS3.4 DS487 PREQ1389
		Added support for High-Speed SD Cards and MMC Double-Buffering.  High-Speed SD cards now
		automatically detected and configured, supporting data transfer rates of up to 25MB/s.

		Double-Buffering is enabled by specifying the following flags in DMMCStack::MachineInfo()

			TMMCMachineInfo::iFlags |= ESupportsDoubleBuffering;

		Two new API's added to facilitate double-buffered data transfer:

			TUint32 TMMCCommandDesc::BufferLength()

		...reports the size of the currently active buffer, and:

			TBool DMMCSession::RequestMoreData()

		...requests the next blocks of data to be prepared by the media driver. This would typically be called
		while hardware is transferring the previously supplied buffer, allowing the media driver to copy data
		to/from the client in parallel with hardware transfer.  While preparing the next data transfer, the
		MMC stack shall be blocked on the KMMCBlockOnMoreData blocking condition, so following a request for
		more data the PSL must wait using an SMF_WAITS state.  When data is ready, the stack is unblocked and
		the current command descriptor shall contain details of the new buffer.

	2.	DEFECT FIX: DEF103582: TMMCard::DeviceSize64 Overflow with 8G MMC Card
		Fixed overflow in device size calculations to allow correct capacity to be returned.

2.	ArunachalamR
 	1.	DEFECT FIX: INC100578: T_DMA fails, if DMA channel is already in use.
 		Modified source code to skip test on channels already in use.

3.	MichaelP
	1.	DEFECT FIX: DEF103849 USB HS driver initializes bInterval in endpoint descriptor incorrectly
		TUsbcEndpointInfo::iInterval_Hs is now initialized to (-1), and only when
		this value is recognized in TUsbcEndpointInfo::AdjustPollInterval(), then
		an HS interval value adjustment depending on the endpoint type is done.
		Also, the Mass Storage class in CBulkOnlyTransport.cpp now explicitly sets
			ifc().iEndpointData[x].iInterval_Hs = 0;
		for both Bulk endpoints (IN & OUT) in order to be (more) MSC spec compliant.
	2.	MINOR_CHANGE: USB API Document: Clarified use of function
		RDevUsbcClient::AllocateEndpointResource() when specifying multiple resources;
		upped document version to 3.0.3.

4.	DjordjeK
	1.	DEFECT FIX:  DEF103545 TLB not flushed properly when page is unmapped (MCL)
		Fixed potential stablility issue as TLB was flushed before pages are unmapped.
	2.	DEFECT FIX: DEF103134 T_IPCBM is slower since PageTables are in Write Back memory (MCL)
		The last week's fix of this defect has broken ARMv7 platform. This is the fix for it.
	3.	Minor change: Fixed T_cache test on ARMv7.
	4.	DEFECT FIX: DEF104512 Kernel doesn't drain write buffers in ArmMmu::ClearPages
		This defect was not likely to cause trouble because write buffers are anyway drained
		by H/W. (However, nobody garantees that it will happen in a definite time.)
	5.	DEFECT FIX: DEF104513 L2Cache::AtomicFlush() doesn't flush cache properly
		The defect was "invisible" because AtomicFlush is used only in soft reset.

5.	OlegI
	1.	DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it

6.	JonCo
	1.	DEFECT FIX: DEF103947: DP: Paging cache is too large in Code Paging ROMs

7.	MiguelB
	1.	DEFECT FIX: PDEF104152: Problem in issuing HSMMC commands/Spec 4 commands in H4
		Fixed a probem on platforms with 2 MMC slots which resulted in high speed / wide bus
		mode not being enabled if a single MMCV4 card was inserted in the second slot.

8.	NeilC
	1.	DEFECT FIX: PDEF103903: "Memory card locked" is shown incorrectly after setting a password.
		Fixed issue with Stack Power down marking cards as 'Locked' + additional test cases for t_pwstr


Version 2.00.1702
==========================
(Made by MiguelB, 22/03/2007)

1.	MichaelP
	1.	DEFECT FIX: DEF103920 USB LDD: TDmaBuf members iController and iEndpointNumber are not used
		Removed TDmaBuf data members iController and iEndpointNumber as they were
		not used.

2.	DjordjeK
	1.	DEFECT FIX: DEF103885 Typo errors in code
		"class:class::method" replaced by "class:method"

3.	JenniferH
	1.	DEFECT FIX: PDEF103915 Defect in base\e32\kernel\sexec.cpp
		Kern::DebugPrint changed to read user side memory with user privileges.

4.	archanah
	1.	DEFECT FIX: PDEF103798: User::Version() documentation is unclear.
		Updated insource documentation.

5.	NeilC
	1.	DEFECT FIX: PDEF103787: Inactivity reset timer must be canceled when erace command timed out.
		updated powerdown stak logic & updated t_pwstr for test coverage


Version 2.00.1701
==========================
(Made by SushmitaR, 19/03/2007)

1.	MichaelP
	1.	MINOR_CHANGE: Renamed (/base/documentation/)Base_How_To_USB_PSL.doc into
		Base_How_To_USB_Porting_and_Test.doc, which better reflects its contents.
	2.	MINOR_CHANGE: Several changes and updates to "USB Porting and Test How-To
		Document"; upped version to 3.2.

2.	DjordjeK
	1.	DEFECT FIX:  DEF103134:T_IPCBM is slower since PageTables are in Write Back memory (MCL)
		Solved performance issue with t_ipcbm test.
	2.	Minor Change: Func. Spec document update for PREQ1066 (ARMv6K & ARMv7 support).

3.	PeterS
	1.	DEFECT FIX: DEF103505 New sound driver request handling not safe if channel shared between threads.
	2.	DEFECT FIX: DEF103506 New sound driver - problems with multiple short play requests on emulator.
	3. 	DEFECT FIX: DEF103631 New sound driver - outstanding requests not always completed when pausing record.

4.	ParameshwariB
	1.	MINOR_CHANGE: Removed call to ldd.unload function in t_powerseqtest.cpp and t_serial.cpp.

5.	MarkHambleton
	1.	DEFECT FIX:  DEF103897 ArmMmu::BootstrapPageTable sets iTempPte to NULL, fix mistake which was
		setting iTempPte to null rather than *iTempPte.
	2. 	MINOR_CHANGE: Update metabld scripts for h2 / h4 / lubbock to include new tools2 target.


Version 2.00.1700
==========================
(Made by SamiraA, 08/03/2007)

1.	radhakrishnanramanat
	1.	DEFECT FIX: PDEF096009  Documentation incomplete for the following class DPBusPrimaryMedia, DPBusSocket.
		(Propagated from DEF092665).
		Added in-source comments for classes: DPBusPrimaryMedia and DPBusSocket.
		Applied same fix, from DEF092665.

2.	JonathanM
	1.	DEFECT FIX: PDEF102521 Soft reset causes debug precondition check failure during boot
		The fix makes DMemModelChunk::ClaimInitialPages() acquire the System Lock.
		(Due to this function been called early in the boot sequence the code was safe without
		this locking, therefore no defect would occur on production phones.)
	2.	DEFECT FIX: PDEF102870 Demand Paging instrumentation is incorrect.
		This includes fixing DPTest::Attributes() so that is doesn't incorrectly reports that
		Data Paging is supported and so that code paging is not supported if it is disabled by
		PAGINGPOLICY NOPAGING in the ROM's OBY file.
	3.	MINOR CHANGE: Updated Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc
		Added description about using the dynamic DFC queue API and removed description of
		internal DDemandPagingLock class.

3.	NeilC
	1.	DEFECT FIX: PDEF102051: Test zero-length read failed on secure drive.
		Added logic to media driver to return Null descriptor if read length is zero.
	2.	DEFECT FIX: PDEF096011: DMedia: Documentation is incomplete for this class in Dev library.
	3.	DEFECT FIX: PDEF102548: t_checkdisk.exe failed on secure drive.

4.	MiguelB
	1.	DEFECT_FIX: PDEF102924: T_FSRV doesn't exit properly
		Fixed RLocalDrive::EControlSetMountInfo handling in the local media subsystem so that
		a handle to the remote thread is properly closed if there is no mount information passed.
		This was preventing any app which called Rfs::RemountDrive() from closing properly.
		Changed T_FSYS to expect KErrInUse when attempting to dismount ROM file system (due to clamping).

5.	JonCo
	1.	DEFECT FIX:	PDEF102825: rom.pl doesn't handle patchdata command correctly
	2.	DEFECT FIX:	DEF102939: TTime.Parse() is incompatible with the Vietnamese Full & Abbreviated Month name
	3.	DEFECT FIX:	DEF102827: ARM1176 board crashes when formatting LFFS drive

6.	DjordjeK
	1.	DEFECT-FIX: PDEF102564 malformed import table causes loader thread data abort (MCL)
		Stablility issue with Loader when loaded executable image is corrupted.
	2.	DEFECT FIX: PDEF103211: E32 T_KHEAP FAILS (MCL)
		Minor fix in test code.

7.	PeterS
	1.	DEFECT FIX: DEF102246: New sound driver only supports record lengths of page size multiples.
		This is a BC Break - SCB confirmation number BR2066.2
		The change affects RSoundSc::SetBufferChunkCreate(). Previously this silently increased the size of
		each buffer to be a muliple of the page size. It didn't return an error - but instead reported the
		size created in response to RSoundSc::GetBufferConfig(). Now the driver accepts buffer sizes which
		are not a multiple of the page size (leaving them unmodified). For record channels, the buffer size
		specified effectively determines the size of each record request. Hence, for record channels, users
		of this function must now take greater care over the buffer size passed since the driver now returns
		an error for illegal sizes. In particular, the buffer size must be a multiple of the minimum request
		size (TSoundFormatsSupportedV02::iRequestMinSize). It should also be a multiple of the number of
		bytes per audio sample. Users of this function are no longer allowed to specify the buffer offsets
		themselves via the flag KScFlagBufOffsetListInUse in TSharedChunkBufConfigBase::iFlags. Instead they
		can select whether guard pages are left around each buffer or not - using the flag
		KScFlagUseGuardPages for the same data member.

8.	ArwelH
	1.	MINOR CHANGE: Fixing trivial spelling errors in in-source comment.
	2.	MINOR CHANGE: Tidying up in-source comment description for TFileMode


9.	DmitryL
	1.	MINOR CHANGE: Added manual test t_med_writebm to benchmark media write performance

10.	MarkTa
	1.	MINOR CHANGE: Correct spelling in comments of RLoader::Delete

11.	ParameshwariB
	1.	DEFECT FIX: PDEF102516: Interrupts disabled and not enabled in Comm drivers.
	2.	DEFECT FIX: PDEF103159: Serial driver Turnaround timer not restarted.


12.	OlegI
	1.	INTERFACE CHANGE: BR2042.1 Bootstrap changes for IRQ, FIQ, UND and ABT stacks memory allocation
	2.	CR 0972: Add guard page after IRQ stack to catch programming errors

Version 2.00.1516
==========================
(Made by MarkTa, 19/02/2007)

1.	MarkTa
	1.	DEFECT FIX: PDEF102134: An unimportant priority checking causes a crash when DThread gets killed
		In SetActualPriority ensure NThread and DThread priorities are updated even if
		either/both are in the state EDead.

2.	SimonT
	1.	MINOR CHANGE: Update H4 bootloader to v1.6 and H4HRP user guide to
		reflect that the v9.41 OMAP2420 SDP is now a supported HRP platform.
	2.	MILESTONE: Oghma, GT0302, MS3.3, DS490 PREQ1227
		REQ6085 "H4 implementation of multiple displays via TV out" This adds
		support for a second physical display though the TV out connector (J9)
		on the H4 HRP processor card. The second display can be enabled by
		defining WITH_TVOUT at rombuild time. This milestone also includes a
		partial catchup to TI BSP v9.50 in the core ASIC device drivers and the
		display subsystems.
	3.	DEFECT FIX: DEF099117 "H4HRP does not have an example crash logger"
		As the defect title suggests, the H4HRP did not have support for flash
		crash logging.  This defect fix provides implementations for both the
		small block NAND and Intel Strataflash NOR flashes present on the HRP.
		Define either CRASH_LOG_NOR or CRASH_LOG_NAND2 at rombuild to get the
		respective support in Techview and Textshell roms.

3.	NeilC
	1.	DEFECT FIX: PDEF095989: [Codebase] T_MMCDRV failures on a few SD cards
		raised EPOCSTACK size


Version 2.00.1515
==========================
(Made by JohnS, 14/02/2007)

1.	NeilC
	1.	MINOR CHANGE: Modified T_MMCDRV to not run testerase on wholemedia test pass.
	2.	DEFECT FIX: PDEF101803: iReplyCount in DMediaChangeBase is bigger than 2

2.	PhilC
	1.	DEFECT FIX: PDEF094023 TDesC16 FindC incorrectly documented. Added extra overloaded TDesc16::FindC function
		Extra pararmeter aLengthFound -  length of the match found in the candidate string

3.	MarkTa
	1.	MINOR CHANGE: Correct comments for TLocale::AmPmSpaceBetween, TLocale::SetAmPmSpaceBetween,
		TLocale::SetAmPmSymbolPosition and TLocalePos TLocale::AmPmSymbolPosition
	2.	DEFECT FIX: DEF100027: RBuf8 and RBuf16 claims to take ownership but it doesn't

4.	JonathanM
	1.	MINOR CHANGE: Added Base_How_To_Impacts_Of_Demand_Paging_On_Kernel-Side_Code.doc
	2.	MINOR CHANGE: Renamed document "SGL.TS0022.016_1.1 Migrating Device Drivers to Paging Environment.doc"
		to "Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc"
	3.	MINOR CHANGE: Updated in-source comments for BTrace to indicate that EPagingAged trace is only
		produced when the kernel is compiled with the BTRACE_PAGING_VERBOSE macro. (Or BTRACE_KERNEL_VERBOSE)
	4.	MINOR CHANGE: Added document "SGL.TS0022.018 - Changes to Symbian OS for Demand Paging.doc"
		This describes all the changes made for demand paging, together with some
		explanation of why they were made, how they are implemented and the impact
		on systems which don't make use of demand paging.

5.	DjordjeK
	1.	DEFECT FIX: DEF101646: t_wsimp test passes in emulator but panics when run on H4 board
		Minor change in test code.

6.	MiguelB
	1.	DEFECT FIX: DEF102033: Paged MMC ROM images sometimes fail to boot
		Changed H4 MMC PSL to intially report card as present, rather than absent, so that early demand
		paging requests do not fail - the correct status is updated shortly afterwards after an interrupt.
	2.	DEFECT FIX: PDEF101799: Problems remounting SD protected area with KForceMediaChangeReOpenMedia flag
		Fixed a problem in the local media subsystem whereby an unprotected area request completed,
		and attempted to empty the deferred request queue before the protected area media driver
		had fully opened, resulting in all deferred requests completing with KErrNotReady.
		Made a minor change to the interrupt handling in panasonic logic module CPRM stack in order
		to show up this problem.
		Fixed another problem in locmedia.cpp whereby two consecutive KForceMediaChangeReOpenMedia
		remount requests caused both protected and unprotected area media driver to be re-opened.

7.	JasdeepS
	1.	DEFECT FIX: DEF101816 - TDigitType enum needs to be extended to inlcude Indic digits to enable number co


Version 2.00.1514
==========================
(Made by IgorM, 08/02/2007)

1.	DjordjeK
	1.	Minor Change: Minor Change: the fix for t_cache that failed if ARMv7 was with memory type
		remapping switced OFF
	2.	DEFECT FIX: DEF101593 Kernel doesn't reset TLB when the chunk handler is closed (MCL).
		As the consequence, after user handler for a chunk was closed, the chunk memory was still
		accessable by user side (for a very short period of time).

2.	MiguelB
	1.	MINOR CHANGE: Changed H2 MMC PSL DVariantMmcOmapH2::MachineInfo() to return 26MHz as the maximum
		clock speed rather than 52MHz as CRC errors have been observed with some MMCV4 cards.

3.	MarkTa
	1.	DEFECT FIX: DEF101559: DP: hal.dll variants should not be unpaged
		Remove unpaged keyword in h2 and h2 hal.mmp files
	2.	DEFECT FIX: DEF101072: UserSvr class is incorrectly tagged
		Add @ to interalAll tags in UserSvr methods declarations.
	3.	INTERFACE CHANGE: BR2040: "Correct interface tags to restrict use of UserSvr class"
		Related to DEF101072 and is correction for doxygen tags for UserSvr methods missing '@'

4.	JonCo
	1.	MILESTONE: Oghma, GT302,  MS3.2.4 DS502 PREQ1066:
		REQ5783 Make use of thread and process ID registers
		REQ5781 Make use of new ARMv6k load/store exclusive instructions

5.	AndrewS
	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
		CHANGE REQUEST: CR0989 It is not possible to format a TTime object based on a specific locale

6.	NeilC
	1.	DEFECT FIX: INC079996: Lifeblog refers to Nemo's harddrive as MMC
		Added new Enum TMediaType::EMediaRotatingMedia

7.	JonathanM
	1.	MINOR CHANGE: Delete document "Base_How_To_Build_And_Configure_Code_Paging.doc"
		as this is a inaccurate description of a feature which has not yet been delivered.

8.	JohnS
	1.	MINOR CHANGE: Add new test t_nandbm
		This test benchmarks NAND flash at the local drive level.
	2.	MINOR CHANGE: Lock kernel when calling Kern::Random() from flash translation layer.
		The call is located in the Unistore-II BML test code. Nand acceptence tests use
		this test code to simulate ECC errors.

9.	JenniferH
	1. DEFECT FIX: DEF098402: Documentation of RPointerArray::FindInOrder() is wrong


10. AndreasP
	1. DEFECT FIX: DEF100093: template baseport has 2 mmp files generating _template_ekeyb.dll

Version 2.00.1513
==========================
(Made by AttilaV, 29/02/2007)

1.	DjordjeK
	1. 	DEFECT FIX: DEF100946: Kernel supprt for l220 cache is not sufficient.
		This is proper support for L220 cache (It used to work with L210 code and minor hacks
		from third parties.). Baseport for platform with L220 should be configured as:
		GBLL	CFG_HasL220Cache 		;in config.inc
		macro   __ARM_L220_CACHE__ 		//in variant .mmh
	2.	DEFECT FIX: DEF100182: Symbian OS 9.3 uses non-existent VFPv3 registers
		This is VFP for ARMv7 platform. In E32 we now build kernel extensions for both VFP & VFPv3.

2.	MarkHambleton
	1.	DEFECT FIX: DEF100443: DP: New test code missing doxygen tags
	2.	MINOR_CHANGE: Fix emaulate_paging_device to work with new version of demand paging.
		This is sample code / test code used on non-demand paged targets.
	3.	DEFECT FIX: DEF100442: DP: DPTest::SetCacheSize comments ambiguous.

3.	OlegI
	1.	MINOR CHANGE: Added in-source comment for macro _CHECK_DFCQ01_CONTEXT

4.	MichaelP
	1.	DEFECT FIX: DEF100730: Update to H4 HSUSB Driver from TI's latest Base Port Code (9.61)
		Increases the number of DMA channels available to the HSUSB driver and fixes
		some timer values ('x' -> 'NKern::TimerTicks(x)').
	2.	DEFECT FIX: DEF099668: USB Configuration Descriptor shows invalid bMaxPower and SelfPowered values
		In the Configuration Descriptor for H2 and H4 (both FS & HS), set the
		bMaxPower value to 0mA and the Self-powered bit to 1 (= True).

5.	JonCo
	1.	DEFECT FIX: INC098090: S60 emulator: Switching off display 0 swithces off also display 1
		Update the emulator display hal implementation to make use of the device number passed in.
	2.	DEFECT FIX: PDEF101382: HAL attribute ECaseState has no accessor function

6.	JonathanM
	1.	DEFECT FIX: DEF100952: DP: ApplyCodeFixupsOnLoad can fail when system has a lot of free RAM
		This fixes unnecessary KErrNoMemory failures when loading demand paged code (Code Paging) and
		when creating ROM shadow pages in demand paged ROMs (used for setting breakpoints in ROM).

7.	MarkTa
	1.	DEFECT FIX: PDEF101180: GCCE can't compile e32def.h in C mode
		Assign value to KSuppressPlatSecDiagnostic directly, no longer assign
		via KSuppressPlatSecDiagnosticMagicValue
	2. 	DEFECT FIX: PDEF101084: RRegion::Destroy has "delete this"
		Improve comments to RRegion::Destroy to say why USer-42 panic occurs for
		RRegion objects stored on the stack

Version 2.00.1512
==========================
(Made by StefanW, 18/01/2007)

1. 	NeilC
	1.	DEFECT FIX: PDEF096014: MMCTEST can't read sectors on a SD-enabled ROM
	2.	DEFECT FIX: PDEF100589: SdioSocketThread creates a DFC thread with no name
	3.	DEFECT FIX: DEF098832: Wi-Fi broken by SDIO change

2.	MichaelP
	1.	MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
		performance Perl script.
	2.	MINOR_CHANGE: Put in a warning in USB PIL in case the PSL doesn't support
		Device State tracking.

3.	StefanW
	1. 	MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
		to access an entire media address space not just a given partition of an SD Card.

4.	MiguelB
	1.	DEFECT FIX: PDEF100488: Locking and unlocking of card still doesn't work
		Changed Estart to write password store even when card is not present
	2.	DEFECT FIX: DEF100818: More issues with MMC passwords
		Changed local media subsystem to force a re-read of the partion information after
		writing the password store.
		Changed DMMCStack::PowerDownStack() to automatically mark cards with passwords as locked.
		Changed TDrive::ClearDevicePassword(TMediaPassword& aPassword) to attempt to unlock a locked
		card before clearing the password (only an issue when not using the password store).


Version 2.00.1511
==========================
(Made by DjordjeK, 17/01/2007)

1.	AbigailS
	1. MINOR CHANGE Fixing error in-source comment.

2.	JenniferH
	1. DEFECT FIX: DEF098394: Documentation of RArray::FindInOrder() is wrong

3.	DjordjeK
	1.	MILESTONE: Oghma, GT302,  MS3.2.3, DS488 PREQ1066, REQ5782
		Introducing Acess Permission Remapping on ARMv6K and ARMv7 platforms.
	2.	INTERFACE CHANGE: BR1911.1 	On ARMv6K and ARMv7 platforms,
		Kernel will support only a limited set of access permissions.

4.	JonathanM
	1.	DEFECT FIX: PDEF100231: Redundant code in e32 causes BC break in Licensee codelines

5. PeterS
	1.	DEFECT FIX: DEF099552: Fix for PDEF097084 should be applied to new sound driver too.
	2.	DEFECT FIX: DEF099549: New sound driver components ommitted from iby files used by techview.

6.	MichaelP
	1.	DEFECT FIX: DEF098971: H4 HSUSB Driver fails Kernel Precondition Checking
		Removed the interrupt-disabling code from UsbPowerHandler::RequestPower()
		and DUsbPowerHandler::RelinquishPower() in file
		\omap_hrp\assp\omap24xx\hsusb\omapusbc_assp_24xx.cpp.
	2.	MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
		performance Perl script.

7.	JonCo
	1.	DEFECT FIX: DEF100375: t_kernasmbm fails on freescale boards
	2.	DEFECT FIX: DEF092531: Documentation for RThread::Logon could be improved

8.	MylesB
	1.	MINOR CHANGE: Improved test code T_Match by adding more cases to test
		for INC092513 (SYSLIB-UNICODE-CT-3337)

9.	ArwelH
	1.	MINOR CHANGE Adding information about timer resolution to in-source comment description
		of User::After().

Version 2.00.1510
==========================
(Made by JonathanM, 09/01/2007)

1.	JonathanM
	1.	Milestone:
		Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)

		Defect Fixes:
		DEF098726 DP: [TBAS] Demand Paging low mem tests cause processes to not cleanup correctly
		DEF098360 Loading of executables can fail with random error codes under OOM conditions
		DEF098751 DP: Demand Paging stress tests appear to lock up on an H2.
		DEF099089 DP: [TBAS] Under race-conditions, KErrAlreadyExists errors may occur.
		DEF100272 DP: [TBAS] Decommiting Pages from chunks causes random corruptions.

		Interface Changes:
		BR1991.2 USB Dfc Queue Performance Improvement
		BR1988.1 Device Driver Deferred Function Call (DFC) Queue Migration
		BR1982.1 Read from user memory must not occur whilst holding a mutex
		BR1924.1 Bootstrap Changes for Demand Paging

Version 2.00.1509
==========================
(Made by NicholasC, 02/01/2007)

1.	JenniferH
	1. DEF098400  Documentation missing for RArray::Find() and RArray::FindInOrder()
	2. DEF098403  Documentation missing for RPointerArray::Find() and RPointerArray::FindInOrder()

2.	MylesB
	1. INC092513: RR S60: Variant testing: Searching does not work properly in contacts

3.	MarkTa
	1. DEFECT FIX: PDEF100045: T_DES E32 test is missing verdict
	Correct typos in functions test_TPtr and test_TPtrC, where test.Start is invoked twice.


Version 2.00.1508
==========================
(Made by OlegI, 18/12/2006)

1.	DharmeshG
	1.  DEFECT FIX: DEF097640 Invalid test in t_video (e32test).

2.	ReubenH
	1.	DEFECT FIX: DEF098837: Deficiency in the addition of objects to the kernel
		Amended DObjectCon::Add() to skip call to CheckUniqueFullName for unnamed objects.

3.	RichardCo
	1.	DEFECT FIX: PDEF099121: MMFControllerProxyServer crashes when trying to play video clip in low memory si
		Make sure that when there is no memory available when creating a code segment, we return KErrNoMemory
		instead of the (positive) number of pages which are short.

4.	MarkTa
	1.	DEFECT FIX: DEF099336: DP: Some Base components need MMP files updating for Demand Paging
		Ensure the correct mmp files have the unpaged keyword
	2.	MINOR CHANGE: correct comments for RLibrary::Lookup

5.	StefanW
	1.	DEFECT FIX: DEF099250: Problems with new 8GB SD Card
	2.	DEFECT FIX: DEF097952  Writing a password to the MMC password store should unlock the card.
		Auto-unlocking of MMC/SD cards traditionally only occurs during power-up of the MMC.
		However, the password store is sent to the card after the ESTART has initialised the card.  This
		can result in password notifiers appearing if the card is accessed before it has first powered down.
		To overcome this issue, the MMC/SD stack now ensures that cards are unlocked when the password store
		is first passed to the MMC/SD stack.

6.	OlegI
	1.	MINOR_CHANGE: Add Kernel Preconditions Checking Migration Note

7.	MiguelB
	1.	DEFECT FIX: PDEF095968 SD Protected area media driver provides no way to create/correct compliant MBR
		Changed medsdp to create MBR when card is formatted. A card with no MBR will be rejected
		if "SYMBIAN_MBR_MANDATORY_FOR_SD_CARDS" macro is defined in medsdp.mmp.
		Added a new flag RLocalDrive::ELocDrvWholeMedia to allow reading/writing entire media.

8.	MichaelP
	1.	MINOR_CHANGE: Clarified description of the SignalRemoteWakeup() function
		in the USB API Document, also added a comment in driver header file usbc.h.

9.	MarkHambleton
	1.	DEFECT FIX: DEF097578: Demand Paging Asserts are too restrictive


Version 2.00.1507
==========================
(Made by MichaelMo, 04/12/2006)

1.	MarkTa
	1.	DEFECT FIX: PDEF097862: Loader problems
		Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
		Extended t_loadfail to cover this fix
	2.	DEFECT FIX: PDEF098232: No way to add an event without resetting the inactivity timer
		Add overloaded version of Kern::AddEvent that specifies whether or not to
		reset the user inactivity timer
	3.	MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
		Allow new named symbol export data to be looked up using new exec function RProcess::ExeExportData and
		modifying RLibrary::Lookup to get the 0th ordinal of stdexe/stddlls only.

2.	DjordjeK
	1.	DEFECT FIX: DEF098219: Cache not cleaned when creating a new page directory (MCL)
		Fixing the security hole. Not related to stability of the sistem by any means.
	2.	DEFECT FIX: DEF098223: CodeSeg memory not cleaned correctly from the CPU cache (MCL)
		This was potentially fatal Kernel defect. It was always there but became visible with
		extensive use of write-back cache (9.2 and later).
	3.	MILESTONE: Oghma, GT302,  MS3.2.2, DS489 PREQ1066: Support for 1176 core.
		Added support for 1176 core in Kernel and bootrom. Doesn't include TrustZone.

3.	MichaelMo
	1.	MINOR_CHANGE: Add metabld scripts (.mbc) for building emulator for WINS and WINSCW

4.	OlegI
	1.	MINOR_CHANGE: Add USB DFC Queue Break Migration Note
	2.	DEFECT FIX: DEF098487: USB DFC queue improvment
		All new functionality currently disabled until macro SEPARATE_DFC_QUE in
		e32/kernel/kernel_ext.mmh is defined (this will happen as part of DemandPaging submission)
	3.	INTERFACE CHANGE: BR1991.1 Development Boards: USB Dfc Queue Performance Improvement


5.	samiraabbasnejad
	1.	DEFECT FIX: PDEF098287: __PATH_TESTED macro has mismatched parenthesis

6.	MichaelP
	1.	DEFECT FIX: DEF098465: H4 / Fibula HSUSB Driver Issues
		Integrating relevant HSUSB driver changes from latest version (9.60) of
		TI's H4 Base port.

7.	ParameshwariB
	1.	DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
		Reverted back line 229 and 626 in d_ethernet.cpp.

8.  RaghavendraB
    1.  DEFECT FIX: PDEF097084  AH: Windows sound volume is increased to Max on emulator startup.
	    Changed sound driver for wins. retrieved windows wave volume settings, and assigned it as
		default volume settings.
	2.	DEFECT FIX: PDEF096025  Documentation is incomplete for the sound device driver classes in dev library
		Updated insource documentation.

9.	DharmeshG
	1.	DEFECT FIX: PDEF096008: DPrimaryMediaBase: Documentation is incomplete for this class in dev library
		Updated source files with insource documentation

Version 2.00.1506
==========================
(Made by Dusko 29/11/2006)

1. 	JohanG
		DEF098096 REQ6575:Bug in  buildrom.pm
        Implementation of REQ6575, which is part of PREQ1110. New perl module ef
		ficient_rom_paging added.

Version 2.00.1505
==========================
(Made by KaiD, 20/11/2006)

1. 	MarkHambleton
	1. 	DEFECT FIX: DEF096838: DP: AllocContiguousRam fails to use RAM from paging cache (part 2)
		Added code in initialisation to check for reserved RAM areas.

2.	MarkTa
	1.	DEFECT FIX: PDEF097965: Exception handler should dump thread name
		Make DumpExcInfo, and therefore the exception handler, output the thread name

3.	GavinT
	1.	DEFECT FIX: DEF097976: Pipe distribution. policy file incorrect
		Corrected error in e32/drivers/pipe/distribution.policy.

4.	MichaelP
	1.	MINOR_CHANGE: Fixed comment typo in USB header file d32usbc.h.
	2.	MINOR_CHANGE: Made some changes to T_USB - disk read/write now requires
		at least a 128MB card.

Version 2.00.1504
==========================
(Made by JonCo, 10/11/2006)

1.	ParameshwariB
	1.	MINOR CHANGE: Document title changed

2.	MichaelP
	1.	MINOR_CHANGE: Reorganized USB Mass Storage documentation:
		Moved MS Functional Spec and MS App How-to to the base/documentation
		directory and deleted an old MS performance figure doc.
3.	MiguelB
	1.	DEFECT FIX: PDEF095993: SD Card implementation is not fully compliant with the specification.

4.	AndrewHi
	1.	DEFECT FIX: PDEF095979: [AQP] NOR Flash access timeout should return error code, not fault the kernel
		Updated for H4, H2 and WINS platforms. WINS driver and T_LFSDRV2 modified to
		support simulated timeout test
5.	MarkTa
	1.	PDEF097540: t_atomic - E32 test case is empty
		Remove t_atomic as tests non-existant function User::SafeSwap

6.	DipakA
	1. DEFECT FIX: DEF096652: Open overrides in RPipe and incorrect KErrNotReady
		Added two new Open methods in RPipe. Def files updated for the same.
		KErrNotReady updated correctly. Test files updated for all the changes.

7. RyanHarkin
	1.	MINOR CHANGE: Tidy up H4_ResetAttach.cmm Lauterbach script
		Removed ETM specific script commands because they crash non-ETM Lautherbachs
	2.	MINOR CHANGE: Improve comments/debug output of T_SERIAL flow control test case
	3.	DEFECT FIX: DEF097350 - T_SERIAL 3 0 fails on H4HRP
		Ensure that the RTS GPIO pin returns to default multiplexed state when the driver is unloaded
	4.	DEFECT FIX: DEF097399 - H4 UART driver (_h4hrp_euart.pdd) doesn't free physical RAM
		Free allocated memeory in the destructor


Version 2.00.1503
==========================
(Made by MichaelMo, 06/11/2006)

1.	MichaelMo
	1.	DEFECT FIX: PDEF097463: Base defect submission causes overnight Networking tests to crash


Version 2.00.1502
==========================
(Made by MiguelB, 31/10/2006)

1.	DjordjeK
	1.	INTERFACE CHANGE: BR1913.1 The constants that describe ARM's page table should be marked as internalComponent
				  This is change in in-source documantation (tagging) only.
	2.	INTERFACE CHANGE: BR1848.1 Removing publishedPartner tag from cache-memory related macros (and mark them as internalComponent)
				  This is change in in-source documantation (tagging) only.
	3.	MINOR CHANGE: Document title changed


2.	JonCo
	1.	DEFECT FIX: DEF091211: RR Emulator hangs running steam tests
	2.	DEFECT FIX: PDEF095734: Emulator sound driver crash when running UIQ steam tests

3.	MiguelB
	1.	DEFECT FIX: PDEF095926: Running Multimedia tests on H4 board results in MEDMMC 128 panic
		MMC stack session is now deleted when stack powers down & re-instantiated on power-up.
		This reverts behaviour to that prior to submission of PREQ1389 and resolves problem of
		engaging a session more than once which can result in an exception.
	2.	DEFECT FIX: PDEF097112	TRUE - Phone does not boot up with memory card inserted
		Changed DMMCStack::CIMReadWriteBlocksSM() and DSDStack::CIMReadWriteBlocksSM() so that if a
		faulty card does not respond to CMD17, the error code is properly propagated up the stack.

4.	MarkTa
	1.	DEFECT FIX: DEF096629: base rom.bat tool does not support system-wide #defines
		Make rom.pl include the current configuration hrh file when preprocessing oby and iby files
	2.	MINOR CHANGE: Update comments to TSecurityPolicy::Package and TSecurityPolicy::Set to describe
		the descriptor formatting

5.	AttilaV
	1.	DEFECT FIX: DEF095619: DP: No formal way for licensee build tools to enquire unpaged size of ROM
		Add new CLI parameter to generate include file for ROM image post-processing
	2.	DEFECT FIX: DEF096908: Add support for creating a process with a larger stack size than requested

6.	PeteS
	1.	MILESTONE: Oghma GT0302, DS97, MS3.7.2  PREQ1073.4 : Part 2 : Graphics and multimedia (audio driver)
		This adds a new audio driver which uses shared chunks for data transfer requests. This driver is
		supported on the following platforms: H4, Lubbock, WINS, template.
		Added T_SOUND2, T_SOUND_API, T_SOUNDMCHAN and T_SOUNDWAV to E32TEST.

7.	Radhakrishnan R
 	1. 	DEFECT FIX: PDEF096020: Documentation incomplete for class like TMMCCallBack, TMMCStatus in dev library
 		Propagated from DEF093710.
	2.	DEFECT FIX: PDEF096021: documentation incomplete:RMdaDevSound,TSoundFormatsSupported,TCurrentSoundFormat
		Propagated from DEF093480.

8.	StefanW
	1.	MILESTONE: Bravo GT0236, MS3.27 DS417 PREQ1389 CR0792 - Add support for MMC cards > 2Gb in size.
		Added support for >2G MMC Cards conforming to the MMC4.2 version of the specification.
		MMCv4.2 introduces block-based addressing modes for MMC Data Transfer operations, hence
		overcoming the limitations of 32-bit addressing.

9.	NeilC	MINOR CHANGE: Make Device Driver DFC Q Migration Note available for customer review.

10.	RaghavendraB
	1.	DEFECT FIX: PDEF096026  Documentation incomplete for the class TCisReader in developer library.
	    Propagated from DEF093922.
	2.	DEFECT FIX: PDEF096023  Documentation incomplete for classes like TPcCardConfig in developer library.
		Propagated from DEF093709.


Version 2.00.1501
===========================
(Made by DmitryL, 18/10/2006)

1.	GavinT
	1.	MILESTONE: Argus, GT0314, MS3.3 PREQ1460/CR0923 DS346 PREQ1460: Open Environment - POSIX process launch with pipes
		Add new pipe device driver
	2.	MILESTONE: Argus, GT0314, MS3.4 PREQ1460/CR0923 DS347 PREQ1460: Open Environment - POSIX process launch with pipes : User::WaitForNRequests()
		Added User::WaitForNRequests() to support select() for Open Environment

2.	MichaelP
	1.	DEFECT FIX: PDEF095739: USB connection is not working in 3.1 wk40 RnD build.
		Introduced list-based request processing in the USB PDD PIL for Ep0 read
		requests (OUT transfers). This is because Ep0 OUT is the only endpoint
		in the driver that can have more than one request outstanding at the
		same time (one per LDD).

3.	NeilC
	1.	DEFECT FIX: PDEF096015: Compiler warning when building SD card support for emulator.

4.	MarkTa
	1.	DEFECT FIX: PDEF096190: Reclasify UserSvr::AddEvent as @publishedPartner
	2.	DEFECT FIX: PDEF096192: Reclasify Kern::Restart() as @publishedPartner
	3.	DEFECT FIX: DEF096179: Incorrect stack info in superpage
		Correct typo

5.	ParameshwariB
	1.	DEFECT FIX: PDEF095927: During powerdown, PowerHandlers registration should be reversed (i.e. C, B,A).
	2.	INTERFACE CHANGE: BR1947.2 : Convert power handler list to doubly linked list.
	3.	DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.

6.	DjordjeK
	1.	DEFECT FIX: PDEF096236: ARM11 errata 399234: How Symbian will workaround(MCL)
		This is Symbian Kernel fix for ARM1136 ERRATUM No.99234
		On ARMv6 platforms, Kernel will use cached memory only in Write-Back mode (that includes memory for
		page/directory tables). On Device drivers?request to create Write-Through memory, non-cached/buffered
		memory will be created. Performance issue is possible. In baseport, it is advisable to set write-back mode
		for the following memory regions: BTP_Rom, BTP_Kernel, BTP_SuperCPU, BTP_PageTable, BTP_Vector, BTP_PtInfo
		and BTP_User. If ARMv6 platform is not affected by this erratum, write through mode could be enabled by:
				GBLL   CFG_CPU_ARM1136_ERRATUM_399234_FIXED   ; in config.inc
       				macro __CPU_ARM1136_ERRATUM_399234_FIXED // in variant.mmh
	2.	DEFECT FIX: PDEF096239: Use read/write allocate rather than just read allocate for L2 cache(MCL)
		Default cached memory in ARMv6 kernel is now "Write-Back Read/Write Allocate".
	3.	MILESTONE: Oghma, GT302,  MS3.2.1, DS432 PREQ1066: Memory Type Remaping on ARMv6K and ARMv7.
		It also disables the use of Write-Through cache mode on
		these platforms. As the consquence, page tables are now kept and maintained in Write-Back memory.
	4.	INTERFACE CHANGE: BR1907.2 On ARMv6K and ARMv7 platforms, the kernel will only support a limited set of memory types.
	5.	INTERFACE CHANGE: BR1950.4 Removing Write-Through cache mode on ARMv6 platforms.

7.	PhilK
	1. 	DEFECT FIX: DEF092091: H4 (OMAP2420 ES2.1) cannot run at 300MHz with a core voltage of 1.3v
		- Increae core voltage to 1v4.
	2.	DEFECT FIX: DEF096876: H4HRP - Add runtime detection and support for Infineon memory
		- Add I2C interrogation of CPU board ID. If 9.41 board revision detected, then setup SDRC
  		for Infineon DDRAM part.

8. 	Trupti Parikh
	1. 	DEFECT FIX: DEF095668: A locales CurrencySymbol and Date/Time formatspecs are not accessable.


Version 2.00.1500
===========================
(Made by YingS, 11/10/2006)

1.	NeilC
	1.	DEFECT FIX: PDEF096031: Documentation is incomplete for class DPBusPsuBase, DMediaChangeBase in dev lib

2.	Attilav
	1. 	DEFECT FIX: PDEF095931: Semi-colon in epoc.ini causes infinite loop.

3.	MarkTa
	1.	DEFECT FIX: PDEF096041: compile error multiple memory model without __REQUEST_COMPLETE_MACHINE_CODED__
		Allow code to build when only __REQUEST_COMPLETE_MACHINE_CODED__ is undefined
	2.	MINOR CHANGE: Change comment on return codes of User::FreePhysicalDevice and User::FreeLogicalDeive to
		include the line"KErrNone will be returned if the device is not found as it may have already been
		freed."

4.	PhilC
	1.	DEFECT FIX: PDEF096039: Calrify and extend TLanguage.

5.	MarkHambleton
	1.	DEFECT FIX: PDEF096034: DP: AllocContiguousRam doesn't check page cache when out of memory.

6.	JohnS
	1.	DEFECT FIX: PDEF096038: MMC / SD stack disables interrupts unnecessarily
		Don't disable interrupts anymore.


Version 2.00.1158
===========================
(Made By EXTRajeswariR, 03/10/2006)

1.	EXTRajeswariR
	1. MILESTONE: Naiad, GT0303, MS3.1 Changes required to switch ARMV5 to ABIV2 mode toolchain
	The changes are made configurable. However, in this submission, all changes required to support
	ABIV2 mode toolchain will be submitted. But the changes will not be in effect, since the keyword
	required to enable the change is not made. The keyword to enable ABIV2 mode toolchain
	(ENABLE_ABIV2_MODE) will be submitted in the configuration file as part of Delivery 2.
	Until then, the toolchain shall continue to work in ABIV1 mode.


Version 2.00.1157
===========================
(Made by IgorM, 21/09/2006)

1.	NicholasC
	1.	DEFECT FIX: DEF091844: [Codebase] Failure during a USB Mass Storage mount can cause a system crash
	Restore mounts properly when usbmsapp closes

2.	MarkTa
	1.	MINOR CHANGE: Correct typo in comments for Kern::ChunkCommitPhysical

3.	StefanW
	1.	DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
		SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
		aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
		to the FAT file system to ensure that this constraint is met.

4.	KaiD
	1.	Defect Fixes: INC093932: Symbian E32 test T_PROC1 has no verdict
	Corrected nesting error of test steps.

5.	NeilC
	1.	MILESTONE: Naiad, GT0326, MS3.1 PREQ1623 DS300 Enable DMA for SDIO transfers
		This adds new Read/Write APIs for SDIO Register Interface to allow DMA data transfers.

6.	ParameshwariB
	1.	MINOR CHANGE: Changed to get the nandloader XSR signature by calling controlIo function instead of being
		sent as part of drive capabilities.

7.	HusienH
	1.	DEFECT FIX: DEF093921: Documentation incomplete for class Locl/LLanguage in developer library

8.	DjordjeK
	1.	DEFECT FIX: DEF093587: Bug in target (RAM) loader
		Global variables (in RAM loaded executables) were potentially left un-initialised.

9.	PhilK
	1.	MINOR CHANGE: Revert code so as to disable serial logging during T_SERIAL test.
		Logging is sent to default debug serial port and breaks the test.

10.	MichaelP
	1.	DEFECT FIX: INC094050 	RF Phone freeze DfcThread0 during USB cable disconnection at PCS mode
		When moving away from Configured state, the USB LDD didn't correctly
		reset its internal alternate interface setting representation: added
		call SelectAlternateSetting(0) to function DLddUsbcChannel::DeConfigure().


Version 2.00.1156
===========================
(Made by RichardC, 14/09/2006)

1.	JonathanM
	1.	MILESTONE: Naiad,GT0316,MS3.3 PREQ1426 Phase 1
		Add TRK debugger drivers.
	2.	DEFECT FIX: DEF090911: Formal API needed for Demand Paging test and analysis
		This adds new class DPTest in dptest.h and dpsest.dll. (In E32UTILS component.)

2.	MarkTa
	1.	DEFECT FIX: DEF092537: Build Breaks reported by Partner
		Replace the use of the macros TO_ROOT and TO_BLDINF with EPOCROOT and EXTENSION_ROOT
		, respectively.  This required small change to genexec.pl to add drive letter to
		file paths as cpp doesn't like absolute paths beginning with '\'.
	2. 	DEFECT FIX: DEF093363: [Codebase] RProcess::FileName() spelling different in HW and emulator
		Change 'z'to 'Z' in KRomSysBin for emulator as h/w targets use uppercase for drive letters
	3.	DEFECt FIX: DEF093924: RF panic in CrashLogger::DumpRomInfo()
		Stop the version name being created twice
	4. 	DEFECT FIX: DEF093711: Documentation incomplete for TStackInfo and SSuperPageBase in developer library.
		Make comments doxygen compatible
	5.	DEFECT FIX: INC093397: RR D_EXC tries to capture kernel and critical thread crashes?
		Ensure kernel faults before attempting to send KernelEvent
	6.	DEFECT FIX: INC092747: e32utils profiler assumes C: is non-volatile drive
		Added new command line option "-drive=[drive letter]" to allow drive PROFILER.DAT
		is stored on to be specified when starting the profiler
	7.	MINOR CHANGE: Added comment to nk_plat.h to stop customers attempting to undefine
		*_MACHINE_CODED__ macros

3.	DjordjeK
	1.	DEFECT FIX: INC092809: Number of Hal attributes is ENumHalAttributes * number of screens
		In-source documantation update only.
		(p.s. This is my No.100 defect fixed in Kernel :)
	2.	MINOR CHANGE: Fix for d_cache test driver which used to panic on ARMv7 due to attempt
		to clean/purge invalid address from inner cache.

4.	GavinT
	1.	DEFECT FIX: DEF092745: [Codebase] User::Leave, User::Identity and User::CreatorIdentity undocumented


5.	JenniferH
	1.	DEFECT FIX: DEF092370: [Codebase] TDfcFn undocumented
	2.	DEFECT FIX: DEF092371: [Codebase] TDfc functions undocumented

6.	MichaelP
	1.	DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
		Reverted the newly introduced RPointerArray stuff of the previous
		solution, as we can nowhere allocate new elements safely.
		Reintroduced the singly-linked lists (except for transfer requests),
		but this time with a maximum permissible length	(KUsbcMaxListLength)
		to ensure that the lists are of a finite length and thus the list
		traverse time is bounded.

7.	RanisuneelaM
	1. 	DEFECT FIX: DEF092227: Insufficient documentation for TCommConfigV01 and TCommConfigV02 member data

8.	PhilK
	1. MINOR CHANGE: Fix category for H4 NAND2 IBY files (cat T).
	2. MINOR CHANGE: Add support for SDP9.41 RAM configuration to Lauterbach scripts.
	3. MINOR CHANGE: Fix category for H2 NAND2 IBY files (cat T).

9.	MichaelP
	1.	DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
		Removed all instances of the singly-linked list and replaced them with
		either a normal array (for endpoint transfer requests) or RPointerArray
		for notification request structures (status, ep status, OTG, client).
		Using a normal C-style array for transfer requests also means we don't
		have to disable interrupts any longer when looking up pointers and when
		storing/deleting pointers: each array element simply corresponds to one
		physical endpoint, which only ever can have either one or no transfer
		outstanding at a time (irrespective of the number of interfaces/LDDs).
	2.	DEFECT FIX:  INC093352: Adding new USB string descriptors mess up the index of the old ones.
		In the USB PDD PIL, file e32/drivers/usbcc/descriptors.cpp, function
		TUsbcDescriptorPool::SetIfcStringDescriptor(), changed
		iStrings.Insert() into ExchangeStringDescriptor(). Also extended
		unit test T_USBAPI to test the case which discovered the problem.
	3.	MILESTONE: GT0286 Base KnP (Argus), MS3.11 DS397, CR0807
		"Increase USB Buffer size in MSDC mode"
		The USB Mass Storage class driver now requests 'Default' size LDD
		buffering (4KB) on a FS device and 'Plus2'-sized (64KB) buffers when
		it detects that it is running on a HS-capable device.
		At the same time, the LDD buffer size corresponding to the 'Maximum'
		bandwidth setting has been reduced from 2.5MB (IN) and 5MB (OUT) to
		512KB in both cases.

10.	JohnS
	1. 	DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
		Add support for multiple FAT partitions to the nadloader application and the nandloader media
		driver. Create mechanism to populate composite file system NAND FAT partitions from writeable
		FAT partitions which are not in the composite file system. Extend the ROFS tests to NAND FAT
		composite file system partitions. Adjust H2 and H4 PSL to create extra FAT partitions and run
		tests on them.

11.	NeilC
	1.	DEFECT FIX: DEF093844: RF MMC Card still reported as Present
		Modified MMCStack such that it is aware if power down is caused by idle or card removed,
		if card removed then cards are declared as gone.



Version 2.00.1155
===========================
(Made by ParameshwariB, 29/08/2006)

1.	MarkTa
	1.	DEFECT FIX:DEF092556: [Codebase] RProcess documentation incomplete/inaccurate
		Update search path in RProcess::Create comments to \sys\bin.

2.	JonCo
	1.	DEFECT FIX: INC093183: The system doesn't reset when a DFC thread dies
	2.	DEFECT FIX: DEF093284: Emulator JIT crash handler broken by fix for DEF91167

3.	HusienH
	1.	DEFECT FIX: DEF093234: GetCollationKeyL() doesn't work when TCollationMethod.iMainTable is NULL

4.	NeilC
	1.	DEF091861: [codebase] Custom format of an MMC card doesn't work.


Patch to release (defect)
===========================
(Made by DanH 30/08/2006)

1.	DanH
	1.	DEFECT FIX: DEF091413: DP: Stressed Demand Paging configuration missing from MCL
		Add new stressed paging configuration to tools romkit oby files. Moved default paging
		configuration from base rombuild directory to romkit directory. Also added support for
		passing a command line to external tools.


Version 2.00.1154
===========================
(Made by OlegI, 21/08/2006

1.	MarkTa
	1. 	DEFECT FIX: DEF092502: [Codebase] RLibrary::Load reporting different error codes in emulator/hw
		Check if filename being looked up is actually a directory name, if it is then return KErrNotFound
		Ensure file name length is checked before accessing chars via an array index
2.	MiguelB
	1.	DEFECT FIX: PDEF092980: Prevention of closure of media driver causes several symptoms with locked cards
		Fix regressions caused by changes to local media subsystem introduced as part of
		MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1

3.	ArwelH
	1.	MINOR-CHANGE Correcting syntax of @SYMPatchable tag, and minor tweaks to the descriptive text.


Version 2.00.1153
===========================
(Made by NeilC, 16/08/2006)

1.	MichaelP
	1.	MINOR_CHANGE Added another USB Mass Storage performance measuring Perl
		script which writes and reads 100 smaller files instead of a single
		large one (\f32test\smassstorage\scripts\usbperformance_multifile.pl).

2.	JenniferH
	1.	DEFECT FIX: DEF091903: RSessionBase panicking client when Dev lib specifies a KErrArgument return

3.	RichardCo
	1.	DEFECT FIX: DEF092447: [Codebase] RTimer::Inactivity lack of error documentation
	2.	DEFECT FIX: DEF092548: FirstDelta() returns a value which is larger then KMaxTInt
		Prevent RTimer::AfterTicks(KMaxTInt) from rolling over to be negative
		when there are ticks pending.

4.	MarkTa
	1.	DEFECT FIX: PDEF092862: KeyMap source table misses out EKeyDeviceD
		Correct typo to ensure EKeyDeviceE is preceeded by EKeyDeviceD



Version 2.00.1152
===========================
(Made by MiguelB, 08/08/2006)

1.	ArwelH
	1.	DEFECT FIX: DEF092226: Insufficient documentation for DDmaRequest class member functions in OS library

2.	CarlosF
	1.	MINOR CHANGE: Restore monotonic order to kernel trace flags muddled in the last paging submission.

3.	RichardCo
	1.	DEFECT FIX: DEF091958: big kernel data section can trigger kernel fault
		Fix bootstrap to not try and map kernel data section with 1MB pages.

4.	MarkTa
	1.	DEFECT FIX: INC091919: Kernel trace handler called with aTraceSource hardcoded
		Pass aTraceSource to the trace handler hook instead of EPlatSecTrace
	2.	DEFECT FIX: DEF091961: Bug in cache.cia __FlushBtb() function
		Correct #ifdef name to __CPU_HAS_BTB
	3.	DEFECT FIX: DEF091990: Just what do these functions do?
		Add in source comments to RProcess::JustInTime and RProcess::SetJustInTime

5.	MichaelP
	1.	DEFECT FIX: DEF092055: [codebase] USB PIL endpoint number passing is inefficient
		The USB LDD no longer passes logical endpoint numbers into the PIL -
		instead it saves and later uses the physical numbers that are now
		returned by the PIL during the SetInterface() call.


Version 2.00.1151
===========================
(Made by MichaelP, 03/08/2006)

1.	MichaelP
	1.	MINOR_CHANGE: Added a new debug trace bit for the USB PDD PSL layer
		to the list in e32/include/nkern/nk_trace.h:
		#define KUSBPSL      33 //0x00000002, index 1
		Also updated the USB PSL Porting How-to accordingly.

2.	NeilC
	1.	DEFECT FIX: DEF091478: [Codebase] T_MMCDRV failing on BUFFALO miniSD cards up to 512MB
		Modified T_MMCDRV to by-pass format test for Buffalo Mini-Sd cards with known issues.
	2.	DEFECT FIX: DEF091749: [Codebase] D_MMCIF cannot read sectors on cards >=2GB
		Modified MMCTEST to replace csd.ReadBlockLength() with MaxReadBlLen().

3.	MarkTa
	1.	MINOR CHANGE: Added comment to RChunk::Open and RChunk::OpenGlobal to indicated that
		functionality for isReadOnly is not currently implemented.

4.	ArwelH
	1.	MINOR-CHANGE Replacing all instances of the //! comment string with // !
		DOxygen interprets //! as a single line comment, and this causes problems in the
		generation of API reference documentation.
	2.	MINOR-CHANGE Fixing a reference to incorrect panic numbers in in-source comment.


Version 2.00.1150
===========================
(Made by MarkTai, 25/07/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF091354: USB: StartUdc() return code is not being taken care of in Symbian Code
		Introduced an error case for RDevUsbcClient::ReEnumerate(), which
		is conveyed within the USB driver via return values and across
		the kernel/user-side boundary as an async request status. In both
		cases the value is KErrHardwareNotAvailable.
		RDevUsbcClient::PowerUpUdc() can now return that value too
		(alongside success and KErrNotReady).
		Also updated the USB driver documentation accordingly.

2.	ParameshwariB
	1.	MINOR CHANGE: Added System wide impact section provided by Toby Gray and incorporated
		review comments to RHeap Minimum cell size allocation How-To Document
		(\document\SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration)


Version 2.00.1149
===========================
(Made by RobertJ, 20/07/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF091386: Base USB documentation does not mention C drive cannot be used for mass storage
		Added section 6.6 "USBMSAPP (USB Mass Storage Application)" to
		USB PSL How-To Document (\documentation\Base_How_To_USB_PSL.doc)
		and upped its version number to 3.1.


Version 2.00.1148
===========================
(Made by RobertJ, 19/07/2006)

1.	DjordjeK
	1.	DEFECT FIX: DEF090810: EDISP_VT100 - frame to corruption and the edisp_vt100.dll doesn't work When KDM
		Minor change in vt100 video driver.

2.	MichaelP
	1.	DEFECT FIX: DEF090701: HS-USB: When Remote wake up is initiated, Symbian PIL cancels wrong pending rea
		USB LDD didn't reset its internal interface alternate setting number
		(iAlternateSetting) after a device deconfiguration - it does now,
		at the end of DLddUsbcChannel::DeConfigure().
		Also fixed a problem in the H4 HSUSB PSL, where endpoint direction
		*absolute values* were erroneously compared with direction *masks*
		(base\omap_hrp\shared\hsusb\omapusbc_defs.h).
	2.	MINOR_CHANGE: Update of USB Mass Storage performance test script
		/f32test/smassstorage/scripts/usbperformance.pl.

3.	NeilC
	1.	DEFECT FIX: DEF087614: MMC card not read after using an SDIO WLAN Card
		Ensures that SDIOInterrupts are disabled when Interrupt controller is stopped

4.	MiguelB
	1.	DEFECT FIX: PDEF087944: SD/MMC stack: KERN EXEC 4 caused by faulty HW/ SD cards
		Removed possibility of command stack overflowing in DSDStack::CIMReadWriteBlocksSM()
	2.	DEFECT FIX: DEF090880: [codebase] XSR media driver doesn't cope with client thread death
		The XSR NAND media driver was failing to complete a large (>16K) write request when the
		client thread had died. This would result in the driver becoming unavailable until a reboot.
	3.	DEFECT FIX: DEF085613: Handling media change events in Multiple Card scenario
		Removed ASSERT from DPBusSocket::DoorCloseEvent() to allow for platforms with multiple doors.
		Changed DPBusSocket::DoorOpenEvent() to stop stack from powering down if any door is
		still closed - see in source comments for further details.

5.	JonCo
	1.	DEFECT FIX: DEF091167: Emulator hangs if it can't load extensions

6.	PhilK
	1. 	DEFECT FIX: DEF90876: H4 USB PSL: Wrong PIL Call Return Value Evaluation
		Handle EP0 request completion error on KErrNotFound  (was KErrNotSupported)
		and removed redundant stall request.
	2.	DEFECT FIX: DEF91168: H2 USB PSL - Remote Wakeup capability reported incorrectly
		Make H2 PSL report no remote wakeup capability (not supported in H2 baseport).
	3.	DEFECT FIX: DEF91251: [Codebase] Mass storage tests are failing
		Fix generic TESTUSBC.LDD driver for multiple memory model, ie. use ThreadReadRaw()
		instead of straight pointer dereferencing: this broke USB MS tests on H4 HRP.

7.	MarkTa
	1.	DEFECT FIX: DEF091370: KHeapShrinkHysRatio is not marked as @symbian_patchable


Patch to version 2.00.1147
===========================
(Made by JonCo, 17/07/2006)

1.	JonCo
	1.	DEFECT FIX: DEF091131: Build gets stuck at ced.exe
		Added missing source lines to base_e32.mrp



Version 2.00.1147
===========================
(Made by StefanW, 11/07/2006)

1. StefanW
	1.	MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
		Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
		SD2.0 introduces block-based addressing modes for SD Data Transfer operations, hence
		overcoming the limitations of 32-bit addressing.  This has introduced the following new
		API's, which should be used by clients of the MMC/SD stack (ie - writers of media drivers)
		should they wish to access data above the 2GB boundary:

			void DMMCSession::SetupCIMReadBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
			void DMMCSession::SetupCIMWriteBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
			void DMMCSession::SetupCIMEraseMSector(TMMCArgument aBlockAddr, TUint32 aBlocks);

			TInt64 TMMCard::DeviceSize64()

		Note that the existing API's are still valid and fully compatible, but will not provide access above 2GB.

	2.	DEFECT FIX: PDEF084675: Corrupted miniSD not detected as corrupted by phone
	3.	DEFECT FIX: DEF085679: Transcend MMC cards expect high-speed config to occur prior to CMD42
		Some MMC cards expect high-speed configuration to occur prior to any data transfer operations
		taking place.  This caused auto-unlocking of some MMC cards to fail, as this would occur as
		part of the initialisation sequence prior to high-speed configuration.  Re-ordered the state
		machine to ensure that high-speed mode is configured prior to performing and DT commands.

2.	JonathanM
	1.	DEFECT FIX: DEF090334: BTrace APIs aren't extensible
		This adds support a secondary run-time filter based on a 32bit UID value.
		See /base/documentation/Base_How_To_BTrace.doc.
		Also added are support for user side 'big' traces and methods for checking the filters
		independant of trace generation. The latter enables the filter to be checked before
		any costly pre-processing of trace data.
		Summary if new APIs added to e32btrace.h:
			New macros for generating traces which pass through the secondary filter...
				BTraceFiltered4(aCategory,aSubCategory,aUid)
				BTraceFiltered8(aCategory,aSubCategory,aUid,a1)
				BTraceFiltered12(aCategory,aSubCategory,aUid,a1,a2)
				BTraceFilteredN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
				BTraceFilteredBig(aCategory,aSubCategory,aUid,aData,aDataSize)
				BTraceFilteredContext4(aCategory,aSubCategory,aUid)
				BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1)
				BTraceFilteredContext12(aCategory,aSubCategory,aUid,a1,a2)
				BTraceFilteredContextN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
				BTraceFilteredContextBig(aCategory,aSubCategory,aUid,aData,aDataSize)
				BTraceFilteredPc4(aCategory,aSubCategory,aUid)
				BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1)
				BTraceFilteredPc12(aCategory,aSubCategory,aUid,a1,a2)
				BTraceFilteredPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
				BTraceFilteredPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
				BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)
				BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1)
				BTraceFilteredContextPc12(aCategory,aSubCategory,aUid,a1,a2)
				BTraceFilteredContextPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
				BTraceFilteredContextPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
			The following kernel APIs have been added...
				TInt BTrace::SetFilter2(TUint32 aUid, TBool aValue);
				TInt BTrace::SetFilter2(const TUint32* aUids, TInt aNumUids);
				TInt BTrace::SetFilter2(TInt aGlobalFilter);
				TInt BTrace::Filter2(TUint32*& aUids, TInt& aPassAll);
			The follwoing user and kernel APIs have been added...
				TBool BTrace::CheckFilter(TUint32 aCategory);
				TBool BTrace::CheckFilter2(TUint32 aCategory,TUint32 aUid);

3.	NicholasC
	1.	DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
    	2.	MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033

4. 	MarkTa
	1.	DEFECT FIX: INC088861: base text shell window server wrongly classified
		Change policy file to state category E for \base\e32\ewsrv directory

5. 	CarlosF
	1.	MINOR_CHANGE: make NAND test erase roms panic when they are finished erasing instead
		of crashing with an exception.

6.	JenniferH
	1.	DEFECT FIX: DEF090496: [AQP] Test Failures when executing H4HRP ARMV5 UDEB PAGE rom.
		Added K: to estart file for this test rom.

7.	DjordjeK
	1.	DEFECT FIX: DEF090713: Inefficient purging of L2 cache when decommit on ARMv5
		Only affects ARMv5 platforms with (any kind of) L2 cache.
	2.	DEFECT FIX: DEF090719: t_sharedio fails on XScale with L2 cache
		The fix only affect ARMv5 XScale with L2 cache. As L2 cache is always write back,
		page tables & shadow pages must be purged from L2 cache (they are write through on L1).

8.	RichardCh
	1.	MILESTONE: Naiad, SM0014, MS3.4, DS.045 PREQ955 Reallocation of thread priorities
		for real-time communications.
		Added prototype thread priority category to BTRACE to support future thread studies.

9.	MichaelP
	1.	DEFECT FIX: PDEF090651: USB resets at low memory state
		Fixed a double deletion of Ep0 in the OOM case in the USB LDD.
		Also fixed some other places in the USB driver where code didn't
		behave correctly in an error case.


Patch to release (defect)
================
(Made by DanH 11/07/2006)

1.	DEFECT FIX: DEF090641: Base Techview Obey files not including the right components for paging ROMS
	Updated \omap_hrp\h4\rom\base_h4hrp.iby, \omap\h2\rom\base_h2.iby,
	\omap_hrp\h4_restricted\unistore2\rom\base_h4nand2.iby and \omap\h2_restricted\unistore2\rom\base_h2nand2.iby
	to use the paging versions of the Local Media Subsystem and NAND media driver when PAGED_ROM (or EMULATED_PAGING_MEDIA) is defined.


Version 2.00.1146
===========================
(Made by JohnS, 07/07/2006)

1.	AndreasP
	1.	DEFECT FIX: DEF087761: estartnandtest.txt does not contain K drive
		An entry for K: drive has been included in ESTARTNANDTEST.TXT which is the estart file that gets picked up for
		the nandtest_test image that is used for H4 to do NAND testing. Furthermore, the nandtest_test script has been
		changed to include f32 testing for K: .

2.	MiguelB
	1.	DEFECT FIX: DEF087094: [AQP] MMC stacks with more than one media driver share the same buffer
		Changed medmmc.cpp and medsdp.cpp to partition the available DMA-able buffer provided
		by the MMC PSL into separate sections if there is more than one media driver (which is
		true if there is more than  one slot or an SD card CPRM media driver is installed).
		Changed medsdp.cpp to use the PSL-supplied buffer - this should hopefully ensure it
		works for a platform supporting DMA (the only platform we currently support for testing
		the CPRM media driver is the integrator which does not use DMA).
	2.	DEFECT FIX: PDEF088024: CR0638 "Backport of 2GB Card support" was imcomplete
		Modified DMMCStack::AdjustPartialRead() for integrator, lubbock & wins MMC PSL's
		to calculate the block length (512) correctly for 2GB+ cards by calling TMMCard::MaxReadBlLen()
		rather than TCSD::ReadBlockLength()
	3.	DEFECT FIX: DEF087989: [AQP] Integrator's door open interrupt fires too soon, causing a fault
		Changed DSdInterrupt::Init() so that media change interrupts are enabled after setting
		the intial values of iSavedDoorOpen and iSavedCardInserted to prevent a spurious call to
		DMediaChangeBase::DoorOpenService().

3.	OlegI
	1.	DEFECT FIX: DEF084013: Potential security hole in UserSvr::AddEvent()
		Added checking of PowerMgmt capabilities for ESwitchOff,ECaseOpen and ECaseClose events.
		Also updated T_SUSER test.
	2.	INTERFACE CHANGE: BR1866: Kernel: Additional capability checking in UserSvr::AddEvent()
		Break for DEF084013.

4.	DjordjeK
	1.	DEFECT FIX: INC088864: RHandleBase::FullName() blows the stack
		... which is true as it takes 512KB to hold TFullName on the stack. This fix introduces new euser interface:
		void RHandleBase::FullName(TDes& aName) const
		where aName may be now preallocated on the heap.

5.	MichaelP
	1.	DEFECT FIX: DEF090015: Incorrect SET Address primitive handling in Symbian USB code
  		Swapped the order of sending back status to the host and actually
		setting the device address in DUsbClientController::ProcessSetAddress()
		in file e32/drivers/usbcc/chapter9.cpp.
	2.	DEFECT FIX: DEF090234: [AQP] T_USB/T_USBAPI don't check properly for Alt Ifc Setting support
		T_USBAPI: Added 'HAL::EMachineUid_Lubbock' to function
		SupportsAlternateInterfaces().
		T_USB: Before setting up an alternate interface setting, we now check
		via SupportsAlternateInterfaces() whether these are supported at all.
		Also added a new header file \e32test\device\t_usblib.h, which contains
		definitions of commonly used USB test functions.

6.	ArwelH
	1.	DEFECT FIX: DEF089583: File Server lack of documentation of async calls
	2.	DEFECT FIX: DEF090161: RFs::CheckDisk returns KErrNotSupported doesn't mean disk is corrupt

7.	SimonT
	1.	DEFECT FIX: DEF088353 "Bad C-drive performance on H4 board"
		The platform LFFS driver on the H4HRP will now read the typical write
		and erase times from the flash device and use these to program the
		polling timers. This significantly increases LFFS performance.
	2.	DEFECT FIX: DEF090354 "H4 LFFS media driver bugs"
		We found two bugs in the polling timer code of the H4 media driver;
		one is a race that could cause hangs, crashes and warnings whilst the
		other would "forget" the timer prescale values resulting in timed
		events completing much faster than they should (benign).

8.  RichardCh
	1.	MILESTONE: Naiad, SM0014, MS3.3, DS.013 PREQ955 Reallocation of thread priorities
		for real-time communications.
		Added new process-independent thread priorities enumerators in the normal and real-time
		ranges, the latter policed by capability ProtServ.
		Milestone includes following functional breaks:
	2.	INTERFACE CHANGE: BR1811.1 Loader/kernel will restrict access to potentially
		dangerous high/real-time thread priorities. Kernel caps "relative" thread priorities in
		processes without ProtServ capability to level of window server (SystemServer-More).
		Non-configurable.
	3.	INTERFACE CHANGE: BR1821.1, BR1821.2 Reassignment of thread priorities for realtime
		services. Reduction of SystemServer-More priority from 24 to 23. Configurable change
		enabled from Naiad through system-wide macro SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES.

9.  NeilC
	1.	DEFECT FIX: DEF090242: H4 SDIO does not work with large packets.
		Removed redundant register set operations.

10. MarkTa
	1.	DEFECT FIX: DEF089551: PNS_MWrite should use _PNS_DEFERRED_CHK macro
		Change #ifdef to depend on _PNS_DEFERRED_CHK not _PNL_DEF_CHK
	2.	DEFECT FIX: INC090278: Keymap and screen driver not needed in simple roms
		Make inclusion of ekdata.dll and scdv.dll by base.iby dependant on macros
		SYMBIAN_EXCLUDE_KEYMAP and SYMBIAN_EXCLUDE_SCDV not being defined
	3.	DEFECT FIX: INC090270: D_EXC always included in rom
		Make inclusion of d_exc.exe dependant on SYMBIAN_EXCLUDE_D_EXC not being defined

11. JoR
	1. 	PDEF088021: The integrator MMC/SD port does not configure it's clocks correctly
		Fix propagated from DEF084792

12. JonCo
	1.	PDEF090344: Data abort in RArrayBase::HeapSortSigned()

Version 2.00.1145
==========================
(Made by JenniferH, 04/07/2006)

1.	JenniferH
	1. MILESTONE: SM0013, MS3.1, PREQ209 Demand Paging Prototype
	Second delivery of demand paging prototype. Delivery step DS329.


Version 2.00.1144
===========================
(Made by GavinT, 23/06/2006)

1.	DjordjeK
	1.	DEFECT FIX: DEF081438 Missing OOM KHeap tests in e32tests
		Added test steps to t_kheap for testing OOM when Shared chunk and Hw chunk are created.
		Also, fixed the problem with manual run of the test for the first time after reset.
	2.	MINOR CHANGE: Updated Kernel's Functional Specification with L2 Cache and ARMv7 support.
	3.	DEFECT FIX:  PDEF088437: Contacts sorting ignores national character variation(MCL)
		The comaprison of two unicode strings (Des16::CompareC method) depends on the value of DefaultCharSet in Kernel.
		In the existing implementation of locales in Kernel, DefaultChartSet could have been set only once. Another change
		of locales would have left DefaultChartSet preserved. It was supposed to prevent run-time change in behaviour of
		CompareC (as notifications that locale is changed is not implemented in upper levels of S/W).
		However, some licence sets locales twice during boot time. (It sets default locale first - LOCALE.LOC and then
		it sets locale according to language settings of the phone.).
		This fix removes the limitation of how many times DefaultCharSetin could be changed. It is considered safe as
		phone anyway reboots after language setting in changed.


2.	MarkTa
	1.	DEFECT FIX: DEF087906: RHashMap::Reserve doesn't always allocate the requested number of entries
		Forced RHashMap::Reserve to allocate memory if table hasn't been fully initialised yet
	2.	Change Request: CR0730: Zip crashlogs to save rom space
		New compile time configurable option to have crash logger compress its output before writting
		to permanent storage.  To use define the macro _CRASHLOG_COMPR when compiling the crash logger
		and the crash reader.  File output by crash reader will now be GZIP compatible and called
		'crashlog.gz'
	3.	DEFECT FIX: DEF086989: Non-default value of KHeapShrinkHysRatio can cause heap test cases to fail
		Make the test cases for t_heap and t_heap2 take the value of KHeapShrinkHysRatio into account when
		calcualting the size of the heap etc


3.	OlegI
	1.	MINOR-CHANGE Updated Base_Func_Spec.doc for CR0748: Edisp 32bpp/24bpp unpacked support

4.	JonCo
	1.	DEFECT FIX: DEF088121: Wrong test tags in t_perflogger

5.	ArwelH.
	1.	MINOR-CHANGE Error in HAL::Set() comment (capability description) is causing bad rendering
		in Symbian OS Library

6.	YingS
	1.	MILESTONE: Naiad, GT0304, MS3.5, DS.341 CR0776 : System Libraries :
		Add several new Unicode utility functions
	2.	Change Request: MGAY-6PWK8K Text and I18N Services, Collation Support
		With User Definable Wildcards and Escape Character

7.	PhilK
	1.	DEFECT FIX: PDEF088088: Sending and Receiving large amounts of data over usb causes hang
		Lockout interrupts during H2 USB endpoint operations (in H2 USB PSL).
	2.	MINOR CHANGE: Tidy up Lauterbach scripts.
	3.	DEFECT FIX: DEF088032: Complete HS USB HS H4 handoff
		Remove unneeded definitions and prevent buildrom making LFFS enabled HS USB Techview images.

8.	RichardCo
	1.	DEFECT FIX: PDEF087690: RChunk::AdjustDoubleEnded() allocates and returns error
		Ensure that if AdjustDoubleEnded returns KErrNoMemory, no allocation was actually performed.


Version 2.00.1143
===========================
(Made by JoR, 13/06/2006)

1.	DavidM
	1.	DEF084609: Issues with Secure access to SD Card
		Calling the file server Remount drive API to access the protected area
		of an SD card causes issues with access to the User area.
		Propagate changes from v8.1b

2.	JonCo
	1.	DEFECT FIX: INC087723: Implementation for RThread::GetCpuTime is not Safe
		Make ExecHandler::ThreadGetCpuTime use kumemput to write to user memory

3.	MichaelP
	1.	MILESTONE: Bravo GT0236, MS3.16.3 DS179 PREQ709 "USB 2.0 High Speed"
		Introduction of USB 2.0 High-speed device support in Symbian OS
		(in conjunction with suitable USB Device Controller hardware).
		Changes include USB API extensions, enhanced USB test programs
		(T_USB/USBRFLCT, T_USBAPI), upgrade of the PC-side test driver
		USBIO to v2.30, updates of "USB API Guide" and "USB PSL Porting
		How-to", a new Base_H4HRP_HSUSB_Howto, and a USB PDD for the H4
		'Fibula' HSUSB extension board.

4.	NeilC
	1.	MILESTONE: Argus GT0286, MS3.6 CR0833 DS299 "Support SDIO interupt mode on H4"
		Added support to MMC PSL for SDIO PIO.

5.	ArwelH
	1.	MINOR-CHANGE Correcting opening  marker for RBuf8/16::Close()/CleanUpClosePushL() in-source comment from /* to /**

6. 	GeorgeS
	1.	Change Requests: CR0781 Fast_case_insensitive_string_compare
		Milestone: Argus, GT0292, MS3.6, DS.337, Text & i18n case_insensitive_string_compare
		Requirements: PREQ1228 Argus System Quality Performance, ROM and RAM targets
		Other: None



Version 2.00.1142
===========================
(Made by RobertJ, 08/06/2006)

1.	DjordjeK
	1.	DEF087413 t_sharedio fails on ARMv5+L210 cache platforms
		L210 cache on ARM926 cannot distinguish between Write-Back & Write-Through mode.
		(This is limitation of the bus between L210 & the rest of core). As the consequence, memory
		is Write-Back at L2 level though it is configured in page tables as Write-Through.
		This fix only affect ARMv5 platforms with L210 and sets iDecommitThreshold during initialisation.
		This will force Kernel to purge L2 cache when page tables or shadow pages (they both are WT) are decommited.

2.	RichardCo
	1.	DEFECT FIX: DEF087693: Duplicated extension makefiles in Base build
		Remove a number of makefiles that are no longer used by the MCL
		supported baseports, and adjust the remaining ports to not use them
		either. The 'current' versions are in
		cedar/tools/buildsystem/extension/base/...
	2.	INTERFACE CHANGE: BR1818.1: Moving kernel makefiles out of e32 tree to avoid duplication caused by Linux build changes
		Break for defect fix above. Baseports which still refer to the affected
		makefiles should be updated to use new 'START EXTENSION' mechanism in
		their bld.inf files.
3.	MarkTa
	1.	DEFECT FIX: DEF087615: Incorrect description of HAL attribute's capability in hal_data.h
		Change @capability comment from WriteSystemData to WriteDeviceData where mentioned.  Add test for attribute
		ElocaleLoaded to t_shal.


Version 2.00.1141
===========================
(Made by DjordjeK, 06/06/2006)

1.	DjordjeK
	1.	DEF087352: The actual mapping attributes returned by PdePtePermission on ARMv5 are wrong
		Fixed the coding error introduced while supporting L2 cache for XScale.

2.	JonCo
 	1.	DEFECT FIX: DEF085535: Problem with ECOM test utility

3.	AngeloP
	1. 	MINOR-CHANGE: Updated User Guide, ref: Debug Switch Settings.

4.	MarkTa
	1.	DEFECT FIX: DEF087018: DRVTEST BUILD fails

5.	ArwelH
	1.	DEF085711 Documentation for ESystemCritical and ESystemPermanent is wrong for processes

6.	ParameshwariB
	1.	DEFECT FIX: INC086296: unistore2 d_mednand.cpp never completes format request for crash log partition

7. 	AttilaV
	1.	DEF081770: The Loader should verify compression type.



Version 2.00.1140
===========================
(Made by DavidM, 26/05/2006)

1. 	RobertJ
	1.	DEF086401: CDmDomain is listed as @internalTechnology
		Made CDmDomain @publishedPartner but kept some internal member functions as @internalTechnology

2.	OlegI
	1.	DEF086390: T_DTIM fails intermittently on H4
		There was a race condition in the test code.
		Changed time value in Requeue test of T_DTIM for removing race condition
3. 	PhilK
	1. 	MILESTONE: Argus GT0286, MS3.10 ""Early access" support for ARMv7 and
		Kernel/User library optimisation.
		Added VFPv3 context and exception unwinder support and CP15 IFAR support.


Version 2.00.1139
===========================
(Made by AndreasP, 22/05/2006)

1. 	OlegI
	1.	DEFECT FIX: INC086106: Two running processes can have identical names (including generation numbers)
		Removed CheckUniqueFullName() from DProcess::Rename() as it doesn't work for processes anyway.
		Instead added NextGeneration() call.
	2.	MILESTONE: Argus GT0286, MS3.4 CR0748 "Edisp 32bpp/24bpp unpacked support"
		Added support of 32bpp/24bpp video mode to text shell EDISP driver and to H4 LCD driver.
		Added new H4 variant. Build ROM image with this variant using -m USE_24UBPP_DISPLAY_VARIANT.

2.	MarkTa
	1.	DEFECT FIX: DEF085709: Memory card unlocking does not work if no card inserted while phone booted
	2.	DEFECT FIX: INC085919: Free pages from the top of the heap are not always freed

3.	DjordjeK
	1.	DEFECT FIX: DEF086892: SWSV_610_R3A01_LOAD-LSBT-2_001: An application crash is observed while... (MCL)
		The problem was related to Active Scheduler when TRAP/Leave is implemented in terms of C++ exception.
		In CActiveScheduler::Run, we had to make sure that we don't call Active Object's RunError() or
		Active Scheduler's Error() while we are still in exception (within 'catch' brackets), as it can lead to
		"nested-exceptions" scenario. It is not fatal by default but, if two nested exceptions are both due to OOM
		condition, RVCT implementation of exception will run out of emergency buffers and terminate the thread.

	2.	MILESTONE: Argus GT0286, MS3.10 PREQ1068 "Early access" support for ARMv7 and Kernel/User library optimisation.
		This is the second drop (after DEF085518:TextShell image cannot boot on ARMv7 platforms) of ARMv7 support in Kernel.
		This change introduces new Kernel Interface that allows variant code to set/get cache thresholds.
		Also t_cache test code is updated to test it.

4.	RichardCo
	1.	DEFECT FIX: DEF082994: No equivalent of NKern::ThreadGetUserContext for system threads
		Add new kernel API NKern::ThreadGetSystemContext to get kernel-mode context for system threads.

5.	MiguelB
	1.	DEFECT FIX: DEF085197: DPBusSocket::Init() calls AcknowledgeEvent incorrectly
		Removed redundant call to AcknowledgeEvent() from DPBusSocket::Init().
	2.	DEFECT FIX: DEF086878: H4 SDIO stack does not power down after inactivity timeout
		Fixed DOmapMMCPsu::PsuInfo() to set TPBusPsuInfo::iNotLockedTimeOut correctly

6.	ParameshwariB
	1.	DEFECT FIX: DEF085189: KeyTranslator should cope better with rubbish data

7.	JonCo
	1.	DEFECT FIX: DEF086985: Improvement to stack walking code in fix for DEF085362

8.	AndreasP
	1.	DEFECT FIX: DEF081193: Automatic NAND testing should be enabled on H4


Version 2.00.1138
===========================
(Made by AttilaV, 15/05/2006)

1.	ArwelH
	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].
	2.	MINOR-CHANGE Modified description of aSize parameter [User::ReAlloc()/ReAllocL()] to state the effect of a zero value [Issue LIB_E_154].

2.	OlegI
	1.	DEFECT FIX: INC085866: EKeyDevice1x and EKeyApplication1x keys do not work in the emulator
		Added translation between EStdKeyDevice1x/EStdKeyApplication1x scan codes and
		the EKeyDevice1x/EStdKeyApplication1x key codes

3.	MarkTa
	1.	DEFECT FIX: DEF086000: emulator sound driver can hang on close


Version 2.00.1137
===========================
(Made by NicholasC, 09/05/2006)

1.	JonCo
	1.	DEFECT FIX: DEF085362: Emulator fails to run on windows server 2003
		Prevents windows threads being preempted while they are taking an exception.
	2.	DEFECT FIX: INC081461: Add IsRectOverlappingRegion to RRegion and machine code
	3.	DEFECT FIX: DEF082742: Techview Fails to start intermittantly on WINSCW

2.	ArwelH
	1.	MINOR-CHANGE Corrections/additions to description of CFileMan::Move() and CFileMan::Copy().
	2.	MINOR-CHANGE In-source comment for CFileMan:Delete(). Added note about the effect of passing KNullDesC.

3.	NeilC
	1.	DEFECT FIX: DEF066739: XSR NAND baseporting could be made slightly easier by trapping obvious errors

4.	MiguelB
	1.	DEFECT FIX: DEF085953: Locking Not Lockable Card
		CMD42 no longer sent to card if command class 7 not supported.

Version 2.00.1136
===========================
(Made by RichardCo, 04/05/2006)

1.	DjordjeK
	1.	DEFECT FIX: DEF085518: TextShell image cannot boot on ARMv7 platforms
		This fix allows CORTEX Based ARMv7 CPU to boot TextShell image. The fix is tested on Virtio Simulator.
		It boots in secure mode. Switching in non-secure mode still doesn't work.

2.	Neilc
	1.	DEFECT FIX: DEF070123: NAND offsets aren't truely configurable (KNandFbrSectorOffset)
	2.	DEFECT FIX: DEF084091: Kern::Printfs in ISR in MMC driver - KPBUS1 introduces errors in system tick

3.	ArwelH
	1.	MINOR-CHANGE Fixed minor typo error within in-source comment for CFixArrayBase::Length()

4.	SimonT
	1.	MINOR-CHANGE: updated H4HRP baseport functional spec document to more accurately describe the state of
		H4's DVFS implementation (disabled in software).

5.	MarkTa
	1.	DEFECT FIX: INC077964: Digitiser area is wrong in emulator

6.	JonCo
	1.	DEFECT FIX: DEF085798: The fix for INC080727 is a compatibility break and should be reverted


Version 2.00.1135
===========================
(Made by RobertJ, 27/04/2006)

1.	MarkTa
	1.	DEFECT FIX: DEF084215: Crashlogger and crash debugger fail kernel preconditions

2.	ArwelH
	1.	MINOR-CHANGE Correcting error in in-source comment for RNotifier::StartNotifier()
	2.	MINOR-CHANGE Correcting minor syntax error in in-source comment for member TChunkCreateInfo::iOwnsMemory
	3.	MINOR-CHANGE Adding in-source comment to describe the NONSHARABLE_CLASS macro.

3.	JenniferH
	1.	DEFECT FIX: DEF080955: Core image on NAND uses multiple of megabytes of RAM

4.	ParameshwariB
	1. 	DEFECT FIX: DEF085168: Patch data support for rom.pl (ARMv5 & EABI v1) and
		and how to document for modifying RHeap minimum cell size value during
		build time (SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration.doc).


Version 2.00.1134
===========================
(Made by JonCo, 18/04/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF084696: USB EP0 reads failing with USB Hands Free Kit (Japan Brand)
		Added StallEndpoint() calls in case of request failure in USB PIL function
		DUsbClientController::Ep0RequestComplete().

2.	JonCo
	1.	DEFECT FIX: DEF084702: NKern::CurrentContext assert causes infinite loop it if goes off
		Added method to let the nanokernel check if kernel has already been faulted, so
		it can avoid the infinite loop.
	2.	DEFECT FIX: DEF084508: cut & paste error in Fiq interrupt dispatcher for template port
	3.	DEFECT FIX: INC083831: Unable to start v9.2 week 12-based emulator on WinXP machines

3.	JoR
	1.	DEFECT FIX: DEF083612: unsafe variable increment/decrement in Ethernet driver
		Fixes propagated from 9.1

4.	PhilK
	1.	DEFECT FIX: DEF082318: Integrate TI version 9.37 H4HRP code release
		Various tidying up of power management. Inclusion of Symbian provided fixes.
	2. 	DEFECT FIX: DEF081174: ABIV2: Problems with use of IMPORT_C and EXPORT_C macros
		Added mssing IMPORT_C macros to enable ABIv2 RVCT toolchain builds.
	3. 	DEFECT FIX: DEF079654: Setting KPOWER tracing on H4 with debugport=0 causes panic/restart
		Removed KTRACE statements which caused endless recursion until stack exhausted.
	4. 	DEFECT FIX: DEF079527: H4 screen random whiteout during application static data initialisation
		Reduced pixel rate to LCD display to lower memory bus contention.
	5. 	DEFECT FIX: DEF066475: T_SOUND hangs when run on H2/H4 boards
		Disable broken T_SOUND testcase for simultaneous play/record.
	6. 	DEFECT FIX: DEF084406: Bad _GCCXML macro breaks GCC XML build
		Fix ifdef to use correct macro __GCCXML__.


Version 2.00.1133
===========================
(Made by RobertJ, 11/04/2006)

1.	JonCo
	1.	MILESTONE: Aniseed PGM031, MS3.1 REQ5908 Code Segment Tracing

2.	RichardCo
	1.	DEFECT FIX: DEF084003: UserHeap::OffsetChunkHeap uses more memory than is strictly neccecary
		Adjust heap arithmetic so that the offset is rounded to multiples of 8 bytes instead of multiples
		of the page size, saving almost 4kb of memory if it's used for storing just a few pointers as
		anticipated.
	2.	DEFECT FIX: DEF083994: RChunk documentation is outdated, claims no name causes a panic
		Correct documentation for RChunk, RMutex, RSemaphore, RMsgQueueBase, RMsgQueue to describe
		using anonymous objects.

3.	NeilC
	1.	DEFECT FIX: DEF082799: SS31 Illegal command (SET_BUS_WIDTH) is sent to locked card

4.	SimonT
	1.	MINOR_CHANGE: added document that explains the behaviour behind NAND
		boot problems and describes how to collect the information required
		to diagnose the cause. (Base_How_To_Diagnosing_NAND_Boot_Failures.doc)

5.	DjordjeK
	1.	MINOR_CHANGE: In-source documentation update for Code Modifier
	2.	MILESTONE: Brave GT0236, MS3.15.2 PREQ305 Level 2 Cache
		The second drop of level 2 cache. This is support for XSCALE L2 Cache specification
		and is tested against ARMv5 XScale device with L2 cache.

6.	Parameshwarib
	1.	DEFECT FIX: DEF078385: RHeap minimum cell allocation size not optimal


Version 2.00.1132
===========================
(Made by DmitryL, 07/04/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF083517: Additional corrections need to USB PDD when client reads data slowly
		Modified handling of Ep0 transfer completions in PIL when LDD hasn't set up a request yet.
		Also protected all PIL request queue accesses (transfer, status notify, etc.) from corruption
		by PSL ISR's through temporary interrupt locks.
	2.	DEFECT FIX: DEF083432: MTP transfer don't continue, when PC wakes up from stand by mode
		Add bracketing to fix mistaken operator priorities.

2.	JonCo
	1.	DEFECT FIX: DEF083671: RMutex::Signal documentation omits potential panic details
	2.	DEFECT FIX: DEF083317: Stress test crashed on H4 after ~6 hours
	3.	DEFECT FIX: DEF082712: Store code address before entering to A::StartCrashDebugger(cat,aFault) in Kern:

3.	OlegI
	1.	MILESTONE: Argus GT0286, MS3.5.4 PREQ1030 Kernel support for device driver test suites
		This completes all of the preconditions checks planned for this PREQ.

4.	MarkTa
	1.	DEFECT FIX: DEF083615: Base header files missing in Wk12 external releases, this is breaking Metrotrk

5.	MiguelB
	1.	DEFECT FIX: DEF082698: H2/H4 MMC PSLs should reset inactivity timer for Forced erase (CMD42)

6.	DjordjeK
	1.	DEFECT FIX: DEF084107: Arm4 build warnings in Mkernel.cpp and Mprocess.cpp
	2.	DEFECT FIX: DEF084108: LUBBOCK ARMV5 UREL tests failed to run
		Fix the sequence of shutting down cache and MMU in NandLoader on Lubbock (right before reboot)

Version 2.00.1131
===========================
(Made by AttilaV, 27/03/2006)

1.	JonCo
	1.	DEFECT FIX: DEF083045: epoc32\include\kernel\monitor.h is not usable

2.	NeilC
	1.	DEFECT FIX: DEF082841: NAND Garbage collection doesn't cope with 2 requests from diff drive threads


3.	DmitryL
	1.	MILESTONE: Argus GT0286, MS3.5.2 PREQ1030 - Kernel support for device driver test suites. Part 2.
		This adds a functionality based on existing Generic Logging Engine to allow profiling of the device drivers.
		Added t_perflogger test to the e32test.
		Also see base\documentation\Base_How_To_FastTrace.doc.

4.	MarkTa
	1.	DEFECT FIX: DEF074162: RHashMap does not directly support pointer keys

5.	RichardCo
	1.	DEFECT FIX: DEF082046: Unable to reserve space at start of chunk by creating RHeap with offset
		Add new UserHeap::OffsetChunkHeap API to allow use of a heap offset.

6.	DjordjeK
	1.	DEFECT FIX: DEF081426: Breakpoints in RAM code segments persist after process death (MCL)
		This is about Kernel support for setting breakpoints in run-mode debbuger tools.
		Under certain circumstances, brekpoints were not cleared properly when the process terminates.


Version 2.00.1130
===========================
(Made by MarkTa, 20/03/2006)

1.	JonCo
	1.	DEFECT FIX: DEF082734: Emualator crash caused by early Kern::Printf
	2.	DEFECT FIX: DEF081898: Unprotected increment of kernel object id
	3.	DEFECT FIX: DEF082586: RThread documentation omits important details in Kill and Terminate
	4.	DEFECT FIX: DEF082832: Setting a process to system critical / permanent has no effect

2.	RobertJ
	1.	Defect FIX: DEF082320 	Avrcp bearer constructor leave causes Remcon server failing to start

3.	RichardCo
	1.	DEFECT FIX: DEF080070: bootstrap.mke uses GCC assembler, if RVCT2.1 is not available
		Fix various Base extension makefiles to detect RVCT versions more accurately.


Version 2.00.1129
===========================
(Made by MichaelP, 14/03/2006)

1.	ArwelH
	1.	MINOR_CHANGE Clarifying description of User::SetCritical() & User::SetprocessCritical().
	2.	MINOR_CHANGE Moving in-source comment for class HAL from source to header.

2.	MichaelP
	1.	MINOR_CHANGE: Fixed 'Receive & Write to File' mode ('P' command) of T_USB.

3.	MiguelB
	1.	DEFECT FIX: DEF081441: B_FAT fails with KingMAX and SimpleTech

4.	Parameshwarib
	1.	DEFECT FIX: INC080727: Ky_tran.cpp file modification needed.

5.	CarlosF
	1.	DEFECT FIX: DEF081181: ABIV2: Missing __declspec(dllimport) or __declspec(dllexport) qualifiers


Version 2.00.1128
===========================
(Made by MaximK, 07/03/2006)

1.	ArwelH
	1.	MINOR-CHANGE Correction to in-source description of RBuf8::CreateL(TInt aMaxLength)
	2.	MINOR-CHANGE Correction to the description of classes RPointerArray & RArray


Version 2.00.1127
===========================
(Made by JonathanM, 06/03/2006)

1.	JonathanM
	1.	MILESTONE: Argus GT0286, MS3.1 PREQ209 Demand Paging Prototype.
		First delivery of demand paging prototype. Delivery step DS204.


Version 2.00.1126
===========================
(Made by RobertJ, 01/03/2006)

1.	SimonT
	1.	MINOR_CHANGE: update H4 User Guide so that example command invocations
		can be directly cut/pasted into command prompt windows. Word had
		replaced the '-' character with something that looked similar.

2.	JenniferH
	1.	DEFECT FIX: DEF077074: t_pages doesn't work on the multiple memory model

3.	MiguelB
	1.	DEFECT FIX: DEF081190: MMC/SD/SDIO stack needs to request for the memory chunk from TI driver
		Changed MMC stack to use the PSL-supplied (DMA-safe) "minor" buffer for LOCK_UNLOCK &
		SEND_EXT_CSD commands.
	2.	DEFECT FIX: DEF081295: Notification lost when SD card removed while powering up the stack

4.	ArwelH
	1.	MINOR_CHANGE Correcting/expanding the description of the EPlatformSecurityTrap panic number.
	2.	MINOR_CHANGE Adding platform security issues to the description of RThread::Panic().

5.	DjordjeK
	1.	DEFECT FIX: DEF081309: Profiler queues a DFC from an unlocked thread (MCL)
		Minor change that prevents system warning that a DFC is queued from thread context by Add() instead of Enque()
	2.	DEFECT FIX:  DEF081434: OOM during DPlatChunkHw::New(): page directory corruption(MCL)
		The page tables were not cleaned properly in case when a large region (>1M) is made up of page tables
		rather then sections. It is not usually the case, but may happen under OOM condition and led to
		system crash when the page was to be re-used.
	3.	DEFECT FIX: DEF081545: MmuBase::DoAllocPageTable(TInt& aPageNum, TPhysAddr& aPhysAddr) don't (MCL)
		The system used to panic when it runs out of the initial set of page tables (512).
		Enlarging PageTableInfo structure is fixed.

6.	RichardCo
	1.	DEFECT FIX: DEF081322: DSoundPddWins::PlayThread() triggers "FAULT: ncsched.cpp 00000177"
		Fix NKern::CurrentContext to return the correct value when an interrupt thread is running while the
		scheduler is in an IDFC. Also fix Wins::ErrorDialog to not cause a recursive fault when an interrupt
		thread faults.

7.	JonCo
	1.	DEFECT FIX: INC066279: Emulator hangs (winscw)
		On windows XP, prevent the emulator switching away from a thread while
		it is in a windows critical section, which can happen while it is taking
		an exception.
	2.	DEFECT FIX: DEF080186: The Memtrace macros route through RDebug
		Trace information about chunks is now output through btrace.  The old
		memtrace macros have been left in for the moment, but will be removed in
		future.

8.	OlegI
	1.	DEFECT FIX: DEF081163: CNotifierSession::RunPasswordWindowL() fails on normal HRP roms

Version 2.00.1125
===========================
(Made by CarlosF, 21/02/2006)

1.	JonCo
	1.	DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
		This was previously fixed, but re-opened due to intermittent overnight test failures
	2.	MINOR_CHANGE: Fix API classification for TFindHandleBase::Handle
	3.	DEFECT FIX: DEF080720: Assertion failed: DFC queue not set
	4.	DEFECT FIX: DEF079374: error in description of Thread::RawRead() in Symbian OS Library

2.	Markta
	1.	DEFECT FIX: DEF080700: Keypress in landscape cause freeze due to problem with CKeyTranslatorX::Tra(MCL)

3.	JonathanM
	1.	DEFECT FIX: DEF080964: Can't build ROMs which include SWTrace.
		Fixes type in BTRACE.IBY

4.	DavidM
	1.	DEFECT FIX: DEF079725: SS31 First memory card password AutoUnlock
		attempt fails always, second is successful.
		Propagate changes from v9.1

5.	DjordjeK
	1.	DEFECT FIX: DEF081057: Cache attributes of page tables on ARMv6 are inconsistent
		Cache attributes for page tables weren't consistent accross Kernel. They have to be: L1 uncached, L2 cached.
		This caused system to crash if write-back L2 cache is present.

Version 2.00.1124
===========================
(Made by NicholasC 14/02/2006)

1.	JonCo
	1.	DEFECT FIX: DEF079754: TCapabilitySet SetEmpty() does not actually empty the capability set
	2.	DEFECT FIX: DEF079758: NULL thread doesn't properly construct its kill dfc

2.	JonathanM
	1.	DEFECT FIX: DEF079857: FastTrace APIs need renaming
		All files an symbols which include the name 'FastTrace' have been renamed to 'BTrace'.

	2.	INTERFACE CHANGE: BR1781.1 Kernel: Rename FastTrace APIs

3.	PhilK
	1. DEFECT FIX: DEF066541: MMCTEST causes board to die when "powering up" stack
	2. DEFECT FIX: DEF072501: H4 shows T_KHEAP failures in UDEB builds
	3. DEFECT FIX: DEF066547: TESTUSBC.LDD does not run on an ARMv6 processor
	4. DEFECT FIX: DEF071158: MMC PRECONDITION READY: iRetryTimer callback in ISR rather than thread context
	5. DEFECT FIX: DEF066449: T_MSTIM fails intermitently on H4
	6. DEFECT FIX: DEF078887: Incorrect NANDLOADER image generation arguments in H4 user guide
	7. DEFECT FIX: DEF078997: T_USBAPI has implicit dependencies on endpoint capabilities
	8. DEFECT FIX: DEF079257: H4 serial PDD is broken. Cannot open serial unit 0 and 7 at same time
	9. DEFECT FIX: DEF079849: H4 UART DFC runs at very high priority

4.	MiguelB
	1.	DEFECT FIX: DEF079870: Scope for MMC/SD card performance improvements
		Increased the DMA buffer size on H2 & H4 PSL mmc stacks to 128K.
		Changed MMC/SD media driver to create an MBR by default when formatting an SD card.
	2.	DEFECT FIX: DEF078678: 2 GB SD card protected area is unreadable
		Added new function TMMCard::MaxWriteBlLen() for clarity.
		Changed DSdMediaDriverProtected::DoCreate() to use TMMCard::MaxReadBlLen() and
		TMMCard::MaxWriteBlLen() .
	3.	DEFECT FIX: DEF078679: Flaws in integrator panasonic logic module CPRM stack
		This prevents a devide-by-zero fault. Created a function wrapper around
		CurrentSessFillCmdDesc() for the "encryption" commands which returns a dummy
		non-data transfer command spec.

5.	JenniferH
	1.	DEFECT FIX: DEF080335: EnterIdle never cancels AfterIdleTimer.


6.	MarkTa
	1.	DEFECT FIX:INC079415: Crash logger dumps object containers too early
		Changed the ordering of the NAND and NOR crash logger to place object containers at the end.

7.	TonyL
	1.	MINOR_CHANGE: Fix btrace command usage to reflect name correctly

Version 2.00.1123
===========================
(Made by AndreasP, 06/02/2006)

1.	DjordjeK
	1.	DEFECT FIX: DEF079360: A lot fo SWI calls raised during apps start (MCL)
		Minor changes that are supposed to improve performance of application starts.

	2.	INTERFACE CHANGE: BR1747.1 The constant that defines the maximum cachability of a memory region does not encapsulate L2 cache

	3.	MILESTONE: Bravo GT0236, MS3.15.1 PREQ305 Level 2 Cache
		The first drop of level 2 cache. This is support for L210 ARM specification and is tested against ARMv6
		(multiple) memory model.

2.	MichaelMo
	1.	MINOR_CHANGE: Fixed H4 usbmsapp.mmp to actually build mass storage app.

3.	JonCo
	1.	MINOR_CHANGE: Added in-source documentation for Kern::NanoWait
	2.	DEFECT FIX: DEF076999: RThread::Open() panics with KErrBadHandle if the requested thread has just died
	3.	INTERFACE CHANGE: BR1765.1 Add unique ID field to DObject

4.	OlegI
	1.	DEFECT FIX: DEF078565: Text shell window server switches off non-existing mouse character pointer
		Added #ifdef __CHARACTERPOINTER to CWsWindow::TurnMouseOff()

5.	RichardCo
	1.	Bravo PREQ1073.1: Enable VFP by default on H4 HRP platform
		Change rom configuration so that VFP math libraries are used on the H4 by default.


Version 2.00.1122
===========================
(Made by RichardCo, 01/02/2006)

1. JonCo
	1.	DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
		The emulator now ensures that diversions don't get lost due to windows
		exception handling changing the thread's context.

2.	DjordjeK
	1.	DEFECT FIX: DEF077701: Decomitting memory is unreliable and does unnecessary cache flushing (MCL)
		There were two problems in memory decommit process in Kernel:
		1.The physical memory not own by chunk wasn't evicted from cache when the chunk is destroyed & memory
		  returned to free pool. When such phys. memory is assigned to other chunk, it may end up with its two
		  copies in cache. It occasionally leads to system crash (in a way, quite difficult to follow/debug).
		2.On multiple memory model (ARMv6), any memory decommit request leads to flush of the entire DCache (for
		  example, when a heap enlarges/shrinks). This is very likely to have a noticable affect on performance.
		Solution:
 			- DPlatChunkHw now flushes the memory from L1 cache (if it is L1 cached) when closed . It cannot
			  purge as it can still be in use.
			- The same is done in DChunk when memory is decommited. (Not in direct model as it doesn't support
			  DChunk that doesn't own the memory.) Note: L2 cache is not considered as it is physically mapped.
			- Cache flush issue is fixed.

	2.	DEF077702: Memory given to user side through shared chunk is not always zeroed(MCL)
		This is platform security issue. At the moment, physical memory allocated through Epoc::AllocPhysicalRam
		is not zeroed. Memory allocated this way is usually used internally in the drivers. However, it could be also
		mapped to a shared chunk visible to user side applications. That way, the previous conent of the memory that
		belonged to one process could be exposed to another process.

3.	MiguelB
	1.	DEFECT FIX: INC076078: SD: Card selected twice.
		Changed DSDStack::InitStackAfterUnlockSM() so that it only issues a select
		if card not already selected.

4.	JonathanM
	1.	DEFECT FIX: DEF078546: Workaround required for ARM1136 Erratum 371025.
		This applies workaround 1) specified in ARM1136 Erratum 371025: Invalidate Instruction Cache operation can fail
	2.	DEFECT FIX: INC078769: RDebug::Print blows the stack too easily
		This adds a new function to enable data to be sent to the debug port without any pre-processing.
		This is: EXPORT_C void RDebug::RawPrint(const TDesC8& aDes)

5.	TonyL
	1.	MINOR_CHANGE: Updates to the H2 user guide to reflect SD/SDIO support, minor corrections to the H4 functional spec

6.	RichardCo
	1.	DEFECT FIX: DEF078628: Calendar:Week numbers are displayed wrong: wk53 is shown as wk1
		A rounding error in TTime::WeekNoInYear causes one day in wk53 to show up as wk1 in certain years, if the time
		is not midnight. The rounding has been corrected to eliminate this error.

Version 2.00.1121
===========================
(Made by JonCo, 23/01/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF078295: USB - Possibility of iEp0DataReceived is incremented twice
		In DUsbClientController::ProcessEp0DataReceived() we now subtract
		'aCount' from iEp0DataReceived before returning when no
		matching read request was found.

2.	RichardCo
	1.	DEFECT FIX: DEF078298: RTimer::Inactivity/User::InactivityTime return wrong inactivity time
		Correct calculation of inactivity time to deal with an edge case introduced
		by a previous defect fix. Time was not correctly calculated if there were
		no other timers in the system and the time required had already elapsed
		when a new inactivity timer was queued.

3.	JonathanM
	1.	DEFECT FIX: DEF078391: Multi-threaded heap issue when using explicity named threads.
		This changes UserHeap::ChunkHeap so that for multi-thread heap creation, the kernel
		objects owned by the RHeap don't hold references on the thread which created it.
		This enables the creating thread to exit and die normally.

Version 2.00.1120
===========================
(Made by NeilC, 16/01/2006)

1.	MiguelB
	1.	MINOR_CHANGE: Added more Nandloader/Coreldr diagnostics
	2.	DEFECT FIX: DEF077936: [system build] - H4 NAND ROMS failed to format
		Nandloader /e option fixed to erase all blocks even if a genuine bad block is encountered.
		Nandloader /f option changed to erase all blocks (not just the first), excluding
		blocks in the reservoir.

	3.	DEFECT FIX: DEF077954: Unistore2 CoreLoader doesn't handle 1-bit errors correctly for 16-bit NAND
		Changed algorithm for 16-bit Unistore2 1-bit ECC error correction.
		Defined a macro - INJECT_1BIT_ERROR - in CoreLoader for testing 1 bit errors
		(macro is undefined by default).

2.	MichaelP
	1.	DEFECT FIX: DEF077576: PowerDOwnDone() is never called by the USB physical driver PIL
		Added three new virtual functions to support the Power Management Framework
		to the USB PDD base class DUsbClientController in e32/drivers/usbc.h; there
		they are also documented:

		virtual TBool PowerDownWhenActive() const;
		virtual TInt PowerDown();
		virtual TInt PowerUp();

		PowerDown() and PowerUp() are called by the PIL in the respective power
		handler DFC, and PowerDownWhenActive() is used by the PIL to determine
		whether the UDC supports a power-down mode while it is active.

		Base port impact: A default implementation for each function is provided in
		the USB PDD PIL, but these can be overridden by the derived controller class
		in the USB device driver base port. No BC, SC, or FC break.

	2.	DEFECT FIX: DEF077782: USB driver not reseting data toggling after bus reset
		Moved the data toggle-resetting code into ChangeConfiguration() so it gets
		called before the current configuration is torn down. On this occasion also
		a config-invalidating call was added to a new PSL notification processing
		function DUsbClientController::ProcessCableRemoveEvent() (previously
		iCurrentConfig would retain its value even after the USB cable had been
		pulled while in Configured state).

3. 	PhilK
	1. 	DEFECT FIX: DEF075237: KERN-EXEC 3 with ARMv6 code when built with ALWAYS_BUILD_AS_ARM
		Turn on "Unaligned access" bit in CP15. Enables word aligned LDRD/STRD operations,
		to suite code generated by RVCT in ARMv6 target mode.

4.	SimonT
	1.	DEFECT FIX: DEF077785: NAND interrupt fires too early on H4
		The NAND media driver on H4 doesn't clear the GPMC interrupt status
		before enabling the interrupt, this causes the interrupt to fire
		immediatly and the driver to spin in interrupt context waiting for
		the device to complete. This causes the idle code to assert.
	2.	MINOR_CHANGE: updated parse_symbols scripts in H4's Lauterbach
		testreference so that they may be used on moving memory model
		hardware.
	3.	MINOR_CHANGE: updated H4HRP baseport functional spec document to
		reflect power management milestone
	4.	MINOR_CHANGE: Integration requested that the quicknandz helper scripts
		for H2 and H4 format NAND, otherwise their testing will gradually fill
		up persistant storage with old test entries and data. This change
		assists them with DEF077518 (messaging smoke tests fail).

5.	OlegI
	1.	DEFECT FIX: DEF077674: Implementation of DebugSupport::ModifyCode is unsafe(MCL)
		Added Lock/UlockSystem while calling Alias() & UnlockAndRemoveAlias()


Version 2.00.1119
===========================
(Made by JenniferH, 12/01/2006)

1.	ArwelH
	1.	MINOR_CHANGE: Replaced reference to KERN-SVR with KERN-EXEC in in-source commment
		for function User::__DbgMarkEnd().
	2.	MINOR_CHANGE:  Changed in-source comment for TDesC8::Format() and TDesC16::Format().
		Amended an incorrect explicit reference to a section
		in the Symbian OS Library.

2.	MaximK
	1.	DEF075438: Impossible to enable SDIO on a H2 techview ROM image
		/omap/h2/rom/base_h2.iby file modified to include the relevant binaries.

3.	OlegI
	1.	DEFECT FIX:  DEF076203: E32 test t_video fails on line 1257
		Changed test t_video (added save/restore screeen state, turn on using HAL for multiply screen test case)

4.	MiguelB
	1.	DEFECT FIX: DEF076211: Errors in Symbian 2GB implentation
		Update code to support 2GB+ MMC cards.

5.	JonathanM
	1.	MINOR_CHANGE: Modified test T_SEMUTX2 by increasing time delays to make emulator testing
		more robust against background activity.
	2.	DEFECT FIX: DEF077182: Panic in FastTrace client code.

6.	JonCo
	1.	DEFECT FIX: DEF077176: Add an API to make it possible to read the TCritical flag of RThread and RProces
	2.	DEFECT FIX: DEF076992: The RHash* classes should contain standard typedefs

7.	DjordjeK
	1.	DEFECT FIX:DEF075590: iMapAttr in chunks are set wrongly on ARMv6 (MCL)
		Kernel relies on this attribute in chunk objects when maintaining cache memory. Having this set wrongly, could lead
		to unsufficient cache operations. As the consequence, device drivers could fail in a way quite difficult to track.

Version 2.00.1118
===========================
(Made by JonathanM, 04/01/2006)

1.	MichaelP
	1.	DEFECT FIX: DEF075756: USBCC: OTG Configuration Descriptor Length Incorrect
		We now take the length of the OTG descriptor (if existing) into account
		in the Configuration descriptor (wTotalLength field).
	2.	DEFECT FIX: DEF075647: t_uspcpi fails in TestAlternateInterfaceManipulation() function
		In t_usbapi.cpp:TestAlternateInterfaceManipulation() we now check the number
		of endpoints that were found for the interface, and we take appropriate action
		to make sure alternate interface setting and audio endpoint descriptor get
		tested even if there are no isochronous or interrupt endpoints available.
	3.	DEFECT FIX: INC073828: DMA/PIL - canceled transfer is not ignored by dfc
		In DMA PIL function TDmaChannel::CancelAll() we now, after stopping the channel,
		cancel a possibly outstanding DFC and also reset the local ISR/DFC count.
	4.	DEFECT FIX: DEF076307: USB device failing after cable has been plugged / unplugged a number of times
		The PIL variables iEp0_RxExtraCount and iEp0_RxExtraData now get reset in function
		DUsbClientController::ProcessResetEvent().
	5.	MINOR_CHANGE Corrected a wrong __ASSERT_DEBUG() in e32/drivers/usbcc/descriptors.cpp:658,
		which should be preceded by an 'else'.
	6.	MINOR_CHANGE Corrected T_USB: It now sets bMaxPower in the Configuration
		descriptor to 100mA, which is the highest value allowed for a bus-powered
		device. This is a requirement to pass the Chapter-9 compliance tests with
		the USB Command Verifier USBCV (and T_USB can be used to configure the
		device-under-test for it).

2.	SimonT
	1.	MINOR_CHANGE: added document that describes how to debug problems in
		NON-XIP located code that can be exposed by moving onto ARMv6 hardware
		platforms (e.g. NAND flash on H4) Base_How_To_Debug_NONXIP_Problems.doc
	2.	DEFECT FIX: DEF075718 "H4 hangs on loading the NAND image"
		The H4 coreloader would spin during one of it's setup routines; the
		bug was an inverted test (it worked before because it was racing
		against itself)
	3.	MINOR_CHANGE: updated the lauterbach scripts in the H4 testreference
		directory with some changes to make them more useful when debugging
		with ETM.

3.	MiguelB
	1.	DEFECT FIX: DEF075223: SD Card should issue CMD16 before CMD42
		The MMC & SD specs recommend issuing a SET_BLOCKLEN cmd (cmd 16) before the
		LOCK_UNLOCK cmd (cmd 42)
	2.	DEFECT FIX: DEF076190: Media drivers should use KMBRMaxPrimaryPartitions, not KMaxPartitionEntries

4.	JonathanM
	1.	MILESTONE: Intulo GT0262, MS3.5.3 PREQ1030 - Kernel support for device driver test suites - Generic Logging Engine.
		This adds a new kernel and user side tracing mechanism implemented by the class FastTrace.
		See base\documentation\Base_How_To_FastTrace.doc.

5.	NagendraV
	1.	DEFECT FIX: DEF067958: Initialization when a MMC card is locked.
		This fix is simply a replication of already fixed problem INC067922 for v9.1

6.	ArwelH
	1.	MINOR_CHANGE: Corrected typo error in description of @panic USER 75 for
		inline TSglQue<T>::TSglQue(TInt aOffset)
	2.	MINOR_CHANGE: Added note into in-source comment for:
		TDesC8::Match()/MatchC()/MatchF()
		TDesC16::Match()/MatchC()/MatchF()
		about the lack of an escape character that prevents the functions
		from matching the "*" and "?" characters themselves.


Version 2.00.1117
===========================
(Made by AttilaV, 12/12/2005)

1.	TonyL
	1. MINOR CHANGE: Add support for 180 rotation of the screen on H4. The side
	   benefit of this change is stop Base engineers getting neck ache when
	   using H4 because the only reasonable way to prop in board up means the
	   screen is upside down. To use this build the ROM with FLIPPER defined
	   e.g: rom -v=h4hrp -i=armv5 --define=FLIPPER

2.	JonCo
	1.	DEFECT FIX: DEF074560: Sync removed all my contacts on pc
	2.	DEFECT FIX: DEF074190: Defect in CObjectIx::Remove(), incorrect comparison of unique ID
	3.	DEFECT FIX: DEF074877: Rom.pl not working properly in a shell which starts doskey when it starts

3.	MaxymG
	1.	DEF066451: Both TF_SUSPEND and TF_ERASE appear to pass but they do not seem to exit cleanly

4.	NicholasC
	1.	DEFECT FIX: DEF067715: Description of UserHal::SwitchOff() needs clarifying

5.	AnatolyP
	1.	DEFECT FIX: DEF074516: TTime: DaysFrom() returning negative number when comparing
		with Time::MinTTime
		TTime::DaysFrom function was modified to avoid overflow of integer buffer when the distance
		between 2 values doesn't fit into TInt64. Also, functions TTime::SecondsFrom,
		TTime::MinutesFrom and TTime::HoursFrom were modified in the same way.

6.	JonathanM
	1.	DEFECT FIX: DEF070966: Thread lifetime bug in example camera driver.
		This fixes the example Camera Driver code so that it opens a reference
		on the client thread when Capture Requests are made.

7. 	AnatolyP
	1.	MINOR CHANGE: Disabling checks of "@pre mutex must be held" precondition
		during system crash to alow crash debugger to output the content of object
		containers.

8.	YingS
	1.	DEFECT FIX: DEF074822 - Dimension events not recieved by WServ

9.	MiguelB
	1.	DEFECT FIX: DEF071117: class TExtendedCSD members have no in-source comment.
	2.	DEFECT FIX: DEF055909: The local media LDD doesn't support mmc/sd stacks with more than one card
		Changed TMMCardControllerInterface::RegisterMediaDevices()
		so that it instantiates a new DPBusPrimaryMedia for each slot. This is then
		stored in the new member variable, DPBusPrimaryMedia::iSlotNumber.
		Changed DMmcMediaDriverFlash::DoCreate() and DSdMediaDriverProtected::DoCreate()
		to retrieve the card number from DPBusPrimaryMedia::iSlotNumber.
		Changed wins estart to create a new drive (T:) for use on the second slot.
	3.	DEFECT FIX: DEF073518: H4 missing MMC/SD features
		Added a new directory for building SD (and eventuallly SDIO) -
		omap_hrp/h4_restricted/sdio.The SDIO stack & media drivers may be included
		in a ROM by specifying the USE_SDIO_SD_MMC macro on the command line.
		Implemented DOmapMMCStack::AddressCard() for the SD stack. This has a side effect
		that only the first slot (marked SDMMC_1) will now work with the SD stack enabled.
		Added MMCV4 card support.
		Added 2GB SD card support.
		MCF approval reference for creation of new component 'base_omaph4hrp_sdio': NC-5092.
	4.	DEFECT FIX: DEF075121: SD Media driver can become confused with other data in sector 0 of SD Card
		Changed DMmcMediaDriverFlash::DecodePartitionInfo() so that it no longer returns KErrCorrupt
		if the MBR is invalid....it now continues on and assumes that a valid or invalid boot sector
		is in the first sector
	5.	DEFECT FIX: DEF075203: Incorrect calls to TDfc::Add
		Changed DMMCStack::SchedGetOnDFC() to call iStackDFC.Add() if in ISR context
		Changed DSdMediaDriverProtected::DSdMediaDriverProtected()so that iSessionEndDfc
		is constructed with a priority of 1 (same as medmmc and DMMCStack::iStackDFC)
		Changed  DSdMediaDriverProtected::SessionEndCallBack() so that it always calls
		iSessionEndDfc.Enque();
		Changed DMMCSession::ProgramTimerCallBack(), DMMCSession::PollTimerCallBack()
		and DMMCSession::RetryTimerCallBack() to set the session state bit KMMCSessStateDoDFC
		to ensure that a DFC is queued.
		Changed DJupiterSdStack::InactivityResetTimerCallBack() and
		DJupiterSdStack::InactivityResetTimerCallBack() likewise.
	6.	MINOR_CHANGE: Change to base_h4hrp.iby to allow SD/SDIO support in a H4 techview ROM.

10.	AnatolyP
	1.	DEFECT FIX: DEF074714: Make ethernet precondition ready and stop base port using IDFC.
		Function void DChannelEthernet::ReceiveIsr() in LDD driver was modified to detect current
		CPU context (ISR/DFC) and call Dfc::Add/CompleteRxDfc() respecively.
		Pdd driver constructors in every affected platform(H4, H2, Lubbock) were modified to create
		DFC instead of IDFC.

11.	AnatolyP
	1.	DEFECT FIX: DEF074673: Crash debugger doesn't print object names correctly any more.
		Call of the DMonObject::AppendName from the DMonObject::DumpData() is replaced with
		DMonObject::FullName.

12.	OlegI
	1.	DEFECT FIX: DEF075433: THashMapIter::CurrentValue() should return a non-const pointer
		Removed const from the return value of THashMapIter::CurrentValue() .
		Also added SetMap function to T_HASHTAB for testing

13.	MichaelP
	1.	MINOR_CHANGE Added in-source comment for new OTG parameter of function
		DUsbClientController::InitialiseBaseClass() in ps_usbc.cpp.

14.	SimonT
	1.	DEFECT FIX: DEF075626 "NAND Flash boot loader installation process fails on UREL
		The power management that was turned on as part of PREQ1073.7 MS3.3
		includes an assert on UREL builds that triggers if the millisecond
		timer is held off for long periods of time. This change disables that
		ASSERT for now and recovers the timer so that NAND can continue to be
		used on H4.
	2.	DEFECT FIX: DEF074517 "H4 PRECONDITION READY: omap power resource manager violates Symbian APIs"
		During integrating the 9.33 TI release the baseport had picked up a few
		problems that would cause the precondition asserts to occur.
	3.	MINOR_CHANGE: the bld.inf change to build 100MHz H4 bootstrap files was
		omitted from the last base release.
	4.	MINOR_CHANGE: stop the t_camera H4 variant test playing around with
		power management

Version 2.00.1116
===========================
(Made by JohnS, 30/11/2005)

1.	RichardCo
	1.	DEFECT FIX: DEF074275: Problems with file share promotion & demotion
		Correct incorrect reference counting when using certain file sharing
		modes on duplicated handles.

2.	MichaelMo
	1.	MINOR_CHANGE: Updated H2 user guide to reflect use of Unistore2 NAND Flash driver.
		This replaces the deprecated SSR NAND Flash driver.

3.	ArwelH
	1.	MINOR CHANGE: Removing @prototype 9.1, @prototype 8.1 and @prototype 9.0 status
		tags, and replacing (where appropriate) with @released status tags to
		satisfy Bravo requirements.

4.	JonCo
	1.	DEFECT FIX: DEF074326: Nkern fault trying to kill thread while in critical section
	2.	DEFECT FIX: DEF073910: TInt8 Documentation Mistake
	3.	MINOR CHANGE: Updated t_cputime to fix intermittent test failures

5.	TonyL
	1.	DEFECT FIX: DEF074371: Integrate TI 9.33 H4 Base port
	2.	MILESTONE: Intulo GT268, MS3.3 PREQ1073.7 (REQ5507, REQ5492)
		Power Management. Idle tick suppression is now utilised and device
		drivers should take adequate care of power resources, using them as
		required. A slow speed configuration has been which means that the
		core CPU speed will operate at 100MHz on H4, this demonstrates a DVFS
		capability of the processor. True DVFS will be fixed at a later date.
	3.	DEF074517 H4 PRECONDITION READY: omap power resource manager violates
		Symbian APIs
		- Was previously allocating memory with interrupts disabled.
	4.	DEF071161: H4 PRECONDITION READY: Digitizer will break usage TDfc
		usage semantics
		- Was previously using TDfc::Add in thread context
	5.	DEF071136: H4 PRECONDITION READY: H4 COMM LDD suboptimal and could
		corrupt kernel data
		- Was previously using TDfc::Add in thread context, also using
		  dfcs whereas direct calls could be used
	6.	DEF071126: H4 PRECONDITION READY: USB ISP1301 will potentially corrupt
		kernel DFC queue
		- Was previously using TDfc::Add in thread context
	7.	DEF074621: RDebug output could cause a data abort
		- Ensure UARTs are enabled on the OMAP2420 PRCM before writing to them

6.	MichaelP
	1.	MINOR_CHANGE Added test tags in T_USBAPI for MS3.13, Bravo

7.	AttilaV
	1.	DEF071919: SD MKDir causes critical error if card is locked

8.	NicholasC
	1.	DEF074417: [System Build] - CBR component base_omaph4hrp_mebootldr missing

Version 2.00.1115
===========================
(Made by YingS, 21/11/2005)

1.	JonCo
	1.	DEFECT FIX: DEF073342: Hardcoded member offsets in ncsched.cia
	2.	DEFECT FIX: INC067848: Can't copy to a RBuf using operator=

2.	RichardCo
	1.	DEFECT FIX: DEF073812: Crashreader does not handle corrupt sectors
		Have the crash reader tell the user that reading the log encountered errors,
		but still go ahead and write it out to a file (in the hope that some of it
		is readable/usable), and still erase the signature so that a new log can be
		created.
	2.	DEFECT FIX: DEF073813: Unnessasary overhead in writing the crashlog could result in corrupt sectors
		Change the NAND crash logger to write the ECC values out the first time around,
		instead of making two passes through the log. The logger was previously fixed
		to only write to each page once, so this is now safe and will reduce the chance
		of an unexpected power removal corrupting the log.
	3.	DEFECT FIX: DEF071506: Latest XScale CPU core is not supported in nk_cpu.h
		Add definitions to nk_cpu.h for __CPU_XSCALE_MANZANO__ according to Intel
		provided information. No effect on existing builds.

3.	MiguelB
	1.	DEFECT FIX: DEF073516: Medsd/mmc missing clause for physically damaged card
		Ensure that a partition read request is always completed, even if the read fails.
	2.	DEFECT FIX: DEF073524: Medsdp never calls EndInCritical() after first read (for Partition info)
		Moved call to EndCritical() to DSdMediaDriverProtected::SessionEndCallBack() from
		DSdMediaDriverProtected::DoSessionEndDfc() to ensure it's always called.

4.	TonyL
	1.	MINOR CHANGE: Updated 'final' version of the H4 user guide, also added a basic
		Trace32 set-up guide.
	2.	MINOR CHANGE: Add Lauterbach scripts for H4/H2 into omap_hrp\tools\, these can
		be used various on target debug and tracing purposes. Provided as 'example'
		files.


Version 2.00.1114
===========================
(Made by MichaelP, 18/11/2005)

1.	JonCo
	1.	DEFECT FIX: DEF073260: local function NextGeneration in sprocess.cpp is innefficient
	2.	DEFECT FIX: DEF073201: DObjectCon::CheckUniqueFullName is innefficient
	3.	DEFECT FIX: DEF073261: Emulator panic due to missing entries in key name to key mapping

2.	OlegI
	1.	DEFECT FIX: DEF067603: Inconsistent Kernel exports
		Un-exported methods from class DObjectIx. It's implementation transfered to separate file
		KERNEL\OBJECTIX.CPP.
		Test code D_DOBJECT LDD now is linking with this file.

3.	SimonT
	1.	DEFECT FIX: DEF072951: "Quicknandz.bat missing from H4HRP"
		This will fix the problems with using the nandtest_load_noext type when
		building autoloading nandloader images on H4 (a file wasn't brought
		over to H4)
	2.	DEFECT FIX: DEF070197: "Specifying -D_NAND on H4HRP Techview build creates bad ROM image"
		SSR nand is not supported on H4HRP, specifying -D_NAND will now trigger
		an error with a recognisable message
	3.	DEFECT FIX: DEF070062: "H4 bootstrap's memory test causes JTAG problems"
		This prevented CodeWarrior resetting the board and running the same
		image again.  The H4 baseport from TI has a memory check in the
		bootstrap, when running from flash it will destroy regions of memory
		being tested - when the board is reset with the JTAG it doesn't get
		control of the board early enough to stop the bootloader running and
		performing the memory test, overwriting portions of the image in RAM.

4.	JonathanM
	1.	DEFECT FIX: DEF073477: USERCOMDEB configuration is incorrect
		This only affects the System Wide Tracer (PREQ505) which has not yet been completed.

5.	YingS
	1.	MILESTONE: Intulo GT0262 MS3.9 DS92 PREQ297 USB on-the-go extensions and plug'n'play API


6.	MiguelB
	1.	MINOR CHANGE: Added a timer to H2 MMC controller to prevent stack from timing out
		and powering down while a long-running erase is in progress.

7.	NicholasC
	1.	MILESTONE: Bravo GT0236 MS3.11 PREQ316 Remote software patching.
		This is mainly enabling to have a minimal environment for software upgarde.
		MCF approval reference for creation of new component 'base_ubootldr': NC-5086.
		MCF approval reference for creation of new component 'base_omaph4hrp_bootldr': NC-5087.
		MCF approval reference for creation of new component 'base_omaph4hrp_mebootldr': NC-5088.


Version 2.00.1113
===========================
(Made by DuskoJ, 16/11/2005)
1.	DuskoJ
	1.	DEFECT FIX: DEF073602 - Problems integrating new compilers into toolchain


Version 2.00.1112
===========================
(Made by MichaelMo, 08/11/2005)

1.	AnatolyP
	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.
		MILESTONE: Intulo GT0262, MS3.5.1 PREQ1030 Kernel support for device driver test suites.
		This submission introduces checks of Kernel APIs preconditions. The checks are configurable, there are 3 phases of check enforcement:
		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.
		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.
		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.
		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.
		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.
		Currently all checks are disabled.

2.	DavidM
	1.	DEFECT FIX: DEF068055: T_Sound.cpp record settings incorrect
	Changed erroneous "r = SoundDevice.SetPlayFormat(PlayFormatBuf);" statement to
	"r = SoundDevice.SetRecordFormat(RecordFormatBuf);"

3.	AnatolyP
	1.	MINOR CHANGE: Corrected improper fix for DEF068363, point 17: detection of current CPU mode moved
		to the inline functions, DrainRxBufferEnque() function is removed.

4.	DjordjeK
	1.	DEFECT FIX: DEF072118: Panic in DMsgQueue when Playnow is restarted following a Playnow panic(MCL)
		On requesting notification (of either data or space available), we panic the requesting
		thread if another thread has already requested notification. With this fix, we now check additionally
		whether the thread which previously requested notification has died (iExitType != EExitPending). If so
		we cancel its request then accept the new one.

6.	JonCo
	1.	MILESTONE: Intulo GT0262, MS3.1.3 PREQ521 Tune hand-coded assembler routines and/or replace them with compiled versions
		Final submission containing tuning of euser routines
	2.	DEFECT FIX: DEF072462: ARM1136 Errata 364296: Possible Cache Data Corruption with Hit-Under-Miss

7.	RichardCo/Dennis
	1.	DEFECT FIX:	DEF070194: TLS Mechanism is broken for dynamically loaded RAM-loaded code
		Added a new DLL ID parameter to the functions UserSvr::DllTls(), UserSvr::DllSetTls().
		When setting the TLS only the module handle (= address of DLL entry point) is used to
		look up the kernel side TLS array entry. The DLL ID is merely stored in the array.
		When looking up TLS, the module handle is used to index the array and then the supplied
		DLL ID is compared to that in the array. If the DLL ID does not match, NULL is returned.
		The DLL ID is derived in two different ways:
		(i) On hardware it is read from the word 12 bytes past the entry point. The loader has
		been modified to write a unique value into this word for each DLL loaded.
		(ii) On the emulator the kernel associates a unique value with every windows DLL loaded
		and this value is used as the DLL ID.

Version 2.00.1111
===========================
(Made by DmitryL, 31/10/2005)

1.	DjordjeK
	1.	DEFECT FIX: DEF069282: Run-mode debuggers cannot set breakpoints(MCL)
		Added a new (target only) interface for setting breakpoints (used in run-mode debuggers).
		They are: InitialiseCodeModifier(), CloseCodeModifier(), ModifyCode() and RestoreCode().
	2.	DEFECT FIX: DEF071433: DMsgQueue::Receive and RMsgQueueBase::ReceiveBlocking comment needs updating
		In-source documentation update.

2.	AnatolyP
	1.	DEFECT FIX: DEF068354: Some kernel APIs are called by other kernel functions from the wrong context.
		The following steps are performed to correct the improper API calls:
		1) Problem with DMMCStack::SchedGetOnDFC() is fixed in the fix for DEF067963.
		2) K::Randomize(): call of Kern::Random() is included into NKern::LockSystem()
		and NKern::UnlockSystem() to avoid corruption of random generator.
		3) All the calls of DPowerManager::NotifyWakeupEvent(TInt aReason) are enclosed into critical section.
		4) The call of DPropertyRef::SetB in
		TInt ExecHandler::PropertySetB(DPropertyRef* aRef, const TUint8* aBuf, TInt aSize)
		enclosed into critical section.
		5) ExecHandler::GetModuleNameFromAddress: call of Kern::CodeSegFromAddress is enclosed
		into Kern::AccessCode().
		6) DMediaChangeBase::DoorOpenService() is modified to check the current CPU context and
		call TDfc.Add() from the ISR context only. If it is not in ISR, it calls MediaChangeEvent
		from the DFC and TDfc.Enque() from the thread context.
		7) void DChannelComm::CheckTxBuffer():
		instead of unconditional call of void DChannelComm::CompleteWrite() the check of current
		CPU context is introduced: if the current context is ISR, then DChannelComm::CompleteWrite()
		is called as previously, otherwise DoCompleteTx() function is called directly.

3.	JenniferH
	1.	DEFECT FIX: INC067404: RArray and RPointerArray should have FindReverse interface
		Added FindReverse interface for RArray, as well as tests for it.

4.	MichaelP
	1.	DEFECT FIX: DEF072099: Indication that h/w can detect cable status without USB h/w powered up, missing

		Made use of the first reserved word (of two) in class TUsbDeviceCapsV01
		and renamed it to iFeatureWord1. We now use bit 0 of it for the indication of
		whether USB cable detection is possible without UDC power. There is a new constant
		defined for feature word 1 bit 0: KUsbDevCapsFeatureWord1_CableDetectWithoutPower.

		Base port impact: With this API change also comes a new virtual (not pure virtual)
		USB controller base class function:

			virtual TBool DUsbClientController::CableDetectWithoutPowerCaps() const;

		A default implementation in the USB PDD PIL returns EFalse, but this can be
		overridden by the derived controller class in the USB base port.

		Both T_USBAPI and T_USB query this new device capability and print its value
		upon test program start.

	2.	DEFECT FIX: DEF072035: Re-enumeration of USB devices in T_USB causes system to crash
		The USB cable reconnect timer callback gets now called in DFC (rather than ISR) context
		by passing ETrue as a second argument to the priming function:

			iReconnectTimer.OneShot(KUsbReconnectDelay, ETrue);

5.	JonCo
	1.	DEFECT FIX: DEF071575: Performance: Euser should be build as ARM
		Variant euser is now built as ARM rather than Thumb if the macro
		__BUILD_VARIANT_EUSER_AS_ARM__ is defined in the variant.mmh file.
	2.	DEFECT FIX: DEF072161: Cache::SyncMemoryBeforeDmaRead Long Version Not Invaliding Caches
	3.	DEFECT FIX: DEF072159: Possibly sub-optimal implementation of 'isdigit'
	4.	DEFECT FIX: DEF070929: Inefficient processing of ASCII characters in User Lib operations
	5.	DEFECT FIX: DEF070964: rom.pl script detects false error messages
	6.	DEFECT FIX: DEF071128: Documentation update needed for "How To Use VFP Support"

6.	AndreasP
	1.	DEFECT FIX: DEF067383: XSR LLD .cpp files include inlined assembler which will not compile under RVCT.
		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
		that contains the assembler instructions. The mmp files for the projects that use pns.cpp and pnl.cpp have also been modified to include
		or exclude the .cia file on demand by defining (or not) the _ASMCODE_ variable in the corresponding .mmh file. Furthermore,
		benchmark tests have been run on all (H4, H2 8bit NAND, H2 16bit NAND and Integrator) platforms. The results of these tests show
		that the performance can be only improved on H2 and Integrator by including the .cia file with the NAND access routines.
		Thus, the assembler code has only been enabled for H2 and Integrator.

7.	AnatolyP
	1.	DEFECT FIX: DEF068363: Some kernel APIs are called by H2 drivers?functions from the wrong context.
		Some kernel APIs have limitations on the context they are called from (preconditions). As a part of my
		PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that some H2
		driver functions do not meet the preconditions while calling kernel APIs.
		The following steps are performed to fix improper use of kernel APIs:
		1) void DVariantPowerControllerH2::PowerDown(TTimeK aWakeupST):
		call of iPowerOffEventDfc.Add() replaced with iPowerOffEventDfc.Enque().
		2) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerDown():
		call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
		3) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerUp():
		call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
		4) void DLcdOmapVarPowerhandlerH2::VariantBackLightOn():
		call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
		5) void DLcdOmapVarPowerhandlerH2::VariantBackLightOff():
		call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
		6) TInt DLcdOmapVarPowerhandlerH2::uWireCallbackFn(TAny* aPtr) call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
		7) void THelenI2CPowerHandler::PowerUp():
		call of iPowerUpDfc.Add() replaced with iPowerUpDfc.Enque().
		8) TInt TTPS65010::Init(TInt Devicei2cAddress, TUint aConfigFlags):
		call of iStateMachineDfc. Add() replaced with iStateMachineDfc.Enque();
		9) TInt TTPS65010::i2cCallBackfn(TAny *aPtr):
		call of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
		10) TInt TTPS65010::Read8(TUint aTargetRegister, void (*aCallBack)(TAny* aPtr, TInt aValue), TAny* aCallBackArg):
		calls of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
		11) void TIsp1301::InitialiseTranceiver():
		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.
		12) TInt TIsp1301::RequestComplete(TAny* aPtr):
		call of  iDfc. Add()  replaced with iDfc. Enque().
		13) void TIsp1301::GetConnectionState():
		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.
		14) void TIsp1301::EnableDpPullUp():
		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.
		15) void TIsp1301::DisableDpPullUp():
		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.
 		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() ).
		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).
		PDD functions that request next play/record buffer are left  unchanged to avoid modifications in synchronization engine.
		So, LDD functions are modified in the following way:
		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.
		Also, the following modifications were made in PDD code:
		-in function void DSoundTxDma::SoundTxDmaService call of  PlayErrorCallback() is replaced with setting Ldd iPlayError and calling Ldd PlayDfc;
		-in function DSoundRxDma::SoundRxDmaService() call of
		RecordErrorCallback() is replaced with setting Ldd iRecordError and calling Ldd RecordDfc;
		17) void DChannelCommDMA::TransmitFrame(TDes8 &aFrame) and void DChannelCommDMA::CheckTxBuffer():
		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.
		void DChannelCommDMA::ReceiveFrame(const TDes8 &aFrame):
		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.
		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.
		void DChannelCommDMA::StateIsr(TUint aSignals)
		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.
		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.
		18) void DLddChannelCamera::CompleteNewImage():
		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.
		void DLddChannelCamera::CompleteAngleDetect():
		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.
	2.	DEFECT FIX: DEF068369: Some kernel API are called by Lubbock drivers?functions from the wrong context.
		Some kernel APIs have limitations on the context they are called from (preconditions). As a part of
		my PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that
		some Lubbock driver functions do not meet the preconditions while calling kernel APIs.
		The following steps are performed to fix improper use of kernel APIs:
		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).
		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).
		The following modifications were made in PDD code:
		-in function DSoundPddMcot::DoErrorCallbackFn() call of
		PlayErrorCallback() and RecordErrorCallback() was replaced with setting Ldd iPlayError and calling Ldd PlayDfc/RecordDfc;
		The following modifications were made in LDD code:
		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).
		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:
		- DevReadSpare
		- DevRead
		- DevWriteSpare
		- DevWrite
		- DevErase
		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.

8.	PhilK
 	1.	MILESTONE: Bravo GT268, MS3.1.4 PREQ1073 Base port H4 UART drivers suitable for BT EDR.
		Ensure H4 serial PDD can support 3.6MBaud serial transfer speed by increasing data
		processing DFC thread priority and enabling autoRTS flow control.

9.	MiguelB
	1.	MINOR CHANGE: Modified CoreLdr (H2, udeb build only) to validate ROM image checksum.
		This is enabled by defining the SYMBIAN_CHECK_ROM_CHECKSUM macro in the CoreLdr make file
		in the variant directory.
	2.	MINOR CHANGE: Modified NandLoader to validate ROM image checksum for uncompressed images only.


Version 2.00.1110
===========================
(Made by MaximK, 28/10/2005)

1.	MaximK
	1.	DEF072205 - [System Build] : ROM building warnings in overnight 9.2 build.
		Usercomdeb driver moved out of ROFS as drivers must be in core image.


Version 2.00.1109
===========================
(Made by MaximK, 25/10/2005)

1.	MiguelB
	1.	DEFECT FIX: DEF070626: Symbian format 1G miniSD illegally
		The first data sector for SD cards (i.e. the first sector after the root directory)
		is now aligned to a boundary unit as suggested in the SD Memory Card Specifications -
		Part2 File System Specification,Annex C & D.
	2.	DEFECT FIX: DEF071342: NAND/XSR - Bad Blocks not handled correctly on H2/H4
		Fixed nand_plat.h for H2 & H4 so that CoreLoader is able to calculate any
		replacement block positions correctly.
		Changed CoreLdr so that it complains and aborts if the number of blocks in the
		reservoir, according to the table in nand_plat.h, is zero.
		Added a '-e' option to NandLoader to erase & format the device; this option
		erases all bad blocks from the bad block table (for XSR).

2.	OlegI
 	1.	MILESTONE: Intulo GT262, MS3.4 PREQ505 Easy and consistent configuration of component traces
 		Added new USERCOMDEB LDD for collecting trace debug data and user library USERCOMDEBC.
 		Added new test T_USERCOMDEB and auxiliary D_KERN_MSG LDD for it.

 		Also changed kernel for calling trace debug hook in critical section
		Changed e32test\debug\d_logtofile.cpp to processing EInfoTrace case for preventing compillation
		warnings.

Version 2.00.1108
===========================
(Made by OlegI, 17/10/2005)

1.	MiguelB
	1.	DEFECT FIX: DEF071183: Buffalo mini SD card is not recognized by Symbian
		Buffalo cards report that partial reads are supported but these do not work correctly.
		Workaround is in SD card stack PSL, integrator LM_PANA logic module.


2.	JonCo
	1.	DEFECT FIX: DEF070920: ColdStart initializes RealTime with value written in RomHeader

3.	JenniferH
	1.	DEFECT FIX: DEF071190: Behavior regression of TaskEventLogging function.

Version 2.00.1107
===========================
(Made by RobertJ, 13/10/2005)

1.	JonCo
	1.	DEFECT FIX: DEF068256: t_pwstr test fails on Integrator Board
	2.	DEFECT FIX: DEF070859: Mem::Swap broken for some unaligned addesses

2.	MichaelP
	1.	MILESTONE: Bravo GT0236, MS3.13 SLUI-6EVS5P "USB Device Driver API extension to support
		setting of an string descriptor at a specific index"
		Added three new USB API functions for the manipulation of arbitrary USB string
		descriptors + updated USB API documentation accordingly:

		TInt RDevUsbcClient::GetStringDescriptor(TUint8 aIndex, TDes16& aString);
		TInt RDevUsbcClient::SetStringDescriptor(TUint8 aIndex, const TDesC16& aString);
		TInt RDevUsbcClient::RemoveStringDescriptor(TUint8 aIndex);

		Also added test cases to T_USB and T_USBAPI.

	2.	DEFECT FIX: DEF069016: T_USBAPI variant specific tests mask some failures
		The USB capability functions now only use lists of known negatives (i.e. they list
		platforms known NOT to support something). Also, the capability functions now have
		more meaningful (& unified) names.

	3.	MINOR CHANGE: Reformatted some USB files + changed in-source comments.



Version 2.00.1106
===========================
(Made by JenniferH, 11/10/2005)

1.	JonCo
	1.	MINOR CHANGE: Make t_lat2 print a message to explain what it's doing
	2.	MINOR CHANGE: Make t_cputime wait until system is idle on windows builds
	3.	DEFECT FIX: DEF068185: t_kheap test failure
	4.	DEFECT FIX: DEF068840: NTimerQ C++ code doesn't build

2.	MichaelMo
	1.	DEFECT FIX: DEF070257 - Update Samsung UnistoreII driver to version 1.4.0
		This fixes various defects in the Samsung provided UnistoreII driver (see defect report for
		Samsung	defect numbers).

3.	AnatolyP
	1.	DEF068356: Kernel API is called by the testcode from the wrong context.
		To fix  improper use of kernel API the call of DObject::Close is wrapped into NKern::ThreadEnterCS() and NKern::ThreadLeaveCS().

4.	JonathanM
	1.	MINOR_CHANGE: Fix test utility REBOOTDRV so that CPU state is cleaner after reboot

5.	SimonT
	1.	DEF070472: H4 nandloader doesn't include the coreloader binary in the rom

6.	MiguelB
	1.	MINOR CHANGE: Disabled automatic _SDIO support from H2 textshell ROM builds -
		this now needs to be defined on the command line when building a ROM.


Version 2.00.1105
===========================
(Made by GavinT, 07/10/2005)

1.	Dennis
	1.	DEFECT FIX: DEF069289	"Exception handling doesn't work in extension ROMs"
		Added a field to TExtensionRomHeader to point to the exception search table
		for that extension ROM. Modified ROMBUILD to fill in this field.
		Add code to the runtime support to look in the extension ROM if an address
		is not found in either the main ROM or in a RAM-loaded code segment.

2.	JonCo
	1.	DEF069351: New x86 3.2.3 Compiler requires pragmas to globally supress warnings
	2.	DEF069355: Requiring more scan and key codes
	3.	DEF068505: Suggested improvement to comment on NThreadBase::Kill()
	4.	DEF069395: Incorrect documentation on TPriListBase::operator> in nklib.h
	5.	INC067854: Trap instrumentation lacks TRAP_INSTRUMENTATION_END or TRAP_INSTRUMENTATION_STOP

3.	SimonT
	1.	DEF069439: Integrate TI's 9.29 H4 release into the H4HRP
		This is a planned integration of TI's H4 baseport release to minimise
		differences between the two baseports.
	2.	DEF068016: Incorrect use of NFastSemaphore internal field
	3.	DEF069228: H4 benchmark suite doesn't behave as expected
	4.	DEF067001: Latency values look weird
	5.	DEF068894: MMU enable the H4 coreloader (coreloader performace)
	6.	DEF068952: Rebootdrv changes for MMU enabled coreloader (and test app)
	7.	MINOR CHANGE - permit screen rotation within H2 textshell
	8.	MINOR CHANGE - include rebootdriver in techview roms (H2/H4)

4.	MaxymG
	1.	DEF067304: Missing check for memory allocation in nand_media.cpp

5.	MiguelB
	1.	DEFECT FIX: DEF068573: Emulator timer thread suicide if too many ticks are missed
		Modified the timer tick callback to ensure the timer is not inadvertently killed.

	2.	MILESTONE: Bravo GT0236, MS3.10 WiFi Demo.
		Adds support for SD/SDIO to H2 HRP. This is part of PREQ719 and enables
		support for third-party SDIO WiFi drivers cards on H2.
		MCF approval reference for creation of new component 'base_h2_sdio': NC-5060.
		MCF approval reference for creation of new component 'base_sdiotests': NC-5066.

	3.	CHANGE REQUEST: Bravo GT0236, MS3.14 APOS-6FRCG5 Add support for 2 GB-SD cards.
		The latest SD card spec enables support for 2GB cards by allowing the block length
		read from the CSD register to be 1024. If this value is read as 1024, then a block
		length of 512 bytes should be assumed.

		Note: Changes are probably required in the PSL MMC/SD stack DLL to support 2GB cards.
		Any calls to TCSD::ReadBlockLength() should be carefully analysed and as likely as not
		replaced with a call to the new function TMMCard::MaxReadBlLen().

	4.	MILESTONE: Bravo GT0262. MS3.2 Improve MMC Performance using v4.0 specification
		Adds support for MMC V4.0 cards. These can operate at bus widths of 1, 4 or 8 bits
		and up to 26 or 52 MHz.

		Note: Changes are required in the PSL MMC/SD stack DLL to fully support v4.0 cards -
		The virtual functions DMMCStack::SetBusWidth() and DMMCStack::MachineInfo() must be
		implemented.

6.	YingS
	1.	MINOR CHANGE: Fix DEF047896 Replace non-ascii characters with HEX value

7.	DmitryL
	1.	DEFECT FIX: DEF067963: PBus DFCQueue gets corrupted when running t_ramstr on removable drive.
		in DMMCStack::TMMCStackSchedStateEnum DMMCStack::SchedGetOnDFC() DFC is now queued using
		TDFC::Enque() instead of TDFC::DoEnque().

8.	GavinT
	1.	DEFECT FIX: DEF068056: T_MMCPW crashes
		Changed RunPasswordWindowL() to check the return result from its call to
		RConsole::Init(). In the event of an error, the client thread is panicked and
		we leave.


Version 2.00.1104
===========================
(Made by AnatolyP, 26/09/2005)

1.	RichardCo
	1.	DEFECT FIX: DEF067832: Kernel faults during Cleanupstack unwinding (MCL)
		Defer unloading DLibrary objects instead of DCodeSeg, so that two processes
		mapping the same library can safely unwind simultaneously.
	2.	DEFECT FIX: DEF068536: buildrom versions of Integrator NAND iby files are incorrect
		Correct iby files so that techview NAND roms work on Integrator without
		manually overriding the options.

2.	JenniferH
	1.	DEFECT FIX: DEF068258: Crash debug and crash logger must dump CodeSeg info
		The crash debugger has been extended to include the 'p' and 'P' commands, that show codesegs.
		The crash logger has also been extended to show some of this information.

3.	MaxymG
	1.	DEF063113 FIX: Nand STL can not be closed and reopened

4.	MichaelP
	1.	DEFECT FIX: DEF068695: H4: USB PDD .DEF File Unnecessarily Duplicated
		Removed the two duplicate USB PDD .DEF files for H4 (omap_hrp/h4/bmarm/usbccU.def
		and omap_hrp/h4/eabi/usbccu.def). Changed the 'deffile' reference in
		omap_hrp/h4/usbcc.mmp to now point to ..\..\e32\~\usbcc.def.


Version 2.00.1103
===========================
(Made by PhilK, 22/09/2005)

1.	PhilK
	1. 	MILESTONE: Bravo GT0268, MS3.1.2 PREQ1073 USB client
		This submission cures problems with the H4 HRP USB client driver panicing in
		various PAN connectivity tests, and adds host device connection detection.


Version 2.00.1102
===========================
(Made by RichardCo, 21/09/2005)

1.	TonyL
	1.	DEFECT FIX: DEF068206: Configure h2 to use 32KHz clock for GpTimer7 by default
		The rationale for this fix is that the NAND core loader configures this timer
		to be a 32KHz clock but the bootstrap resets it to use the system input clock
		(12MHz for H2). Preserving the 32KHz clock ensures that boot time can be
		profiled in the NAND boot image.

2.	OlegI
	1.	DEFECT FIX: DEF065516: t_pwstr not working on SymbianOS 9.1 WK26
		Used function Kern::ThreadRawWrite() instead of direct writing for transferring
		PasswordStoreLength from Kernel to User side in Locmedia driver

3.	JonCo
	1.	DEFECT FIX: DEF068257: Exception handler assumes there is a current thread


4.	DjordjeK
	1.	DEFECT FIX: DEF067827: Viewing certain memory locations causes the OS to crash (MCL)
		The problem was related to the inter-process (IPC) memory transfer in Kernel. As the consequence,
		Kernel could panic if client (or server) passes a faulty descriptor for IPC transfer.
		On both mem. models, there was the issue if the memory to copy to/from was not word aligned, as memcpy
		transfers the whole words wherever it is posible - crossing memory boundaries specified in the exception handler.
		On moving mem. model, there was also the problem where the run address is specified in the exception handler
		while it is usually home address that is actually accessed by memcpy.
		Thread::RawRead/RawWrite now update the memory regions specified in the exception handler before memory access attempt.

5.	RichardCo
	1.	MILESTONE: Intulo GT0262, MS3.3 PREQ1032 Kernel support for VFPv2
		Provide full VFPv2 support in the kernel.


Version 2.00.1101
===========================
(Made by AndrewHi, 16/09/2005)

1.	AndrewHi
	1.	DEFECT FIX: DEF068504: 2 components currently own nand_fbr_offset.inc and nand_fbr_offset.c


Version 2.00.1100
===========================
(Made by AndreasP, 14/09/2005)

1.	JonCo
	1.	MILESTONE: Intulo GT262, MS3.1.2 PREQ512 Tune hand-coded assembler routines (kernel)
		Kernel-side assembler routines have been tuned and updated to take
		advantage of ARMv6 instructions where possible.
	2.	DEFECT FIX: INC067401: Missing Find interface in RArray and RPointerArray

2.	RichardCo
	1.	DEFECT FIX: DEF067966: The loader thread suffers badly from heap fragmentation
		Change allocation granularity for the loader cache's indexes so heap
		cells pack more tightly and get realloced less often.

3.	YingS
	1.	DEFECT FIX: DEF068038 - CR: PPEL-6BGGKR is incomplete
		Reorganise source structure in \integrator, \soc, and \wins dirs.
		Group SD-3C LLC only source into sdcard3c dir, and
		group SD-4C LLC source into sdcard4c dir

4.	SimonT
	1.	DEFECT FIX: DEF068030: Problems found in unistore2 drivers when bringing up XSR on H4
		The data register offset was not applied to the base address and the
		device type on the H4 was not present in the recognition table.
	2.	MILESTONE: Bravo GT268, MS3.1.3 PREQ1073 H4 HRP Boot from NAND
		MCF approval reference for creation of new component 'base_omaph4hrp_unistore2': NC-5063.
		Boot from NAND support has also been added to the H4 bootloader (from v1.5)

5.	MichaelP
	1.	DEFECT FIX: DEF067977: USB PDD PSL SetupEndpointZeroRead() code and comment differ
		Modified SetupEndpointRead() and SetupEndpointZeroRead() for both
		Cotulla and the Template port. We now return KErrGeneral instead of
		KErrNone if (ep->iRxBuf != NULL).


Version 2.00.1037
===========================
(Made by YingS, 05/09/2005)

1.	JenniferH
	1.	DEFECT FIX: DEF067483: EMI needs a soak test.

2.	DjordjeK
	1.	DEFECT FIX:  DEF067226: TTime.Parse does not parse microseconds - it ignores them
		Added code in TStringToDateTime to take microseconds into account.
		To separate seconds and microseconds, the following separators could be used:
			- any time separator (that already separates hours, minutes and seconds).
			- decimal separator (obtained by TLocale::DecimalSeparator())

3.	RichardCo
	1.	DEFECT FIX: DEF066708: WServ: Digitizerarea initilized the wrong way.
		The emulator's digitizer was returning wrong coordinates, or ignoring
		clicks, in certain conditions when the screen was rotated. Fixed
		coordinate calculations to work for all rotations.

4.	MichaelP
	1.	BREAK REQUEST  BR1623.1  USB: USB API Future-proofing Changes.
		Included are also the API changes for upcoming PREQ709 "USB 2.0 High-speed".
		List of symbols that had members added (both named & iReserved):
		TUsbDeviceCapsV01, TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
		TUsbcClassInfo, TUsbcInterfaceInfo, TUsbcInterfaceInfoBuf.
		This is a BC break, so affected sources need to be recompiled.

5.	JonCo
	1.	DEFECT FIX: DEF067718: RPointerArray<T> can no longer take type TAny (MCL)

Version 2.00.1036
===========================
(Made by MichaelMo, 31/08/2005)


1.	JenniferH
	1.	DEFECT FIX: DEF066750: Compilation errors for ARM1136

	2.	DEFECT FIX: DEF065150: Kern::CurrentThread, Kern::CurrentProcess assume there are no personality layers

		The documention for the functions wil be updated.
		The crash debugger will be changed, as suggested, to check for NThreads.
		The sample profiler, which is called out of thread context, has been changed to ignore NThreads (Instead of crashing).

	3.	DEFECT FIX: DEF066832: Repeated changing of EMIStart/Exit monitors can give inconstant results.

2.	Dennis
	1.	DEFECT FIX: DEF065842 "Workaround required for ARM1136 Erratum 353494"

		This erratum can cause ICache corruption if a prefetch abort occurs on
		a location which is cached in the BTAC. The workaround is to (i) flush
		the BTAC whenever any code is unmapped and (ii) never use RONO permissions
		on code.
		Define macro __CPU_ARM1136_ERRATUM_353494_FIXED in variant.mmh if this
		erratum is not present on the hardware in use.

	2.	DEFECT FIX: DEF067029 "Workaround required for ARM1136 Erratum 351912"

		This erratum can cause incorrect results to be produced by floating point
		multiplications in the presence of dynamic branch prediction. The
		workaround is to disable dynamic branch prediction for any thread which
		uses the VFP. Other threads are unaffected.
		Define macro __CPU_ARM1136_ERRATUM_351912_FIXED in variant.mmh if this
		erratum is not present on the hardware in use.

3.	RichardCo
	1.	MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
		Provide HAL attribute indicating whether VFP is supported by the current platform, and
		extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.

4.	JonCo
	1.	DEFECT FIX: DEF067060: Documentation defects in RBuf8/16 ReAlloc / ReAllocL


5.	CarlosF
	1.	DEFECT FIX: INC067137: WINSCW emulator networking does not work in Windows XP SP2
		Netcards needs to be compiled with .NET for XPSP2, thus look at compiler specific
		defines and if .NET assume XPSP2.

6.	MiguelB
	1.	INTERFACE CHANGE: BR1592 Peripherals: Enable MMC V4 support.
		Required as prerequisite for Intulo PREQ562. This change does
		NOT implement MMCV4 support, it only makes the code binary compatible
		with future OS releases which will support it.
 	2. 	DEFECT FIX: DEF067130: SD Card MBR, One parameter incorrectly implemented
 		The GetChsCylinder function was incorrectly implemented due to an incorrect cast
 		to TUint8 rather than TUint16. TUint16 is now used.

7.	DjordjeK
	1.	DEFECT FIX:DEF066104: T_IMB will sometimes loop forever
		Two threads in test code were in potential deadlock.

8.	AndreasP
	1.	DEFECT FIX: DEF066398: T_SERIAL turnaround test timings too tight.
		One tick period has been added to the driver's MinTurnaroundTime to allow
		for the RTimer inaccuracy.

9.	JonathanM
	1.	MINOR CHANGE: Modified ROM.PL to support multiple -DEFINE options.
	2.	MINOR CHANGE: Fix for T_KHEAP. This turns off the Loader's lazy DLL unloading
		which was causing problems for the test.

10.	AndrewR
	1.	DEFECT FIX: DEF057164: Nefarious clients can create orphaned session objects in a server

		The behaviour of the client/server mechanism is modified to serialise the reception of
		connect and disconnect messages so that neither an orphaned session object may be created
		in the server process' address space nor may the server find itself in possession of a
		handle to an invalid connect message.

		In the case where an unaccepted connect message has been delivered to the server, rather
		than waiting until the connect has been completed to send the disconnect message (as in
		the case of an accepted connect message), the connect message is simply removed from the
		server's queue, completed immediately and a disconnect message sent immediately.

		The last message to be sent on any session remains a disconnect message and a disconnect
		message is sent in all cases, so that the server never encounters issues with the lifetime
		of its message handles [assuming it completes non-connect messages with null session cookies
		immediately].

		Certain operations are now declared to be illegal w.r.t. server connection:

		* A client thread may not send more than one connect message simultaneously, nor may it send
		  another connect message once a connect message has been successfully completed.
		* Similarly, a server may not set the cookie twice nor may it set the cookie to be NULL. Also,
		  a server may only set the cookie from a connect message and from no other.

		Unit test code, in the form of t_svr_connect, has been added to test this behaviour.


Patch to version 2.00.1035
===========================
(Made by YingS, 22/08/2005)

1.	YingS
	1.	DEFECT FIX: DEF067023 - [System Build] CBR Errors (orphan files) in MCL

		  Add binary statements in mrp files


Version 2.00.1035
===========================
(Made by MichaelP, 17/08/2005)

1.	JonCo
	1.	DEFECT FIX: DEF066250: Incorrect online documentation for RProcess:: HasCapability() and others
	2.	DEFECT FIX: DEF066477: Bad doc tag causes bad doc
	3.	DEFECT FIX: DEF066727: ROM bitmaps don't work in extension rom's
	4.	DEFECT FIX: DEF066471: T_COLOUR test causes H2 board to die

2.	Tonyl
	1.	DEFECT FIX: DEF066239: H2 nandtest_load_noext doesn't work as intended
		Something went wrong with this quick work-around to stop Integration
		hacking our OBEY files for their boot from NAND smoketest.
	2.	MINOR CHANGE: Added description for HAL properties EDisplayMode and
		ESwitches

3.	RichardCo
	1.	DEFECT FIX: DEF058485: Crashread reads data starting at the wrong position
		Make unistore2 crash logger write a whole page of whitespace instead
		of just one sector, eliminating the y-umlaut characters.
	2.	DEFECT FIX: DEF060474: Kernel exports RVCT specific functions
		INTERFACE CHANGE: BR1612.1 Kernel: Remove RVCT specific kernel exports
		Remove RVCT-specific compiler helper functions from kernel export list,
		leaving only EABI and CPPABI compliant helpers that will not harm non-RVCT
		builds. ALL BINARIES THAT LINK AGAINST THE KERNEL MUST BE RECOMPILED.
	3.	DEFECT FIX: DEF066774: Not possible to load more than 2 crash debugger extensions
		Support an 'arbitrary' number of crash debugger extensions - 8 by default, change
		#define MONITOR_MAXCOUNT in e32/include/kernel/monitor.h for more.

4.	AndrewHi
	1.	DEF058851: NAND SSR is wronlgy classified as internalTechnology
		Updated classication tags as approrpiate.
	2.	DEF065648: Inappropriate waiting on ready/busy line in XSR NAND driver
		Used interrupt and IDfc to indicate when the transition has ocured. Also used an NTimer
		to ensure that a maximum waiting period is not exceeded.

5.	MichaelP
	1.	DEFECT FIX: DEF066330: USB LDD debug print causes crash
		- Removed the offending debug printf.

6.	MiguelB
	1.	DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
	2.	DEFECT FIX: DEF065932: SD-Card MBR Does not meet the SD-card specifications
	3.	DEFECT FIX: DEF065356: Emulator crash: FAULT: PBUS 00000000

7.	Dennis
	1.	DEFECT FIX: DEF066445: 	RArray/RPointer array need a Reserve() function.

		Added the following functions, which ensure that an array has sufficient
		space for aCount elements:

		TInt RArray<T>::Reserve(TInt aCount)
		void RArray<T>::ReserveL(TInt aCount)
		TInt RPointerArray<T>::Reserve(TInt aCount)
		void RPointerArray<T>::ReserveL(TInt aCount)

8.	RobertJ
	1.	MILESTONE: Bravo GT0236, MS3.9 PREQ01192 Performance Plus!
		Enabled MMU i-cache & d-cache in NAND coreloader

9.	YingS
	1.	MILESTONE: GT0223 Mike Base Peripherals, MS 3.11 CR: PPEL-6BGGKR NC-5056 BR 1574.1,
		Ease delivery of SD Card 3C / 4C code by seperation into different CBR components and DevKit supplementaries

10.	TonyL
	1.	MILESTONE: Bravo GT268, MS3.1.1 PREQ1073 H4 Base Port (H2 to H4 migration)
		This adds the H4 HRP Base Port to the Base. The H4 Base Port is located
		under the omap_hrp\h4 directory. See also the base\documentation
		directory for the H4 HRP User Guide and other H4 documents.

		There are future deliveries for full/low speed USB client verification,
		boot from small block NAND, TV-OUT, SD/SDIO, OneNAND, Sibley,
		High Speed UART, USB High Speed, VFP, Camera and Power Management
		delivered by various projects.

		MCF approval reference for creation of new component 'base_omaph4hrp': NC-5059.


Version 2.00.1034
===========================
(Made by MaximK 05/08/2005)

1.	MichaelP
	1.	DEFECT FIX: DEF059067: USB prints error messages whist running t_usb Receive-only test
		Made sure all data members of USB LDD are properly initialized.
		Also added missing user-side function GetEndpointZeroMaxPacketSize().
	2.	MINOR CHANGE: Brought USB API document after some additions to v2.0.2.
	3.	MINOR CHANGE: Restructured code of USB test program T_USB (file t_usbco2.cpp).
	4.	MINOR CHANGE: Unified KPANIC printf output format for USB PDD.

2.	OlegI
	1.	DEFECT FIX: DEF065369: Emulator extension list not sufficiently configurable
		Properties initialisation was reverted having one default list of extensions, including winsgui,
		initialised before command line/epoc.ini processing, as before.
		Winsgui extension is checking NoGui property during its creation and if NoGui==true it do nothing.

3.	CarlosF
	1.	MINOR CHANGE: as a result of fixing DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR
		FAT drives automatic f32tests are now enabled on drive i on Lubbock.
	2.	DEF059489: EKA2 version of netcards is missing auto interface selection

4.	JonCo
	1.	DEFECT FIX: INC062499: const missing for method FindInOrder in RArray and RPointerArray
	2.	DEFECT FIX: DEF066066: short jump out of range warning reported by Nokia x86 Compiler in uc_realx.cpp

5.	JonathanM
	1.	DEFECT FIX: DEF065694: Baseports use DThread::iNthread which is internal to the kernel
	2.	DEFECT FIX: DEF065841: Inconsistent EActive & EInactive events when 2 screens (emulator) (MCL)
	3.	DEFECT FIX: DEF066075: Documented incorrect capability for EDisplayHalBacklightOn in u32hal.h
		Deleted the @capability tag in the in-source docs for EDisplayHalBacklightOn.
		Getting the backlight state doesn't require any capabilities.

6.	TonyL
	1.	MINOR CHANGE: (H4 preamble) Add support to bootloader bootstrap code
		to use CFG_CopyRomToAddress as the RAM address to copy boot loader.
	2.	MINOR CHANGE: (H4 preamble) pick up H4 base port IBY file if required
		from base.iby
	3.	MINOR CHANGE: Fix minor warning in rofs test
	4.	MINOR CHANGE: (H4 preamble) add H4 hal uid
	(Note none of these changes require H4 base port support in the tree)

7.	AndrewR
	1.	DEFECT FIX: __BREAKPOINT() does not work correctly with __LEAVE_EQUALS_THROW__
		The Win32 nkern structured exception handler was changed to handle breakpoint exceptions
		by directly calling the Win32 handler which launches the JIT debugger. Breakpoint exceptions
		were previously explicitly left unhandled and allowed to propagate out of the emulator to the
		JIT debugger handler. However, with the advent of __LEAVE_EQUALS_THROW__ TRAP() frames using
		catch(...) install Win32 SE handlers which prevent the breakpoint exception propagating out
		of the emaultor and launching the JIT debugger, resulting in a call to User::Invariant() instead.

		Hardcoded breakpoints using __BREAKPOINT() now work correctly and in particular launching a JIT
		debugger when a thread panic or kernel fault occurs in a udeb emulator not running under a
		debugger will work once again.

8.	Dennis
	1.	Added assertions to the emulator to ensure that the kernel is never
		entered or exited with the current thread in a critical section, with
		preemption disabled or with a fast mutex held.

Version 2.00.1033
===========================
(Made by TonyL, 26/07/2005)

1.	TonyL
	1.	DEFECT FIX: DEF065673: [System Build] NAND ROM Loader Broken

Version 2.00.1032
===========================
(Made by JohnS, 21/07/2005)

1.	RichardCo
	1.	DEFECT FIX: DEF064869: The CEnvironmentChangeNotifier doesn't invoke callback function.
		If changing the timezone offset to the value it is already set to,
		don't cancel timers.
	2.	DEFECT FIX: DEF061603: Problem with more than 16MB of I/O mappings on multiple memory model
		INTERFACE CHANGE: BR1552.1 Kernel: Memory map changes for the multiple memory model
		Move IO mappings from 0xC3000000 to 0xC6000000, and pagetables from 0xC4000000 to 0xC2000000
		on the multiple memory model. Base ports need to change any references to these addresses
		accordingly.

2.	MichaelP
	1.	DEFECT FIX: INC064822: USB connection is not visible in PC suite's File manager-view
		Changed the way physical USB endpoints are configured during UDC startup in
		\omap\shared\usb\omapusbc_gen_cont.cpp (OMAP USB PSL on H2).

3.	MichaelMo
	1.	DEFECT FIX: DEF061266: Can not build nand LLD without undeliverable source
		Samsung unistore2 header files have been moved from the base_drivers_unistore2_undeliverable component
		to the base_drivers_unistore2 component with their agreement.

4.	TonyL
	1.	MINOR CHANGE: Add a variant specific mechanism to H2 base port to
		recall the value of a hardware timer. This can be used to calculate
		boot time for NAND based images if the required logic is added to
		the H2 NAND coreloader (note this logic hasn't been added)

5.	JonCo
	1.	DEF064966: Base PlatSec APIs are @publishedParter
	2.	DEF064985: various changes needed in base doxygen comments
	3.	DEF064965: No way of checking a TSecurityPolicy against process's creator
	4.	DEF065086: _FOFF macro causes warning in GCC-E
	5.	DEF065182: Process JustInTime() state not tied to Emulator EPOC.INI setting

6.	Carlosf
	1.	CHANGE REQUEST CFRS-6DLMNF Automate the booting of test images from NAND flash and testing
		both the NAND User area drive and ROFS/ROFS extension drives.
		Automatic testing now involves programming a Core image and a ROFS and ROFS extension images
		to NAND flash, rebooting into the Core image and then running all the tests including the full
		F32 test suite on the NAND User data drive and the ROFS tests.
		NOTE: rom.pl has been modified to allow buildinfg ROFS and ROFS extension images. All that
		is required is to have the appropriate markers for the start of these images (same as required by
		rofsbuild) in the .OBY file (rom type)
	2.	DEFECT FIX: DEF063793: Coreloader and Miniboot make files are using an old RVCT syntax

7.	MiguelB
	1.	DEFECT FIX: DEF056953 - Mistakes in API Classification
		Added file-wide @internalTechnology tag to e32\drivers\unistore2\src\md\nanddefs2.h
	2.	DEFECT FIX: DEF063435 - DSDIORegisterInterface::EngageSdio() should use NFastSemaphore::SetOwner()
		Changed DSDIORegisterInterface::EngageSdio() to use correct API.

8.	StefanW
	1)	DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
		Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
		call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
		if a the forced remount was successful.

	2)	DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
		 - Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
		 - Modified MMC media driver to allow a locked partition to be mounted.
		 - Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
		 - Fixed problem in emulator which prevented the emulated MMC card from being removed.
		   (F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)

	3)	CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
		As part of this CR, the following new RMessagePtr2 API has been introduced:

			const TRequestStatus* RMessagePtr2::ClientStatus() const;

		This API is intended for use by providers of asynchronous services where the TRequestStatus* is
		used as a unique identifier for the cancellation outstanding requests and there are not enough IPC
		arguments remaining to allow this value to be passed without resorting to extra packaging of the
		request	parameters.  Note that this pointer must never be accessed directly or completed.

9.	DjordjeK
	1.	DEF064766: t_mstim fails occasionally
		d_mstim & d_tick drivers on H2 are using OSTimer3 to measure the duration of the timing services.
		The timer was configured to period of 21.33us. OSTimer1 (used for Kernel Tick) is of 2.66us period.
		That extra rounding in the drivers'calculations caused some tests to fail occasionally.
		The period of OSTimer3 is now fixed to be the same as for OSTimer1 (2.66us).

10.	JenniferH
	1.	DEF064810  hirestimer on H2 has incorrect clock frequency
		The hirestimer was using 32khz timer, that was inaccurate.
		It has been changed to use GPTimer3 at 3Mhz.

Version 2.00.1031
===========================
(Made by JonathanM, 13/07/2005)

1.	JonathanM
	1.	DEFECT FIX: DEF060439 - Security checks on RProperty::Define missing
		INTERFACE CHANGE: BR1573.1 Enforcing security checking in Publish and Subscribe.
		This change means that processes can only define properties if the category is either:
		a) The same as the process's Secure ID
		b) KUidSystemCategory (requires WriteDeviceData capability)
		c) Numericly less than KUidSecurityThresholdCategoryValue (requires WriteDeviceData capability)

Version 2.00.1030
===========================
(Made by OlegI, 11/07/2005)

1.	RichardCo
	1.	DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
		Fix emulator's path parsing to be able to deal with the case where no
		path is given, only the drive letter and filename. It will now load
		the executable from \sys\bin on that drive.

2.	JonCo
	1.	MILESTONE: Intulo, GT0262, MS3.1.1: Allow the user library to be built as part of the variant
		euser can now be built from the variant to take advantage of
		processor-specific optimisation options.  This has been applied to the
		integrator cm1136 baseport.  The rombuild flag GENERIC_EUSER can be used
		to override the default behaviour and include the generic version.
	2.	DEFECT FIX: DEF064894: Crashdebugger should provide command help

3.	RobertJ
	1.	MINOR CHANGE: Correction to defect fix DEF064045: #include guards in locmedia.h are wrong
		Guards should have been LOCMEDIA_H


Version 2.00.1029
===========================
(Made by DjordjeK, 05/07/2005)

1.	RobertJ
	1.	DEFECT FIX: DEF064045: #include guards in locmedia.h are wrong
		Modified lock guards to be __LOCMEDIA_H__ instead of __K32LOCD_H__

2.	DjordjeK
	1.	DEF064571: Intermittent T_IMB failures on H4
		Interapts are now disabled during ICache flush on ARM1136.
		See ARM1136 r0p2 Errata (Date of Issue: 07-Apr-2005):
		 - 325157: Associative ICache maintenance operations can deadlock
		 - 328429: An instruction cache invalidate by MVA or Prefetch by MVA operation, if interrupted,
			   can result in microTLB corruption
		The fix is made configurable. It won't be included if macro __OMIT_1136_R0_ERRATA is specified in variant.mmh
	2.	MINOR CHANGE: t_debugapi test is fixed.

3.	JonCo
	1.	DEF062525: Kern::NanoWait() should be delegated to the base port
		Added generic kernel hook functionality.  Using this a hardware-specific
		implmentation of Kern::NanoWait can be supplied by the variant

4.	CarlosF
	1.	DEF064164: T_MEDCH/D_MEDCH buildrom & test errors
		D_MEDCH is now built from platform directory (and only if the platfrom supports MMC).
		T_MEDCH now checks if the platform supports MMC

Version 2.00.1028
===========================
(Made by RobertJ, 27/06/2005)

1.	DjordjeK
	1.	DEF063190: User-side After() timers complete early
		When calling User::After(aTime), the time used to be (1) rounded up, and then (2) rounded down.
		As a consequence, User::After(X ms) used to be completed somewhere between (X - 16) and (X+17) miliseconds.
		It is now rounded up only once. The request now completes between X and X+17 miliseconds.
		(17 ms is the period of Symbian OS Timer.)
		The submission also includes the test code that checks these boundaries. It also checks the duration of User::AfterHighRes().
		t_cper test had to be fixed as it started to fail on integrator 1136 (armv5/udeb build).
		The test was using K*PERIOD-1 formula for timeout to ensure a request to be completed after K ticks of the OS Tick
		(PERIOD=15625microseconds).However, the delay of 1 nanokernel tick (1000 microseconds) caused the period to last K+1 ticks.
		The formula is replaced with: (K-1)*PERIOD + 1

2.	JenniferH
	1.	DEFECT FIX: DEF063541 EMI Support Upsets OBEX Win32 USB Transport.
		Have removed bad lines from win32/nsched.cpp
	2.	DEFECT FIX: DEF063729 EMI does not call StartMonitor for Idle thread.
		Null thread EMI flags now set on EMI init.

3.	MiguelB
	1.	DEFECT FIX: INC063035 - DWinsMMCMediaChange:TickService() panic when pressing F5 during emulator startup
		Stopped a tick counter from hoing negative leading to an ASSERT
	2.	DEFECT FIX: INC063213 - Clean build fails with fatal errors in release 91_200524
		Fixed MiniBoot & CoreLdr makefile for GCC


4.	Dennis
	1.	DEFECT FIX: DEF063866 - Process lock can be signalled twice in DSharedIoBuffer::UserUnmap()
	2.	DEFECT FIX: DEF063778 - Important memory allocation functions not doc'd

5.	StefanW
	1.	DEFECT FIX: INC063402: DPBusSocket return KErrCorrupt when MMC isn't inserted
		The SDIO and SD stacks don't handle timeout error correctly when attempting to access an empty slot.
		State machines modified to trap KMMCErrResponseTimeout conditions after sending CMD2.

6.	RichardCo
	1.	DEFECT FIX: DEF063876: RTest output produces mixed up line endings that confuse editors and terminals
		RTest::Printf now carefully rewrites line endings so that they are consistently CR/NL (DOS/Win style)

7.	JonCo
	1.	DEFECT FIX: DEF063854: In-source docs don't say whether 0 or 7 is highest DFC priority



Version 2.00.1027
============================
(Made by AndrewHi, 23/06/2005)

1. 	ChrisC
	1.	DEFECT FIX: DEF062975 - TChar::Compose function completely broken.
		Fix entirely within base\e32\euser
		No APIchanges, BC or SC breaks.
		Defect fix required as prerequisite for Bravo PREQ402

2.	JonCo
	1.	DEFECT FIX: DEF063149: RTimer::HighRes can panic with certain positive value time intervals
	2.	DEFECT FIX: INC062916: Normal priority thread cannot acquire the mutex
		Updated documentation to reflect EKA2 mutex behaviour
	3.	DEFECT FIX: DEF063574: Bug in Kern::ChunkClose()

3.	JenniferH
	1.	DEFECT FIX: DEF062083: DMutex::Wait() should assert that the current thread is a DThread
	2.	DEFECT FIX: DEF062188: TTickLink methods should assert that they aren't used from ISRs

4.	AnatolyP
	1.	DEFECT FIX: DEF062029: RProperty::Delete() overload required
		In this modification a new version of RProperty::Delete function was added which doesn't require a category ID to be passed.
		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.
		Also the set of tests was added to CPropDelete class for testing of new functionality of RProperty class.

5.	StefanW
	1.	DEFECT FIX: INC063037: Symbian FAT32 implementation for Nokia equipment not compatible with other FAT32
		The MMC Media Driver does not recognise media with an MBR that specifies a partition type of FAT32
		(Win95 FAT32[0B], Win95 FAT32 (LBA)[0C], Hidden Win95 FAT32[1B], Hidden Win95 FAT32 (LBA)[1C]).
		Corrected by modifying DMmcMediaDriverFlash::DecodePartitionInfo() to recognise these partition types.


6.	Dennis
	1.	DEFECT FIX: DEF063317	Object container classes might grow following removal of an element
		CObjectCon and DObjectCon are now restricted to array sizes 8, 12, 16, 24, ..., 2^n, 3*2^(n-1),...
		The array grows when it is full (as before), but now shrinks on removal of an element if it is
		half-full or if it is 64 entries smaller than the next size down, whichever comes first.
	2.	MINOR CHANGE: Optimise FindLeastSignificantOne() function. Add test code.
		Define __CPU_ARMV5T__ and consequent options when compiling for ARMV5.

7.	JeremyS
	1.	DEFECT FIX: DEF060805: T_SERIAL turnaround test does not correctly set handshaking defaults.
		Set the handshaking defaults properly before running any tests on the serial ports.

8.	TonyL
	1.	DEFECT FIX: DEF063280: OMAP H2 baseport will not build without the e32utils source code present
		Remove export of rebootdrv_ldd.h from the h2 bld.inf, this is not necessary

9. 	RobertJ
	1.	DEFECT FIX: DEF063582: Lazy DLL unloading breaks T_SHAREDCHUNK
		Disabled lazy dll unloading at the start of the test

10.	MiguelB
	1)	DEFECT FIX: DEF063830 - Cannot format particular SD card which does not support "erase single block"
		Formatting "old" cards or formatting on non block boundaries was broken. The effect of this was that
		not all the data was erased - normally relatively harmless.


Version 2.00.1026
============================
(Made by JenniferH, 14/06/2005)

1.	MichaelP
	1.	DEFECT FIX: DEF061556: T_Usbapi does not check for dbl buffering support prior to testing
		When de-allocating the endpoint resources, we now take into account whether the
		allocation had been successful or not.

2.	HusienH
	1.	DEFECT FIX: DEF062579: Prop:AV28Crit: NTT - TInt TDesC16.FindC -method is giving strange output values

3.	JonCo
	1.	DEFECT FIX: DEF057853: Delay in KeyClickPlugin can cause PANIC 85
		Emulator now waits for system starter to exit before running initial
		process
	2.	DEFECT FIX: DEF062725: TCapability is missing Capability_Denied
		Added ECapability_Denied, which is always reported missing

4.	DjordjeK
	1.	DEFECT FIX: DEF062286: TTime::HomeTime() called from CTimer::RunL() implementation gives strange....
		Originally when changing the time (Kern::SetSystemTime), the timers were aborted (and user requests completed)
		before the time is updated. It led to the race condition where another thread of a higher priority can
		read the old time (after its timer is aborted). The timers are now aborted after the time is updated.

5.	YingS
	1.	DEFECT FIX: DEF062963: Cannot cancel keyboard rotation
		Added check for EModifierCancelRotation in CKeyTranslatorX::UpdateModifiers()

6.	RichardCo
	1.	DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
		Add new overloads to RSessionBase::Open and RSessionBase::SetReturnedHandle to allow a security
		policy to be validated against the server.



Version 2.00.1025
============================
(Made by CarlosF, 06/06/2005)

1.	AndrewR
	1.	DEFECT FIX: DEF056361: Emulator initial configuration not reported and no query possible

2.	JonCo
	1.	DEFECT FIX: DEF062142: User::ProcessCritical() does not correctly report EAllThreadsCritical
	2.	DEFECT FIX: DEF062081: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL

3.	AnatolyP
	1.	DEFECT FIX: DEF060557: Multiple emulator configs not updated when win serv screen mode is changed.
		A new property was added to the emulator that lets the user switch configuration by
		pressing a combination of hot keys, so configuration switchin is now moved from the
		windows swerver to emulator.
		Syntax of the definition instruction of a key combination is similar to the syntax
		of the defenition instruction for EmulatorControl.
		To define a new key combination add a string to appropriate configuration file according
		to the following template:
			EmulatorControlHotKey [command] [key_sequence]
		where
			-command is one of "NextConfig" or "SelectConfig [config_number]" (config_number - number of configuration to switch to)
			-key_sequence is a comma-separated list of keys as defined in
		e32\ekern\emul\win32\kp_gui.cpp.
		For example, to assign switching to configuration number 3 to +<1> combination, add the following string to epoc.ini file:
		EmulatorControlHotKey SelectConfig 3 Escape,1

4.	JenniferH
		MILESTONE: Bravo,GT0236 MS 3.5 APOS-6ADKQ5 Add PREQ 898 "Support for 3rd party speed managers" to the scope of Bravo
		Break Request BR1547: "EMI fields added to DThread"

		Implements the Execution Monitoring Interface (EMI) as described in SGL.TS0022.002.

5.	JonathanM
	1.	DEFECT FIX: DEF062701: Can't suppress PlatSec diagnostic message in kernel code.
		Passing KSuppressPlatSecDiagnostic as the Diagnostic Text to
		Kern::CurrentThreadHasCapability will now prevent a PlatSec diagnostic message from
		being output.

6.  MaximK
	1.	DEFECT FIX: DEF061279 - Domain Manager has a memory of the last state transition.
		CSvrDomain::RequestMembersTransition() modified to notify even if the domain is in the requested state.
		Also test case is modified to reflect the change.
	2.	DEFECT FIX: DEF061225 - Domain Manager does not report failure when policy is ETransitionFailureContinue.
		CSvrDomain::CompleteDomainTransition() modified to call iHierarchy.CompleteTransition() with correct error code.
		Also a number of test cases changed to check for expected error codes.

7. BalaT
	1.	DEFECT FIX:  DEF061853: Bootstrap debugging has been broken with RVCT2.2

Version 2.00.1024
============================
(Made by MichaelMo, 01/06/2005)

1.	JonCo
	1.	DEFECT FIX: DEF061320: Test T_SEMUTX2 fails intermittently
	2.	DEFECT FIX: DEF062036: Wrong SID printed in platsec diagnositic from RProperty::Define
	3.	DEFECT FIX: DEF062141: Spelling typo in in-source docs for User::SetProcessCritical()
	4.	DEFECT FIX: DEF062070: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL

2.	JohnS
	1.	DEFECT FIX: INC056218: Emulated MMC drive size isn't configurable

	The size of the emulated MMC drive can now be configured by placing an entry MultiMediaCardSize=<kilobytes>
	in the epoc.ini file. So an entry MultiMediaCardSize=100 results in an emulated drive size of 100 Kb. When an
	epoc.ini entry is not present the emulated drive size defaults to the previously hard coded size of 1 Mb.


Version 2.00.1023
============================
(Made by AndrewR, 31/05/2005)

1.	AndrewR
	1.	DEFECT FIX: DEF062296: [System Build] Errors in INTEGRATOR_LMNAND_EKA2


Version 2.00.1022
============================
(Made by RichardCo, 26/05/2005)

1.	JonCo
	1.	DEFECT FIX: DEF061551: TLitC documentation error

2.	JeremyS
	1.	DEFECT FIX: DEF059903: f32 t_main test error is dumb, misleading and wastes peoples time

	Changed the test() macro in e32test.h so that it will display the source file which contains the failing
	test statement.

	2.	DEFECT FIX: DEF056353: Crashlogger isn't sufficiently configurable

	Updated the standard media driver, and the derived media drivers used by the crash flash logger and
	the nandloader application, to used a platform-specific offset that is specified as a whole number of
	sectors. The rebootdrv utility deployed by nandloader, and the miniboot and coreldr utlilities used in
 	booting from NAND were similarly affected. The offset is specified as const TInt KNandFbrSectorOffset,
 	in new file nand_fbr_offset.h. To allow for the different nandboot schemes operated across our varied
	reference boards, two further constants are defined in the platform-specific file nand_plat.h; these
	are const TBool KNandMinibootUsed and const TBool KNandCoreldrRelocatable.

3.	DavidM
	1.	MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.

4.	YingS
	1.	MINOR_CHANGE: Fix DEF047896 - Replace non-Ascii characters with hex equivalents
			Using preprocessor statement:
			#ifdef __VC32__
			  #pragma setlocale("english")
			#endif

5.	Dennis
	1.	MINOR_CHANGE: Ensure that there is a zero word at (entry point address + 12)
		in every code module. This will subsequently be used to fix a problem with
		TLS. If a dynamically loaded DLL sets TLS but never clears it before being
		unloaded then another DLL subsequently loaded at the same address will pick
		up the old TLS (since the module handle is the address of the entrypoint,
		which will be the same). This has been known to cause crashes.
		The loader will write a unique identifier over the zero word whenever it
		loads a new code segment into RAM and this will be used to disambiguate
		TLS references.
	2.	Changed RUNTESTS and T_LAT2 to make RT latency measurements as part of
		an automated test run.
		RUNTESTS publishes the name of the currently running test to a P+S
		property. T_LAT2 subscribes to this and outputs latency measurements
		after each test.
	3.	Add new 'kernel behaviour flag' KTESTLATENCY which disables anything which
		might break latency testing, e.g. platsec diagnostics.
		T_LAT2 now sets this flag.
	4.	Fix D_LATNCY.LDD so it works on H2.


6.	RichardCo
	1.	DEFECT FIX: DEF061650: CodeWarrior running of epoc.exe broken
		Emulator shouldn't require EPOCROOT to be set unless it's being used in an expansion in epoc.ini.

7.	JonathanM
	1.	MINOR_CHANGE: Modified T_COBJ performance tests for faster testing.
		Note, this means comparison of timings with older versions of the test are not valid.
	2.	MINOR_CHANGE: Made T_TICK a manual test because it doesn't actually 'test' anything.
		I.e. it can't fail during automated testing.
	3.	MINOR_CHANGE: Made benchmarks tests 'manual' tests on the emulator in order to speed up automated testing.
		(The benchmarks are fairly pointless on the emulator anyway.)
	4.	MINOR_CHANGE: Deleted test casse from T_TIMER. (The testThreadTermination function didn't provide
		any useful testing but could cause test 'failures'.)
	5.	MINOR_CHANGE: Modify BM_SUITE so that it doesn't run the RT latency tests if the driver
		reports KErrInUse. This can happen when latency testing is already being run by T_LAT2


8.	AndrewR
	1.	DEFECT FIX: DEF055098 - vector allocation operator overloads not declared in e32cmn.h

		Added declarations of operator new[] and operator delete[] to e32cmn.h to match the
		definitions elsewhere (i.e. \e32\common\gcchelp.cpp, \e32\compsupp\symcpp\rtop[new|del].cpp,
		\e32\include\win32crt.h). This fixes an obscure code generation bug on MSVC.net and has no
		effect on other platforms.

		MINOR CHANGE: Fixed spelling typo in PlatSec diagnostic messages

9.	MichaelP
	1.	MINOR CHANGE: Added USB test program USBIOAPP + updated "USB PSL How-to".

10.	OlegI
	1.	DEFECT FIX: DEF056356: Abstract descriptors can be instantiated and cause runtime failures
		Added protected copy constructor for TDesC16, TDes16, TDesC8, TDes8 but with condition
		#ifdef SYMBIAN_FIX_TDESC_CONSTRUCTORS because of build issues.

11.	RobertJ
	1.	DEFECT FIX: DEF061644: Kernel codeseg garbage list never gets cleaned up
		DCodeSeg objects in the garbage list were left lying around, allowing them to be reopened
		causing failure when the codeseg was referenced

12.	AnatolyP
	1.	DEFECT FIX: DEF061530: EWSRV doesn't respond correctly to SysStart invocation


Version 2.00.1021
============================
(Made by StefanW, 17/05/2005)

1.	AndrewR
	1.	DEFECT FIX: DEF061148: Redundant implementation TLS cleanup mechanism should be removed

2.	RichardCo
	1.	DEFECT FIX: DEF061026: e32test t_condvar timeout (10ms) setting too low

3.	TonyL
	1.	MINOR_CHANGE: Added H2 user guide + doc set for setting up H2 telephony

4.	JonathanM
	1.	DEFECT FIX: DEF061370: Defect with CR ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT

5.	JonCo
	1.	DEFECT FIX: DEF061383: Incorrect IM categorisation of internal euser/kernel SWI interface

6.	MichaelP
	1.	MINOR CHANGE: Removed obsolete test T_USB2 (once more, after it had been re-added in CL517656).

7.	AndrewHi
	1.	DEFECT FIX: DEF061263: Comment out debug prints from crashlogger generic library
	Changed KALWAYS qualifier in debug prints to KDEBUGGER and updated the MMP file to disable debug prints, as requested


Version 2.00.1020
============================
(Made by WilliamR, 13/5/2005)

1.	WilliamR
	1.	BREAK REQUEST BR1503.8

		Kernel: Base Future Proofing Changes.

		Added reserved member data to CActive, CObject, CObjectIx, CObjectCon, CObjectConIx,
		CSession2, CServer2, CActiveScheduler, RPointerArrayBase and RArrayBase.

		Addition of reserved member data to these classes incurs a Source Compatability break
		for classes which use mutiple inheritance and have the metioned classes in the inheritance
		tree. In this case the mangled names in DEF files will change. This will require widespread
		updates to DEF files throughout Symbian and Partners' code (to fix "EABI Thunk Offsets").

		See Symbian OS FAQ 1284 for more details of the "EABI Thunk Offset Problem".


Version 2.00.1019
============================
(Made by Kamran, 12/05/2005)

1.	JonCo
	1.	DEFECT FIX: DEF060475: Base future proofing changes has broken device provisioning test code
	2.	DEFECT FIX: DEF061118: @return comment for User::NTickCount is wrong

2.	JonathanM
	1.	DEFECT FIX: DEF060445: Locale related data should be protected with WriteDeviceData capability
	2.	INTERFACE CHANGE: BR1496.1 Kernel: Protect writing of system locale with writedevicedata.
	3.	DEFECT FIX: DEF060490: RProperty::Get/Set performance improvement
	4.	DEFECT FIX: DEF060700: Unicode Folding and Colation performance regression
	5.	DEFECT FIX: DEF060774: Legacy PlatSec configurability should be removed from Base

3.	JoR
	1. 	CHANGE REQUEST: TDAS-6AHMJF Implement a "Crash trigger" key on H2 board
		(Development CR)

4.	JeremyS
	1.	MINOR_CHANGE: Fix t_serial intermittent break test failures at some baud rates.
	2.	DEFECT FIX: DEF059270: Kern::ThreadDesWrite() Call needs to be checked in ECommLdd
	3.	DEFECT FIX: INC060337: NTT - In file d_commdma.cpp return type of functions is not checked

5.	DjordjeK
	1.	DEFECT FIX: INC053831: NTT RDebug::Print outputs incorrectly in EKA2

6.	JoR
	1. 	Change Request: ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT

7.	AnatolyP
	1.	DEFECT FIX: DEF060961: Plat Sec in TShell


Version 2.00.1018
============================
(Made by MiguelB 03/05/2005)

1.	MichaelP
	1.	MINOR CHANGE: Updated USB Client Driver API document and bumped version number to 2.0

2.	RichardCo
	1.	DEFECT FIX: DEF060310: RNotifiers:: Additional work required for Asynchronous notifier updates.

3.	Dennis
	1.	DEFECT FIX: DEF060397: EKA2 doesn't do context switching for Intel WMMX
	2.	DEFECT FIX: DEF056360: Bootstrap calculates wrong address for "dummy uncached" area

4.	JasmineS
	1.	MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
		T_CATC, T_CPER, T_MESSGE, T_PROC1, T_SVR, T_SVR5, T_IPCBM, T_KERNBM, T_CTXSW,
		T_CTXSW3, BM_SUITE and TBUF components have all had their comments refreshed and
		reviewed after rewrite.

5.	DjordjeK
	1.	MINOR CHANGE: The update of test code description.

6.	JonathanM
	1.	MINOR CHANGE: Speeded up automated testing by adding KTESTFAST debugmask flag which supresses output
		in console text windows.

7.	JonCo
	1.	MINOR CHANGE: Corrected distribution.policy files in like with DEF060454

8.	AnatolyP
	1.	DEFECT FIX: DEF059953: e32test t_schedhook optimistically carries on if no __DEBUGGER_SUPPORT__

9.	JeremyS
	1.	DEFECT FIX: INC054288  Missing implementation of Break handling (ERequestBreak) in d_comm.cpp

10.	DavidM
	1.	DEFECT FIX: DEF058906: WritePasswordData is used instead of WriteRemote

11.	MiguelB
	1.	DEFECT FIX: DEF060579: Unistore2 v 1.3.1, defect patch
	2.	DEFECT FIX: DEF058863: Unistore2 NAND media driver needs garbage collecting enabled
	3.	DEFECT FIX: INC059818: NTT - Clean build fails with fatal errors in release 92_200516

12.	AndrewH
	1.	DEF058480 -  UniStore2 crashlogger indexes using pages rather than sectors

13.	JohnS
	1.	Milestone: GT0236, MS3.7 - Engineering Change Macro Removal


Version 2.00.1017
============================
(Made by JonathanM 28/04/2005)

1.	JonathanM
	1.	DEFECT FIX: DEF058452: File Server () performance regression
	2.	DEFECT FIX: DEF059430: Security Vulnerability in Creation of Properties in Publish and Subscribe.
	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.

Version 2.00.1016
============================
(Made by JonathanM 26/04/2005)

1.	OlegI
	1.	DEFECT FIX: DEF058421: Misleading docs for CPolicyServer::CustomFailureActionL()
	2. 	DEFECT FIX: DEF058441: Missing test cases for RProperty

2.	JonathanM
	1.	DEFECT FIX: DEF059805: Propagated: Optimize folded string comparisons in 8.1b and 9.1/9.2
	2.	DEFECT FIX: DEF059508: Trivial capability escalation to TCB capability.

3.	JonCo
	1.	DEFECT FIX: DEF059823: Location of highrestimer.h for omap is ambiguous

4.	Dennis
	1.	DEFECT FIX:	DEF059949: EUSER not future proof

		BREAK REQUEST BR1503.4
		Added extension virtual function to CBase, CActive,
		CObject, CObjectIx, CObjectCon, CObjectConIx, CSession2, CServer2,
		CPolicyServer, CActiveScheduler.

		Add extension virtual to MAllocator, RHeap.

		Add spare data to TFindHandleBase, TThreadId, TProcessId.

		BREAK REQUEST BR1503.6
		Change IM category of XLeaveException, TWin32SEHTrap, TWin32SEHExceptionHandler
		from @publishedAll to @internalComponent.

	2.	DEFECT FIX:	DEF059950: EUSER has 312 redundant exports
		BREAK REQUEST 1503.1, 1503.2, 1503.3, 1503.5, 1503.7
		Removed all exports purely there for BC, including all functions in
		us_stubs.cpp, us_insecure.cpp, ub_sec.cpp, e32transbuf.h.



Version 2.00.1015
============================
(Made by JasmineS, 19/04/2005)

1.	JonCo
	1.	DEFECT FIX: DEF058347: Error: __MESSAGE_MACHINE_CODED__ & !__REQUEST_COMPLETE_MACHINE_CODED__
	2.	MINOR CHANGE: Speeded up t_membm (now only runs full tests with -f option)

2.	Dennis
	1.	DEFECT FIX: DEF059300: Cannot run ROM image from offset into flash

3.	YingS
	1.	DEFECT FIX: DEF058801: Keyboard Rotation has not been implemented on emulator

4.	ReubenH
	1. 	DEFECT FIX: DEF056357 - Cedar base_e32 component is updated every day

5.	OlegI
	1.	CHANGE REQUEST: TDAS-6A9GR3 - Kernel GT0236 Base, Add Option to Invoke crashdebugger for any thread panic.
		(Development CR)

6.	RichardCo
	1.	DEFECT FIX: DEF059110: Base source changes for GCC-E

7.	ReubenH
	1. 	DEFECT FIX: DEF056378: NTT It is not always possible to search RArray classes with a key

8.	CarlosF
	1.	CHANGE REQUEST: APOS-65ZLQ4 Future proofing request - Richer Pen Event Information, z-axis
				information support to WSERV and Base
	2.	INTERFACE CHANGE: BR 1444.1 Changes to make Base port APIs more future proof in Mike

Version 2.00.1014
============================
(Made by Jeremy Smithers, 12/04/2005)

1.	DjordjeK
	1.	DEFECT FIX: INC054634: User::ResetInactivityTime() should not require PowerMgmt capability
	2.	DEFECT FIX: DEF058392: Emulator convKeyCodes_base has duplicate entry
	3.	DEFECT FIX: DEF056299: Emulator screen does not get redrawn if it is covered by a win32 window
	4.	DEFECT FIX: DEF058213: BM_SUITE test failure

2.	DavidM
	1.	DEFECT FIX: DEF056545: EKA2 emulator does not support keymap modifiers in epoc.ini
	2.  DEFECT FIX: DEF058474: Base code should be placed in \sys\bin not \system\bin

3.	YingS
	1.	DEFECT FIX: INC055351: NTT Common Digitiser Code Refuses to Accept Maximum Raw Samples

4.	JonCo
	1.	DEFECT FIX: DEF056377: Performance of memcpy() and memset() can be improved by >=20% (MCL)
	2.	DEFECT FIX: DEF058789: RVCT calls wrong version of memset

5.	MichaelP
	1.	MINOR CHANGE: Add new debug trace bit 'KUSB': bit 32 = (0x00000001, index 1).
	2.	MINOR CHANGE: Commented out definition of USBC_LDD_BUFFER_TRACE in USB driver header file usbc.h.
	3.	MINOR CHANGE: Improved and enhanced fix for DEF058873 - USB manager crashes on target

6.	MichaelMo
	1.	DEFECT FIX: DEF057783 - STL.H required to build nand xsr LLD is part of the undeliverable source code
	2.	DEFECT FIX: DEF057855 - Licencee can not build MEDUSIIT lib & because it is testcode it is not released

7.	Dennis
	1.	DEFECT FIX: DEF059107 - __VALUE_IN_REGS__ strikes wrt GCC-E
		Added new EABI compliant versions of TDesX::Left(), Right(), Mid(int), Mid(int,int) (X=8,16)
		which return the result in memory, as demanded by the EABI, rather than in registers.
		Left the old implementations in to preserve BC.

8.	AndrewR
	1.	DEFECT FIX: DEF058992 - Problems with Win32 exceptions in TRAP_INSTRUMENTATION_NOLEAVE
	2.	MINOR CHANGE: Extend TRAP instrumentation to cover TRAP_IGNORE
	3.	MINOR CHANGE: Update conditional compilation of C++ versions of descriptor functions to match Dennis' changes

9.	JonathanM
	1.	MINOR CHANGE: Modified test AUTOEXEC.BAT files to specify -st option for RUNTESTS

10.	RichardCo
	1.	MILESTONE: Bravo,GT0236,MS3.2.3 PREQ234 Remove timezone and UTC functions from TLocale in favour of a new interface via User
	2.	INTERFACE CHANGE: BR-1323.1 Remove support for setting timezone and DST through TLocale
	3.	INTERFACE CHANGE: BR-1323.2 Remove support for setting timezone and DST through TLocale
	4.	INTERFACE CHANGE: BR-1323.3 Remove support for setting timezone and DST through TLocale


Patch to version 2.00.1013
============================
(Made by MichaelP, 08/04/2005)

1.	MichaelP
	1.	DEFECT FIX: DEF058873: USB manager crashes on target


Version 2.00.1013
============================
(Made by JonathanM, 07/04/2005)

1.	JonathanM
	1.	DEFECT FIX: DEF058815: Base ROMs don't build with RVCT2.2
		OTHER: The defect fix for DEF058815 means that Base code now expects that it
		is built using RVCT2.2. If RVCT2.1 is used then when building base ROMs with
		ROM.BAT the following must be added to the command line: "-define=RVCT2_1"

2.	MichaelMo
	1.	DEFECT FIX: DEF058880: [System Build] - Problem with base.iby file change causing ROM error


Version 2.00.1012
============================
(Made by AndrewHi, 06/04/2005)

1.	AndrewHi
	1.	DEFECT FIX: DEF058744: [System Build] BASE_H2_UNISTORE2 Errors in 03552 (9.1/9.2)


Version 2.00.1011
============================
(Made by Kamran, 05/04/2005)

1.	JonathanM
	1.	CHANGE REQUEST: JMET-6AJKNX - Provide a means for adding logging to uses of TRAP and TRAPD.
		(Development CR)
	2.	DEFECT FIX: DEF057952: MMF_BASECL_U_0200-LP panics on build 3525 on 9.1

2.	AndrewR
	1.	MINOR CHANGE: Fix hard-coded EPOCROOT in CoreLdr makefiles

3.	NicholasD
	1.	DEFECT FIX: DEF056516 - T_KHEAP test fails 'TestReAllocZerosMemory' check

4.	MichaelP
	1.	DEFECT FIX: DEF056441 - Deficiencies in DMA framework

		a)  TDmac::InitDes() and TDmac::InitHwDes() both have now an additional
		argument, 'aCookie', which carries the PSL channel information.

		b)  Instead of the fixed values TDmac::iMaxTransferSize and
		TDmac::iMemAlignMask, there are now in the PIL the two functions

		TInt TDmaChannel::MaxTransferSize(TUint aFlags, TUint32 aPslInfo);
		TUint TDmaChannel::MemAlignMask(TUint aFlags, TUint32 aPslInfo);

		These are called dynamically in DDmaRequest::Fragment(). This means there
		are now two additional pure virtual functions for the DMA PSL to implement:

		virtual TInt TDmac::MaxTransferSize(TDmaChannel& aChannel, TUint aFlags,
		                                    TUint32 aPslInfo) = 0;
		virtual TUint TDmac::MemAlignMask(TDmaChannel& aChannel, TUint aFlags,
		                                  TUint32 aPslInfo) = 0;

	2.	INTERFACE CHANGE: BR1446.1 & BR1446.2 "Changes to DMA Framework PSL/PIL Interface"
		(as part of fix for DEF056441)

	3.	DEFECT FIX: DEF057257 - "Error: real endpoint not found" when switching alternate interface setting
	 	When calling the PIL functions CancelReadBuffer()/CancelWriteBuffer() from
		the LDD's AbortTransfer(), we now pass as additional argument the alternate
		interface setting number.

5.	JonCo
	1.	DEFECT FIX: DEF057881 - Defining __MINIMUM_MACHINE_CODE__ causes compilation errors
	2.	MINOR CHANGE: Integrated e32test documentation for datetime, device,
        dll, heap and locale tests
	3.	DEFECT FIX: DEF057886 - incorrect precondition for Kern::AppendFormat()

6.	StefanW
	1.	DEFECT FIX: DEF056342 - MMC format operation in EKA2 is slower than in EKA1

7.	MiguelB
	1.	DEFECT FIX: DEF056473 - Intermittent waveOutWrite failures in 8.1b emulator security tests

8.	MichaelMo
	1.	MILESTONE: Mike,GT0223,MS3.5.2 NAND Unistore II (XSR) submission (Phase 2)


Version 2.00.1010
============================
(Made by BalaT, 01/04/2005)

1.	BalaT
	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
		Pick RVCT2.2 binaries as default with buildrom command, and make RVCT2.1 binaries as optional,
		which will be picked up with -DRVCT2_1 switch.


Version 2.00.1009
============================
(Made by MichaelP, 22/03/2005)

1.	MichaelP
	1.	DEFECT FIX: DEF057140 - USB driver ZLP behaviour does not match documentation
		Changed documentation (USB API Guide, USB PSL Porting Guide) to make it clear that the
		USB driver will figure out whether or not to send a ZLP if the ZLP flag is set.

2.	NicholasD
	1.	DEFECT FIX: DEF057314 - Eshell emulator screen does not get redrawn if it is covered by a win32 window

3.	OlegI
	1.	DEFECT FIX: DEF057498 - UREL binaries in techview debug ROM images ()

4.	JonCo
	1.	CHANGE REQUEST: RFID-66JJKX - Add EKA1-style CPU thread time monitoring to EKA2 kernel
	2.	INTERFACE CHANGE: BR1378.1 Change User::FastCounter to use high res timer
	3.	INTERFACE CHANGE: BR1379.1 Addition of new members in NThreadBase for monitoring cpu time

5.	NicholasD
	1.	DEFECT FIX: DEF056362 - e32toolp\memtrace\memtrace.rtf out of date for EKA2

6.	PhilK
	1. 	DEFECT FIX: DEF053153 - H2 USB driver loses 2176 byte transfer (possible zero length packet problem)

7.	DjordjeK
	1.	DEFECT FIX: DEF057789 wrong definition of RFEgen macro
	2.	DEFECT FIX: DEF057794 Incomplete implementation of ARMv6 stop-mode debugger (DDebuggerInfo)

8.	SimonT
	1.	DEFECT FIX: DEF053286 - H2 sound pdd buffer mgmt not quite right

9.	CiprianM
	1.	MS3.9.1- SSIN-66LJYR : System Libraries, PGM026 Mike, Add PREQs 1001, 1003 to scope of Mike


Version 2.00.1008
============================
(Made by BalaT, 18/03/2005)

1.	BalaT
	1.	DEF057008: - RVCT2.2 leading edge build fails with errors in base/coreldr files


Version 2.00.1007
============================
(Made by JS, 14/03/2005)

1.	DjordjeK
	1.	DEFECT FIX: INC054086 - Class TLex16 documentation referes to TLex8
	2.	DEFECT FIX: DEF056647 - [Sierra IPR] Distribution.policy files not in compliance with 8.1 CKL
	3.	DEFECT FIX: DEF056745 - Spelling mistakes in TSecurityPolicy (OS Reference)
	4.	DEFECT FIX: DEF056768 - Illegal #elif in ...\e32\kernel\kdebug.cpp
	5.	DEFECT FIX: DEF056854 - Mistakes in API Classification
	6.	DEFECT FIX: INC055893 - NTT - Nanokernel timer assertion

2.	JonathanM
	1.	MINOR CHANGE: Increased timeout for loader tests on Integrator.
	2.	DEFECT FIX: DEF056369 - Incorrect iCapabilities member in RMessageU2
	3.	DEFECT FIX: DEF056374 - Physical page lock count can wrap to zero when incremented

3.	JonCo
	1.	DEFECT FIX: DEF056209 - crash debugger: vptr == NULL in RVCT builds

4.	DavidM
	1.	DEFECT FIX: DEF054519 - Potential problem with T_MEMBM: added forward and
		reverse memory copy benchmarks.
	2.	DEFECT FIX: DEF056618 - Kernel: DObjectCon::OpenByFullName() can return
		w/o releasing mutex: Added missing Signal( ) call.

5.	NicholasD
	1.	DEFECT FIX: DEF056373 - EVariantHalCustomRestart should have a documented capability

6.	MiguelB
	1.	DEFECT FIX: DEF052574 - F32 Tests on integrator sometimes fail with KErrUnknown for drive D: (MMC)

7.	AndrewR
	1.	DEFECT FIX: DEF056366 - Cannot debug through Win32 exception handling in WINSCW
	2.	DEFECT FIX: DEF056502 - Return value of MakeDll ignored
	3.	MINOR CHANGE: Fix logging of filenames in Win32 mcodeseg.cpp
	4.	DEFECT FIX: DEF056365 - Bugs in __destroy_global_chain
	5.	DEFECT FIX: DEF056364 - global operator delete is missing an empty exception specifier
	6.	DEFECT FIX: DEF056367 - declaration of CW 3.2 runtime helper function __uncaught_exception is incorrect
	7.	MINOR CHANGE: Remove redundant test of hdr inside if (hdr) block in emulator.cpp
	8.	MINOR CHANGE: Fix KWin32SectionName_EpocBss to have all 8 bytes explicitly initialised
	9.	MINOR CHANGE: Fix placement of noreturn declspec on nklib function to allow compilation with MSVC8

8.	MichaelP
	1.	DEFECT FIX: DEF057024 - NTT Packet Modem is Not Capable of Transferring Large File


Version 2.00.1006
============================
(Made by BalaT, 14/03/2005)

1.	BalaT
	1.	DEF057189 [System Build]: OMAP errors in 03519 overnight build

Version 2.00.1005
============================
(Made by BalaT, 11/03/2005)

1.	BalaT
	1.	DEFECT FIX: DEF057008 RVCT2.2 leading edge build fails with errors in base/coreldr files.

Version 2.00.1004
============================
(Made by AndrewHi, 11/03/2005)

1.	AndrewHi
	1.	DEFECT FIX: DEF057064 [System Build] UNISTORE2 _DRIVERS error frond in GT log (found in build 03516)

2.	MiguelB
	1.	DEFECT FIX: DEF057090 [System Build] INTEGRATOR_LMNAND_EKA2  Errors


Version 2.00.1003
============================
(Made by BalaT, 09/03/2005)

1.	BalaT
	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
		Added some enhancements to support for RVCT2.2 toolchain to Base.


Version 2.00.1002
============================
(Made by AndrewHi, 09/03/2005)

1.	AndrewHi
	1.	DEFECT FIX: DEF056778 [System Builds] CBR errors due to base_nandboot_unistore2

Version 2.00.1001
============================
(Made by AndrewHi, 08/03/2005)

1.	AndrewHi
	1.	DEFECT FIX: DEF056682 - [System Build] UNISTORE2_DRIVER Errors in build 03509 - The actual GT build errrors
	2.	DEFECT FIX: DEF056695 - [System Build] Run CBR error in 03509 - The incorrect paths for include directory used

Version 2.00.1000
============================
(Made by MichaelMo, 04/03/2005)

1.	MaximK
	1.	DEFECT FIX: DEF055672 - TFileName not in devlib

2.	JoR
	1. 	DEFECT FIX: DEF054319 - Wrong location for policy check in DM

3.	JonCo
	1.	DEFECT FIX: DEF055811 - Emulator noGui option will break when system starter is released

4.	OlegI
	1.	DEFECT FIX: DEF055809 - Userland code can fault kernel when closing bad handle

5.	RichardCo
	1.	DEFECT FIX: DEF056352 - Shadow pages don't work if ROM mapped with 64K pages
	2.	MINOR CHANGE: Update e32tests to not use soon-to-be-removed TLocale methods.

6.	MichaelP
	1.	CHANGE REQUEST: RJAN-65GKTX "USB PIL & API need extending to allow for optional
		removal of string descriptors"
		Added 6 new user side calls to USB Client Driver API:
		- GetStringDescriptorLangId()
		- SetStringDescriptorLangId()
		- RemoveManufacturerStringDescriptor()
		- RemoveProductStringDescriptor()
		- RemoveSerialNumberStringDescriptor()
		- RemoveConfigurationStringDescriptor()
		Also updated API documentation and extended T_USBAPI to test the new APIs.
	2.	MINOR CHANGE: Removed obsolete E32 test T_USB2.
	3.	DEFECT FIX: DEF054384 - DMA does not unlink chained requests when they complete or are cancelled
		Added virtual function TDmac::UnlinkHwDes() which gets called from (also new function)
		TDmaSgChannel::DoUnlink(), which in turn gets called from DDmaRequest::OnDeque() upon
		completion or cancellation of a DMA transfer request. TDmac::UnlinkHwDes() must be
		overridden by the PSL if the DMAC supports hardware descriptors (scatter/gather DMA).
		(Otherwise the default implementation in the PIL will fault the kernel.)
		Also extended T_DMA to test for the condition which led to the discovery of the defect,
		and thus also for the correct implementation of the unlink function in the PSL.
	4.	INTERFACE CHANGE: BR1383.1 "Add an UnlinkHwDes to DMA Framework" (part of fix for DEF054384)

7.	AndrewR
	1.	MINOR CHANGE: Updated in-source documentation of TSecurityPolicy to correct a couple of
		typos and clarify the use of _LIT_SECURITY_POLICY_PASS and _LIT_SECURITY_POLICY_FAIL.
	2.	DEFECT FIX: DEF055757 - __ProcessIsolationFailure_RMessage_Construct diagnostic incorrect
	3.	MINOR CHANGE: Removed unused constant KMaxFixedPoolSlots associated with old IPC implementation
		from sipc.cpp
	4.	DEFECT FIX: DEF056372 - TThreadSessionShareCleanup should be removed

8.	KamranN
	1.	MINOR CHANGE: changed the test tag id of t_domain tests

9.	JasmineS
	1.	DEFECT FIX: DEF052749 - bootstrap missing entry for BTF_Alloc in boot table in direct memory model

10.	MiguelB
	1.	DEF053551 - Security flaw in domain manager

11.	DennisM
	1.	DEF056211 - STREX macros use same register for Rd and Rm

12.	AndrewHi
	1.	MILESTONE: Mike,GT0223,MS3.5.1 NAND Unistore II (XSR) submission (Phase 1)

13.	NicholasD
	1.	DEFECT FIX: DEF056355 - TRequestStatus::iFlags not fully initialised in overloaded constructor

14.	TonyL
	1.	DEFECT FIX: DEF054244 - Possible stability problem in USB mass storage support


Version 2.00.557
============================
(Made by DjordjeK, 21/02/2005)

1.	DavidM
	1.  CR: RFID-66EMED - Add more trace flag fields to ROM header and increase the size of the
		boot ROM header. Originally there were 32 kernel trace bits, there are now 256. The trace
		bits are now referred to via a bit number instead of a bit-mask.
	2.INTERFACE CHANGE: Break Request 1322 was approved with confirmation numbers:
			    BR1322.1, BR1322.2 & BR1322.3.
	3.  	DEFECT FIX: DEF054500 - Add TWinsFSStartup::GetStartupMode() function.
2.	RichardCo
	1.	DEFECT FIX: DEF055534 - CTimer schedules timers in local time
	2.	DEFECT FIX: DEF050936 - e32test TF_READ fails because DF_READ driver doesn't build

3.	TonyL
	1.	DEFECT FIX: DEF055334 - RVCT2.2 compiler upgrade needs source code changes in base/H2
	2.	DEFECT FIX: DEF055335 - RVCT2.2 compiler upgrade needs support in devboards .mke files
	3.	MINOR CHANGE:
		Some improvements to the USB MS Boot loader app. Make more code variant configurable.

4.	DjordjeK
	1.	DEFECT FIX: DEF053501 - Generated file hal\config.cpp confuses the CBR tools
		(This is Cedar part, Beech part is already in MCL)
	2.	INTERFACE CHANGE: BR1342 Removing autogenerated cpp files from the source tree.
				  Conformation number: 1342.1
5.	AndrewHi
	1.	DEFECT FIX: DEF0046963 - Crashlogger isn't sufficiently configurable
		Updated the standard media driver, and the derived media drivers used by the crash flash
		logger and the nandloader application, to used a platform-specific offset that is specified
		as a whole number of pages. The rebootdrv utility deployed by nandloader, and the miniboot
		and coreldr utlilities used in booting from NAND were similarly affected. The offset is
		specified as const TInt KNandFbrPageOffset, in new file	nand_fbr_offset.h. To allow for the
		different nandboot schemes operated across our varied reference boards, two further constants
		are defined in the platform-specific file nand_plat.h; these are const TBool KNandMinibootUsed
		and const TBool KNandCoreldrRelocatable.

		Base Port Impact:
		The above-mentioned constants must be defined for each platform. Their names are expected to provide
		sufficient indication as to what their values should be:
		KNandMinibootUsed  - if the miniboot utiliy is used, this should be set ETrue
		KNandCoreldrRelocatable - if the coreldr image is expected to reside at a fixed location,
		this should be set to EFalse.

6.	JonathanM
	1.	DEFECT FIX: DEF055787 - The Text Window Server shouldn't load the Locale DLL


Version 2.00.556
============================
(Made by BalaT, 22/02/2005)

1.	BalaT
	1.	PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
		Added support for RVCT2.2 toolchain to Base.


Patch to Version 2.00.555
============================
(Made by JonathanM, 21/02/2005)

1.	JonathanM
	1.	DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
		For this fix to take effect, ESTART must be recompiled for all Base Ports.


Version 2.00.555
============================
(Made by CarlosF, 15/02/2005)

1.	JonathanM
	1.	MINOR CHANGE:
		Updated example driver code.
		1.	Used overload of DObject::RequestUserHandle to restrict access to logical
			channels. (Replaces testing of each request as it arrives.)
		2.	Made user side LDD interfaces override RHandleBase::Duplicate in order to
			manage chunk handles owner by the user side class.
2.	DavidM
	1.	DEFECT FIX: INC052977 - NTT No result from base\e32tests t_romtable and t_romtable2
	2.	DEFECT FIX: DEF054563 -  Leave without corresponding TRAP in vt100 screen driver

3.	DjordjeK
	1.	DEFECT FIX: DEF054320 - RNotifier docs inaccuracy
	2.	DEFECT FIX: DEF054380 - [Sierra IPR] - Incorrect source categorisation in distribution.policy files
	3.	MILESTONE: MS3.3.1  PREQ835 IDE Debugger Support for ARMv6
		INTERFACE CHANGE: BR1333.1 BR1333.2 BR1333.3 DebugAPI interface change

4. 	ArwelH
	1.	DEFECT FIX: INC054807 - NTT Semantic Error in Synbian OS documentation


Patches to Version 2.00.554
============================
(Made by SimonT, 11/02/2005)

1.	SimonT
	1.	DEFECT FIX: DEF054567 - Missing key-events


Version 2.00.554
============================
(Made by RichardCo, 08/02/2005)

1.	YingS
	1. 	CHANGE REQUEST: APOS-65YC4H - Add a mechanism to disable the password protection feature on certain MMC cards.
	2.	INTERFACE CHANGE: BR-1269.1 Peripherals: Add ControlIO API to peripheral bus controller to facilitate better test and debug.

2.	StefanW
	1. 	DEFECT FIX: DEF054673 - SDIO controller does not support IO Abort correctly.  Added support to
					allow the PSL to issue an abort automatically and notify the PIL.

3.	JonathanM
	1.	DEFECT FIX: DEF054518 - Kern::ChunkPhysicalAddress sets aPhysicalAddress even when memory isn't contiguo
	2.	DEFECT FIX: DEF054729 - T_EXCBM doesn't test Slow Execs on EKA1
	3.	MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
			Version 0.11 Added example code: 3.4.3 Example Chunk Open

4.	JonCo
	1.	DEFECT FIX: DEF053932 - Possible data leak from kernel
	2.	CR JROE-63RLD9 - Add support to the EKA2 emulator to run without a UI

5.	JasmineS
	1.	MILESTONE: MS3.1.1 PREQ838 Support ARMv6 MMU.  Change all kernel locking mechanisms to use new ARMv6
			facilities.  Implement a memory model making use of the new ARMv6 capabilities and VIPT cache.

6.	SimonT
	1.	DEFECT FIX: DEF051088 - USB Cable pull- Start/Stop fails on H2
	2.	DEFECT FIX: DEF053945 - Lack of entropy in the kernel & security subsystems during OMAP testing
	3.	DEFECT FIX: DEF054161 - OMAP reboot module is too variant specific are uses too many magic numbers
	4.	DEFECT FIX: DEF054447 - H2 always rebuilds coreloader
	5.	MINOR CHANGE: take advantage of new DMA interface to use physical addresses where appropriate
	6.	MINOR CHANGE: USB mass storage bootloader
	7.	MINOR CHANGE: remove dead i2c test code from OMAP

7.	RichardCo
	1.	MILESTONE: Bravo,GT0236,MS3.2.1 PREQ234 UTC and Auto DST Support(Kernel):Part 1
	2.	INTERFACE CHANGE: BR-1354.1 Change TSecondLink to use UTC instead of local time

8.	MiguelB
	1.	DEF053107 - File Server crashes at boot

Version 2.00.553
============================
(Made by RichardCo, 01/02/2005)

1.	JonathanM
	1.	MINOR CHANGE: Added example driver code to \e32test\examples.
			CONVERT1 is a device driver which takes input data (possibly in a Shared Chunk) and
			'converts' the format of this data with the results going to another Shared Chunk.
	2.	DEFECT FIX: DEF054393 - C++ exception support is incomplete on the Emulator
	3.	DEFECT FIX: DEF054382 - Difference between TRAP and TRAPD on armv5 gives unused warnings
	4.	MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
	5.	DEFECT FIX: DEF054070 - seclib's .dsp and .mak files directly reference a hard coded .hrh file.
	6.	MINOR CHANGE: Fixed example driver code CAMERA1 and CONVERT1.
			These were not allowing for Kern::ChunkPhysicalAddress returning a result of '1'
			which indicates that the memory was contiguous.

2.	ReubenH
	1.	DEFECT FIX: DEF049905 - TPckgBuf alignment problem
		INTERFACE CHANGE: BR1337 Kernel: TPckgBuf<T>'s sizeof() and internal layout has changed
		NOTES FOR MCL SUBMISSION
			This is a system wide Binary Compatability break for anything
			that uses TPckgBuf. All affected binaries need to be rebuilt.

3.	JonCo
	1.	CHANGE REQUEST: TDAS-63CEMD - Crash debugger improvements

4.	NicholasD
	1.	DEFECT FIX: DEF053957 - DModuleList::LoadDependencies() is logically incorrect for emulator memory model

5.	JoR
	1.	DEFECT FIX: DEF054054 : Domain Manager is lacking DiskAdmin capability

Version 2.00.552
============================
(Made by MichaelMo, 21/01/2005)

1.	DjordjeK
	1.	DEFECT FIX: INC052979 - NTT No RTest result from base e32test t_tldd

2.	MichaelMo
	1.	MILESTONE: Mike GT0223 MS3.7.1 CR - APOS-666C3S Re-map hardware keys to support landscape mode

3.	MichaelP
	1.	CHANGE REQUEST: RFID-5WYL6E "Add a DMA Fragment() that takes physical addresses":
		For physical memory addresses there are now two additional flags than can be passed,
		via the 'aFlags' argument, to the DDmaRequest::Fragment() function: KDmaPhysAddrSrc
		and KDmaPhysAddrDest.

4.	ArwelH
	1.	DEFECT FIX: DEF054097 - RThread.GetCpuTime is not supported in EKA2

Version 2.00.551
============================
(Made by JonathanM 18/01/2005)

1.	JonathanM
	1.	CHANGE REQUEST: LROS-68HHTF Allow thread-specific quering of mutex status
	2.	MINOR CHANGE: Added example driver code to \e32test\examples.
			DRIVER1 is a device driver based on DLogicalChannel which supports a
				single client thread.
			CAMERA1 is a device driver based on DLogicalChannelBase which shows how
				Shared Chunks can be used for capturing a stream of video images in
				an eficient manner.
	3.	DEFECT FIX: DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor
	4.	DEFECT FIX: DEF052951 - Code segments in the call stack can be unloaded whilst taking a C++ exception
		INTERFACE CHANGE: BR1312.1 Kernel: Fix Leave=Throw problem that occurs on emulator and non-XIP code.
		NOTES FOR MCL SUBMISSION
			This is a system wide Binary Compatability break for RVCT builds.
			I.e. All RVCT binaries need to be rebuilt.
	5.	DEFECT FIX: DEF053912 - Name of "aProtected" argument on RBusLogicalChannel::DoCreate is misleading

2.	JasmineS
	1.	MINOR CHANGE: Fix in-source documentation of RChunk::CreateLocalCode() to be more accurate.

3.	CiprianM
	1.	Fixed DEF053434 - EPOC.INI Multi Screens

4.	HusienH
	1.	CHANGE REQUEST: PCHY-66YM58 - Ensure Thai words starting with a leading vowel can be found(INC047064)


Patch to release (critical defect)
================
(Made by DjordjeK 14/01/2005)

1.	DjordjeK
	1. 	DEFECT FIX: DEF053827 - [System Build] CBR Errors - Multi-owned Files
	   	Reverting "DEF052237 - Cedar base_e32 component is updated every day" fix in 2.00.550.


Version 2.00.550
============================
(Made by StefanW, 10/01/2005)

1.	ReubenH
	1.	DEFECT FIX: DEF052237 - Cedar base_e32 component is updated every day

2.	CarlosF
	1.	DEFECT FIX: DEF053320 - Incorrect entries in distribution policy file (base)

3.	MichaelP
	1.	MINOR CHANGE: Updated USB Client Driver API and USB PSL How-to documents.

4.	AndrewHi
	1.	DEFECT FIX: DEF053599 : "nand_media.h" contains customer name

5.	ArwelH
	1.	DEFECT FIX: DEF053443 - CAsyncCallBack being Set using a TCallBack on stack

6.	DjordjeK
	1.	DEFECT FIX: DEF053520 - Documentation of TSize - Width is Height and Height is Width


Version 2.00.549
============================
(Made by YingS, 04/01/2005)

1.	SimonT
	1.	DEFECT FIX: DEF052968 - Disabling DEBUGPORT is not supported on H2

2.	JasmineS
	1.	DEFECT FIX: DEF052859 - Benchmarks flawed
	2.	MINOR_CHANGE:  Improve Integrator's clocking setup with ARM1136 core modules
	3.	DEFECT FIX: DEF053476 Reimplement signals and queues using ARMv6 instructions
		Added support for LDREX/STREX to kernel.  Made kernel and EUSER use LDREX/STREX
		in preference to SWP/SWPB on ARMv6 platforms.

3.	JonathanM
	1.	DEFECT FIX: DEF051248 - RThread/RProcess :: Rendesvous has uninteligible documentation
	2.	MINOR_CHANGE: Removed tracing added to emulator kernel in last release which was
		added to "help track down an intermittent defect where time goes backward"
	3.	DEFECT FIX: DEF053468 - The constant KPhysAddrInvalid should be in public header file

4.	OlegI
	1.	DEFECT FIX: DEF052789 - CTimer class is missing HighRes()


Version 2.00.548
============================
(Made by MichaelP, 16/12/2004)

1.	JonathanM
	1.	DEFECT FIX: DEF052461 - Old SharedIo buffer code should be removed
	2.	DEFECT FIX: DEF052541 - Can't build Base ROMs with PlatSec disabled
		Add ability to ROM.PL to define CPP macros.
		Added NOPLATSEC guard in USER.IBY aroung the "platsec.settings" include.
		These enable PlatSec to be disabled when building Base ROMs by adding
		-define=NOPLATSEC to the command line.
	3.	MINOR CHANGE: Made E32TEST and F32TEST only export platset.settings if
		__SECURE_API__ is defined. This means that WINS testing won't use PlatSec in this case.
	4.	DEFECT FIX: DEF052518 - Handle creation doesn't obey PlatSecEnforcement configuration
	5.	MINOR CHANGE: Test code fixes: T_CHUNK4 and T_LDRCHK.
		Added new test driver D_MEMORYTEST which provided a means of safely reading/writing to memory
	6.	MINOR_CHANGE: Changed T_I64 test to work around bug in GCC compiler.
	7.	MINOR_CHANGE: Added tracing to the emulator kernel to try and help track down an
		intermittent defect where time goes backward (causing the T_TIMER test to fail.)

2.	YingS
	1.	CR APOS-5Z3H92 System, GT0196 Nevada Base , MMC Media type recognition

3.	DjordjeK
	1.	DEFECT FIX: DEF052289 - Incorrect IPR entry in distribution policy file (Base)

4.	KamranN
	1.	Fixed a problem with t_domain test panic, where it only panicked for debug version

5.	MichaelP
	1.	DEFECT FIX: DEF052607 - "Member variable deleted incorrectly in USB driver".

6.	MiguelB
	1.	DEFECT FIX: DEF051582 - T_USBAPI fails on platforms which don't have USB

7.	TonyL
	1.	DEFECT FIX: DEF052866 H2 UID missing from HAL
	2.	MINOR_CHANGE: Work-around for DEF052101 MMC Password Functionality
		crashes H2. The MMC stack will indicate that password functionality is
		not supported.
	3.	DEFECT FIX: DEF048670 Preserving Lubbock C drive across boots on Cedar
	4.	MINOR_CHANGE: Fix the coreloader makefile so the build target output (abld -w)
		is correct.
	5.	MINOR_CHANGE: Add #define _NANDTEST to nand test oby file implicitly

8. 	CarlosF
	1.	DEFECT FIX: DEF052491 - Incorrect categories in distribution policy files(Base)


Patch to release (critical defect)
================
(Made by DjordjeK 10/12/2004)

1.	DjordjeK
	1. DEFECT FIX: INC052550 NTT Ekern crash when read epoc.ini


Version 2.00.547
============================
(Made by KamranN, 06/12/2004)

1.	MichaelP
	1.	DEFECT FIX: DEF051640 - "Cannot derive from DDmaRequest because of missing exports"
		'Refroze' the DMA EABI .DEF file, so that typeinfo and vtables got included.

2. 	CarlosF
	1.	MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
		This is a BC Break - SCB confirmation number 1240.1
	2.	MINOR_CHANGE: include power managemenet in Template ROMS

3.	RichardCo
	1.	DEFECT FIX: DEF052199 - CObjectConIx::Lookup fails unnecessarily.
	2.	DEFECT FIX: DEF047137 - NAND Crash logger attempts to overwrite a page.

4.	JonathanM
	1.	MINOR CHANGE: Fixed typo bug in T_SCHEDHOOK test code.
		Line 117 - ThreadWFAR.SetPriority changed to ThreadExecCall.SetPriority
	2.	MINOR CHANGE: Add a check to E32DEF.H to ensure Cedar code is built with an
		OS configuration set. (It asserts that 'EKA2' is defined.)
	3.	DEFECT FIX: DEF052167 - Bug in DMemModelChunk::Decommit

5.	AndrewR + JonathanM
	1.	DEFECT FIX: DEF050495 - platsec: too easy for clients to foget to use __PLATSEC_DIAGNOSTIC_STRING

6.	KamranN
  	1. Mike,GT0223,MS3.3.1 PREQ810 Startup phone first - (SYS3.1)


Version 2.00.546
============================
(Made by JonathanM, 29/11/2004)

1.	JonathanM
	1.	DEFECT FIX: DEF051851 - Shared IO Buffer fault when process dies
	2.	MILESTONE: Yankee,GT0217,MS3.9.1 CR - CDRS-65RK9F : Add 2 new capabilities
		SurroundingsDD and UserEnvironment onto the system for future proofing
		CHANGE REQUEST: CDRS-65RK9F - Add 2 new capabilities SurroundingsDD and
		UserEnvironment onto the system for future proofing
		INTERFACE CHANGE: BR1239.1 Add SurroundingsDD and UserEnvironment capabilities.
		NOTES FOR MCL SUBMISSION:
		BR1239.1 is a Binary Compatability Break. Due to the creation of two new
		capabilities, all executables compiled with CAPABILITIES ALL[-xxx....] in their mmp
		files need to be recompiled.
	3.	MILESTONE: Yankee,GT0217,MS3.1.9 PS8.1.2 SYMBIAN_REMOVE_INSECURE_API
		This removes the implementation of the security classes when
		SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION is defined.
		Affected classes are: CSecurityEncryptBase, CSecurityDecryptBase,
		CSecurityBase, CBoundedSecurityBase and Security

2.	DjordjeK
	1.	MINOR CHANGE: Fixed d_eventtracker test for MARM build.

3.	AndrewR
	1.	DEFECT FIX: DEF051902 - TUid operator== return TInt instead of TBool

4.	MichaelP
	1.	DEFECT FIX: DEF052061 - "USB Config Descriptor: bMaxPower cannot be set to max from PSL"
		Extended the 'aMaxPower' argument for TUsbcConfigDescriptor::New() to a TUint16.

5.	SimonT
	1.	DEFECT FIX: DEF048784 - "Complete NAND support (boot from NAND) (incl. custom restart)."
	2.	DEFECT FIX: DEF052013 - "nand loader cannot be used in automated tests"
	3.	DEFECT FIX: DEF051079 - "Dubious use of KHoGpio_WakeUp_Enable"
	4.	DEFECT FIX: DEF052135 - "H2 debugport code needs a polish"
	5.	DEFECT FIX: DEF050787 - "H2 audio driver requires routing changes for telephony"
	6.	DEFECT FIX: DEF051934 - "record buffer in h2 sound driver is too small"

6.	RichardCo
	1.	DEFECT FIX: DEF051549 - Crash loggers don't check bounds when writing


Version 2.00.545
============================
(Made by StefanW, 19/11/2004)

1.	GongjunC
	1.	DEFECT FIX: DEF051108 - Textshell window server defect

2.	MichaelP
	1.	CR CWAK-5XBLCM "Enhance EKA1 with a backport of the EKA2 USB solution to EKA1
		(and maintain this as a part of EKA1)" - Porting more performance enhancement
		and API changes from EKA1 back to EKA2.
		Also, added 'USB API' and 'USB PSL How-To' documents:
		\documentation\USB_Client_Driver_API.doc
		\documentation\Base_How_To_USB_PSL_EKA2.doc
		NOTE: BC/SC breaks for USB PDD and LDD, SCB confirmation numbers: BR1025.3 and
		BR1133.1.
		(This submission includes the changed USB PDDs for Lubbock/Cotulla and H2/OMAP.)

	2.	Added Template USB Client driver (USB PSL) - Part of MS3.3.3 - PREQ515 "Template
		Base Port Implementation".

	3.	Added Template DMA driver - Part of MS3.3.3 - PREQ515 "Template Base Port
		Implementation".

	4.	Fixed defect DEF051663 - "Intermittent problems with ZLPs when using
		RDevUsbcClient::Write":
		Disabled the double-buffering functionality in BulkTransmit() in the Lubbock
		USB PSL in \e32\eusbcc\epoc\cotulla\pa_usbc.cpp. As this is only a workaround,
		it will slightly impede	transfer performance for Bulk IN transfers.


Patches to Version 2.00.544
============================

1.	AndrewR
	1.	DEFECT FIX: DEF051751 - GCCXML Warnings in build 03418


Version 2.00.544
============================
(Made by DjordjeK,  16/11/2004)

1.	DjordjeK
	1.	CR (RFID-646KE2) System, GT0217 Yankee Base , More information required from Crash Logger
		Crash Logger now logs the content of IRQ & FIQ mode stacks.
		NOTE: This is BC break. SCB confirmation number is : 1251.1

2.	MiguelB
	1.	DEF051268 - NULL pointer access in USB Channel and output unneccessary error debug
	2.	INC051297 - Sound driver prevents emulator boot

3.	JasmineS
	1.	Improve spash screen for Integrator to show all colours
	2.	Make T_MEMBM return more meaningful values by increasing test array size.

4.	RichardCo
	1.	Fix DEF050037 - NAND Crash Logger panics in initialisation

5.	CarlosF
	1.	MILESTONE: Yankee,GT0217,MS3.3.3 PREQ515 Template Base Port Implementation (part 3 of 3)
		Power Management reference implementation.
	2.	(Partial) Fix for DEF050989 - Changes required in Distribution Policy due to incorrect
		Perforce entries. The rest of the fix is in \beech branch.
	3.	MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
		This is a BC Break - SCB confirmation number BR1223.1

6.	JonathanM
	1.	DEFECT FIX: DEF051590 - RThread::RquestComplete performance improvement.
		This involves making RThread::RequestComplete update the request status user-side
		when SYMBIAN_REMOVE_INSECURE_API is defined.
		Also added new method, RThread::RequestSignal to support the above.
	2.	Added debug asserts to NFastMutex::Signal() and NFastMutex::Wait() which check
		that the preconditions for these have been met.
	3.	CHANGE REQUEST: JMET-66EE3J - Add constants to represent null thread and process IDs
		MILESTONE: Mike,GT0223,MS3.6.1 CR - JMET-66EE3J - Add constants to represent null thread and process IDs


Version 2.00.543
============================
(Made by AndrewHi, 05/11/2004)

1.	KeithR
	1.	MINOR_CHANGE - Clarified process isolation diagnostics in e32/kernel/sipc.cpp

2.	JonathanM
	1.	DEFECT FIX: DEF050961 - Re-defining an RProperty causes the security policy to be overwritten
	2.	MILESTONE: Mike,GT0223,MS3.4.1 PREQ799 - Memory management for multi-megapixel cameras (REQ3699)
	3.	MILESTONE: Yankee,GT0217,MS3.1.8 PS8.1 - Deprecate/remove dangerous EKA1 APIs

3.	RichardCo
	1.	Fixed DEF050118 - Behavioural difference in CCaptureKeys between EKA1 and EKA2

4.	AndrewR
	1.	MINOR_CHANGE - Fix typo in e32/nkern/arm/ncsched.cia
	2.	Fix DEF045938 - CDeltaTimer drifts around 10%, also does not allow App Processor to power down


Version 2.00.542
============================
(Made by CarlosF, 25/10/2004)

1.	JenniferH
	1.	Fixed INC046796 - NTT - Error comparing to N/A

2.	JonathanM
	1.	DEFECT FIX: DEF049602 - Unresumed processes aren't cleaned up when the creator process dies
	2.	DEFECT FIX: DEF049616 - Minor security risk with Process IDs

3.	RichardCo
	1.	Fixed DEF050208 - T_CFTESTS.exe in F32Test is failing in overnight builds in Cedar

4.	AndrewR
	1.	MINOR_CHANGE - Add catch(XLeaveException&) to emulator EpocThreadFunction to support
		__LEAVE_EQUALS_THROW__

5.	DjordjeK
	1.	Fixed DEF049828 - Debug Monitor and Crash Debbuger do not work fine all together
	2.	Fixed DEF050504 - Publish and subscribe plat sec related interface changes (RPropertyRef::Define)
				  NOTE: This is a SC break. SCB confirmation numbers are : BR1017.3 & BR1017.4

6.	SimonT
	1.	DEF048136 - t_video doesn't turn off the backlight
	2.	DEF048338 - H2 switch off/on doesn't appear to work reliably
	3.	DEF049004 - USB hangs in tpantestusb_normalrom for H2
	4.	MINOR_CHANGE - Fix Arm::DebugInJTAG
	5.	MINOR_CHANGE - Fix and enable H2 benchmark suite on base tests builds

7.	MiguelB
	1.	DEF048462 - MMC stack overwrites correct settings when Card Spec is greater than 3
	2.	DEF050127 - Capabalities of MMC card is shown wrongly after a hotswap for "unlockable" card
	3.	DEF050770 - MMC stack should check pointer validity before de-referencing
	4.	DEF050771 - MMCStack::StackSessionCB returns incorrect error for s/w based card detection

8.	KeithR
	1. 	DEF050643 - PlatSec: misleading diagnostics for Rename()



Patches to Version 2.00.541
============================

1.	JonathanM
	1.	DEFECT FIX: DEF050385 - SS there is no way of suppressing inappropriate platsec diagnostics
	2.	DEFECT FIX: DEF050585 - SS [System Build] EDBMS.DLL not Built and Associated Errors
	3.	DEFECT FIX: DEF050964 - SS [PlatSec] Loader can fail to map "sys\bin" to the emulator path

2.	AndrewR
	1.	DEFECT FIX: DEF050584 - [System Build] DRTAEABI.DLL not Built


Version 2.00.541
============================
(Made by GongjunC, 18/10/2004)

1.	AndrewR
	1.	DEF050010 - Math::[U]DivMod64 problems on ARM
	2.	MINOR_CHANGE - Prevent ARM4 from defining __LEAVE_EQUALS_THROW__, to support base test builds
	3.	DEF050083 - Incorrect exception specifications on operator new() in e32 headers

2.	Dennis
	1.	Increase ROM size limits on base test ROMs to stop 'ROM overflowed'
		errors in overnight build.

3.	DjordjeK
	1.	DEF042614 - Mistakes in API Classification. In-line documentation change only.

4.	JonathanM
	1.	Fixes for test code: T_IDRV and T_TLDD were failing on a ARM1136 Integrator

5.	CiprianM
	1.	Fixed for DEF050119 - CActiveScheduler::RunIfReady doesn't clear flags correctly

6.	MichaelP
	1.	Fixed defect DEF048442 - Mistakes in API Classification. In-line documentation change only.
		(This is the Peripherals part of DEF042614.)


Version 2.00.540
============================
(Made by Kamran, 08/10/2004)

1.	MiguelB
	1.	Added template lffs driver - (Part of MS3.3.3 - PREQ515 Template Base Port Implementation)
	2.	DEF046358 - MMC card change notifcations not issued on Lubbock running Cedar

2.	JonathanM
	1.	DEFECT FIX: DEF049601 - USB driver doesn't cleanup physical RAM allocation correctly

3.	DjordjeK
	1.	DEF047569  Performance: CObjectIX and CObjectContainer classes
		NOTE: This is a BC break. SCB confirmation number: BR1162.1
	2.	MINOR CHANGE in base internal test program d_latncy
	3.	DEF049186 - Performance: DObjectIx

4.	AndrewR
	1.	DEF049679 - TRealX::operator TInt64 corrupts the stack on MSVC8 and incorrect for others
	2.	DEF049711 - TRAPD definition broken
	3.	MINOR_CHANGE - Fix warnings in t_i64
	4.	MINOR_CHANGE - Fix failures in t_i64
	5.	DEF049892 - Epoc32 console does not honour CursorHeight
	6.	DEF049897 - TTimeIntervalBase bool operators declare TBool but define TInt

5.	MichaelMo
	1.	DEF049754 - t_chunk missing call to RTest::End()
	2.	INC049205 - NTT Test case t_mwait doesn't print rtest result

6.	JasmineS
	1.	INC049392 - NTT base\hal savehal fails in EKA2 due to improper path

7.	CarlosF
	1.	MS3.6.1 PREQ550 Document Power Model

8.	RobertJ
	1.	DEF049960 - Incorrect thread write function used in USB PIL
		Added a test case for this in T_usbapi


Version 2.00.539
============================
(Made by YingS, 22/09/2004)

1.	DennisM
	1.	Milestone: Yankee, GT0217 MS3.7.2 Base 1: Implement TInt64 as a built in type on EKA2
		CR ATHE-5VFL29 "Implement TInt64 as a built in type on EKA2"

2.	KeithR
	1.	MINOR_CHANGE - changed Multimedia to MultimediaDD in comments

3.	JonathanM
	1.	Expanded the Capabilities of EWSRV.EXE to ALL-TCB. This is to enable
		text notifier plugins to make use of a full capabilities.
		NOTES FOR MCL SUBMISSION
		On the day this change is Submitted to the MCL, tell Keith Robertson
		so that he can update the Master List of capabilities (this will prevent
		a build warning and defect being raised.)
	2.	DEFECT FIX: DEF048953 - Text notifier server's thread heap size should be increased
	3.	DEFECT FIX: DEF049305 - E32 fails to build EDLL.LIB if __SECURE_API__ is defined

4.	CiprianM
	1.	Fixed DEF049008  RNotifier needs "update" functionality that guarantees the response gets back

5.	JasmineS
	1.	MS3.1.2 PREQ277 Platsec REQ3527
		Secure Storage of HAL attributes
		Reimplemented HAL global data in terms of Publish and Subscribe


Version 2.00.538
============================
(Made by JasmineS, 09/09/2004)

1.	Dennis
	1.	Fix problem with D_LATNCY.LDD on lubbock.
	2.	GT0217 MS3.5.1 PREQ519
		User::Leave() in terms of throw()
		Implemented on EABI builds, configured by __LEAVE_EQUALS_THROW__
		Not yet implemented on the emulator.

2.	CarlosF
	1. 	MINOR_CHANGE - Insert relevant Interface Management tags.
	2.	Fix defect DEF048124 - Incorrect IPR Category & Component name within
		Dist. Policy File for Sierra

3.	SimonT
	1.	DEF048135, Touchscreen calibration is somewhat off in PORTRAIT mode
	2.	DEF048333, Keypad doesn't get interrupts on Rev C surfer boards
	3.	DEF048339, Work required to improve audio support on H2

4.	JasmineS
	1.	DEF047450, T_R64BMFNC.CPP : Optimisation removes active code

5.	JonathanM
	1.	Defect Fix: DEF048750 - Hardware Chunks are visible to user side code

6.	JenniferH
	1.	Defect Fix: DEF047566 - Problems due to heap being compacted more aggressively in Cedar.


Version 2.00.537
============================
(Made by MichaelP, 27/08/2004)

1.	JonathanM
	1.	Fix for parsing of large integer properties in emultaor ini file,
		and command line. (Values >= 0x80000000 were getting set to 0x7fffffff)
	2.	Turned on PlatSecEnforceSysBin for all Base ROMs.
		This forces all executables to be placed in the \sys\bin\ directory
		of ROMs and makes the loader only look in this directory. Any file path
		specified when loading executables is ignored.
2.  KeithR
	1.	Updated Architectural Description.  Revamped section 3 about required
		capabilities for direct access to device drivers.
	2.	DEF048147, iRangeCount field in CPolicyServer::TPolicy is too small
		This breaks SC with any existing CPolicyServer::TPolicy classes.
		However, at the time of writing there were none in the MCL.
		Additionally, the fix is trivial.  To facilitate the fix the TUint16
		iSpare field in CPolicyServer::TPolicy has been removed.  Thus any
		explicit instantiations of this value must also be removed.  As an
		example, I've modified the sample code from the documentation.

		const CPolicySErver::TPolicy myPolicy =
			{
			CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
			myRangeCount,
			myRanges,
			//####Following line must be removed####
			//0, 							//iSpare must be zero
			//####End of line that must be removed.####
			myElementsIndex,
			myElements,
			}

		Break Request Number: BR 1147.1

3.	TonyL
	1.	DEF047811, OMAP DMA should reset the channel to defaults on close
	2.	DEF047952, omap baseport doesn't have recognition for the ES1.2 1623
		core
	3.	DEF048104, possibility of spurious ps2 keypresses on H2 startup
	4.	DEF048105, Integrate changes from camera code review
	5.	DEF048106, USB soft connect/disconnect doesn't work

4.	AndrewR
	1.	DEF047010, Placement operator new for arrays missing in E32


Version 2.00.536
============================
(Made by DjordjeK, 18/08/2004)

1.	Dennis
	1.	Fixed defect DEF 047427 Duplicate definition in ncsched.cia
	2.	Added __ASSERT_ALWAYS_NO_LEAVE and __ASSERT_DEBUG_NO_LEAVE macros to
		assert that code does not leave in all builds and in debug builds
		respectively.

2.	JonathanM
	1.	Fixed corrupt drive X: on emulator by adding FS_FORMAT_CORRUPT
		for drive X: in wins/estart/estart.txt
	2.	Defect Fix: DEF047931 - Loader crash when PlatSecEnforceSysBin is ON

3.	TonyL
	1.	Fix for DEF047556. H2 rom files should allow creation of images
		of 32MB in size. (Note that this image size is only valid for
		RAM based images).
	2.	Fix for DEF047557. H2 USB LDD/PDD wrongly specified in ROM files
	3.	Fix for DEF047558. Implement errata 1.4.28 in for the OMAP H2 baseport
	4.	Fix for DEF047561. H2 fails T_KHEAP
	5.	Fix ARMV5 warnings for lcd and edisp drivers which were missing the
		NONSHAREABLE_CLASS primitive.

4.	CiprianM
	1.	PREQ3 - REQ2718 Part 2/2: Enable devices with multiple displays -
		EKA1 (dummy API) + EKA2,  Emulator (part II).
		This contains a BC break in TRawEvent - approval id BR1073
	2.	Fixed DEF047610  defective ScreenOffsetY
	3.	Removed the non-ASCII sterling pound symbol and replaced it with the
		hex representation to allow compilation of the code when default Far
		East locales are used

5)	MiguelB
	1)	As part of "MS3.1.7 Platform security file handle sharing",
		changed these signatures:
			inline RSessionBase& RSubSessionBase::Session(); to
			IMPORT_C const RSessionBase RSubSessionBase::Session() const;

			inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs); to
		 	inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);

			inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction); to
			inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);

		 	IMPORT_C TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs); to
			IMPORT_C TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);

		NOTE: The first is a BC/SC break. SCB confirmation number: BR1099.1

6)	MichaelP
	1.	Fixed defect DEF047456 - USB LDD device driver aborts
		In the USB PIL (in DUsbClientController::EndpointCaps and
		DUsbClientController::DeviceCaps) we now use Kern::ThreadRawWrite
		instead of a plain descriptor copy to update the caps structures.
		Also, in the LDD certain user-provided parameters are now copied over
		via Kern::ThreadRawRead rather than referenced directly.


Patches to version 2.00.535
============================
(Made by JonathanM, 11/08/2004)

1.	JonathanM
	1.	Defect Fix: DEF047249 - Inconsistent capability checking return types
		Interface Change: BR 1114.1 Some of the HasCapability apis in base return
			TInt's whilst others return TBools. They should all return TBools.

2.	CiprianM
	1.	Fixed INC047873 - Week 32 8.1b emulator fails to start


Version 2.00.535
============================
(Made by KamranN, 04/08/2004)

1.	MichaelP
	1.	Implemented CR MPED-5XDM2V "Enable USB DMA Support on EKA2":
		DMA support has been added throughout the USB driver stack, with changes
		at the PDD/LDD interface and the addition of two new virtual functions
		at the PSL/PIL interface:
		virtual DUsbClientController::TInt OpenDmaChannel(TInt aRealEndpoint);
		virtual DUsbClientController::void CloseDmaChannel(TInt aRealEndpoint);
		Support for DMA transfers has been added to the Cotulla PSL, however
		due to UDC hardware problems this is conditional (#define's) and is
		disabled by default.
		NOTE: BC Break in the USB PDD - SCB confirmation number: BR1084.1.

2.	Jonathanm
	1.	Yankee,GT0217,MS3.1.5 PS8.3 Add "!" in front of the names of services to
		ensure kernel protection
	2.	E32 and E32TEST changes required for H2 baseport.

3.	MiguelB	Fix for DEF047057 - CBR/Kits errors in MCL build 03323 8.1b:
		Deleted: template/base_template.mrp
		replaced with:
			template/template_assp/base_template_assp.mrp and
			template/template_variant/base_template_variant.mrp

4.	AndrewR
	1.	Implement CR - LKUH-5WJMEA: Correct and improve EKA2 Stop-Mode Debug API

5. 	Peters
	1.	Changes due to the implemented REQ3489: 'Dividing ESTART into separate generic
		and customisable parts'. Now both Lubbock and WINS platforms have a customised
		version of ESTART.

6.	TonyL
	1.	OMAP H2 baseport handoff.

7.	KamranN
	1. 	Added timeouts for Lubbock tests


Patches to Version 2.00.534
============================
(Made by MichaelP, 04/08/2004)

1.	MichaelP
	1.	Fixed defect DEF047336 - [System Build] : CBR warnings (Base) in 03332 build.
		Deleted the following two lines from base\lubbock\base_lubbock.mrp:
		-binary \epoc32\release\arm4\coreldr.bin
		-binary  \epoc32\release\arm4\miniboot.bin
		as the files referenced don't exist (they don't get built).


Version 2.00.534
============================
(Made by JonathanM, 26/07/2004)

1.	JonathanM
	1.	Yankee,GT0217,MS3.1.4 PS6.3.2 Ignore path information for binary files
		within ROM build and loader.
	2.	Fix for DEF047047 - It's not possible to construct TSecurityPolicy
		objects at compile time

Version 2.00.533
============================
(Made by AndrewJ, 21/07/2004)

1.	MichaelP
	1.	Fixed DEF046615 - Unnecessary timer is set in Suspend ISR routine:
		In the USB PIL we now move to the Suspend state straight away, but check after
		500ms in the timer callback whether the cable is actually still there and
		change to the Undefined device state if it is not (= cable has been pulled).

2.	Dennis
	1.	Extended RArray and RPointerArray to support geometric growth.
	2.	Maintain list of code segments in order of name to speed up checking for
		already loaded code segments.
	3.	Maintain list of code segments in run address order to allow efficient
		location of the code segment containing a given instruction address.
	4.	Store address of exception descriptor in code segment. Add function
		UserSvr::ExceptionDescriptor to find the exception descriptor which
		corresponds to a given instruction address.

3.	Djordje
	1)	REQ2731.3 (PREQ728): Descriptors API enhancement (RBuf)
	2)	DEF046598 - TDateTime bug
	3)  DEF046353  Error in in-source documentation for TDesC16::FindC (three parameter variant)
	4)  DEF046617  memory model not taken into account when building debug monitor

4.	JonathanM
	1.	Made emulator try and load an INI file called 'defaulttest.ini' if the
		normal ini file wasn't found.
	2.	Made E32TEST and F32TEST export a 'defaulttest.ini' so emulator testing
		uses the PlatSec settings we want.
	3.	Added PlatSec diagnostic messages to methods which attempt to open handles
		on protected kernel objects.

5.	CarlosF
	1.	MS3.3.1 - PREQ515 Template Base Port Implementation

6.	RobertJ
	1. 	Fixed DEF043662 - Lubbock 'dies' doing RUsb::Stop
		The basic solution is to stop the channel destructor from getting interrupted
		by a notification DFC or a data transfer completion DFC and by cancelling all
		possible outstanding DFCs at an early stage in the channel destructor

7.	CiprianM
	1.	Fixed DEF046808 - Panic in CBitMapAllocator::IsFree(int, int) when allocate
		a contiguous 600K memo
	2.	Fixed INC045738 - emulator OnActivation keycode/scancode mixup

8.	KamranN
	1. 	Fixed DEF045510  Bad structure member alignment in TLocalDriveCapsV3
		NOTE: Fix causes BC Break and this has been approved by System Compatibility Board (confirmation number BR1093.1)

Version 2.00.532
============================
(Made by AndrewH, 06/07/2004)

1.	AndrewR
	1.	Fix DEF045730 - SDblQue methods should be const

2.	PeteS
	1.	Fixed defect DEF022437 'CMD1 to ready timeout'. This is related to
		powerering up MMC cards.The busy timeout for CMD1 (a command issued during
		the card init. sequence) has been increased from 200ms to 1000ms. Additionally,
		the polling interval between busy checks has been reduced from 40ms to 10ms.
		The fix involves changes to the classes TMMCStackConfig and TMMCCommandDesc.
		Prior to the change, the member: "iPollAttempts" was used to hold info. on the
		number of retries the controller made in the event of a busy timeout. This applied
		to busy timeouts during both card power-up and write operations. Now this member
		only applies to busy timeout during writes. A new TUint16 member: "iOpCondBusyTimeout"
		now applies to busy timeout during card power-up. To reduce the chance of
		compatibilty issues as a result of adding this new member, the existing
		member: "iUnlockRetries" has been reduced from TUint to TUint16 to keep
		the overall size of these classes the same.
		The approval ids for these changes are: 1055.1 to 1055.3.

		Base Port Impact:
		As mentioned above, there have been changes to the MMC related classes
		TMMCStackConfig and TMMCCommandDesc. However, it is highly unlikely that the
		changes to either of these classes will have any impact on an MMC base port.

		The class TMMCCommandDesc is used routinely in an MMC baseport. However, the changes
		to this class relate to members which should only be accessed by the Platform
		Independent layer of the MMC Controller. However, if these members are being
		accessed in the base port for some reason:-
			Use of the member "iUnlockRetries". The change in size of this is a BC
		issue which will be fixed by re-building.
			Anyone using this class alter the busy retry count on card power up
		(ie altering "iPollAttempts") should alter the new member:"iOpCondBusyTimeout"
		instead.

		It is unlikely that any MMC base port will use the class TMMCStackConfig. However,
		if this is used, the only issue is that those using this class alter the maximum
		busy retry count on card power up (ie altering "iPollAttempts") should alter
		the new member:"iOpCondBusyTimeout" instead. ie - use SetOpCondBusyTimeout() rather
		than SetPollAttempts().
	2.	Fixed defect DEF022432 'User cannot lock a MultiMediaCard (ver. MMCA 3.1 or
		later)'.

3.	Dennis
	1.	Fixed bug in EKA2 emulator - an invalid fast executive call would crash the system.
	2.	Fixed double-unlock problem with Kern::SemaphoreWait().
	3.	Added BASEDEFAULT option to BLDMAKE for use in PRJ_PLATFORMS.
		This is like DEFAULT, but includes extra builds used by base.
		Changed all base BLD.INF files to use this instead of DEFAULT.
	4.	Don't include CallViaRn.cpp in USRT, KSRT when building ARMV4.
	5.	Tools define __MARM_INTERWORK__ when building for ARMV5 (or other EABI
		builds which support THUMB). E32 uses this to determine whether THUMB
		interworking should be supported.
	6.	Fixes for ARMV4 build.
	7.	Exception support is turned off for kernel side code.
	8.	Fix problem in RMsgQueueBase::SendBlocking, ReceiveBlocking
		TRequestStatus not set to KRequestPending.

4.	CiprianM
	1.	Fixed DEF044824 - Problems with CWsScreenDevice::SetCurrentRotations()
	2.	PREQ3 - REQ2718 Part 1/2: Enable devices with multiple displays - EKA1 (dummy API) + EKA2
		,  Emulator (part I).
		Changes to HAL to allow multiple handles for the same properties.
		Variants of Kern::AddHalEntry, Kern::RemoveHalEntry and Kern::FindHalEntry which take a
		device number as parameter has been introduced. Old versions assume device 0 (default
		device). A second video driver should make itself handler for EDisplayXXX attributes by
		calling Kern::AddHalEntry(..,..,..,1) to handle screen 1.
		HAL::Set and HAL::Get APIs that take a device number have been added.
		EDisplayNumberOfScreen HAL attribute has been added. By default, it is 1.
		The emulator has been enhanced to support multiple screens, each screen will have its own
		window, the window title will contain the screen number. A control window has been
		introduced, which displays the old title and which closes the application.
		A new screen can be specified in emulator by adding the keyword _NewScreen_, all the
		screen properties (eg. screen width) after the keyword will be associated with the new
		screen. _NewScreen_ is only required for additional screens, the default screen (screen 0)
		doesn't need it.
		HAL implementation functions have changed, by needing a new parameter (device number). This
		has a potential impact on base ports if any licensee modified these implementations or if
		they've added new HAL attributes.
	3.	Fixed DEF046674 - Shared io buf DoCreate tries to memset a hardware buffer

5.	DjordjeK
	1)	Fixed: DEF043303 - Undesired carriage returns in VT100 display when using RDEBUG output.
	2)	Fixed: DEF044439 - TVersion::Name should be const

6.	JonathanM
	1.	Sierra,GT0196,MS3.6 PlatSec IM12 Kernel work - REQ2634 Configurability of process protection
	2.	Added User::RenameThread() and User::RenameProcess(). These are replacements
		for RThread::RenameMe() and RProcess::RenameMe();
7.	AndrewHi
	1.	Sierra, PREQ 537 part 2 and PREQ 729 part 2 - file system layout and F32 data caging enforcement

8.	MichaelP
	1.	Fixed DEF046614 - USB: Re-enumeration delay should be shorter:
		Reduced the reconnection delay in ps_usbc.cpp from 2s to 500ms.

Patches to version 2.00.531
============================
1.	CiprianM
	1. Implemented REQ2731.4 Active Scheduler
	THIS IS A BC break. Break approval id: BR1031

Version 2.00.531
============================
(Made by MichaelP, 17/06/2004

0.	JonathanM
	Milestone: Yankee,GT0217,MS3.1.1 PlatSec Capability Check (PS5.11 & PS5.12).
	Capability checks in E32 and HAL APIs enabled.

1.	DennisM
	1.	Fixed defect DEF045564 - Incorrect CLZ macro

2.	StefanW
	1.	Implemented CR - CLCT-5SAN3S Split SD Card example port into a 3C version and a 4C version on Cedar
		3C and 4C code has been split, allowing the Integrator target to be built for SD only or SD+CPRM.
		Specify --m=lmpsdio at ROM building time for SD only, --m=lmpsdiop for SD+CPRM

	2.	Fixed DEF043653 - Nand buffers should be allocated at the driver level
		NAND Media Drivers may now enable the use of a memory allocator which allocates buffers from a pool
		allocated by the PSL at initialisation (overriding the use of stack based buffer allocation).

		To enable the allocator:
			1. Define __USE_CUSTOM_ALLOCATOR in the mandatory exported nand_plat.h header file.
			2. Provide a concrete implementation of the TNandAllocatorBase derived class, implementing the pure
			   virtual function: TInt TNandAllocatorBase::AllocateBuffers(SBufferInfo& aBufferInfo)
			3. Provide the factory function TNandAllocatorBase* DMyNandMediaDriver::ExtensionInitAllocator();

	3.	Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
		the password.  This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
		issue the FORCE_ERASE command to the media via CMD42.  If successful, this should be follows by a standard
		'quick format' operation to create a fresh filesystem on the disk.

		This change has Break Request confirmation numbers BR1056.1 and BR1056.2

	4.	Implemented REQ3381: CMD23 support - Enabled support for MMC Command 23 (SET_BLOCK_COUNT) to bring the
		controller in line with specification version V3.31.

		Base Port Impact: Controllers that don't support CMD23 (ie - those which must use the STOP command)
						  should return KMMCErrNotSupported in response to CMD23.

		This change has Break Request confirmation number BR1056.3

	5.	Implemented REQ3382 (Part 1): Implement Multi-Block Write
		Allows multiple blocks of data to be written to the media in a single command to improve write performance.
		Part 2 of the REQ requires this to be rationalised with the atomic sector write requirement of ruggedised
		FAT to improve robustness if supported by the hardware.

3.	JonathanM
	1.	Fix for defect DEF045618 - T_EXC.EXE fails on ARMV5 UREL test ROMs
	2.	Implemented REQ2862 - Obtain an executables header's capability parameters
		by adding function RLibrary::GetInfoFromHeader()
	3.	Made capability checking in E32 dependant on the macro CHECK_CAPABILITIES_IN_E32_APIS
		If this macro is defined during compilation of Base then HAL, EUSER, Kernel and variants
		will enforce capability checks.

4.	DjordjeK
	1.	REQ2731.5:Boot Reason - Implemented through Hal::Get/Set by introducing new attributes:
		ECustomRestart & ECustomRestartReason. Fully implemented on assabet variant. Dummy implemetation
		in Lubbock & WINS variants as they do not support S/W restart.
	2.	REQ2731.1 RArray API enhancement & REQ2731.2 RMessagePtr2 API enhancement:
		Added leaving versions of the existing methods in RPointerArray<T>, RArray<T>,
		RArray<TInt) and RArray<TUint>.

5.	CarlosF
	1.	MINOR_CHANGE - updated WINS Ethernet How_ To document.

6.	AndrewR
	1.	Fix for defect DEF044273 - Mistake in doxgen comment for wordmove

7.	MichaelP
	1)	Fixed defect DEF046003 - "USB should not reset all end points on SetInterface
		command from host PC":
		In function DUsbClientController::ProcessSetInterface() in file
		\e32\drivers\usbcc\chapter9.cpp we now clear the Halt feature only for those endpoints
		which belong to the new current interface setting.


Version 2.00.530
============================
(Made by JonathanM, 14/06/2004

1.	KeithR
	1.	Implemented CPolicyServer


Version 2.00.529
============================
(Made by JonathanM, 07/06/2004

1.	JonathanM
	1.	Replace RSessionBase::CreateSession overloads which uses 'Identity' checking
		with overloads which take a TSecurityPolicy. (Interface Change BR1030.1)
	2.	Changed RProperty::Define() to take TSecurityPolicy objects.
	3.	Documented all APIs which check capabilities with @capability tags.
	4.	General Platform Security tidyups.

Patches to version 2.00.528
============================

1.	TonyL
	1.	Fix for defect DEF045740 - D_EXC doesn't work on EKA2 Lubbock ROMs

Version 2.00.528
============================
(Made by JonathanM, 26/05/2004

1.	DennisM
	1.	Fixed DEF044687 - ARM1136 doesn't boot if caches have 16K alias restriction
	2.	Fixed DEF044483 - Bootstrap faults if RAM bank starts at address 0
	3.	Added Kern::SemaphoreCreate(), Kern::SemaphoreWait() and Kern::SemaphoreSignal()
		kernel APIs to allow semaphores to be used by device drivers.
	4.	Added Kern::SetSystemTime() API to allow the software RTC to be updated in line
		with the hardware RTC.
	5.	Move ClearPages() function from DArmPlatChunk to ArmMmu.
		Reimplement to use only a single temporary page table entry.
	6.  On X86 don't try to zero RAM-loaded code memory before giving it write permission.
	7.  Stop file server crashing if some removable drives are omitted.
	8.  Support 'debugport' on X86
	9.  On X86 'debugport -3' traces to the screen (for systems with no serial ports).
	10. Don't do ScanDrive on X86.
	11. On X86 map floppy as drive A (and ZIP as drive B if present).
	12.	Workaround for Erratum 4.14 on ARM1136
	13.	Modify CM1136 bootstrap to work with real CM1136 core module.
		The CPU is set to run at 200MHz and this seems to work, but the memory
		is very slow (12MB/s bandwidth according to T_MWAIT).

2.	AndrewR
	1.	Fixed DEF044873 - Emulator serial driver unable to open high COM ports

3.	CiprianM
	1.	Fixed DEF044808 - Improvement to region code
	2.	Fixed DEF045272 - CPeriodic::Start() precondition is incorrect

4.      DjordjeK
	1.	Fixed RVCT warnings including introduction of operator delete in RHeap & CBase.
		The warnings we are not obliged to fix still remain.

5.	JonathanM
	1.	Fixed DEF045256 - RVCT compile optimises CServer2::DoConnect() too aggressively ...
	2.	Fixed DEF045159 - New warnings in build
	3.	Fixed DEF040915 - Kernel threads aren't protected against being killed
		This changes Kern::ThreadKill so that it asserts the thread being killed is either the
		current thread, or is a user mode thread. I.e. prevent kernel threads from being
		killed by other threads. This change has Break Request confirmation number BR1028.1

6.	AndrewT
	1.	Modified the behaviour of the emulator timer event system to discard extra ticks
		collected when the multi-media timer callback has been suspended. This
		significantly improves client-server debugging experience with EKA2 emulator.

7.	AndrewHi
	1.	Fixed DEF043213 - Build dependency introduced between e32test t_lfsdrv2 and lubbock base port

Version 2.00.527
============================
(Made by AndrewJ, 28/04/2004

1.	JonathanM
	1.	Fix for defect DEF044341 - Notifier framework (ewsrv.dll) generated KErrNoMemory
	2.	Fix for defect DEF044651 - TSecurityPolicy::CheckPolicy methods don't obey global PlatSecEnforcement option
	3.	Add capability checking to ECOMM.LDD (comm driver) and ELOCD.LDD (local media driver)
		ECOMM now checks that its client has ECapabilityCommDD
		ELOCD now checks that its client has ECapabilityTCB
		(These checks obey the PlatSecEnforcement and PlatSecDiagnostic configuration options.)

2.	MichaelP
	1.	Fixed defect DEF041968 - "usbc ldd built by lubbock variant even though
		it isn't a VariantTarget":
		The 'usbc' line has been removed from \lubbock\bld.inf and moved to
		\e32\bld.inf. Also, the usbcc import lib 'usbcc.lib' for use by the LDD
		is now created from /e32, no longer from /lubbock (/cotulla); Added
		\e32\drivers\usbcc\usbcc_lib.mmp for that purpose.
	2.	Fixed defect DEF044327 - "Dma library with the same name (dma.lib) is created
		by each variant:
		To avoid creating the dma.lib more than once we now generate it once from /e32.
		Added a new file \e32\drivers\dma\dma_lib.mmp for that purpose and stopped the
		generation of dma.lib in \cotulla\dma.mmp.
3.    	AndrewJ
	1.	Fixed DEF044093 8 fatal errors in "cedar\generic\base\integrator\core\cm920" for
		8.1b by changing the build directory in the makefiles for both the coreldr and
		miniboot components to prevent the path being longer than approx 250 chars long.

Version 2.00.526
============================
(Made by JonathanM, 23/04/2004

1.	JonathanM and KeithR
	1.	Implemented Change Request JMET-5WFL2U - Remove legacy Platform Security APIs
	2.	Implemented the following prototype Platform Security APIs
			RProcess::SecureId
			RProcess::VendorId
			RProcess::HasCapability
			RThread::SecureId
			RThread::VendorId
			RThread::HasCapability
			RMessagePtr2::SecureId
			RMessagePtr2::VendorId
			RMessagePtr2::HasCapability
			User::CreatorSecureId
			User::CreatorVendorId
			User::CreatorHasCapability
			class TSecureId
			class TVendorId
			TSecurityPolicy
			_LIT_SECURITY_POLICY_xx macros for compile time construction of TSecurityPolicy objects
			RProperty::Define(TUid aCategory, TUint aKey, TInt aAttr, const TSecurityPolicy& aReadPolicy, const TSecurityPolicy& aWritePolicy, TInt aPreallocate)
			DProcess::HasCapability
			DThread::HasCapability
	3.		Updates to TCapabilitySet and TSecurityInfo

Patches to version 2.00.525
============================

1.	JonathanM
	1.	Fix for defect DEF044228 - AppendFormatList() generates KERN-EXEC 3 when
		used with VA_LIST on EABI
2.	CiprianM
	1.	Fix for DEF044435 - Incorrect MRP file for base_wins component - updated
		base_wins.mrp to reflect 3 new exported files

Version 2.00.525
============================
(Made by CarlosF, 14/04/2004

1.	DennisM
	1.	Fixed defect DEF043790 "Running T_TLDD on WINSCW takes down the system"

2.	JonathanM
	1.	Fix for DEF043570 - e32 and e32utils warnings in 8.1b EABI build - project not frozen
	2.	Added general purpose mutex ordering constants KMutexOrdGeneral0 thru KMutexOrdGeneral7
		These are for general purpose use. The values are higher than any used
		internally by the kernel, therefore there are no mutex ordering restrictions that
		limit which kernel functions may be called whilst a mutex of these orders are held.

3.	AndrewJ
	1	Fixed defect DEF043489 "No ECC in the coreldr"

4.	CarlosF
	1.	PREQ726 Keyboard Modifier - added new modifier (EModifierKeyboardExtend), new Scan Code
		(EStdKeyKeyboardExtend) to be turned On/Of on extendable keyboard extension/retraction, and
		new Key code (EKeyKeyboardExtend). Modified Keyboard Translator to recognise the new modifier
		Scan Code. Modified Lubbock Keyboard Mapping to map the Scroll Lock to the new modifier Scan
		Code: while this being pressed the keyboard layout is mirrored.

5.	CiprianM
	1.	Fixed DEF044167 - epoc.ini setting "JustInTime none" no longer works in EKA2 Builds
	2.	Fixed DEF044155 - Header files need to be exported from WINS component

6.	KeithR
	1.	DEF044039 - Seven test case failures against CLDC TCK 1.0a on Cedar
		(aka TInt64::operator>> not working on EKA2 code warrior for shift values
		>= 32)

Patches to version 2.00.524
===========================
1.	AndrewJ
	1.	Fix Defect DEF044069 - CBR warnings in 8.0b, changed the name of the coreldr
		and miniboot components for each board
2.	KeithR
	2.	Fix Defect DEF044109 - Missing files in ROM build for 8.1b and 8.0b

Version 2.00.524
============================
(Made by JonathanM, 31/03/2004

1.	ChristopheL
	1.	A3.4.3 PREQ12 NandFlash Integrator EKA2 Part2 - With TechView booting
		(already submitted as a defect but forgot to put the milestone itself
		into the release.txt)

2.	CiprianM
	1.	Implemented REQ2533 Kernel needs to zero memory when handing it between
		processes. Kernel fills memory commited to chunks and shared io buffers
		with 0x03. It also fills the portion in code chunks that is not overwritten
		by the loader. 0x03 is used instead of 0x00 to prevent people from relying
		on memory being zero initialised.
	2.	Fixed DEF042172 - Confusion between page size and page shift in shared I/O
		buffer code
3.	ChrisM
	1.	Fixed defect DEF042239 - WINSCW EKA2 sound PDD loses data when recording.
	2.	Implemented MRED-5MGHAW - Multiple fascia layout support in the emulator.
		Backwards compatible with existing epoc.ini files.

4.	JonathanM
	1.	Fixed defect DEF041808 - initialisation of kdebug.dll is rather racy (possibility
		of null pointer deref)

5.	PhilK
	1.  	Implemented PREQ12/GT135  Nand flash support for Lubbock. Note that current support
		has been tested for 16bit NAND devices only. Enabled composite filesystem support
		thus ROFS images appear on system drive. Added reboot driver support for Lubbock
		nandloader utility. Removed single/direct build since this will not work with the
		current (hardcoded) values.
	2.	Implemented PREQ412: Support for ARM RVDS 2.1 toolchain. THIS IS A BINARY COMPATIBILITY
		BREAK FOR ALL FILES COMPILED UNDER THE ARM RVCT/RVDS TOOLCHAIN. (The final RVDS
		toolchain supports the ARM EABI standard which requires renaming/refactoring both
		user and kernel side intrinsic library functions.)
	3. 	Further DEF file fixes for PREQ412. BINARY COMPATIBILITY IS BROKEN BETWEEN RVCT 2.0.1
		AND RVCT 2.1. Removed duplicated EUSER.DEF exports, removed further apostrophes from
		e32rom.h comments that caused h2inc.pl to get confused about alignments. (Correct fix
		is to h2inc.pl). Add Integrator 1136 new power dll exports generated by RVCT2.1.


6.	RobertJ
	1.	Fixed DEF042908 - eusbc regression: Read completes with KErrNone and zero bytes
	2.	Fixed DEF040606 - Incorrect OUT data presented to ECACM.CSY by RDevUsbcClient
	3.	Fixed DEF042074 - Random data retd by RDevUsbcClient::ReadOneOrMore after USB enumeration

7.	CarlosF
	1.	Fixed defect DEF043285 - Lubbock Bootstrap trace is switched on

8.	MichaelP
	1.	Fixed defect DEF043484 - "DMA Framework doesn't permit manipulation of
		custom descriptors":
		Introduced new public member function
		'inline const TDmac* Controller() const {return iController;}'
		to class TDmaChannel. This way we can access TDmac::HdrToHwDes(), which
		we need in order to get a pointer to custom-created DMA	descriptor(s).
	2.	Fixed defect DEF043600 - "USB: Zero-byte writes don't work on Lubbock":
		In the Cotulla USB PSL we need to treat zero-bytes writes still as
		comprising one packet when completing to the LDD.

9.	KeithR
	1. 	CR JPAR-5RYLQQ: Make the Crash Flash Logger part of base
		- At a high level this code provides support for automatically writing
		  debugging information, similar to what one could have retrieved from
		  the traditional interactive crash debugger, to a special area in
		  flash.
		- This submission provides support for generic nor and nand crash loggers.
		- Lubbock is the only currently supported variant.
		- A utility called crashread is provided in e32utils.  This provides
		  the ability to read a previously stored crash log from the special
		  area in flash to the visible file system.
		- To enable crashread, several changes were required to other, seemingly
		  unrelated, areas.
			- First, KMaxLocalDrives has been increased from 9 to 16.  This
			  change was necessary to support the steadily increasing number of
			  partitions (each type of crash log logs to it's own partition).
			- Second, the generic nand flash code was updated to recognise a
			  crash log parition and be able to use it.
			- Third, the nandloader also needed updates to support creating
			  nand devices with the new crash log partition.
		- What was formally referred to as the "monitor" now consists of three
		  separate entities:
			- The common monitor functionality (code common to both the crash
			  logger and the crash debugger)
			- The crash debugger (the interactive debugger that was also
			  formally known as the "monitor" or "crash monitor")
			- The crash logger (the subject of this submission).
		- Each of these entities is now an extension.  These extensions are
		  called exmoncommon.dll, exmondebug.dll, and exmonlog.dll
		  respectively.  All three must be built from the variant.
		  exmondebug.dll and exmonlog.dll require variant specific support.  On
		  the other hand, exmoncommon.dll requires no variant specific code.
		  Building from the variant is only required in order to select the
		  correct memory model.
		- exmoncommon.dll must be included in the rom prior to either of the
		  entities.  It provides an api for subsequent crash monitors
		  (debuggers or loggers) to register and be called when the device
		  crashes.
		- The order that the crash monitors register with the common
		  functionality (aka the order they are placed in the rom) is the order
		  they are called in at crash time.
		- IMPORTANT NOTE -- Base Port Impact: Yes
			- These notes explain the steps required to get the base port
			  working with the functionality it previously had.  In order to
			  port the crash logger itself to a new variant, it is recommended
			  that the Crash Logger porting howto is consulted.
			- As a necessity of the changes described above, functionality
			  specific to the crash debugger has been moved to a subclass of
			  Monitor called CrashDebugger.  This results in four functions
			  from the variant (formerly Monitor::InitUart, Monitor::UartOut,
			  Monitor::UartIn, and Monitor::CheckPower) which need to have
			  their class changed from Monitor to CrashDebugger.
			- To build exmoncommon.dll, a mmp file is provided in
			  e32\kernel\exmoncommon.mmp which simply needs to added to a
			  variant's bld.inf.
			- To build exmondebug.dll, it is suggested that the existing
			  exmon<variant>.mmp file be slightly modified to #include
			  "..\e32\kernel\exmondebug.mmp" rather than
			  "..\e32\kernel\monitor.mmp" and that the target statement is
			  changed from "VariantTartget(monitor,dll)" to
			  "VariantTarget(exmondebug.dll)".
			- Finally, the iby file for the variant must be changed.  The
			  extension statement that previously specified "monitor.dll" should
			  be changed to "exmoncommon.dll".  After this add one more extension
			  statement to include "exmondebug.dll" in the rom is required.

Version 2.00.523
===========================
(Made by JonathanM, 19/03/2004)

1.	JonathanM
	1.	Implemented the requirements:
		REQ2632 - Configurability of the enforcement of capabilities
		REQ2633 - Security violation diagnostic
		REQ3142 - Associate Platform Security information with an executable.
		See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc

Patches to version 2.00.522
===========================
1.	StephanGu
	1.	Fix Defect DEF043083 - The file
	\epoc32\data\media\nanddrv.bin is missing from 8.0b gt_only CBR.

Version 2.00.522
===========================
(Made by JonathanM, 26/02/2004)

1.	JonathanM
	1.	Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
		THIS IS A BINARY COMPATIBILITY BREAK FOR ALL EXECUTABLE FILES.
		Binaries (EXEs,DLLs) from previous releases of Symbian OS will not work
		with this or subsequent releases.
	2.	Added new Platform Security capability enumerations (TCapability)
	3.	Early release of prototype TCapabilitySet and TSecurityInfo classes.
	4.	Added Platform Security configuration settings to the ROM Header structure.
	5.	Added PlatSecDisabledCaps keyword to emulator INI file parsing.
		(Above changes required to support testing of Change Request JDOD-5VUJ7F)

version 2.00.521
===========================
(Made by AndrewJ, 13/02/2004)

1.	MichaelP
	1.	Fixed defect DEF041644 - "USB: Cable status doesn't get propagated
		in PSL at startup":
		We now call the cable connection notification callback straight away
		after installing it in the Lubbock USB PSL constructorr in order to get
		the proper PIL state from the beginning.
	2.	Fixed defect DEF042040 - "USB: Device state goes from Address to Default
		before Configured":
		An erroneous device state transition from Powered to Addressed occurred in
		PIL function DUsbClientController::ChangeConfiguration(TUint16 aValue)
		which is called upon a device Reset with an argument of 0. If the Reset
		happens after a cable-reconnection (i.e. the device was Configured, then
		the cable got pulled and is now reapplied), then the data member
		iConfigured still has a non-zero value and so we moved in
		ChangeConfiguration to the Addressed state - which was wrong since we
		weren't actually in the Configured state anymore. The solution therefore
		is, before moving to the Addressed state, to check whether we are currently
		actually in the Configured state.
	3.	Fixed defect DEF042084 - "usbman does not return correct device state in
		cold start":
		[a] DUsbClientController::GetDeviceStatus() now always returns the value
		of iDeviceState, even when iTrackDeviceState is EFalse because proper
		device state tracking is not really supported by the UDC.
		[b] In function DUsbClientController::UsbDisconnect() we move to state
		EUsbcDeviceStatePowered instead of to EUsbcDeviceStateUndefined if the
		USB cable is connected and the UDC is turned on. The reason for this is
		that it enables the user to distinguish a soft-disconnect from a USB
		cable removal.
		[c] In function DUsbClientController::ActivateHardwareController() we
		move to state EUsbcDeviceStatePowered if the cable is connected (was:
		no state change).
		[d] In function DUsbClientController::DeActivateHardwareController() we
		move to state EUsbcDeviceStateAttached if the cable is connected (was:
		no state change).
	4.	Fixed defect DEF042079 - USB: DUsbClientController::DeRegisterClient()
		is inefficient":
		We now use the value 00 for the setting to mean, to ReleaseInterface(),
		to release all existing settings for that interface. (ReleaseInterface()
		is able to pick these directly, as opposed to DeRegisterClient() which
		had to guess and therefore simply tried all possible values.)
	5.	Fixed defect DEF040615 - "Incorrect device statuses given by
		RDevUsbcClient::AlternateDeviceStatusNotify":
		1) The LDD wasn't checking if a device state change was available from the
		queue when a notification request was made. Items remained in the queue
		until pushed out when a new device state change was available.
		2) Duplicate entries were inserted into the queue. These are not required
		userside and consume valuable queue space.
		3) Device states were queued from when the first SetInterface call was made
		or when the first notification request was made. The queuing now happens
		between the first request and the cancellation, which will also flush the
		queue.
		4) Device state changes are now tracked from when the channel is created.

2.	StephanGu
        1.      Fixed defect DEF041871 - "Incorrect macro passed to cmd_read_main in NAND ftl"
                minor change to allow for easier porting of NAND flash across platforms.

	2.	Fixed defect "DEF041869  Move Nand device table into the varient" - changed
		Samsung's code to populate it's device table based on an existing variant
		header file.

	3.	Implemented CLCT-5VEK4P - "Binary search in ROFS
		together with 'expanding ROFS entries with UIDs'".
		Changed Rofsbuild to provide a sorted array of offsets
		in order to allow the file system to perform binary search
		through the image.  Also expended the TRofsEntry structure
		to include a copy of the file UID data.

		Changed the SW ECC scheme in the driver to be compatible with beech and
		updated emuldrives.zip to reflect new ROFS image format.


Patches to version 2.00.520
===========================

1.	CiprianM
	1. 	Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong level of indirection
 	   	The previous fix has been reverted because it broke Telephony code. Telephony has fixed their code
	   	(see DEF041144: SIM TSY makes use of TArray<class T>::Array() which Base are about to break SC.)
	   	THIS IS A SC BREAK. The approval id for it is: BR-GT0177-03
	2. 	Fixed defect DEF042012  CDeltaTimer::~CDeltaTimer does not call Close() on its iTimer

2. 	KeithR
	1. 	DEF042221: Missing APIs from IPCv2 implementation (RMessagePtr2::GetDesLengthL and GetDesMaxLengthL)



Version 2.00.520
================
(Made by AndrewHi, 23/01/2004)

1.	Dennis
	1.	Fixed DEF041406 "RAM mapped by bootstrap as 1MB sections is not marked as in use"
		Kernel now recognises section-mapped RAM blocks mapped by the bootstrap
		marks the RAM pages as in use.
	2.	Fixed DEF041440 "Inconsistent caching attributes for page tables on ARM architecture 6"

2.	JonathanM
	1.	Fix for defect DEF041461 - Textshell Notifier Server cleanup and channel queueing problems
	2.	Fix for defect DEF041176 - RPropertyRef::GetStatus usage unclear/unsafe?

3.	MichaelP
	1.	Fixed defect DEF041295 - "Race condition in 8.0b/EKA2 DMA framework generic
		layer":
		In DDmaRequest::Queue(), moved the assignment 'iQueued = ETrue' inside
		the channel-locked section.

4. 	AndrewHi
	1.	(PREQ13), "(REQ1968) MLC NOR Flash Support"
		Introduced a driver for TYAX devices, derived the existing lfsdrv files. The updates to the
		existing driver are as follows.
		- The device is accessed of chip select 0, the device base address is 0x00000000. The first 2M is
		  assigned to the bootloader, the next 14M is for storing the OS image, and the remaining 16M is for
		  use by the LFFS.
		- The device parameters are read at initialisation in order to determine the applicable geometry. In
		  order to support this, a partition must be put in to CFI-query mode - at which point the content of that
		  partition become inaccessible. If  using XIP (i.e. code for the executing program is being read from
		  the TYAX) then there is the chance that the next executable statement could become inaccessible, and
		  so the program could 'hang'. Three approaches to this problem are suported by the driver, selectable
		  by action of the pre-processor: assume that the partition containing the executable code will not be put
		  into CFI-query mode, and access it directly; pre-load the cache with the executable code so that the
		  instructions can be executed from within the processor until the TYAX partition is returned from CFI-query
		  mode; and, copy the executable code to an area in RAM and execute from there until the device is returned
		  from CFI-query mode. File lffsdev2.cpp, method DMediaDriverFlashLA2::GetRawCfiQueryValues has the code to
		  invoke this (supported by the function QueryDeviceParameters in lffsdev2.cia)
		- Device blocks that may be subject to an erase or programming are explicitly unlocked at device
		  initialisation (method DMediaDriverFlashLA2::Initialise).
		- The device provides read-while-write and read-while-erase functionality: a partition other than the one
		  currently being written to / erased can be read. In addition, if an erase is suspended, a block other
		  than the one being erased can be read. Two new tests have been added for RWW: the first to demonstrate
		  that an attempt to read from the same partition that is currently being written to is denied; the second
		  to demonstrate that a simulataneous read from a partition other than the one that is currently being
		  written to is supported. New flag KMediaAttReadWhileWrite added to e32const.h to indicate a device's
		  capabilty to support these tests. Request method introduced to the driver (overriding the base class
		  equivalent) in order to support the RWW tests (denoted by #ifdef _DEBUG, and CtrlIoState). The DoWrite
		  function has 'special' code to support the artificial situation required to exercise the RWW capability
		  (denoted by #ifdef _DEBUG, and CtrlIoState). Test approach is as follows.  A background thread is used
		  to start a sequence of writes to the TYAX devices. In the foreground, three read requests are issued. Due
		  the fact that the write operations complete so quickly, an artificial situation was required where a read
		  request was invoked whilst a write was still in progress. The following has been implemented to supoprt
		  this: Use of  'control IO', reserved for debug builds only, allows the artificial scenario to be created.
		  For such an operation, a write request is issued to the driver (from the background write thread), but it
		  is not instigated - rather, it is held 'pending' (the thread is blocked). When a read request is received
		  by the driver, the pending write is instigated, immediately followed by the read. See lffsdev2.cpp,
		  lfsdrv2tyax.cpp
		- Poll timer expiry is now followed by a read of an address that is dependent upon the particular
		  asynchronous operation. File lffsdev2.cpp, method DMediaDriverFlashLA2::HandleEvents

		Base Port Impact:	N

		Method DMediaDriverFlash::Caps has been made virtual. This is part of the internal interface of the
		PDD component, between the generic and platform specific parts. No existing base ports should be affected.

5. 	CarlosF
	1.	(PREQ13), "(REQ1968) MLC NOR Flash Support"
		Changes to both Lubbock and Bootloader build files to allow building Tyax specific
		binaries, Bootloader, tests and ROMs.
		To build a Text Shell Lubbock ROM with the Tyax module plugged in:

		rom -i arm4 -v lubbock -m(odules) tyax -b (udeb or urel) -t tshell

		The same applies for building a Tyax specific Lubbock Bootloader.

6. 	CiprianM
	1.	CR (JPAR-5RJCR6) System, GT0177 Kernal and Peripherals, Extend Publish and Subscribe to have
		Large (non-RT) properties.

7.	CarlosF
	1.	Fixed DEF041547 - Error found in base_integrator_core.mrp...


Patches to Version 2.00.519
===========================

1.	CiprianM
	1.	Fix DEF041539 - Base Documentation is not being delivered in a CBR...
		Added base_documentation.mrp file in \documentation directory


Version 2.00.519
================
(Made by StefanW, 09/01/2004)

1.  JonathanM
	1.	Fix for defect DEF041288 - EKA2 stop-mode debug table needs more constants

2.
Author:		CarlosF
	1.
ID:	 	IBUG-5QNJZC "Implement CR IBUG-5N2DZE on Cedar":
Change:	- RBusDevComm has two new APIs (MinTurnaroundTime() to get the turnaround time
		  and SetMinTurnaroundTime(TInt aMicroSeconds) to set a new turnaround value).
		- the default turnaround time is 0, i.e. until it is changed to a value >0, if a
		  Write request is queued transmission takes place immediately.
		- if a turnaround time>0 has been set and a Read request is queued, when the last
		  character is received or the Read is aborted by fail signals, a timer is launched
		  with the turnaround time value; if in the meantime a Write request is queued
		  it will be delayed until the timer completes or a new turnaround value is set.
		- if a Write request is queued after the turnaround timer has expired, transmission
		  takes place immediately.
		- if a new turnaround time (>=0) is set while there is a pending Write request
		  waiting on the previous turnaround timer expiration, the Write will take place
		  immediately and the new turnaround value will be used after the next Read request.
		- if a Write is requested after a Read is completed and then cancelled before the
		  timer expires the transmission will not take place, but the timer carries on. If
		  another Write request is queued before the timer expires it will be delayed by the
		  remaining time.
		- if a Write request is still pending waiting on a turnaround timer expiration when
		  the Channel is closed, it will never take place.
		To make use of this feature Half-Duplex commnunications is assumed. If Full-Duplex is
		  used the following behaviour also applies
		- if a Write is queued after a Read is queued but before it completes it will take
		  place immediately.
		- if a Read request is queued and completed while there is a pending Write request
		  waiting on the previous turnaround timer expiration, the timer will be re-queueud
		  with the same turnaround value, i.e. the Write will be delayed by a total of the
		  original turnaround time plus the time elapsed between the 2 read requests.
Base Port Impact:	Y
					The LDD API has been extended. Licencees who have branched the LDD will
					have to implement the extra APIs

3.	ChrisM
	1. Fix for DEF040901 - EKA2 emulator RDebug::Print outputs do not appear in CodeWarrior log window.
	Added LogToDebugger and LogToFile properties defaulting to false and true respectively.
	If LogToDebugger is set to 1 in the epoc.ini, debug output is written to the debugger with
	OutputDebugString.  If LogToFile is set to 0, the debugger output is not written to %temp%epocwind.out

4. StefanW
    1. Added generic support for SDIO Cards (A3.6.1 PREQ12 - REQ1764.1).
	2. Created a new Logic Module directory for Integrator, providing a platform-specific implementation of SDIO.
Base Port Impact:	Y
					The variants TMMCardControllerInterface derived class should implement the following
                    factory function in order for the correct type of socket to be created:

                    DMMCSocket* TMMCardControllerInterfaceIntegrator::NewSocket(TInt aSocketNum, TMMCPasswordStore* aPasswordStore)

Version 2.00.518
================
(Made by StefanW, 19/12/2003)

1.	StefanW
    1.  Fixed defect T_SCNDR1 locks the system when running of MMC.
        The Lubbock MMC driver does not handle errors in the Interrupt handler.  If an error occurs, the current
        session would never complete, which would cause the system to lock (while the fileserver waits for the
        request to complete).  The driver has now been modified to handle errors and recover when appropriate.

2.	MichaelP
	1.	Fixed defect DEF040810 - "USB: PIL function DeRegisterClient doesn't delete
		all interface settings":
		Since we don't know in DeRegisterClient how many (if any) alt settings exist
		for the interface in question, nor their actual setting numbers (these could
		have been set arbitrarily), we have to just try all possible values, starting
		from the top. If a setting doesn't exist, ReleaseInterface() will just return
		with an KErrArgument.

3.	CarlosF
	1.	A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changes to RebootDrv so
		that the offsets of NandFlash registers are defined in the platform-specific include file.

	2.	MINOR_CHANGE: remove COM# limitation on WINS PDD which currently only allows using COM0,
		1 and 2.

	3.	Fix	DEF037569 - Ethernet driver configuration utility is broken on EKA2
		Netcards.exe now builds under wins\test. New source code under e32test\netcards. Note: winpcap
		has to be run before running netcards as Symbian has not the rights to distribute packet.dll (
		which is required by netcards.exe and loaded by winpcap)

4.	JonathanM
	1.	Fix for defect DEF040312 - Change required to Bootcpu.h
	2.	MINOR_CHANGE - Removed legacy debug test driver.

5. 	Philk
	1.  Fix for DEF 040679 - touchscreen calibration causes system hang. Use fast mutex
		to prevent AC97 link use race condition.
	2. 	Fix for DEF 040887 - if e32test\benchmark PDD channel creation fails, benchmark LDD
		deletion panics thread and kernel.
	3.  Fix for DEF 040998 - CF cards hang under stress formatting tests. The fix allows card
		operations which raise delayed (after the timeout detection has completed the request)
		interrupts to execute correctly by ignoring interrupts after the timeout has scheduled
		a data transfer operation. Re-enabled automatic testing of CF card in PCMCIA (D:) slot.

6.	Dennis
	1.	Implemented CR AFOD-5THE5U "Add EBps921600 and KCapsBps921600 to d32comm.h".
	2.	Modified BootCall function in new new bootstrap so that the call number
		is stored in the lower 8 bits of the following word. Modified the BOOTCALL
		macro to use a MOV LR, #n instruction to contain the call number. This
		allows a debugger to step over the BootCall since it does not modify the
		return address.
	3.	Modified WriteS function in the new new bootstrap so that the string to
		be printed starts 8 bytes after the call instead of 4 and to not modify
		the return address. Modified the PRINT and DWORD macros to place a branch
		instruction immediately after the BL WriteS to branch round the string.
		This allows a debugger to step over the WriteS call since it does not
		modify the return address.

7.	RobertJ
	1.	Fixed defect DEF040879  USB LDD thread related problems, panicking & reading
		We have to remove the possibility of panicing the driver thread. Also, tidy code
		by using a thread descriptor copy instead of a raw copy
	2.	Fixed defect DEF041111
		"USB LDD may lose data in some situations "
	3.	Fixed defect DEF040428
		"USB Driver error codes that can be added without disrupting PSL"


Patches to Version 2.00.517
================

1.	CarlosF
	1.	Fix DEF040996 - CM1136 and CM920 are trying to export the same files
	2.	Fix DEF040845 - Error in "base_integrator_core_cmll36.mrp"...
	3.	Fix DEF041062 - Error found in base_integrator_core_cm920.mrp...

2.	JonathanM
	1.	Change Request ATHE-5RMHFH - Remove Capability related APIs from EUSER, HAL and EKERN

		Compatibility break ID is BR-GT0177-01

		This is a SOURCE AND BINARY COMPATIBILITY BREAK for 8.0b

		8.0b BASE PORTS may be affected by the HAL and EKERN changes.
		Also by the removal of the KCapabilityXxxxxx constants.

		Changes:

			EUSER API changes

			RProperty::KPersistant enumeration value removed
			RProperty::TPolicyType enumeration removed
			RProperty::Define() redefined to remove the last four parameters

			RMessage2::Capability() removed
			RMessage2::iCapability renamed to become a private member called iSpare1
			TCapability typedef removed
			capability definitions removed (The KCapabilityXxxxxx constants)
			RLibrary::GetCapability() removed
			RThread::ProcessCapability() removed
			RProcess::Capability() removed
			User::Capability() removed
			User::CreatorCapability() removed
			User::RemoveCapabilities() removed

			HAL API changes

			HALData::ESecureDisplay and HALData::ESecureDisplayMemoryAddress HAL attributes removed

			EKERN API changes

			TPropertyInfo::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
			TPropertyStatus::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
			These affect us of RPropertyRef::Define() and RPropertyRef::GetStatus()


Version 2.00.517
================
(Made by JonathanM, 05/12/03)

1.	JonathanM
	1.	Implemented REQ2481 - Disabling the insecure IPC mechanism in EKA2 at build time.
		Building the Kernel with the macro __REMOVE_IPC_V1__ defined will cause the following
		functions to panic with KERN-EXEC 55 (EObsoleteFunctionality)

			RThread::ReadL
			RThread::WriteL
			RThread::GetDesLength
			RThread::GetDesMaxLength
			RServer::Receive
			RMessage::RMessage(RMessagePtr2&)

	2.	Marked IPC V1 APIs as @deprecated

	3.	Implemented CR JMET-5SBEBM - EKA2 API change for Kern::ThreadRead/Write

		The following functions have been renamed and their arguments changed:

		TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset, TInt aMode);
		TInt Kern::ThreadRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
		TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, TInt aMode, DThread* aOrigThread);
		TInt Kern::ThreadWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
		TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset);
		TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, DThread* aOrigThread=NULL);

		The new prototypes for these functions are:

		TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset, TInt aMode);
		TInt Kern::ThreadRawRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
		TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, TInt aMode, DThread* aOrigThread);
		TInt Kern::ThreadRawWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
		TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset);
		TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, DThread* aOrigThread=NULL);

2.	StefanW
	1.	Fixed defect DEF022433 MMC gets locked although it should remain unlocked.
        The MMC initialisation would get confused if a the card is not fully powered down before
        the stack is powered back up. Modified the MMC state machine to check the validity of the
        password when power is applied before deciding to remove it from the store.

3.	Dennis
	1.	PREQ13 - REQ1755.9 VFP Support	(CR JPAR-5PREKA
		"We shall add kernel support, for the saving of, VFP co-processor registers")
	2.	Interchange first two instructions of FIQ handler to work around Erratum 32
		for the Intel XScale PXA255 CPU (Non-branch instruction in vector table
		may execute twice after a thumb mode exception).
	3.	Fixed defect DEF040625 - Loading and unloading an LDD twice crashes the kernel
	4.	Fixed defect DEF040712 - Bootstrap - Misuse of FindParameter in InitCpu

4.	MichaelP
	1.	Fixed defect DEF040520 - USBRFLCT/USBTEST: Incorrect IPR Classifications:
		Changed respective distribution.policy files accordingly.
	2.	Enabled ISO transfers in Lubbock USB PSL.


Patches to 2.00.516

1. CiprianM
	1.	Fixed DEF040076 - Bootstrap no longer builds with GCC - GCC cannot cope with
		absolute paths starting with \, so the this fix adds the drive letter to the
		path.

2.	CarlosF
	1. Fix for DEF040514 - Problem with "Base_integrator_core_cm920.mrp"

Version 2.00.516
================
(Made by StephanGu, 13/11/03)

1.	MichaelP
	1.	Bringing USB drivers up to date.
	2.	Fixed defect DEF040093 - "Base errors in build 03148_Symbian_OS_v8.0b":
		The WriteCancel #define in d32usbc.inl has been removed so that it cannot cause
		substitution of functions of that name in other (untargeted) source files.

2.	JonathanM
	1.	Modified TCdtPanic enumerations to be compatible with Beech.

3.	ChrisM
	1.	fix defect  DEF039810 - spurious kern::printf in lubbock sound driver
	2.	Fix defect  DEF039991 - EKA2 Lubbock Driver Not Working Correctly.

4.	PhilK
	1.	Fix CF card support.

5.	StephanGu
	1.	Added A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment.  Changed rugged
		FAT to be used by default, as this is needed by NAND flash.
		Techview does not yet boot from NAND flash.

6.	CarlosF
  	1.	A3.4.2 Added support for NAND flash as per PREQ12 (REQ1752) NandFlash on EKA2.
		Changes to allow building a NandLoader image and platform specific
		RebootDrv (Integrator).

	2.	Created a new Logic Module directory for Integrator: lmnand. This only builds for ARM4, V4
		and 4T. To build a CM920 text shell rom including the NAND media driver do:

			rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t tshell

		You will still need to uncomment one of the defines in header.iby to be able to use the NAND
		flash with a filesystem.

		To build a Nandloader rom do:

			rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t nandloader

		To build a techview rom do:

			rombuild integrator920 lmxx600 lmnand techview

	3.	Migrated defect DEF039336 Samsung NAND flash used in Zebra project is not in list of
		supported devices

7.	Dennis
	1.	Fixed defect DEF037832 - No Reg Context Table for Kernel Threads

8.	KeithR
	1.	DEF039906 - RSessionBase::ShareAuto unavailable if __HIDE_IPC_V1__ is not defined on cedar

9.	CiprianM
	1.	Fixed defect DEF039925 - TArray[0] gives Kern Exec 3


Version 2.00.515
================
(Made by JonathanM, 31/10/2003)

1.	Phil Kaye
	1. 	Fixed DEF23042 - Lubbock dies when USB PC is switched off.

2.	ChrisM
	1.	Fixed defects DEF038933 (sound underrun) and DEF038730 (emulator crash on nt4)
	2.	Fixed defect DEF039080 - NULL deref when EKA2 emulator loads an executable lacking the .SYMBIAN section
	3.	Fixed defect DEF038419 - Very short audio clips  (eg KeyClick.wav) cannot be heard

3.	JonathanM
	1.	Fixed defect DEF038740 - Cannot build textshell ROMS withe32\rombuild\rom.bat from DevKit (cedar)
	2.	API classification work: Split off hal related stuff from U32STD.H into U32HAL.H.
		Added Access and Status classification to both files.
	3.	Add in-source docs to some pure virtual device driver methods.
	4.	Added macro __SUPPORT_IPC_V1__ to allow EUSER and EKERN to support IPC V1 even
		when __HIDE_IPC_V1__ is defined.
	5.	Fixed defect DEF039330 - Cedar text notifiers aren't compatible with Beech
	6.	Update in-source documentation for TDblQueLink::Deque()
		Fixed defect DEF039326 - The in-source documentation on TDblQueLink::Deque() needs updating

4.	CiprianM
	1.	Fixed defect DEF038961 - e32\kernel\bootstrap.mke needs to recognise RVCT 2.0.1 armasm
	2.	Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong
		level of indirection
	3.	Fixed defect DEF039216 - bootstrap fails to link in the week 40 dev kit (build 3112)

5.	Dennis
	1.	Added __ASSERT_COMPILE(x) macro to assert a condition at compile time.
	2.	Make TTimer::iState and TTimer::iType TUint8's. This saves a word of RAM
		per TTimer and also ensures that the iUnion member is 8-byte aligned
		which is necessary for RVCT.
	3.	Added compile time assertions that DThread::iTimer and DTimer::iTimer
		8-byte aligned.
	4.	Change NThread::iAcc0 (XScale CPU only) from an Int64 to an array of two
		TUint32's. This avoids some alignment issues with RVCT.
	5.	Added debug assertions to ensure that a thread's critical section count
		never becomes negative.
	6.	Fix race condition while opening a DMA channel - the iController member
		was set after releasing the channel manager fast mutex. Fixed by
		requiring DmaChannelMgr::Open() to set the iController and iPslId members
		of the returned TDmaChannel object and removing the out-parameters for
		these from the function signature.
	7.	Fix incorrect operation of HW_MAPPING_EXT2 and HW_MAPPING_EXT3 macros in
		the 'new new' bootstrap, pointed out in a recent licensee workshop.
	8.	Add support for VFP context save. This is enabled on ARM1136 Integrator
		build.
		Also added support for saving additional coprocessor state without
		rebuilding the kernel. To support an additional coprocessor the base
		port needs to call the following function during Init1() :

		Arm::SetCpInfo(TInt aN, const SCpInfo* aInfo)

		where aN is the coprocessor number and aInfo points to a structure with
		the following members:

		TCpHandler iHandler;	// handler for context switch
		NThread* iThread;		// current owning thread, NULL if none
		TUint16 iContextSize;	// size of context for this coprocessor
		TInt8 iCpRemap;			// use to remap coprocessor number if >=0
		TUint8 iSpare;			//
		TInt iContextOffset;	// offset of context in thread extra context block


6.	KeithR
	1.	CR: KRON-5NLDXP -- Modifiable descriptors return constant TPtrC8's when
		Mid is called on them.  Adds support for 4 functions: LeftTPtr,
		RightTPtr, and 2 versions of MidTPtr.


Version 2.00.514
================
(Made by AndrewJ, 06/10/2003)

1. CiprianM
	1.	Implemented Shared Io Buffers.
	2.	Fixed defect DEF005890 - HAL::Get returns KErrNotSupported
	3. 	Recategorised distribution.policy files in /e32/common as part of the fix for
 		DEF038275 - Textshell ROM build failures w36 (build 3091) Cedar DevKit
		(delivered through the fix branch and caught up later)

2. AndrewJ
	1.	Allowed pc cards to mount Fat32 volumes as well as Fat12/16


Version 2.00.513
================
(Made by JonathanM, 24/09/2003)

VERSION 513 ISN'T BINARY COMPATIBLE WITH 512

0. 	Phil Kaye
	Fix for DEF036396. UART driver reported completion of transmission
	before all data was clocked out of Transmit Shift Register.

1. MichaelP
	1.	Added the Thesycon (USBIO.SYS) version of a Win32 command-line USB test program.
		It's called 'usbtest', and I put it under /e32test/win32/usbtest/. This program
		is the host-side part of a reflector arrangement and can only be used together
		with the device-side part T_USB.
	2.	Fixed defect DEF037542 - "Macro #define missing from rom build files":
		Added the lines
			REM Define whether or not to include USB client support:
			#define EUSBC
		to the file \lubbock\lubbock.oby (currently the only platform in EKA2 to support
		USB).

2. CiprianM
	1.	Fixed defect DEF036844  EKA2 stop-mode debug table missing some constants
	2.	Changed default debug port on Lubbock to be port 1, in order to support automatic
		target testing.
	3.	Added support for NITZ to TLocale.

3. Morgan
	1.	Added a reschedule callback to stop-mode debug API (kdebug.dll) to update
		NThread user thread context value. Also added a kernel event handler to
		implement the stop-mode debug API change flag.

4.	ChrisM
	1.	New sound driver ldd compatible with Typhoon.   DEF037094. + necessary updates to pdds

5.	SimonT
	1.	Added channel pause/resume functionality to lubbock's cotulla/dmapsl
		so the sound DMA transfers can be stopped reliably.
	2.	Made corresponding changes to the lubbock sound driver to access the
		extension for pause/resume the play channel.
	3. 	Tweaked the record behaviour to match that described in DEF037094
	4.	Fixed numerous issues with the Lubbock sound driver found during MMF
		integration, in addition t_sound now passes!

6.	AndrewT
	1.	Fixed defect DEF037709: NULL deref when setting a text RProperty to KNullDesC.

7.	Dennis
	1.	Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).

8.	JonathanM
	1.	Change Request DBAR-5RAL4K - Need a way of creating an RMessage from an RMessage2
	2.	Updated DEF file for EUSER to be BC with EKA1
	3.	Fixed defect DEF038005 - Defects in MNotifierBase in Beech/Cedar

Version 2.00.512
================
(Made by JonathanM, 05/08/2003)

VERSION 512 ISN'T BINARY COMPATIBLE WITH 511

1.	Nicolas
	DMA FRAMEWORK:
	1.	Implemented per-request max transfer size for DMA framework.
		The same size limit was imposed on every channel.  It proved to be
		inflexible because some DMA-capable peripherals sharing the same DMA
		controller may have widely differing limits.  From now on, The max
		transfer size specified when creating the controller (TDmac) should be
		the hardware limit imposed by the controller itself.  By default, this
		limit is used when fragmenting a request but an alternate limit can
		optionally be specified when constructing a DDmaRequest instance.
		This change is SC but not BC.
	2.	Extended interface between DMA framework PIL and PSL so that the PSL
		can specify the attributes to use for mapping the hardware chunk used
		to store the hardware descriptors.  The change is source incompatible.
	3.	Made DMA framework robust in face of missed interrupts.  Without this
		fix, the framework goes out of sync if one or more DMA interrupts are
		missed and the client is not notified of the completion of one or more
		requests.
		The DFC now checks the request queue for orphaned requests when all
		transfers have completed and cleans-up the queue and notifies the
		client for any missed completions if necessary.  The change necessitated
		the addition of a new pure virtual in TDmac (IsIdle) to check the state
		of the DMAC.  This function must be implemented by the PSL.  Also, the
		TDmaChannel::IsIdle() function was renamed into IsQueueEmpty() to avoid
		confusion.  Consequently this change is neither SC nor BC.
	4.	Added DMA skeleton PSL in template\dma.
	5.	Small changes following code review.
	MISC:
	6.	Documented various kernel-side APIs.

2.	JonathanM
	1.	Add new method CSession2::Disconnect(const RMessage2& aMessage).
		This enables a session to intercept Disconnect messages and delay session
		deletion until it can perform asyncronous cleanup.
	2.	Added TFindHandleBase::NextObject(TFullName& aResult,TInt aObjectType)
		and changed the 10 implementations of TFindXxxxxxx::Next(TFullName &aResult)
		to use this.
	3.	Added RHandleBase::OpenByName(const TDesC &aName,TOwnerType aOwnerType,TInt aObjectType)
		and changed RXxxxx::Open(const TDesC &aName,,TOwnerType aType) methods to use this.
	4.	Fix for DEF036520 - "RMessage::Complete doesn't NULL iHandle"
	5.	Added RThread::StackInfo(TThreadStackInfo& aInfo) which returns information about
		a thread's stack. RThread::GetRamSizes() now uses this to get the correct stack size
		but still returns zero for the heap size - which cannot be obtained by the kernel on
		EKA2.
	6.	Made EUSER compatible with EKA1 after IPC V2 backport. This is a BC break for EKA2.

3.	Dennis
	1.	Simplified client server IPC framework.
		Sessions now no longer have a standard user-side handle from the server
		to the client, as was always intended for V2 IPC. To support V1 IPC a
		new handle type is introduced to refer to the client thread of an IPC
		message. This handle is always in the range 0x80000000 to 0x87FFFFFF.
		It is calculated by

		h = 0x80000000 | ((x>>1)&0x07FF0000) | 0x00008000 | ((x>>2)&0x00007FFF)

		where x = offset of kernel side message object from base of kernel heap
		chunk (always a multiple of 4). These handles can be used wherever a
		standard thread handle can be used. This handle value is returned in the
		iClient field of the V1 RMessage object. The handle is duplicated when
		a connect message is processed to create a V1 non-sharable CSession
		object in order to provide a standard handle with a lifetime equal to
		that of the CSession. Note that this means that the CSession::iClient
		and RMessage::iClient values are no longer equal, and that it is not
		possible to store the RMessage::iClient value and use it after the
		message has been completed.
		Since there is now no need to manage a handle and cater for its cleanup,
		session shares are redundant and so they have been removed.
		Kernel side RMessageK objects have been reduced to 13 words in size and
		they no longer derive from RMessage2.
		Threads keep a count of how many IPC messages they have sent. If a thread
		terminates with IPC messages outstanding and extra reference is opened on
		the thread which is closed when all outstanding messages have been
		completed.
		Messages which have been delivered but not yet accepted are no longer
		discarded on session closure or thread termination. This is done both to
		simplify the implementation (since queue iteration is no longer required)
		and to make the behaviour more predictable (the old behaviour would be
		sensitive to thread priorities, timeslicing etc.)

	2.	Renamed RSessionBase::Share() to ShareAuto() to prevent ambiguity with
		V1 RSessionBase::Share(TAttachMode) function.

	3.	Added extra overloads to RSessionBase::CreateSession to allow sessions
		to be created pre-shared (ie no need to call ShareAuto() to make the
		session usable by all threads in the process).

	4.	Added virtual CServer2::DoConnect(const RMessage2&) which is called when
		a connect message is received. This allows connect to be done by another
		thread, which might be necessary if real time guarantees are required,
		since connect is not a real time service. CSession2::Disconnect() can
		be similarly used to process disconnect messages in another thread.
		It should be noted that the CServer2::iSessionQ is updated/iterated by
		session connect, session disconnect and server deletion operations, so
		these should all be done in the same thread unless additional mutex
		protection is provided.

	5.	__xHEAP_TOTAL_RESET now walks the heap and sets the nesting level for
		all allocated cells to zero and so lives up to its name.

	6.	Added virtual TInt DObject::RequestUserHandle(DThread*, TOwnerType)
		which is called prior to creating a user handle of the specified type
		for the specified thread. This allows kernel objects to control access
		to themselves by vetoing the creation of handles from threads or
		processes which should not have access.
		Currently used by DSession to enforce non-sharability for sessions on
		servers which don't support it. Also used by DTimer to make sure only
		creating thread can use it.

	7.	Changed TRealX::operator TInt64() for X86 back to the TInt64-is-class
		version.

	8.	Added handle type ipcmessaged to genexec.pl and execs.txt.
		Meanings are:
			ipcmessaged =	any RMessageK in the accepted state on a server in
							the current process.
			ipcmessage	=	as ipcmessaged but don't allow disconnect message.
			ipcclient	=	as ipcmessage but refers to message client thread.

	9.	Fixed crash debugger problem with listing code segments loaded into a
		process.

	10.	Fixed problem with Epoc::RomProcessInfo() - some fields of the returned
		structure were left uninitialised.

	11.	Modified floppy and ATAPI drivers for X86 to flag themselves as
		removable media under the new scheme where an extra virtual function on
		DPrimaryMediaBase is used to indicate this.

	12.	Added exported function NKern::CurrentContext() to allow RTOS personality
		layers to determined whether a function call is made in the context of
		a thread, an interrupt or an IDFC.
		Exported some other nanokernel functions which might be required by RTOS
		personality layers.

	13.	Added a basic example personality layer with some test code.

	14.	Fixed some problems with timed waits resulting from a race condition
		between the timer expiry handler (running in DfcThread1) and other code
		trying to resolve the wait condition normally, which involves cancelling
		the timer. The problem arises if both the thread resolving the wait
		condition and the waiting thread have priorities higher than that of
		DfcThread1. In this case it is possible that DfcThread1 is preempted
		right at the beginning of the timer expiry handler. The timer cancel
		will have no effect since the timer state has already been set to idle
		and the expiry handler will run after the waiting thread has been
		released, has run and blocked again. This potentially causes a
		subsequent timed wait to time out too early.
		The problem is fixed by adding a new flag to the NThread::iTimer to
		indicate definitively that it has been queued. The flag is set with the
		nanokernel locked at the same time that the timer is queued. It is
		cleared when the wait is resolved normally and the timer is cancelled
		and also if the timer expires and the expiry is not spurious.
		However the race can now be detected by noticing that the flag is still
		set but the timer state is idle. In this case the timer 'cookie' has
		bit 0 flipped. The expiry handler can use the fact that bit 0 of the
		cookie it was passed does not match the current value of the cookie in
		the NThread::iTimer object. In this case the timer expiry is spurious
		and no action is taken.

	15.	Fixed problem where a load fails due to codewarrior leaving a DLL in
		the import list even though nothing is actually imported from it.

	16.	Incorporated a folding table for 8-bit characters into the kernel.
		Removed the now-redundant USERSTUB.DLL and STANDALONE.DLL

	17.	Incorporated the default UK locale settings into the kernel. Removed
		E32's version of ELOCL (ELOCL_BASE). Changed Exec::ChangeLocale() so
		that passing a NULL code segment handle restores the default locale
		settings.

	18.	Added some tracing to example personality layer initialisation.
		Fixed a bug in the example personality layer test application.

	19.	Modified KDebugMask() not to look for a per-thread debug mask if the
		current thread is not a Symbian OS thread.

	20.	Changed all OBY/IBY files to use macro KMAIN instead of MAIN (and
		KERNEL_DIR instead of ABI_DIR) when including kernel-side files.
		Currently KERNEL_DIR is always the same as ABI_DIR.
		KMAIN is the same as MAIN unless the option -x <kernel_abi> is supplied
		to ROM.BAT, in which case KMAIN = <kernel_abi>. This allows mixed GCC
		and RVCT ROMs to be built.
		Modified MAKMAKE so that the ROMFILE option uses MAIN or KMAIN as is
		appropriate in the generated IBY files.

	21.	Added SInt64, SUint64 and SDouble to enable 64-bit data items to be
		passes across GCC/EABI boundaries. These classes have 4-byte alignment
		in both cases and have conversions/assignments to/from the relevant
		data type.
		Use SInt64 in TSupplyInfoV1 and TMachineInfoV1.

	22.	Move RAllocator data members back into RAllocator and get rid of
		SAllocatorData. Move pure virtual functions from RAllocator into new
		base class MAllocator. This is done to ensure that the vptr is always
		in the first word and the layout is the same on both GCC and EABI builds.
		The previous scheme didn't work since EABI puts the vptr in the first
		word even if there's a base class with no virtual functions - it offsets
		the base class in this case.

	23.	Modify halcfg.pl to deal with /* ... */ comments as well as // comments.

	24. Modified the way binary searches are done in RPointerArray and RArray.
		A new mode parameter is passed in to the search routine which takes one
		of the following values:
		EArrayFindMode_First -	find the first matching entry
		EArrayFindMode_Last -	find the first entry exceeding the specified one
								index = array count is returned if no such entry exists
		EArrayFindMode_Any -	find any matching entry (allows early termination, =old behaviour)

		For functions which have only a return value and no out-parameter for
		the index, the return value equals the index (always >=0) if a match
		was found and equals KErrNotFound if no match was found.

		For functions which have both a return value and an out-parameter for
		the index, the return value equals KErrNone if a match was found and
		KErrNotFound if no match was found. The index equals the value described
		above if a match was found and equals the index of the first entry
		exceeding the specified one if no match was found (=array count if no
		such entry exists).

		New exported functions have been added to allow searching with a specified
		mode. The InsertAllowingRepeats() type functions now use a LAST mode
		binary search to locate the insertion point rather than an ANY mode
		search followed by a sequential search. All old exports are still present
		for BC reasons and default the mode to ANY.

		This modification was prompted by licensee incident report INC036185.

	25.	Implemented POSIX-style condition variables (RCondVar) which are used in
		association with RMutex to implement arbitrary wait conditions.

4. MichaelP
	1.	Added in-source documentation to USB client driver (PIL + LDD).
	2.	Many smaller code changes + fixes to USB client driver (PIL + LDD + Cotulla PSL).
	3.	Fixed defect DEF036368 - "USB base drivers not in ROM":
		Updated file /lubbock/rom/base_lubbock.iby to include USB PDD + LDD.

5. CiprianM
	1.	Propagated DEF023302 - Invalid test in HBufC8/16::__DbgTestInvariant():
 		HBufC, TPtr and TPtrC __DbgTestInvariant functions now match
 		the actual class invariants.
	2.	Propagated defect DEF021977 - RNotifier can start a notifier that doesn't exist
	3.	Added a new debug port KNullDebugPort=-2 which supresses any output to the com
		ports. It can be set in the .xby files with the debugport keyword or with the
		debugport eshell command. Please note that debugport eshell command only takes
		unsigned values, so you can set the port by using "debugport 0xfffffffe"

6. StefanW
	1.	Various changes to SD Card Controller and media drivers to conform to compliance tests.
	2.	Added support for SD Card Protected Area access using device key.
	3.	Added support for cards that don't support MB Write or Erase command class (like ROM Cards).
	4.	Changed MMC media driver to take advantage of faster multi-block erase during format.
	5.	Re-ordered of SD and CPRM exports to make compatable with MMC library.
	6.	Added support for EABI builds of SD and CPRM versions of the controller.
	7.	Propogated DEF018291  MMC initialization is unnecessarily slow
	8.	Propogated DEF022315  SDCard: RAM MKB isn't supported
	9.	Propogated DEF022316  SDCard: The MKB mode is not set when issueing a secure write command.
	10.	Propogated DEF022318  SDCard: MKB mode setting problem for first sector after end of root dir

7. RobertJ
	1.	Fixed DEF035922
 		"USBMAN panics when trying to SetInterface with iString = NULL"

8. TonyL
	1.	Fixed DEF035567 "TimeW - Can't set an Alarm". Added Lubbock sound driver
		to techview oby file.
	2.	Fix for occasional writing off end of LFFS mapped virtual space on
		Lubbock.
	3.	Fix LBA support in Lubbock specific PC card driver.

9. ChrisM
	1.	Fixed DEF036660 "Cedar emulator panic on restart in codewarrior debugger".

10. CarlosF
	1.	Added Integrator Bootloader. This was made generic and independent of what processor
		is being used, and uses MMC to download images to RAM or Flash (or serial download).

Version 2.00.511
================
(Made by JonathanM, 19/05/2003)

0. JonathanM and ChrisM
		Changes to make EKA2 compatible with Symbian OS version 7...
	1.	Restored TInt64 as a class.
	2.	Added dummy exports to EUSER for functions which aren't unsupported on EKA2.
		The exports panic with "Deprecated EUSER xxx" where xxx is the EUSER eport
		ordinal.
	3.	IPC classes restored to their v7 definitions (RMessage, RMessagePtr, RServer,
		CServer, CSession and CSharableSession).
		Secure API versions of these are now seperate classes (RMessage2, RMessagePtr2,
		RServer2, CServer2, CSession2)
	4.	Renamed User::Heap() to User::Allocator() and provided inline version of User::Heap()
		which uses User::Allocator().
	5.	Made UserHal::SwitchOff() behave as it does on 7.0.
		(This is needed until new domain manager is integrated into the rest of the OS.)
	6.	Many other changes and tidy-ups

1. Morgan
	1.  Removed barrier for effective post-mortem debug by removing
		__NORETURN__ and __NORETURN_TERMINATOR__ directives from selected functions.
		(Panic, Fault, and Exit functions throughout user and kernel code effected.)
	2.	Added RDebug::Print trace redirection to DebugEventHandler.
	3.	Added Debugger::Version() and DDebugEventHandler::Enabled() functions

2. Dennis
	1.	Code in /e32/memmodel/epoc/mmubase/... is now common to both moving and
		multiple memory models. This deals with allocation and freeing of page
		tables, initialisation of some memory management-related kernel data
		structures, management of hardware chunks shadow pages.

	2.	Moving model now maintains information relating to the use of each
		physical RAM page in the same way as the multiple memory model. This
		information will be used for mobile SDRAM defragmentation.

	3.	IO mappings are now made in two separate address regions. Mappings made
		by the bootstrap go in the "Primary IO Mappings" area, which is a 16Mb
		address region starting at 63000000/C3000000 on the moving/multiple
		model respectively. These mappings are never altered by the kernel.
		Mappings made by variants/extensions/drivers use HW chunks and these
		are allocated addresses in the kernel section. There is no separate
		hardware address section.

	4.	Hardware chunks will now use 64K pages and 1M sections if possible
		rather than using 4K pages for the entire mapping. The linear address
		used is selected to allow the use of the largest possible mapping size
		for the size of the region to be mapped.
		Additionally, the rationalised bootstrap code allows the use of 64K
		and 1M mappings in the primary IO area.

	5.	Removed the AddressInfo and RealTimeInfo functions from all ASSPs and
		variants. The RealTimeInfo now always uses the standard values of 32
		pages and 512 bytes. The information returned by AddressInfo consisted
		of two parts - the home section/hw section info and the cache flush/RAM
		drive info. The changes to the way HW chunk addresses are allocated
		remove the need for the first part. The second part was used only in the
		direct memory model; the required information is now passed in the super
		page (since it is ultimately determined by the bootstrap).

	6.	The way RAM is mapped in the direct memory model on platforms with an MMU
		has been changed to avoid problems with cached RAM being used for I/O.
		All RAM is mapped in one contiguous block starting at KernelDataAddress-8K
		using a cached mapping. 'User' RAM is also mapped at its physical address
		using an uncached mapping. Epoc::AllocPhysicalRAM returns a physical
		address, which will also be the address at which uncached accesses occur.
		The allocated range is also purged from the cache at the end of
		Epoc::AllocPhysicalRAM.

	7.	Two new fields iKernelLimit and iRamBase have been added to the super
		page. These are used by the direct memory model only. iRamBase is the
		linear address of the base of the cached RAM mapping. iKernelLimit is
		the linear address of the base of the user-accessible RAM, which is also
		the base of the RAM drive.

	8.	The organisation of kernel mappings in the moving and multiple memory
		models has been changed. The kernel .data/.bss sections, the initial
		thread stack and the initial kernel heap are now all mapped in one
		contiguous block starting at TRomHeader::iKernDataAddress. This block
		becomes the SvHeap chunk. The SvData chunk no longer exists.
		The rationalised bootstrap code uses 64K mappings for this initial
		kernel data area, reducing the number of TLB misses and improving
		performance. The initial kernel data area contains very frequently used
		data such as the scheduler and interrupt stacks.

	9.	TRomHeader::iKernStackAddress no longer exists. It has been replaced with
		TRomHeader::iKernelLimit, which is the limit of prereserved addresses
		in the kernel section. On the multiple memory model this is simply the
		top of the kernel heap rounded up to the next 1Mb boundary. On the
		moving model it also includes address space for fixed process data
		chunks.

	10.	Split the super page into two parts. The base class SSuperPageBase now
		contains all the values shared between the kernel and the bootstrap.
		This is defined in a separate header file /e32/include/kernel/kernboot.h
		which defines the interface between bootstrap and kernel.

	11.	Moved some constant definitions from
			/e32/include/memmodel/epoc/moving/arm/arm_mem.h
			/e32/include/memmodel/epoc/multiple/arm/arm_mem.h
			/e32/include/memmodel/epoc/multiple/x86/x86_mem.h

		into mmboot.h files in the same directory. This enables the files to be
		shared with bootstrap code.

	12.	Rationalised all bootstrap code in the system.
		The epoc.inc files have	been removed. Instead, the following files are
		automatically translated to assembler format (using /e32toolp/e32util/h2inc.pl)
		which could be either ARMASM or GNU AS for ARM platforms or Turbo Assembler
		for X86:

		/e32/include/e32rom.h - ROM header and file system layout
		/e32/include/kernel/kernboot.h - Interface between bootstrap and kernel
		/e32/include/memmodel/epoc/<model>/<cpu>/mmboot.h - (not on direct model)
			Memory model dependent values (mainly linear addresses).

		The file /e32/include/kernel/arm/bootdefs.h is used on ARM CPUs to
		provide certain definitions internal to the bootstrap.

		The following assembler include files are also provided (for ARM CPUs
		only):

		/e32/include/kernel/arm/bootmacro.inc - debug and general use macros
		/e32/include/kernel/arm/bootcpu.inc - CPU/MMU specific definitions and
			macros for describing I/O and memory mappings.

		On ARM platforms three generic source files are used:

		/e32/kernel/arm/bootmain.s - The top level boot code, from reset vector
										to 'jump to kernel'.
		/e32/kernel/arm/bootutils.s - Utility subroutines, including memory copy
			and fill, MMU management routines, RAM groping, management of RAM
			bank lists, memory allocation, and debug stuff.

		/e32/kernel/arm/bootcpu.s - CPU specific code.

		These files are combined with (usually) one platform specific file which
		does hardware initialisation and provides descriptions of the RAM, ROM
		and hardware present on the device. Also required is a platform specific
		configuration header file (config.inc) which specifies the CPU to build
		for and some other configuration options, and a platform specific
		makefile (uses GNU make). The latter lists any platform specific files,
		specifies the relative path to E32 and specifies the memory model. It
		then includes the generic makefile /e32/kernel/bootstrap.mke.

		The generic makefile will find all the .s, .h and .inc files specified,
		translate .h files to .inc as required, assemble and link. RVCT, ARM SDT
		2.11 and GNU AS assemblers are supported. If no ARMASM can be found,
		include and source files are automatically translated to GNU AS syntax
		(using /e32toolp/e32util/armasm2as.pl) and GNU as/link are used.

	13.	Moved all our extension makefiles over to GNU make, except for
		x86pc/pcboot.mke, since the X86 port needs MSVC anyway.

	14.	Don't bother saving SPSR on the stack during the IRQ preamble.

	15.	Modified all assembler code to preserve 8 byte stack alignment where it
		calls back to C++ code. Functions which don't call back to C++ have
		not been modified. Also TScheduler::Reschedule() does not keep the
		stack aligned, since no C++ code is called - the memory model hook must
		be in assembler since it uses a nonstandard calling convention. The only
		place where C++ may be called from the scheduler is in IDFCs; the stack
		is aligned at that point.

	16.	Changed all MOV PC, Rn instructions in the kernel and drivers to BX Rn.
		This means that the kernel and/or drivers could be built as thumb, but
		only on architecture 5 devices. LDR PC, ... and LDM Rn, {...,PC} have
		not been modified to use BX.
		Building the kernel as thumb would not be practical with GCC anyway due
		to the volume of assembler code in the kernel and the fact that GCC
		doesn't cope well with mixed ARM/THUMB code.

	17.	Fixes to prevent emulator occasionally locking up during process exit
		due to the ExitProcess being suspended by emulator scheduling but never
		being resumed since the rescheduler thread has been killed off.

	18.	Implemented User::FreeLogicalDevice and User::FreePhysicalDevice.
		The code segments are only unloaded when the idle thread runs to prevent
		obscure lifetime issues.

	19.	Added assertions to check that kernel-side mutexes are acquired in the
		correct order to prevent deadlock. The assertions are active in debug
		builds only. These assertions require:
		i.	Extra member data in DThread. This is present in both debug and
			release builds since DThread is derived from.
		ii.	Extra member data in DMutex. This is present only in debug builds
			since DMutex is not derived from and the extra data is at the end
			of the class.
		iii.All places where a kernel side mutex is created must supply an extra
			parameter which indicates the position of the mutex in the global
			ordering. The values used for the standard kernel mutexes are
			in kernel.h

	20.	Fixed hardcoded offset bug in assembler coded ExecHandler::MessageComplete
		which has been there since the original platform security changes.

3. MichaelP
	1.	Adding USB 1.1 client support to EKA2. This comprises of the software
		controller USBCC.DLL (PDD as a kernel extension), which in turn internally
		consists of PSL and PIL (Platform-Specific/Independent Layer, respectively),
		and the LDD EUSBC.LDD.
		The PSL	submitted here is for Lubbock/Cotulla only. The PDD lives in
		/e32/drivers/usbcc (PIL) and /cotulla (PSL), the LDD in /e32/drivers/usbc.

4. JonathanM
	1.	Fixed defect INC022668  - "Modifier example crashes the emulator"

4.	Nicolas

	DEBUG API CHANGES: Some of the changes are source-incompatible with the previous
	debug API drop.

	1.	Unified all debugging hooks into a single extensible scheme (DKernelEventHandler).
		It supports hardware exceptions, user-side software exceptions, ressource
		tracking (new thread, ...) and user trace redirection.

	2.	Fixed bugs in resource tracking hooks: The "main thread creation" event was sent
		twice and creation of the data/bss/stack chunk was sent before the corresponding
		process creation event.  Fixing it required semantic changes to EEventAddProcess,
		EEventRemoveProcess and EEventRemoveThread.

	3.	Added EEventKillThread which is called whenever a thread dies in the context
		of this thread while all its resources are still available.  This event should
		be used in preference to EEventRemoveThread.

	4.	Extended NKern::ThreadGetUserContext().  It can now be called from the current
		thread and behaves correctly when called on a dead thread.

	5.	Added NKern::ThreadSetUserContext().

	6.	Documented various debug-related APIs.

	OTHER CHANGES:

	7.	Added elocl.dll and ektran.dll to the obey files for full ROMs.  They
		were previously included by romkit\...\base.hby.  The latter has been
		deleted.

	8.	Fixed bug in ATA media driver: A trace statement was referring to an
		obsolete hardcoded I/O address (0x58xxxxxx / old memory map).  Removed,
		to avoid problems in the future, some commented out trace statements in
		ATA media driver and serial LDD suffering from the same problem.

	9.	Fixed $$$$ bug in EUSER TStringToDateTime::GetSeparatorToken().


Version 2.00.510
================
(Made by ChrisM, 18/03/2003)

1. Dennis
	1.	Made major changes to Lubbock bootstrap - previously looked like it was
		copied from SA1110 bootstrap and contained many errors.
		CPU should now run at 199MHz, SDRAM at 99.5MHz.
		Everything should now be cached appropriately.

	2.	Made some other kernel changes for XSCALE to work round known problems
		with the PXA250 device (Cotulla) - Errata 14, 21, 96 in specification
		update.

	3.	Some fixes for ARM v6.

	4.	Fix bug in ARM assembler coded IPC stuff.

	5.	Added a special instruction (TST PC, #0) to the beginning of all EKA2
		entry points. This is detected by PETRAN/ELFTRAN and the file marked as
		having an EKA2 style entry point. The ELF-derived and JFormat flags have
		been generalised into header format, import format and ABI fields.
		An entry point type field has been added to distinguish EKA1 and EKA2
		entry points.

	6.	Fix problem getting filename of a dead process.

	7.	Fix Series5mx and some other bootstraps - the RVCT mods destroyed
		position-independence.

	8.	Add 'nowrapper' keyword to ROMBUILD. If specified in OBY file it causes
		the	256 byte wrapper to be omitted. Added the keyword to our obey files
		where needed.

	9.	Added --kerneltrace (-k) option to ROMBUILD to override kernel trace mask
		from the command line.

	10.	Added RMessagePtr::ClientDataCaging() to return the data caging attribute
		of a client without recourse to opening handles (which could fail).

	11.	Removed the Cirrus Logic 7211 port.

	12.	Update mainline base_*.iby files to take account of the new name
		for medint.pdd

2.	CarlosF
	1.	Moved the definition of the Digitiser area and offset to Display area from
		the Variant to the Digitiser driver. Those parameters are now returned by
		a new function: DDigitiser::DigitiserInfo.
	2.	Extended the EHalGroupDigitiser group of functions with the addition of another
		enumeration: EDigitiserHalXYInfo. This allow obtaining the info on the Digitiser
		through calling Kern:HalFunction.
	3.	Removed an annoying dependency on the LCD extension having to start before the
		Digitiser extension which was caused by the Digitiser::DoCreate function
		requesting the Machine Info which reads the LCD info off the LCD driver.
	4.	Changed Assabet Ethernet PDD to fix a bug which resulted on when setting a new
		MAC address having to restart the driver in order for this to take effect. Also
		updated the WINS HowTo document. (All of the above under changelist 235561 and
		238007)
	5.	Changed EXSTART to start the Secondary process from a DFC. This guarantees the
		File Server is always started after all the extensions have been started,
		regardless of their relative ordering on the .IBY file. (Changelist 236966)
	6.	Removed hal\hal directory and updated hal\bld.inf (these excrecences were left
		from a previous change in the build system).
	7.	Enhancements to the HAL: provided implementations for a few attributes (EAccessoryPower,
		EPowerBackup, EKeyboardState, EKeyboard, EKeyboardDeviceKeys, EKeyboardAppKeys,
		EKeyboardClick, EKeyboardClickVolumeMax, EBacklight, EPen, EPenX, EPenY, EPenState,
		EPenClick, EPenClickVolumeMax, ELEDs, ESwitches, EMouse, EMouseX, EMouseY and EMouseButtons).
		EKeyboardState and EPenState are used by UIKLAF (as in Hurricane).
		Modified Assabet Variant and Digitiser and Keyboard drivers accordingly (also SOC drivers).
		Changelist 241295.
	8.	Rationalised Machine Info: due to changes above this is no longer held in the Variant,
		instead Keyboard, Display and DIgitiser related info is held on those extensions.
		Removed Variant unrelated info from all Variants. Modified UserHal::MachineInfo to assemble
		a Machine Info buffer pulling the info from the relevant sources. Changelists 242849 and
		242852.
	9.	Changes to Integrator Port: separated the Logic Module from the Variant. The existing
		(and any future) Logic Module directory builds independently from both ASSP and Variant.
		It also builds a special Kernel Extension (Variant Extension) which is used to extend
		to extend the Variant. The Variant Extension registers with the Variant at boot time and
		it is called by the Variant whenever it executes a function for which the Variant Extension
		registered an interest.
	10.	Modified rom.bat: the decision to include Logic module(s) binaries in ROM is only done at
		ROM building time. Introduced a new option (--modules or -m) to allow specifying a list of
		Logic modules directory names separated by commas. The Logic Modules export their own .iby
		files.
		As an example, to build a text shell ARM4/UDEB Integrator ROM comprising core module CMXXX
		and Logic Modules LMYYY and LMZZZ type:

			rom -i arm4 -b udeb -v integrator_cmxxx -m lmyyy,lmzzz -t tshell

		The ROM image generated will be called:

			INTEGRATOR_CMXXX_LMYYY_LMZZZARM4D.IMG
	11.	Also modified the way Mainline Integrator ROMS are built. Using the above example you would
		need to type:

			rombuild integratorxxx lmyyy lmzzz techview
		Changed the Base overnight build scripts accordingly.
		(Paragraphs 9. 10 and 11. under changelist 246862).
	12.	Implemented CM920 Bootstrap side of Kern::Restart. Building Integrator-specific tests now
		export autoexec.bat as required.

3.	Nicolas
	1.	Added assertions in Kern::MutexWait() and Kern::MutexSignal() to ensure
		calling thread is in critical section.
	2.	Migrated fix for Hurricane defect INC017140 - CAsyncOneShot does not
		check return code from RThread::Duplicate: Panic if the duplication
		fails as the proper fix (adding a 2nd-phase c'tor and moving the duplicate
		operation there) implies breaking BC.
	3.	Fixed another bug in CAsyncOneShot: request status was not set to pending
		before making the AO active.
	4.	Some changes to DMA framework:
		a.	TDmac and TDmaChannel were wrongly deriving from DBase.  They are
			now standalone classes which must be stored in the BSS section.
		b.	Added TDmaChannel::Extension() and TDmaChannel::StaticExtension() so
			PSL to extend generic API.  The former is for channel-specific
			operations, the latter for global ones.
		c.	Updated comments.

4.	JonathanM
	1.	Fix for DEF016645 - "Sound driver returns incorect length of data when recording"
	2.	Make Domain component use __SECURE_API__
	3.	Integrate lost fix for defect BAD-58CDM4 - "Locale change has no effect on
		contact filtering."
	4.	Fixed bug in User::Panic where it would give USER 23 if the category name was too long.

5.	CiprianM
	1.	8bit kernel : REQ415 : "Kernel objects shall use narrow names (ie 8bit  non-Unicode).
		The user-side APIs that reference kernel objects shall retain 16bit APIs, but shall
		only accept ASCII names. The object names shall be validates so each name only
		contains characters in the range 0x20 to 0x7f."
		16 bit descriptors have been removed from the kernel.
	2.	Fix for DEF000034/MAT-5AJCZ9  (Propagated) RArray's binary search code is heretical
	3.	Fix for DEF021465 - Mistaken construction of a TBuf<> by assignment from a TInt

6. 	PhilK
	1. 	Fix for DEF015625 - "USB cable detection doesn't work on Lubbock"
	2. 	Fix for DEF016388 - "Lubbock - t_video/t_shal e32test failures - t_video does not blank screen"
	3. 	Add Lubbock sound driver.
	4. 	Increased LFFS size to 29MB.
	5.	Add Lubbock bootloader and generic bootloader display driver.

7.	AndrewT
	1.	Implemented CRJDOD-5J8MQV: "Factor RTest and Console::NewL() out of EUSER"
		Console::NewL() now creates a proxy console class which dynamically loads
		ECons.dll to create the real console implementation, removing the static
		linkage from EUSer to ECons. On the emulator it attempts to use both ECons
		and EConseik to support both text-shell and GUI emulators. It is also now
		possible to build GUI ROMs without ECons.dll.

8.	AndrewJ
	1.	Implemented new media driver for Rofs on wins, this uses dirve J:
	2.	Added second partition to the assabet lffs driver for Rofs need to
		remove the MACRO ROFS_PARTITION from the mmp file to run the original
		configuration of one partition. The required that the allocation of
		drives per CF-card slot be reduced by one.
	3.	Added configurable partition function to the SOC lffs driver, then
		enabled the functionality to the integrator specific driver configuration.
		This involoved adding an lffs_config.h file to specify the partitions

9.	ChrisM
	1.	Added wins sound driver
	2.	Fixed t_env to prevent it leaving a t_env_child process
	3.	Added code to start eshell automatically on emulator if started with epoc and text window server.
	4.	Fixed sound driver ldd causes panic if emulator switched off whilst playing
	5.	Fixed long debug print output can crash emulator problem
	6.	Optimised debug print to use less stack space


10. PeteS
		Added support for multiple Peripheral Bus Controllers:
	1.	Instead of each Peripheral Bus Controller having a pre-defined set of local drives that it registers
		for, each now calls down to the variant DLL for the list of drives for that platform prior to
		local drive registration. Hence the function: TMMCardControllerInterface::IsMMCStack(TInt aSocket)
		has been renamed and extended to:-
			TBool TMMCardControllerInterface::IsMMCSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
		Similarly, the function TPcCardControllerInterface::IsPcCardSocket(TInt aSocket)
		has been extended to:-
			TBool TPcCardControllerInterface::IsPcCardSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
		Local drive numbers are supplied via the new struct: SMediaDeviceInfo which also contains, total drives
		to register, total media objects to register, Media type and device name.
		Each variant now contains the header file VARIANTMEDIADEF.H which holds the complete set of media
		definitions for that platform.
	2. 	In addition, the local drive allocation for Media Drivers that register for local drives should also
		be platform specific rather than pre-defined. Unlike, Peripheral Bus Controllers, these don't have a
		separate PBUS variant DLL.
		Most, such as the LFFS and ROFS Media Drivers are already built from the variant directory since
		they contain platform specific code. These have been modified to take the drive registration info.
		from the variantmediadef.h file for that variant.
		The IRAM Media Driver (MEDINT.PDD) however was built 'generically' from the kernel directory. This has
		now been modified so it also builds from the variant directory. Again, this takes drive registration
		info. from the variantmediadef.h file for that variant. To build this requires the definition of the
		include path for this media info file. This must be done by defining 'VariantMediaDefIncludePath' in the
		variant.mmh file for the platform.
	3.	Since various Media Drivers only open for specific values of the media device type enum: TMediaDevice,
		these have been pre-defined as follows (but can still be re-used on platforms which don't support the
		standard media type):-
			EFixedMedia0		- 	IRAM
			EFixedMedia1		- 	LFFS
			EFixedMedia2		- 	ROFS
			ERemovableMedia0	-	MMC
			ERemovableMedia1	-	PC-CARD.
		Note that it is no longer possible to use the removable media type to determine the socket number.
		(For example PC Card devices on different sockets now all have media type 'ERemovableMedia1). Some
		user-side code was relying on assigment of media types to determine the socket number - using
		RLocalDrive::MediaDevice(). A new function RLocalDrive::IsRemovable(TInt& aSocketNum) has been added
		to retrieve the socket number for removable devices.
	4. 	Due to the differing use of TMediaDevice values described above, the media driver constructor - exported
		from ELOCD has been changed from
			DMediaDriver(TMediaDevice aDevice)
		to
			DMediaDriver(TInt aMediaId).
	5. 	Added MMC support for Lubbock. (Since this already supports PC-Card - this is now an example of a platform
		with multiple PBus Controllers).

Version 2.00.509
================
(Made by JonathanM, 14/01/2003)

1. ChrisCr
	1.  DEF001740 - (Propagated) PBUS power saving is bad for power saving.
		Disable timer tick when PSU off.

2.	JonathanM
	1.	Changes for REQ 358.2 "CPU-specific builds" and
		REQ358.3 "Split CPU- and ASSP-specific configuration"...

		Base code no longer builds for ASSP specific targets (e.g. MISA or MI920.)
		instead they build for the ABI they use (e.g. ARM4).

		Non-generic code is specified only in the relevant Variant's BLD.INF file.
		E.g. in Assabet the kernel's MMP file is added as

			..\e32\kernel\ekern

		and the SA1100 ASSP is included by

			#include "..\sa1100\sa1100.inf"

		In order that the same source code and MMP files can produce binaries specific
		to a given Variant, each Variant must supply a file called 'variant.mmh' which
		contains information of CPU type, Memory Model and a macro to generate a
		distinguishing name: E.g. for Assabet this is...

			macro __CPU_SA1__
			#define MM_MOVING
			#define VariantTarget(name,ext) _assabet_##name##.##ext

		MMP files include this header file by the line '#include <variant.mmh>' and
		will use the VaraintTarget macro in specifying arguments for things like TARGET
		and LIBRARY. The #include search path for the build tools has been extended to
		additionally look in the directory which contains the projects BLD.INF file.
		(So this is where variant.mmh should live.)

		Because the binaries for different Variants can now have a unique name prefix
		it is no longer necessary to use cryptic two character Variant codes in their
		names. Also, now we no longer have 8.3 filenaming restrictions the opportunity
		has been taken to rename all device drivers and kernel extensions. These now
		have the same name as they have in ROM. E.g. the Assabet serial driver is now
		build as '_assabet_euart.pdd' rather than 'datxab.pdd'.

		TEST CODE

		Test drivers and other Variant specific test code now lives in the Variant
		under the 'test' directory. To avoid having to change source code, the
		'variant.mmh' for the test code defines relevant ASSP macros like '__MISA__'

		ROM BUILDING

		IBY files live in their respective variant under the 'rom' directory.

		Changes to ROM.BAT

		a. Variant name must be specified in full.
		b. The ASSP is no longer needed or allowed.
		c. The ABI to use must be specified with the --inst= option.

		e.g. To build assabet use

			rom --v=assabet --inst=arm4 --build=udeb

		or Integrator with ARM920 and the logic module

			rom --v=integrator_lmxx600_cm920 --inst=arm4 --build=udeb

	2.	Debugger suport changes. Added APIs to hook the Scheduler and enable a callback
		function to be called on every context switch.

			NKern::SchedulerHooks(TLinAddr& aStart, TLinAddr& aEnd);
			NKern::InsertSchedulerHooks();
			NKern::RemoveSchedulerHooks();
			NKern::SetRescheduleCallback(TRescheduleCallback aCallback);
			static const TArmContextElement** NThread::UserContextTables();
			TInt NThread::GetUserContextType();

	3.	Removed unused DThread::CallUserFunction(TAny* aFunction, TAny* a1, TAny* a2);
		Changed arguments to NKern::ThreadGetUserContext();
	4.	Modified TDesXx::AppendFormatList to cope with 8byte alignment of arguments.
	5.	Changes to ensure that on ARM CPUs a threads stack pointer is 8 byte aligned
		(to support EABI). This was done by making the thread parameter block info
		have a size which is a multiple of 8 bytes.
	6.	Fix for DEF012058 "Missing pieces in e32/rombuild datacaging implementation"
		(Moved all base binaries to live in \System\Bin\)
	7.	Fixed bug in TDes8::Num(TReal aVal,const TRealFormat &aFormat) and friends.
		When using KRealFormatFixed with a number which had a negative exponent, the
		stack could get corrupted when the number was rounded.
	8.	Fix for defect DEF015827 - "OOM testing works incorrectly for ReAlloc"
	9.	Modify Lubbock bootstraps to fix some MMU config bugs.
	10.	Fixed ARM/Thumb interworking problems with huffman coding CIA file.
	11.	Fixed Kern::MachinePowerStatus() so that it copes if there isn't a power model.
	12.	Find ARM/Thumb interworking bug in CActiveScheduler::Run.
	13.	Moved ESHELL.EXE and D_EXC.EXE into System/Bin.
	14.	Fixed ARM/Thumb interworking problem with DLL entry points.

3.	AndrewT
	1.	Added 'LogTimeStamp' property to the emulator to control whether the elapsed
		time is included in the Log file (epocwind.out). It defaults to '1', a value
		of '0' in the ini file will disable the timestamp - useful for comparing test
		logs from different builds.
	2.	Implemented most of REQ817: Added CActiveSchedulerWait class from Typhoon, and
		removed most of the redundant CActiveScheduler interface. See in-source doc for
		details. Note that:
		* Level() is deprecated, prefer to use the public StackDepth() member
		* Leaving from CActive::RunError() or CActiveScheduler::Error() will be
		  considered a fatal error.
		  Instead use CActiveScheduler::Halt() to exit the current level and force
		  Start() to leave. When all such illegal uses are changed this will be
		  enforced by making debug builds panic if this deprecated use is encountered.
		  Release builds will ignore the leave but this will result in memory corruption
		  at some later time.
		* Mixed use of CActiveScheduler::Start() and CActiveSchedulerWait::Start() is
		  not recommended, though it works in some fashion
		* CActiveSchduler::RunIfReady() is still present but will be removed shortly.
	3.	Bootstrap build rationalisation and RVCT2.0 support:
		* Build details now controlled by e32/kernel/bootstrap.mke which is exported
		  to \epoc32\include\kernel\. It handles the old/new toolchain issues and
		  currently supports the v2.11 ARM tools and the RVCT2.0 ones.
		* Each bootstrap nmake file has to define a few macros and then include the
		  standard one. See /lubbock/bootstrap/bootrom.mke and
		  /bootldr/bootstrap/assabet/bootroma1.mke for examples
		* Intermediate files are now all put into a build directory in /epoc32/build/...
	4.	Fixed the SMP race condition in the Win32 nano-kernel. This allows the
		emulator to run on multi-CPU PCs without having to manipulate the
		CPU affinity for the process. Note that this does not allow the emulator
		to fully utilise both CPUs as the nano-kernel scheduler only lets a single
		thread run at a time.

		For flexibility there is now an emulator property 'HostCPU' that can
		control the CPU affinity of the emulator.

		* if not defined or has the value -2, the emulator will run on just one CPU
		  on the PC (the first one available).
		* if it has the value -1, the emulator will use all the CPUs available
		* if it specifies an existing processor (0..N-1 for a N-CPU machine), the
		emulator will run on just the identified processor;
	5.	Added new versions of operator new, both global and CBase:

			operator new(TUint aSize, TLeave, aExtraSize)

		This essentially provides the leaving version of the 'extra-size' variant.
	6.	Added __THROW() and __NO_THROW macros to e32def.h to allow operator new to
		have a throw specification (for the RVCT compiler). This both removes a
		warning and informs the compiler whether the operator returns NULL in OOM
		or 'throws' an exception (Leaves as far as we are concerned).

4.	Nicolas
	1.	Added missing HAL attributes to T_NEWHAL.
	2.	Introduced debug event notification API (DDebugEventHandlerBase).
	3.	Make DProcess instances global only after successful load to avoid
		scenario where rogue thread opens a handle on process being loaded and kills
		it, resulting in a system crash when ExecHandler::ProcessLoad is called.
	4.	Removed DProcess::AddFindChunk, a remnant of EKA1.
	5.	Fixed DEF012187 - dmsrv.exe with AllFiles: domainsrv.exe has got only
		PowerMgmt now.
	6.	Commented some kernel-side APIs.
	7.	Removed support for "%ld" and "%lu" from Kern::AppendFormat() because it
		didn't work and was very confusing as it truncated results to 32 bits.  Now
		an attempt to use %ld (resp. %lu) will print 'd' (resp. 'u').  Use "%lx" to
		print 64-bit integers.
	8.	Added DObjectCon::Lock() to be able to test "container lock held"-kind
		preconditions.

5.	ChrisM
	1.	Fixed T_NEWHAL to work correctly with attribs which require parameters and return
		KErrArgument.
	2.	Added paramter passing code for process creation.  CR
	3.	Added message queues and property res to crash debugger

6.	PhilK
	1. Added CF card support for Lubbock (uses Lubbock specific ATA driver).
	2. Added LFFS support to Lubbock.
	3. Various changes to support SINGLE build for CF bootloader.
	4. Add ethernet driver initialisation.

7.	CarlosF
	1.	Included support for ARM926J in the Kernel (but do not release the corresponding
		variant yet as this needs to wait for the Integrator build rationalisation)
	2.	Integrator Port Re-org (Step 1):
		- Logic Module identifies its position on the stack and defines its Base
		Address, Interrupt etc based on it,
	3.	Changes to allow Core Module-only versions of Integrator to use the VT100
		display emulation by default
	4.	Submitted changes to allow building Ethernet LDD and Assabet PDD, and corrected
		problems with the test program

8.	Morgan
	1.	Implemented stop-mode debug API tables.  Kernel extension KDEBUG.DLL included in
		roms guarded with STOP_MODE_DEBUGING.

9.	Dennis
	1.	Fixed race condition between TInactivityLink::Start() and Kern::AddEvent().



Version 2.00.508
================
(Made by AndrewT, 29/10/2002)

1.	JonathanM
	1.	Changed KCapabilityAll define to match that used by build tools.
		I.e. only include currently defined capabilities.
	2.	Fixed defect DEF002630 "Missing distribution.policy files"

2.	Nicolas
	1.	HAL ELEDmask attribute can be used to get/set the 7-segment
		digits LEDs on Lubbock.  Internally moved ELEDmask from the
		power to variant group and simplified the code.
	2.	Introduced DMA framework.  The current implementation supports
		single-buffer, double-buffer and scatter-gather DMA controllers.  There
		is a reference implementation for Cotulla.

3.	Dima
	1.	Introduced the Jetstream Power model

		New User API in e32power.h in the Power class. This allows user mode
		code to request a power state transition.

		New kernel API in kernel/kpower.h for device drivers and power model
		implementors (base ports).

		base/domain manager component introduced which provides the user-side
		power state transition management. APIs in dmdomain.h and dmmanager.h.

		See in-source for API documentation.

		Assabet implementation of the new kernel power model. Other base ports
		have a minimal compatibility layer introduced for now.

		Emulator 'standby' and 'display off' is now implemented.

4.	StefanW
	1.	Add MMC peripheral bus and MMC media drivers for integrator and emulator
		This shows up as driver D: on integrator and X: in the emulator.

5.	AndyS
	1.	Added support for RVCT toolchain to Base - Assabet is the only base port
		currently modified to fully support the toolchain.

Version 2.00.507
================
(Made by JonathanM, 21/10/2002)

0.	ChrisM
	1.	Change default DTR control from handshake to enabled in WINS serial driver.
		DEF001561

1.	JonathanM
	1.	Fix for defect DEF001251 - E32notif.h should #define __NOTIFIER_NAME to "!Notifier"
	2.	Changed method for getting SETCAP.EXE into base test ROMs.
	3.	Tidied up EDISP by deleting old files. Also fixed CScreenDriverTemplate::SetMode()

2.	Nicolas
	1.	Fix for defect DEF001259 - Text window notifier
		completes requests too early.
	2.	Fixed another notifier bug: Message requesting MMC
		password dialog was never completed.

3.	Phil Kaye
	1.	Add partial lubbock port.

4.	CarlosF
	1.	Fixes for Integrator Modem Control Signals
	2.	Fixes for SIR on Integrator

5.	Dennis
	1.	SECURE_API flag is now set by default for all processes
	2.	Added USERSTUB_FORCE_DATA_CAGING.DLL to allow testing of data caging.
		Replace USERSTUB.DLL with this to force data caging on for all processes.
	3.	Fixed bug in boot loader caused by "return handles" changes.

6.	ChrisM
	1.	Secure screen HAL API + test implementation on assabet, integrator and WINS.
	2.	Probably fixed DEF001413 Data loss with WINs for large files over HTTP (serial driver)!
		Applied basically the same fix which worked on typhoon.

Version 2.00.506
================
(Made by JonathanM, 20/09/2002)

1.	Dennis
	1.	Split all ARM inline assembler into separate .cia files.
		The __NAKED__ macro is redefined for .cpp files to cause an error if this
		rule is violated.

2.	JonathanM
	1.	Add 'CAPABILITY' to all MMP files.

Version 2.00.505
================
(Made by Nicolas, 16/09/2002)

1.	JonathanM

	1.	Added RMsgQueueBase::Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType)
	2.	Modified RMessagePtr::Read/Write/GetDes functions to return KErrBadDescriptor rather
		than KErrArgument when the specified parameter is not of the expected descriptor type.
	3.	Added new 'DevMan' capability.

2.	VadimA
	1. Implemented Pub/Sub Properties.

3.	Nicolas
	1.	Set iAsyncDeleteNext to NULL in DCodeSeg::Destruct()
		to force DCodeSeg::VerifyHandle() to fail when passed
		a handle to a deleted code segment.
	2.	Added d_exc.exe and minkda.ldd to full ROM obey files.
	3.	Modified d_exc.exe to ignore spurious command-line and
		use defaults when started from UIKON shell.  This is
		just a proactive move as a bug in UIKON currently
		prevents from starting executables with SID from the
		UIKON shell.

4.	Markdo
	1.	Added DPBusPrimaryMedia::DefaultDriveCaps() so drive attributes of a removable media
		are returned even when card not present.
	2.	Introduced TDriveInfoV1::iRegisteredDriveBitmask to indicate whether a particular
		local drive has a media driver associated with it.

5.	CarlosF
	1.	Release Integrator Platform and SOC driver code

6.	David Batchelor
	1.	Fix defect DEF001034 (RNotifier broken in mainline 1050)

Version 2.00.504
=================
(Made by the Uikon team, 05-09-2002)

1.	Made some API changes to RNotifier both for tidying it up and
		- Removed the 4-parameter overload of StartNotifier and the
		  5-parameter overload of StartNotifierAndGetResponse (these
		  were not implemented server-side by Eiksrv anyway).
		- Removed the last parameter of the 3-parameter overload of
		  StartNotifier. This parameter was useless as it was not
		  guaranteed to contain any actual response generated by the
		  notifier. If a response is required,
		  StartNotifierAndGetResponse should be used instead.
		- NotifyCancel has been added to cancel Notify calls.
		- Close has been added to free up the member-objects now owned
		  by RNotifier.

2.	Made some API changes to MNotifierManager:
		- The last parameter of StartNotifierL has been removed.

3.	Made some API changes to MNotifierBase:
		- The 1-parameter overload of StartL now returns void.
		- The second and third parameters of the 3-parameter overload of
		  StartL have changed.

4.	Made Ewsrv work with __SECURE_API__ defined.


Version 2.00.503
================
(Made by Dennis, 16/08/2002)

1.	Dennis
	1.	Removed the following empty exported constructors/destructors:

		CBase::CBase() - replace with inline
		CBase::~CBase() - replace with pure virtual inline empty
		CSecurityEncryptBase::CSecurityEncryptBase()
		CSecurityDecryptBase::CSecurityDecryptBase()
		CSecurityBase::CSecurityBase()
		DBase::~DBase() - replace with pure virtual inline empty

	2.	Changed the way the kernel reboots the system after a fault. It now
		jumps to a 'restart vector' in the bootstrap (at rombase+0x7c). The
		bootstrap then implements whatever variant-dependent code is needed.
		The restart vector is only currently implemented on assabet and X86.
		On assabet it performs a software reset of the SA1110.
		Export a Kern::Restart(TInt aMode) function from the kernel which
		triggers a reboot. The mode parameter is used to indicate what type
		of reboot is required (if more than one type is supported). Currently
		supported values are:

		0x00000000 - reboot the same image.
		0x80000000 - rerun the bootloader to allow a new image to be loaded.

		The crash debugger uses this function to implement two new commands:

		x - reboot the system using the same image
		X - rerun the bootloader to allow a new image to be loaded.

	3.	Fixed bug in initialisation code - .data section was never initialised
		for ASSP DLLs. Now all extensions have .data initialised before the
		variant is initialised.

	4.	Added DECLARE_EXTENSION_LDD() and DECLARE_EXTENSION_PDD() macros to
		declare the ordinal 1 export for LDDs/PDDs which are also extensions.
		Use DECLARE_STANDARD_EXTENSION() to declare the extension entrypoint.

	5.	Added support for ETM thread ID register.
		On architecture 4 and 5 this is conditional on the macro
		__CPU_HAS_ETM_PROCID_REG, and simply writes the 32 bit NThread pointer
		into the register on each reschedule.
		On architecture 6 it is unconditional and bits 6-29 of the NThread
		pointer are written into bits 8-31 of the CONTEXTID register. Given the
		size of NThread this is guaranteed to be unique for each NThread. Bits
		0-7 of CONTEXTID are used for the ASID.

	6.	Rearranged user-side memory allocation code.
		There is now a base class RAllocator which provides pure virtual functions
		for common operations Alloc(), Free(), ReAlloc() etc.
		Exec::Heap() (and User::Heap()) now returns a pointer to this base class.
		RHeap now derives from RAllocator and also supports alignment of cells on
		any power of 2 boundary, which will go some way to making us compliant
		with the new ARM ABI, which requires 8 byte alignment.
		Also these changes will make it possible for processes to use a more
		specialised memory allocator (i.e. not an address-ordered first fit heap,
		which is all that is allowed currently) by supplying an implementation
		of UserHeap::SetupThreadHeap().

	7.	Share source code between EUSER and EKERN.
		Code which is used in both places is now placed in the /e32/common/...
		tree; /e32/nklib/... has been removed.
		New heap code is now used in the kernel as well.
		Rationalised the number-to-text conversion functions to avoid having
		multiple copies of very similar or identical code.

	8.	Add __EKA2__ macro to enable code to tell if it's compiling against
		EKA1 or EKA2.

	9.	TRomImageHeader::iCheckSumCode changed to iCapability
		Capabilities are now stored in code segments; process capabilities are
		initialised from the code segment.
		A process with capabilities other than 0xffffffff automatically has
		security checking enabled.

	10.	Fixed double deletion problem with PDD Create() functions. In the function

		virtual TInt Create(DBase*& aChannel, TInt aUnit, const TDesC8* aInfo, const TVersion& aVer) =0;

		The aChannel parameter will be deleted by the kernel if an error is returned,
		so it should not be deleted by the driver.

	11.	Added exported kernel functions

		TInt Arm::DebugOutJTAG(TUint aChar);
		TInt Arm::DebugInJTAG(TUint32& aRxData);

		to send and receive data via the ARM JTAG debug comms channel.

	12.	Removed requirement for "namespace std" declarations when building for
		code warrior by putting the following sequence into e32def.h:

		#undef __embedded_cplusplus
		#define __embedded_cplusplus	1

		This stops the CW standard headers from putting everything into
		namespace std.

	13.	Moved base.iby from ROMKIT into /e32/rombuild. This now includes one of
		the following, depending on the target platform:

		e32/rombuild/misa/base_assabet.iby
		e32/rombuild/mi920/base_integrator920.iby
		e32/rombuild/ni1136/base_integrator1136.iby

		Most of the macros relating to base stuff have been removed since there
		is now a separate base_xxx.iby for each target platform.

		Added files

		integrator/core/cm920/integrator920.oby
		integrator/core/cm1136/integrator1136.oby

		which correspond to assabet/assabet.oby to allow building full mainline
		ROMs for integrator platforms.


2.	JonathanM

	Completed "REQ192.1.1: Kernel support for creator identification"

	1.  Added EUser::CreatorCapability.

	Completed REQ192.2.1.1: Creating Private Kernel Resources

	1.  The TFindXxxx classes can not find objects which don't have a name.

	2.  Objects without a name cannot be opened in any way by a threads in
		a process diferent from the objects creator.

	3.  Private (Local) Servers can now be created by giving them a zero length name.

	4.  To enable connections to be made to these servers the folling methods have been added:

		  CServer::Server()

		This returns a copy of the RServer object used by the server.

		  RSessionBase::CreateSession(RServer aServer...

		A new overload of the create method which takes an RServer object instead of a name.

	Completed REQ192.2.1.2: Granting Access To Protected Kernel Resources

	1.  The following kinds of kernel objects may be created as 'protected' kernel resources.
		Handles to these may be passed via client/server communications.

		  * RMutex
		  * RSemaphore
		  * RChunk
		  * RBusLogicalChannel
		  * RSessionBase

	2.  The following methods are used to create protected resources:

		  TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);

		The create method takes an additional argument (aProtected) to indicate if the
		channel is protected.

		  RSessionBase::ShareProtected()

		This makes an already existing session a protected resource. This is only permitted
		if the server constructor specified the type 'EGlobalSharableSessions'.


		  RSemaphore::CreateGlobal
		  RMutex::CreateGlobal
		  RChunk::CreateGlobal

		Use of these with a zero length name will create an anonymous protected resource.

		An additional method is provided for the RChunk class which enables the creator
		process to set restrictions on the use of a chunk by another process.

		  RChunk::SetRestrictions(TUint aFlags)

		Currently the only implemented restriction is the 'EPreventAdjust' flag, which
		prevents other processes from changing the memory allocation with Adjust, Commit,
		Allocate, or Decommit.

	3.  A client process which has a handle on one of these can give a server the used of it
		by sending the handle as a RHandleBase parameter in a TIpcArgs package. The server
		can then open this handle by calling the following method on the appropriate resource
		class:

		  Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType=EOwnerProcess)

		where aMessage in the message that the server received from the client, and aParam
		is a number (0-3) indicating which message parameter holds the client's handle.

		A server can return a handle to the client by completing a client message using the
		resource object as an argument:

		  RMessagePtr::Complete(RHandleBase aHandle)

		This will create a thread relative handle to the object and cause the client's request
		to complete with this value. The client should check the returned value, a negative
		value indicates an error value, a positive value is a handle which can be used to
		initialise the relevant R object by calling RHandleBase::SetHandle().
		Alternatively (and preferably) this check and set step can be performed by using the
		following method instead:

		  TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)

		where aHandleOrError is the value returned by the server. This method does the
		following:

		  If the value is a handle, then set the handle of the object to this, and
			return KErrNone;
		  Else, set the handle value to NULL and return the error value.

	Implemented REQ192.2.7.1: Preventing Spoofing of System Servers

		Creating servers with an '!' as the first character in their name requires
		KCapabilityProtServ

	Implemented REQ192.2.7.2: Detecting Spoofing of Servers.
	Implemented REQ192.2.7.3: Preventing Denial of Service by Server

		These are implemented by:

		  TInt RSessionBase::CreateSession(const TDesC& aServer,const TVersion& aVersion
				  ,TInt aAsyncMessageSlots,TRequestStatus* aStatus=0,TInt32 aIdentity=0)

		This new method allows connecting to a server asynchronously (if aStatus is zero
		then the connection is done synchronously). When the connection has completed aStatus
		will be signalled, if this holds anything other than KErrNone then the connect failed
		and the programmer must Close() the session. (Failure to do so, will result in leaked
		resources.)

		Note that CreateSession returns a standard error value, if this is not KErrNone then
		the connection process has failed before sending a message to the server, and in this
		case aStatus will NOT be signalled.

		The aIdentity argument in this function specifies the Security Identity of the process
		in which the client is expecting the server to be running. (Zero means "don't care")
		If this identity doesn't match that of the servers process then the session creation
		fails with KErrNotFound.

	Platform Security Changes

	1.	Made RMessage::RMessage(const RMessagePtr& aPtr) explicit to avoid the compiler
		automaticly constructing temporaries.
	2.	Corrected runtime security on RThread::Rename so that only the current thread can
		be renamed.
	3.	Added capability checks:
		* User::ResetInactivityTime() requires KCapabilityPowerMgmt
		* User::SetHomeTime(const TTime &aTime) requires KCapabilityWriteSystemData
		* UserSvr::SetMemoryThresholds(TInt aLowThreshold, TInt aGoodThreshold) requires KCapabilitySwEvent
	4.	Changed UserSvr::RequestEvent and RequestEventCancel to insist that the calling thread
		is the same as the one which captured the event hook.
	5.	Changed User::WsRegisterThread and User::FsRegisterThread to take no arguments.
	6.	Trapped attempts at connecting a server session which is already connected and
		Reorganised CServer panics.

	Internal Kernel code modifications:

	1.	Modified most exec functions which create handles to return them by value, rather than
		poke them back to user memory.
	2.	Refactored RChunk::Create code to make it smaller.
	3.	Changed iCreator in DProcess to be a process id rather that a DProcess*


3.	AndrewT
	1.	Expanded the TRAPD macro in CActiveScheduler::DoStart() so that it can be stepped
		through in a debugger.
	2.	Added assertions to the emulator scheduler to trap invalid use of NKern::Unlock()
		and Emulator::Escape().
	3.	Made the kernel ask USERSTUB.DLL what the default value for the process flags
		controlling secure API and data cage checking. The default USERSTUB.DLL currently
		returns false for both, but USERSTUB_FORCE_SECURE_API.DLL changes the default for
		SecureApi to on. Simply replacing USERSTUB.DLL with the longer named version in a
		ROM or in the emulator will change the default settings.

4.	ChrisM
	1.	Fixed propagated bitmapallocator defect fix MOS-5C6C8Y
	2.	Fixed propagated WINS serial driver defect GUV-5CMJSR
	3.	Implemented DLR 363.2 Message Queues.

5.	Nicolas
	1.	KERN-EXEC litteral now available as KLitKernExec in
	  	kernel.h for the benefit of drivers needing to panic
		clients.
	2.	KEXECFAST trace bit merged with KEXEC.	KEXECFAST has
		been recycled for debug agents (KDEBUGGER).

	The following modifications are part of the on-target debugging support
	HLR.  They are needed to support the new D_EXC utility.

	3.	New functions exported from kernel:
		* NKern::ThreadGetUserContext()
		* NKern::ThreadSuspend()
		* DProcess::TraverseCodeSegs()
		  (EMarkDebug flag added for debug agents)
		* DCodeSeg::UnmarkAll()
		* Kern::ProcessFromId()
		* Kern::ThreadFromId()
		* Kern::AccessCode() (use this instead of DCodeSeg::Wait())
		* Kern::EndAccessCode() (use this instead of DCodeSeg::Signal())
	4.	DExceptionHandler renamed as DCrashHandlerBase and extended to
		deal with both hardware exceptions and panics.	In case of panic,
		the handler is called at a point where it is safe to acquire
		mutexes.
	4.	Existing JIT debugging callback removed.  The WINS code now uses
		DJitCrashHandler derived from DCrashHandlerBase.

6.	Abhishek Kumar
	1.	Added Ethernet LDD and accompanying Assabet PDD.


Version 2.00.502
================
(Made by Dennis, 11/07/2002)

Memory model and loader changes.
Two mode secure kernel.

1.	Dennis
	1.	Added new memory model (multiple) which is optimised for processors with
		physically tagged caches and reasonable sized page directories. This
		uses a separate page directory (or part thereof) for each process, thus
		providing faster context switching.
		Currently works on ARMv6 (NI1136 target) and X86 (NX86 target).

	2.	Placed some memory model code into a new directory (mmubase) which will
		be shared between multiple and moving models. This code deals with things
		like page table alloc/free and HW chunks and the extra per-page information
		required for mobile SDRAM defragmentation.
		Moving model has yet to be updated to use this.

	3.	Hw Chunks now support large page sizes (64K and 1Mb on ARM, 4Mb on X86).

	4.	Code loading system has been reworked to support DLLs with per-process
		.data and .bss sections, and also to allow code protection on the multiple
		memory model.
		All loaded code is now managed by DCodeSeg objects in the kernel.

	5.	Loading of device drivers, file systems and locale DLLs is now done
		entirely by the loader rather than partially on the client side.

	6.	The public E32Dll entry point for user-side DLLs has been removed.
		The private _E32Dll entry point is still there and is used to call
		constructors and destructors for C++ objects in .data/.bss.
		The TDllReason enum has been removed along with all redundant E32Dll
		functions.

	7.	The public entry point for kernel-side DLLs (extensions and device drivers)
		is retained but renamed to
						TInt KernelModuleEntry(TInt);

		Macros DECLARE_STANDARD_EXTENSION(), DECLARE_STANDARD_LDD(),
		DECLARE_STANDARD_PDD() and DECLARE_STANDARD_ASSP() have been provided which
		declare the entry point in the way normally required for these things.

	8.	The private entry point of a process (_E32Startup) is now used for several
		things, currently:
			1.	Process initialisation (similar to previous)
			2.	Thread initialisation (new thread started in process)
			3.	Exception handling (thread in process took a handled exception)
		Essentially whenever the kernel needs to invoke user-mode code, this is now
		vectored via the process entry point. This will eventually allow different
		allocators to be used for each process/thread and the removal of USERSTUB.

	9.	Added device drivers for X86:
			Floppy disk, generic ATA interface controller, ATA hard disk media
			driver, ATAPI ZIP/CDROM media driver, PCI bus scanning code, video
			drivers for Permedia2 and CT65554 (dodgy) chipsets.

	10.	Added memmove() function to the kernel and modified the kernel and all
		drivers/extensions to use it instead of memcpy() when the source and
		destination may overlap.

	11.	Added the ability to specify a cleanup handler when adding a TLS entry.
		The handler will be called on thread normal exit (return from main function
		or call User::Exit(), not on panics).

	12.	Disabled THUMB interworking support until ARMv5/THUMBv2 becomes the
		standard configuration. Default ABI for all platforms is now ARM4. It
		is no longer necessary to build anything for ARMI.

	13.	All executive functions are now declared in a single file

			/e32/kernel/execs.txt

		which is then processed by a perl script to generate the dispatch numbers,
		Exec:: and ExecHandler:: class definitions, user side code and kernel side
		dispatch tables.
		See /e32/kernel/execs.txt for a description of syntax.

	14.	Local media system now returns type of partition in drive capabilities.
		See /e32/include/partitions.h for list of partitions.
		Also, the media type field in drive capabilities is set even if the
		drive is not ready.

	15.	Change KCurrentProcessHandle from 0xffff0000 to 0xffff8000 - this has the
		'NoClose' bit set, so you don't get panicked for doing
		{ RProcess p; p.Close(); }

	16.	Change IPC copy functions to always return KErrBadDescriptor rather than
		KErrArgument where the remote address is invalid or points to an invalid
		descriptor.

	17.	Changed the way static data is detected on the emulator to work around
		problem with code warrior. It is now necessary to put 'epocallowdlldata' in
		the makefile, as it is for target builds. On WINS a DLL or EXE will be
		considered to have writeable static data if the .data section is present;
		if it is but 'epocallowdlldata' was not specified, the load will fail.
		On WINSCW a DLL	will be considered to have writeable static data if the
		'epocallowdlldata' keyword was present in the MMP file. An EXE will be
		considered to have writeable static data if the .data section is present.
		Emulator DLLs with a .data section but which were not built with the
		'epocallowdlldata' keyword will have their entry points called every time
		the DLL is loaded or a referencing DLL is loaded; this is to cope with
		the case where the compiler puts supposedly constant data into .bss and
		uses a runtime constructor to initialise it.

	18.	Integrated platform security changes (two-mode kernel).

	19.	Kernel changes to allow anonymous chunks, mutexes, semaphores, servers
		and logical channels. Removed named logical channel support.
		If an empty string is passed as the name, an anonymous object is created.
		Note that logical channels no longer set an owner.

	20.	Allow message handles to be verified by the executive call preprocessor.
		Modified genexec.pl to accept 'ipcmessage' and 'ipcclient' handle types.
		Changed executive calls which take a message handle to use this feature.

	21.	Added machine coded versions of DObject handle lookup code, i.e.
		DThread::ObjectFromHandle, K::ObjectFromHandle, Kern::ObjectFromHandle.

	22. Added code to support static data destructors on WINSCW.

	23.	Removed exit handler, state handler and exception handler from NThread.
		These are now placed in a separate structure (SNThreadHandlers) to which
		NThread has a pointer, along with a new timeout handler which is called
		when the NThread timer expires in either BLOCKED or UNKNOWN N-states.

	24.	Added timeout to DSemaphore::Wait().
		Added new RSemaphore::Wait(TInt aTimeout) which waits for a semaphore
		signal or for aTimeout microseconds, which ever occurs first.
		aTimeout=0 means wait forever.
		The new API returns an error code:
			KErrNone = semaphore was signalled
			KErrTimedOut = semaphore was not signalled before the timeout expired.
			KErrArgument = -ve timeout specified
			KErrGeneral = semaphore was deleted

	25.	Removed all RDebug:: functions apart from RDebug::Print

	26.	Removed class TInt64 and replaced it with TInt64 and TUint64 which are
		typedefs of the compiler's native 64 bit integer types.
		Special function Mul10() has been removed - just use x*=10 instead.
		DivMod and MulTop have been migrated to Math:: as follows:

		void Math::Mul64(TInt64 aX, TInt64 aY, TInt64& aOutH, TUint64& aOutL);
			Multiply aX by aY and store 128-bit result in aOutH:aOutL

		void Math::UMul64(TUint64 aX, TUint64 aY, TUint64& aOutH, TUint64& aOutL);
			Multiply aX by aY and store 128-bit result in aOutH:aOutL

		TInt64 Math::DivMod64(TInt64 aDividend, TInt64 aDivisor, TInt64& aRemainder);
			Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
			Remainder has same sign as dividend.

		TUint64 Math::UDivMod64(TUint64 aDividend, TUint64 aDivisor, TUint64& aRemainder);
			Divide aDividend by aDivisor, return quotient, store remainder in aRemainder

	27.	Add new alloc failure type RHeap::EReset and new macros

		__UHEAP_TOTAL_RESET and __KHEAP_TOTAL_RESET

		to both cancel any simulated allocation failure and reset the allocation mark.

	28.	Add compiler helpers for 64 bit arithmetic to kernel side emulator entry libraries.

	29.	Processor affinity setting for emulator slightly modified - if the process is
		already limited to a single CPU, the affinity mask is not changed.

	30.	Allow more emulator parameters to be overridden:
		i.		The log file can be overridden by the the EmulatorLog environment variable.
		ii.		The option -Dname=value will set the 'name' property to 'value'
				The option -Dname+=value  will append 'value' to the 'name' property.
		iii.	The directory used for temporary EXE images can be overridden by
				-DEmulatorImagePath=dir
		iv.		It is now possible to run two emulators simultaneously by judicious
				choice of command line parameters.

2.	JonathanM
	1.	Secure Kernel APIs implemented. This release is 'dual mode' where both old and new
		APIs are present.
		( For API changes see document "SGL.GT0135.201_Rev0.12 Securing Kernel APIs.doc" )
		* Old APIs which will be removed for Platform Security can be disabled at compile time by
		  defining __SECURE_API__, e.g. by "MACRO __SECURE_API__" in your MMP file.
		* New test function RProcess::SecureApi() enables a process to turn on run-time checking for
		  APIs which have new restricted usage. (For that process only.) This will cause a thread to
		  be panicked with EPlatformSecurityTrap when they make illegal use of kernel APIs.
		  If 'SecureApi' is not enabled, kernel functions will continue to behave as before the
		  Platform Security changes.
		* Test function User::RemoveCapabilities() allows a process to remove capabilities.
		  (Currently processes have all capabilities.)
		* NOTE: The new versions of RProcess/RThread::Rename are called RenameMe to distinguish them
		  from the old non-static versions.

3.	ChrisM
	1.	Minor change to WINS serial driver which will stop it locking up when a comms error occurs.
	2.	Fix SCI-5BFCPJ(MediaServer TMDaaud audio test code panics when Play is called)

4.	CarlosF
	1.	Changes to Template Screen Driver for Text Window Server to allow support for
		Integrator.
	2.	Corrected a minor bug on one of the Display accessor functions of SA1100 Achticteture
		Layer


Version 2.00.501
================
(Made by AndrewT, 12/06/2002)

1)
	ChrisM
	1)	fixed (RArrayBase::HeapSort makes assumption about max iEntrySize value) and
		(TLex::Val() should not give error for missing exponent) defects reported on 7.0

2)	AndrewT
	1)	Made the justintime emulator setting operational for kernel fault situations
		as well. This means that a setting of 'debug' or 'none' ensures that no
		dialogs are ever presented to the user.
	2)	Added a -D commandline switch to the emulator. This allows additional
		emulator settings to be defined on the commandline. These are parsed before
		the ones in the epoc.ini file. e.g.

			epoc -Djustintime=none --

		Will disable JIT debugging for that emulator.
	3)	Set the processor-affinity-mask for the emulator to ensure that it runs only
		on a single CPU in the PC. This effectively works around an as yet
		undiagnosed problem with the emulator scheduler on multi-processor PCs.
	4)	Added 'const T& operator()() const' to TPckgBuf<T> - propagating a 7.0 fix to
		Jetstream.
	5)	Made TThreadId and TProcessId members const, propagating a 7.0 fix to
		Jetstream.
	6)	Fixed the 'diaplay contrast' HAL settings for the emulator so that both
		T_VIDEO and Techview behave. WINS now claims to support contrast but does
		nothing with the setting.
	7)	Provided another means for EPOC threads to interact with the host OS in the
		emulator. As well as Emulator::Lock()/Unlock() to block the scheduler, there is
		now Emulator::Escape()/Reenter() which allows the scheduler to carry on running
		but takes the calling thread out of the scheduler control. In particular this
		allows a calling thread to safely wait on host OS synchronisation objects (e.g.
		call WaitForSingleObject()) without deadlocking [part of] the emulator.

		When 'escaped' a thread should not use any EPOC APIs at all except for
		Emulator::Reenter(). Note that if a thread is killed in this state the exit will
		be deferred until it reenters the scheduler control - thus it may be necessary
		to also cause the host OS to release the thread in roder to clean up completely.
	8)	Added some instrumentation to the emulator scheduler in order to detect and assert
		incorrect use of kernel APIs from 'interrupt' and EPOC threads.

2.	Chris
	1.	Added KMEMTRACE + memory tracing.



Version 2.00.500
================
(Made by AndrewT, 23/05/2002)

First release of EKA2 into Symbian OS mainline.


--------------------------------------------------------------------------------
E32RT Modification History (not necessarily complete)
--------------------------------------------------------------------------------
Revision 051

14-12-01:	 WINSCW Introduction

	The E32TOOLP changes are documented in
	\e32toolp\group\release.txt.

	Fixed various std C++ compliance issues.

	Got rid of every WINSCW warning.

	Added WINSCW to the relevant BLD.INF.

	"long long" are used for 64-bit types.

	Added pragmas to disable RTTI and C++ exception handling for
	CW.

	Bracketed arguments used only in UDEB builds with __DEBUG_ONLY
	to turn off spurious warnings (this is subject to change).

	Extended wintest.bat for WINSCW and added code to delete the
	LFFS and IRAM "drive" files.

	In E32TEST T_EXC Made some variables volatile to prevent mwcc
	optimising out an intentional division by zero.

	Ported fix for CMOS-52CDGU (T_MATH and T_FLOAT rely on the compiler
	generating denormal constants).

	Mwcc 2.4.1 generates incorrect code for the "foo <= 0"
	statement when foo is a 64-bit integer.  Worked-around by
	comparing against a named constant.  This bug is fixed in
	Codewarrior Pro 7.

	Modified WIN32 section in various MMP files.

	Fixed Wins::SetupPaths() so the path parsing code works for
	both VC++ and CW.

	EPOC versions of memset() and memcpy() conflict with the
	standard library ones.  They need to be declared and defined
	inside the std namespace.  The other compilers are happy with
	that too.

	Modified Dispatch() signature to avoid mangling difference
	between VC++ and Codewarrior.

	The header file needed for wcs*() function prototypes is
	<wchar.h> not <stdlib.h>.

	Codewarrior inline assembler does not support code like
	"[exc]this.iThread".  There is only one occurence of this in
	TExcTrap::Trap().  Worked-around by using
	[ecx]TExcTrap.iThread for codewarrior.

	Added explicit return value to Emulator::Init().


	The following changes are not related to WINSCW:

	E32TEST T_TBMA is not built anymore for THUMB because it contains lots
	of ARM assembly language which is executed in privileged mode only in
	normal conditions.

	Fixed __PROFILE_DISPLAY() macro.

	Fixed typo in F32TEST T_DSPACE test (= mistaken for ==).



--------------------------------------------------------------------------------
Revision 050

15-05-01:	Added the first-cut of the Win32 port

			nKern scheduler ported to Win32 - emulation of EPOC scheduler. This
			provides the Win32 threads implementation for EPOC. Exception
			handling and context setting are not yet supported.

			Added 'platform/image' layer into memmodel to catch the remaining
			differences in layer 2 of the kernel. For now this is captured in
			the imgmodel.h header files. The memory models have moved down a
			directory as a result. This deals with ROM, Process and Library
			specialisations.

			The rest of the layer 2 code is now completely generic and ready for
			merging with layer 1.

			Added a Win32 memory model, currently based on a simple direct model.
			The plan is to support a more dynamic model like 6.2 WINS.

			Tidied up many bits of C++ code that had either rotted or were
			rejected by the VC++ compiler.

			Started development of a 'wins' variant. This provides the variant
			DLL, which has support for processing emulator ini files, a 5ms
			timer to drive the nKern 'millisecond' timer and debug output. The
			UI is in a separate extension and handles most of the clever ini
			settings. There is no power model yet.

			Process emulation is functional, the loader can launch 'EXE's within
			the emulator, but the emulator does not provide memory protection.
			EPOC heap sizes are not yet stored in the binaries, so processes
			currently get 1MB maximum heaps by default.

			DLL entrypoints are not called.
			Emulated media drivers are not implemented.
			Serial driver is not implemented.

			E32TESTs and F32TESTs pass where expected (failures are due to
			known omissions at this stage) using the F32 RUNTESTS tool -
			ERunTests is no longer required.

--------------------------------------------------------------------------------
???

--------------------------------------------------------------------------------
Revision 038

26-10-00:	Added first Assabet port (base board only, no SA1111 support).
			UART driver not tested due to the serial keyboard function. Also,
			handshake signals are not handled by the UART driver yet.
			Power down/up works with RTC wakeup but wakeup due to GPIO0/1 is
			intercepted by reprob and touchscreen doesn't wake the system up -
			don't know why.

			Modified bootloader to work on Assabet as well as Brutus. New files
			displayinit.cpp and mem.cpp have been added to deal with LCD startup
			and memory addresses (different on Brutus and Assabet).

			Added new scheme for handling interrupts on GPIO11-27 on SA11x0. We
			use timer match register 1 to generate an interrupt which is never
			cleared. The shared GPIO11-27 interrupt is always enabled; if an
			interrupt occurs on a line which is not enabled, it is remembered in
			the SharedGpio structure. If the interrupt is subsequently enabled,
			the timer 1 interrupt is enabled to cause another hardware interrupt
			which then services any remembered GPIO interrupts which are now
			enabled.

			Fix to Brutus digitiser to prevent locking up if the off key is
			pressed with the pen down.

			Fix to exception handling code in the case of fatal exception due to
			mode or SVC stack overflow - R4 was not being stored.

			Fixed bug in TSa1100::UartData() - incorrect register being used.


--------------------------------------------------------------------------------
Revision 037b

18-10-00:	Added generic kernel-side exception handler support.
			Added asynchronous deletion facilities; Kern::AsyncFree(TAny*) frees
			any kernel heap cell and Kern::AsyncDelete(DBase*) deletes any DBase
			derived object on the kernel heap.

--------------------------------------------------------------------------------
Revision 037a

16-10-00:	Synchronised to //epoc/development/base/ongoing/...@60165

			Modified forceMediaChange() in \e32\drivers\locmedia\locmedia.cpp so
			that clients are always notified of media change even if there is
			no media present on the drive (caused T_NOTIFY to fail).

--------------------------------------------------------------------------------
Revision 037

03-08-00:	Implemented inactivity timers (RTimer::Inactivity etc.)

10-08-00:	Separated RAM page allocator from rest of MMU code.

			Fixed bug in millisecond timer which caused it to stop completing
			timers if DFC was delayed by more than 16ms.

			Set up supervisor stack base and size for the initial thread during
			kernel boot (otherwise any exceptions in this thread kill the system
			immediately).

06-10-00:	Removed Asic::TickPeriodNs() function. Added Asic::MsTickPeriod() to
			return the period of the millisecond tick in microseconds. This will
			always be 1000 except on pathological hardware.

			Modified tick timer code to cope with 'millisecond' timers with
			tick period other than 1ms.

			Added functions Kern::TickPeriod() to return the system tick period
			(always 15625us at the moment), Epoc::MsTickPeriod() to return the
			period of the millisecond tick and Epoc::MsTimerTicks(TInt) to
			convert a time in milliseconds to millisecond timer ticks, rounding
			up.

			Fixed bug in RAM drive initialisation. Max size of chunk should be
			set to PP::RamDriveMaxSize rather than to MaxFreeRam to cope with
			non-MMU builds.

--------------------------------------------------------------------------------
Revision 036

20-06-00:	Bug fix to DProcess::Rename and DThread::Rename. If new and old
			names were identical they would return KErrAlreadyExists. We now
			check for this case explicitly and return KErrNone.

21-06-00:	Fixed bugs in Brutus digitiser driver:
				1. Every other pen move event was to (0,0)
				2. Added debounce on pen up

			Fixed bug in Brutus bootstrap - only the first 8Mb of the ROM image
			was being mapped in.

22-06-00:	Further tweaks to Brutus digitiser:-
				1. Increased inter-sample time from 1ms to 3ms.
				2. Reduced inter-group time from 16ms to 3ms.
				3. Disregard 2 samples on pen down/pen up instead of 1.

			Miscellaneous makefile changes to enable boot loader to build.

30-06-00:	Removed series5-style one-pixel-at-a-time moving from Brutus
			digitiser driver.

06-07-00:	Changed the way tick-based timers are implemented. There is no
			longer a separate tick interrupt - the millisecond timer is used
			to generate the intervals between ticks. Whenever the millisecond
			timer expires, it is requeued for a time corresponding to the next
			tick timer on the list. The rounding error is also accumulated so
			that an average tick period of 1/64s is obtained.

			The 'RTC' is maintained by accumulating ticks. When the time is
			requested, the software-maintained time is returned. A tracking
			system will be implemented to keep the software time in sync with
			the hardware RTC.

			TTickLink callback functions now only take a single TAny* parameter;
			the 'delay' parameter has been abandoned.

			Changed CL7211 and Series5MX keyboard drivers to use the millisecond
			timer for polling the keyboard instead of the tick timer.

			Power tick removed from bpower.cpp - only second tick still remains.
			Another way will be needed to accumulate battery consumption.

			Fixed bug in SDeltaQue::RemoveFirst() - forgot to adjust next queue
			entry if the element removed had a nonzero delta.

07-07-00:	Increased the number of thread priorities from 32 to 64.
			Changed the interpretation of the iThreadPriority field in DThread;
			values from 0-63 now represent absolute priorities and values from
			-8 to -1 represent process-relative priorities.

			Thread absolute priorities are still the same apart from DfcThread1
			which has been elevated to 48 and the threads used in test T_LAT2
			which now have priorities 62 and 63.

			TPriListBase now has two words of bit mask instead of one.

			Turned off timeslicing for null thread.

			When a thread is killed externally, its priority is now set to the
			same level as the kernel server. This ensures it can run and exit
			and stops low priority threads hanging around forever because they
			can't get a chance to run.

			Time spent in the scheduler now counts against the current thread's
			time slice. This is to prevent threads which do nothing but signal
			other threads from effectively stretching their timeslice by a huge
			amount.

28-07-00:	Made the 1ms tick on SA1100 more accurate by waiting either 3686 or
			3687 ticks such that the average period is exactly 1ms.

			Added test programs T_TICK and T_TOCK to test the new timer code.

			Removed EUSER.LIB from .MMP files for all test device drivers.

--------------------------------------------------------------------------------
Revision 035

16-06-00:	Broke the dependence of the kernel and drivers on EUSER.DLL. Kernel
			components no longer link to EUSER.DLL. Those parts of EUSER which
			are required by the kernel and/or device drivers have been copied
			into the kernel and are exported from the kernel. These are:

			GCC helper functions memcpy, memset, 32 and 64 bit integer division.
			Descriptors (not all functions available in the kernel).
			RArray<> classes (no sorting).
			RHeap, modified to present an RAllocatorK interface.
			DBase (modified CBase).
			TUnicode class (but not collation).

			The kernel still needs to link to EUSER indirectly in order to call
			User::StartThread() and User::HandleException() and in order to get
			pointers to the unicode data tables, which are not duplicated. This
			linkage occurs via a stub DLL (USERSTUB.DLL). A standalone kernel
			can also be produced by using STANDALONE.DLL instead.

			Note that kernel components should now use:
				memcpy()/memset() instead of Mem::Copy(), Mem::Fill()
				wordmove() instead of Mem::Move()
				Int64 (typedef to long long) instead of TInt64
				DBase instead of CBase
				Kern::Alloc(), Kern::Free(), Kern::ReAlloc() instead of the
				usual User::XX() functions.
				TInt instead of TTimeIntervalMicroSeconds32/TTimeIntervalSeconds
				TTimeK (=Int64 =long long) instead of TTime
				Int64 instead of TTimeIntervalMicroSeconds
				HBuf (derived from TDes) instead of HBufC - no Des() function.

			Device drivers (LDD/PDD) use EDEV.LIB instead of EDLL.LIB to avoid
			linking to UserSvr::DllTls() etc.

			The user-side include files have been rearranged as well. E32STD.H
			has been split into three files:
				E32CONST.H - constants and typedefs
				E32CMN.H - classes used in both the kernel and user code.
				E32STD.H - classes used only in user code.

			E32SVR.H has been split into the following:
				D32LOCD.H - RLocalDrive/TLocalDrive stuff
				E32DEBUG.H - RDebug stuff
				E32EVENT.H - TRawEvent and related things
				E32KTRAN.H - Keyboard translation stuff
				E32LDR.H - TLoaderInfo
				E32LMSG.H - TLocaleMessage
				E32NOTIF.H - Notifier stuff


			In SA1100 bootstrap use top bit of PC instead of DRAM HOLD bit to
			determine if we are running from RAM.

			Bug fix to brutus variant - CS3 register wait states were not being
			initialised.

			Added non-MMU SA1100/Brutus build (SISA).

			Removed the CL7111, Series5 and RackD directories and replaced them
			with a port to the CL7211 evaluation board. /cl7211 contains the
			ASSP (extended from the original /cl7111) and /cl7211eval the
			variant parts. The digitiser driver has not yet been ported and the
			sound driver is untested. The CL7211 boots at either 18.432MHz or
			73.728MHz depending on the state of the EXTPWR switch (off->18.432,
			on->73.728); this is because the CL6700 PC card controller chip only
			works at 18.432MHz.

			Moved common power management code into \e32\drivers\power - file
			binpower.cpp contains the code required to implement a binary power
			model (i.e. Series 5 style).

			Moved common PC card code into \e32\drivers\pbus\pccard\epoc. This
			basically contains the old DArmPlatPccdChunk, DArmPlatPccdSocket,
			DArmPlatPccdVcc, DArmPlatPccdMediaChange code. Each of these classes
			can be replaced separately by the variant.
			This and the preceding change were done to remove dependencies of
			one variant on another to make it easier to distribute source code -
			each variant can be distributed separately.

			Modification made to ECOMM.LDD to reduce time spent with interrupts
			disabled while scanning the RX buffer at the beginning of a read
			request.

			Fix to ATA media driver - the not busy timeout was being erroneously
			cancelled after calling CmdDfc(). Brutus somehow seems to miss some
			CF card interrupts (don't yet know why) so this was causing the
			machine to lock up during CF card accesses.

			__CHECK_THREAD_STATE macros removed from US_HEAP.CPP now that the
			kernel heap is separate.

			ARM3 versions of TInt64 and TRealX multiply functions have been
			removed - only the ARM4 versions are now present.

			Added CF-card bootloader for Brutus, in \bootldr\... - this uses the
			SISA build in standalone mode so it can fit in the 256K Brutus boot
			ROMs.

			Added %lx option to Kern::Format to print 64-bit integers in hex.

			Moved the starting of the file server into an extension (EXSTART).

			Removed machine password stuff - do we really want CSecurityBase in
			the kernel??

			On cold boot we now set the system time to the ROM image timestamp
			to avoid messing about with TDateTime conversions.

			Bug fix to read version of MM::CurrentAddress() - the optimisation
			that avoided lookup if the process concerned was TheCurrentVMProcess
			has been removed. Under the new scheduling scheme where preemption
			can occur after each chunk is moved, TheCurrentVMProcess is not
			guaranteed to have all its chunks at their run addresses.

			Fix to \sa1100\interrupts.cpp - Interrupt::Clear() now clears the
			interrupt in the PortEdgeDetected register if it is caused by a GPIO
			line. This prevents the machine spinning while accessing CF cards
			due to uncleared card interrupts.

			Change to all UART PDDs - EnableTransmit() does not fill the TX FIFO
			but merely enables the TX interrupt. The interrupt will occur
			immediately and fill the TX FIFO. This prevents problems caused by
			code being called in both an interrupt and non-interrupt context;
			in particular TDfc::Add() will not do the right thing unless called
			in an ISR or with the kernel locked.

--------------------------------------------------------------------------------
Revision 034

25-05-00:	Synchronised all user APIs with v6.0. User-side v6.0 changes all
			implemented, but not all kernel and driver changes done.

--------------------------------------------------------------------------------
Revision 033b

03-05-00:	Moved bootstrap code from \bootstrap directory into the \variant
			directories for easier distribution.
			Added bootrom.mke to each variant to build the bootstrap as part of
			the variant.
			Moved shared files from series5 to series5mx1.
			Added new perl script configure.pl to build a specified set of
			variants/tests/add-ons from scratch. This uses *.bld files in each
			component to describe the genbuild options required to build that
			component.
			Added deffile emptyu.def to \e32\bmarm for use by extensions with
			no exports. Removed __DummyExport() functions from such extensions.

--------------------------------------------------------------------------------
Revision 033a

25-04-00:	Moved the functions K::RunUserThread() and RUserHeap::Create() from
			EKERN into EUSER - they now become User::RunUserThread() and
			UserHeap::CreateThreadHeap() respectively.
			Moved the definition of SThreadCreateInfo into u32std.h to accompany
			this change.

			Moved the following functions from KExec to Kern and made them
			exports to allow for use in RTOS personality layers:

			Kern::ThreadResume(DThread&)
			Kern::MutexWait(DMutex&)
			Kern::MutexSignal(DMutex&)
			Kern::MutexCreate(DMutex*&, const TDesC&)
			Kern::ThreadCreate(SNewThreadInfo&)

			Moved SNewThreadInfo and TThreadType into kernel.h to match this.
			Removed class KExec and class KExecHandler altogether.

			Made the following functions exports from the kernel to allow for
			use in RTOS personality layers:

			DPlatThread::CancelTimer()
			DPlatThread::CheckSuspendThenReady()
			DPlatThread::Ready()
			DPlatThread::ReleaseWait(TInt)
			DPlatThread::Wait(TInt, TAny*, TUint32)
			all TPlatRequestSemaphore functions

			Added an additional UnknownStateHandler callback ELeaveCS. This is
			invoked when a thread leaves its critical section with
			iCsFunction < -1. This is for use by RTOS personality layers to do
			thread termination by the back door, allowing reuse of the thread
			control block (DPlatThread).

			Modified the extension entry point x_entry.cpp so that the E32Dll()
			function is called if the parameter is <0 rather than just the two
			values KExtensionInit0 and KExtensionInit1. This allows other values
			to be used for access to RTOS applications.

			Made test.oby include test.iby so that SAWD16 builds work.

			Added first cut Nucleus personality layer in \nucleus directory.


--------------------------------------------------------------------------------
Revision 033

18-04-00:	Added class SDblQue to give cheap queueing operations (all inlines,
			no DLL calls). Changed all instances of TDblQue<> and TPriQue<> in
			the kernel and drivers to use SDblQue instead.

			Rewrote the millisecond timer. The new version uses 32 queues for
			timers which expire in the next 32ms (as before), but now uses a
			holding queue and an ordered queue. Timers expiring after 32ms are
			first placed on the holding queue. The timer thread (DfcThread1)
			then sorts them and places them on the ordered queue. When the
			expiry time of a timer on the ordered queue approaches, it is
			transferred to one of the 32 'final' queues for completion. This
			new implementation allows a quick determination of the time before
			the next timer expires, which will allow the millisecond tick to be
			temporarily disabled to save power while the machine is idle.

			Added test program T_MSTIM and device driver D_MSTIM to test the new
			millisecond timer implementation.

			Modified memory access times in Brutus bootstrap to 9 cycles random,
			6 cycles sequential, data latch delay 1, RAS precharge 4, RAS low
			during CBR refresh 5. Also modified bootstrap to use cache line
			aligned code to set the RAM config and the clock frequency.
			Added test program T_MEM to stress test RAM.


--------------------------------------------------------------------------------
Revision 032

07-04-00:	Upgraded to V6.0 build tools (e32tools and e32toolp).
			Changed MMP files to use SOURCEPATH instead of PROJECT/SUBPROJECT.
			Removed group directories from variants - build files are now in
			the \variant directory instead of \variant\group.

			Bug fixes:
				plat_priv.h - TThreadList had 31 extra SDblQueLink's instead of
					SDblQueLink*'s, which wasted 124 bytes of RAM per list.
				pmstimer.cpp - Forgot to reenable interrupts in Again().
				pprocess.cpp - Wait on process lock before checking if process
					fully loaded in DPlatProcess::Die().
				cutils.cpp - A::StartCrashDebugger() was not storing mode_irq
					registers correctly.
				object.cpp - Memory leak in DObjectIx destructor - list of
					objects was not deleted if iCount=0.

--------------------------------------------------------------------------------
Revision 031a

27-03-00:	Changed the implementation of the priority lists used for mutex and
			semaphore wait queues, for the scheduler's ready list and for DFCs.
			We still have 32 doubly-linked lists, but the lists are circular
			with no head link. Instead there are 32 pointers, each of which
			points to the first item at the relevant priority. The pointers are
			NULL if there are no items at that priority. This saves 128 bytes
			on each 32-priority list (one per thread, one per mutex, one per
			semaphore, maybe 20K on a typical EPOC system).

			Added EPOCONLY option to GENBUILD.PL and DOIT.CMD to build all base
			components (E32/ASSP/VARIANT/F32/BOOTSTRAP).

--------------------------------------------------------------------------------
Revision 031

15-03-00:	Changed the way thread exit and thread suspend work. The thread
			critical section mutexes have been replaced with integers iCsCount
			and iCsFunction. If an attempt is made to suspend or kill a thread
			while iCsCount>0, the action is not performed immediately; instead
			iCsFunction is modified to reflect the required action (+n means n
			suspensions are pending, -1 means an exit is pending). The thread
			then performs the required action itself when the critical section
			ends (iCsCount becomes zero). If iCsCount=0 initially then a suspend
			operation is performed directly, but a kill operation is still done
			indirectly by modifying the saved return address on the target
			thread's supervisor stack so that the thread will exit next time it
			runs. Thus thread death is now always initiated by the dying thread.
			In neither case is the originating thread blocked waiting for the
			target thread to leave the critical section or to exit. Thus
			the semantics of RThread::Suspend() and RThread::Kill() are slightly
			modified in that they may return before the operations have been
			performed. However it is still guaranteed that the target thread
			will not execute any more user-side code after these functions have
			returned. This method has the advantage that a real-time thread can
			suspend/kill another thread without blocking for an indefinitely
			long time. Another advantage is a considerable saving in RAM due to
			the removal of the critical section mutexes (320 bytes per thread).

			A thread now exits by setting its state to EDead and then queueing
			a DFC with the kernel server to clean up the dead thread. Thread
			death/suspension no longer involves the sending of synchronous
			kernel-side messages.

			Modified the structure of DTimer so that instead of having three
			separate timers (TTickLink, TSecondLink and TMilliSecondCallBack),
			only one of which can be in use at any one time, it has effectively
			a union of these three (class TTimer). This was done to save RAM.
			More RAM is saved by using only a TTimer for a thread's timer rather
			than a DTimer.

			Added some facilities for RTOS personality layers:
			1.	Added a new thread type EThreadMinimalSupervisor. This has no
				handles array and is not added to the K::Threads container.
				It may be created in statically allocated memory and may use
				a statically allocated supervisor stack. There are still issues
				with cleanup of these, however (attempts could be made to free
				memory not allocated on the kernel heap).
			2.	Added functions DPlatThread::Wait(), DPlatThread::ForceResume(),
				DPlatThread::Ready(), DPlatThread::StartWaitTimeout() and
				DPlatThread::ReleaseWait() to facilitate the implementation of
				new synchronisation/communication objects such as queues and
				event flags and the implementation of timed waits.
			3.	Added unknown state handlers to threads. If an operation such
				as suspend, resume, release wait, change priority is attempted
				on a thread which is in a state not known to the EPOC kernel
				a callout will be made to the unknown state handler. This would
				usually fault the kernel, but threads created by a personality
				layer could use this to process extra thread states such as
				'waiting on queue' or 'waiting on event flag'.
			4.	Changed thread creation to only wait on the process lock mutex
				while adding the new thread to the process thread list, rather
				than throughout the create operation. This required changes
				to AllocateUserStack(), FreeUserStack(), SetupUserStack() to
				cope with cases where the process data/bss/stack chunk is freed
				during thread creation. This was done to make creation of
				EThreadMinimalSupervisor threads a real-time service.
				Added new test programs T_PROC3 and T_PROC4 to test process
				death during thread creation.

			Changed Brutus bootstrap to link at 0xC8000000 instead of 0xD0000000
			in order to work with the 12Mb reprob bootloader.

			Fixed bug in SAWD bootstrap - redundant LS condition stopped the
			system booting unless bootstrap tracing was enabled.

			Use unnamed threads in T_SVR3, T_SVR6.

--------------------------------------------------------------------------------
Revision 030

03-03-00:	Added 16-bit RAM bootstrap for MAWD and SAWD builds to enable tests
			on a system with 16 bit RAM and no MMU/cache.
			Added Brutus device drivers for power management, serial comms (one
			common PDD EUART.PDD for serial ports 1, 2 (SIR) and 3), digitiser,
			PC card and local media system including media drivers.
			Modified Brutus keyboard and LCD drivers to use power management.
			Changed Epoc::PollingWait() to take a context pointer which is then
			passed to the polling function.
			Changed power model shared power API. The functions now power up or
			down a single shared power input rather than a set of them. Added
			default implementation (no shared power inputs).
			Added function Epoc::LinearToPhysical() to convert a linear to a
			physical address.
			Removed kernel lock from DPBusPsuBase::SetState() - it is only ever
			called by the socket thread.
			TDes16::PtrZ() bug fix.
			Modified window server not to crash if an infoprint or notifier is
			requested which is longer than the screen width.
			When a DLL is unloaded any Dll::GlobalAlloc() belonging to it is
			now removed.
			Added iBusy flag to TDfcQue. This is set just before processing a
			DFC and cleared just before waiting on the thread semaphore. The
			TDfc::Enque() function now only signals the thread semaphore if this
			flag is clear rather than if the queue is empty. This prevents the
			buildup of unnecessary semaphore signals if a DFC is queued while
			another is being processed.
			Unlock the kernel in Exc::Dispatch() before printing the context of
			the thread which took the exception. This is so that the E32 tests
			may be run with T_LAT2 and meaningful latency measurements taken.
			Modified T_TERM to work on Brutus (screen size) and on SAWD (memory
			allocation).
			Added calibration function to CPUMETER.
			Modified T_WWINS to work with screens <50 chars wide (eg Brutus).
			Assembler coded most TSa1100:: functions and the tick/millisecond
			timer interrupt handlers in SA1100. Added dispatcher for shared GPIO
			11-27 interrupt line.


--------------------------------------------------------------------------------
Revision 029

19-02-00:	Split platform and CPU layers into memory model dependent and
			non-memory model dependent bits. Only the latter are now in the
			e32\kernel\epoc and e32\kernel\epoc\arm directories. The rest are
			in e32\memmodel\MMNAME and e32\memmodel\MMNAME\arm where MMNAME is
			the name of the memory model. Include files platform.h, plat_priv.h
			and arm.h have also been split. These now contain only non-memory
			model specific stuff. The rest is in
			e32\include\memmodel\MMNAME\memmodel.h and
			e32\include\memmodel\MMNAME\arm\arm_mem.h

			The original memory model (moving RAM chunks on ARM-style MMU) is
			in e32\memmodel\moving\...

			Added non-MMU memory model in e32\memmodel\direct\... which builds
			and works (not fully tested) on Series 5 MX.

			Changed expansion algorithm for DObjectIx and DObjectCon. The arrays
			now expand by 50%+granularity each time instead of just by a fixed
			granularity.

--------------------------------------------------------------------------------
Revision 028

08-02-00:	Reorganised source into a deep directory structure a la v6.0 kernel.

--------------------------------------------------------------------------------
Revision 027

16-11-99:	Major change to context switching code. Chunks are now moved or have
			permissions modified one at a time, with preemption points following
			each chunk operation. Each process has a 'partial state change' flag
			which is set if a reschedule to or from that process is aborted at a
			preemption point, leaving the process with its chunks in different
			states. This flag is used on subsequent reschedules to defeat the
			normal optimisations, for example if new process = the current data
			section process don't move it. The functions which move chunks and
			change their permissions have been made state-aware and idempotent,
			so that the final state of the chunk is always the requested state
			regardless of the initial state. The code to add and remove chunks
			from a process address space has also been modified so that only
			one chunk is operated on between preemption points.

			The SWI/IRQ/FIQ/ABT vector code has been rewritten to reduce the
			time spent with interrupts disabled.

			Function Plat::PreemptionPoint() has been added. This is similar to
			Plat::AllowReschedule(), but returns a boolean value of TRUE if a
			reschedule occurred and FALSE if it did not.

			Reduced the block size for inter-process data transfer from 2K to
			512 bytes. Function Plat::PreemptionPoint() is called after each
			block is copied; if no reschedule occurred, the copy can simply
			proceed with no need to look up the remote address again since it
			cannot have changed. This results in a considerable speed increase.

			Moved assembler coded IPC stuff from KC_SCHED.CPP into a new file
			KC_MES.CPP.

			Bug fix to DPlatSemaphore and DPlatMutex destructors - kernel is
			locked before calling Reset().

			Rationalised inter-process data transfer mechanisms. All transfers
			now use DThread:: functions Read(), Write(), FastRead() or
			FastWrite(). All these are called with the kernel locked. The first
			two allow any length of data to be transferred and also allow
			remote descriptors to be used, but preemption can occur during the
			transfer. The FastRead() and FastWrite() functions allow up to 128
			bytes to be transferred and no preemption is allowed. These calls
			encapsulate the process memory model used (ie the fact that chunks
			belonging to non-running user processes exist in the home section).
			The CurrentAddress() functions are now protected non-virtual members
			of DPlatThread, so are not accessible by most code. The only
			code which still contains implicit knowledge of the memory model is
			the machine-coded DThread::RequestComplete and DServer::Accept code.

			Added skeleton SA1100/Brutus port. Modified MMU and scheduling code
			to cope with the SA1100 write-back cache and Harvard architecture.
			Drivers are scarce - only the LCD, keyboard and crash debugger have
			been ported. ASSP/interrupt support is not up to final standard -
			interrupts are simply prioritised in descending order of bit number
			in the SA1100 status register and the TSa1100 class needs machine
			coding.

			Modified ExecHandler::LockedInc() and LockedDec() to use LDRT/STRT
			instructions to access the counter if called from user mode.

			Synchronised EUSER to ER5u.

			Bug fix to MMU initialisation code - if RAM banks were not aligned
			to the bank size, the wrong AND and EOR masks could be produced,
			resulting in memory leaks.

--------------------------------------------------------------------------------
Revision 026f

28-08-99:	Changes to MMP files to work with E32TOOLP 127 (ABLD etc.).
			New-look ROM.BAT with -i and -n options and new-style ROM.CFG file.
			Added very early debug mode - generates debug output from exceptions
			in global constructors or other crashes before normal debug output
			is available. Only works on Snowdrop.
			Machine coded 16-bit descriptors.

--------------------------------------------------------------------------------
Revision 026e

			Zero .bss section when loading ROM resident device drivers with a
			non-empty .bss section.
			Changes to ROM.BAT for SINGLE builds.
			Use 'fixed' in .IBY/.OBY files again - needs E32TOOLSv124A.

--------------------------------------------------------------------------------
Revision 026d

			More build tool changes:
				Split BLD.INF into BLD.INF and GENERIC.INF.
				Changed __THUMB__ macro to __MARM_THUMB__.
				Added ROMTARGET statements to MMP files for automatic IBY file
				generation.
			Modified ExecHandler::CallSupervisorFunction to cope with THUMB
			code being used in the function. This is to allow F32 to be
			built for THUMB.
			New system for building test ROMs.
			Store panic code when a system thread panics.
			Bug fix to power model to make switch off work when no absolute
			timers are pending.

--------------------------------------------------------------------------------
Revision 026c

			Added extra RLocalDrive::Format() function to format a specified
			part of the media.
			Fixed more warnings generated by new GCC.
			Added iTimerExpired flag which is set when an absolute timer expires
			so that a switch-off currently in progress can be aborted.
			Added extra function DPowerModel::ClearTimerExpired() to clear this
			flag.
			DPowerModel::SuspendTimers() now returns one of three values EEmpty,
			EPending or EExpired to indicate whether the absolute timer queue is
			empty or non-empty and whether an absolute timer has expired during
			the switch off process.
			Modified power manager to abort the switch off process if an
			absolute timer expires during the process or if one is due within
			2 seconds of the switch off time. When switching on due to a timer,
			switch on 4 seconds before timer expiry is due.
			Define __JUMP, __POPRET macros when compiling for THUMB.
			Added __SWITCH_TO_ARM macro to switch to ARM mode at the beginning
			of an assembler function (for use in test code).
			Modified the kernel to support user threads executing in THUMB mode.
			Added thumb indirect call helpers to UC_EXE.CPP and UP_DLL.CPP.

--------------------------------------------------------------------------------
Revision 026b

			Source renamed for consistency with ER5u. (UCDT->USRC etc.)
			DEF files frozen to work with new build system.
			Added BLD.INF to work with new build system.
			Various MMP file changes for new build system.
			Synchronised with E32 188.
			Changes to suppress warnings from new GCC.
			Changed EUSER machine code functions to use BX for returns and
			indirect function calls.

--------------------------------------------------------------------------------
Revision 026a

			Changes to make unicode build work:
				anInfo parameters to device drivers are TDesC8 instead of TDesC;
				Some TDes8's become TDes and vice-versa;
				Added unicode UIDs;
				Added ReadClient and WriteClient functions to DLogicalChannel
				and TMessage to handle 16-bit descriptors;
				Removed UIDs from ROM.OBY files;
				Don't put TLoaderInfo on supervisor stacks (it's too big);
			Return error code from UserSvr::LibraryLoaded().
			Display drivers mask the top 8 bits from 16-bit characters.

--------------------------------------------------------------------------------
Revision 026

14-06-99:	Added a dedicated synchronous RMessageK slot to each thread. This
			ensures that a thread can always send a synchronous message without
			risking OOM failure.

			Reintroduced fixed message pool capability to sessions. A session
			may now be created either with a fixed size pool of asynchronous
			message slots using RSessionBase::CreateFixedPoolSession() or
			may be created with dynamic allocation of asynchronous message slots
			using RSessionBase::CreateSession(). This is intended to support
			message passing between threads with a real-time requirement.

			Added RSessionBase::Attach() to explicitly create a share for the
			current thread on a multithreaded session. This allows the thread
			to handle potential OOM errors in advance before actually starting
			on work which requires the session to be operational.

			Added C++ versions of ExecHandlers PushTrapFrame, PopTrapFrame,
			ActiveScheduler(), SetActiveScheduler(), TrapHandler() and
			SetTrapHandler().

			Fixed problem with discontiguous memory dumps using the crash
			debugger.

--------------------------------------------------------------------------------
Revision 025i

23-05-99:	Added hooks to the kernel to allow the crash debugger to catch
			exceptions and kernel faults.
			Separated crash debugger into 3 parts (independent, CPU-dependent
			and ASIC/variant dependent). Added more features (register dump,
			exception handling, more comprehensive DObject dump, memory dump of
			discontiguous regions). Crash debugger is now an extension which
			hooks into the kernel at boot time, rather than being part of the
			kernel or variant DLL.

			Added multithreaded session support. A session is created in single
			threaded mode and a call to RSessionBase::MakeShareable() mutates it
			into multithreaded configuration and makes the client handle process
			relative. The original client is given a share immediately. Other
			threads in the same process acquire shares when they first attempt
			a message send on the session.

			Dropped the timer period on MEASURE_LATENCY builds from 2ms to 1ms
			on Windermere.
			Applied the Windermere DRAM refresh fix to TWind::SetStandby().

			Bug fix to DPlatProcess::AddChunk() - the process chunk list was
			being updated with the kernel unlocked.

--------------------------------------------------------------------------------
Revision 025h

07-04-99:	Added dynamic message allocation for sessions. Free messages are
			stored on a singly linked list with K::NextMessage pointing to the
			first free message. A new TDblQueLink field iSessionLink has been
			added to RMessageK - this serves the twin purpose of linking free
			messages onto the free list and linking messages in use to the
			session which originated the message. The latter is necessary to
			allow accepted messages to be freed when a session (or the server)
			is closed.
			Sessions no longer have a specific pool of message slots - they have
			a single reserved disconnect slot and a doubly-linked list of all
			messages in use by that session. A limit of 256 messages per session
			is imposed to prevent a rogue program from gobbling all the system
			RAM by repeatedly sending messages.
			The system message pool grows whenever a thread attempts to send a
			message on a session and none are free. The K::Sessions mutex is
			used to prevent multiple threads from growing the message pool at
			the same time. The system message pool is never shrunk.
			Added a new message state COMPLETED. A message enters this state if
			the server completes the message after the session has been closed
			by the client. This removes the need for the server to dequeue the
			message from the session while the client is iterating through the
			list of messages on the session and thus removes the need for mutex
			protection on this list. The session also has a new flag iClosing
			which is set when the client closes the session. COMPLETED messages
			will be dequeued from the session and returned to the free pool when
			final session cleanup occurs (i.e. when the server completes the
			disconnect message or terminates).
			Added DThread::iTempObj to allow a thread to open an object with the
			kernel locked and then wait on a mutex. If the thread dies while
			waiting, iTempObj will be closed by the kernel server.

--------------------------------------------------------------------------------
Revision 025g

03-04-99:	Added KBAWD16 directory to boot on Snowdrop with RAM in 16-bit mode.
			Ran benchmark tests in both 32 and 16 bit mode.

--------------------------------------------------------------------------------
Revision 025f

26-03-99:	Changed KMaxMemCopyInOneGo into a variable K::MaxMemCopyInOneGo
			which is initialised in ImpMmu::Init1() using an ASIC/Variant call.
			Added IPC stress test program \E32TEST\MISC\T_SVR3.CPP to test
			message passing with clients and servers exiting at random times.

27-03-99:	Reviewed all message passing code in light of problems observed
			running T_SVR3.EXE. Several changes made to ensure that the code
			operates correctly when the threads involved exit or the server is
			destroyed at inopportune moments. Mutex ordering changed - the
			K::Servers container mutex now comes before DObjectIx::HandleMutex
			since this mutex is now held during session creation while the
			client thread handle is being created. CServer::Connect() now uses
			Exec::ThreadRead8 instead of RMessage::ReadL() to read the version
			from the client since the latter would leave and cause the Error()
			function on CActiveScheduler to be called if the client exited
			before the server processed the connect message. This could then
			cause the server to panic.

29-03-99:	Executive functions Exec::ServerCreate(), Exec::SessionCreate(),
			Exec::SetSessionPtr() and Exec::CompleteDisconnect() have been made
			UNPROTECTED instead of SLOW.
			The kernel now validates RMessageK pointers passed in by user code.
			The functions involved are CompleteDisconnect, MessageComplete and
			and SetSessionPtr. Validation is done by first checking the pointer
			lies within the kernel heap, then checking that the message state
			is EAccepted and that the message pointer matches the value passed
			in. The value of RMessageK::EAccepted has been changed from 2 to the
			more unlikely value 0xbfffffc5 (this is an ARM-friendly value).
			Changed iSessionPtr in kernel-side RMessageK to point to DSession
			not CSession. This means that it is no longer necessary to pass out
			the DSession pointer on a session create. Each RMessageK is set up
			with the DSession pointer during session creation. DServer::Accept()
			changes this into the CSession pointer - stored in the DSession by
			SetSessionPtr() - while copying the message across. Eliminated
			function call RServer::SetSessionPtr() and replaced it with
			Exec::SetSessionPtr() since the server is irrelevant to this.
			Assembler coded Exec::MessageComplete() - this doesn't need to find
			the client by looking up the handle any more since it now has the
			DSession pointer available.
			Exec::DuplicateHandle() now updates the handle before releasing the
			thread's critical section to prevent thread heaps being orphaned if
			the thread is killed during heap creation.

--------------------------------------------------------------------------------
Revision 025e

20-03-99:	Removed redundant constructors and destructors from the kernel.
			TDfc now has only 2 constructors - the 4 parameter one and one which
			sets iDfcQ to NULL.
			Modified all DFC constructors which set the DFC queue to NULL to use
			the 3 parameter constructor.
			Removed redundant iObjId member from DObject to save RAM.
			Removed DPlatRequestSemaphore class. Thread request semaphores are
			now TPlatRequestSemaphore objects embedded in the DPlatThread. They
			do not appear in the K::Semaphores container and are not accessible
			other than by executive calls which explicitly use them.
			Reduced DObjectIx and DObjectCon granularities to 8 to save RAM.
			Changed Match, Locate and FindF executive calls from SLOW to
			UNPROTECTED.

23-03-99:	Fixed problem with TEtna::ModifyUartControl8 and TEtna::SetUartBreak
			functions.

--------------------------------------------------------------------------------
Revision 025d

17-03-99:	Implemented password stuff. There is still a potential problem with
			Exec::SetMachineConfiguration if the call is preempted and memory
			is used before the password is recreated.

16-03-99:	Modified ExecHandler::ThreadContext to truncate the returned data
			to fit in whatever buffer the caller supplies.
			Increased max user thread stack from 56K to 80K to accommodate the
			ESTLIB Posix server thread, which uses a 64K stack.
			Got Java running with Conifer 236 ROM.

13-03-99:	Implemented DynamicCallList and LibraryCallList functions. Added
			calls to DLL entry points. Test programs T_TDLL12, T_TSTART pass.

12-03-99:	Implemented DLL static data. Test programs T_TLDD and T_TDLLA now
			pass.

--------------------------------------------------------------------------------
Revision 025c

06-03-99:	Replaced Plat::WaitOneMicrosecond() with a more general function
			Plat::NanoWait() which waits for a specified time in nanoseconds.
			Use this new function in ATA media driver.
			Added function Kern::MachinePowerStatus() to return the current
			power status - i.e. good if external power present, otherwise the
			main battery status.
			New Snowdrop current consumption figures.
			Stopped backlight turning on if battery status is Replace.
			Prevent writes to CF card if battery status is Replace.
			Added Vpc voltage checking.

09-03-99:	Reset2() is now not called on peripheral bus sockets when a power
			down occurs, only when a media change occurs. This leaves the card
			configurations intact. When the socket is next powered up, the
			Restore() function is called to restore any active card configs.

--------------------------------------------------------------------------------
Revision 025b

28-02-99:	New PBus/media system state machine, including postponement of power
			down and media change for writes.

01-03-99:	Implemented SetCurrentConsumption() for media drivers.
			Added DPowerHandler::DeltaCurrentConsumption() function.

02-03-99:	Timing measurements done for short reads.
			Optimised local drive access when data source or destination is the
			same thread as the DLocalDrive client. In this case, we don't bother
			opening the thread again and we leave iSrcDestThread=NULL. Functions
			ReadRemote() and WriteRemote() just call ReadClient() and
			WriteClient() if iSrcDestThread is NULL.
			Further optimisation by using Plat::SafeRead instead of ReadClient
			to read the TLocalDriveMessageData from a client request.
			Rewrote most TEtna functions in ARM assembler. Added new functions
			TEtna::EnableWaitControl() and TEtna::DisableWaitControl() to
			set up the ETNA wait state controller quickly - these each replace
			3 separate TEtna calls.

05-03-99:	Added iAdjusted flag to DLocalDrive. This is cleared for a new
			request and set when CheckAndAdjustForPartition() is called. This
			flag is used to prevent a deferred request from being adjusted more
			than once - adjustment is only done if the flag is clear.
			Fixed bugs in handling of requests by the local media subsystem and
			ATA media driver when the client thread exits while the request is
			still being processed or while the media is being mounted.
			Fixed bug in TMessage::Cancel(). If a message was completed after
			being cancelled this would cause a kernel fault. However this is a
			valid thing to do if a thread exits while a device driver request is
			still outstanding.
			Modified ATA media driver to call ReleaseConfig() when it is closed.
			Added test program T_ATADR3.EXE to stress the media subsystem and
			ATA media driver with requests from multiple threads, with threads
			which exit with requests outstanding and with media changes and
			machine power downs during processing of requests.

--------------------------------------------------------------------------------
Revision 025a

26-02-99:	Merged in changes to EUSER and F32 for ER5. EUSER is now up to E32
			166 standard and F32 up to release 132 standard (apart from UID
			changes - UIDs will need to be different for E32RT anyway).
			Use P2 UK keyboard table from LOCE32_1 release 005 for Snowdrop
			keyboard data.

--------------------------------------------------------------------------------
Revision 025

24-02-99:	Modified Snowdrop digitiser driver to use DAdc::SetMinPriority() to
			lock out battery readings rather than using a dummy ADC channel.

25-02-99:	Boils.

--------------------------------------------------------------------------------
Revision 024g

20-02-99:	Changes to SWI handling:
				1.	The call number is now checked to make sure it is in range.
				2.	Slow and Unprotected calls now save r4-r11 before calling
					the kernel function and restore them afterwards.
			Modified LookupKernHandle, DSession::Send and DServer::Receive to
			take advantage of the saving of r4-r11 - they don't need to save
			registers themselves.
			DArmPlatThread::SetReturnValue() now places the value in the saved
			R4 register - this is copied into r0 by Plat::LeaveCS() or
			Plat::AllowReschedule() or the slow SWI postamble.
			DArmPlatThread::CallUserFunction() modified to cope with the case
			where a FIQ occurs immediately following execution of a SWI.
			Fixed bug in scheduler. If a high priority moving process is being
			scheduled and an interrupt occurs during the moving of the previous
			data section process to the home section, the reschedule is aborted.
			But if the thread readied by the interrupt has a lower priority than
			the thread being scheduled, the reschedule is never completed and
			the high priority user process' chunks are never mapped down.
			Use new default calibration values in Snowdrop digitiser driver.

22-02-99:	Implemented RThread::Context() to get the user-mode context of a
			user thread.

23-02-99:	Fixed bug whereby a closed DSession was dequeued from the DServer
			twice - once when the client Close()d the session and again when the
			server completed the disconnect.
			Fixed bug in TMessage::Cancel() - iDfcQ was being referred to and
			P::RemoveClient() being called even if the message was not currently
			in use. Changed so that iDfcQ is set when the message is sent and is
			set to NULL when the message is either completed or cancelled.
			Do ASIC/Variant Init1() before getting startup reason - on Snowdrop
			this is necessary for two shift keys reset to work (because Init1
			determines whether the machine is running in professional mode).

--------------------------------------------------------------------------------
Revision 024f

			Added DAdc::SetMinPriority() to enable lower-priority ADC channels
			to be suspended for a while (on Snowdrop taking battery readings
			leads to inaccurate digitiser readings.
			Fixed bug in DChannelComm::ImpRequest - client data was being
			accessed directly instead of using ReadClient or WriteClient.
			Improved debugger to allow memory and container dumps to either
			the screen or the serial port, with optional logging to a file.
			Fixed problem with sound driver - synthesised sounds were stopped
			when the last sample was placed into the sample buffer rather than
			when the sample buffer has been completely emptied.
			Added CBase::Delete() to delete a CBase-derived object.
			Removed Exec::DriveXxx functions from EUSER.
			Consolidated all chunk adjust operations (Adjust, AdjustDoubleEnded,
			Commit, Allocate, Decommit) into one Exec function.
			Moved some data from static storage to the kernel heap.
			Removed TMessage::SendReceiveL() and TMessage::SendReceiveH().
			Applied fix for Snowdrop cold-reset problem - still doesn't work
			though.
			Change permissions on virtual address 0 from RWNO to RORO.
			Some ExecHandler consolidation to reduce ROM size.
			Increased limit on a session's message slots from 16 to 20 to cope
			with Web (WtlServer sessions request 20 message slots).
			Fixed a bug in ATA driver - if a thread exited just before F32
			made a request on its behalf, the card status would not be set back
			to idle, rendering the device unusable until a remount occurs.
			Comms/sound driver fix - only unbind interrupts in the destructor
			if we successfully bound them.
			Fixed bug in keyboard driver - if a dictaphone key caused the
			machine to switch on, the keyboard driver would never acknowledge
			the power manager power-up request.

--------------------------------------------------------------------------------
Revision 024e

			Modified comms LDD - receive ISR can now accept a character count of
			zero (occurs if only XON or XOFF received).
			Generalised digitiser driver a bit - number of samples taken is now
			variant-configurable, as is pen-move filtering. The driver can now
			be built as a PDD for RAM-loading.
			Added debug mode checking to ensure that kernel heap is only ever
			accessed with the kernel unlocked and the current thread in a
			critical section.
			Exported TMessage::SendReceiveLocked().
			Re-introduced TransmitIsr() function to comms LDD.
			DPlatChunk::SetFixedAddress() now rounds the supplied size up to a
			multiple of the page size.
			Modified DPlatChunk::Reserve() to use the RAM allocator mutex so
			that it can be used after booting.
			Modified DPlatProcess::NewChunk() to reserve linear address space
			for fixed chunks.
			In DEBUG builds, DObjectIx and DObjectCon both use a granularity of
			1 to aid kernel heap testing.
			Fixed RHeap::Compress() bug.
			Set case state to closed when machine comes out of standby to avoid
			problems with incorrect state reporting.
			Remove extraneous Plat::LeaveCS() in emergency power down handler.
			Modified comms drivers to fill the TX FIFO in EnableTransmit().
			Brought C++ comms code up to date.
			Reduced power up/power down delay times in sound driver.
			Fixed problem with clearing Snowdrop screen when coming out of
			standby mode.


--------------------------------------------------------------------------------
Revision 024d

			Added BITGDI-style video device driver for Windermere to enable full
			EIKON-based Snowdrop images to be created.
			Added media change notification to the local media device driver.
			This uses a Request on the device driver. Also added a way to force
			media change events (replacing UserPcCardCntrl::PowerDown()).
			Moved EUSER up to E32 161 standard.
			Moved F32 up to F32 127 standard - use F32_127A.ZIP with this.
			Fixed bug with ATA driver power down.
			Fixed bug in ATA driver - a format request was never completed due
			to incorrect updating of the amount of media formatted.
			Corrected power management code so that battery consumption is not
			counted while external power is present.
			Fixed 'switch off if no external power' mode - logic of test was
			inverted so that switch off only occurred if external power was
			present.
			Check external power and case open/closed state when machine comes
			out of standby.
			Fixed problem with Windermere UART1 driver which caused UART2 lines
			to be wrongly configured after UART1 driver is closed.
			Changed ScreenInfo() function on Windermere port to return address
			of bitmap in video RAM rather than of palette - this is to obtain
			compatibility with ER5 release of BITGDI.
			Fixed emergency power down problem with Snowdrop - the interrupt was
			not being cleared after servicing.
			Fixed problem with kernel tracing on Snowdrop - the UART was not
			being reinitialised after coming out of standby.
			Text window server modified in line with ER5.


--------------------------------------------------------------------------------
Revision 024b

			Fixed bug where DLocalDrive was being dequeued twice as a result of
			TLocalDrive::Disconnect being called.
			Fixed bugs in local media state machine.
			Corrected erroneous use of registers in Plat::LockedSetClear().
			Modified media driver MEDATA.PDD so that card not busy interrupts
			now always queue a DFC which then transfers the data thus reducing
			interrupt latency. In addition, single sector reads have been made
			asynchronous as well. The only synchronous reads remaining are the
			preliminary reads for a non sector-aligned write.
			Modified MEDATA not busy timeout. Every 30ms a DFC is run to check
			for card not busy. If not busy, normal processing resumes. If card
			is still busy after 67 checks, the operation is timed out.
			Fixed ATA driver bug which caused incorrect data to be written to
			last sector of a non sector-aligned write of more than 4K.
			Fixed some bugs involving systems with more than one PC card socket.
			Added power handling to EPBUS.


--------------------------------------------------------------------------------
Revision 024a

			Added Windermere/Snowdrop B1 port. Macros are used for cache and TLB
			flush instructions, defined differently for EIGER and Windermere.
			Added Mmu::AllocPhysicalRam() function to allocate a block of RAM
			contiguous in physical addresses. This is used to allocate the video
			RAM in the Windermere port.
			Added first cut peripheral bus/PC card/CF card support
			Added local media subsystem using media drivers and accessed via
			RLocalDrive class. The local media system is implemented as a device
			driver. TLocalDrive is provided as a derived class from RLocalDrive.
			Removed old implementation of RAM drive access functions from the
			kernel and added IRAM media driver MEDINT.PDD. Exec::DriveXXX
			functions now return KErrNotSupported or do nothing.
			Added internal RAM drive interlock mutex and exported functions to
			wait/signal it.
			Added first cut ATA media driver MEDATA.PDD
			Fixed battery monitoring bug - iAdjusted was not being initialised,
			causing status updates to be missed.
			Upgraded VA_ETNA.CPP in all variants to Rev 3 ETNA standard.
			Modified comms driver EnableTransmit() function to enable interrupts
			without filling transmit FIFO.

--------------------------------------------------------------------------------
Revision 024

14-12-98:	Fixed a bug in Exec::ProcessSetOwner whereby a user thread might be
			killed and leave an unclosed reference on a DProcess.
			Implemented Exec::ThreadGetRamSizes.
			Put screen variant stuff back into bootstrap and map 2 pages for HW
			registers instead of 1 to cater for the CL-PS7111 chip (as used on
			Gator).

--------------------------------------------------------------------------------
Revision 023a

09-12-98:	Modified the memory mapping scheme. Thread supervisor stacks are now
			allocated in a new disconnected SvStack chunk. One guard page is
			placed before each supervisor stack to catch stack overflows. The
			kernel heap (and the kernel server stack) are in chunk SvHeap.
			User thread stacks are now allocated in the $DAT chunk of a process
			after the static data. The $DAT chunk is now a disconnected chunk.
			This will necessitate a change to ROMBUILD to cope with fixed
			processes in ROM - the stack space for the process must be added to
			the static data size to give the maximum size of the data chunk.
			8K of guard space is placed between adjacent user thread stacks in
			order to catch stack overflows.
			User heaps are now always created by a user thread. The main thread
			of a process creates its own heap when it begins execution in
			function K::RunUserThread in the kernel. Subsequent threads can
			either create new heaps or share a heap, as previously.
			Removed specially-declared null thread stack - the null thread now
			gets its stack the same way as any other kernel thread.

10-12-98:	Moved version of E32TEST up to 006. Reintroduced kernel heap checks
			into tests from which they had previously been removed (T_SVR2,
			T_TLS, T_CHUNK, T_REG). Added kernel heap checking to T_PROC1.
			Got T_CHUNK and T_THREAD working with full number of threads being
			created (previously this didn't work due to each thread requiring
			its own stack chunk).

11-12-98:	Moved up to F32 124 and E32TOOLP 098.
			Added 'magic' exception handling scheme. If a data-abort exception
			occurs in mode_svc and the aborted instruction is one of a select
			few 'magic' instructions, the exception handler simply returns to
			the instruction following the aborted instruction with the ZERO flag
			set and R12 containing the faulted data address. This avoids the
			need for long-winded address validation for inter-process transfers.
			The problem is that it is fairly difficult to determine the validity
			of a range of addresses in a disconnected chunk - this would require
			searching of the page bitmap; so instead we simply verify that the
			address given is in the process address space and the offset in the
			chunk is within the home region offset range - this guarantees we
			cannot access another process' chunk by accident.
			Added functions Plat::SafeRead() and Plat::SafeWrite() which make
			use of this facility to provide exception-proof small-block data
			transfers for kernel functions.
			Modified DThread::RequestComplete and DServer::Accept to use the
			'magic' exception handling facility.
			Modified GetDesInfo(), GetDesLength() and GetDesMaxLength() to use
			Plat::SafeRead().

12-12-98:	Optimisations to DThread::RequestComplete, DServer::Accept (machine
			code versions).
			Added function DThread::AsyncClose(). This is called from
			TMessage::Complete to close the message's reference on the thread.
			If the access count drops to zero during this call, the thread
			must have terminated with a kernel message outstanding. The dead
			thread's kernel message is sent to the kernel server, but the
			current thread does not wait for its completion. The kernel server
			actually deletes the dead thread. This is done so that device driver
			threads do not have to actually delete the thread, which may
			involve waiting a long time for the kernel heap mutex.
			Added test program T_PROT2 which tests protection of a new process
			against scribbling over its chunks while it is being loaded.
			Added function UserSvr::ExecuteInSupervisorMode() available only to
			F32. Modified loader SF_LDR.CPP and SF_IMAGE.CPP to make use of this
			call to run the functions which fix up images in supervisor mode.
			This removes the need for the chunks of a new process or DLL to be
			given user read/write permissions until they have been loaded.
			Removed functions DPlatChunk::ApplyUserPermissions() and
			DPlatChunk::SetFinalPagePermissions().

--------------------------------------------------------------------------------
Revision 023

03-12-98:	Changed all instances of TName in the kernel to TKName which has max
			length 64 characters. This is to guarantee that the full name of an
			object can never exceed the 256 character limit of a TFullName.
			Moved the kernel-generated panic numbers (TKernelPanic) into a
			separate header file E32KPAN.H. This is included in e32test.h and
			in uc_exec.cpp but not in all EUSER files. It is also included in
			K32STD.H, and so in all kernel files.
			Removed logical channel functions relating to slow open, which are
			not required in E32RT.

04-12-98:	Implemented Exec::ThreadSetInitialParameter. The initial parameter
			is stored in a reserved word in the DThread and is read when the
			thread first starts to run.
			Implemented kernel heap checking in DEBUG builds. A special class
			TKernelHeapWalk is used so that failures don't cause a kernel panic.
			Modified Kern::SafeReAlloc so that in DEBUG builds it preserves the
			nesting level of the cell being reallocated. This is done to prevent
			reallocation from causing kernel heap checking to fail.
			Fixed bug in svThreadKill which caused kernel fault if a thread
			attempted to kill a protected thread.
			Fixed memory leak in DThread::Create - the supervisor stack was
			allocated and the pointer stored in a temporary variable for a bit
			rather than in the iSupervisorStack member variable. This meant that
			if the following memory allocation failed, the memory block which
			was allocated for the stack was orphaned.
			Added stub ExecHandler functions for CompressAllHeaps,
			DllGlobalAlloc, PasswordSetEnabled, PasswordSet, ChangeLocale and
			ResetMachine.
			Implemented Exec::ChunkSetHeapInfo to record information about the
			heap existing in a chunk so that it can be compressed. This function
			also stores a pointer to the heap interlock mutex and increments the
			mutex reference count. When the chunk is deleted the reference is
			closed to balance this.
			Fixed bug in LCD driver - contrast was not being correctly set when
			the machine powered up.
			Modified RHeap::Open so that it will refuse to modify a zero access
			count.
			Modified RHeap::Close so that if the access count falls to zero,
			Exec::ChunkSetHeapInfo is called with KNoHeap so that the reference
			to the heap mutex can be closed.

05-12-98:	Implemented generic priority inheritance for TDfcQue. A Boolean
			field iInherit has been added; if it is set TRUE, the DFC queue
			thread will inherit the priority of any clients which send a kernel
			message (TMessage) to it. The kernel server message queue sets this
			field TRUE during initialisation (KP_INI.CPP).
			Implemented Exec::CompressAllHeaps(). The compression is done by a
			dedicated kernel-side compressor thread. This thread is activated
			by kernel messages received from other threads, and it inherits the
			priority of its clients (if higher than its default priority).
			Heaps are only compressed if no thread currently holds the interlock
			mutex - the compressor thread can never block on this mutex since
			this could result in deadlocks.
			Fixed an access-count imbalance in shared heap chunks. When a thread
			is created with a new chunk heap, a handle is opened to the heap
			chunk to enable the thread to initialise its heap when it starts
			running. However the access count of the new heap chunk within the
			process was not incremented. This eventually results in the chunk
			being removed from the process address space while still in use by
			a thread in the process which shares the original thread's heap.
			The chunk's access count in the process is now incremented.
			In __MEASURE_LATENCY__ builds, the maximum observed interrupt and
			thread latencies are now recorded. T_LATNCY.CPP has been modified
			to make this information available.

07-12-98:	Bug fixes to sound driver:
				Set the correct DFC queue for DLddSound::iEmergencyPowerDfc.
				Set AlarmStackPtr to 0 when initialising an alarm.

08-12-98:	Bug fix in kernel - TDfc::Cancel was using register r0 after it had
			been overwritten.
			Comms PDDs modified to use Plat::DisableIrqsToLevel1() instead of
			disabling interrupts by hand - this is so that the kernel is locked
			when IRQs are off.

--------------------------------------------------------------------------------
Revision 022f

26-11-98:	Update battery insertion time when system time changes.
			Fixed problem with estimate of total charge taken from the battery.
			The power manager was using an invalid way of determining that the
			CPU is idle. The TickInterrupt() function is now called with a TBool
			indicating whether or not the CPU is idle.

27-11-98:	Added exports and public header file to PR_MISC.CPP so that it may
			be used by the sound driver to play the fallback alarm.

28-11-98:	Added sound device driver - basically rewritten from scratch rather
			than hacking the original sound driver, due to the excessive time
			taken by the latter in ISRs. So far, no battery monitoring is done
			by the sound driver; in addition, some machine coding of the ISR
			and of the sinewave generator may be advantageous.
			Modified comms device driver so that the PDD now determines which
			DFC queue is used rather than the LDD. This is so that PC card
			serial ports may use the PC card controller thread instead of the
			usual DfcThread0.

29-12-98:	DLogicalChannel::Complete() now tests that the request is pending
			before completing it. It does nothing if the request is not pending.
			Added extra functions to read and write remote thread memory space
			without the need for descriptors:

			TInt DThread::Read(const TAny*, TAny*, TInt)
			TInt DThread::Write(TAny*, const TAny*, TInt, DThread*)
			TInt DLogicalChannel::ReadClient(const TAny*, TAny*, TInt)
			TInt DLogicalChannel::WriteClient(TAny*, const TAny*, TInt)
			TInt TMessage::ReadClient(const TAny*, TAny*, TInt)
			TInt TMessage::WriteClient(TAny*, const TAny*, TInt)

			Changed TDfc::Enque() to TDfc::DoEnque() - this function expects the
			kernel to be locked. Added TDfc::Enque() which locks and unlocks the
			kernel itself.

01-12-98:	Bug fixes to sound driver. It now passes T_SOUND with the exception
			of tests which require User::FreeLogicalDevice (not yet implemented)
			and which test that PreparePlay() and PrepareRecord() actually
			allocate memory (which they now don't).
			Fixed kernel bug which was failing to set the heap for a thread
			created with a shared heap.
			Made all kernel threads SYSTEM and PROTECTED.

--------------------------------------------------------------------------------
Revision 022e

20-11-98:	Added power handling to VARMP2\VA_KEYB.CPP so that key-up events
			may be delivered for keys which were down when power-down occurred.

21-11-98:	Implemented MachineConfiguration() and SetMachineConfiguration()
			functions. These currently assume that the super-page configuration
			is small enough to be copied with the kernel locked (i.e. <=2K on
			EIGER).
			Implemented ModifyLedMask() in PR_POWER.CPP.
			Wrote miscellaneous function extension (PR_MISC.CPP) to implement
			the SoundHal group of HAL functions and to implement User::Beep()
			and startup beeps.
			Wrote ADC driver extension. D_ADC.CPP implements a generic ADC
			controller with a queue of requests. PR_ADC.CPP implements hardware
			specifics for the Protea ADC. ADC requests are prioritised, so that
			e.g. digitiser readings can be guaranteed to occur before battery
			readings. ADC requests can also consist of multiple ADC readings,
			wait periods and a general preamble or postamble - e.g. to apply a
			load to the backup battery or to drive the X or Y digitiser plates.
			Fixed problem with K::SecondsFrom2000() so that it now works for
			times before and after K::Year2000.
			Removed functions SvSendReceive, SvSendReceiveCheck from UC_EXEC.CPP

23-11-98:	Implemented monitoring of reference voltage and main battery in file
			PR_BATT.CPP, using the ADC driver. Added and interface class
			DBatteryMonitor by which the power manager code in PR_POWER.CPP
			communicates with the battery monitoring code. Battery monitoring
			is done as part of the power manager, in the extension POWER.DLL.

24-11-98:	TMessage::Complete() now checks that the client thread has not died
			before attempting to signal its request semaphore.
			Added monitoring of the backup battery to PR_BATT.CPP, using a
			somewhat simplified scheme compared to the old E32 code. The generic
			periodically monitored channel abstraction TTimedAdcChannel is used
			instead of a completely specialised class.

25-11-98:	Implemented digitiser driver in 3 parts. D_XYIN.CPP contains generic
			code for processing raw samples from the hardware - averaging,
			discarding initial and final samples, filtering pen moves. It also
			implements a state machine for pen-down/pen-move/pen-up. File
			PR_XYIN.CPP implements calibration as used on the Series 5, which is
			dependent on PR_MCONF.H. File VA_XYIN.CPP implements pen-up/pen-down
			detection and raw sampling on the particular hardware, using the ADC
			driver to do the sampling.
			Note that pointer switch-on events and reading of calibration and
			configuration parameters from EEPROM have not yet been implemented.


--------------------------------------------------------------------------------
Revision 022d

20-11-98:	Implemented DPlatChunkHw to allow device drivers and extensions to
			dynamically map hardware addresses into the memory map. For ARM a
			simple queue of hardware chunks in decreasing order of linear
			address is used to allocate linear addresses. This is OK for ARM,
			since all HW chunks will have the same PDE. For other processors
			a more complicated scheme may be needed - this can be implemented
			by overriding some virtual functions.
			Modified VA_ETNA.CPP and VA_LCD.CPP to map ETNA and the video RAM
			using DPlatChunkHw.
			Fixed error in VARMP2\VA_KEYB - the wrong variant header was being
			included (v32armpd.h instead of v32armp2.h).
			Changed executive calls ScreenInfo(), WsSwitchOnScreen(),
			WsRegisterSwitchOnScreenHandling() and Beep() to be HalFunction
			calls instead, which are handled by the appropriate extension rather
			than by the kernel.
			Extension VA_LCD.CPP has been modified to deal with the first three
			of these functions, along with the rest of the DisplayHal group of
			HAL functions.

--------------------------------------------------------------------------------
Revision 022c

7-11-98:	TMessage::SendReceive now Open()s the client thread before sending
			the message to ensure that it cannot be deleted while the message
			is being processed. TMessage::Complete() closes the client thread.
			TMessage::Cancel() closes it if the message is being held on a
			queue.

11-11-98:	Added power model to the kernel. File KS_POWER contains generic
			code with hardware-specific derivations in VA_POWER. Only power
			handler so far is for the LCD - device drivers not yet modified to
			work with the new power model. UserHal::SwitchOff() now implemented
			and test T_TIMER now passes.
			Fixed bug in timer code which meant that the hardware RTC was not
			being initialised with the system time on a cold start.
			Implemented TTickQ::WakeUp() to reconcile the state of the second
			queue after the system has been powered down.
			Moved DebugInit() function entirely into the variant layer. The
			flag indicating that the debug port is initialised has also been
			moved. This is so that it can be reset when we power down.
			Use a consistent size for the predefined stacks (null, irq, fiq,
			exception); this size is defined in arm_kern.h.
			Implemented a new type of DFC - the immediate DFC. These run as
			soon as the kernel is unlocked - at the point where an ordinary DFC
			would be transferred from the pending queue to its final queue. The
			immediate DFC is used to implement emergency power down, to ensure
			that devices are notified of the power-down before any threads can
			run.
			Increased the size of the null thread stack from 1K to 4K to allow
			for the new immediate DFCs.
			Changed HalEntryArray from an RArray<SHalEntry> to a SHalEntry<32>.
			The RArray<> was not reentrant safe.
			Added new Variant:: functions to turn display on and off, to turn
			the backlight on and off and to turn all power supplies off.
			Moved the generation of the switch on event from KP_INI.CPP into
			the power model in VA_POWER.CPP.

12-11-98:	Fixed some problems relating to emergency power down. This now
			seems to work, although no device drivers are currently involved.
			Modified Plat::DisableIrqsToLevel1() to also lock the kernel if it
			is not already locked - this is necessary since otherwise a level 2
			interrupt could cause a reschedule and the new thread could then
			enable interrupts. The return value now has bit 31 set if the
			kernel was locked. Plat::RestoreIrqs() checks this bit and unlocks
			the kernel if it is set.
			Modified the kernel server to Close() a thread which has exited or
			which has been paniced by the kernel server. This is to balance the
			Open() in the TMessage::SendReceive() call which initiated the
			kernel server operation.

14-11-98:	Modified keyboard driver to be an extension instead of an LDD. This
			removes the need for the window server to load it.
			Split out LCD power handling into a separate extension (VA_LCD.CPP)
			from the power handling extension (PR_POWER.CPP + VA_POWER.CPP).
			Restructured DLogicalChannel into two classes DLogicalChannel and
			DPoweredLogicalChannel. The former contains no power handling
			functions and may be implemented either with either direct executive
			functions or with a DfcQue. The latter has power handling via a
			DLogicalChannelPowerHandler, derived from DPowerHandler, and always
			uses a DfcQue. Client messages received while the channel is powered
			down or powering down will be deferred until the channel powers up
			again.
			Modified comms device driver to use DPoweredLogicalChannel and to
			act correctly on power-up and power-down. Reinstated the ETNA UART
			driver (VA_COM2) for rack D.

15-11-98:	Fixed debug build crash due to missing __NAKED__ declaration on
			TMilliSecondCallBack::Cancel().

16-11-98:	Implemented power-related and LCD/backlight related UserHal::
			functions in PR_POWER.CPP and VA_LCD.CPP respectively.

17-11-98:	Got test programs T_POWR and T_SERIAL working. This required fixing
			a timer bug relating to inconsistent rounding of TTime to the
			nearest second when dealing with absolute timers. This is fixed by
			adding a function K::SecondsFrom2000 which converts a TTime into
			seconds from K::Year2000, always rounding down (rather than towards
			zero).
			T_SERIAL required a short pause (100ms) to be added just after
			waking up when checking that RTS/DTR are preserved over power down.
			This is due to the fact that when performing an operation on a
			channel, it is guaranteed that your channel has powered up before
			the operation is performed but it is not guaranteed that other
			channels have powered up.

18-11-98:	Fixed bug in KS_DEV which caused a crash if a logical channel create
			failed part-way through.
			Ran EIKON ROM - ER4 ROM 213 + E32RT + lexicon 040. Lexicon 041 in
			the ROM appears not to work.

--------------------------------------------------------------------------------
Revision 022b

18-10-98:	EXE code chunks are now fixed. Added extra parameter to functions
			DThread::Write() to indicate thread which initiated the action -
			this is either the current thread or the client thread for device
			driver writes. This is to allow F32 to write to code chunks owned
			by a process being loaded and to DLL code chunks, where the client
			of F32 is the loader and the chunk being written to is not part of
			F32's address space. Modified DThread::CurrentAddress(TAny*, TInt)
			so that no exemption is made for F32.
			The main thread of a newly-created process has the KThreadFlagMain
			bit set immediately on creation of the thread instead of when
			UserSvr::ProcessLoaded() is called. This is to ensure that if the
			load fails, Exec::ProcessKill can delete the process successfully.
			Added missing __NAKED__ declaration to TEiger::SetPalette().

23-10-98:	Fixed two timer bugs - 2^32-1 microseconds was being incorrectly
			handled due to signed arithmetic overflow, and added a check to
			reject an attempt to start an absolute timer for a time <=now.
			Implemented ProcessOwner() and ProcessSetOwner().

24-10-98:	KBARMS5 bootstrap will now handle up to 4Mb of 'ROM' code.

26-10-98:	Added stubs for unimplemented EXEC functions - DllGlobal*,
			DllDataInfo, PasswordIsValid, GetLocaleCharSet. Also stubbed the
			remaining EUSER functions which call SvSendReceive to return
			KErrNotSupported. This enables the E32 tests to run and fail rather
			than crashing the machine.
			Brought EUSER and EWSRV/ECONS up to E32 156 level. Changed _LITERAL
			declarations to _LIT in line with E32 156.

27-10-98:	Moved over to latest E32TOOLP (096). Added unicode UIDs to all MMP
			files.

--------------------------------------------------------------------------------
Revision 022a

14-10-98:	Modified DThread::CurrentAddress to work with disconnected chunks.
			The maximum size to test for must now be supplied. Made
			DPlatProcess::LookupChunk pure virtual in DProcess so that KS code
			can use it. Modified DThread::Write to work with disconnected
			chunks.

--------------------------------------------------------------------------------
Revision 022

15-09-98:	Implemented 'Double-Ended' and 'Disconnected' chunks:
			Added function DPlatChunk::ExpandHomeRegion() which reallocates the
			home region to accommodate a new committed block. The home region
			size allocated is the minimum which will accommodate the new block.
			The home region does not need to include the whole of the reserved
			region - a new variable iHomeRegionOffset has been added. This is
			the chunk offset represented by the start of the home region.
			Renamed functions DPlatChunk::Commit() and DPlatChunk::Decommit()
			to DoCommit() and DoDecommit() respectively. These allow committing
			and decommitting of any part of a chunk.
			Implemented DPlatChunk::AdjustDoubleEnded(). This differs from the
			old E32 implementation in that it no longer guarantees to preserve
			the chunk state under OOM conditions. Only the intersection of the
			initial and final regions is guaranteed to be preserved.
			Added functions RChunk::CreateDisconnectedx where x=Local/Global.
			These create disconnected chunks, which allow any pattern of pages
			to be committed rather than just a single interval.
			Added functions RChunk::Commit(), RChunk::Allocate() and
			RChunk::Decommit() for use with disconnected chunks. These commit
			a specified interval, commit a specific size of block at an offset
			determined by the OS and decommit a specified interval respectively.
			Changes to DPlatThread::CurrentAddress() required to cope with
			disconnected chunks have not yet been implemented.

--------------------------------------------------------------------------------
Revision 021l

11-09-98:	Fixed bug in DPlatChunk::Decommit - the address was being passed
			to RemovePde instead of the offset, resulting in the PDE not
			being deallocated and the chunk's PDE info being incorrect.

--------------------------------------------------------------------------------
Revision 021k

10-09-98:	Fixed problem in comms driver - when the transmitter was flow
			controlled, continuous TX interrupts occurred. The TX interrupt
			is now disabled when the transmitter is flow controlled.

--------------------------------------------------------------------------------
Revision 021j

09-09-98:	Modified comms driver to avoid repeated calls to LDD functions. PDD
			now reads from TX buffer directly and makes a single LDD call after
			filling the TX FIFO. RX characters are stored in a buffer before
			being passed to the LDD in one block. This reduces time spent in
			interrupt (int latency with comms loopback down to 226us).

--------------------------------------------------------------------------------
Revision 021i

03-09-98:	Implemented the ROM-shadowing MMU functions and ported test program
			T_SHADOW.CPP and accompanying LDD D_SHADOW.LDD.

09-09-98:	Machine coded most TEiger functions.

--------------------------------------------------------------------------------
Revision 021h

02-09-98:	Added iPdeBitMap to DPlatChunk. For chunks with a max size of <=32
			PDEs, this is simply a bit-mask showing which PDEs are present.
			For chunks with more than 32 PDEs, it is a pointer to a bit map of
			the appropriate number of words. Added functions MoveHomePdes(),
			MoveCurrentPdes(), AddPde() and RemovePde() to set up this bitmap
			and use it to determine the chunk's current PDE range.
			Fixed a bug in TBitMapAllocator::NotFree() which caused incorrect
			answers to be given in the case where a word boundary was not
			crossed (the easy case!).

--------------------------------------------------------------------------------
Revision 021g

01-09-98:	Reverted the SetPdeInfo() function to its old non-searching form.
			Unfortunately this introduced a bug - while decommitting RAM, even
			a standard E32 chunk may temporarily become 'gappy'; SetPdeInfo()
			would not cope with this correctly.

--------------------------------------------------------------------------------
Revision 021f

01-09-98:	Machine coded those Mmu and ImpMmu functions which run with the
			kernel locked (PageTableId(), MapRamPages(), MapPhysicalPages(),
			UnmapPages(), AssignPageTable(), UnassignPageTable()).

--------------------------------------------------------------------------------
Revision 021e

30-08-98:	Rewrite of MMU code to reduce kernel-locked time. The functions of
			allocation/deallocation and mapping/unmapping of pages have been
			separated. The allocation and deallocation, which was the more time
			consuming part, now runs with the kernel unlocked and the global
			allocators protected by RamAllocatorMutex. The actual mapping and
			unmapping of pages is still done with the kernel locked to prevent
			collision with the scheduler.
			Added new TBitMapAllocator class which is machine coded for speed.
			It also remembers the last position it allocated to avoid repeated
			searching over any completely full initial segment of the bitmap.
			Extra functions have also been provided. AllocList() allocates a
			list of positions more efficiently than repeated calls to Alloc().
			AllocConsecutive() allocates consecutive positions. Both first fit
			and best fit methods are supported. This is intended for use in an
			AllocDmaPages() function (not yet written).
			Modified the organisation of the RAM allocator. A separate bitmap
			allocator (TBitMapAllocator) is now used for each physical RAM
			segment. This is to make it possible to write an AllocDmaPages()
			function which would allocate pages with consecutive physical
			addresses.
			The system for finding which physical segment a page of RAM is in
			has been modified. The system now computes a shift, and EOR mask
			and an AND mask at boot time. The physical address is shifted right
			then EORed with the EOR mask and ANDed with the AND mask. If the
			result is zero, the EOR result is used as an index into a bank
			lookup table which gives the bank number. This method should be
			quicker than a search of the bank data array.
			Split MMU code into two files KP_MMU.CPP and KE_MMU.CPP. The former
			is intended to be processor independent. It contains the code for
			allocation and deallocation of physical pages and for common
			initialisation. The file KE_MMU.CPP contains code for actually
			mapping and unmapping pages and for allocation and deallocation of
			page tables for a given MMU.
			Changed the split of the Mmu class. This class is now the base for
			ImpMmu, which is now defined in ARM_KERN.H instead of M32KERN.H.
			Class Mmu has several pure virtual functions which are implemented
			by ImpMmu. Mmu is now by necessity a non-static class, and global
			PP::TheMmu has been added to store a pointer to the MMU data.
			The DPlatChunk code has been amended to be more MMU-aware. This is
			necessary since the DPlatChunk code has to ensure that the chunk
			state is always consistent when the kernel is unlocked.
			Modified DArmPlatChunk::SetPdeInfo() to check the page directory
			to find the first and last PDEs in a chunk. This was done to make
			'gappy' chunks possible - there may be gaps in the set of present
			PDEs. However the current SetPdeInfo is not really good enough,
			since its execution time is proportional to the chunk's MaxSize -
			it has to search every PDE in the chunks reserved range. The RAM
			drive chunk has a max size of 496Mb, so this will probably take too
			long and adversely affect thread latency. I will probably employ
			another bitmap allocator to keep track of which PDEs are present,
			and search that instead, which should be quicker.

--------------------------------------------------------------------------------
Revision 021c

23-08-98:	Export function K::RecordInterruptLatency() so that other latencies
			may be measured, eg from interrupt to millisecond callback.
			Changed DFC handling system. Now adding a DFC puts it on to a
			'pending' queue rather than on its final queue and does not signal
			any semaphores. This is to reduce interrupt disable time. The
			scheduler picks up these 'pending' DFCs and places them on their
			final queues, signalling the DFC thread if necessary. This code
			all runs with the kernel locked and interrupts enabled. This
			change means that interrupts may no longer access the ready list,
			they may only add a DFC. All ready list modification is now done
			with the kernel locked, rather than with interrupts disabled.
			In addition, final DFC queues are manipulated with the kernel
			locked.
			A new function TDfc::Enque() has been added which puts a DFC onto
			its final queue and signals the thread, as opposed to TDfc::Add()
			which places the DFC on the pending DFC queue.
			TDfc::iSpare1 is now used to indicate which queue a DFC is on. If
			this value is 0 the DFC is either not queued or is on the pending
			queue. If the value is nonzero, the DFC is on its final queue.
			A new flag TScheduler::iDfcPendingFlag has been added. This is set
			when a DFC is added to the pending queue and cleared after the
			last pending DFC has been moved to its final queue.
			Removed special-case code to handle threads in state
			EWaitRequestSemaphore, which was required because threads in this
			state could be made ready by an ISR.
			Implemented special-case code for ExecHandler::WaitForAnyRequest()
			which enables this to run as a FAST executive call instead of a
			SLOW executive call. This makes a noticeable difference to the
			speed on the standard benchmark tests - I guess this is probably
			the most popular system call.
			Moved some global variables (TheCurrentThread etc.) into TScheduler
			member data for easier access, reducing the number of literal reads
			required.
			C++ Scheduler (KP_SCHED.CPP) is now out of date.

--------------------------------------------------------------------------------
Revision 021a

22-08-98:	Rewrote SWI handler to reduce interrupt disable time. Handle lookup
			now runs with the kernel locked and interrupts enabled. This means
			that handle lookup is only available with slow executive calls.
			Changed some executive calls which use handle lookup from FAST to
			SLOW. Changed executive calls which return a descriptor (e.g.
			MonthName) from FAST to SLOW to reduce interrupts-off time.
			Created a new header file U32ARM.H to hold processor-dependent
			interface data between EKERN and EUSER, such as bit masks
			required for SWI calls.

--------------------------------------------------------------------------------
Revision 021

20-08-98:	Changed ExecHandler::WaitForAnyRequest() to run with interrupts off
			rather than with the kernel locked. Changed TDfcQue::ThreadFunction
			to call this directly rather than via User::WaitForAnyRequest().
			Best benchmark results ever - T_SVR 7530 T_PROC1 1608 T_CTXSW 40300.
			10 seconds to spell check Welcome on EIKON ROM 209.
			Fixed bug in KS_TIMER.CPP in TSecondQ::SystemTimeChanged() - this
			should acquire the timer mutex while iterating through the timer
			list.

21-08-98:	Made the machine reset if the window server (event thread) dies.
			Added debugger facility to dump out a thread's context if it causes
			an exception. Device driver D_DEBUG.LDD binds to the kernel debug
			interface, test program T_DEBUG.EXE displays the information.

22-08-98:	In __MEASURE_LATENCY__ build, flush the TLB and cache at the start
			of the IRQ and SWI handlers, to obtain more realistic worst-case
			latency figures.
			Added VARMP2 variant for Protea, and bootstrap in KBARMS5. This
			allows a ROM image to be produced which can be downloaded onto a
			Series 5 using D_RTLDR.LDD/RTLDR.EXE and run. The code resides
			in the 0xd0000000 RAM and E32RT runs with 4Mb of available RAM
			in the 0xc0000000 area.
			P2 keyboard driver is a bit dodgy at the moment.

			Decided that interrupt and thread latency needed improving.

--------------------------------------------------------------------------------
Revision 020

19-08-98:	Completely changed the scheduling system. Three main changes:
			1.	Registers making up a thread's context are stored on the
				mode_svc stack for that thread instead of in the thread
				control block. Context switching takes place in the scheduler
				where the registers for the initial thread are pushed on the
				stack, then sp_svc is saved in the thread control block. At
				the end of the reschedule, sp_svc is restored from the new
				thread's control block and the registers are popped, resulting
				in a context switch to the new thread. This reduces interrupt
				latency, since less stack accesses now occur with interrupts
				disabled. It also simplifies the handling of SWIs, interrupts
				and exceptions in ke_int.cpp.
			2.	The current thread now remains on the ready list. This means
				that the ECurrent state for threads is no longer needed, and
				the current thread simply remains in the EReady state. This
				reduces the time taken for preemption to occur, since once the
				new thread is added to the ready list, it is only necessary
				for the scheduler to find it; no adding or removing of entries
				is required. It also enables most of the ready list processing
				to occur with interrupts enabled, reducing interrupt latency.
				This also allows the timeslicing to be tightened up. Each thread
				now has an iTimeslice which specifies how many milliseconds it
				may run for before yielding to a thread of the same priority.
				The millisecond timer decrements the current thread's iTime
				count and when it reaches zero, a reschedule occurs. Setting
				iTimeslice to -1 will result in a FIFO scheduling policy for
				that thread.
			3.	A reschedule to a moving chunk or variable access process can
				now be aborted after each process is moved. This means that
				preemption may occur after the time taken to move a single
				process' chunks, whereas previously it would have to wait for
				a maximum of 2 process moves + 1 process protect.

			Bug fixes:
				K::SvMsgQ.iThread is set just after the initial thread is
				created, instead of after the kernel server priority is set.
				This eliminates any chance of a kernel server message being sent
				before K::SvMsgQ.iThread is set up.

--------------------------------------------------------------------------------
Revision 019

17-08-98:	Modified VARMPD\VA_HW.CPP to set the correct wait states on the ROM
			(2 wait states) instead of leaving the maximum 4 wait states set by
			the bootstrap. This gives a considerable speed increase, with
			T_SVR up from 6500 to 7088 and T_PROC1 up from 1140 to 1505.
			Running from RAM T_SVR gives 7278 and T_PROC1 1978!
			Fixed scheduler bug which could leave user processes unprotected.
			Scheduling from a variable access process to the kernel process
			and then to a fixed access user process would leave the first
			process unprotected. Now only skips the MMU stuff if both the
			new current process and TheCurrentVMProcess are fixed access.

--------------------------------------------------------------------------------
Revision 018

10-08-98:	Renamed DPlatProcess::iMutex to iProcessLock for easier searching.
			RDebug::Print now leaves the kernel locked while printing.
			DPlatProcess::SvKill no longer acquires the process lock before
			calling Release(). DPlatProcess::Release() acquires the lock after
			deleting the handles array.
			DPlatThread::Die now only acquires the process lock while unlinking
			the thread from the process thread list.
			DPlatThread::Die releases held mutexes before waiting on process
			lock.

12-08-98:	Modified comms driver to implement a timeout on ReadOneOrMore to
			prevent the client just being completed immediately and using vast
			amounts of CPU time.
			Fixed bug in KE_MSTIM.CPP where a function had been interposed
			after a 'fall through' function.
			Added DLogicalChannel::GetClientDesLength, GetClientDesMaxLength
			and GetClientDesInfo functions.
			Modified comms driver to use these functions rather than accessing
			client descriptors directly.

13-08-98:	Added code to measure interrupt and kernel thread latency, enabled
			by the __MEASURE_LATENCY__ switch. Test program T_LATNCY is used
			to dump out the measurements to COM1.
			Latency measurements not up to spec - large variations due to cache
			misses. Thread latency peaked at 1.3ms running Comms loopback and
			3 copies of T_WRITE. Interrupt latency 326us.
			Modified bootstrap to copy code into RAM and run from RAM. This
			produced a noticeable speed and latency improvement, especially
			under frequent cache flushing (eg T_PROC1 nearly doubled from 995
			to 1870, with latency measurements active). Max thread latency
			with Comms loopback + 3 copies of T_WRITE down to 826us.
			Reduced block size for remote thread read/write from 4K to 2K and
			reduced RAM allocation block size from 8 pages to 4 pages to
			improve latency. With both improvements, Comms loopback + 3TWrite
			gives 207us int + 656us thread latency. Comms loopback + 2TFrag
			gives 220us + 628us. 3TFrag with no comms gives 44us + 332us.

--------------------------------------------------------------------------------
Revision 017

06-08-98:	Modified DObject destructor to atomically replace iName with NULL
			before freeing the name buffer.
			Modified DObjectCon name searching functions (CheckUniqueFullName,
			FindByName, FindByFullName, OpenByFullName) to ignore objects with
			a zero access count.
			Fixed bug in Plat::ThreadEnterCS(handle,container) which attempted
			to panic the current thread without releasing the critical section.
			Changed some delete-and-clear-pointer operations to use the atomic
			swap routine Plat::SafeSwap.
			Added a check to fault the kernel if a thread panics while the
			kernel is locked.

07-08-98:	Code chunks for RAM-loaded processes are now called $EXE[proc id]
			to ensure unique names for each process code chunk.




