--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kernel/eka/release.txt Thu Dec 17 09:24:54 2009 +0200
@@ -0,0 +1,15621 @@
+Version 2.00.2055
+=================
+(Made by VincentF 24/11/2009)
+
+1. VincentF
+ 1. DEFECT FIX: DEF143148: HCR Setting batch retrieval does not work
+
+
+Version 2.00.2054
+=================
+(Made by Vino Jose 20/11/2009)
+
+1. VincentF
+ 1. MILESTONE: SymTB10.1, GT0472, MS3.16, DS.1714 HCR_DS2 : Complete and Tested PIL
+ PREQ2131 Hardware Configuration Repository
+ CR322 Prototype Kernel-side HCR API adjust following testing feedback
+ This change delivers the remaining HCR APIs and PIL.
+
+
+Version 2.00.2053
+=================
+(Made by Vino Jose 16/11/2009)
+
+1. vinojose
+ 1. DEFECT FIX: DEF143037 [System Build] : Errors in GT stage
+
+
+Version 2.00.2052
+=================
+(Made by Vino Jose 10/11/2009)
+
+1. DaveGordon
+ 1. DEFECT FIX: DEF142684: T_TIME hangs on Ivalo waiting for absolute timer after changing secure time
+ Improve test by making sure time + secure offset settings are sane before changing secure time
+ 2. DEFECT FIX: DEF142504 T_PAGELDRTST_REAPER issues
+ Fixes KERN-EXEC panic with code EBadHandle by restructuring loops in CopyAndFragmentFiles().
+ Fixes issue with failing Attrib() leaving file unusable - now tries making file R/W if first
+ attempt at deleting it fails.
+
+
+
+Version 2.00.2051
+=================
+(Made by Vino Jose 05/11/2009)
+
+1. LaneRoberts
+ 1. MINOR CHANGE: VFP doc update to include information on the latest VFPv3 and SMP support
+ 2. DEFECT FIX: DEF142855: BTrace categories need tweaking for SMP
+ 3. DEFECT FIX: DEF142898: VFP changes have incorrect syntax
+
+2. Jeff Yoo
+ 1. DEFECT FIX: DEF141475: ECamera LDD & Template Camera PDD (BASE/CAMERA) :- Support for Effect Settings in Camera and LDD/PDD update based on reviews.
+
+3. coliward
+ 1. MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1931 WDP Safe GCE Driver
+
+
+Version 2.00.2050
+=================
+(Made by Vino Jose 04/11/2009)
+
+1. LaneRoberts
+ 1. DEFECT FIX: DEF142567: NaviEngine VFP is not turned on
+
+2. Saravana Attiyap
+ 1. DEFECT FIX: DEF142597:edev.mmp depends on a deprecated source folder
+
+3. PatrickConway
+ 1. MINOR_CHANGE: Add missing SMPSAFE keywords to mmp files and unlock test driver DFC threads from core 0
+
+4 Jonco
+ 1. DEFECT FIX: DEF142749: t_implicit crashes when run on Ivalo
+
+
+Version 2.00.2049
+=================
+(Made by Vino Jose 02/11/2009)
+
+1. marcinmaksymiuk
+ 1. DEFECT FIX: DEF142717: Some of UTFv2-inherited enumerations duplication.
+
+
+Version 2.00.2048
+=================
+(Made by Vino Jose 01/11/2009)
+
+1. VincentF
+ 1. MILESTONE: SymTB9.2, GT0419, MS3.41, DS.1928 417-60865: Read-Only Memory Sharing
+ PREQ1490 Flexible Memory Model
+ Introduce read-only memory chunks for the FMM (see RChunk::SetReadOnly()) and
+ add a new Kern::MakeHandleAndOpen() overload so process-local handles can be
+ created.
+
+
+Version 2.00.2047
+=================
+(Made by Vino Jose 29/10/2009)
+
+1. Neil Clifford
+ 1. DEFECT FIX: DEF142675: T_TBUS_DATAPAGING fails on Ivalo due to test problem
+
+2. JonCo
+ 1. MINOR CHANGE: Mark Tai's fix for t_pagemove failures on Ivalo
+
+3. RyanHarkin
+ 1. MINOR_CHANGE: Updated MBC files, they should now be able to build the NaviEngine, at long last.
+
+4. ChrisNotton
+ 1. DEFECT FIX: DEF142000 ROMS are not getting completed on BTB systems (TRGTEST RETURNS 7)
+
+5. ChrisBeale
+ 1. DEFECT FIX: DEF142535:Epoc::ClaimPhysicalRam() on the flexible memory model doesn't claim enough ram
+
+6. DaveGordon
+ 1. MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1926 UMG for FMM
+ This change adds the "User Memory Guard" feature to DEBUG builds on
+ all platforms using the Flexible Memory Model.
+
+7. GayathriR
+ 1. DEFECT FIX: DEF142214: PRM: Fix the invalid memory calculation for BTRACE and client registration
+
+
+Version 2.00.2046
+=================
+(Made by Vino Jose 22/10/2009)
+
+1. MarkTa
+ 1. DEFECT FIX: DEF142628: WDP: Binaries compiled against 9.4 do not have their heaps paged
+ Ensure that threads that don't have the paging policy specified also leave the heap chunk's paging
+ policy unspecified which will cause the process's paging polic to be used for the heap chunk.
+
+2. VincentF
+ 1. DEFECT FIX: DEF142536: Known x86gcc test failures should be investigated
+
+Version 2.00.2045
+=================
+(Made by Vino Jose 21/10/2009)
+
+
+1. ChrisNotton
+ 1. MINOR_CHANGE: Update to allow STVariants to compile with BTB symtb92.
+
+2. DjordjeK
+ 1. DEFECT FIX: DEF142453: The fix for ARM1176 erratum #720013 is required
+ The fix for ARM1176 erratum: 720013: Invalidate Instruction Cache operations can fai
+ 2. DEFECT FIX: DEF141955: PL310 erratum 588369 fix is not implemented properly
+ This should correct the the original fix for PL310 (External Cache Controller) erratum.
+ The change only affects non-SMP Kernel running on H/W with PL310.
+
+3. VincentF
+ 1. DEFECT FIX: DEF142499: T_CTRAP fails stack pointer comparison on X86GCC.UREL (T_ctrap.cpp:1478)
+ 2. MINOR_CHANGE: Remove EPL copyright notices for USBHO code
+
+4. MarkP
+ 1. DEFECT FIX: DEF141726: MMFDevSoundServer: User 20 Error occurs on H6
+ Fix driver to correctly cancel record dma requests during Pause. Correct record length calculation.
+ Correct TimeRecorded calculation.
+ 2. DEFECT FIX: DEF141122: T_SOUND2 (and T_SOUND_API) fails on H4HRP MMCPAGED configurations...
+ Enhance test code to not fail under severe timing pressure on h4 fmm mmcpage ROMs.
+
+5. LaneRoberts
+ 1. DEFECT FIX: DEF142250: Occasional kernel crashes caused by T_LDRTST on 34xx_sdp.armv5.udeb
+
+
+
+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. 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 ?lose?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.
+
+
+
+