Revision: 200948 + Removing redundant base integration tests and fixing build errors
Kit: 200948
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 “Close?of client thread may be attempted from an ISR
3. RyanHarkin
1. MINOR_CHANGE: update MBC files after \f32\sftl directory removed
2. MINOR_CHANGE: update H4 Lauterbach Trace32 scripts to fix bootstrap debugging and EKA2 awareness
Version 2.00.1981
=================
(Made by George Sin 13/03/2009)
1. georgiosdementis
1. DEFECT FIX: DEF133124: GetCompositionBuffer in gce LCD driver for NaviEngine does not swap buffers
Introduce iPostFlag variable to identify a Post operation has occurred.
2. DEFECT FIX: PDEF136355: Incorrect calculation of buffer size in display.cpp
3. MINOR_CHANGE: Fix incorrect interrupt enable/disable sequence for the naviengine GCE driver plus offset fix.
2. kelly li
1. MILESTONE: Ermine, GT0488, MS3.1, DS1448, PREQ2338: Base: Emulator support for multi-touch, pressure & proximity
3. Gavin Cochrane
1. DEFECT FIX: PDEF135653: Lumiere20.024_Memory: Phone resets automatically after RAM low(2000~3000kb).
4. Steve Elliott
1. DEFECT FIX: DEF136066: Microsoft - Base - Loki Fixes. For copyright issue, eject.cpp of t_usb_win rewritten.
5. ArunachalamR
1. DEFECT FIX: PDEF135529: Serial components stop responding
Interrupt detection - changed from edge to level for FPGA Interrupt.
H4::InterruptXXX updated with bug fix.
QUART and PS2 KeyBorad ISRs and DFCs are updated with bug fix.
6. NeilClifford
1. DEFECT FIX: DEF136314: Chunk offset (iChunkOffset) not reset for every read/write request
2. DEFECT FIX: DEF136348 SMPDDM: MMC Media Driver is not SMPSAFE
7. JosephCodadeen
1. DEFECT FIX: DEF135637 : Obsolete members and values need to be removed
8. SushmitaR
1. DEFECT FIX: DEF135303: t_ramdefrag test fails / crashes on h2
Need to do the heap allocations before getting the page counts to set up memory
9. AndreiMironenko
1. Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer
10. MiguelB
1. DEFECT FIX: PDEF136203: F32test t_pwstr fails for SD card
11 MariamSood
1. DEFECT FIX: DEF133392: MMC Stack attempts to set clock speed before power is enabled
12. OliverStuart
1. DEFECT FIX: DEF135801 Multiple Memory Model crash on unicore NaviEngine with DP and WDP enabled
DMmuCodeSegMemory::ApplyCodeFixupsOnLoad needs to temporarily reenable access to user memory (in debug mode,
access is disabled automatically) to query the cache's IMB range.
tests now pass.
2. DEFECT FIX: DEF135733: SMP: NaviEngine rom building files need updating to support demand paging
13. Vitaly Rodionov
1. DEFECT FIX: DEF136456: NGA leads to inproperly display on emulator
14. DennisM
1. DEFECT FIX: PDEF134720 t_thread fails on SMP kernels
Version 2.00.1980
=================
(Made by George Sin 10/03/2009)
1. RajivM
1. MINOR_CHANGE: Changes in two test applications to match the test case ids according to the test spec.
2. VyshnaviK
1. DEFECT FIX: DEF135504: SSR not supported error can't be triggered for regular H6 roms
3. RobCliff
1. DEFECT FIX: PDEF135403: Error code for timeout in RSemaphore::Wait(ti) is not specified in in-source doc
4. BhaskarReddy
1. DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform
5. RyanHarkin
1. MINOR_CHANGE: Add HAL values for DEF134360.
This doesn't solve the defect, however, more changes may be needed by graphics.
2. MINOR_CHANGE: Fix BootLoader downloads of unzipped images with no header
A previous change to the Ymodem code added in a extra & to a pointer assignment,
causing the board to crash if a no-header, uncompressed ROM was downloaded.
6. georgiosdementis
1. DEFECT FIX: DEF136123: Revert PDEF135269 to stop failures on the graphics tests
7. ExtRajeswarir
1. DEFECT FIX: DEF130021: No FMM component for H4HRP
Add base_omaph4hrp_flexible.mrp file under flexible component for inclusion of H4 FMM component as part of CBR release.
Integration team has already created a Placeholder submission for DEF130021 which must be enabled for this submission.
8. stephenroberts
1. DEFECT FIX: PDEF134564: t_rmdebug2_oem test fails on platforms with no crash flash partition
2. DEFECT FIX: PDEF134499: Run-mode Debug API allows user to switch user programs to kernel mode
3. DEFECT FIX: PDEF134605: Write position of new crash logger is incompatible with the old crash logger
4. DEFECT FIX: PDEF134628: Run-Mode debug driver does not clear process breakpoints on a killthread event.
5. DEFECT FIX: PDEF135497: SCMonitor throws data abort if it needs to delete the last flash block.
6. MINOR_CHANGE: Remove the rm_debug tests that fail on SMP to prevent board from hanging
9. frankhofmann
1. DEFECT FIX: PDEF115092: Intermittent failure of T_RCACHE on H2 Armv5 Urel build
2. DEFECT FIX: DEF135745: DMmcMediaDriverFlash::DecodePartitionInfo fails on MBR-partitioned media
10. SivashankarN
1. DEFECT FIX: DEF136294: Issues with HCD page size (USB HOST/OTG Stack issue B67686)
11. SebOlney
1. DEFECT FIX: PDEF134755: Sound driver on H6 does not handle pause/resume properly
12. Volkan Akdere
1. DEFECT FIX: DEF135849: Run-mode Debug Driver performance improvement for WDP
(submitted by RichardCo on behalf of tools team)
Version 2.00.1979
=================
(Made by George Sin 02/03/2009)
1. Radhakrishnanramanat
1. DEFECT FIX:DEF134020: Loading the REBOOT.LDD fails with error -1 on H6
Add reboot.ldd in base_34xx_sdp.iby.
2. dharmeshgandhi
1. DEFECT FIX:DEF131764: tpantestusb_dummyCCROM test Crashes in OmapUsbcGenericClientController::Connect
3. fabiangortz
1. MINOR_CHANGE: Change input parameter TUsbBusId to TUsbBus of UsbTransferMemoryRequirements class in
order to align it with the other methods of that class, remove references to TUsbBus
2. MINOR_CHANGE: Update/clarify documentation and in-source comments
4. TomCosgrove
1. DEFECT FIX: DEF134791: t_romtable.cpp should only use DebugPrintf() in UDEB builds
h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
5. OliverStuart
1. DEFECT FIX: DEF134182: __crash() ought to be rewritten
Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
2. DEFECT FIX: DEF134183: CountLeadingZeroes() should be rewritten
Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
3. DEFECT FIX: PDEF135269: Performance: Unoptimized region handling by EUSER can cause hangs in Browser web
Reimplementing TRegion::Tidy for higher performance and correcting memory allocation routines to respect granularity.
6. RyanHarkin
1. MINOR_CHANGE: add copyright header to NaviEngine Lauterbach scripts
7. patrickconway
1. DEFECT FIX: PDEF134602: User-side thread data causes bad memory access at thread kill time
8. MariamSood
1. DEFECT FIX: DEF133959: Eshell command can not support a large amount of files
Submitted in a seperate changelist-1507995
9. GavinCochrane
1. DEFECT FIX: DEF134765: EmptyRamZone error description is not enough
Updates to commments to improve Doxygen documentation
10. jennyekelund
1. Milestone: Diran, GT0518, MS 3.4, DS.1516, PREQ2295: Traceability PREQ for changes to Saffron
The UTrace API will be part of the Base tree such that it can be used in user mode only for this release.
It adds a new kernel extention (UTraceOut), a new IBY file (e32utrace.iby) and new def files for related libraries.
Customers wishing to use the new API will need to include the e32utf.h file in their source
and e32utrace.mmh in their mmp file.
11. JonCo
1. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10705: Kernel: Allow servers to make performance guarantees in a demand paged system
2. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10706: Peripherals: Device driver migration for data paging
3. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10708: Kernel: Productised data paging implementation
Writeable data paging productised kernel submission
12. MiguelB
1. DEFECT FIX: DEF135390: ROM.PL doesn't return an error if ROFSBUILD fails
2. DEFECT FIX: DEF130212: btrace hangs when writing to mmc card
3. DEFECT FIX: DEF134133: DP: Local media subsystem assumes demand paging buffer is physically contiguous
13. RichardCo
1. DEFECT FIX: PDEF135173: Kernel needs workaround for ARM Cortex-A8 Eratta 447862
2. DEFECT FIX: DEF135559: SMP: SMP images with BTrace configured at rombuild time hang in bootstrap
14. SebOlney
1. DEFECT FIX: PDEF134611: t_pipe times out intermittently on H2
This fixes race conditions in the notification system of the pipe driver which are a
potential problem on all platforms.
2. DEFECT FIX: PDEF134731: Error Code not handled from Kern::ThreadDesRead and Kern::ThreadDesWrite
3. MINOR_CHANGE: Stop t_pipe failing on integrator: don't close handles till test thread completes.
15. VincentF
1. DEFECT FIX: DEF133783: [Coverity]-NULL_RETURNS,OVERRUN_STATIC,USE_AFTER_FREE,UNINIT-base/f32,base/e32
16. DjordjeK
1. DEFECT FIX: PDEF135788: Performance issue with SyncMemoryBeforeDmaRead with WT cached memory
Removed unnecessary cache purge of Write-Through DMA buffers prior DMA read.
17. RyanHarkin
1. MINOR_CHANGE: Add export to direct memory model was missing from last change.
18. RichardCo
1. DEFECT FIX: PDEF134574: Race condition in Server IPC read/write
Handling of IPC messages updated to eliminate several race conditions which are particularly
likely to occur when data paging is in use.
Version 2.00.1978
=================
(Made by George Sin 27/02/2009)
1. RyanHarkin
1. DEFECT FIX: DEF135688: CBR stage errors due to multiowned files in M04870 vtb92
naviengine.inc was generated by both multiple and flexible memory model builds of the NaviEngine BSP.
Fixed this by generating the inc file into memory model specific directories
Version 2.00.1977
=================
(Made by JohnS 10/02/2009)
1. anujgupta
1. MILESTONE: Emin, GT0498, MS3.1, DS.1215, PREQ2035: Base Services: Prototype Accelerometer LDD.
This Delivery Step aligns with Sensors TR 1.4.1 Core OS 2 transfer milestone.
The LDD component will be will be part of the Base tree configured for building only in Emin
(vFuture) release builds.
It will add a new IBY file which will _not_ included into system files or GTCs.
Customers wishing to use the new component will need to #include it.
2. RyanHarkin
1. MINOR_CHANGE: updated NaviEngine BootLoader
2. MINOR_CHANGE: updated NaviEngine User Guide
3. MINOR_CHANGE: updated ARM BSP with latest ARM release
4. MINOR_CHANGE: make the NaviEngine do F32 tests on the MMC drive
3. SophieY
1. DEFECT FIX: PDEF135148: Guidance on required changes to coreloader for demand paging.
4. MariamSood
1. PDEF134721: Put an assert in NTimerQ::Tick()
5. VitalyR
1. MINOR_CHANGE: enable VRFB mode on OMAP_HRP
2. DEFEXT FIX: PDEF134646: ONB:? TDirect GCE fastpathing DSA on multiscreen
3. DEFECT FIX: PDEF135144: Emulator display code uses internal kernel API
6. ParameshwariB
1. DEFECT FIX: PDEF134753: Power Resource Manager - Nonsharable class should be instantiated from any DLL
7. colinward
1. DEFECT FIX: DEF133798: Missing support for ECamCaptureModeVideo with EUidPixelFormatSpeedTaggedJPEG
2. MINOR_CHANGE: Added a shared chunk camera driver template to the template base port.
8. VincentF
1. DEFECT FIX: DEF133782: [Coverity]-DEADCODE,DELETE_ARRAY,FORWARD_NULL,MISSING_BREAK,RESOURCE_LEAK,OVERRU
9. MarkTai
1. DEFECT FIX: PDEF34675: Navieng fails to boot from NAND
h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
Version 2.00.1976
=================
(Made by NicholasC 04/02/2009)
1. colinward
1. MINOR_CHANGE: Added e32/drivers/camerasc to x86/*.mbc
2. junwookkwak
1. MINOR CHANGE: Removed unused and not symbian related code from x86 pci driver.
3. SteveElliott
1. DEFECT FIX: DEF133200: t_usb_device intermittently fails on mass storage test (mstore.uts).
Improved error reporting and changes to the perl scripts.
4. frankhofmann
1. DEFECT FIX: DEF130207: bm_suite failing on integrator
bm suite driver on integrator ported to post-SMP interrupt binding mechanism
5. JonCo
1. DEFECT FIX: DEF133806: Two unicode functions can corrupt heap
6. ReubenHarris
1. DEFECT FIX: DEF132163: Assertion failure in win32 ncsched.cpp
2. DEFECT FIX: DEF133858: WINS[CW] emulator display paints incorrectly & causes access violations in gui32
7. AndrewHi
1. MILESTONE: Diran, GT0419, MS3.9, DS.1294 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
2. MINOR CHANGE: Add SMPSAFE to the new mmp files
Version 2.00.1975
=================
(Made by Kai Duan 30/01/2009)
1. JohnSucksmith
1. DEFECT FIX: DEF132795: Duplicated nanddefs2.h file in Unistore-II XSR code
Remove duplicated header file. Apply other changes so that impacted code still builds.
2. AttilaV
1. DEFECT FIX: DEF126733: H4 bootloader crashes if using OneNAND support but no OneNAND module is present
3. FadhliMustaffa
1. MINOR_CHANGE: Updated tags for Coverity Defects (Re: DEF131516)
2. DEFECT FIX: DEF133321: Profanities and typos in dev1 branch
3. DEFECT FIX: DEF133445: Improvement to RThread::Create documentation
4. colinward
1. DEFECT FIX: DEF129623: I2C driver crashes on first use after power on
The 3430 I2C driver was crashing the first time it was used to access the Omnvision camera sensor after
powering the board on. This now fails gracefully and returns an error. However, because it indicates a
serious misconfiguration of the system, the cause of which not yet been determined, in UDEB builds it
will fault the kernel with an error message
2. DEFECT FIX: DEF132119: t_camera_api test does not support saving RGB image data
3. MINOR_CHANGE: Fixed some camera test warnings that only happen under WINS. Missed them first time around
due to BTB being sick
4. DEFECT FIX: DEF133143: ecamerasc.ldd cannot handle a PDD that has 0 image, video or viewfinder formats
5. MINOR_CHANGE: Added e32/drivers/camerasc to tiomap3/variant/34xx_sdp/armv5.mbc
6. MINOR_CHANGE: Updated comments pertaining to TSoundFormatsSupportedV02::iRequestAlignment for clarity
5. VitalyR
MILESTONE: Sphinx, GT0339, MS3.24, DS.1495 CR1303 Board Support Improve LCD Driver performance
6. StephenM
1. DEFECT FIX: DEF133114: DRamAllocator reserved page locking leads to MMUBASE FAULT
7. TomCosgrove
1. DEFECT FIX: DEF133318: Obsolete ":LOR: CFG_ARMV7" condition in bootcpu.inc
Remove useless ":LOR: CFG_ARMV7" from the end of an IF statement that is itself
within the ELSE of a "IF CFG_ARMV7".
2. MINOR_CHANGE: Remove unnecessary emphasis in comments regarding hardcoded constants in FMM mmboot.h
3. MINOR_CHANGE: Fix mis-spelling of Symbian in e32/drivers/pbus/mmc/sdcard/sdcard3c/sdio/sdiocard.cpp
8. SebOlney
1. MINOR_CHANGE: Modify documentation for Kern::MutexWait() to emphasise the need for a user thread
to remain in critical section for as long as it holds mutex.
9. MarkTa
1. DEFECT_FIX: PDEF133116: Incorrect ODP architecture 7 32bit BL fault
Change exception vectors to set fault address to DFAR on data abort or on
prefetch abort to IFAR if exists or the return address if it doesn't.
10. RichardCo
1. DEFECT FIX: DEF133347: evfpv3 kernel extension is useless and misleading
Deleted the evfpv3 kernel extension as current VFPv3 hardware does not require it and it
is unknown whether it will function correctly for hypothetical future hardware which does.
2. DEFECT FIX: DEF131665: Deadlock situation when Demand Paging is enabled
Fix potential kernel crash in RProperty::Set (note: not a deadlock or specific to demand paging)
3. DEFECT FIX: DEF133760: NThread::ResetUserContextType clears too many states
Fixes tiny possibility of hardware debugger reading/writing the wrong part of the stack when using
Symbian awareness.
11. RajivM
1. DEFECT FIX: DEF133183: H6 Doesn't support restart with mode
12. junwookkwak
1. MINOR CHANGE: Tagged intensional some coverity defects. (ref: DEF131478)
13. kathrynthomas
1. DEF126984: Problems with DUsbInterface::CancelPermitSuspend (BR2609)
2. DEF127668: Module jetest.c fails to compile
3. DEF129343: t_usbdi test case 0494 sends and receives unexpected data
4. DEF130515: OPT Test TD.4.10 fails to provide expected error message
5. DEF130937: DUsbDevice::Detach closes USBDI channel brutally
6. DEF131695: USB Host DFC queue tdfcq is not shutdown properly causing a thread leak
7. DEF130153: [USB Host/OTG Stack]OPT test 5.4-2.9ms fails on second attempt
14. MiguelB
1. DEF133542: Coverity issues in data-paging local media code
2. DEF133801: DMA-ing into file server's directory cache does not update descriptor length
3. DEF133852: T_DRTAEABI no longer compiles in release mode
15. SushmitaR
1. DEF132982: t_ramdefrag test failure on h2 udeb page builds
Ensure that if the setup fails then that particular test should skip.
Ensure that the test, when getting the 'best' zone, takes into account fixed pages
16. fabiangortz
1. DEFECT FIX: DEF133618: s_to_result_t() returns incorrect code for default case
17. frankhofmann
1. DEFECT FIX: DEF133546: DMmcMediaDriverFlash::Request() fails to cleanup in a specific error case
18. NavneetS
1. DEFECT FIX: DEF133136: Network related tests panics on H6 board with M04797 build.
Patch to Version 2.00.1974
==========================
(Made by patrickconway 30/01/2009)
1. patrickconway
1. DEFECT FIX: DEF133823: [System Build] : CBR errors and warnings in M04833 v9.6 build
Patch to Version 2.00.1974
==========================
(Made by patrickconway 29/01/2009)
1. patrickconway
1. DEFECT FIX: DEF133788: [System Build] : CBR error stage due to Unistore in M04831v9.6
Version 2.00.1974
=================
(Made by DeleOgunjumelo 15/01/2009)
1. HenryGrant
1. DEFECT FIX: DEF131543: [Coverity]-UNINIT,REVERSE_INULL,NEGATIVE_RETURNS,MISSING_BREAK,FORWARD_NULL,CHEC
Also fixed by Fadhli Mustaffa (CL-1467886).
2. DEFECT FIX: DEF131516: [Coverity]-UNINIT,MISSING_BREAK,DEADCODE -generic/base/template
CIDs: 1964, 1962, 1961, 1960, 1959, 1954
2. InderpalSingh
1. DEFECT FIX: DEF132377: Failed to get control transfers larger than 64 bytes on Fibula driver
3. JohnSucksmith
1. DEFECT FIX: DEF132762: Unistore-II / XSR 1.5 media driver setting wrong caps.iBlock value
In some situations the wrong setting may lead to poorer performance.
2. MINOR_CHANGE: Remove erroneous comment from Unistore-II bld.inf file
4. AttilaV
1. DEFECT FIX: DEF123263: Unable load ROM Image from MMC generated by ROM tool with -compress parameter
5. indrajeetsingh
1. DEFECT FIX: PDEF132187: unistore 2 test media driver not built in customer release
6. georgiosdementis
1. DEFECT FIX: DEF131903: WDP: Display driver issues when using TV out on H4
2. DEFECT FIX: DEF132700: SMP: NavEngine does not boot with Multicore image
7. RajivM
1. DEFECT FIX: DEF132879: RPipe::Init() fails.
8. JonCo
1. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10703: Kernel: Support demand paging of user data
2. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10700: Peripherals: Change local media subsystem to support data paging
3. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10701: Peripherals: Support data paging from NAND flash devices
4. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10702: Peripherals: Support data paging from internal MMC devices
5. INTERFACE CHANGE: BR2644.1 Change behaviour of TBusLocalDrive::ControlIO()
6. INTERFACE CHANGE: BR2645.1 Change behaviour of TLocDrvRequest::RemoteDes()
7. INTERFACE CHANGE: BR2647.1 Change behaviour of TLocDrvRequest::ReadRemote(const TAny* aSrc, TDes8* aDes)
8. INTERFACE CHANGE: BR2578.1 Deprecation of existing Kern::RequestComplete method
9. INTERFACE CHANGE: BR2560.1 Extend Power Resource Manager to provide additional power information and adding new resource pool
PREQ1954 Writeable data paging: prototype release
9. JenniferH
1. DEFECT FIX: DEF132319: Techview not booting on Naviengine, with SMP and Code Paging.
Version 2.00.1973
=================
(Made by fabiangortz 07/01/2009)
1. TomCosgrove
1. MINOR_CHANGE: Fix test.Panic() call in e32test/thread/t_killer.cpp that should have
been test.Printf() (it prints the reason for the test.Panic() call on the next line).
2. DEFECT FIX: DEF132655: T_DEMANDPAGING failed on H4HRP.ARMV5.UREL.PAGE during MCL release
Mark T_LAT2 as UNPAGED so that it won't upset T_DEMANDPAGING.
2. BhaskarReddy
1. DEFECT FIX: DEF131440: NotificationCaps is not defined in H4 serial port driver
3. DjordjeK
1. DEFECT_FIX: PDEF132657: WTRA-type cache should not be purged in SyncMemoryBeforeDmaRead
The fix resolves performance issue of Write-Through DMA Buffers on H/W with L2 cache.
2. DEFECT FIX: DEF131469: Serial Driver PDD on NaviEngine can cause temporary lockup of system
The bug caused networking tests to fail.
4. MarkTa
1. DEFECT FIX: DEF129871: T_PAGELDRTST failing on all platforms
Ensure d_exc is included in all automatic roms that run t_pageldrtst and
manual roms that can run t_pageldrtst.
2. DEFECT FIX: DEF128787: Misleading documentation for umemget/umemput etc functions
Update documentation to recommend Kern::ThreadRawRead/Write when caller is in a critical section
5. colinward
1. DEFECT FIX: DEF131260: there seems to be a lot of duplicated classes, structs etc in base (mainly usb)
6. junwookkwak
1. DEFECT FIX: PDEF132434: Emulator width issue
Now width and height of emulator screen became multiple of 4 pixels even when it is not in proper size.
Version 2.00.1972
=================
(Made by JessieZhang 02/01/2009)
1. gopakumarmp
1. MILESTONE: Emin, GT0498, MS3.3, DS.1363, PREQ2037: Prototype Proximity LDD
The LDD component will be part of the Base tree and will be configured for
building in Emin (vFuture) release builds. It will add a new IBY file that
will _not_ be included into system files or GTCs. Customers wishing to use
the new component will need to #included it.
2. fabiangortz
1. MINOR_CHANGE: Re-categorise trace print to KUSB rather than KPANIC, as the
trace print is an indicative warning rather than a panic condition.
3. JessieZhang
1. DEFECT FIX: DEF131525: [Coverity]-UNINIT,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,CHECKED_RETURN-b
4. SteveElliott
1. MINOR_CHANGE: Removed files from t_usb_win application to prevent possible
infringement of copyright. Also correction for fault with communication of
host test failure to device.
5. ExtRajeswarir
1. DEFECT FIX: DEF131165: var_reboot_module.h is not exported to \epoc32\include\tiomap3 folder
var_reboot_module.h and variant_norflash_layout.h are now exported to /epoc32/include/tiomap3/variant/34xx_sdp folder.
6. InderpalSingh
1. DEFECT FIX: DEF132258: H4 Variant.mmh missing MONITOR_THREAD_CPU_TIME
7. William Yu
1. MINOR CHANGE [Project Loki]: Remove the file UnicodeData-3.0.0.txt
8. SivashankarN
1. DEFECT FIX: DEF131519: [Coverity]-UNUSED_VALUE,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,DELETE_ARR
9. TomCosgrove
1. DEFECT FIX: INC130537: stack balancing for Symbian DEF126209
Provide new exports __ArmVectorIrqPostambleNoResched and __ArmVectorFiqPostambleNoResched
that implement non-rescheduling Irq and Fiq postambles.
Version 2.00.1971
=================
(Made by LukaszForynski 19/12/2008)
1. VitalyR
1. DEFECT FIX: DEF131431: Opening two RDisplayChannel connections causes kernel fault on H4.
2. MiguelB
1. DEFECT FIX: DEF131892: High speed clock is enabled too early in power-up sequence for MMC V4.X cards
3. SushmitaR
1. DEFECT FIX: DEF131629: T_RAMDEFRAG test failed on the Merge branch
Ensure test sets up memory properly before checking for pass/fail
4. NavneetS
1. DEFECT FIX: DEF131923: HAS_ETHERNET is not defined for 3430 (H6) techview.
Defined HAS_ETHERNET Macro in h4.oby.
5. patrickconway
1. DEFECT FIX: PDEF129773: Why does User::LeaveIfNull() does not take a const TAny*?
Add an inline wrapper for User::LeaveIfNull() to check pointers to const objects
6. MarkTa
1. DEFECT FIX: DEF131214: Floating point binary<->decimal conversions are not sufficient for IEEE754
Increase the number of digits read by TLex::Val() when parsing real numbers.
7. RichardCo
1. MINOR_CHANGE: Mark more binaries as SMPSAFE
8. RyanHarkin
1. MINOR_CHANGE: file NaviEngine NAND policy files from Cat T to Cat E
9. SharathK
1. DEFECT FIX: DEF131717: IPR not defined for base_naviengine_flexible
10. AnatolyP
1. DEFECT FIX: DEF128713 [Coverity]-FORWARD_NULL-base/e32
11. TomCosgrove
1. DEFECT FIX: DEF130069: nk_cpu.h is missing a ; in FLUSH_ICACHE
Remove ; from the end of the definition of CPSgen(), and
add ; to the end of all usages of CPSIDAIF (etc.) in e32/.
2. MINOR_CHANGE: Update e32test/mmu/d_sharedio.cpp:CheckMemCleared() to dump
out memory and say exactly where it fails (if it does).
12. ExtRajeswariR
1. Milestone: Diran, GT0419, MS3.15, DS.1460 OMAP3430 BSP
Requirements: PREQ2033 Cortex A8 BSP
Other:
During submission, in "other risks" submission, must mention about the supporting file submission
required to be made by the integration team. Files to be modified are
"//EPOC/master/cedar/product/tools/Symbian_OS_v9.6_bin
//EPOC/master/common/generic/utils/mcl_dirs.lst", for TBAS T12177, changes had been done
to these 2 files as part of changelist:1441555, this can be used as reference
2. DEFECT FIX : DEF130936: 3430 keypad driver does not perform on demand crashing
13. LukaszForynski
1. MINOR_CHANGE: NaviEngine SoundPDD: More updates to the driver:
- restructured the driver (got rid of separate Tx and Rx, which were very simmilar-creating a common one)
- fixed some SMP problems
- updated I2S for missing #ifdefs
14. RichardCo
1. MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
the process it is loaded into to execute only on core 0.
15. JonCo
1. DEFECT FIX: DEF131524: SMP: Taking a page fault accessing aliased memory crashes the system
17. VincentF
1. DEFECT FIX: DEF131549: [Coverity]-RESOURCE_LEAK,OVERRUN_STATIC,NULL_RETURNS,MISSING_BREAK,FORWARD_NULL,
Version 2.00.1970
=================
(Made by DmitryL 11/12/2008)
1. TomCosgrove
1. MINOR_CHANGE: Fix grammar in doc comments in e32/euser/us_ksvr.cpp
2. DEFECT FIX: PDEF131503: OpenVG: WINS Emulator failed to start
Use memory protection PAGE_EXECUTE_READWRITE for EUserSelfModCode chunks, but
keep PAGE_READWRITE for all other types.
3. DEFECT FIX: PDEF131632: Paging info in TRomHeader should be PublishedPartner.
Change iPageableRomStart and iPageableRomSize from @internalTechnology, @prototype
to @publishedPartner, @released.
4. DEF130498: Bug in TDfcQue::ThreadFunction
Update the documentation to warn against allowing Cancel() to run concurrently with the
DFC function if the DFC function accesses the DFC object. This is sufficient to prevent
the race described in the defect.
2. colinward
1. DEFECT FIX: DEF131248: Some H6 .mmp files cause warnings with Carbide
3. colinward
1. DEFECT FIX: DEF130894: 3420 board crashes after sound driver changes
4. RyanHarkin
1. MINOR_CHANGE: Add copyright headers to GPIO implementation for NaviEngine
2. MINOR_CHANGE: update copyright headers for NaviEngine BSP
5. MarkTa
1. DEFECT FIX: PDEF131402: DataAbort in DMemModelChunk::Close()
Remove race condition in chunk closure by removing the chunk from the process before
decrementing the reference count.
6. MichaelP
1. DEFECT FIX: DEF131564: USB Client: Some OTG changes needed
A) Changed the USB Client PDD such that the OTG-capable PIL (i.e. with
USB_OTG_CLIENT defined) does its VBus-related state transitions now based
solely on the Enable/Disable notifications from the Dummy DCD, whereas the
client-only PIL solely uses the USB cable Connect/Disconnect notifications
from the PSL to that purpose.
B) Changed in-source comment for pure virtual function
DUsbClientController::UsbConnectionStatus() such that it now reads:
"@return ETrue if the device is connected (via the USB cable) to a USB
host, EFalse if not. In the case of a PSL for an OTG-enabled Client PDD
(USB_OTG_CLIENT is #defined) this function should always return ETrue."
7. fabiangortz
1. MILESTONE: Diran, GT0364, MS3.2.4, DS.1393 USB Host for the NaviEngine. This includes
PCI driver. PREQ1994: USB Host on the NaviEngine
2. DEFECT FIX: DEF129515: SMP: UsbHost on navie engine will not build for SMP
3. DEFECT FIX: DEF129997: t_usbdi test cases are failing on NaviEngine
4. MINOR CHANGE: Restore ##BASEPATH## macro for data paths
5. MINOR_CHANGE: Removed usb host tests as they should be only in t_usbdi.oby
6. MINOR_CHANGE: Updated document, version and status
8. VitalyR
1. MINOR_CHANGE: Enable 3430 labrador variant ROM build
9. SebOlney
1. DEFECT FIX: DEF125329: t_pipe fails intermittently on integrator
Replaced use of delays with semaphores and notifications in test code.
Added many error code checks.
Replaced several occurrences of thread kills with logons
10. AttilaV
1. DEFECT FIX: DEF131441: [Coverity]-OVERRUN_STATIC-base/ubootldr/display.cpp
2. DEFECT FIX: DEF131442: [Coverity]-OVERRUN_STATIC-base/omap/assp/1610/dma.cpp
11. VincentF
1. DEFECT FIX: DEF131455: [Coverity]-UNUSED_VALUE,UNINIT,RETURN_LOCAL,NEGATIVE_RETURNS,MISSING_BREAK-base/
12. ReubenH
1. MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.
13. JessieZhang
1. DEFECT FIX: DEF130918: [Coverity]-SYMBIAN.CLEANUP_STACK -base/omap_hrp,e32/drivers,f32/scomp,f32/sfat32
14. LaurentiuMerlas
1. Milestone: Sphinx, GT0382 MS3.66, DS 1451 PREQ2102 Dynamic Resolution Switching
Phase 2 submission to Base. Support for fast path for dynamic resolution switching
15. LukaszForynski
1. MINOR_CHANGE: NaviEngine SoundPDD: Fixed problem reported by the MM team and potential SMP problems.
Version 2.00.1969
=================
(Made by AnatolyP 04/12/2008)
1. RyanHarkin
1. MINOR_CHANGE - updated NaviEngine MBC scripts to build Flexible Memory Model and made a few cosmetic
changes to the output filenames.
2. LukaszForynski
1. MINOR_CHANGE: NaviEngine BSP: Updated DMA PSL.
2. MILESTONE: Diran GT0364 - SMP MS3.2.2 (DS1212) PREQ 1994: ARM11 MPCore SMP BSP Enhanced features delivery: Audio Driver
3. AnatolyP
1. MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410 PREQ1945: SMP kernel prototype support for Cortex A9 processor
2. MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439 PREQ1945: Prototype Run Mode Debug
3. MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419) PREQ1994: ARM11 MPCore SMP BSP: NAND
4. INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg
Version 2.00.1968
=================
(Made by AnatolyP 02/12/2008)
1. TomCosgrove
1. MINOR_CHANGE: Add missing 'f' to correct spelling of 'shift' in klib/arm/cbma.cia.
2. JonathanM
1. DEFECT FIX: DEF131031: SMP: DPager 0 panic
This fixes race conditions in the itteration of kernel containers by Notifiers,
Undertakers and BTrace priming. These now open objects before using them to ensure
that they aren't partially deleted. Also updates to AsyncClose and AsyncDelete
so that they are always asynchronous, even if called withing the supervisor thread.
3. NeilClifford
1. MINOR_CHANGE: SD 2.0 Compliance Documentation
4. DjordjeK
1. DEFECT FIX: DEF126046: Buffer passed to DMA sync methods must be cache-line aligned
Added Kernel interface that returns required memory alignement for DMA buffers.
5. MichaelCox
1. DEFECT FIX: DEF130317: RDisplayChannel::GetDisplayInfo returns incorrect result if parameter is a TPckg
Descriptors not being copied correctly by displayldd for emulator when using pointer based descriptor.
6. chenqin
1. CHANGE REQUEST: Development CR RPAR-7GZHMX Add support for the new startupmode 8 (minigui)
7. SebOlney
1. DEFECT FIX: DEF129186: Building Base and E32Tests with RVCT 3.1
- Added e32/kernel/array_eabi.cpp which changes implementation of
the various vector new and delete functions for kernel side to fix
OOM bug in supplied library.
- Various fixes for RVCT 3.1 build errors in production code,
warnings to be fixed in subsequent defect.
2. MINOR_CHANGE Revert changes made in DEF129186 to loader test
- Don't replace __MODULE_EXPORT with EXPORT_C
8. RajivM
1. DEFECT FIX: DEF131107: Rpipe Close()read&write handles notfreeing mem allocated in individual iteration.
Released the memory in the destructor of the pipe instance.
2. DEFECT FIX: DEF130888: Mismatch in IPR between distribution policy and base_tiomap3.mrp file
Changed the categorisation level from T to E in the distribution.policy file
9. NavneetS
1. DEFECT FIX: DEF130731: Ethernet macro HAS_ETHERNET not added to 34xx_sdp.oby.
Defined the USE_ETHERNET Macro in header.iby.
10. colinward
1. DEFECT_FIX: DEF130480: Problems with resuming with shared chunk driver on emulator
11. VitalyR
1. DEFECT FIX: DEF122317: Error in GCE driver when calling DeregisterUserBuffer() on a posted buffer.
2. DEFECT FIX: DEF130904: IPR category for base_e32_drivers_display?
12. junwookkwak
1. Milestone: Sphinx, GT0339 MS3.41, DS 1402 EI0004 Removal of ARM Abort code handler
Removed ARM Abort code handler which only needs for Processors implementing the 'Base Register Updated' Abort Model.
Removed bld.inf files of series mx5 which is not supported any more.
13. RyanHarkin
1. MINOR_CHANGE: updated NaviEngine Lauterbach scripts to use ARM11MPCORESMP4 cpu type and debug in SMP mode
Version 2.00.1967
=================
(Made by indrajeetsingh 27/11/2008)
1. junwookkwak
1. DEFECT FIX: DEF130474: Error in TDfc::Cancel doxygen.
Updated doxygen documents.
2. stephenroberts
1. MILESTONE: Saffron, GT0441, MS3.1.1, DS840: PREQ1700: Development Tools: Add new kernel crash monitor and extend debug device driver
2. BREAK REQUEST: BR2588.1: Extend Publish Kernel CrashFlash interface
3. SimonTrimmer
1. DEFECT FIX: DEF131072: NaviEngine reports different screen dimensions to previous HRPs
Workaround for groups that have test code that depends on screen dimensions being the same as H4
Added support for a 320x240 16bpp screen mode that has a large offset between lines (stride)
This graphics mode can be enabled at run time by setting dip switches DSW1 switches 7 and 8 ON
4. laurentiu-catalinmer
1. MILESTONE: Sphinx, GT0382, MS3.65, DS1418, PREQ2102: Base: Dynamic Resolution Switching
5. SebOlney
1. MINOR_CHANGE: Properly comment out #endif tag in euser.mmh
6. DaveGordon
1. DEFECT FIX: DEF130150: NKern::ThreadSetUserContext allows changing mode, domain access
7. ToniaCampbell
1. MINOR_CHANGE: Updated Base Functional Spec
8. RyanHarkin
1. MINOR_CHANGE: Added NaviEngine BootLoader ROMs to BSP tools directory
9. MichaelCox
1. DEFECT FIX: DEF129523: vector operator new is not declared properly
10. TomCosgrove
1. MINOR_CHANGE: Fix typo in doc comment on TDfc::RawAdd() in e32/nkern/dfcs.cpp (and .cia version)
s/no checks orare performed/no checks are performed/
11. indrajeetsingh
1. CHANGE REQUEST: Development CR ANDN-7H9CQV: Peripherals, GT0339 Base Meteora, Kernel, GT0339 Base Meteora, PREQ1226 new derived HAL attributes simulation on H4
12. AndreiMironenko
1. DEFECT FIX: DEF128861: [Coverity]-base/e32/drivers/usbc/
Coverity issues fixing, CID 1616, CID 1617.
Claim for negative return marked as "Intentional", the negative array index value
was guarded by __ASSERT_DEBUG macro.
13. LukaszF
1. DEFECT FIX: DEF130677 NaviEngine BSP contains obsolite sound driver
- removed sources and deletes entries in iby files.
14. DjordjeK
1. DEFECT FiX: INC130449 Kernel does not handle ARM1136 ERRATA 317041
This errata is relevant only if both the following conditions are met:
- It is arm1136 core, r0p2 revision.
- L2 (either L210 or L220) cache controller is present.
15. MichaelP
1. MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
16. SteveElliott
1. DEFECT FIX: DEF129872 T_USB_SCDEVICE.EXE failing
Changes to t_usb_device, t_usb_scdevice, and t_usb_win to provide test synchronisation between client and host.
Also minor improvements to massstorage tests and changing detached process t_idlecounter to a thread.
17. VincentF
1. DEFECT FIX: DEF128859: [Coverity]- base/e32/drivers/resourceman/
18. colinward
1. MINOR_CHANGE: Tidied up some debug output in the e32test/multimedia/t_camera_api test that was accidentally left
in incorrectly in the PREQ 1512 submission.
Version 2.00.1966
=================
(Made by SivashankarN 14/11/2008)
1. GeorgeSin
1. DEFECT FIX: DEF128720: [Coverity]- NULL_RETURNS-base/e32/drivers
Have fixed 2 coverity NULL_RETURNS issues.
2. colinward
1. DEFECT FIX: DEF128903: Sound tests lack kernel and user heap checking
3. JessieZhang
1. DEFECT FIX: DEF128716: [Coverity]-FORWARD_NULL-base/e32
4. MichaelP
1. MINOR_CHANGE: Fixed typo in ps_usbc.cpp.
5. TomCosgrove
1. MILESTONE: Oregano, GT0392, MS3.6.2, DS1387, CR1526: Additional Btrace enumeration for callstack
Add additional BTrace THeap enumeration value to be used by DevTools' memory debug tools (from TCL).
6. DjordjeK
1. MINOR_CHANGE: NaviEngine baseport: SD Card Read & Write operations now use DMA.
7. junwookkwak
1. DEFECT FIX: PDEF130166: Improve User::FastCounter() in-source doc to discourage use in production code
Updated doxygen comment of User::FastCounter() to discourage using it.
Version 2.00.1965
=================
(Made by DaveGordon 12/11/2008)
1. GeorgeSin
1. DEFECT FIX: DEF128871: [Coverity]- base/omap/
Have fixed 2 coverity deadcode issues.
2. colinward
1. DEFECT FIX: DEF129584: 3430 BSP includes obsolete sound driver
3. dougsteel
1. MILESTONE: Diran, GT0419, MS3.11.1, DS1404: PREQ2130: GPIO device driver helper API: Template Port
REQ11335: Documentation
Patch to Version 2.00.1964
=================
(Made by patrickconway 11/11/2008)
1. DanH
1. DEF130221: [System Build]:Rom errors due to gpio.dll not present in rom in M04749 vFuture
2. AndreasP
1. DEF130223: [System Build]:Export of base_e32_drivers_camerasc failed in M04749 vFuture
Version 2.00.1964
=================
(Made by patrickconway 10/11/2008)
1. DanH
1. DEFECT FIX: DEF129524: SMP: Ethernet and other drivers missing from naviengine iby file for Techview
2. ExtRajeswariR
1. DEFECT_FIX: DEF129042: [SMP] - H4 techview iby files to not allow easy configuration of the FMM
3. georgiosdementis
1. DEFECT_FIX: DEF130002: [SMP] Kern::Printf left in baseport code for NaviEngine GCE
4. TomCosgrove
1. DEFECT FIX: DEF129969: hal\rom\hal.hby missing 10 attributes as defined in hal_data.h
Add extra values to hal.hby and t_newhal.cpp, and update t_newhal.cpp to
detect when its list is out-of-date.
2. MINOR_CHANGE: It's Symbian, not Symbain.
Fix company name in comment in e32/include/e32cmn.h.
3. MINOR_CHANGE: Fix a couple of "the is" typos in comments.
5. colinward
1. MILESTONE: Diran,GT0419,MS3.4,DS1139: PREQ1512: Simplify Camera Hardware Adaptation
6. chrism
1. MILESTONE: Sphinx,GT0382,MS3.23,DS1395: PREQ2098: Enable memory-efficient DSA
Change the internal implementation of the display_channel for Emulator to use the new HAL API
introduced by REQ10721 earlier as part of Graphics PREQ2098.
7. RobertJ
1. MINOR_CHANGE: Changed Copyright message on e32test\ethernet\pump\etherpump.cpp
Version 2.00.1963
=================
(Made by RichardCo 04/11/2008)
1. Michael Mo
1. DEFECT FIX: DEF129638 - 34xx_sdp should have COM3 point at Quad UART port A
Revert changes made whilst issues with the Quad UART were not resolved. Now
COM3 points to Quad UART port A instead of Omap UART 3.
2. MINOR_CHANGE: Correct whitespace in 34xx_sdp bootstrap assembler
2. GeorgeSin
1. DEFECT FIX: DEF128865: [Coverity]- base/e32/ewsrv/
I have fixed the issues as seen by Coverity. Small changes to code.
3. JessieZhang
1. DEFECT FIX: DEF128715: [Coverity]-FORWARD_NULL-base/e32
4. MiguelB
1. DEFECT FIX: PDEF128901: Support for Code Paging for NAND MEDIA Driver not available
Allow code paging from local drive number zero
5. IanMo
1. DEFECT FIX: INC128834: [OTG] OPT TD.4.3 causes phone crash with udeb version of usbhost.dll
2. DEFECT FIX: DEF128644: Filename case check failure in usb host
3. DEFECT FIX: DEF127250: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
6. RyanHarkin
1. DEFECT_FIX: DEF129672: D_EXC fails to start on NaviEngine. Error - " Failed to load KDA LDD"
minkda.ldd was commented out in the base_ne1_tb.iby file.
7. dougsteel
1. MILESTONE: Diran,GT0419,MS3.11,DS1284: PREQ2130: GPIO device driver helper API
Version 2.00.1962
=================
(Made by Vino Jose 31/10/2008)
1. MiguelB
1. DEFECT FIX: DEF129636: H4 Bootloader won't boot with 2 MMC/SD cards
2. Michael Mo
1. MINOR_CHANGE: Add 34xx_sdp bootloader binaries to perforce.
3. SivashankarN
1. DEFECT FIX: DEF129578 Rom building with USBHost for fh4hrp fails
4. colinward
1. DEFECT FIX: DEF128878: Adding heap checking to t_sound_* tests exposes memory leaks in esoundsc.ldd
Version 2.00.1961
=================
(Made by ReubenH 27/10/2008)
1. RobertJ
1. DEF129491: TTime class, incorrect comments
2. VincentF
1. DEF128853: [Coverity]- base/e32/drivers/medmmc
3. MiguelB
1. PDEF129509: Prevent H4 from accessing MMC slot 2 unless explicitly enabled
4. JonCo
1. DEFECT FIX: DEF129044: Assembler version of TClientRequest::CallbackFunc doesn't match c++ version
5. Michael Mo
1. DEFECT FIX: DEF129567 - 34xx_sdp does not have unique USB Serial Number
Port changes from H4 to 34xx_sdp such that the USB driver reports a unique serial number, derived from
the board's MAC address, instead of reporting the same number for all boards.
2. DEFECT FIX: DEF129288 - 34xx_sdp bootloader cannot write to Sibley NOR flash chip
Modify 34xx_sdp boostrap and bootloader config to support writing to Sibley NOR flash. This allows USB
Mass Storage support in the bootloader to function correctly. Changes are also needed to the generic
ubootldr code to support this.
3. MINOR_CHANGE: Remove outdated/unused 34xx_sdp camera drivers.
Version 2.00.1960
=================
(Made by ColinWard 24/10/2008)
1. GeorgeS
1. DEFECT FIX: DEF128869: [Coverity]- base/e32/memmodel/ DEADCODE tagged as false positive
2. VitalyR
1: DEFECT FIX: DEF129334: System crash visual notification missing on 3430 baseport.
On 3430 if possible indicate that we have faulted and entered the debug monitor. Add visual notification about kernel fault.
Display word "FAULT" on the 2-line LCD.
3. DaveGordon
1. DEFECT FIX: DEF127495: [v9.5,v9.6] {Fix Accepted} T_PAGELDRTST is timing out on H2
A whole bunch of changes, to address the various problems with this test:
* Reduce total number of threads/processes executing the tests.
* Add delays to the defrag threads. This not only reduces the load enough that
other threads can make progress, but also makes the point at which those threads
are preempted by defrag more variable.
* Add force-kill code to the single-media-thread case.
* Add a poll of the exit-requested-flag during library loading.
4. JunWookKwak
1. DEFECT FIX: DEF128808 : [Coverity]- base/e32/common/
Tagged false positives for coverity runs.
5. georgiosdementis
1. MILESTONE: Diran,GT0364,MS3.2.3,DS1375: PREQ1994:ARM11 MPCore SMP BSP: GCE Graphics driver
6. RichardCo
1. DEFECT FIX: DEF129398: NThread::GetUserContext doesn't work for threads executing user callbacks
User callbacks introduce new states a thread can be in which need different handling.
{Get,Set}UserContext and UserContextType have been updated to deal with the new states.
Run-mode debuggers using these APIs do not need to change their behaviour - threads
in these states will now behave correctly.
Version 2.00.1959
=================
(Made by NeilClifford 17/10/2008)
1. AnatolyP
1. DEFECT FIX: DEF128886: SAN:Nandloader image creation fails,compsupp/compsupp.iby missing.
Relative inclusion of compsupp.iby from the source tree replaced with an absolute inclusion from the epoc32 tree
2. Chenguang Song
1. DEFECT FIX: PDEF128518: TLanguage needs an entry for APAC Indonesian
3. AttilaV
1. DEFECT FIX: DEF128231: Failure to boot H4 board with OneNAND techview image
4. JessieZhang
1. DEFECT FIX: DEF128211: prototype APIs in Base
2. DEFECT FIX: DEF128212: issues with IM tags in base
3. DEFECT FIX: DEF128809: [Coverity]- base/e32/compsupp/
5. GeorgeS
1. DEFECT FIX: DEF128852: [Coverity]- base/e32/drivers/debug/ 3 coverity issues fixed
Version 2.00.1958
=================
(Made by NicholasC 14/10/2008)
1. CarlosF
1. MILESTONE: Diran, GT0419, MS3.10 : PREQ2132 I2S device driver helper.
2. GayathriR
1. DEFECT FIX: DEF128702: Start address of data modified incorrectly when data is not block aligned
Version 2.00.1957
=================
(Made by KaiD 13/10/2008)
1. JonathanM
1. DEFECT FIX: DEF128298: Cache aliasing management possibly broken on ARMV7
This makes the kernel apply page colouring on ARMV7 and works around Cortex A8
errata 586324
Version 2.00.1956
=================
(Made by SivashankarN 08/10/2008)
1. MichaelP
1. DEFECT FIX: DEF128601 USB OTG Client: Support for Auto-HNP missing
Introduced a new function in the USB Client PDD PIL:
/** Returns a truth value indicating whether this UDC handles USB OTG HNP
bus connects/disconnects automatically in hardware.
*/
virtual TBool DUsbClientController::DeviceHnpHandledByHardwareCaps() const;
The default implementation in the PIL returns EFalse. The function can be
overridden in the PSL so that it returns ETrue. The capability is queried by
the PIL and determines the way it calls the functions behind the
iEnablePullUpOnDPlus / iDisablePullUpOnDPlus pointers.
2. AnatolyP
1. DEFECT FIX: DEF128177: Changes to base.iby and user.iby
Direct inclusion of the compiler support libraries replaced with the inclusion of the compsupp.iby file.
3. JonathanM
1. DEFECT FIX: DEF128749: Memory pinning can cause system crash
Version 2.00.1955
=================
(Made by DeleOgunjumelo 06/10/2008)
1. RichardCo
1. DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded
Loading a kernel-side library which is linked to another kernel side library
was not possible if the dependent had static data.
Version 2.00.1954
=================
(Made by MichaelMo 02/10/2008)
1. patrickconway
1. DEFECT FIX: PDEF114200: T_RMDEBUG2 test fails on ARMv7 cores.
2. DipakA
1. DEFECT FIX: DEF126771: APIREG: using invalid values to calibrate the digitiser crashes the h4 board
Changes made in shared_digitizer.cpp and test added in t_calib.cpp
3. Radhakrishnanramanat
1. DEFECT FIX: DEF123210: Logical Device Drivers need auditing for bad GetCaps() implementation
4. SushmitaR
1. MINOR CHANGE: Fix intermittent failures for t_ramdefrag
5. Vitalyr
1. MILESTONE: Duranduran, GT0419, MS3.5.1, DS.1170: Base PREQ2033 OMAP3430 BSP.
6. RyanHarkin
1. MINOR_CHANGE: updated NaviEngine user guide
2. MINOR_CHANGE: updated Base Functional Spec document
7. FernandoPorta
1. DEFECT FIX: PDEF127313: rm_debug_svr needs to avoid future GCCXML build
8. fabiangortz
1. DEFECT FIX: DEF128508: USB Chapter9 tests failing
9. laneroberts
1. DEFECT FIX: DEF128456: E32Test driver d_latncy tries to access user memory
10. LukaszF
FIX PDEF128516: Code paging doesn't work with memory type remapping
- Changed memory permissions to use KUserCodeLoadPte instead of KUserCodeRunPte whilst the codeseg is being loaded.
11. indrajeetsingh
1. CHANGE REQUEST: Development CR ANDN-7D6MHL: Peripherals, GT0339 Base Meteora, Resource Manager, Prevent panic on re-registration of dynamic resources with dependencies and extend dependency ID information.
2. BREAK REQUEST: BR2407.1:Client Name added as an additional parameter to the CustomFunction()
Version 2.00.1953
=================
(Made by SebOlney 24/09/2008)
1. fabiangortz
1. DEFECT FIX: DEF123150: T_usb crashes H4 board occasionally in the scenario when host is transmitting
2. RichardCo
1. DEFECT FIX: DEF127569: e32cmn.h: uncaught_exception() isn't declared IMPORT_C
3. ChrisM
1. MILESTONE: Sphinx, GT0339, MS3.19 : graphics PREQ2098 enable dynamic allocation of DSA buffer.
(New export in EKern Kern::ChunkUserBase and new HAL attribute EDisplayMemoryHandle.)
4. JonathanM
1. DEFECT FIX: DEF127853: Uneccessary XTRAP_PAGING in IPC copy functions
2. DEFECT FIX: DEF127855: Various Flexible Memory Model defects
5. SivashankarN
1. DEF126754: [Coverity] - DEADCODE- /base/template/template_variant/usbho
6. IanMo
1. DEFECT FIX: DEF125888: T_USBDI Code Review Resolutions Required
2. DEFECT FIX: DEF126640: StopStacks Crash needs investigation
3. DEFECT FIX: DEF127252: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
4. DEFECT_FIX: DEF126346: 'B' Device should accept all bMaxPower levels from 'A' device
Changes to usbhost drivers
Version 2.00.1952
=================
(Made by georgiosdementis 22/09/2008)
1. JenniferH
1. DEFEXT FIX: DEF126165: ZlpFlag not set when using shared chunk USB BIL GetBuffer
2. Radhakrishnanramanat
1. DEFECT FIX: DEF127764: User::LockedDec(): Documentation is not correct
3. vinojose
1. DEFECT FIX: DEF127216: Handling of advanced digitiser attributes should only be supported explicitly
4. ReubenH
1. DEFECT FIX: DEF127113: FAULT: Exception 0x10000000 when running test
5. andrewhickman
1. DEFECT FIX: PDEF127938 TLanguage needs an entry for Indic English
Version 2.00.1951
=================
(Made by georgiosdementis 22/09/2008)
1. georgiosdementis
1.MINOR_CHANGE: Remove occurrences of macro __SMP_KERNEL_AVAILABLE__
Version 2.00.1950
=================
(Made by georgiosdementis 19/09/2008)
1. georgiosdementis
1. MILESTONE: Diran, GT0364, MS3.2.1 : PREQ 1994: ARM11 MPCore SMP BSP Initial delivery
Version 2.00.1949
=================
(Made by georgiosdementis 12/09/2008)
1. MarkTa
1. DEFECT_FIX: DEF126321: Reported size of filesystem cache chunk keeps increasing
Ensure DChunk::Lock() discounts any reclaimed pages from DChunk::iSize.
2. DEFECT_FIX: DEF126846: Calls to NKern::ThreadGetUserContext can crash system
Add checks for the NThread being in the EDead state to the thread context set and get methods.
2. dharmeshgandhi
1. DEFECT_FIX: DEF127434: RMdaDevSound::BytesPlayed( ) API documentation needs to more specific
3. fabiangortz
1. DEFECT FIX: PDEF127654: base_e32.mrp has redundant "source" statement
4. SebOlney
1. DEFECT FIX: PDEF127457: Documentation is needed for HAL::GetAll()
2. DEFECT FIX: DEF125983: Sound driver does not check for UserEnvironment capability when recording.
5. SharathK
1. DEFECT FIX: DEF126047: APIREG: SetPlayFormat() does not return KErrNotSupported
6. RyanHarkin
1. MINOR_CHANGE: added 3430 extension makefile config files
Version 2.00.1948
=================
(Made by georgiosdementis 05/09/2008)
1. RyanHarkin
1. MILESTONE: Diran, GT0364, MS3.8 : PREQ2127: MHA Register Access API
2. Dennis
1. MILESTONE: Diran, GT0364, MS3.1 : PREQ1954: Foundation SMP Kernel
DS1189
First delivery of prototype SMP kernel for ARM.
3. NeilClifford
1. DEFECT FIX: DEF127099: Divide by zero error in MMC driver when alternate slot populated at boot
2. DEFECT FIX: PDEF127290: 5.0 Unable to change or remove password from memory card
4. JessieZhang
1. DEFECT FIX: DEF127108: t_pccdbm.cpp calls test.Getch() without prompting the tester for input
2. MINOR_CHANGE: Updated the documentation for RMdaDevSound::FlushPlayBuffer
3. Defect Fix: PDEF126686: armcchlp.cia file in ekern.mmp needs to avoid future GCCXML build
5. ParameshwariB
1. DEFECT_FIX: DEF126865: Integrator board fault in overnight test runs
6. RichardCo
1. DEFECT FIX: DEF127325: VFP documentation doesn't describe how to enable VFPv3
Updated Base_How_To_VFP_Support.doc
2. DEFECT FIX: PDEF127463: Issue with Neon support in Symbian Kernel
7. KathrynThomas
1. DEFECT_FIX: DEF126350: Scheduling deferred notifications in interrupt context creates panic
2. DEFECT_FIX: DEF126592: Some shortlink components failed at GCCXML build
3. DEFECT_FIX: DEF126431: New USB Host/OTG stack drop (3.0.4.1.13.1.3)
4. DEFECT_FIX: DEF126721: RUsbInterface::Open causes panic
5. DEFECT_FIX: DEF125891: Calling RUsbOtgDriver::StopStacks() Can Crash The Kernel
8. ExtRajeswariR
1. DEFECT_FIX: DEF126558: Some component cannot pass GCCXML build
Version 2.00.1947
=================
(Made by indrajeetsingh 26/08/2008)
1. VincentF
1. MINOR_CHANGE: Reduce time taken by the automated USB Performance Tests
2. SivashankarN
1. DEF126155: template_variant\usbho has different IPR in different components
3. JenniferH
1. DEFECT FIX: DEF126163: DMA resource allocation failure on shared chunk USB LDD
4. MarkTa
1. MINOR CHANGE: Fix mismatch of test.Start()/test.End() pairs in t_svr.
5. AndrewHaigh
1. DEFECT FIX: PDEF125836: Run-mode debug API should have AddProcess/RemoveProcess debug events
2. DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
3. DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be.
4. DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
5. DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
6. DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
6. StephenRoberts
1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
Version 2.00.1946
=================
(Made by MichaelCox, 20/08/2008)
1 LukaszF
1. MINOR_CHANGE: Updated HAL with Machine UID support for NaviEngine (NE1_TB).
Version 2.00.1945
=================
(Made by patrickconway, 15/08/2008)
1. JessieZhang
1. DEFECT_FIX: DEF125980: Amiguous comment for RPlugin::Open
2. DEFECT_FIX: DEF126401: [coverity] - All identified false positives are to be tagged correctly.
2. DaveGordon
1. DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
3. MichaelP
1. MINOR_CHANGE: USB Client Driver API Guide: Added information about the new
endpoint resource allocation scheme in section 4.6 "Endpoint Resource
Allocation, De-allocation and Use Query". Upped document version to 3.2.
2. MINOR_CHANGE: USB Client Porting and Test How-To Document: Added section 3.6
on endpoint resource management. Upped document version to 3.5.
3. DEFECT_FIX: DEF126402: USB Client PDD: New endpoint resource request scheme not fully functional
New virtual method 'TBool DeviceResourceAllocV2Caps() const' to class
DUsbClientController + default implementation in PIL which just returns
EFalse + adding of flag KUsbDevCapsFeatureWord1_EndpointResourceAllocV2
to TUsbDeviceCaps::iFeatureWord1 if the PSL has overridden that function
to return ETrue.
4. RyanHarkin
1. DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
2. DEFECT_FIX: DEF126358: CTS line inverted in 16550 uart code
5. ReubenH
1. MINOR_CHANGE: Updated in-source documentation for RThread::Kill and RThread::Terminate
in response to INC125714.
2. MINOR_CHANGE: X86PC only: Added support for PCI-based debug serial ports.
3. DEFECT_FIX: PDEF126495: Date and time settings are not preserved over reset
6. ParameshwariB
1. DEV_CR: CR1258: Support compression of unpaged section in XIP ROM
BREAK REQUEST: BR2457.1:ROMBUILD compression will compress ALL of a demand paged ROM by default
7. VincentF
1. DEFECT_FIX: DEF126463: IPR mismatch in base_e32_sd3c
2. DEFECT FIX: DEF126464: base_e32 should not have cat E
3. DEFECT FIX: DEF126466: IPR mismatch in base_wins
8. SivashankarN
1. DEFECT_FIX: DEF126158: drivers\usbho\usbd has different IPR in different components
9. JonCo
1. DEFECT FIX: DEF126450: Accidentally exported DThread APIs should be removed
BREAK REQUEST: BR2443: Remove accidentally exported DThread APIs
Un-exported DThread::RequestComplete, DesRead, DesWrite, GetDesInfo, GetDesLength, GetDesMaxLength
2. DEFECT FIX: DEF126377: Regression in base\e32\kernel leads to panics in Backup Niotif Server clients
Fixed problem where blind messages sent on a session with a dedicated message pool leaked the
message objects
Version 2.00.1944
=================
(Made by JohnS, 11/08/2008)
1. LukaszF
1. DEFECT_FIX: DEF119839: Assabet build broken
- updated conditional msr calls for StrongARM - to workaround the processor bug.
2. NeilC
1. DEFECT_FIX: PDEF126033: CMD55 may be handled as ACMD in SD controller
3. JessieZhang
1. DEFECT_FIX: DEF125688: Return value of Kern::ThreadRawWrite not checked in d_usbc.cpp
4. JonathanM
1. DEFECT_FIX: DEF126209: Debug checks needed for unsafe user memory access by kernel code
NOTE: These checks are enabled by default in UDEB builds, to disable them completely
the baseport must define the macro __KERNEL_APIS_DISABLE_USER_MEMORY_GUARDS__ in it's
variant.mmh.
2. DEFECT FIX: DEF126326: Kernel user-permission checking disabled after Kern::HalFunction is used
4. SteveElliott
1. MINOR_CHANGE: Support for shared chunk USB LDD with t_usb_scdevice and general improvements
to automated USB test framework.
2. DEFECT_FIX: DEF126222: Larger heap size and error checks on buffer allocation in t_usb_device.
5. MiguelB
1. DEFECT_FIX: DEF125977: MMC demand paging ROM boot failure (UREL)
Fixed deadlock in H4's MMC card detect interrupt handler
Version 2.00.1943
=================
(Made by ReubenH, 04/08/2008)
1. marcinmaksymiuk
1. DEFECT_FIX: DEF124846: PREQ1340: Documentation how to instrument custom allocator is missing
2. DaveGordon
1. DEFECT_FIX: PDEF122684: Severe performance problem in DThread::RawWrite and DThread::RawRead
Fixes to DThread, propagated from 9.4; also tests to verify presence of said fixes.
NOTE: these tests may reveal an issue on Moving memory model platforms e.g. H2; see DEF125612.
NOTE: these tests may or may not induce failure of subsequent t_filecache test; see DEF125829.
3. GeorgeSin
1. DEFECT_FIX: PDEF125611: SPPR_PERF: DmDomainServer crashes under IPC fuzzing
Version 2.00.1942
=================
(Made by ParameshwariB, 01/08/2008)
1. JessieZhang
1. DEFECT FIX: PDEF124808: TDrive::iChanged set to ETrue on user drive when secure drive remounted
2. DEFECT FIX: PDEF125350: t_ramdefrag test failure on h4 urel
2. MarkTa
1. DEFECT FIX: DEF125756: UserHeap::ChunkHeap() documentation is incorrect
Corrected the insource docs.
3. ReubenH
1. MINOR_CHANGE: Fixed X86GCC build breaks due to accidental euser.def integration.
4. SebOlney
1. DEFECT FIX: DEF125472: Prioritised Extension loading broken on emulator
Do not define DECLARE_EXTENSION_WITH_PRIORITY for emulator builds.
Additionally, make extension loading on the emulator give name of the extension
it does or doesn't load.
Version 2.00.1941
=================
(Made by SivashankarN, 28/07/2008)
1. TomCosgrove
1. DEFECT FIX: DEF124697: Build with __USERSIDE_THREAD_DATA__ enabled crashes
Move call to UserSvr::DllSetTls() to after call to UserHeap::SetupThreadHeap(),
since DllSetTls() requires the heap to be initialised if userside thread data is used.
2. DEFECT FIX: DEF125561: Circular buffer of unsigned integers - wrong range (signed range specified)
Update the documentation of CCirBuffer to be clear about the use of 8-bit unsigned integers.
2. RyanHarkin
1. DEFECT FIX: PDEF125661: Build component "base\omap_hrp\h4_bootloader" error for GCCXML
3. JonCo
1. MILESTONE: Diran, GT0421, MS3.10, DS1077, REQ10699: Kernel: Re-architect kernel services to minimise inter-process memory accesses
2. DEFECT FIX: DEF125475: Race condition updating count of user threads runing
4. fabiangortz
1. MINOR CHANGE: Changed classification of d32otgdi_errors.h back to publishedPartner/prototype
5. JessieZhang
1. DEFECT FIX: DEF123573: Incorrect entry in mrp file for base e32
6. AndrewHaigh
1. DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
2. DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be.
3. DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
4. DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
5. DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
7. StephenRoberts
1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
Version 2.00.1940
=================
(Made by fabiangortz, 24/07/2008)
1. MiguelB
1. DEFECT FIX: PDEF124945: MMC stack power-down should cancel stack DFC
2. DjordjeK
1. DEFECT FIX: PDEF125485 ARM1176 devices do not output JTAG
3. RichardCo
1. DEFECT FIX: INC124027: PlatSec Base Config Document updates required
4. fabiangortz
1. MILESTONE: Sphinx, GT0394, MS3.3, DS924 PREQ1305: Shortlink, USB OTG HNP-A, SRP
2. BREAK REQUEST: BR2408.1: Deprecate Existing USB Client Endpoint Resource Allocation APIs
3. BREAK REQUEST: BR2497.1: Changed prototype error code values
5. LaneR
1. MINOR_CHANGE: Added CortexA9 support
Version 2.00.1939
=================
(Made by fabiangortz, 21/07/2008)
1. MichaelP
1. DEFECT FIX: PDEF124751: HSUSB LDD: Cache attributes are incorrect
Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled.
The defect fix also includes the necessary USB PDD PSL changes for the H2
and H4 (FS + HS) reference platforms.
2. BREAK REQUEST: BR2464.2 Enabling IN buffer cacheing in the USB Client LDD
Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled (see
PDEF124751). Up until now only the LDD's OUT/Rx buffers have been cached.
If a USB Client PDD PSL implementation supports DMA for IN transfers then
the Tx data buffer coming from the LDD via the PIL
(TUsbcRequestCallback.iBufferStart) will need to get synched with main memory
before starting the transfer. To that purpose the Symbian function
Cache::SyncMemoryBeforeDmaWrite() should be called before the IN transfer is
initiated. More information can be found in the USB PSL porting guide
(/base/documentation/Base_How_To_USB_Client_Porting_and_Test.doc) and in
example PSL implementations (e.g. /base/cotulla/pa_usbc.cpp).
2. DjordjeK
1. CHANGE REQUEST: Development CR CGTN-7F8H3Q, Kernel, GT0339 Base Meteora,
TMappingAttributes2 to be changed to @publishedPartner
To ensure the best performance of WT DMA memory, this CR should be accompanied by DEF125125
2. DEFECT FIX: DEF125125 DMA framework is not efficient with Write Through memory in L2 cache
3. DEFECT FIX: DEF125167 Improve performance of L220 cache maintain operations
3. TomCosgrove
1. DEFECT FIX: DEF125005: [coverity] - FORWARD_NULL, CHECKED_RETURN- base/template/template_variant/usbho
CID169 is not a defect. Fix CID14 by checking the return value from jinterrupt_setup().
Version 2.00.1938
=================
(Made by RichardCo, 17/07/2008)
1. MichaelP
1. DEFECT FIX: DEF124965: USB Client PDD: Correct Device State Transition Warnings
2. ReubenH
1. DEFECT FIX: DEF125022: Change in __DECLARE_TEST macro broke debug build
3. RichardCo
1. DEV CR: BBRE-7G7GJ2: Kernel, GT0364 SMP, Implement unprioritised scheduling mode for code safety testing (Crazy Scheduler version 2)
Introduce the crazy scheduler version 2, an improved test tool for verifying the safety
of asychronous code. Disabled by default, enable with kernel config flag
EKernelConfigCrazyScheduling on debug builds.
Version 2.00.1937
=================
(Made By LukaszF, 15/07/2008)
1. DjordjeK
1. DEFECT FIX: PDEF124733: Implementation needed for L220 errata
The fix for errata ID 484863: "The Cache Sync operation does not guarantee that the Eviction Buffer is empty"
2. DanH
1. MINOR_CHANGE: Added support for NaviEngine bsp in Techview iby file
3. vinojose
1. DEFECT FIX: DEF124797: errors in IM tagging in base headers
Version 2.00.1936
=================
(Made By JenniferH, 09/07/2008)
1. JenniferH
1. MILESTONE: Sphinx, GT0339, MS3.8 DS793 PREQ 1846: Peripherals : Improve USB client application efficiency by using Shared Chunks
Version 2.00.1935
=================
(Made By KaiD, 09/07/2008)
1. ColinWard
1. DEFECT FIX: DEF122798: Windows Server 2003 - Emulator hangs when playing star-up test sound
2. NeilC
1. DEFECT FIX: DEF124577: MMC Stack: iCurrentSelectedBusWidth is Initialised to EBusWidth1
2. DEFECT FIX: DEF124613: SDIO stack incorrectly parsing the CCCR register content
3. ReubenH
1. DEV CR: JPAR-7DQDXR: Kernel, GT0339 Base Meteora, Add Kernel side APIs to retrieve
TSecurityInfo from DThread/DProcess
2. DEV CR: STEN-7A4ECK: Kernel, GT0339 Base Meteora, Clean-up in preparation for RVCT 3.1
4. MichaelP
1. DEFECT FIX: PDEF124685: Array overrun in DLddUsbcChannel::HandleMsg
2. DEFECT FIX: PDEF124686: Array overrun DLddUsbcChannel::DoRequest
Version 2.00.1934
=================
(Made By DmitryL, 07/07/2008)
1. TomCosgrove
1. DEFECT FIX: DEF123276: IPR statement in MRP and disttibution.policy don't match
base/e32/common and subdirectories are IPR category D, so mark as such in base_e32_euser.mrp
2. RyanHarkin
1. DEF124183: T_VIDEO sets invalid values
3. DjordjeK
1. MINOR_CHANGE: SMP platforms shouldn't have Normal Non-Shared Memory.
Marked as minor change because only NaviEngine platform is affected.
4. vinojose
1. CHANGE REQUEST: Development CR BBRE-7CERCU:Kernel, GT0339 Base Meteora, PREQ1226: TRawEvent and
HAL to support multi-pointer UIs
5. MichaelCox
1. DEFECT FIX: PDEF124470: Incorrect source file classification for some base_e32 dirs
Version 2.00.1933
=================
(Made By NeilC, 26/06/2008)
1. MiguelB
1. BREAK REQUEST: BR2376.2: Extend & future-proof TMMCard
2. marcinmaksymiuk
1. PREQ1340: new BTrace EHeap sub-categories, further trace instrumentation of RHeap allocator
New eexe_monitor_heap.lib added as optional library to enable monitoring for heap corruption
Version 2.00.1932
=================
(Made by NicholasC, 23/06/2008)
1. AndreasP
1. DEFECT FIX: DEF123209 Device drivers in E32TEST use unsafe techniques
Version 2.00.1931
=================
(Made by indrajeetsingh, 20/06/2008)
1. NeilC
1. DEFECT FIX: DEF120522: Read Performance Degradation when file cache disabled after PREQ1724 submitted
2. MINOR_CHANGE: Typo in MMC Double Buffer How-to Doc BlockSize() -> BlockLength()
2. MichaelP
1. DEFECT FIX: DEF123556: USB HNP/SRP - Expected Message KUsbMessageHnpDisabled Not Received
3. TomCosgrove
1. DEFECT FIX: DEF123906: User::At documentation talks about absolute time
Clarified that the absolute time passed to User::At() should be in the current time zone
4. RyanHarkin
1. MINOR_CHANGE: adding a boot parameter for ARMv6 and ARMv7 single/direct memory model
This code is only built by Base and no other BSPs for these CPU targets have single
memory model.
5. MiguelB
1. DEFECT FIX: PDEF124016: Erase of secure area when formatting secure area of SD card is incorrect
Version 2.00.1930
=================
(Made by patrickconway, 17/06/2008)
1. JohnS
1. DEFECT FIX: DEF122690: h4_restricted_on_coreldr.mk fails when build with Raptor
2. patrickconway
1. DEFECT FIX: DEF123576: insource documentation for RMessagePtr2 problem
3. DjordjeK
1. MINOR_CHANGE: NaviEngine baseport update. (The first drop of DMA support.)
See //EPOC/DV3/team/2006/base/dev1/bsp/hwip_nec_naviengine/release.txt for details.
4. MarkTa
1. DEFECT FIX: PDEF123764: New API RChunk::Create(TChunkCreateInfo&) breaks coding standards
Rearrange some declarations in header file for TChunkCreateInfo.
5. ReubenH
1. DEFECT FIX: PDEF123776: Some e32test def files are not frozen
Patch to version 2.00.1929
==========================
(Made by JonCo, 16/06/08)
1 JonCo
1. DEFECT FIX: DEF123718: [v9.5] [System Build]:TV and CBR stage errors related to Systemtest_OS in M04580
Version 2.00.1929
=================
(Made by deleogunjumelo, 11/06/2008)
1. MarkTa
1. DEFECT FIX: PDEF123352: Performance: Memory reserved for large bitmaps is always cleared black and then
Add new RChunk::Create method to allow all types of chunks to be created using the new
struct TChunkCreateInfo. Add TChunkCreateInfo::SetClearByte() to allow any byte value to be
used to clear committed chunk memory.
2. JonathanM
1. DEFECT FIX: PDEF123402: LogicalDeviceGetCaps() fn should sanitize mem ptr given to LDD GetCaps()
2. DEFECT FIX: DEF123538: RPipe driver reads user supplied arguments in unsafe manner
3. DEFECT FIX: DEF123542: RProperty::Set allows access outside of a processes memory
4. DEFECT FIX: DEF123528: Resource Manager driver reads user supplied name in unsafe manner
3. SushmitaR
1. MINOR_CHANGE: Fix minor error in t_ramdefrag when setting up a specific test
4. VincentF
1. MINOR_CHANGE: Automated USB Test Framework Update
5. LukaszF
1. DEFECT FIX: PDEF123584: t_codepaging fails if paging cache is too big
- skipped tests designed for stressed confguration for bigger cache size configurations.
2. DEFECT FIX: DEF122371: Bug in the current RBuf8/16::ReAlloc implementation
- Updated documentation to describe the behaviour.
6. MiguelB
1. DEFECT FIX: PDEF123464: No Init() error check in TMMCardControllerInterface::Create
2. DEFECT FIX: DEF118543: CPRM: CIMSecureReadWriteBlocksSM - insufficient error handling
7. DjordjeK
1. DEFECT FIX: PDEF122819: Symbian must be compliant with ARML210 Errata List
Only the platforms with L210 L2 cache are affected.
8. JonCo
1. MILESTONE: Sphinx, GT0339, MS3.17, DS1078, REQ8666: Support for global destuctors
Version 2.00.1928
=================
(Made by JohnS, 05/06/2008)
1. VitalyR
1. DEFECT FIX: DEF122877: On CortexA8 BuffredNC memory mapping attribute is broken.
2. AndrewHi
1. DEFECT FIX: DEF116274: Caps buffer used by LFFS should be derived from 'v6
Version 2.00.1927
=================
(Made by patrickconway, 05/06/2008)
1. patrickconway
1. DEV CR: BBRE-7E6L2G Kernel, GT0339 Base Meteora, Kernel: Re-factor allocation/deallocation functions on emulator
Version 2.00.1926
=================
(Made by RichardCo, 01/06/2008)
1. JohnSucksmmith
1. DEF122688: h4_restricted_on_miniboot.mk fails when build with Raptor
2. OlegI
1. DEFECT_FIX: DEF121874: TCollationMethod documentation not generated
3. MarkTa
1. DEFECT FIX: DEF122954: RProperty::Define comments unclear on category value
Update comments to refer to document detailing the correct usage of properties' categories.
4. MiguelB
1. DEFECT FIX: PDEF122983: 5.0 Unable to unlock locked memory card
Fixed regression caused by PDEF120544
5. NeilC
1. DEFECT FIX: DEF122071: Invalid references in resourcecontrol_trace.h
2. DEFECT FIX: PDEF122484: F32_UserDisk: T_DSPACE test fail
3. DEFECT FIX: PDEF123067: SDIO driver interface hangs the second time it is initialized
6. GayathriR
1. DEFECT FIX: DEF122521: USB Client locks up in an error-report spin-loop if VBUS is dropped and raised
Version 2.00.1925
=================
(Made by ParameshwariB, 23/05/2008)
1. TomCosgrove
1. DEFECT FIX: DEF123131: X86PC only: Update to NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp.
2. MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
Corrections made in several files throughout base code.
3. DEFECT FIX: PDEF122731: move some PlatSec enforcement from run-time to build-time
iKernelFlags becomes private, with an accessor function that ensures required bits
are always set (unless __PLATSEC_UNLOCKED__ is defined by the base port). In addition
(also unless __PLATSEC_UNLOCKED__ is defined), no capabilities can be disabled via
iDisabledCapabilities.
2. JohnSucksmmith
1. DEFECT FIX: PDEF119924: Nand drive setup incorrect on h4
Updated h4 variantmediadef.h file to provide extra NAND drive for crash logging
3. VitalyR
1. DEFECT_FIX: DEF118718: GetCompositionBufferInfo() faults kernel when passed invalid parameters.
2. DEFECT_FIX: DEF122332: Error in GCE driver calling RDisplayChannel::SetRotation() with an invalid value.
3. DEFECT_FIX: DEF117988: LCD ROM macro usage forces redundant use of macros.
4. DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.
5. DEFECT_FIX: DEF120343: RDisplayChannel::RegisterUserBuffer returns unexpected return values.
6. DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.
Version 2.00.1924
=================
(Made by SivashankarN, 19/05/2008)
1. fabiangortz
1. DEFECT FIX: DEF122167: Invalid Schedule 12 details for OTG componens
Note: The schedule 12 entries have already been updated (refer to integration database,
NC7058 - NC7061), so a supporting submission is not necessary
2. patrickconway
1. DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)
3. TomCosgrove
1. MINOR CHANGE: e32test.h: Fix typos in comments on @internalComponents and update copyright.
4. AttilaVamos
1. DEFECT FIX: DEF122209: RProcess::CreateWithStackOverride() is not documented corrected
5. MarkTa
1. MINOR CHANGE: Fix X86GMP nktest linking errors.
Version 2.00.1923
=================
(Made by ReubenH, 12/05/2008)
1. JonathanM
1. DEV CR: BBRE-7E5HKY: Kernel, GT0419 Base Duranduran, Preparation work for Flexible Memory Model
- Add new DChunk::Base overload which takes a DProcess argument - to obtain address of a
chunk in a particular process. (This allows for the fact that chunks may simultaneously
appear at different addresses in different process.
- Extend ROMBUILD to understand new MEMMODEL type 'FLEXIBLE'.
- Numerous small memory model specific configuration changes.
2. IanKing
1. DEFECT FIX: DEF119651: DUsbInterface::Resume() returns potentially misleading error code
2. DEFECT FIX: DEF119645: DUsbInterface::PermitRemoteWakeup() returns potentially misleading error code
3. DjordjeK
1. DEFECT FIX: DEF122241: arm11mpcore is using wrong mmu instruction to flush tlb entry
Revert of the change introduced by PDEF121503 related to arm11mpcore platform/
4. RichardCo
1. DEFECT FIX: DEF115401: Incomplete validation of data in loader
5. AnatolyP
1. DEFECT FIX: DEF121875: TExtendedLocale::GetPreferredCollationMethod has no documentation
6. MarkTa
1. MINOR CHANGE: Fix some typos in Base_How_To_Shared_Chunks.doc
7. PhilipSturdy
1. DEFECT FIX: DEF118984: Assembler version of wordmove lacks debug asserts
Version 2.00.1922
=================
(Made by LukaszF, 09/05/2008)
1. MiguelB
1. DEV CR: SWIS-7BJN5G: Peripherals, GT0339 Base Meteora, Align FAT user data area to media block boundaries for optimised performance
2. JohnS
1. Minor_Change: Remove obsolete smoke test files romnandtechviewh2.oby & romnandtechviewh4hrp.oby
from e32/rombuild
2. DEFECT FIX: DEF122334: Nandtest_load_rel.oby and base.iby files not updated for OneNAND.
3. Minor_Change: Use uncommented anInfo in DPhysicalDeviceMediaNand::Validate() implementation
only when needed for WINS builds
3. TomCosgrove
1. MINOR_CHANGE: X86PC only: Implement NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp,
for debugger support.
4. DjordjeK
1. DEV CR: BBRE-7E9CYF: Kernel, GT0364 SMP, Support for shared memory types in Kernel (part of SMP)
Version 2.00.1921
=================
(Made by KaiD, 30/04/2008)
1. TomCosgrove
1. DEFECT FIX: DEF121689: template variant mmh and config.inc treat errata macros incorrectly
Replace "#define" with "macro" in appropriate places
2. DEFECT FIX: DEF121973: RProcess::SetParameter in source doc omission
Clarify that APPARC programs should only use 'public use' slots.
2. GayathriR
1. DEFECT FIX: PDEF121192: Possible deadlock in USB LDD
3. RajivMaskara
1. DEFECT FIX: DEF120462: APIREG: No documentation on TCommCapsV01 etc
4. MichaelCox
1. DEFECT FIX: DEF121633: Use PLATFORM_PATH and CFG_PATH in path in TEM
5. NeilC
1. DEFECT FIX: DEF121231: ONB: uiktest_t_error in 9.5 started to fail for winscw(mmc returns KErrNotReady)
6. JonCo
1. DEFECT FIX: PDEF121716: Impact on Symbian OS because of absence of FIQ control in non-secure world (HLOS
7. DipakA
1. DEFECT FIX: DEF121425: Error in test code Vendor Id - t_pipe5.exe
Comment added in t_pipe5.mmp file for Vendor Id.
8. SivashankarN
1. DEFECT FIX: DEF121780: Possible bug or redundant code in USB HOST driver
9. DaveGordon
1. DEFECT FIX: DEF118763: Race condition in Thread logon and rendezvous
10. JonathanM
1. DEFECT FIX: DEF121857: RChunk::Decommit can decommit the wrong memory
Version 2.00.1920
=================
(Made by DmitryL, 28/04/2008)
1. TomCosgrove
1. DEFECT FIX: DEF121645 [SystemBuild]: Include filenames should be case sensitive
Fix #include <WINIOCTL.H> to be #include <winioctl.h>
2. RichardCo
1. DEFECT FIX: PDEF121624: MoveKernelPage breaks a pre-condition where __FLUSH_PT_INTO_RAM__ is enabled
3. BhaskarR
1. DEFECT FIX: DEF120299: APIREG: Lack of documentation for RBusDevComm in Symbian Dev Library
4. MarkTa
1. MILESTONE: Sphinx, GT0326, MS3.18, DS1065, CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
CHANGE REQUEST: CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
2. BREAK REQUEST: BR2352.2: Removal of RAM zone allocation thresholds
Improve the RAM page allocator to only have in use the minimum number of RAM zones required to be in use.
Also, reduces the spread of fixed pages across the RAM zones by attempting to allocate fixed pages into
the most preferable RAM zones with free, movable or discardable pages in them, moving or discarding pages if necessary.
5. ReubenH
1. DEV CR: CGTN-7CNGPX: Kernel, GT0339 Base Meteora, Support for Secure Clock on Emulator
Version 2.00.1919
=================
(Made by fabiangortz, 22/04/2008)
1. TomCosgrove
1. DEFECT FIX: PDEF121420: Wrong documentation of ChunkPhysicalAddress() may lead to device driver crash
The correct formula for the maximum number of pages that n contiguous bytes
might occupy is (n + PAGE_SIZE-2)/PAGE_SIZE + 1.
2. DEFECT FIX: DEF121432: Wrong directory separator in include statement in resman.mmp
Change backslash path separator to forward slash (/).
2. RichardCo
1. DEV CR: BBRE-7DGGYS: Kernel, GT0364 SMP, Implement rescheduling delays for code safety testing
Introduce the crazy scheduler version 1, a test tool for verifying the safety
of asychronous code. Disabled by default, enable with trace flag KCRAZYSCHEDDELAY
on debug builds.
3. MiguelB
1. DEFECT FIX: PDEF121429: Devide by zero fault on H4 with dual-slot support enabled & no card inserted
4. AttilaV
1. MILESTONE: Sphinx, GT0339, MS3.1.4 DS836 PREQ 1115: Peripherals: Crash flash logger operation on 73nm OneNAND, a generic FTL interface for Crash Flash Logging and 73nm OneNAND documentation.
2. BREAK REQUEST: BR2398.1 PREQ 1115 : Update class CrashFlashNand from file /cedar/generic/base/e32/drivers/crashflash/unistore2/crashflashnand2.h
5. DjordjeK
1. DEFECT FIX: PDEF121503 t_heap2 failed with background t_ramstress
TLB wasn't properly flushed when data is decommited. This is stability issue.
6. LukaszF
1. DEFECT FIX: DEF121118: Math::Round is not rounding the value correctly
Updated documentation to explain the meaning of KMaxPrecision constant.
Version 2.00.1918
=================
(Made by NicholasC, 18/04/2008)
1. MichaelP
1. DEFECT FIX: DEF121113: USB Client Driver: Potential Ep0 deadlock situation
'New' bitmap member iFeatureWord in class TUsbcInterfaceInfo + new flag
KUsbcInterfaceInfo_NoEp0RequestsPlease for use via USB LDD call
RDevUsbcClient::SetInterface(). If the flag is set (by default it's not),
then valid Ep0 Setup requests addressed to that interface or any of its
endpoints will be stalled by the PDD PIL. For more info see section 4.7 here:
Updated USB API Guide accordingly, upped document version to 3.1.
2. DjordjeK
1. Minor_Change: The change of debug log category in ExecHandler::RegisterTrustedChunk
3. MarkTa
1. DEFECT FIX: PDEF121125: TRamDefragRequest has incorrect Doxygen tagging should be publishedPartner
Update doxygen tagging on TRamDefragRequest and TRamDefragOp.
2. BREAK REQUEST: BR2394.2 TRamDefragOp should be tagged as internalAll
4. TomCosgrove
1. DEFECT FIX: PDEF121232: The error code is not handled in FindF API.
Fix this defect by reverting the original fix for PDEF119871 (the propagation
of INC117914 to the MCL).
5. RichardCo
1. DEFECT FIX: DEF120854: atexit() of base has empty implementation.
WINSCW doesn't appear to actually need the dummy atexit() so only provide it
for MSVC builds (WINS).
6. NeilC
1. DEFECT FIX: PDEF121228: Invalid value written to partitiontable of SDHC protected area
Version 2.00.1917
=================
(Made by indrajeetsingh, 16/04/2008)
1. SebOlney
1. MINOR_CHANGE: Clarify description for User::Panic - category is limited to 16 characters.
2. DanH
1. DEFECT FIX: DEF120034: Flogger server blows its stack on x86gcc
Set the default stack size to 16KB on X86GCC.
3. francisbinns
1. DEFECT FIX: PDEF120594: T_FOLDPERF - Missing line ends in the performance tests
Added newlines ("\n") to Printf statements.
4. MichaelP
1. DEFECT FIX: DEF121070: USB PDD PIL doesn't reset interface setting upon un-configuration
When tearing down an interface (in response to a SET_INTERFACE or
SET_CONFIGURATION request), the PIL now resets the current alternate setting
number for that interface to 0.
Version 2.00.1916
=================
(Made by deleogunjumelo, 09/04/2008)
1. NeilC
1. MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem
2. MINOR_CHANGE: Corrected x86GCC build errors and warnings; missing ordinals from ekern and euser.
2. MichaelP
1. DEFECT FIX: PDEF120716: USB Endpoint SETUP packet fails to be handled in phone
Class- or vendor-specific Ep0 Setup requests directed to an interface or an
endpoint are now stalled by the USB Client PIL if the device is not in the
Configured state.
2. MINOR_CHANGE: Removed space characters from file name
/e32test/usb/t_usb_win/scripts/setting 2 close.uts
3. SebOlney
1. DEFECT FIX: DEF119767: T_CONDVAR fails on emulator
Version 2.00.1915
=================
(Made by patrickconway, 03/04/2008)
1. SebOlney
1. DEFECT FIX: DEF119148: Build eexe.lib as ARM (not Thumb)
Also changed edll.lib to build as ARM.
2. markhambleton
1. DEV CR: BBRE-7D6ERF: Kernel, GT0364 SMP, Minor tools changes to support the x86 SMP nanokernel
3. ParameshwariB
1. DEFECT FIX: DEF120375: Missing Resource manager includes causes SDIO on H4 not to compile
Also fixed other problems found during code inspection.
4. TomCosgrove
1. DEFECT FIX: PDEF120402: NULL Pointer Dereference
Add braces around statements that should be executed only if (pS != NULL).
2. DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
Protect definition of macro MAX() with #ifndef MAX/#endif
3. DEFECT FIX: DEF120460: Bug in D_LATNCY.CPP
Remove power handler from power manager's list when DLatency is destroyed.
4. MINOR_CHANGE: X86PC only: Add macro __DEBUGGER_SUPPORT__ to x86pc/variant.mmh and
implement NKern::ThreadGetUserContext() in nkern/x86/ncthrd.cpp, for debugger support.
5. MiguelB
1. DEFECT FIX: PDEF120544: Dual MMC support - PER003248
Added support to allow two or more MMC/SD cards with possibly different bus widths and clock rates
to run on a single SD card stack.
The MMC_DUAL_SLOT macro to used to enable dual slot support for H4 textshell/techview ROMs
Version 2.00.1914
=================
(Made by fabiangortz, 29/03/2008)
1. Ian King
1. DEFECT FIX: DEF116408: Compilation fault in d32usbdi.inl for unsupported platform
2. DEFECT FIX: DEF116434: Void method RUsbBulkTransferDescriptor::SetZlpStatus returning void value
3. DEFECT FIX: DEF117791: incorrect variable spelling
2. MichaelP
1. MINOR_CHANGE: Client stack now moves to Suspend state before it is enabled to trigger a device
state change notification even when it's not connected to a Host.
3. ParameshwariB
1. DEFECT FIX: DEF118970: Power Handle allows one handler to be added multiple times
4. TomCosgrove
1. MINOR_CHANGE: Fix typo 'PProperty' in base/documentation/Base_How_To_Publish_And_Subscribe.doc
Corrected to RProperty (RProperty::EByteArray)
2. DEFECT FIX: PDEF120402: NULL Pointer Dereference
Add braces around statements that should be executed only if (pS != NULL).
3. DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
Protect definition of macro MAX() with #ifndef MAX/#endif
5. SushmitaR
1. DEFECT FIX: PDEF120303: t_ramdefrag must not check the number of powered zones after EmptyRamZone
All calls to empty now check that the RAM zone is empty or not.
Also did little tidying to ensure file sying tests are cleaned up.
Version 2.00.1913
=================
(Made by DjordjeK, 26/03/2008)
1. Dennis
1. DEFECT FIX: DEF119776: Kernel wait objects are inefficient in their use of RAM.
Instead of each DSemaphore, DMutex and DCondVar having an embedded
64-priority list using 264 bytes of RAM, it has a single pointer.
This pointer is 0 if the wait list is empty (usual case), points
directly to a DThread if the wait list contains exactly one thread,
and points to a dynamically allocated 64-priority list with bit 0 of
the pointer set in the case where there are 2 or more waiting
threads. These lists are allocated from a LIFO queue which is
increased or reduced whenever a thread or wait object is created or
destroyed. The number of wait lists required can never exceed the
minimum of W and T/2 where W is the number of wait objects and T is
the number of threads currently in existence.
2. TomCosgrove
1. DEFECT FIX: PDEF120025: Cannot update system time if no HW RTC.
Update documentation to reflect that the base port should return KErrNone
if the RTC is not implemented. Also tidy up the documentation slightly
for SetSystemTimeInSecondsFrom2000() and SystemTimeInSecondsFrom2000().
2. MINOR_CHANGE: X86: Pass breakpoints on to handlers
3. Djazia Mecheri
1. DEFECT FIX: PDEF119871: TDesC16::FindF does not handle characters with and characters without accents...
Version 2.00.1912
=================
(Made by JohnS, 20/03/2008)
1. LukaszF
1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.
2. SivashankarN
1. DEFECT FIX: DEF119210: Distribution policy too strict on omap_hrp usbho iby files
3. JohnS
1. MILESTONE: Sphinx, GT0339, MS3.1.2 DS607 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 2)
2. MILESTONE: Sphinx, GT0339, MS3.1.3 DS605 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 3)
Version 2.00.1911
=================
(Made by ParameshwariB, 17/03/2008)
1. MiguelB
1. DEFECT FIX: DEF119328: Issues with powering down the MMC stack before the media is fully initialised
2. DEFECT FIX: DEF119409: MmcLoader doesn't work on a FAT32-formatted card
2. MichaelCox
1. CHANGE REQUEST: CR1115: Dual Slot Support
Added tests under e32test\pccd
3. patrickconway
1. DEFECT FIX: PDEF119489: t_video not restoring saved brightness level
4. ParameshwariB
1. MILESTONE: Sphinx, GT0339, MS3.6.1 DS720 PREQ 1398: Resource Manager API - Basic + Reference
implementation on H4
INTERFACE CHANGE: BR2186: Registering Power Resource Controller with Power controller
2. MILESTONE: Sphinx, GT0339, MS3.6.2 DS780 PREQ 1398: User-side API
3. MILESTONE: Sphinx, GT0339, MS3.6.3 DS794 PREQ1398: Resource Manager API - Extended + Acceptance Test Suite
Version 2.00.1910
=================
(Made by RichardCo 11/03/2008)
1. TomCosgrove
1. DEFECT FIX: DEF118942: Kern::ChunkPhysicalAddress fails to set aMapAttr correctly
Set aMapAttr when return value from DChunk::PhysicalAddress is >= 0, not just == 0
(since 1 is a successful return indicating that the region isn't physicall contiguous).
2. NeilC
1. DEFECT FIX: PDEF118966: SD Card 'High Speed Mode' Bus Configuration does not always work.
2. MINOR_CHANGE: Removed Test ASSERT for SDIO, caused problems with Coco Wifi test setup.
3. DEFECT FIX: PDEF119117: SD Card - Media Change fails with Secure Area mounted plus Password Locked Card
3. MichaelMo
1. MINOR_CHANGE: Fix ldrtest.oby so that it actually contains all the files needed to run the loader tests
4. RichardCo
1. DEFECT FIX: PDEF119191: Thread faults when destructor run on emulator.
Modified exe stub to return to previous behaviour of not calling destructors. Executables suffering
from this issue need to be recompiled to pick up the changed exe stub, as it's statically linked.
5. VitalyR
1. DEFECT FIX: DEF119416: Capability check failed loading display0.LDD
Version 2.00.1909
=================
(Made by OlegI 04/03/2008)
1. Andrew M Smith
1. DEFECT FIX: PDEF118720: Run-mode Debug API needs extensions to suit Carbide.c++ usage.
2. VitalyR
1. MINOR CHANGE: Limit gce driver capabilities.
Version 2.00.1908
=================
(Made by ReubenH 03/03/2008)
1. MarkHambleton
1. DEFECT FIX: DEF118761: autoexec.bat not executed on x86 platform
Added a check of file size to avoid zero length files (only for x86)
2. MINOR_CHANGE: remove automatic logon to crash debugger for x86.
2. VincentF
1. MINOR_CHANGE: Fix for t_sound2 failing on x86 in Graphic Mode
3. DjordjeK
1. DEFECT FIX: DEF118909: Cannot create e32tests rom image for template baseport
4. JonCo
1. DEFECT FIX: DEF118926: Demand paging initialisation of min/max pages needs tidyup
5. MichaelP
1. MINOR_CHANGE: Updated some in-source comments in drivers/usbcc/ps_usbcc.cpp.
Version 2.00.1907
=================
(Made by fabiangortz 28/02/2008)
1. NeilC
1. DEFECT FIX: PDEF118371: device HW capabilities are not considered, when setting the SD card mode
2. TomCosgrove
1. DEFECT FIX: DEF118635: RThread comment example code error
Change example code in comments from 'TInt error = ... CheckPolicy(...)' to
'TBool pass = ... CheckPolicy(...)'
3. OlegI
1. MILESTONE: Meteora, GT0339, MS3.12 DS1001 PREQ1526: Kernel: VFPv3 and Thumb-2EE mode support.
4. VitalyR
1. DEFECT FIX: PDEF118822: Misspelling and wrong documentation in pixelformats.h
5. ParameshwariB
1. DEFECT FIX: DEF117729: Device driver entry point trying to delete factory object with access count>0
6. fabiangortz
1. MINOR_CHANGE: Updated metabuild scripts after submission of new usb otg components
Version 2.00.1906
=================
(Made by fabiangortz 21/02/2008)
1. colinward
1. DEFECT_FIX: PDEF117726: Disabled sound device in Windows cause the emulator to crash
2. TomCosgrove
1. DEFECT FIX: PDEF118346: patchdata: rombuild/rofsbuild r_obey.cpp does not set dataEntry->iOffset
Update r_obey.cpp with code to set the offset from the line in the obey file.
This was code that was indended to be submitted with the original Dev CR, but
was lost in a Perforce integration error.
3. MichaelCox
1. DEFECT FIX: DEF118354: Incorrect case of #include causes build failure on Linux
4. MarkHambleton
1. MINOR_CHANGE: remove unused code in x86 platform and change the way TLBs were handled.
5. fabiangortz
1. MILESTONE: Sphinx, GT394, MS3.2 DS619 : PREQ1782: USB Host and on-the-go for pre-installed drivers
Although USBDI supports both USB 2.0 Full Speed and High Speed, the USB Host stack was enabled on the
H4 HRP, which only supports Full Speed. Bulk and high speed transfers are not tested as part of this
PREQ and only a limited support for the OTG (on-the-go) v1.3 specification is covered (HNP/SRP are
not covered).
Following are the components added under e32:
NC-7058: e32\drivers\usbho\base_drivers_usbhostotg.mrp
NC-7059: e32\drivers\usbho\usbd\base_drivers_usbhostotg_usbware.mrp
Following are the components added under omap_hrp:
NC-7060: omap_hrp\h4_restricted\usbho\base_omaph4hrp_usbhostotg_usbware.mrp
Following are the components added under template:
NC-7061: template\template_variant\usbho\base_template_usbhostotg.mrp
The USB Host/OTG stack is configured by default to be OTG capable. The USB HostCore and the USBDI and
OTGDI LDDs can be found under e32\drivers\usbho. The reference implementation is done for H4-HRP for
full speed and can be found under omap_hrp\h4_restricted\usbho\. Implementations of controller drivers
like HCD, TCD, OCD are placed here. Templates on these controller driver implementations are placed at
template\template_variant\usbho.
By default the USB Host and OTG binaries are not included as part of the ROM build. Use
--define=SYMBIAN_INCLUDE_USB_OTG_HOST in the ROM build command to include the USBHost and OTG binaries.
Version 2.00.1905
=================
(Made by ParameshwariB 19/02/2008)
1. ReubenH
1. DEFECT FIX: DEF117684: Secure clock offset sometimes not loaded at boot
2. SlimaneH
1. DEFECT FIX: PDEF117255: TChar::Fold(EFoldAccents) does not work for upper case characters.
i) Fixed the method Uint TUnicode::Fold(TInt aFlags,const TUnicodeDataSet *aOverridingDataSet)
This method do a correct decomposition when folding a characters with accents.
ii) Added a portion of test code in the method TestTChar<TCharType>::Test4(TCharTypes CharType),
related to the call of TChar::Fold(TChar::EFoldAccents), tested the folding of some interesting
unicode characters
Version 2.00.1904
=================
(Made by SivashankarN 15/02/2008)
1. MarkTa
1. DEFECT FIX: PDEF117845: kumemget() should not be called in a critical section in d_ramdefrag.cpp
Modify test driver so that it only enters a critical section when necessary.
2. SteveElliott
1. DEFECT FIX: PDEF117854: usbrflct Windows driver / application does not send a ZLP
3. MichaelP
1. MINOR_CHANGE: Changes to USB Porting document:
- changed document title into "USB Client Porting and Test How-To Document"
and file name to 'Base_How_To_USB_Client_Porting_and_Test.doc' to make it
clear this is not about USB Host,
- added brief section on T_USB_WIN / T_USB_DEVICE,
- updated link to current version of USBCV (1.3.1),
- upped version number to 3.3.
2. DEFECT FIX: DEF116350: MTPServer crashes with low RAM test
Fixed a NULL pointer access in a USB LDD function when shutting down the driver.
3. MINOR_CHANGE: Updated and corrected in-source comments in USB Client PDD PIL
(ps_usbc.cpp + chapter9.cpp).
4. MINOR_CHANGE: Changes to USB Client Porting document:
- added section on PSL -> PIL upcalls,
- upped version number to 3.3.1.
4. SebOlney
1. DEFECT FIX: PDEF117867: Emulator crashes running Loader tests
5. JonathanM
1. DEFECT FIX: DEF117930: H4 IRDA driver frees memory in wrong order
6. GayathriR
1. DEFECT FIX: DEF117514: t_usb fails to free up the usb interface
7. ReubenH
1. MINOR_CHANGE: ARM4-specific fix to t_realx caused by recent X86GCC submission.
Version 2.00.1903
=================
(Made by ReubenH 11/02/2008)
1. MarkTa
1. DEFECT FIX: PDEF117669: Discardable pages should not be discarded when the RAM zone cannot be emptied
Added check in the general defrag code to see if there is enough free pages for the movable pages in a
RAM zone before discarding pages from that RAM zone.
2. DEFECT FIX: PDEF117765: DRamAllocator::HalFunction() should not be using a raw pointer from user side
Use kumemput to copy data back to user side.
2. TomCosgrove
1. DEFECT FIX: DEF115293: e32cmn.h: declarations of new and delete conflicts with EABI headers
Prevent multiple declarations with macro __OPERATOR_NEW_DECLARED__
2. DEFECT FIX: DEF117799: rom.bat/rom.pl should output a usage message when run with no parameters
Print usage text (as for --help) if no paramters specified
3. NeilC
1. DEFECT FIX: PDEF117320: SDIO: FBR is also reading CSA Data Window
4. ReubenH
1. DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler
and related tools for the x86 target (i.e. support for new X86GCC platform)
Version 2.00.1902
=================
(Made by LukaszF, 06/02/2008)
1. TomCosgrove
1. DEFECT FIX: DEF117458: WIN32_LIBRARY statement shuold specify libraries in lower case
Ensure all .mmp files have Win32 library names in lower case
2. patrickconway
1. CHANGE REQUEST: Development CR BBRE-7AXM6B: Kernel, GT0339 Base Meteora, RArray::Find does not work easily
with operator== and is positively dangerous
3. ReubenH
1. MINOR_CHANGE: Fix for X86 sound driver failing UREL builds.
Version 2.00.1901
=================
(Made by KaiD, 04/02/2008)
1. DipakA
1. DEFECT FIX: PDEF117065 Example driver code documentation to be moved to respective driver folder
2. MILESTONE: Oregano, GT0350, MS3.3, PREQ1212, DS664 : Welcome Base.
Added new tutorial device driver for PREQ1212 Phase 3 , 4A and 4B.
Phase 3 : Serial driver with DMA.
Phase 4A: Serial driver with DMA and Shared Chunk
Phase 4B: Asynchronous serial driver derived from DLogicalChannelBase.
2. colinward
1. DEFECT FIX: PDEF117085: Voice, confirmation beep only on first recording, never when stop recording
3. TomCosgrove
1. DEFECT FIX: DEF117362: HAL.HBY's _PATCHARRAYDATA() macro doesn't work with rom.pl
Remove spaces on either side of the token pasting operator ##, which are removed by
buildrom but not by Base Team's rom.pl.
4. MarkTa
1. DEFECT FIX: PDEF117379: BTrace logging for some categories won't be primed when enabled from boot.
Add extra check for all categroies (aCategory==-1) to memory model specific brtace prime methods.
Version 2.00.1900
=================
(Made by NicholasC, 30/01/2008)
1. RyanHarkin
1. PDEF117059: BASE QUALITY USB - Reset Data Toggle not working on some H4 silicon revisions
2. georgiosdementis
1. DEFECT FIX: DEF116361: CleanupStack::PopAndDesroy panics with E32User-CBase 63
3. MichaelP
1. DEFECT FIX: PDEF117070: Class/Vendor specific descriptor request commands causes crash
4. MichaelCox
1. DEFECT FIX: DEF117029: Base component is not case-sensitive compliant for building on Linux
5. DjordjeK
1. MILESTONE: Base Meteora, GT0339, MS3.10, DS945
CR1281:Kernel: Add Kernel support for DMA transfers to file server caching
Version 2.00.1747
=================
(Made by RichardCo, 25/01/2008)
1. Miguel Barra
1. DEFECT FIX: DEF116268: Potential problems with T_NANDPAGING
2. Mark Hambleton
1. DEFECT FIX: DEF116223: t_heap2 call test() on a child thread causing a KERN-EXEC0
3. colinward
1. MINOR_CHANGE: Updated t_soundh4.cpp to no longer pass in odd sized buffers for playback, given
that this is now illegal.
4. OlegI
1. DEFECT FIX: INC115614: T_IMB fails
2. DEFECT FIX: INC115613: T_HEAP2 fails
5. Steve Elliott
1. MINOR_CHANGE: Added t_usb_device application for automated USB test framework in e32test/usb/t_usb_device/...
2. MINOR_CHANGE: Added t_usb_win application for automated USB test framework in e32test/usb/t_usb_win/...
3. MINOR_CHANGE: Added build file t_usb_device.mmp in e32test/group
4. MINOR_CHANGE: Modified e32test/group/bld.inf to include t_usb_device
6. SharathK
1. DEFECT FIX: DEF116317: Class RDevice needs description.
Description provided.
7. JonCo
1. DEFECT FIX: INC115987: t_tls.exe fails at Benchmark() function
Version 2.00.1746
=================
(Made by TomCosgrove 22/01/2008)
1. TomCosgrove
DEV CR: PHAR-756HZB Kernel, GT0326 Base-Nymph, Product Usability: Enable HAL to be patched at ROM build time
- Extend rom.pl patchdata command syntax to support patching elements of array data;
- Allow the HAL's InitialValue[] array to be patchable;
- Provide a HAL.HBY include file with supporting macros and constants to allow the
HAL to be patched at ROM build time.
Version 2.00.1745
=================
(Made by DmitryL 16/01/2008)
1. DjordjeK
1. DEFECT FIX: DEF116106: ARM Errata 415047 not applied for ARM1176
Applying the fix for errata on 1176 platform.
2. MichaelP
1. MINOR_CHANGE: Correct in-source documentation of some functions in e32/include/drivers/usbc.h.
3. MarkTa
1. CHANGE REQUEST: Development CR BBRE-7A3K7P: Kernel, GT0326 Base-Nymph, PREQ308: Extend zonal
allocaton API to accept more than one Zone (was CR1353)
Addition of 2 new APIs to the Epoc class that allow mulitple RAM zones to be specified for
the allocation of either contiguous or discontiguous RAM from the specifed RAM zones only.
4. OlegI
1. MINOR_CHANGE: Developement CR BBRE-79VKSR: Kernel, GT0339 Base Meteora, Changes to Base Template
Extension Makefiles to support Raptor
Actually those changes were made by Tools Team. Made as a Base Team submission for testing purpose.
5. SushmitaR
1. MINOR_CHANGE: Fix incorrect #ifdef __EPOC32__ in d_memorytest.cpp
6. LukaszF
1. CHANGE REQUEST: Development CR: BBRE-79KLJQ, GT0339 Base Meteora, Peripherals: Upgrade netcards.exe to support WiFi
7. TomCosgrove
1. MINOR_CHANGE: Fix spelling of "hysteresis" in e32/common/heap.cpp
8. SharathK
1. DEFECT FIX: DEF116310: Description of the class TFindLogicalDevice is incomplete.
Description is completed.
2. DEFECT FIX: DEF116312: Description of class TFindPhysicalDevice is incomplete.
Description completed.
Version 2.00.1744
=================
(Made by fabiangortz 11/01/2008)
1. TomCosgrove
1. DEFECT FIX: DEF116082: Bug in e32test\benchmark\thread.cpp
Fix cut'n'paste error to give right function name to call
2. MINOR_CHANGE: Fix spelling of 'omission' in template/template_variant/variant.mmh
3. DEFECT FIX: DEF116116: Kern::ThreadRawRead can fault the kernel using the multiple memory model
Range checking can wrap round, both in multiple/arm/xkernel.cpp as in the defect, and
in various other places. Fixed all of these that were found. Added test cases to
t_rmdebug2.
2. DjordjeK
1. DEFECT FIX: DEF114931: The changes in PTE/PDE are temporarily invisible by H/W Page Table Walk
Support for sharable page tables among CPUs that do not share L2 cache.
3. NicholasC
1. INC115900: Incomplete variation points for MSFS.FSY
4. georgiosdementis
1. MINOR CHANGE: Framebuffer video driver for the x86 platform
5. RajivM
1. DEFECT FIX: DEF115997: A created file is deleted in C drive when "gobble" command is executed again.
Fixed the defect by putting a check before deleting an existing file. Now "gobble" does
not delete an existing file.
6. NeilC
1. DEFECT FIX: DEF115056: Cache alignment in DMA sync
Replaced iSDStatus buffer with use of iPSLBuf such that known DMA'able memory is used.
Version 2.00.1743
=================
(Made by patrickconway 08/01/2008)
1. TomCosgrove
1. MINOR_CHANGE: Fix spelling of variable 'chunkTraceEnabdled' in test t_btrace.cpp
2. MINOR_CHANGE: Fix spelling of 'exculding' in comments in e32/euser/us_exec.cpp
3. MINOR_CHANGE: Fix in-source doc comments in e32/euser/us_exec.cpp
Correct an argument name in User::SetUTCTime(), User::SetUTCTimeSecure()
and User::SetUTCTimeAndOffset() (aUTCTime, not aTime). SetUTCTimeSecure()
was mentioned as an aside in INC115634; fixing the rest while here.
4. MINOR_CHANGE: Base documentation changes for INC115634: Capability requirements not rendered for SetUTCTimeSecure and User::SetHomeTimeS
There should be only one capability in each @capability entry.
Version 2.00.1742
=================
(Made by NeilC 27/12/2007)
1. RoopaR
1. DEFECT FIX: DEF115209: Missing Description for DComm class , its data members and members functions
2. DjordjeK
1. DEFECT FIX: PDEF115839: Not possible to run MEMTRACE in Edgar
Minor issue with memtrace tool on emulator.
3. MarkTa
1. DEFECT FIX: DEF114283: T_RAMDEFRAG fails intermittently
Some tidying of t_ramdefrag so it is more flexible with regards to the
physical layout of RAM before the test is run. Also, improve t_defrag_ref
so that it doesn't assume that allocations to the least preferable RAM zone
will always succeed.
Version 2.00.1741
=================
(Made by indrajeetsingh 21/12/2007)
1. JonathanM
1. DEFECT FIX: DEF115591: TVMHalFunction sysdoc not rendered correctly in developer library
Version 2.00.1740
=================
(Made by DeleO,17/12/2007)
1. DipakA
1. DEFECT FIX: DEF114276: T_PIPE fails.
2. MichaelP
1. MINOR_CHANGE: Fixed 'G' option in T_USB.
3. MarkTa
1. DEFECT FIX: INC115424: Printf's are printed twice, because TraceHandler return value is not checked
Reinserted accidentally removed if statement.
4. GayathriR
1. DEFECT FIX: PDEF114165: Base Quality USB - Incorrect error handling, SetInterface and ReleaseInterface
5. YogeshC
1. DEFECT FIX: DEF114398: Num Lock Key toggle does not work correctly on Version 9.4
6. TomCosgrove
1. DEFECT FIX: PDEF115572: RHeap::Available(TInt&) performs unsafe heap iFree access
Relocate Lock() to before pC initialisation, as suggested by defect.
2. MINOR_CHANGE: Fix description of BTrace event EPagingMapCode.
3. MINOR_CHANGE: Remove list of Exception-related RThread methods in Appendix B, as they
were moved to User a long time ago. (The methods implemented in User only work on the
current process, so don't need to be referenced here.)
4. DEFECT FIX: DEF115627: nk_trace.h has inconsistent comments for trace bit allocation
Trace bits 192-255 (not 224-255) are reserved for licensee partners. Fix spelling
of "licensees" while here.
7. VitalyR
1. DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
8. ReubenH
1. DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
2. DEFECT FIX: DEF114155: Secure clock: User-mode setting API uses wrong flag
Version 2.00.1739
=================
(Made by LukaszF, 10/12/2007)
1. JonCo
1. DEFECT FIX: DEF115220: ARM Errata 424692 and 424067 workaraound
Replace use of InvalidateTLBForAsid with FlushTLBs
Version 2.00.1739
=================
(Made by DmitryL 06/12/2007)
1. RyanHarkin
1. MINOR_CHANGE: adding extra SYM_BRANCH comments to code
2. JohnS
1. DEFECT FIX: PDEF115048: Possible problem with FAT cleanser modification to Unistore2 core code.
Reinstate call to CollectGarbage() in SM_MarkDeletion () routine.
3. JenniferH
1. DEFECT FIX: DEF114521: RTimer - undocumented feature when calling RTimer::Inactivity(0)
Version 2.00.1738
=================
(Made by DjordjeK 04/12/2007)
1. SebO
1. DEFECT FIX: DEF113488: Emulator Window now does strange things upon rotating.
2. DEFECT FIX: INC114502: Emulator startup configuration is not deterministic
2. JonathanM
1. DEFECT FIX: DEF115080: Kernel compile error if BTRACE_CHUNKS not enabled
3. MarkTa
1. DEFECT FIX: DEF114225: DefragRam unexpectedly stops defragmentation when a fixed page is found
Adjust the general defragmentation algorithm to skip RAM zones containing immovable pages and
continue to attempt to defrag the other RAM zones.
4. DjordjeK
1. DEFECT FIX: INC114591: T_LOADER_DELETE fails
Stops lazy unloader in setcap tool.
5. AndreiMironenko
1. DEFECT FIX: PDEF114596: Unistore2 driver enables interrupts at wrong point
Version 2.00.1737
=================
(Made by OlegI 26/11/2007)
1. TomCosgrove
1. DEFECT FIX: PDEF114622: Pow bug
pow(x, +Inf) was returning NaN for x < -1. Should return Inf.
Also found and fixed several other cases where pow() didn't comply with the ISO spec.
2. BREAK REQUEST: BR2278.2 Make Math::Pow() conform to the C standard for pow()
3. MINOR CHANGE: x86 platform only (not emulator): rework interrupt mechanism to allow
any interrupt to be shared.
2. Dennis
1. MINOR_CHANGE: x86 platform only - change UART driver so RX interrupt is
triggered when there are 4 rather than 8 characters in the RX FIFO.
2. MINOR_CHANGE: Fix problems with T_MSTIM test:
Assertion triggered if C++ version of nanokernel timer code is used.
Integer overflow in TicksToMicroseconds() on x86.
3. SushmitaR
1. DEFECT FIX: DEF114657 t_ramdefrag does not cover all scenarios for aMaxPages
Add test cases to verify that if aMaxPages != 0, but is valid, then the correct amount of pages
are moved or discarded of. Also added other test improvements.
Version 2.00.1736
=================
(Made by ReubenH 22/11/2007)
1. MichaelCox
1. DEFECT FIX: PDEF114092: Error handling problem with DSoundLdd asynchronous requests
2. DEFECT FIX: PDEF114093: DSoundLdd needs error notifications within DoRequest
2. JonCo
1. DEFECT FIX: INC113879: CFileMan::Rename() shows performance regression.
Turned buffering of epocwind.out back on after it had been inadvertently disabled
Version 2.00.1735
=================
(Made by NeilC 16/11/2007)
1. MichaelCox
1. CHANGE REQUEST: Development CR RFID-73RE3H: Kernel, GT0326 Base-Nymph, Add traceflags to enable/disable crash debugger and crash logger
2. MichaelP
1. BREAK REQUEST: BR2155.1 Remove Stack Enable/Disable APIs from USB Client Driver.
Removed USB LDD user-side APIs
RDevUsbcClient::EnableUsbDriver;
RDevUsbcClient::DisableUsbDriver;
Updated USB API Guide accordingly, upped document version to 3.0.7.
3. JonathanM
1. CHANGE REQUEST: Development CR: BBRE-78XEDX Kernel, GT0326 Base-Nymph, More Btrace information for Demand Paging
This adds two new traces to the BTrace::EPaging category: EPagingDecompressStart and EPagingDecompressStart.
4. SharathK
1. DEFECT FIX: DEF113075: Description for struct Emulator is missing.
Added Insource documentation
5. Radhakrishnanramanat
1. DEFECT FIX: DEF111161: inconsistent amount of data returned by RmdaDevSound (old sound drivers)
Modified flush record scenario to update the partial buffer.
6. PatrickConway
1. CHANGE REQUEST: Development CR: PHAR-75TF6J Kernel, GT0326 Base-Nymph, Product Usability: Provide a standard TIgnoreOverflow for TDes8/16::Format
7. LukaszF
1. DEFECT FIX: DEF113817: Fixed comment syntax for comments in TMappingAttributes enum. They followed the items, instead of coming before).
2. DEFECT FIX: DEF112227: Removed the sentence "This function can be called with the system lock held" from Kern::ThreadFromId and Kern::ProcessFromId.
8. SamiraA
1. DEFECT FIX: DEF113630: APIREG:Clearing password for emulated drive does not work always.
DMMCSession::SetupCIMInitStackAfterUnlock() does not set iCardP to NULL anymore
Version 2.00.1734
=================
(Made by MariamSood 13/11/2007)
1. VitalyR
1. DEFECT FIX: DEF113638: Incorrect calculation of composition buffer offset in tvout and display0 driver
2. MINOR_CHANGE: Change comments about "Base_Pixel_Formats.doc" file
3. MINOR_CHANGE: Add Display Driver API and Pixel Formats documentation.
2. SushmitaR
1. DEFECT FIX: DEF113790 Bug in MmuBase::FreePhysicalRam() function
Change in-source comments and remove the test attempting to free from an invalid address in t_ramdefrag
3. DipakA
1. DEFECT FIX: DEF113660: RPIPE::NotifySpaceAvailable() doesn't return the appropriate status value.
Code added in Wait function to mark the handle as Read end (and Write end). Also changed source documentation
for WaitForReader and WaitForWriter. T_pipe updated to verify the same.
4. MArkTa DEFECT FIX: DEF097962: Simulated OOM in RHeap is a point failure
Added new burst failure mechanisms that allow the heap allocations to fail in bursts for all
the existing failure types. Also added new function to return the number of failures so
far.
5. Dennis
1. MINOR CHANGE: Add support for BIOS calls during kernel initialisation phases 0 and 1.
Affects only x86 platform, not ARM or emulator.
Version 2.00.1733
=================
(Made by ParameshwariB 09/11/2007)
1. MiguelB
1. DEFECT FIX: DEF111541: Force Erase times-out if MMC PSL incorrectly implemented
2. JenniferH
1. DEFECT FIX: DEF113356: DBTraceFilter2::New fails in OOM
3. MichaelCox
1. CHANGE REQUEST: Development CR: PHAR-756J5K Kernel, GT0286 Base KnP, Product Usability:
Detecting cleanup stack imbalance when exiting RunL
4. OlegI
1. DEFECT FIX: DEF113720: ksrt2_2 should be a KLIB
2. DEFECT FIX: DEF113718: genexec.pl is not portable
Updated to be compatible with the Unix based build system
3. DEFECT FIX: PDEF113932: Monitor::HandleException (on ARM) passes wrong parameters
5. DjordjeK
1. DEFECT FIX: DEF113779: ARM1176 bug
1176 Errata fix.
6. MichaelCox
1. DEF113793: Filename Policy non-conformance generates build warnings
7. ArchanaH
1. DEFECT FIX: PDEF113772 :Div by 0 possibility it Wins::CalibrateCpuSpeed()
Propogated from INC111126
Added code to improve the calculations made to get real CPU speed.
8. ReubenH
1. DEF113493: Secure Clock does not completely handle integer wrapping
2. DEF113494: Inconsistent capability checking for setting Non Secure Clock offset
3. MINOR_CHANGE: Made small improvement to t_time
9. NeilC
1. DEFECT FIX: DEF111726: <BASE Quality SD> Initialisation - Failure handling of CMD8 is incorrect
2. DEFECT FIX: DEF112574: <BASE Quality SD> Prevent locking if card is PERM_WRITE_PROTECTED
3. DEFECT FIX: DEF113079: <Base Quality SD> Blocklength ASSERT for CPRM Compliance
Version 2.00.1732
=================
(Made by SushmitaR 07/11/2007)
1. TomCosgrove
1. DEFECT FIX: PDEF113635: Not enough licensee keycodes available
Added 8 more of each type of key code (EStdKeyDevice, EStdKeyApplication,
EKeyDevice and EKeyApplication) in e32keys.h. Added appropriate entries to
emulator key mappings in keyboard.cpp, and added EStdKey-to-EKey (scan code
to key code) mappings for the emulator in keymap.cpp.
2. SebO
1. MINOR CHANGE: Update BASE/E32/41 entry in functional spec on Bill's behalf
3. MarkTa
1. DEFECT FIX: DEF113172: Description missing for functions of "Class Kern"
Fix lots of doxygen tagging errors and add any missing documentation.
Also, fix C preprocessor errors with ARM asm version of Kern::ValidateFullName() and fix it as well.
New test code for Kern::ValidateName() and Kern::ValidateFullName().
2. DEFECT FIX: DEF113566: Bug in D_RAMDEFGRAG.CPP
Fix use of TESTDEBUG and add iPageShift for byte to page and page to byte conversions.
4. MiguelB
1. DEFECT FIX: DEF112961: Data abort in ekern.exe::MultiMediaCard0 when card removed during write
Prevent DOmapMMCStack::InterruptDFC() from dereferencing a NULL session pointer
2. DEFECT FIX: PDEF113642: Partition Table Entry will be incorrect for SD cards over 8GB
5. JonCo
1. DEFECT FIX: DEF113545: Bug in ARM_WFIcc, ARM_WFEcc & ARM_SEVcc macro
6. patrickconway
1. DEFECT FIX: DEF112917: t_zip e32test does not build on top of CBR release
7. MichaelCox
1. DEFECT FIX: PDEF112797: MEDSDP can not handle FAT16
For 16GB+ SD cards (which are not yet available!), allow the protected area to
be formatted as FAT16 rather than FAT12
8. RajivM
1. DEFECT FIX: DEF113077: Missing description for TFatUtilityFunctions, SLocaleData, LMessages and Locl
In Source documentation added for TFatUtilityFunctions, SLocaleData, LMessages and Locl.
9. georgiosdementis
1. MINOR_CHANGE: Suppress the output of the H4HRP boards during automatic overnight base team testing.
Version 2.00.1731
=================
(Made by SivashankarN 30/10/2007)
1. TomCosgrove
1. MINOR CHANGE: Fix comment on ELangNone in e32const.h:enum TLanguage (0xFFFF is for
1023 languages * 16 dialects, not just 1023 languages)
2. CHANGE REQUEST: Development CR: PHAR-76CMGU Kernel, GT0326 Base-Nymph, Product Usability: Put TLanguage into it's own header file
Moved TLanguage enum from e32/include/e32const.h to e32/include/e32lang.h.
3. MINOR CHANGE: Fix typos in e32/include/e32btrace.h comments
2. DjordjeK
1. MINOR CHANGE: Enable writes into hard disk on x86pc baseport. Other platforms unaffected.
3. RyanHarkin
1. DEFECT FIX: DEF113395 - updated document to say that we can only use MMC card slot 1
4. MichaelP
1. BREAK REQUEST: BR1960.1 USB Driver PIL API restriction.
The interface between USB PDD (PIL) and USB LDD has been made Symbian internal.
Reclassifying it as @internalTechnology will make it easier to maintain the
interface. Some elements of class DUsbClientController will however remain
@publishedPartner because they are also used by the layer underneath the PIL
(the PSL - the Base port part of the USB driver).
5. SebO
1. DEFECT FIX: DEF112386: missing information in TExcType
2. MINOR CHANGE: Add REQ8591 to Functional Spec
3. DEFECT FIX: DEF112810: Emulator screen not refreshed on initial run for WINS
6. AndrewSmi
1. DEFECT FIX: DEF111733: Run-mode debug: Kernel heap allocation failure not reported by GetList()
2. DEFECT FIX: DEF112909: DSS multi-agent suspend\resume thread support
Modified Debug Device Driver's handling of thread suspension to permit this.
3. MINOR_CHANGE: Add out-of-memory testing capability to t_rmdebug2. This can be configured from t_rmdebug2.mmp.
7. RichardCo
1. DEFECT FIX: DEF112269: T_VFP crashes on ARMv7
Update T_VFP to deal with full ARMv7 VFPv3 specification. Should not affect current platforms.
8. JohnS
1. MINOR_CHANGE: Add WINS & WINSCW metabld scripts for building generic base unistore2 drivers and emulator
specific binaries.
9. MarkTa
1. DEFECT FIX: DEF113174: API reference missing for NKern::LockSystem in developer library
Fix incorrect doxygen tags that were missing a '<' character. Add descriptions for TContext.
Version 2.00.1730
=================
(Made by KaiD 26/10/2007)
1. JonCo
1. DEFECT FIX: DEF112265: DevKit Defects PER Helpdesk 003253: Bug in T_BTB test
2. RichardCo
1. DEFECT FIX: DEF113043: Zone initialization failure for each coalesced boot bank
Initialise the number of coalesced zones, not the original number
3. JenniferH
1. DEFECT FIX: DEF112973: ARM1176 & ARMV7 specific build errors within memory model
4. MariamSood
1. DEFECT FIX: DEF113016: TDriveUnit() does not return error for invalid drive
5. MarkTa
1. MINOR CHANGE - - Add How To Config RAM Defrag document and update functional spec
for PREQ308/REQ6949.
6. HaoJ
1. DEFECT FIX: PDEF112695: Add langauge enums to cover more of the world
Version 2.00.1729
=================
(Made by JohnS 23/10/2007)
1. GayathriR
1. DEFECT FIX: DEF112114: BASE QUALITY USB - Alternate Setting High Speed Bulk EP packet size not 512
2. MarkTa
1. MINOR CHANGE - Fix d_ramdefrag and d_defrag_ref's entry points so they use AsyncClose() to
destroy any DObject based objects.
2. DEFECT FIX: DEF112926: TRK driver calls delete on a DObject in low memory conditions
Ensure that DObject derived objects are closed rather than deleted.
3. AndrewHi
1. DEFECT FIX: DEF100679: (P) MVS App: Playing any audio file at zero volume always plays at constant vol
4. SushmitaR
1. MINOR CHANGE: Ensure that t_ramdefrag adjusts the number of files to create according to the size
of the MMC. Also added test improvements for muliple thread test cases.
5. NavneetS
1. DEFECT FIX: DEF111803:Documentation for TExitType::EExitKill needs improving.
Insource documentation changed in e32const.h for the EExitKill enum .
6. VitalyR
1. DEFECT FIX: DEF112606: Wrong name in pixelformats.h
2. DEFECT FIX: DEF112608: Crash in kernel while GCE tries to operate with displaychannel
7. LukaszF
1. DEFECT FIX:PDEF113533: Baseport build fails in release mode in SOS9.4 Wk38
Version 2.00.1728
=================
(Made by indrajeetsingh 10/10/2007)
1. RichardCo
1. DEFECT FIX: DEF112406: NKern::FMFlash BTrace output has no return address logged
Rewrite NKern::FMFlash and NKern::FlashSystem in assembly so that they can log
better BTrace data. This also slightly improves their performance in all cases.
2. MarkTa
1. MINOR CHANGE: Correct in source comments for SRamZone etc in kernboot.h.
2. DEFECT FIX: DEF111875: TScheduler::Reschedule() Bug in ncsched.cia
Ensure the FPEXC_REG2 and FPEXC_REG3 macros are used when they are required to be.
3. TomCosgrove
1. DEFECT FIX: DEF111913: The emulator doesn't handle PCs with multiple monitors properly
Extend visibility checking to allow emulator window to be restored onto non-primary monitor
2. MINOR CHANGE: Fix typos in e32/include/e32capability.h comments
4. JonathanM
1. DEFECT FIX: DEF112530: T_BTRACE test fails on ARMV6 & ARMV7 platforms
5. JonCo
1. DEFECT FIX: PDEF112671: rom.pl cannot handle no extention files
6. PrashantHG
1. DEFECT FIX : DEF111986 :Error in comment in the Class interrupt : Updated the documentation in assp.h
and interrupt.h for the Interrupt::Bind() function.
7. SushmitaR
1. MINOR CHANGE: Ensure that t_defrag_ref accounts for when the least preferable zone cannot be claimed
2. DEFECT FIX: DEF111951: T_RAMDEFRAG Fails on H2 but only when run as part of an autotest ROM
Ensure that T_RAMDEFRAG is more flexible to different layouts of RAM by checking whether a general defrag should empty any zones.
Other minor test flexibility improvements also added.
8. ReubenH
1. DEFECT FIX: INC112328: S60 5.0 Clock: Time setting is changing by itself
One-line change to Kern::SetSystemTimeAndOffset() ensuring RTC is not written unless the
ETimeSet_SetHwRtc flag is used, even if it's the secure clock being updated.
Version 2.00.1727
=================
(Made by DeleOgunjumelo 04/10/2007)
1. SebO
1. CHANGE REQUEST: CR1068: Screen 0 of WINS emulator should be able to have scroll bars.
2. DEFECT FIX: DEF110282: IMPORT_C/EXPORT_C: KHeapMinCellSize and KHeapShrinkHysRatio
3. DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
2. MiguelB
1. MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
Separate out existing base_e32 component into the following components :
e32\base_e32.mrp
e32\drivers\adc\base_e32_drivers_adc.mrp
e32\drivers\bsp\base_e32_drivers_bsp.mrp
e32\drivers\debug\base_e32_drivers_debug.mrp
e32\drivers\ecomm\base_e32_drivers_ecomm.mrp
e32\drivers\esound\base_e32_drivers_sound.mrp
e32\drivers\ethernet\base_e32_drivers_ethernet.mrp
e32\drivers\locmedia\base_e32_drivers_locmedia.mrp
e32\drivers\media\base_e32_drivers_media.mrp
e32\drivers\trace\base_e32_drivers_trace.mrp
e32\drivers\usbc\base_e32_drivers_usbcli.mrp
e32\euser\base_e32_euser.mrp
e32\ewsrv\base_e32_ewsrv.mrp
N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
Alterations made to the OSD Categories / S12 names of various distribution.policy files to satisfy the new rules.
2. DEFECT FIX: DEF112230: SD stack fails to read SDHC card if controller has no support for CMD6 (Switch)
3. SushmitaR
1. Minor Change: Minor improvments to t_ramdefrag
4. GayathriR
1. DEFECT FIX: DEF111033: USB LDD shouldn't accept negative length parameters
5. HaoJ
1. DEFECT FIX: PDEF110852: No ELangXxx enums for Basque and Galician
Added two enums for supporting Basque and Galician.
6. georgiosdementis
1. DEFECT FIX: DEF108105: Control returns to the wrong place when calling User::Leave
Added a call to an empty function as part of the TRAP implementation.
7. OlegI
1. MINOR_CHANGE: Development CR: BBRE-77DHGN Kernel, GT0326 Base-Nymph, PREQ1700 (Product usability):
Update crash debugger to provide compression option for BTrace data
REQ8392: Kernel: Update crash debugger to provide compression option for BTrace data
Version 2.00.1726
=================
(Made by JonathanM 02/10/2007)
1. JonathanM
1. DEFECT FIX: DEF112382: Header file dependecy problem with RAMALLOC.H
Version 2.00.1725
=================
(Made by LukaszForynski 01/10/2007)
1. MichaelP
1. DEFECT FIX: DEF111566: USBMSAPP shouldn't be built from two different locations
Deleted the H4 target .MMP file (/omap_hrp/h4/usbmsapp.mmp) and changed the
respective file entry in /omap_hrp/h4/rom/kernel.iby to now use the generic
version of USBMSAPP (i.e. 'usbmsapp.exe' instead of '_h4hrp_usbmsapp.exe').
2. DEFECT FIX: DEF112048: USB PDD PIL issues spurious warnings
Changed most KTRACE flags in DUsbClientController::NextDeviceState()
from KPANIC to KUSB.
2. JonCo
1. DEFECT FIX: DEF111941: DP: Obsolete ENABLE_CODE_PAGING flag should be removed
3. indrajeetsingh
1. DEFECT FIX: PDEF109251: t_nandbm fails to run on various platforms
4. MarkTa
1. DEFECT FIX: DEF111952: Some test cases fail on H2 ARM4 builds
Stop t_pagestress from doing alignment checks on ARM4 builds.
Protect against division by zero in t_defragperf when t_defragdll0 is too small.
5. OlegI
1. DEFECT FIX: DEF111391: No documentation for descriptor Collapse() and Expand()
Version 2.00.1724
=================
(Made by MarkTa 26/09/2007)
1. RyanHarkin
1. DEFECT FIX: DEF111491: Fibula: 0xdead data received
2. DjordjeK
1. Minor Change: Document update: Base_How_To_ARMv7_Cache_And_Access_Remapping - Design.doc
3. AndrewSmi
1. MINOR_CHANGE: Run-mode debug test code. Modify t_rmdebug2 test code to
enable running tests individually. Add help (-h) and version (-v) options
to t_rmdebug2.exe command line arguments.
4. MiguelB
1. DEFECT FIX: DEF111721: H2 & H4 MMC interrupt handler may compile incorrectly
5. MarkTa
1. MILESTONE: Naiad, GT0302, MS3.5.2 DS503 PREQ308 - Defragment physical RAM.
- Addition of the RAM zone concept.
- New APIs to allow RAM to be physically defragmented, either all of RAM or a
specified RAM zone.
- Updated H4 base port to show how to potentially use RAM zones to save power
and allow a large physically contiguous buffer to be obtained without having to
reserve it from the rest of the system.
- Update H2 base port to stress the RAM zone code.
Version 2.00.1723
=================
(Made by DmitryL 11/09/2007)
1. ReubenH
1. MINOR_CHANGE: Adding BTrace documentation for EHeap category
2. MiguelB
1. DEFECT FIX: DEF111103: IPR errors in base_e32test
3. MichaelP
1. DEFECT FIX: DEF111395: USB PIL wrongly resets endpoint data toggles
Removed calls to ResetDataToggle() from some PIL functions such that it now
only gets called for the relevant endpoints in InterfaceSetTeardown() (plus
of course for a CLEAR_FEATURE(ENDPOINT_HALT) request).
4. Yogesh Chauhan
1. DEFECT FIX: DEF110633: Warnings generated with checksource build
5. JonathanM
1. DEFECT FIX: PDEF111465: No API to determine VID from DThread
6. JonCo
1. DEFECT FIX: PDEF111457: Kernel exception during NThreadBase::Kill
7. NeilC
1. DEFECT FIX: DEF111080: <Base Quality SD> Initial Clock speed value not checked
2. DEFECT FIX: DEF111081: <Base Quality SD> Data Transfer Clock speed value not checked - PSL
3. DEFECT FIX: DEF111082: <Base Quality SD> Data Transfer Clock speed value not checked - PIL
8. VitalyR
1. DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
2. MINOR_CHANGE: TI H4 baseport version 9.61 for LCD.
3. MILESTONE: Oghma, GT0302, MS3.13 DS697 CR0978: LCD Driver update to support off-screen image buffer.
Version 2.00.1722
=================
(Made by OlegI 04/09/2007)
1. OlegI
1. DEFECT FIX: PDEF111121: Messaging SBTM (3SK): H4 crashes as I open messaging while OOM
2. SebO
1. DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
2. DEFECT FIX: DEF110299: __ARM_scalbn should be declared IMPORT_C.
3. AndrewSmi
1. DEFECT FIX: DEF109608: Debug namespace (rm_debug_api.h) comment problems
2. DEFECT FIX: DEF110096: Run mode debug: KRomImageDebuggable constant in e32rom.h should be @released
3. DEFECT FIX: DEF110837: Run mode debug - warnings produced when compiling on unsupported platform
4. MINOR_CHANGE: Add test case identifier comment for CRunModeAgent::TestDllUsage
Version 2.00.1721
==========================
(Made by ReubenH, 29/08/2007
1. JonCo
1. DEFECT FIX: DEF110944: Precondition checks going off in the crash debugger
2. DjordjeK
1. DEFECT FIX: DEF111169: [System Build]:CBR Errors and warnings in M04329 v9.4 and M04329 v9.5
2. Minor Change: Support for Network Boot on X86 platform.
3. Radhakrishnanramanat
1. DEFECT FIX: DEF109461: NKern::FSWait does include not holding a fast mutex as a precondition
Added precondition to check holding fast mutex.
4. ArchanaH
1. DEFECT FIX: DEF109992: t_boottime.cpp needs the changes to free LDD
Added code to check for the error code while loading the driver and to free the driver.
5. RaghavendraB
1. DEFECT FIX: DEF109703: [SITK v1.0] Warnings generated with checksource build.
6. MArkTa
1. DEFECT FIX: PDEF110872: SDK/S60 3.2/C++CW/W: interfaces_kernel_EKA2 API defects (WL)
Remove unimplemented methods, euser-7.0 build files and hal_gcc_shim
Version 2.00.1720
==========================
(Made by JonCo, 15/08/2007
1. NeilC
1. DEFECT FIX: DEF109913: Blocklength ASSERT to ensure SD Compliance
2. DEFECT FIX: DEF109914: Incorrectly setting KMMCOCRBusy for ACMD41
3. DEFECT FIX: PDEF110281: Formatting SD Card Protected Area - Format Unit Size is incorrect
2. JonCo
1. DEFECT FIX: DEF109799: The text window server doesn't handle the cursor properly
2. DEFECT FIX: DEF110323: DP: Code paging leaks address space
3. CR1170: Enable code paging without ROM paging
4. PDEF109414: Documentation for DPlatChunkHw::New is incorrect.
3. SivashankarN
1. DEFECT FIX: DEF107478: [v9.4,v9.5] {Fix Dev Branch} Kern::RequestComplete with deleted DThread in ~DMsgQueue
4. NicholasC
1. MINOR_CHANGE: Fix Compiler error from DEF109913
5. JonathanM
1. DEFECT FIX: DEF110538: DP: System crash in demand paging code
2. DEFECT FIX: DEF110897: DP: Memory leak if DDemandPagingLock is freed twice.
3. DEFECT FIX: DEF110290: Various BTrace bugs
Detailed description...
1. Priming of EChunks category give incorrect memory allocation for chunks
because the 'page bitmap' it uses also contains guard pages which don't
have any RAM commited.
Solution: Change prime implementation to walk page tables to determine
which memory is actuall committed to the chunk.
2. The memory memory used for File System Caching is double counted, because
it is both commited to the chunk and counted in the 'free ram' size.
Solution: Issue EChunkMemoryDeallocated for pages which are unlocked
and EChunkMemoryAllocated when they get locked again. This makes File
System Cache chunk appear as not using RAM. (Which is correct as the
RAM is counted as 'free' by the system and available for other use.)
NOTE: The fix for bug 1. also fixes the prime data for the file cache
chunk.
3. Missing physical ram allocation bookkeeping and traces
(EKernelMemoryDrvPhysAlloc):
- MmuBase::Init2 should account for ram banks reserved by the bootstrap.
- Epoc::ClaimPhysicalRam should behave as Epoc::AllocPhysicalRam.
4. The memory usage for CodeSegments needs to be output when ECodeSegs
category is primed.
5. The use of memory by the kernel as reported by EKernelMemory traces is
incorrect.
Solution: Add extra book-keeping to the kernel so it updates the new
variable Epoc::KernelMiscPages whenever it allocates or frees memory which
doesn't belong to a chunk.
6. Traces for EKernelMemoryDrvPhysAlloc output size and physical address in the
wrong order.
7. Traces for EKernelMemoryDrvPhysAlloc and EKernelMemoryDrvPhysFree should
contain the size of RAM actually allocated, not that requested. I.e. sizes
should be rouded up to a page size.
8. C++ version of the reference BTrace handler in BTracex doesn't output
Timestamp2.
Solution: Output NKern::TickCount() value if Timestamp2 requested.
9. It's not possible to distinguish between two different processes which have
the same trace id. (As happens when a new process is created at the same
address as a previous terminated process.)
Solution: Add EProcessCreate and EProcessDestroy traces to trace category
EThreadIdentification, and output these traces when a process is created or
destroyed; also when trace category EThreadIdentification is primed.
10. It is not possible to associate a chunk with the process which owns it.
Solution: Add new EChunkOwner trace to EChunks trace category and output
this whenever a EChunkCreated trace is output.
11. Cpu usage trace analysis can be made easier by outputting a
ENewThreadContext trace when trace category ECpuUsage is primed.
12. The EMetaTrace category should be automatically enabled at boot if any
BTrace category is enabled. This makes trace-from-boot consistant with use
of BTRACE.EXE.
13. After using BTRACE.EXE to dump the contents of the trace buffer, the buffer
is empty, therefore any subsequent dumps will lack important state
information.
Solution: After dumping the buffer, 're-prime' all trace categories which
are enabled.
14. BTRACE.EXE can report 'bad command line argument' when trying to set
filters, e.g. with '-f3'.
Solution: Set 'r' to true in the case 'f' line.
15. Insufficient test code for checking kernel BTrace data output.
Solution: Add a trace analysis tool to E32UTILS testing purposes.
16. It is not possible to obtain the contents of the trace buffer once the
system has crashed.
Solution: Extend BTrace APIs to include the ability for the BTrace driver
to register a 'control' function, (see enum BTrace::TControl etc.).
These APIs enable the crash debugger to obtain the contents of the trace
buffer and dump them through the debug UART.
6. AndrewSmi
1. DEFECT FIX: DEF109517: PREQ1426 : Run Mode Header can result in libraries with static data
2. DEFECT FIX: DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCL
Added new test case to validate this defect and DEF109517 which depends on this fix.
7. MichaelP
1. DEFECT FIX: DEF110413: USB Inline Header File uses potentially wrong Enums
Changed 'EThread' into 'NKern::EThread' in e32/include/drivers/usbc.inl.
8. colinward
1. DEFECT FIX: DEF109258: halcfg.pl - missing usage function
9. ArchanaH
1. DEFECT FIX: DEF109381 : Documentation on thread naming needs updating.
2. DEFECT FIX: DEF109382 : Documentation on Server naming needs updating.
10. DennisM
1. MINOR_CHANGE: Move some definitions in e32keys.h from internal to @publishedPartner.
This change is done to assist Symbian in washing its hands of Java.
Version 2.00.1719
==========================
(Made by MariamSood, 08/08/2007
1. Gayathriramachandra
1. DEFECT FIX: PDEF109906: T_SERIAL: TestFirstDelayedWrite called before the ports have been configured
2. MiguelB
1. DEFECT FIX: DEF109787: NAND Media driver is a bit inefficient when reading
2. DEFECT FIX: DEF110049: Combining a V3 & V4 MMC card on the same bus sets the bus width to 4
3. MINOR CHANGE: Change MmcTest to decode MMC/SD serial number
4. DEFECT FIX: PDEF109903: Formatting SD card protected area is unacceptably slow
5. DEFECT FIX: DEF109989: PER03138 __ASSERT_DEBUG macro bug in MEDMMC.CPP
3. markhambleton
1. CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered
during the SMP prototype development phase
2. MINOR CHANGE: Add missing ditribution.policy files.
3. MINOR CHANGE: Fix BC break with RotateReadyList.
4. AndrewHi
1. DEFECT FIX: PDEF110164: Compiler error in d32locd.h
5. MichaelP
1. DEFECT FIX: PDEF110078: Classes are not fully initialized by the constructor.
Made sure that USB classes which are shared between kernel- and user-side
are fully initialized with the same valid values across all 9.x releases.
This affects classes TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
TUsbcClassInfo, and TUsbcInterfaceInfo.
6. lukaszforynski
1. DEFECT FIX: DEF109292: added conditional creation of epoc.ini depending on run argument. (wintest.bat)
Changed initialisation for non SSR Nand Driver Type (estartmain.cpp)
7. Yogesh Chauhan
1. DEFECT FIX: DEF109387: TMappingAttributes not fully documented.
Added in-source documentation for TMappingAttributes.
Version 2.00.1718
==========================
(Made by NeilC, 02/08/2007)
1. DjordjeK
1. DEFECt FIX: PDEF109804: DSharedIoBuffer::New() caused panic in the case of no memory.
In Out-Of-Memory condition, Kernel may have crashed when SharedIO is created.
2. SebO
1. DEFECT FIX: DEF107996: Warnings generated with checksource build.
Made paths in .mmp and bld.inf's consistant with file system.
3. fabiangortz
1. CR0904: Remove hardcoded references to C:
(production code)
4. DipakA
1. DEFECT FIX: DEF109997: aOffset description missing in document lib for Kern::ThreadDesRead API.
Version 2.00.1717
==========================
(Made by ParameshwariB, 24/07/2007)
1. ReubenH
1. CR1050: New BTrace instrumentation for Heap & Kernel memory analysis.
2. DEFECT FIX: INC108593: Setting secure clock requires TCB capability
User-mode secure clock APIs were wrongly documented as requiring WriteDeviceData + DRM. This was changed to
TCB + WriteDeviceData at the last possible minute, but the documentation was not updated until now.
2. MarkTa
1. DEFECT FIX: DEF107589: Problem with the context switching implementation
Add new macros that allow the only the coprocessor registers required to be saved on the stack
on a context switch. No longer relies on EXTRA_STACK_SPACE but uses the real coprocessor macros.
3. georgiosdementis
1. DEFECT FIX: PDEF109322: t_chunk doesn't test allocation of 1024th page table(moving model)
Spawn a new process that allocates more chunks.
Version 2.00.1716
(Made by JohnS, 16/07/2007)
1. RaghavendraB
1. DEFECT FIX: DEF108961 : template_variant can't build variant_user.mmp.
2. ArchanaH
1. DEFECT FIX: DEF108618: Minor issues in crash debugger
Updated the code to dump IRQ and FIQ stacks after all thread stacks are printed.
3. NeilC
1. DEFECT FIX: PDEF109377: <BASE Quality SD> SIZE_OF_PROTECTED_AREA incorrectly calculated for SDHC cards
4. MarkTa
1. DEFECT FIX: PDEF109159: RamCacheBase::ReturnTo System holds system lock when freeing RAM page
Update RamCacheBase::ReturnToSytem to release the system lock before call the ram allocator.
Also, remove some of the system lock flashing that occurs when ReturnToSystem is invoked.
2. MINOR CHANGE: Add missing export to eabi/euser.def.
5. MichaelP
1. DEFECT FIX: DEF109088: BASE QUALITY USB - SetInterface for invalid default setting
Corrected the interface number that is passed into CheckEpAvailability() in
function DUsbClientController::SetInterface().
Version 2.00.1715
==========================
(Made by SushmitaR, 10/07/2007)
1. RaghavendraB
1. DEFECT FIX: PDEF108984: In source comments seem misleading in kern_priv.h.
2. Viral Trivedi
1. DEFECT FIX: PDEF107149: User::RenameProcess: incorrect return code description if process name is same
Modified insource comments to match the implementation (i.e. Returns KErrNone if the new and old (to be renamed) process names are identical).
Version 2.00.1714
==========================
(Made by AndreasP, 04/07/2007)
1. MiguelB
1. DEFECT FIX: PDEF108206: CMD8 is sent with wrong response type: R1 instead of R7
Added R7 to TMMCResponseTypeEnum.
Changed TMMCMachineInfo to support new flag - ESupportsR7. The PSL layer MUST SET THIS BIT IF IT SUPPORTS R7
Changed CommandTable in session.cpp so that CMD55 & CMD56 have class KMMCCmdClassApplication.
Changed DSDStack::InitialiseMemoryCardSM() so that it sends CMD8 with response type BCR. For CMD8, ERespTypeR7 is written to the
iResponseType member variable of TMMCCommandSpec, if the PSL indicates support for the ESupportsR7 bit, otherwise it writes ERespTypeR1.
Changed initialisation order in DSDStack::InitialiseMemoryCardSM() so that ACMD41 is send after CMD8 rather than before, to comply with the SD 2.0 spec.
2. DEFECT FIX: PDEF108721: H4 MMC Inactivity timer fires in interrupt rather than DFC context
Changed iInactivityResetTimer to fire in DFC context. Added a debug-assert to DMMCStack::UnBlock() to make sure Unblock() is not
called in interrupt context unless the KMMCSessStateDoDFCflag is set.
2. MichaelP
1. MINOR_CHANGE: USB API Document: Added note regarding standards compliance
when changing interface numbers to section 4.8.5 "Interface Descriptor";
upped document version to 3.0.6.
Version 2.00.1713
==========================
(Made by AndrewHi, 29/06/2007)
1. PeterS
1. DEFECT FIX: DEF108400: FAULT: WinsSoundScPdd 0x000002da (730) panic from Multimedia alloc tests.
2. StefanW
1. DEFECT FIX: DEF105363: KErrCorrupt - while reading a file content which is available in MMC Card
H4 supports a maximum data transfer length of 1M. Added support in TMMCMachineInfo to allow the
PSL to specify if such a limitation exists, allowing the media driver to split up the transfer.
3. AndrewHaigh
1. MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426 - Finalise run-mode debug driver including speculative Thumb2 debug support.
2. DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
3. DEFECT FIX: PDEF107500. Board Crash when Reading Thread List from Debug Security Server.
4. DEFECT FIX: DEF107833. PREQ1426 - Listing information not present in Debug Functionality block.
4. MarkTa
1. MINOR_CHANGE: Remove @prototype tags from KDriveAttPageable, KMediaAttPageable and DefaultHash::Integer()
as not allowed to have @publishedAll APIs left as @prototype.
5. AndrewHi
1. DEFECT FIX: DEF107786: Miss use of #else preprocessor directive
Modified files in Base subsystem to conform to preprocessor rules
6. ReubenH
1. DEFECT FIX: INC108121: Time setting is changing back to original time by itself after time is changed
Applied critical patch to kernel\stimer.cpp for hardware where NOS 'owns' the hardware clock and
goes into an interrupt-driven infinite loop if SymbianOS kernel writes to it.
Version 2.00.1712
==========================
(Made by JonCo, 26/06/2007)
1. ArwelH
1. DEFECT FIX: PDEF108259 Kern::MutexCreate's aMutex argument is documented wrongly
2. DennisM
1. MINOR_CHANGE: Made T_SOUND_API and T_SOUNDMCHAN 'support' tests on the
emulator since the shared chunk sound driver has been observed to freeze
the emulator during testing. Defect DEF108303 has been raised on account
of this.
3. MariamSood
1. DEFECT FIX: PDEF108283: iBusWidth of TSDcard is not initialized.
This results in iBusWidth to hold an incorrect value after a Powerup/IDLE state.
2. MINOR_CHANGE: Added documentation for BusWidth() and SetBusWidth() member functions of TSDCard class.
4. Vyshnavyk
1. DEFECT FIX :DEF105914 : euser.mmh should check for __CPU_HAS_VFP.
Added a macro check for __CPU_HAS_VFP in all the files checking for the macro __USE_VFP_MATH.
5. ArchanaH
1. DEFECT FIX: PDEF107454 : Debug monitor dump command should read using alignment .
Updated the code to read using alignment.
6. OlegI
1. MILESTONE: Naiad,GT0326 MS3.11 DS 718 CR1098: NTimer::OneShot that takes a TDfc to queue on completion
CHANGE REQUEST: CR1098: NTimer::OneShot that takes a TDfc to queue on completion
2. DEFECT FIX: DEF107280: Engineering document states that Symbian does not support demand paging
3. DEFECT FIX: PDEF108368: Kernel precondition break happens on Lubbock
4. DEFECT FIX: PDEF108367: In t_chunk.cpp, RTest::Start() does not match RTest::End()
5. DEFECT FIX: PDEF108497: KMaxOsName has been renamed KMaxProcessName
7. MichaelP
1. MINOR_CHANGE: Added two KTRACE printfs to USB driver to aid debugging.
Version 2.00.1711
==========================
(Made by VincentF, 13/06/2007)
1. SebOlney
1. DEFECT FIX: DEF107331 DMMCSession::RequestMoreData() tagging incorrect.
Removed unnecessary tags for DMMCSession::RequestMoreData() in mmc.h and mmc.inl
2. DEFECT FIX: DEF107342 TMMCCommandDesc::BufferLength() is @publishedPartner but has no description
Added method description
2. AttilaV
1. DEFECT FIX: PDEF107138 Kern::NanoWait(n) blocks 2*n nanoseconds
Added new test T_NANOWAIT to measure NanoWait() blocking time
3. MiguelB
1. DEFECT FIX: DEF108024: Closing H4 MMC DMA channel can trigger an assert
Set iRxChannel / iTxChannel to NULL in DOmapMMCDmaRx::Close() / DOmapMMCDmaTx::Close()
to prevent a debug-assert on a subsequent call to TDmaChannel::CancelAll().
Version 2.00.1710
==========================
(Made by MiguelB, 06/06/2007)
1. MichaelP
1. MINOR_CHANGE: Updated USB Porting and Test How-To Document to version 3.2.1.
2. DEFECT FIX: PDEF107581: E32Test t_usb does not alter and check payload
Changes made to T_USB and USBRFLCT to put the 32 bit packet number that is
incremented for each transmission as the first four bytes of each data payload.
This is checked by the receiving application and if it is not as expected
(1 more than the previous packet number) then an error message is displayed
and the expected packet number is changed to match the received packet number.
3. DEFECT FIX: DEF107620: USB LDD shouldn't allow duplicating of channel handle
Override virtual DObject::RequestUserHandle() in class DLddUsbcChannel such
that attempts to duplicate the channel handle via RDevUsbcClient::Duplicate()
will result in KErrAccessDenied being returned.
4. DEFECT FIX: DEF107651: USB PDD: GET_DESCRIPTOR fails for large configurations
Increased Ep0 Tx buffer size in the USB PDD PIL from 1KB to 64KB (the largest
amount a GET_DESCRIPTOR can request).
2. JonCo
1. DEFECT FIX: DEF106817: multimedia test case still exhausting windows TLS indicies
Added windows entrypoint to all DLLs so it can perform CodeWarrior runtime libary cleanup
3. DjordjeK
1. DEFECT FIX: DEF107030: Workaround required for ARM1136 Errata 411920 and 415662
It affects code that (almost) never executes.
2. DEFECT FIX: PDEF106326: DevLib needs description to warn of an usage of Kern::RequestComplete( )
In-sourse documentation update only.
4. Peters
1. DEFECT FIX: DEF106857 New Sound Driver-Issue with pausing recording when no outstanding requests.
2. DEFECT FIX: DEF107379 New Sound Driver: DSoundScLdd should not be publishPartner.
3. INTERFACE CHANGE: BR2127.2 DSoundScLdd and associated symbols should not be publishPartner.
5. JonathanM
1. MINOR CHANGE: Fixed E32TEST T_DEMANDPAGING to make it more robust.
The change excludes the code of the test program itself when checking writing
to paged ROM. Without this change it was possible for the test program execution
to change the state of a ROM page being tested.
6. RichardCo
1. DEFECT FIX: DEF107503: IPC alias memory does not get domain initialised correctly
7. JohnS
1. MILESTONE: Sphinx,GT0339,MS3.1.1 Support FAT on <90nm flash devices (part 1)
INTERFACE CHANGE: BR2083 Peripherals: Move base_wins component source from
base\wins to base\emulator\wins
8. SimonT
1. MINOR CHANGE: mass update of missing SYM_BRANCH comments in OMAP H4 HRP
BSP to mark differences for conflict resolution.
9. AndrewSmi
1. MILESTONE: Nutmeg, GT0332, MS3.7 PREQ1426 - Initial submission of run mode debug driver and security server
10. Yogesh Chauhan
1. DEFECT FIX: DEF105784: RHeap::Size is incorrectly documented as returning the bytes commited
11. MiguelB
1. DEFECT FIX: DEF107699: estart.txt file incorrectly enables noth NOR and NAND drives on H4
Version 2.00.1709
==========================
(Made by SushmitaR, 30/05/2007)
1. MichaelP
1. DEFECT FIX: DEF107194: USB Client PDD: CancelWrite(0) doesn't work
DUsbClientController::CancelWriteBuffer() didn't take into account that the
USB LDD uses endpoint number '0' for both directions of Ep0.
2. ArwelH
1. DEF105786 RProcess::Terminate()/Kill() documented needed capabilities not correct
3. MiguelB
1. DEFECT FIX: PDEF107283: TTG:<just after the time on inserting MMC/SD, MMC/SD cannot be recognized>
4. OlegI
1. MINOR_CHANGE: Updated Functional Specs for REQ7124
5. NeilC
1. DEFECT FIX: PDEF107214: TTG:<e-shell cannot read or recognize ELECOM SDHC 4GB Class4>
2. DEFECT FIX: PDEF107251: Instantiation of second SDIO socket should succeed
6. Vyshnavyk
1. DEFECT FIX:PDEF107137: Euser does not compile with FPU in compiler flags
Tested by enabling the FPU within the EUSER.MMP file using OPTION ARMCC --fpu=vfpv2,
And have made changes accordingly to the UC_REALX.CPP file.
7. JonCo
1. DEFECT FIX: DEF107196: Ipc copy of code-paged data that isn't word-aligned causes fault
8. MarkTa
1. DEFECT FIX: PDEF106928: TSecurityPolicy function is not exported
Make overload of TSecurtityPolicy::CheckPolicy that creates list of missing polices,
@internalComponent to remove it from the developer library.
Version 2.00.1708
==========================
(Made by JenniferH, 23/05/2007)
1. MichaelP
1. MINOR_CHANGE: Changed a debug printf in the USB LDD from an error message
to an informational one.
2. MINOR_CHANGE: Update of the USBIO host test driver from version 2.30 to 2.41,
which, among other things, adds MS Windows Vista support:
Recompiled usbrflct.exe against the new driver, provided new versions of the
driver binaries (usbrflct.sys and usbrfl98.sys) + updated the INF files.
3. MINOR_CHANGE: Added testing of class-specific (CS) Endpoint descriptor
manipulation to USB unit test T_USBAPI.
2. OlegI
1. MILESTONE: Oghma, GT302, MS3.8, DS.543 Base: GNU Make-based build system
PREQ1182 GNU Make-based build system
REQ7124: Base: extension makefile changes and filename compliance
3. RaghavendraB
1. DEFECT FIX: PDEF106635: RMessagePtr2::Panic can itself panic with USER 23!
4. DanH
1. DEFECT FIX: DEF106876: Missing utility to exercise DPTest API
Added a console application (dptestcons.exe) that links to dptest.dll and provides command line
access to all the functions in DPTest. Added an oby file containing both dptest.dll and dptestcons.exe,
and exported this to \epoc32\rom\include\.
5. Yogeshchauhan
1. DEFECT FIX: DEF105782: DKernelEventHandler has been marked as @interim since 9.1
Replaced @interim with @released
6. Radhakrishnanramanat
1. DEFECT FIX: PDEF106866: DProcess::Rename has a defect when renaming a process to the same name
Added new method BaseName(n) to Dobject class (Non virtual and not exported).
This method will be called by DProcess::Rename(). Modified T_proc1.cpp to test rename the process with same name.
7. DipakA
1. DEFECT FIX: PDEF106923: Support for RPipe::WaitForWriter and re-alignment of RPipe def files.
RPipe::WaitForReader and RPipe::WaitForWriter API added. DEF file regenerated for re-alignment.
t_pipe.cpp updated with new test cases.
8. FionntinaC
1. DEFECT FIX: PDEF102484: BaflUtils::NearestLanguageFile() to use new HAL attr for custom resource drive
New HAL attribute ECustomResourceDrive added. This is intended for use by BAFL in determining if an additional
drive needs to be included in the search algorithm for language files.
(BR2038.2 Kernel: Deprecate HALData::ESystemDrive and introduce a new attribute for BaflUtils::NearestLanguageFile
to use)
9. ArunachalamR
1. DEFECT FIX: PDEF107023: Applications with caption over 80 characters in length crash
(Propagated from INC106000: Applications with caption over 80 characters in length crash and applied the same fix)
Maximum allowable name length for any kernel object is 80, so User::RenameThread panics
if the name is more than 80 characters. Updated function description to reflect the same.
10. AndrewHickman
1. DEFECT FIX: PDEF107131: Incorrect search results when searching with asterisk at the beginning of searc
When searching files using asterisk at the beginning and questionmark at the end, the search
stops too early. For example if searching file named 'jpg_picture.jpg' with the string *jp?
the search doesn't find the file, because it stops handeling the file after 'jpg_' which
isn't a match.
Changes to TCollate::Match() in collate.cpp
Added new tests to existing in t_match.cpp
Version 2.00.1707
==========================
(Made by SamiraA, 17/05/2007)
1. ArunachalamR
1. DEFECT FIX: PDEF106335: TCSD::ReadBlockLength() implementation is inconsistent with MMC functional spec
(Propagated from DEF105501 and same fix is applied)
TCSD::ReadBlockLength( ) is modified to validate and support Read Block Length based on the Card Specification Version.
2. MichaelP
1. DEFECT FIX: DEF106254: Device descriptor information bMaxPacketSize0 conflicts with iEp0MaxPacketSize
Changed USB PSL constant KEp0MaxPktSzMask, which is the value reported to
the higher layers, from KUsbEpSize16 to KUsbEpSize64. This affects both the
H2 and the H4 full-speed USB drivers.
2. MINOR_CHANGE: USB API Document: Corrected description of Control transfer
handling on Ep0 in section 3.3; upped document version to 3.0.4.
3. MINOR_CHANGE: Added testing of class-specific (CS) Interface descriptor
manipulation to USB unit test T_USBAPI.
3. DjordjeK
1. MINOR_CHANGE: In-source documentation for User::IMB_Range updated
4. PeterS
1. DEFECT FIX: DEF105033: New sound driver - Sound heard with new driver is less than the old driver.
5. Vyshnavyk
1. DEFECT FIX: DEF105786 : RProcess::Terminate()/Kill() documented needed capabilities not correct.
Updated the capablity section of the in-source documentation for Kill(), Terminate() & Panic()
functions of RProcess class
6. Kamrann
1.MINOR_CHANGE: Updated functional specification to reflect the delivered Oghma REQ for PREQ1389
7. AndreasP
1. MINOR CHANGE: Fixed illegal IM tags
8. MiguelB
1. PDEF106752: Error in processing HEADER.IBY files
Changed "#else if defined(USE_MMC)" to "#elif defined(USE_MMC)" to keep tools happy
9. JenniferH
1. DEFECT FIX: PDEF106846: RCondVar documentation fails to mention priority inversion
Version 2.00.1706
===============================
(Made by MichaelMo, 09/05/2007)
1. DjordjeK
1. DEFECT FIX: PDEF105690: Kernel IPC problem - incorrectly fails with KErrBadDescriptor
This defect caused aliases to fail randomly.
2. MichaelP
1. DEFECT FIX: DEF105752: Semicolon at the end of "if" statement in usb dma driver
2. MINOR_CHANGE Removed #include <platform.h> from e32\include\drivers\usbc.h,
as it's not needed.
3. DEFECT FIX: DEF106263: Ep0 seems unstable when USB Host selects alternate interface
The USB LDD no longer cancels pending Ep0 transfers in
DLddUsbcChannel::ResetInterface(), also the LDD now sets up an Ep0 read upon
the user calling RDevUsbcClient::SetDeviceControl().
3. NeilC
1. DEFECT FIX: PDEF104933: Multi socket SDIO initialization error.
4. JonathanM
1. MINOR CHANGE: Fixed a couple of typos in the example code in Base_How_To_Shared_Chunk.doc
2. MINOR_CHANGE: Modified E32TEST T_XXVER2 to cancel lazy DLL unloading - without this it cannot be be run standalone.
5. PeterS
1. DEFECT FIX: DEF104278 New sound driver - partial buffer captured prior to pausing is lost.
2. MINOR CHANGE: Minor changes to T_SOUND2 to improve coverage when playing short requests.
6. MariamGeorge
1. DEFECT FIX: DEF104508: T_MMCDRV - fails extended read/write tests (potential problem in MEDMMC)
A memory write intended to flushout driver's buffers was in fact writing into the memory under test.
T_MMCDRV test code is modified to correct this erroneous behaviour.
7. AndreasP
1. MILESTONE: GT302.313 MS3.10 PREQ1089 - Process Monitoring and Re-launch Service
REQ7364 Peripherals: Restarting the hardware platform
8. ReubenH
1. DEFECT FIX: DEF105938 Secure Clock setting uses wrong capability
9. JonCo
1. DEFECT FIX: DEF106123: processes crash with MemModel 6 panic on emulator.
2. DEFECT FIX: PDEF106164: rom.pl doesn't allow patching of constants in kernel or drivers
10. ArunachalamR
1. DEFECT FIX: PDEF105149: mmctest fail with KErrArgument when trying to write to a sector (SD card/size2G)
Modified source code to get correct write block length using TSDCard::MaxWriteBlLen( ) for SD Card.
The CSD for > 2GB incorrectly returns the WRITE_BL_LEN field so by calling MaxWriteBlLen it will tune it down to 512 Bytes.
11. NeilC
1. DEFECT FIX: PDEF105669: Access failed after SDIO Inactivity timer expired.
12. RaniSuneelaM
1. MILESTONE: GT0350, MS3.1 DS542 PREQ1212
Added tutorial reference drivers phase-1 and phase-2
Version 2.00.1705
==========================
(Made by JonCo, 24/04/2007)
1. MarkHambleton
1. DEFECT FIX: DEF100592: TRawEvent::EInactive/EActive events sent when emulator window loses
Changed behaviour so that event is sent when window is minimised rather than losing focus.
2. MINOR CHANGE: Update metabld scripts used for building private dev roms to support new tools.
2. JonathanM
1. MINOR CHANGE: Removed unused internal function: ArmMmu::LinearToPhysical(TLinAddr, TInt, TInt&, TInt&)
3. ArunachalamR
1. DEFECT FIX: PDEF104712: T_DMA test fails because unexpected fragment count.
New enum flag value is defined in e32\include\drivers\dma.h and
e32test\dma\d_dma.cpp is modified to pass on this to request a different max transfer size for test purposes.
4. MariamGeorge
1. DEFECT FIX: PDEF103863: SD Card Protected area driver no longer gets destroyed at power
5. JonCo
1. DEFECT FIX: PDEF105218: multimedia test case popup window problem
2. MINOR_CHANGE: Added comment to unsafe RRegion constructor
6. DjordjeK
1. DEFECT FIX: PDEF105295: ODP - CSessionLoader::ServiceL leaves object on cleanup stack
7. ReubenH
1. Requirements: PREQ1266: Secure clock
Version 2.00.1704
==========================
(Made by AndrewHi, 16/04/2007)
1. MiguelB
1. DEFECT FIX: PDEF104309: SD2 stack init sequence doesn't comply with SD2 spec
Changed init sequence to ensure that CMD8 is issued prior to ACMD41 as dictated by the spec.
2. DEFECT FIX: PDEF104854: Default bus width after GO_IDLE(CMD0) have to be 1 bit
Changed DMMCStack::GoIdleSM() state machine to set bus width to 1 after CMD0 to comply with spec.
2. SimonT
1. DEFECT FIX: DEF104086: Base USB Mass Storage App sends invalid Serial
Number. This changes both of the USB drivers on H4 so that they
generate a unique serial number for the platform in the string
descriptor. The value is taken from GetSerialNumber() on the H4
variant, a simple implementation initialises SetSerialNumber() with the
low bits of the MAC address.
3. MarkHambleton
1. DEFECT FIX: PDEF104588: Loading dll repeatedly fast causes Symbian OS Fatal Error
Fixed race condition in emulator when loading a driver could find an old handle.
4. ArchanaH
1. DEFECT FIX: DEF103043: Arch and Asic interfaces undocumented.
Updated insource documentation.
5. JonathanM
1. MINOR CHANGE: Update in-source comment for NTimerQ::iRounding.
This applies the correct classification of @publishedPartner and describes its
intended use:
This member is intended for use by ASSP/variant interrupt code as a convenient
location to store rounding error information where hardware interrupts are not
exactly one millisecond. The Symbian kernel does not make any use of this member.
6. MarkTa
1. DEFECT FIX: DEF104851: Need to implement partial workaround for ARM erratum 408022
Add nop before writes to CONTEXTID register that could occur after a branch
7. JasdeepSawhney
1. MILESTONE: GT329 System Libraries (Oghma), MS3.17 DS.652 CR1080 - Partial Upgrade to Unicode 5.0 for Brahmic Script Support
Change Requests:
CR1080 Partial Upgrade to Unicode 5.0 for Brahmic Script Support
Configurability and Compatibility:
Non configurable. No compatibility issues
8. AndrewHi
1. MINOR_CHANGE: Updated romnandtechviewh4hrp.oby to support testing for boot from NAND.
Version 2.00.1703
==========================
(Made by VincentF, 03/04/2007)
1. StefanW
1. MILESTONE: GT0302 Base Elatha (Oghma), MS3.4 DS487 PREQ1389
Added support for High-Speed SD Cards and MMC Double-Buffering. High-Speed SD cards now
automatically detected and configured, supporting data transfer rates of up to 25MB/s.
Double-Buffering is enabled by specifying the following flags in DMMCStack::MachineInfo()
TMMCMachineInfo::iFlags |= ESupportsDoubleBuffering;
Two new API's added to facilitate double-buffered data transfer:
TUint32 TMMCCommandDesc::BufferLength()
...reports the size of the currently active buffer, and:
TBool DMMCSession::RequestMoreData()
...requests the next blocks of data to be prepared by the media driver. This would typically be called
while hardware is transferring the previously supplied buffer, allowing the media driver to copy data
to/from the client in parallel with hardware transfer. While preparing the next data transfer, the
MMC stack shall be blocked on the KMMCBlockOnMoreData blocking condition, so following a request for
more data the PSL must wait using an SMF_WAITS state. When data is ready, the stack is unblocked and
the current command descriptor shall contain details of the new buffer.
2. DEFECT FIX: DEF103582: TMMCard::DeviceSize64 Overflow with 8G MMC Card
Fixed overflow in device size calculations to allow correct capacity to be returned.
2. ArunachalamR
1. DEFECT FIX: INC100578: T_DMA fails, if DMA channel is already in use.
Modified source code to skip test on channels already in use.
3. MichaelP
1. DEFECT FIX: DEF103849 USB HS driver initializes bInterval in endpoint descriptor incorrectly
TUsbcEndpointInfo::iInterval_Hs is now initialized to (-1), and only when
this value is recognized in TUsbcEndpointInfo::AdjustPollInterval(), then
an HS interval value adjustment depending on the endpoint type is done.
Also, the Mass Storage class in CBulkOnlyTransport.cpp now explicitly sets
ifc().iEndpointData[x].iInterval_Hs = 0;
for both Bulk endpoints (IN & OUT) in order to be (more) MSC spec compliant.
2. MINOR_CHANGE: USB API Document: Clarified use of function
RDevUsbcClient::AllocateEndpointResource() when specifying multiple resources;
upped document version to 3.0.3.
4. DjordjeK
1. DEFECT FIX: DEF103545 TLB not flushed properly when page is unmapped (MCL)
Fixed potential stablility issue as TLB was flushed before pages are unmapped.
2. DEFECT FIX: DEF103134 T_IPCBM is slower since PageTables are in Write Back memory (MCL)
The last week's fix of this defect has broken ARMv7 platform. This is the fix for it.
3. Minor change: Fixed T_cache test on ARMv7.
4. DEFECT FIX: DEF104512 Kernel doesn't drain write buffers in ArmMmu::ClearPages
This defect was not likely to cause trouble because write buffers are anyway drained
by H/W. (However, nobody garantees that it will happen in a definite time.)
5. DEFECT FIX: DEF104513 L2Cache::AtomicFlush() doesn't flush cache properly
The defect was "invisible" because AtomicFlush is used only in soft reset.
5. OlegI
1. DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it
6. JonCo
1. DEFECT FIX: DEF103947: DP: Paging cache is too large in Code Paging ROMs
7. MiguelB
1. DEFECT FIX: PDEF104152: Problem in issuing HSMMC commands/Spec 4 commands in H4
Fixed a probem on platforms with 2 MMC slots which resulted in high speed / wide bus
mode not being enabled if a single MMCV4 card was inserted in the second slot.
8. NeilC
1. DEFECT FIX: PDEF103903: "Memory card locked" is shown incorrectly after setting a password.
Fixed issue with Stack Power down marking cards as 'Locked' + additional test cases for t_pwstr
Version 2.00.1702
==========================
(Made by MiguelB, 22/03/2007)
1. MichaelP
1. DEFECT FIX: DEF103920 USB LDD: TDmaBuf members iController and iEndpointNumber are not used
Removed TDmaBuf data members iController and iEndpointNumber as they were
not used.
2. DjordjeK
1. DEFECT FIX: DEF103885 Typo errors in code
"class:class::method" replaced by "class:method"
3. JenniferH
1. DEFECT FIX: PDEF103915 Defect in base\e32\kernel\sexec.cpp
Kern::DebugPrint changed to read user side memory with user privileges.
4. archanah
1. DEFECT FIX: PDEF103798: User::Version() documentation is unclear.
Updated insource documentation.
5. NeilC
1. DEFECT FIX: PDEF103787: Inactivity reset timer must be canceled when erace command timed out.
updated powerdown stak logic & updated t_pwstr for test coverage
Version 2.00.1701
==========================
(Made by SushmitaR, 19/03/2007)
1. MichaelP
1. MINOR_CHANGE: Renamed (/base/documentation/)Base_How_To_USB_PSL.doc into
Base_How_To_USB_Porting_and_Test.doc, which better reflects its contents.
2. MINOR_CHANGE: Several changes and updates to "USB Porting and Test How-To
Document"; upped version to 3.2.
2. DjordjeK
1. DEFECT FIX: DEF103134:T_IPCBM is slower since PageTables are in Write Back memory (MCL)
Solved performance issue with t_ipcbm test.
2. Minor Change: Func. Spec document update for PREQ1066 (ARMv6K & ARMv7 support).
3. PeterS
1. DEFECT FIX: DEF103505 New sound driver request handling not safe if channel shared between threads.
2. DEFECT FIX: DEF103506 New sound driver - problems with multiple short play requests on emulator.
3. DEFECT FIX: DEF103631 New sound driver - outstanding requests not always completed when pausing record.
4. ParameshwariB
1. MINOR_CHANGE: Removed call to ldd.unload function in t_powerseqtest.cpp and t_serial.cpp.
5. MarkHambleton
1. DEFECT FIX: DEF103897 ArmMmu::BootstrapPageTable sets iTempPte to NULL, fix mistake which was
setting iTempPte to null rather than *iTempPte.
2. MINOR_CHANGE: Update metabld scripts for h2 / h4 / lubbock to include new tools2 target.
Version 2.00.1700
==========================
(Made by SamiraA, 08/03/2007)
1. radhakrishnanramanat
1. DEFECT FIX: PDEF096009 Documentation incomplete for the following class DPBusPrimaryMedia, DPBusSocket.
(Propagated from DEF092665).
Added in-source comments for classes: DPBusPrimaryMedia and DPBusSocket.
Applied same fix, from DEF092665.
2. JonathanM
1. DEFECT FIX: PDEF102521 Soft reset causes debug precondition check failure during boot
The fix makes DMemModelChunk::ClaimInitialPages() acquire the System Lock.
(Due to this function been called early in the boot sequence the code was safe without
this locking, therefore no defect would occur on production phones.)
2. DEFECT FIX: PDEF102870 Demand Paging instrumentation is incorrect.
This includes fixing DPTest::Attributes() so that is doesn't incorrectly reports that
Data Paging is supported and so that code paging is not supported if it is disabled by
PAGINGPOLICY NOPAGING in the ROM's OBY file.
3. MINOR CHANGE: Updated Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc
Added description about using the dynamic DFC queue API and removed description of
internal DDemandPagingLock class.
3. NeilC
1. DEFECT FIX: PDEF102051: Test zero-length read failed on secure drive.
Added logic to media driver to return Null descriptor if read length is zero.
2. DEFECT FIX: PDEF096011: DMedia: Documentation is incomplete for this class in Dev library.
3. DEFECT FIX: PDEF102548: t_checkdisk.exe failed on secure drive.
4. MiguelB
1. DEFECT_FIX: PDEF102924: T_FSRV doesn't exit properly
Fixed RLocalDrive::EControlSetMountInfo handling in the local media subsystem so that
a handle to the remote thread is properly closed if there is no mount information passed.
This was preventing any app which called Rfs::RemountDrive() from closing properly.
Changed T_FSYS to expect KErrInUse when attempting to dismount ROM file system (due to clamping).
5. JonCo
1. DEFECT FIX: PDEF102825: rom.pl doesn't handle patchdata command correctly
2. DEFECT FIX: DEF102939: TTime.Parse() is incompatible with the Vietnamese Full & Abbreviated Month name
3. DEFECT FIX: DEF102827: ARM1176 board crashes when formatting LFFS drive
6. DjordjeK
1. DEFECT-FIX: PDEF102564 malformed import table causes loader thread data abort (MCL)
Stablility issue with Loader when loaded executable image is corrupted.
2. DEFECT FIX: PDEF103211: E32 T_KHEAP FAILS (MCL)
Minor fix in test code.
7. PeterS
1. DEFECT FIX: DEF102246: New sound driver only supports record lengths of page size multiples.
This is a BC Break - SCB confirmation number BR2066.2
The change affects RSoundSc::SetBufferChunkCreate(). Previously this silently increased the size of
each buffer to be a muliple of the page size. It didn't return an error - but instead reported the
size created in response to RSoundSc::GetBufferConfig(). Now the driver accepts buffer sizes which
are not a multiple of the page size (leaving them unmodified). For record channels, the buffer size
specified effectively determines the size of each record request. Hence, for record channels, users
of this function must now take greater care over the buffer size passed since the driver now returns
an error for illegal sizes. In particular, the buffer size must be a multiple of the minimum request
size (TSoundFormatsSupportedV02::iRequestMinSize). It should also be a multiple of the number of
bytes per audio sample. Users of this function are no longer allowed to specify the buffer offsets
themselves via the flag KScFlagBufOffsetListInUse in TSharedChunkBufConfigBase::iFlags. Instead they
can select whether guard pages are left around each buffer or not - using the flag
KScFlagUseGuardPages for the same data member.
8. ArwelH
1. MINOR CHANGE: Fixing trivial spelling errors in in-source comment.
2. MINOR CHANGE: Tidying up in-source comment description for TFileMode
9. DmitryL
1. MINOR CHANGE: Added manual test t_med_writebm to benchmark media write performance
10. MarkTa
1. MINOR CHANGE: Correct spelling in comments of RLoader::Delete
11. ParameshwariB
1. DEFECT FIX: PDEF102516: Interrupts disabled and not enabled in Comm drivers.
2. DEFECT FIX: PDEF103159: Serial driver Turnaround timer not restarted.
12. OlegI
1. INTERFACE CHANGE: BR2042.1 Bootstrap changes for IRQ, FIQ, UND and ABT stacks memory allocation
2. CR 0972: Add guard page after IRQ stack to catch programming errors
Version 2.00.1516
==========================
(Made by MarkTa, 19/02/2007)
1. MarkTa
1. DEFECT FIX: PDEF102134: An unimportant priority checking causes a crash when DThread gets killed
In SetActualPriority ensure NThread and DThread priorities are updated even if
either/both are in the state EDead.
2. SimonT
1. MINOR CHANGE: Update H4 bootloader to v1.6 and H4HRP user guide to
reflect that the v9.41 OMAP2420 SDP is now a supported HRP platform.
2. MILESTONE: Oghma, GT0302, MS3.3, DS490 PREQ1227
REQ6085 "H4 implementation of multiple displays via TV out" This adds
support for a second physical display though the TV out connector (J9)
on the H4 HRP processor card. The second display can be enabled by
defining WITH_TVOUT at rombuild time. This milestone also includes a
partial catchup to TI BSP v9.50 in the core ASIC device drivers and the
display subsystems.
3. DEFECT FIX: DEF099117 "H4HRP does not have an example crash logger"
As the defect title suggests, the H4HRP did not have support for flash
crash logging. This defect fix provides implementations for both the
small block NAND and Intel Strataflash NOR flashes present on the HRP.
Define either CRASH_LOG_NOR or CRASH_LOG_NAND2 at rombuild to get the
respective support in Techview and Textshell roms.
3. NeilC
1. DEFECT FIX: PDEF095989: [Codebase] T_MMCDRV failures on a few SD cards
raised EPOCSTACK size
Version 2.00.1515
==========================
(Made by JohnS, 14/02/2007)
1. NeilC
1. MINOR CHANGE: Modified T_MMCDRV to not run testerase on wholemedia test pass.
2. DEFECT FIX: PDEF101803: iReplyCount in DMediaChangeBase is bigger than 2
2. PhilC
1. DEFECT FIX: PDEF094023 TDesC16 FindC incorrectly documented. Added extra overloaded TDesc16::FindC function
Extra pararmeter aLengthFound - length of the match found in the candidate string
3. MarkTa
1. MINOR CHANGE: Correct comments for TLocale::AmPmSpaceBetween, TLocale::SetAmPmSpaceBetween,
TLocale::SetAmPmSymbolPosition and TLocalePos TLocale::AmPmSymbolPosition
2. DEFECT FIX: DEF100027: RBuf8 and RBuf16 claims to take ownership but it doesn't
4. JonathanM
1. MINOR CHANGE: Added Base_How_To_Impacts_Of_Demand_Paging_On_Kernel-Side_Code.doc
2. MINOR CHANGE: Renamed document "SGL.TS0022.016_1.1 Migrating Device Drivers to Paging Environment.doc"
to "Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc"
3. MINOR CHANGE: Updated in-source comments for BTrace to indicate that EPagingAged trace is only
produced when the kernel is compiled with the BTRACE_PAGING_VERBOSE macro. (Or BTRACE_KERNEL_VERBOSE)
4. MINOR CHANGE: Added document "SGL.TS0022.018 - Changes to Symbian OS for Demand Paging.doc"
This describes all the changes made for demand paging, together with some
explanation of why they were made, how they are implemented and the impact
on systems which don't make use of demand paging.
5. DjordjeK
1. DEFECT FIX: DEF101646: t_wsimp test passes in emulator but panics when run on H4 board
Minor change in test code.
6. MiguelB
1. DEFECT FIX: DEF102033: Paged MMC ROM images sometimes fail to boot
Changed H4 MMC PSL to intially report card as present, rather than absent, so that early demand
paging requests do not fail - the correct status is updated shortly afterwards after an interrupt.
2. DEFECT FIX: PDEF101799: Problems remounting SD protected area with KForceMediaChangeReOpenMedia flag
Fixed a problem in the local media subsystem whereby an unprotected area request completed,
and attempted to empty the deferred request queue before the protected area media driver
had fully opened, resulting in all deferred requests completing with KErrNotReady.
Made a minor change to the interrupt handling in panasonic logic module CPRM stack in order
to show up this problem.
Fixed another problem in locmedia.cpp whereby two consecutive KForceMediaChangeReOpenMedia
remount requests caused both protected and unprotected area media driver to be re-opened.
7. JasdeepS
1. DEFECT FIX: DEF101816 - TDigitType enum needs to be extended to inlcude Indic digits to enable number co
Version 2.00.1514
==========================
(Made by IgorM, 08/02/2007)
1. DjordjeK
1. Minor Change: Minor Change: the fix for t_cache that failed if ARMv7 was with memory type
remapping switced OFF
2. DEFECT FIX: DEF101593 Kernel doesn't reset TLB when the chunk handler is closed (MCL).
As the consequence, after user handler for a chunk was closed, the chunk memory was still
accessable by user side (for a very short period of time).
2. MiguelB
1. MINOR CHANGE: Changed H2 MMC PSL DVariantMmcOmapH2::MachineInfo() to return 26MHz as the maximum
clock speed rather than 52MHz as CRC errors have been observed with some MMCV4 cards.
3. MarkTa
1. DEFECT FIX: DEF101559: DP: hal.dll variants should not be unpaged
Remove unpaged keyword in h2 and h2 hal.mmp files
2. DEFECT FIX: DEF101072: UserSvr class is incorrectly tagged
Add @ to interalAll tags in UserSvr methods declarations.
3. INTERFACE CHANGE: BR2040: "Correct interface tags to restrict use of UserSvr class"
Related to DEF101072 and is correction for doxygen tags for UserSvr methods missing '@'
4. JonCo
1. MILESTONE: Oghma, GT302, MS3.2.4 DS502 PREQ1066:
REQ5783 Make use of thread and process ID registers
REQ5781 Make use of new ARMv6k load/store exclusive instructions
5. AndrewS
1. MILESTONE: Naiad GT304 System Libraries, DS.579, MS3.10 CR0989:It is not possible to format a TTime object based on a specific locale
CHANGE REQUEST: CR0989 It is not possible to format a TTime object based on a specific locale
6. NeilC
1. DEFECT FIX: INC079996: Lifeblog refers to Nemo's harddrive as MMC
Added new Enum TMediaType::EMediaRotatingMedia
7. JonathanM
1. MINOR CHANGE: Delete document "Base_How_To_Build_And_Configure_Code_Paging.doc"
as this is a inaccurate description of a feature which has not yet been delivered.
8. JohnS
1. MINOR CHANGE: Add new test t_nandbm
This test benchmarks NAND flash at the local drive level.
2. MINOR CHANGE: Lock kernel when calling Kern::Random() from flash translation layer.
The call is located in the Unistore-II BML test code. Nand acceptence tests use
this test code to simulate ECC errors.
9. JenniferH
1. DEFECT FIX: DEF098402: Documentation of RPointerArray::FindInOrder() is wrong
10. AndreasP
1. DEFECT FIX: DEF100093: template baseport has 2 mmp files generating _template_ekeyb.dll
Version 2.00.1513
==========================
(Made by AttilaV, 29/02/2007)
1. DjordjeK
1. DEFECT FIX: DEF100946: Kernel supprt for l220 cache is not sufficient.
This is proper support for L220 cache (It used to work with L210 code and minor hacks
from third parties.). Baseport for platform with L220 should be configured as:
GBLL CFG_HasL220Cache ;in config.inc
macro __ARM_L220_CACHE__ //in variant .mmh
2. DEFECT FIX: DEF100182: Symbian OS 9.3 uses non-existent VFPv3 registers
This is VFP for ARMv7 platform. In E32 we now build kernel extensions for both VFP & VFPv3.
2. MarkHambleton
1. DEFECT FIX: DEF100443: DP: New test code missing doxygen tags
2. MINOR_CHANGE: Fix emaulate_paging_device to work with new version of demand paging.
This is sample code / test code used on non-demand paged targets.
3. DEFECT FIX: DEF100442: DP: DPTest::SetCacheSize comments ambiguous.
3. OlegI
1. MINOR CHANGE: Added in-source comment for macro _CHECK_DFCQ01_CONTEXT
4. MichaelP
1. DEFECT FIX: DEF100730: Update to H4 HSUSB Driver from TI's latest Base Port Code (9.61)
Increases the number of DMA channels available to the HSUSB driver and fixes
some timer values ('x' -> 'NKern::TimerTicks(x)').
2. DEFECT FIX: DEF099668: USB Configuration Descriptor shows invalid bMaxPower and SelfPowered values
In the Configuration Descriptor for H2 and H4 (both FS & HS), set the
bMaxPower value to 0mA and the Self-powered bit to 1 (= True).
5. JonCo
1. DEFECT FIX: INC098090: S60 emulator: Switching off display 0 swithces off also display 1
Update the emulator display hal implementation to make use of the device number passed in.
2. DEFECT FIX: PDEF101382: HAL attribute ECaseState has no accessor function
6. JonathanM
1. DEFECT FIX: DEF100952: DP: ApplyCodeFixupsOnLoad can fail when system has a lot of free RAM
This fixes unnecessary KErrNoMemory failures when loading demand paged code (Code Paging) and
when creating ROM shadow pages in demand paged ROMs (used for setting breakpoints in ROM).
7. MarkTa
1. DEFECT FIX: PDEF101180: GCCE can't compile e32def.h in C mode
Assign value to KSuppressPlatSecDiagnostic directly, no longer assign
via KSuppressPlatSecDiagnosticMagicValue
2. DEFECT FIX: PDEF101084: RRegion::Destroy has "delete this"
Improve comments to RRegion::Destroy to say why USer-42 panic occurs for
RRegion objects stored on the stack
Version 2.00.1512
==========================
(Made by StefanW, 18/01/2007)
1. NeilC
1. DEFECT FIX: PDEF096014: MMCTEST can't read sectors on a SD-enabled ROM
2. DEFECT FIX: PDEF100589: SdioSocketThread creates a DFC thread with no name
3. DEFECT FIX: DEF098832: Wi-Fi broken by SDIO change
2. MichaelP
1. MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
performance Perl script.
2. MINOR_CHANGE: Put in a warning in USB PIL in case the PSL doesn't support
Device State tracking.
3. StefanW
1. MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
to access an entire media address space not just a given partition of an SD Card.
4. MiguelB
1. DEFECT FIX: PDEF100488: Locking and unlocking of card still doesn't work
Changed Estart to write password store even when card is not present
2. DEFECT FIX: DEF100818: More issues with MMC passwords
Changed local media subsystem to force a re-read of the partion information after
writing the password store.
Changed DMMCStack::PowerDownStack() to automatically mark cards with passwords as locked.
Changed TDrive::ClearDevicePassword(TMediaPassword& aPassword) to attempt to unlock a locked
card before clearing the password (only an issue when not using the password store).
Version 2.00.1511
==========================
(Made by DjordjeK, 17/01/2007)
1. AbigailS
1. MINOR CHANGE Fixing error in-source comment.
2. JenniferH
1. DEFECT FIX: DEF098394: Documentation of RArray::FindInOrder() is wrong
3. DjordjeK
1. MILESTONE: Oghma, GT302, MS3.2.3, DS488 PREQ1066, REQ5782
Introducing Acess Permission Remapping on ARMv6K and ARMv7 platforms.
2. INTERFACE CHANGE: BR1911.1 On ARMv6K and ARMv7 platforms,
Kernel will support only a limited set of access permissions.
4. JonathanM
1. DEFECT FIX: PDEF100231: Redundant code in e32 causes BC break in Licensee codelines
5. PeterS
1. DEFECT FIX: DEF099552: Fix for PDEF097084 should be applied to new sound driver too.
2. DEFECT FIX: DEF099549: New sound driver components ommitted from iby files used by techview.
6. MichaelP
1. DEFECT FIX: DEF098971: H4 HSUSB Driver fails Kernel Precondition Checking
Removed the interrupt-disabling code from UsbPowerHandler::RequestPower()
and DUsbPowerHandler::RelinquishPower() in file
\omap_hrp\assp\omap24xx\hsusb\omapusbc_assp_24xx.cpp.
2. MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
performance Perl script.
7. JonCo
1. DEFECT FIX: DEF100375: t_kernasmbm fails on freescale boards
2. DEFECT FIX: DEF092531: Documentation for RThread::Logon could be improved
8. MylesB
1. MINOR CHANGE: Improved test code T_Match by adding more cases to test
for INC092513 (SYSLIB-UNICODE-CT-3337)
9. ArwelH
1. MINOR CHANGE Adding information about timer resolution to in-source comment description
of User::After().
Version 2.00.1510
==========================
(Made by JonathanM, 09/01/2007)
1. JonathanM
1. Milestone:
Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)
Defect Fixes:
DEF098726 DP: [TBAS] Demand Paging low mem tests cause processes to not cleanup correctly
DEF098360 Loading of executables can fail with random error codes under OOM conditions
DEF098751 DP: Demand Paging stress tests appear to lock up on an H2.
DEF099089 DP: [TBAS] Under race-conditions, KErrAlreadyExists errors may occur.
DEF100272 DP: [TBAS] Decommiting Pages from chunks causes random corruptions.
Interface Changes:
BR1991.2 USB Dfc Queue Performance Improvement
BR1988.1 Device Driver Deferred Function Call (DFC) Queue Migration
BR1982.1 Read from user memory must not occur whilst holding a mutex
BR1924.1 Bootstrap Changes for Demand Paging
Version 2.00.1509
==========================
(Made by NicholasC, 02/01/2007)
1. JenniferH
1. DEF098400 Documentation missing for RArray::Find() and RArray::FindInOrder()
2. DEF098403 Documentation missing for RPointerArray::Find() and RPointerArray::FindInOrder()
2. MylesB
1. INC092513: RR S60: Variant testing: Searching does not work properly in contacts
3. MarkTa
1. DEFECT FIX: PDEF100045: T_DES E32 test is missing verdict
Correct typos in functions test_TPtr and test_TPtrC, where test.Start is invoked twice.
Version 2.00.1508
==========================
(Made by OlegI, 18/12/2006)
1. DharmeshG
1. DEFECT FIX: DEF097640 Invalid test in t_video (e32test).
2. ReubenH
1. DEFECT FIX: DEF098837: Deficiency in the addition of objects to the kernel
Amended DObjectCon::Add() to skip call to CheckUniqueFullName for unnamed objects.
3. RichardCo
1. DEFECT FIX: PDEF099121: MMFControllerProxyServer crashes when trying to play video clip in low memory si
Make sure that when there is no memory available when creating a code segment, we return KErrNoMemory
instead of the (positive) number of pages which are short.
4. MarkTa
1. DEFECT FIX: DEF099336: DP: Some Base components need MMP files updating for Demand Paging
Ensure the correct mmp files have the unpaged keyword
2. MINOR CHANGE: correct comments for RLibrary::Lookup
5. StefanW
1. DEFECT FIX: DEF099250: Problems with new 8GB SD Card
2. DEFECT FIX: DEF097952 Writing a password to the MMC password store should unlock the card.
Auto-unlocking of MMC/SD cards traditionally only occurs during power-up of the MMC.
However, the password store is sent to the card after the ESTART has initialised the card. This
can result in password notifiers appearing if the card is accessed before it has first powered down.
To overcome this issue, the MMC/SD stack now ensures that cards are unlocked when the password store
is first passed to the MMC/SD stack.
6. OlegI
1. MINOR_CHANGE: Add Kernel Preconditions Checking Migration Note
7. MiguelB
1. DEFECT FIX: PDEF095968 SD Protected area media driver provides no way to create/correct compliant MBR
Changed medsdp to create MBR when card is formatted. A card with no MBR will be rejected
if "SYMBIAN_MBR_MANDATORY_FOR_SD_CARDS" macro is defined in medsdp.mmp.
Added a new flag RLocalDrive::ELocDrvWholeMedia to allow reading/writing entire media.
8. MichaelP
1. MINOR_CHANGE: Clarified description of the SignalRemoteWakeup() function
in the USB API Document, also added a comment in driver header file usbc.h.
9. MarkHambleton
1. DEFECT FIX: DEF097578: Demand Paging Asserts are too restrictive
Version 2.00.1507
==========================
(Made by MichaelMo, 04/12/2006)
1. MarkTa
1. DEFECT FIX: PDEF097862: Loader problems
Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
Extended t_loadfail to cover this fix
2. DEFECT FIX: PDEF098232: No way to add an event without resetting the inactivity timer
Add overloaded version of Kern::AddEvent that specifies whether or not to
reset the user inactivity timer
3. MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
Allow new named symbol export data to be looked up using new exec function RProcess::ExeExportData and
modifying RLibrary::Lookup to get the 0th ordinal of stdexe/stddlls only.
2. DjordjeK
1. DEFECT FIX: DEF098219: Cache not cleaned when creating a new page directory (MCL)
Fixing the security hole. Not related to stability of the sistem by any means.
2. DEFECT FIX: DEF098223: CodeSeg memory not cleaned correctly from the CPU cache (MCL)
This was potentially fatal Kernel defect. It was always there but became visible with
extensive use of write-back cache (9.2 and later).
3. MILESTONE: Oghma, GT302, MS3.2.2, DS489 PREQ1066: Support for 1176 core.
Added support for 1176 core in Kernel and bootrom. Doesn't include TrustZone.
3. MichaelMo
1. MINOR_CHANGE: Add metabld scripts (.mbc) for building emulator for WINS and WINSCW
4. OlegI
1. MINOR_CHANGE: Add USB DFC Queue Break Migration Note
2. DEFECT FIX: DEF098487: USB DFC queue improvment
All new functionality currently disabled until macro SEPARATE_DFC_QUE in
e32/kernel/kernel_ext.mmh is defined (this will happen as part of DemandPaging submission)
3. INTERFACE CHANGE: BR1991.1 Development Boards: USB Dfc Queue Performance Improvement
5. samiraabbasnejad
1. DEFECT FIX: PDEF098287: __PATH_TESTED macro has mismatched parenthesis
6. MichaelP
1. DEFECT FIX: DEF098465: H4 / Fibula HSUSB Driver Issues
Integrating relevant HSUSB driver changes from latest version (9.60) of
TI's H4 Base port.
7. ParameshwariB
1. DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
Reverted back line 229 and 626 in d_ethernet.cpp.
8. RaghavendraB
1. DEFECT FIX: PDEF097084 AH: Windows sound volume is increased to Max on emulator startup.
Changed sound driver for wins. retrieved windows wave volume settings, and assigned it as
default volume settings.
2. DEFECT FIX: PDEF096025 Documentation is incomplete for the sound device driver classes in dev library
Updated insource documentation.
9. DharmeshG
1. DEFECT FIX: PDEF096008: DPrimaryMediaBase: Documentation is incomplete for this class in dev library
Updated source files with insource documentation
Version 2.00.1506
==========================
(Made by Dusko 29/11/2006)
1. JohanG
DEF098096 REQ6575:Bug in buildrom.pm
Implementation of REQ6575, which is part of PREQ1110. New perl module ef
ficient_rom_paging added.
Version 2.00.1505
==========================
(Made by KaiD, 20/11/2006)
1. MarkHambleton
1. DEFECT FIX: DEF096838: DP: AllocContiguousRam fails to use RAM from paging cache (part 2)
Added code in initialisation to check for reserved RAM areas.
2. MarkTa
1. DEFECT FIX: PDEF097965: Exception handler should dump thread name
Make DumpExcInfo, and therefore the exception handler, output the thread name
3. GavinT
1. DEFECT FIX: DEF097976: Pipe distribution. policy file incorrect
Corrected error in e32/drivers/pipe/distribution.policy.
4. MichaelP
1. MINOR_CHANGE: Fixed comment typo in USB header file d32usbc.h.
2. MINOR_CHANGE: Made some changes to T_USB - disk read/write now requires
at least a 128MB card.
Version 2.00.1504
==========================
(Made by JonCo, 10/11/2006)
1. ParameshwariB
1. MINOR CHANGE: Document title changed
2. MichaelP
1. MINOR_CHANGE: Reorganized USB Mass Storage documentation:
Moved MS Functional Spec and MS App How-to to the base/documentation
directory and deleted an old MS performance figure doc.
3. MiguelB
1. DEFECT FIX: PDEF095993: SD Card implementation is not fully compliant with the specification.
4. AndrewHi
1. DEFECT FIX: PDEF095979: [AQP] NOR Flash access timeout should return error code, not fault the kernel
Updated for H4, H2 and WINS platforms. WINS driver and T_LFSDRV2 modified to
support simulated timeout test
5. MarkTa
1. PDEF097540: t_atomic - E32 test case is empty
Remove t_atomic as tests non-existant function User::SafeSwap
6. DipakA
1. DEFECT FIX: DEF096652: Open overrides in RPipe and incorrect KErrNotReady
Added two new Open methods in RPipe. Def files updated for the same.
KErrNotReady updated correctly. Test files updated for all the changes.
7. RyanHarkin
1. MINOR CHANGE: Tidy up H4_ResetAttach.cmm Lauterbach script
Removed ETM specific script commands because they crash non-ETM Lautherbachs
2. MINOR CHANGE: Improve comments/debug output of T_SERIAL flow control test case
3. DEFECT FIX: DEF097350 - T_SERIAL 3 0 fails on H4HRP
Ensure that the RTS GPIO pin returns to default multiplexed state when the driver is unloaded
4. DEFECT FIX: DEF097399 - H4 UART driver (_h4hrp_euart.pdd) doesn't free physical RAM
Free allocated memeory in the destructor
Version 2.00.1503
==========================
(Made by MichaelMo, 06/11/2006)
1. MichaelMo
1. DEFECT FIX: PDEF097463: Base defect submission causes overnight Networking tests to crash
Version 2.00.1502
==========================
(Made by MiguelB, 31/10/2006)
1. DjordjeK
1. INTERFACE CHANGE: BR1913.1 The constants that describe ARM's page table should be marked as internalComponent
This is change in in-source documantation (tagging) only.
2. INTERFACE CHANGE: BR1848.1 Removing publishedPartner tag from cache-memory related macros (and mark them as internalComponent)
This is change in in-source documantation (tagging) only.
3. MINOR CHANGE: Document title changed
2. JonCo
1. DEFECT FIX: DEF091211: RR Emulator hangs running steam tests
2. DEFECT FIX: PDEF095734: Emulator sound driver crash when running UIQ steam tests
3. MiguelB
1. DEFECT FIX: PDEF095926: Running Multimedia tests on H4 board results in MEDMMC 128 panic
MMC stack session is now deleted when stack powers down & re-instantiated on power-up.
This reverts behaviour to that prior to submission of PREQ1389 and resolves problem of
engaging a session more than once which can result in an exception.
2. DEFECT FIX: PDEF097112 TRUE - Phone does not boot up with memory card inserted
Changed DMMCStack::CIMReadWriteBlocksSM() and DSDStack::CIMReadWriteBlocksSM() so that if a
faulty card does not respond to CMD17, the error code is properly propagated up the stack.
4. MarkTa
1. DEFECT FIX: DEF096629: base rom.bat tool does not support system-wide #defines
Make rom.pl include the current configuration hrh file when preprocessing oby and iby files
2. MINOR CHANGE: Update comments to TSecurityPolicy::Package and TSecurityPolicy::Set to describe
the descriptor formatting
5. AttilaV
1. DEFECT FIX: DEF095619: DP: No formal way for licensee build tools to enquire unpaged size of ROM
Add new CLI parameter to generate include file for ROM image post-processing
2. DEFECT FIX: DEF096908: Add support for creating a process with a larger stack size than requested
6. PeteS
1. MILESTONE: Oghma GT0302, DS97, MS3.7.2 PREQ1073.4 : Part 2 : Graphics and multimedia (audio driver)
This adds a new audio driver which uses shared chunks for data transfer requests. This driver is
supported on the following platforms: H4, Lubbock, WINS, template.
Added T_SOUND2, T_SOUND_API, T_SOUNDMCHAN and T_SOUNDWAV to E32TEST.
7. Radhakrishnan R
1. DEFECT FIX: PDEF096020: Documentation incomplete for class like TMMCCallBack, TMMCStatus in dev library
Propagated from DEF093710.
2. DEFECT FIX: PDEF096021: documentation incomplete:RMdaDevSound,TSoundFormatsSupported,TCurrentSoundFormat
Propagated from DEF093480.
8. StefanW
1. MILESTONE: Bravo GT0236, MS3.27 DS417 PREQ1389 CR0792 - Add support for MMC cards > 2Gb in size.
Added support for >2G MMC Cards conforming to the MMC4.2 version of the specification.
MMCv4.2 introduces block-based addressing modes for MMC Data Transfer operations, hence
overcoming the limitations of 32-bit addressing.
9. NeilC MINOR CHANGE: Make Device Driver DFC Q Migration Note available for customer review.
10. RaghavendraB
1. DEFECT FIX: PDEF096026 Documentation incomplete for the class TCisReader in developer library.
Propagated from DEF093922.
2. DEFECT FIX: PDEF096023 Documentation incomplete for classes like TPcCardConfig in developer library.
Propagated from DEF093709.
Version 2.00.1501
===========================
(Made by DmitryL, 18/10/2006)
1. GavinT
1. MILESTONE: Argus, GT0314, MS3.3 PREQ1460/CR0923 DS346 PREQ1460: Open Environment - POSIX process launch with pipes
Add new pipe device driver
2. MILESTONE: Argus, GT0314, MS3.4 PREQ1460/CR0923 DS347 PREQ1460: Open Environment - POSIX process launch with pipes : User::WaitForNRequests()
Added User::WaitForNRequests() to support select() for Open Environment
2. MichaelP
1. DEFECT FIX: PDEF095739: USB connection is not working in 3.1 wk40 RnD build.
Introduced list-based request processing in the USB PDD PIL for Ep0 read
requests (OUT transfers). This is because Ep0 OUT is the only endpoint
in the driver that can have more than one request outstanding at the
same time (one per LDD).
3. NeilC
1. DEFECT FIX: PDEF096015: Compiler warning when building SD card support for emulator.
4. MarkTa
1. DEFECT FIX: PDEF096190: Reclasify UserSvr::AddEvent as @publishedPartner
2. DEFECT FIX: PDEF096192: Reclasify Kern::Restart() as @publishedPartner
3. DEFECT FIX: DEF096179: Incorrect stack info in superpage
Correct typo
5. ParameshwariB
1. DEFECT FIX: PDEF095927: During powerdown, PowerHandlers registration should be reversed (i.e. C, B,A).
2. INTERFACE CHANGE: BR1947.2 : Convert power handler list to doubly linked list.
3. DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
6. DjordjeK
1. DEFECT FIX: PDEF096236: ARM11 errata 399234: How Symbian will workaround(MCL)
This is Symbian Kernel fix for ARM1136 ERRATUM No.99234
On ARMv6 platforms, Kernel will use cached memory only in Write-Back mode (that includes memory for
page/directory tables). On Device drivers?request to create Write-Through memory, non-cached/buffered
memory will be created. Performance issue is possible. In baseport, it is advisable to set write-back mode
for the following memory regions: BTP_Rom, BTP_Kernel, BTP_SuperCPU, BTP_PageTable, BTP_Vector, BTP_PtInfo
and BTP_User. If ARMv6 platform is not affected by this erratum, write through mode could be enabled by:
GBLL CFG_CPU_ARM1136_ERRATUM_399234_FIXED ; in config.inc
macro __CPU_ARM1136_ERRATUM_399234_FIXED // in variant.mmh
2. DEFECT FIX: PDEF096239: Use read/write allocate rather than just read allocate for L2 cache(MCL)
Default cached memory in ARMv6 kernel is now "Write-Back Read/Write Allocate".
3. MILESTONE: Oghma, GT302, MS3.2.1, DS432 PREQ1066: Memory Type Remaping on ARMv6K and ARMv7.
It also disables the use of Write-Through cache mode on
these platforms. As the consquence, page tables are now kept and maintained in Write-Back memory.
4. INTERFACE CHANGE: BR1907.2 On ARMv6K and ARMv7 platforms, the kernel will only support a limited set of memory types.
5. INTERFACE CHANGE: BR1950.4 Removing Write-Through cache mode on ARMv6 platforms.
7. PhilK
1. DEFECT FIX: DEF092091: H4 (OMAP2420 ES2.1) cannot run at 300MHz with a core voltage of 1.3v
- Increae core voltage to 1v4.
2. DEFECT FIX: DEF096876: H4HRP - Add runtime detection and support for Infineon memory
- Add I2C interrogation of CPU board ID. If 9.41 board revision detected, then setup SDRC
for Infineon DDRAM part.
8. Trupti Parikh
1. DEFECT FIX: DEF095668: A locales CurrencySymbol and Date/Time formatspecs are not accessable.
Version 2.00.1500
===========================
(Made by YingS, 11/10/2006)
1. NeilC
1. DEFECT FIX: PDEF096031: Documentation is incomplete for class DPBusPsuBase, DMediaChangeBase in dev lib
2. Attilav
1. DEFECT FIX: PDEF095931: Semi-colon in epoc.ini causes infinite loop.
3. MarkTa
1. DEFECT FIX: PDEF096041: compile error multiple memory model without __REQUEST_COMPLETE_MACHINE_CODED__
Allow code to build when only __REQUEST_COMPLETE_MACHINE_CODED__ is undefined
2. MINOR CHANGE: Change comment on return codes of User::FreePhysicalDevice and User::FreeLogicalDeive to
include the line"KErrNone will be returned if the device is not found as it may have already been
freed."
4. PhilC
1. DEFECT FIX: PDEF096039: Calrify and extend TLanguage.
5. MarkHambleton
1. DEFECT FIX: PDEF096034: DP: AllocContiguousRam doesn't check page cache when out of memory.
6. JohnS
1. DEFECT FIX: PDEF096038: MMC / SD stack disables interrupts unnecessarily
Don't disable interrupts anymore.
Version 2.00.1158
===========================
(Made By EXTRajeswariR, 03/10/2006)
1. EXTRajeswariR
1. MILESTONE: Naiad, GT0303, MS3.1 Changes required to switch ARMV5 to ABIV2 mode toolchain
The changes are made configurable. However, in this submission, all changes required to support
ABIV2 mode toolchain will be submitted. But the changes will not be in effect, since the keyword
required to enable the change is not made. The keyword to enable ABIV2 mode toolchain
(ENABLE_ABIV2_MODE) will be submitted in the configuration file as part of Delivery 2.
Until then, the toolchain shall continue to work in ABIV1 mode.
Version 2.00.1157
===========================
(Made by IgorM, 21/09/2006)
1. NicholasC
1. DEFECT FIX: DEF091844: [Codebase] Failure during a USB Mass Storage mount can cause a system crash
Restore mounts properly when usbmsapp closes
2. MarkTa
1. MINOR CHANGE: Correct typo in comments for Kern::ChunkCommitPhysical
3. StefanW
1. DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
to the FAT file system to ensure that this constraint is met.
4. KaiD
1. Defect Fixes: INC093932: Symbian E32 test T_PROC1 has no verdict
Corrected nesting error of test steps.
5. NeilC
1. MILESTONE: Naiad, GT0326, MS3.1 PREQ1623 DS300 Enable DMA for SDIO transfers
This adds new Read/Write APIs for SDIO Register Interface to allow DMA data transfers.
6. ParameshwariB
1. MINOR CHANGE: Changed to get the nandloader XSR signature by calling controlIo function instead of being
sent as part of drive capabilities.
7. HusienH
1. DEFECT FIX: DEF093921: Documentation incomplete for class Locl/LLanguage in developer library
8. DjordjeK
1. DEFECT FIX: DEF093587: Bug in target (RAM) loader
Global variables (in RAM loaded executables) were potentially left un-initialised.
9. PhilK
1. MINOR CHANGE: Revert code so as to disable serial logging during T_SERIAL test.
Logging is sent to default debug serial port and breaks the test.
10. MichaelP
1. DEFECT FIX: INC094050 RF Phone freeze DfcThread0 during USB cable disconnection at PCS mode
When moving away from Configured state, the USB LDD didn't correctly
reset its internal alternate interface setting representation: added
call SelectAlternateSetting(0) to function DLddUsbcChannel::DeConfigure().
Version 2.00.1156
===========================
(Made by RichardC, 14/09/2006)
1. JonathanM
1. MILESTONE: Naiad,GT0316,MS3.3 PREQ1426 Phase 1
Add TRK debugger drivers.
2. DEFECT FIX: DEF090911: Formal API needed for Demand Paging test and analysis
This adds new class DPTest in dptest.h and dpsest.dll. (In E32UTILS component.)
2. MarkTa
1. DEFECT FIX: DEF092537: Build Breaks reported by Partner
Replace the use of the macros TO_ROOT and TO_BLDINF with EPOCROOT and EXTENSION_ROOT
, respectively. This required small change to genexec.pl to add drive letter to
file paths as cpp doesn't like absolute paths beginning with '\'.
2. DEFECT FIX: DEF093363: [Codebase] RProcess::FileName() spelling different in HW and emulator
Change 'z'to 'Z' in KRomSysBin for emulator as h/w targets use uppercase for drive letters
3. DEFECt FIX: DEF093924: RF panic in CrashLogger::DumpRomInfo()
Stop the version name being created twice
4. DEFECT FIX: DEF093711: Documentation incomplete for TStackInfo and SSuperPageBase in developer library.
Make comments doxygen compatible
5. DEFECT FIX: INC093397: RR D_EXC tries to capture kernel and critical thread crashes?
Ensure kernel faults before attempting to send KernelEvent
6. DEFECT FIX: INC092747: e32utils profiler assumes C: is non-volatile drive
Added new command line option "-drive=[drive letter]" to allow drive PROFILER.DAT
is stored on to be specified when starting the profiler
7. MINOR CHANGE: Added comment to nk_plat.h to stop customers attempting to undefine
*_MACHINE_CODED__ macros
3. DjordjeK
1. DEFECT FIX: INC092809: Number of Hal attributes is ENumHalAttributes * number of screens
In-source documantation update only.
(p.s. This is my No.100 defect fixed in Kernel :)
2. MINOR CHANGE: Fix for d_cache test driver which used to panic on ARMv7 due to attempt
to clean/purge invalid address from inner cache.
4. GavinT
1. DEFECT FIX: DEF092745: [Codebase] User::Leave, User::Identity and User::CreatorIdentity undocumented
5. JenniferH
1. DEFECT FIX: DEF092370: [Codebase] TDfcFn undocumented
2. DEFECT FIX: DEF092371: [Codebase] TDfc functions undocumented
6. MichaelP
1. DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
Reverted the newly introduced RPointerArray stuff of the previous
solution, as we can nowhere allocate new elements safely.
Reintroduced the singly-linked lists (except for transfer requests),
but this time with a maximum permissible length (KUsbcMaxListLength)
to ensure that the lists are of a finite length and thus the list
traverse time is bounded.
7. RanisuneelaM
1. DEFECT FIX: DEF092227: Insufficient documentation for TCommConfigV01 and TCommConfigV02 member data
8. PhilK
1. MINOR CHANGE: Fix category for H4 NAND2 IBY files (cat T).
2. MINOR CHANGE: Add support for SDP9.41 RAM configuration to Lauterbach scripts.
3. MINOR CHANGE: Fix category for H2 NAND2 IBY files (cat T).
9. MichaelP
1. DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
Removed all instances of the singly-linked list and replaced them with
either a normal array (for endpoint transfer requests) or RPointerArray
for notification request structures (status, ep status, OTG, client).
Using a normal C-style array for transfer requests also means we don't
have to disable interrupts any longer when looking up pointers and when
storing/deleting pointers: each array element simply corresponds to one
physical endpoint, which only ever can have either one or no transfer
outstanding at a time (irrespective of the number of interfaces/LDDs).
2. DEFECT FIX: INC093352: Adding new USB string descriptors mess up the index of the old ones.
In the USB PDD PIL, file e32/drivers/usbcc/descriptors.cpp, function
TUsbcDescriptorPool::SetIfcStringDescriptor(), changed
iStrings.Insert() into ExchangeStringDescriptor(). Also extended
unit test T_USBAPI to test the case which discovered the problem.
3. MILESTONE: GT0286 Base KnP (Argus), MS3.11 DS397, CR0807
"Increase USB Buffer size in MSDC mode"
The USB Mass Storage class driver now requests 'Default' size LDD
buffering (4KB) on a FS device and 'Plus2'-sized (64KB) buffers when
it detects that it is running on a HS-capable device.
At the same time, the LDD buffer size corresponding to the 'Maximum'
bandwidth setting has been reduced from 2.5MB (IN) and 5MB (OUT) to
512KB in both cases.
10. JohnS
1. DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
Add support for multiple FAT partitions to the nadloader application and the nandloader media
driver. Create mechanism to populate composite file system NAND FAT partitions from writeable
FAT partitions which are not in the composite file system. Extend the ROFS tests to NAND FAT
composite file system partitions. Adjust H2 and H4 PSL to create extra FAT partitions and run
tests on them.
11. NeilC
1. DEFECT FIX: DEF093844: RF MMC Card still reported as Present
Modified MMCStack such that it is aware if power down is caused by idle or card removed,
if card removed then cards are declared as gone.
Version 2.00.1155
===========================
(Made by ParameshwariB, 29/08/2006)
1. MarkTa
1. DEFECT FIX:DEF092556: [Codebase] RProcess documentation incomplete/inaccurate
Update search path in RProcess::Create comments to \sys\bin.
2. JonCo
1. DEFECT FIX: INC093183: The system doesn't reset when a DFC thread dies
2. DEFECT FIX: DEF093284: Emulator JIT crash handler broken by fix for DEF91167
3. HusienH
1. DEFECT FIX: DEF093234: GetCollationKeyL() doesn't work when TCollationMethod.iMainTable is NULL
4. NeilC
1. DEF091861: [codebase] Custom format of an MMC card doesn't work.
Patch to release (defect)
===========================
(Made by DanH 30/08/2006)
1. DanH
1. DEFECT FIX: DEF091413: DP: Stressed Demand Paging configuration missing from MCL
Add new stressed paging configuration to tools romkit oby files. Moved default paging
configuration from base rombuild directory to romkit directory. Also added support for
passing a command line to external tools.
Version 2.00.1154
===========================
(Made by OlegI, 21/08/2006
1. MarkTa
1. DEFECT FIX: DEF092502: [Codebase] RLibrary::Load reporting different error codes in emulator/hw
Check if filename being looked up is actually a directory name, if it is then return KErrNotFound
Ensure file name length is checked before accessing chars via an array index
2. MiguelB
1. DEFECT FIX: PDEF092980: Prevention of closure of media driver causes several symptoms with locked cards
Fix regressions caused by changes to local media subsystem introduced as part of
MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
3. ArwelH
1. MINOR-CHANGE Correcting syntax of @SYMPatchable tag, and minor tweaks to the descriptive text.
Version 2.00.1153
===========================
(Made by NeilC, 16/08/2006)
1. MichaelP
1. MINOR_CHANGE Added another USB Mass Storage performance measuring Perl
script which writes and reads 100 smaller files instead of a single
large one (\f32test\smassstorage\scripts\usbperformance_multifile.pl).
2. JenniferH
1. DEFECT FIX: DEF091903: RSessionBase panicking client when Dev lib specifies a KErrArgument return
3. RichardCo
1. DEFECT FIX: DEF092447: [Codebase] RTimer::Inactivity lack of error documentation
2. DEFECT FIX: DEF092548: FirstDelta() returns a value which is larger then KMaxTInt
Prevent RTimer::AfterTicks(KMaxTInt) from rolling over to be negative
when there are ticks pending.
4. MarkTa
1. DEFECT FIX: PDEF092862: KeyMap source table misses out EKeyDeviceD
Correct typo to ensure EKeyDeviceE is preceeded by EKeyDeviceD
Version 2.00.1152
===========================
(Made by MiguelB, 08/08/2006)
1. ArwelH
1. DEFECT FIX: DEF092226: Insufficient documentation for DDmaRequest class member functions in OS library
2. CarlosF
1. MINOR CHANGE: Restore monotonic order to kernel trace flags muddled in the last paging submission.
3. RichardCo
1. DEFECT FIX: DEF091958: big kernel data section can trigger kernel fault
Fix bootstrap to not try and map kernel data section with 1MB pages.
4. MarkTa
1. DEFECT FIX: INC091919: Kernel trace handler called with aTraceSource hardcoded
Pass aTraceSource to the trace handler hook instead of EPlatSecTrace
2. DEFECT FIX: DEF091961: Bug in cache.cia __FlushBtb() function
Correct #ifdef name to __CPU_HAS_BTB
3. DEFECT FIX: DEF091990: Just what do these functions do?
Add in source comments to RProcess::JustInTime and RProcess::SetJustInTime
5. MichaelP
1. DEFECT FIX: DEF092055: [codebase] USB PIL endpoint number passing is inefficient
The USB LDD no longer passes logical endpoint numbers into the PIL -
instead it saves and later uses the physical numbers that are now
returned by the PIL during the SetInterface() call.
Version 2.00.1151
===========================
(Made by MichaelP, 03/08/2006)
1. MichaelP
1. MINOR_CHANGE: Added a new debug trace bit for the USB PDD PSL layer
to the list in e32/include/nkern/nk_trace.h:
#define KUSBPSL 33 //0x00000002, index 1
Also updated the USB PSL Porting How-to accordingly.
2. NeilC
1. DEFECT FIX: DEF091478: [Codebase] T_MMCDRV failing on BUFFALO miniSD cards up to 512MB
Modified T_MMCDRV to by-pass format test for Buffalo Mini-Sd cards with known issues.
2. DEFECT FIX: DEF091749: [Codebase] D_MMCIF cannot read sectors on cards >=2GB
Modified MMCTEST to replace csd.ReadBlockLength() with MaxReadBlLen().
3. MarkTa
1. MINOR CHANGE: Added comment to RChunk::Open and RChunk::OpenGlobal to indicated that
functionality for isReadOnly is not currently implemented.
4. ArwelH
1. MINOR-CHANGE Replacing all instances of the //! comment string with // !
DOxygen interprets //! as a single line comment, and this causes problems in the
generation of API reference documentation.
2. MINOR-CHANGE Fixing a reference to incorrect panic numbers in in-source comment.
Version 2.00.1150
===========================
(Made by MarkTai, 25/07/2006)
1. MichaelP
1. DEFECT FIX: DEF091354: USB: StartUdc() return code is not being taken care of in Symbian Code
Introduced an error case for RDevUsbcClient::ReEnumerate(), which
is conveyed within the USB driver via return values and across
the kernel/user-side boundary as an async request status. In both
cases the value is KErrHardwareNotAvailable.
RDevUsbcClient::PowerUpUdc() can now return that value too
(alongside success and KErrNotReady).
Also updated the USB driver documentation accordingly.
2. ParameshwariB
1. MINOR CHANGE: Added System wide impact section provided by Toby Gray and incorporated
review comments to RHeap Minimum cell size allocation How-To Document
(\document\SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration)
Version 2.00.1149
===========================
(Made by RobertJ, 20/07/2006)
1. MichaelP
1. DEFECT FIX: DEF091386: Base USB documentation does not mention C drive cannot be used for mass storage
Added section 6.6 "USBMSAPP (USB Mass Storage Application)" to
USB PSL How-To Document (\documentation\Base_How_To_USB_PSL.doc)
and upped its version number to 3.1.
Version 2.00.1148
===========================
(Made by RobertJ, 19/07/2006)
1. DjordjeK
1. DEFECT FIX: DEF090810: EDISP_VT100 - frame to corruption and the edisp_vt100.dll doesn't work When KDM
Minor change in vt100 video driver.
2. MichaelP
1. DEFECT FIX: DEF090701: HS-USB: When Remote wake up is initiated, Symbian PIL cancels wrong pending rea
USB LDD didn't reset its internal interface alternate setting number
(iAlternateSetting) after a device deconfiguration - it does now,
at the end of DLddUsbcChannel::DeConfigure().
Also fixed a problem in the H4 HSUSB PSL, where endpoint direction
*absolute values* were erroneously compared with direction *masks*
(base\omap_hrp\shared\hsusb\omapusbc_defs.h).
2. MINOR_CHANGE: Update of USB Mass Storage performance test script
/f32test/smassstorage/scripts/usbperformance.pl.
3. NeilC
1. DEFECT FIX: DEF087614: MMC card not read after using an SDIO WLAN Card
Ensures that SDIOInterrupts are disabled when Interrupt controller is stopped
4. MiguelB
1. DEFECT FIX: PDEF087944: SD/MMC stack: KERN EXEC 4 caused by faulty HW/ SD cards
Removed possibility of command stack overflowing in DSDStack::CIMReadWriteBlocksSM()
2. DEFECT FIX: DEF090880: [codebase] XSR media driver doesn't cope with client thread death
The XSR NAND media driver was failing to complete a large (>16K) write request when the
client thread had died. This would result in the driver becoming unavailable until a reboot.
3. DEFECT FIX: DEF085613: Handling media change events in Multiple Card scenario
Removed ASSERT from DPBusSocket::DoorCloseEvent() to allow for platforms with multiple doors.
Changed DPBusSocket::DoorOpenEvent() to stop stack from powering down if any door is
still closed - see in source comments for further details.
5. JonCo
1. DEFECT FIX: DEF091167: Emulator hangs if it can't load extensions
6. PhilK
1. DEFECT FIX: DEF90876: H4 USB PSL: Wrong PIL Call Return Value Evaluation
Handle EP0 request completion error on KErrNotFound (was KErrNotSupported)
and removed redundant stall request.
2. DEFECT FIX: DEF91168: H2 USB PSL - Remote Wakeup capability reported incorrectly
Make H2 PSL report no remote wakeup capability (not supported in H2 baseport).
3. DEFECT FIX: DEF91251: [Codebase] Mass storage tests are failing
Fix generic TESTUSBC.LDD driver for multiple memory model, ie. use ThreadReadRaw()
instead of straight pointer dereferencing: this broke USB MS tests on H4 HRP.
7. MarkTa
1. DEFECT FIX: DEF091370: KHeapShrinkHysRatio is not marked as @symbian_patchable
Patch to version 2.00.1147
===========================
(Made by JonCo, 17/07/2006)
1. JonCo
1. DEFECT FIX: DEF091131: Build gets stuck at ced.exe
Added missing source lines to base_e32.mrp
Version 2.00.1147
===========================
(Made by StefanW, 11/07/2006)
1. StefanW
1. MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
SD2.0 introduces block-based addressing modes for SD Data Transfer operations, hence
overcoming the limitations of 32-bit addressing. This has introduced the following new
API's, which should be used by clients of the MMC/SD stack (ie - writers of media drivers)
should they wish to access data above the 2GB boundary:
void DMMCSession::SetupCIMReadBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
void DMMCSession::SetupCIMWriteBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
void DMMCSession::SetupCIMEraseMSector(TMMCArgument aBlockAddr, TUint32 aBlocks);
TInt64 TMMCard::DeviceSize64()
Note that the existing API's are still valid and fully compatible, but will not provide access above 2GB.
2. DEFECT FIX: PDEF084675: Corrupted miniSD not detected as corrupted by phone
3. DEFECT FIX: DEF085679: Transcend MMC cards expect high-speed config to occur prior to CMD42
Some MMC cards expect high-speed configuration to occur prior to any data transfer operations
taking place. This caused auto-unlocking of some MMC cards to fail, as this would occur as
part of the initialisation sequence prior to high-speed configuration. Re-ordered the state
machine to ensure that high-speed mode is configured prior to performing and DT commands.
2. JonathanM
1. DEFECT FIX: DEF090334: BTrace APIs aren't extensible
This adds support a secondary run-time filter based on a 32bit UID value.
See /base/documentation/Base_How_To_BTrace.doc.
Also added are support for user side 'big' traces and methods for checking the filters
independant of trace generation. The latter enables the filter to be checked before
any costly pre-processing of trace data.
Summary if new APIs added to e32btrace.h:
New macros for generating traces which pass through the secondary filter...
BTraceFiltered4(aCategory,aSubCategory,aUid)
BTraceFiltered8(aCategory,aSubCategory,aUid,a1)
BTraceFiltered12(aCategory,aSubCategory,aUid,a1,a2)
BTraceFilteredN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
BTraceFilteredBig(aCategory,aSubCategory,aUid,aData,aDataSize)
BTraceFilteredContext4(aCategory,aSubCategory,aUid)
BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1)
BTraceFilteredContext12(aCategory,aSubCategory,aUid,a1,a2)
BTraceFilteredContextN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
BTraceFilteredContextBig(aCategory,aSubCategory,aUid,aData,aDataSize)
BTraceFilteredPc4(aCategory,aSubCategory,aUid)
BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1)
BTraceFilteredPc12(aCategory,aSubCategory,aUid,a1,a2)
BTraceFilteredPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
BTraceFilteredPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)
BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1)
BTraceFilteredContextPc12(aCategory,aSubCategory,aUid,a1,a2)
BTraceFilteredContextPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
BTraceFilteredContextPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
The following kernel APIs have been added...
TInt BTrace::SetFilter2(TUint32 aUid, TBool aValue);
TInt BTrace::SetFilter2(const TUint32* aUids, TInt aNumUids);
TInt BTrace::SetFilter2(TInt aGlobalFilter);
TInt BTrace::Filter2(TUint32*& aUids, TInt& aPassAll);
The follwoing user and kernel APIs have been added...
TBool BTrace::CheckFilter(TUint32 aCategory);
TBool BTrace::CheckFilter2(TUint32 aCategory,TUint32 aUid);
3. NicholasC
1. DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
2. MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033
4. MarkTa
1. DEFECT FIX: INC088861: base text shell window server wrongly classified
Change policy file to state category E for \base\e32\ewsrv directory
5. CarlosF
1. MINOR_CHANGE: make NAND test erase roms panic when they are finished erasing instead
of crashing with an exception.
6. JenniferH
1. DEFECT FIX: DEF090496: [AQP] Test Failures when executing H4HRP ARMV5 UDEB PAGE rom.
Added K: to estart file for this test rom.
7. DjordjeK
1. DEFECT FIX: DEF090713: Inefficient purging of L2 cache when decommit on ARMv5
Only affects ARMv5 platforms with (any kind of) L2 cache.
2. DEFECT FIX: DEF090719: t_sharedio fails on XScale with L2 cache
The fix only affect ARMv5 XScale with L2 cache. As L2 cache is always write back,
page tables & shadow pages must be purged from L2 cache (they are write through on L1).
8. RichardCh
1. MILESTONE: Naiad, SM0014, MS3.4, DS.045 PREQ955 Reallocation of thread priorities
for real-time communications.
Added prototype thread priority category to BTRACE to support future thread studies.
9. MichaelP
1. DEFECT FIX: PDEF090651: USB resets at low memory state
Fixed a double deletion of Ep0 in the OOM case in the USB LDD.
Also fixed some other places in the USB driver where code didn't
behave correctly in an error case.
Patch to release (defect)
================
(Made by DanH 11/07/2006)
1. DEFECT FIX: DEF090641: Base Techview Obey files not including the right components for paging ROMS
Updated \omap_hrp\h4\rom\base_h4hrp.iby, \omap\h2\rom\base_h2.iby,
\omap_hrp\h4_restricted\unistore2\rom\base_h4nand2.iby and \omap\h2_restricted\unistore2\rom\base_h2nand2.iby
to use the paging versions of the Local Media Subsystem and NAND media driver when PAGED_ROM (or EMULATED_PAGING_MEDIA) is defined.
Version 2.00.1146
===========================
(Made by JohnS, 07/07/2006)
1. AndreasP
1. DEFECT FIX: DEF087761: estartnandtest.txt does not contain K drive
An entry for K: drive has been included in ESTARTNANDTEST.TXT which is the estart file that gets picked up for
the nandtest_test image that is used for H4 to do NAND testing. Furthermore, the nandtest_test script has been
changed to include f32 testing for K: .
2. MiguelB
1. DEFECT FIX: DEF087094: [AQP] MMC stacks with more than one media driver share the same buffer
Changed medmmc.cpp and medsdp.cpp to partition the available DMA-able buffer provided
by the MMC PSL into separate sections if there is more than one media driver (which is
true if there is more than one slot or an SD card CPRM media driver is installed).
Changed medsdp.cpp to use the PSL-supplied buffer - this should hopefully ensure it
works for a platform supporting DMA (the only platform we currently support for testing
the CPRM media driver is the integrator which does not use DMA).
2. DEFECT FIX: PDEF088024: CR0638 "Backport of 2GB Card support" was imcomplete
Modified DMMCStack::AdjustPartialRead() for integrator, lubbock & wins MMC PSL's
to calculate the block length (512) correctly for 2GB+ cards by calling TMMCard::MaxReadBlLen()
rather than TCSD::ReadBlockLength()
3. DEFECT FIX: DEF087989: [AQP] Integrator's door open interrupt fires too soon, causing a fault
Changed DSdInterrupt::Init() so that media change interrupts are enabled after setting
the intial values of iSavedDoorOpen and iSavedCardInserted to prevent a spurious call to
DMediaChangeBase::DoorOpenService().
3. OlegI
1. DEFECT FIX: DEF084013: Potential security hole in UserSvr::AddEvent()
Added checking of PowerMgmt capabilities for ESwitchOff,ECaseOpen and ECaseClose events.
Also updated T_SUSER test.
2. INTERFACE CHANGE: BR1866: Kernel: Additional capability checking in UserSvr::AddEvent()
Break for DEF084013.
4. DjordjeK
1. DEFECT FIX: INC088864: RHandleBase::FullName() blows the stack
... which is true as it takes 512KB to hold TFullName on the stack. This fix introduces new euser interface:
void RHandleBase::FullName(TDes& aName) const
where aName may be now preallocated on the heap.
5. MichaelP
1. DEFECT FIX: DEF090015: Incorrect SET Address primitive handling in Symbian USB code
Swapped the order of sending back status to the host and actually
setting the device address in DUsbClientController::ProcessSetAddress()
in file e32/drivers/usbcc/chapter9.cpp.
2. DEFECT FIX: DEF090234: [AQP] T_USB/T_USBAPI don't check properly for Alt Ifc Setting support
T_USBAPI: Added 'HAL::EMachineUid_Lubbock' to function
SupportsAlternateInterfaces().
T_USB: Before setting up an alternate interface setting, we now check
via SupportsAlternateInterfaces() whether these are supported at all.
Also added a new header file \e32test\device\t_usblib.h, which contains
definitions of commonly used USB test functions.
6. ArwelH
1. DEFECT FIX: DEF089583: File Server lack of documentation of async calls
2. DEFECT FIX: DEF090161: RFs::CheckDisk returns KErrNotSupported doesn't mean disk is corrupt
7. SimonT
1. DEFECT FIX: DEF088353 "Bad C-drive performance on H4 board"
The platform LFFS driver on the H4HRP will now read the typical write
and erase times from the flash device and use these to program the
polling timers. This significantly increases LFFS performance.
2. DEFECT FIX: DEF090354 "H4 LFFS media driver bugs"
We found two bugs in the polling timer code of the H4 media driver;
one is a race that could cause hangs, crashes and warnings whilst the
other would "forget" the timer prescale values resulting in timed
events completing much faster than they should (benign).
8. RichardCh
1. MILESTONE: Naiad, SM0014, MS3.3, DS.013 PREQ955 Reallocation of thread priorities
for real-time communications.
Added new process-independent thread priorities enumerators in the normal and real-time
ranges, the latter policed by capability ProtServ.
Milestone includes following functional breaks:
2. INTERFACE CHANGE: BR1811.1 Loader/kernel will restrict access to potentially
dangerous high/real-time thread priorities. Kernel caps "relative" thread priorities in
processes without ProtServ capability to level of window server (SystemServer-More).
Non-configurable.
3. INTERFACE CHANGE: BR1821.1, BR1821.2 Reassignment of thread priorities for realtime
services. Reduction of SystemServer-More priority from 24 to 23. Configurable change
enabled from Naiad through system-wide macro SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES.
9. NeilC
1. DEFECT FIX: DEF090242: H4 SDIO does not work with large packets.
Removed redundant register set operations.
10. MarkTa
1. DEFECT FIX: DEF089551: PNS_MWrite should use _PNS_DEFERRED_CHK macro
Change #ifdef to depend on _PNS_DEFERRED_CHK not _PNL_DEF_CHK
2. DEFECT FIX: INC090278: Keymap and screen driver not needed in simple roms
Make inclusion of ekdata.dll and scdv.dll by base.iby dependant on macros
SYMBIAN_EXCLUDE_KEYMAP and SYMBIAN_EXCLUDE_SCDV not being defined
3. DEFECT FIX: INC090270: D_EXC always included in rom
Make inclusion of d_exc.exe dependant on SYMBIAN_EXCLUDE_D_EXC not being defined
11. JoR
1. PDEF088021: The integrator MMC/SD port does not configure it's clocks correctly
Fix propagated from DEF084792
12. JonCo
1. PDEF090344: Data abort in RArrayBase::HeapSortSigned()
Version 2.00.1145
==========================
(Made by JenniferH, 04/07/2006)
1. JenniferH
1. MILESTONE: SM0013, MS3.1, PREQ209 Demand Paging Prototype
Second delivery of demand paging prototype. Delivery step DS329.
Version 2.00.1144
===========================
(Made by GavinT, 23/06/2006)
1. DjordjeK
1. DEFECT FIX: DEF081438 Missing OOM KHeap tests in e32tests
Added test steps to t_kheap for testing OOM when Shared chunk and Hw chunk are created.
Also, fixed the problem with manual run of the test for the first time after reset.
2. MINOR CHANGE: Updated Kernel's Functional Specification with L2 Cache and ARMv7 support.
3. DEFECT FIX: PDEF088437: Contacts sorting ignores national character variation(MCL)
The comaprison of two unicode strings (Des16::CompareC method) depends on the value of DefaultCharSet in Kernel.
In the existing implementation of locales in Kernel, DefaultChartSet could have been set only once. Another change
of locales would have left DefaultChartSet preserved. It was supposed to prevent run-time change in behaviour of
CompareC (as notifications that locale is changed is not implemented in upper levels of S/W).
However, some licence sets locales twice during boot time. (It sets default locale first - LOCALE.LOC and then
it sets locale according to language settings of the phone.).
This fix removes the limitation of how many times DefaultCharSetin could be changed. It is considered safe as
phone anyway reboots after language setting in changed.
2. MarkTa
1. DEFECT FIX: DEF087906: RHashMap::Reserve doesn't always allocate the requested number of entries
Forced RHashMap::Reserve to allocate memory if table hasn't been fully initialised yet
2. Change Request: CR0730: Zip crashlogs to save rom space
New compile time configurable option to have crash logger compress its output before writting
to permanent storage. To use define the macro _CRASHLOG_COMPR when compiling the crash logger
and the crash reader. File output by crash reader will now be GZIP compatible and called
'crashlog.gz'
3. DEFECT FIX: DEF086989: Non-default value of KHeapShrinkHysRatio can cause heap test cases to fail
Make the test cases for t_heap and t_heap2 take the value of KHeapShrinkHysRatio into account when
calcualting the size of the heap etc
3. OlegI
1. MINOR-CHANGE Updated Base_Func_Spec.doc for CR0748: Edisp 32bpp/24bpp unpacked support
4. JonCo
1. DEFECT FIX: DEF088121: Wrong test tags in t_perflogger
5. ArwelH.
1. MINOR-CHANGE Error in HAL::Set() comment (capability description) is causing bad rendering
in Symbian OS Library
6. YingS
1. MILESTONE: Naiad, GT0304, MS3.5, DS.341 CR0776 : System Libraries :
Add several new Unicode utility functions
2. Change Request: MGAY-6PWK8K Text and I18N Services, Collation Support
With User Definable Wildcards and Escape Character
7. PhilK
1. DEFECT FIX: PDEF088088: Sending and Receiving large amounts of data over usb causes hang
Lockout interrupts during H2 USB endpoint operations (in H2 USB PSL).
2. MINOR CHANGE: Tidy up Lauterbach scripts.
3. DEFECT FIX: DEF088032: Complete HS USB HS H4 handoff
Remove unneeded definitions and prevent buildrom making LFFS enabled HS USB Techview images.
8. RichardCo
1. DEFECT FIX: PDEF087690: RChunk::AdjustDoubleEnded() allocates and returns error
Ensure that if AdjustDoubleEnded returns KErrNoMemory, no allocation was actually performed.
Version 2.00.1143
===========================
(Made by JoR, 13/06/2006)
1. DavidM
1. DEF084609: Issues with Secure access to SD Card
Calling the file server Remount drive API to access the protected area
of an SD card causes issues with access to the User area.
Propagate changes from v8.1b
2. JonCo
1. DEFECT FIX: INC087723: Implementation for RThread::GetCpuTime is not Safe
Make ExecHandler::ThreadGetCpuTime use kumemput to write to user memory
3. MichaelP
1. MILESTONE: Bravo GT0236, MS3.16.3 DS179 PREQ709 "USB 2.0 High Speed"
Introduction of USB 2.0 High-speed device support in Symbian OS
(in conjunction with suitable USB Device Controller hardware).
Changes include USB API extensions, enhanced USB test programs
(T_USB/USBRFLCT, T_USBAPI), upgrade of the PC-side test driver
USBIO to v2.30, updates of "USB API Guide" and "USB PSL Porting
How-to", a new Base_H4HRP_HSUSB_Howto, and a USB PDD for the H4
'Fibula' HSUSB extension board.
4. NeilC
1. MILESTONE: Argus GT0286, MS3.6 CR0833 DS299 "Support SDIO interupt mode on H4"
Added support to MMC PSL for SDIO PIO.
5. ArwelH
1. MINOR-CHANGE Correcting opening marker for RBuf8/16::Close()/CleanUpClosePushL() in-source comment from /* to /**
6. GeorgeS
1. Change Requests: CR0781 Fast_case_insensitive_string_compare
Milestone: Argus, GT0292, MS3.6, DS.337, Text & i18n case_insensitive_string_compare
Requirements: PREQ1228 Argus System Quality Performance, ROM and RAM targets
Other: None
Version 2.00.1142
===========================
(Made by RobertJ, 08/06/2006)
1. DjordjeK
1. DEF087413 t_sharedio fails on ARMv5+L210 cache platforms
L210 cache on ARM926 cannot distinguish between Write-Back & Write-Through mode.
(This is limitation of the bus between L210 & the rest of core). As the consequence, memory
is Write-Back at L2 level though it is configured in page tables as Write-Through.
This fix only affect ARMv5 platforms with L210 and sets iDecommitThreshold during initialisation.
This will force Kernel to purge L2 cache when page tables or shadow pages (they both are WT) are decommited.
2. RichardCo
1. DEFECT FIX: DEF087693: Duplicated extension makefiles in Base build
Remove a number of makefiles that are no longer used by the MCL
supported baseports, and adjust the remaining ports to not use them
either. The 'current' versions are in
cedar/tools/buildsystem/extension/base/...
2. INTERFACE CHANGE: BR1818.1: Moving kernel makefiles out of e32 tree to avoid duplication caused by Linux build changes
Break for defect fix above. Baseports which still refer to the affected
makefiles should be updated to use new 'START EXTENSION' mechanism in
their bld.inf files.
3. MarkTa
1. DEFECT FIX: DEF087615: Incorrect description of HAL attribute's capability in hal_data.h
Change @capability comment from WriteSystemData to WriteDeviceData where mentioned. Add test for attribute
ElocaleLoaded to t_shal.
Version 2.00.1141
===========================
(Made by DjordjeK, 06/06/2006)
1. DjordjeK
1. DEF087352: The actual mapping attributes returned by PdePtePermission on ARMv5 are wrong
Fixed the coding error introduced while supporting L2 cache for XScale.
2. JonCo
1. DEFECT FIX: DEF085535: Problem with ECOM test utility
3. AngeloP
1. MINOR-CHANGE: Updated User Guide, ref: Debug Switch Settings.
4. MarkTa
1. DEFECT FIX: DEF087018: DRVTEST BUILD fails
5. ArwelH
1. DEF085711 Documentation for ESystemCritical and ESystemPermanent is wrong for processes
6. ParameshwariB
1. DEFECT FIX: INC086296: unistore2 d_mednand.cpp never completes format request for crash log partition
7. AttilaV
1. DEF081770: The Loader should verify compression type.
Version 2.00.1140
===========================
(Made by DavidM, 26/05/2006)
1. RobertJ
1. DEF086401: CDmDomain is listed as @internalTechnology
Made CDmDomain @publishedPartner but kept some internal member functions as @internalTechnology
2. OlegI
1. DEF086390: T_DTIM fails intermittently on H4
There was a race condition in the test code.
Changed time value in Requeue test of T_DTIM for removing race condition
3. PhilK
1. MILESTONE: Argus GT0286, MS3.10 ""Early access" support for ARMv7 and
Kernel/User library optimisation.
Added VFPv3 context and exception unwinder support and CP15 IFAR support.
Version 2.00.1139
===========================
(Made by AndreasP, 22/05/2006)
1. OlegI
1. DEFECT FIX: INC086106: Two running processes can have identical names (including generation numbers)
Removed CheckUniqueFullName() from DProcess::Rename() as it doesn't work for processes anyway.
Instead added NextGeneration() call.
2. MILESTONE: Argus GT0286, MS3.4 CR0748 "Edisp 32bpp/24bpp unpacked support"
Added support of 32bpp/24bpp video mode to text shell EDISP driver and to H4 LCD driver.
Added new H4 variant. Build ROM image with this variant using -m USE_24UBPP_DISPLAY_VARIANT.
2. MarkTa
1. DEFECT FIX: DEF085709: Memory card unlocking does not work if no card inserted while phone booted
2. DEFECT FIX: INC085919: Free pages from the top of the heap are not always freed
3. DjordjeK
1. DEFECT FIX: DEF086892: SWSV_610_R3A01_LOAD-LSBT-2_001: An application crash is observed while... (MCL)
The problem was related to Active Scheduler when TRAP/Leave is implemented in terms of C++ exception.
In CActiveScheduler::Run, we had to make sure that we don't call Active Object's RunError() or
Active Scheduler's Error() while we are still in exception (within 'catch' brackets), as it can lead to
"nested-exceptions" scenario. It is not fatal by default but, if two nested exceptions are both due to OOM
condition, RVCT implementation of exception will run out of emergency buffers and terminate the thread.
2. MILESTONE: Argus GT0286, MS3.10 PREQ1068 "Early access" support for ARMv7 and Kernel/User library optimisation.
This is the second drop (after DEF085518:TextShell image cannot boot on ARMv7 platforms) of ARMv7 support in Kernel.
This change introduces new Kernel Interface that allows variant code to set/get cache thresholds.
Also t_cache test code is updated to test it.
4. RichardCo
1. DEFECT FIX: DEF082994: No equivalent of NKern::ThreadGetUserContext for system threads
Add new kernel API NKern::ThreadGetSystemContext to get kernel-mode context for system threads.
5. MiguelB
1. DEFECT FIX: DEF085197: DPBusSocket::Init() calls AcknowledgeEvent incorrectly
Removed redundant call to AcknowledgeEvent() from DPBusSocket::Init().
2. DEFECT FIX: DEF086878: H4 SDIO stack does not power down after inactivity timeout
Fixed DOmapMMCPsu::PsuInfo() to set TPBusPsuInfo::iNotLockedTimeOut correctly
6. ParameshwariB
1. DEFECT FIX: DEF085189: KeyTranslator should cope better with rubbish data
7. JonCo
1. DEFECT FIX: DEF086985: Improvement to stack walking code in fix for DEF085362
8. AndreasP
1. DEFECT FIX: DEF081193: Automatic NAND testing should be enabled on H4
Version 2.00.1138
===========================
(Made by AttilaV, 15/05/2006)
1. ArwelH
1. MINOR-CHANGE Adding Esc chars to description of TTime::FormatL() so that Doxygen tool chain can render special chars correctly [Issue LIB_E_152].
2. MINOR-CHANGE Modified description of aSize parameter [User::ReAlloc()/ReAllocL()] to state the effect of a zero value [Issue LIB_E_154].
2. OlegI
1. DEFECT FIX: INC085866: EKeyDevice1x and EKeyApplication1x keys do not work in the emulator
Added translation between EStdKeyDevice1x/EStdKeyApplication1x scan codes and
the EKeyDevice1x/EStdKeyApplication1x key codes
3. MarkTa
1. DEFECT FIX: DEF086000: emulator sound driver can hang on close
Version 2.00.1137
===========================
(Made by NicholasC, 09/05/2006)
1. JonCo
1. DEFECT FIX: DEF085362: Emulator fails to run on windows server 2003
Prevents windows threads being preempted while they are taking an exception.
2. DEFECT FIX: INC081461: Add IsRectOverlappingRegion to RRegion and machine code
3. DEFECT FIX: DEF082742: Techview Fails to start intermittantly on WINSCW
2. ArwelH
1. MINOR-CHANGE Corrections/additions to description of CFileMan::Move() and CFileMan::Copy().
2. MINOR-CHANGE In-source comment for CFileMan:Delete(). Added note about the effect of passing KNullDesC.
3. NeilC
1. DEFECT FIX: DEF066739: XSR NAND baseporting could be made slightly easier by trapping obvious errors
4. MiguelB
1. DEFECT FIX: DEF085953: Locking Not Lockable Card
CMD42 no longer sent to card if command class 7 not supported.
Version 2.00.1136
===========================
(Made by RichardCo, 04/05/2006)
1. DjordjeK
1. DEFECT FIX: DEF085518: TextShell image cannot boot on ARMv7 platforms
This fix allows CORTEX Based ARMv7 CPU to boot TextShell image. The fix is tested on Virtio Simulator.
It boots in secure mode. Switching in non-secure mode still doesn't work.
2. Neilc
1. DEFECT FIX: DEF070123: NAND offsets aren't truely configurable (KNandFbrSectorOffset)
2. DEFECT FIX: DEF084091: Kern::Printfs in ISR in MMC driver - KPBUS1 introduces errors in system tick
3. ArwelH
1. MINOR-CHANGE Fixed minor typo error within in-source comment for CFixArrayBase::Length()
4. SimonT
1. MINOR-CHANGE: updated H4HRP baseport functional spec document to more accurately describe the state of
H4's DVFS implementation (disabled in software).
5. MarkTa
1. DEFECT FIX: INC077964: Digitiser area is wrong in emulator
6. JonCo
1. DEFECT FIX: DEF085798: The fix for INC080727 is a compatibility break and should be reverted
Version 2.00.1135
===========================
(Made by RobertJ, 27/04/2006)
1. MarkTa
1. DEFECT FIX: DEF084215: Crashlogger and crash debugger fail kernel preconditions
2. ArwelH
1. MINOR-CHANGE Correcting error in in-source comment for RNotifier::StartNotifier()
2. MINOR-CHANGE Correcting minor syntax error in in-source comment for member TChunkCreateInfo::iOwnsMemory
3. MINOR-CHANGE Adding in-source comment to describe the NONSHARABLE_CLASS macro.
3. JenniferH
1. DEFECT FIX: DEF080955: Core image on NAND uses multiple of megabytes of RAM
4. ParameshwariB
1. DEFECT FIX: DEF085168: Patch data support for rom.pl (ARMv5 & EABI v1) and
and how to document for modifying RHeap minimum cell size value during
build time (SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration.doc).
Version 2.00.1134
===========================
(Made by JonCo, 18/04/2006)
1. MichaelP
1. DEFECT FIX: DEF084696: USB EP0 reads failing with USB Hands Free Kit (Japan Brand)
Added StallEndpoint() calls in case of request failure in USB PIL function
DUsbClientController::Ep0RequestComplete().
2. JonCo
1. DEFECT FIX: DEF084702: NKern::CurrentContext assert causes infinite loop it if goes off
Added method to let the nanokernel check if kernel has already been faulted, so
it can avoid the infinite loop.
2. DEFECT FIX: DEF084508: cut & paste error in Fiq interrupt dispatcher for template port
3. DEFECT FIX: INC083831: Unable to start v9.2 week 12-based emulator on WinXP machines
3. JoR
1. DEFECT FIX: DEF083612: unsafe variable increment/decrement in Ethernet driver
Fixes propagated from 9.1
4. PhilK
1. DEFECT FIX: DEF082318: Integrate TI version 9.37 H4HRP code release
Various tidying up of power management. Inclusion of Symbian provided fixes.
2. DEFECT FIX: DEF081174: ABIV2: Problems with use of IMPORT_C and EXPORT_C macros
Added mssing IMPORT_C macros to enable ABIv2 RVCT toolchain builds.
3. DEFECT FIX: DEF079654: Setting KPOWER tracing on H4 with debugport=0 causes panic/restart
Removed KTRACE statements which caused endless recursion until stack exhausted.
4. DEFECT FIX: DEF079527: H4 screen random whiteout during application static data initialisation
Reduced pixel rate to LCD display to lower memory bus contention.
5. DEFECT FIX: DEF066475: T_SOUND hangs when run on H2/H4 boards
Disable broken T_SOUND testcase for simultaneous play/record.
6. DEFECT FIX: DEF084406: Bad _GCCXML macro breaks GCC XML build
Fix ifdef to use correct macro __GCCXML__.
Version 2.00.1133
===========================
(Made by RobertJ, 11/04/2006)
1. JonCo
1. MILESTONE: Aniseed PGM031, MS3.1 REQ5908 Code Segment Tracing
2. RichardCo
1. DEFECT FIX: DEF084003: UserHeap::OffsetChunkHeap uses more memory than is strictly neccecary
Adjust heap arithmetic so that the offset is rounded to multiples of 8 bytes instead of multiples
of the page size, saving almost 4kb of memory if it's used for storing just a few pointers as
anticipated.
2. DEFECT FIX: DEF083994: RChunk documentation is outdated, claims no name causes a panic
Correct documentation for RChunk, RMutex, RSemaphore, RMsgQueueBase, RMsgQueue to describe
using anonymous objects.
3. NeilC
1. DEFECT FIX: DEF082799: SS31 Illegal command (SET_BUS_WIDTH) is sent to locked card
4. SimonT
1. MINOR_CHANGE: added document that explains the behaviour behind NAND
boot problems and describes how to collect the information required
to diagnose the cause. (Base_How_To_Diagnosing_NAND_Boot_Failures.doc)
5. DjordjeK
1. MINOR_CHANGE: In-source documentation update for Code Modifier
2. MILESTONE: Brave GT0236, MS3.15.2 PREQ305 Level 2 Cache
The second drop of level 2 cache. This is support for XSCALE L2 Cache specification
and is tested against ARMv5 XScale device with L2 cache.
6. Parameshwarib
1. DEFECT FIX: DEF078385: RHeap minimum cell allocation size not optimal
Version 2.00.1132
===========================
(Made by DmitryL, 07/04/2006)
1. MichaelP
1. DEFECT FIX: DEF083517: Additional corrections need to USB PDD when client reads data slowly
Modified handling of Ep0 transfer completions in PIL when LDD hasn't set up a request yet.
Also protected all PIL request queue accesses (transfer, status notify, etc.) from corruption
by PSL ISR's through temporary interrupt locks.
2. DEFECT FIX: DEF083432: MTP transfer don't continue, when PC wakes up from stand by mode
Add bracketing to fix mistaken operator priorities.
2. JonCo
1. DEFECT FIX: DEF083671: RMutex::Signal documentation omits potential panic details
2. DEFECT FIX: DEF083317: Stress test crashed on H4 after ~6 hours
3. DEFECT FIX: DEF082712: Store code address before entering to A::StartCrashDebugger(cat,aFault) in Kern:
3. OlegI
1. MILESTONE: Argus GT0286, MS3.5.4 PREQ1030 Kernel support for device driver test suites
This completes all of the preconditions checks planned for this PREQ.
4. MarkTa
1. DEFECT FIX: DEF083615: Base header files missing in Wk12 external releases, this is breaking Metrotrk
5. MiguelB
1. DEFECT FIX: DEF082698: H2/H4 MMC PSLs should reset inactivity timer for Forced erase (CMD42)
6. DjordjeK
1. DEFECT FIX: DEF084107: Arm4 build warnings in Mkernel.cpp and Mprocess.cpp
2. DEFECT FIX: DEF084108: LUBBOCK ARMV5 UREL tests failed to run
Fix the sequence of shutting down cache and MMU in NandLoader on Lubbock (right before reboot)
Version 2.00.1131
===========================
(Made by AttilaV, 27/03/2006)
1. JonCo
1. DEFECT FIX: DEF083045: epoc32\include\kernel\monitor.h is not usable
2. NeilC
1. DEFECT FIX: DEF082841: NAND Garbage collection doesn't cope with 2 requests from diff drive threads
3. DmitryL
1. MILESTONE: Argus GT0286, MS3.5.2 PREQ1030 - Kernel support for device driver test suites. Part 2.
This adds a functionality based on existing Generic Logging Engine to allow profiling of the device drivers.
Added t_perflogger test to the e32test.
Also see base\documentation\Base_How_To_FastTrace.doc.
4. MarkTa
1. DEFECT FIX: DEF074162: RHashMap does not directly support pointer keys
5. RichardCo
1. DEFECT FIX: DEF082046: Unable to reserve space at start of chunk by creating RHeap with offset
Add new UserHeap::OffsetChunkHeap API to allow use of a heap offset.
6. DjordjeK
1. DEFECT FIX: DEF081426: Breakpoints in RAM code segments persist after process death (MCL)
This is about Kernel support for setting breakpoints in run-mode debbuger tools.
Under certain circumstances, brekpoints were not cleared properly when the process terminates.
Version 2.00.1130
===========================
(Made by MarkTa, 20/03/2006)
1. JonCo
1. DEFECT FIX: DEF082734: Emualator crash caused by early Kern::Printf
2. DEFECT FIX: DEF081898: Unprotected increment of kernel object id
3. DEFECT FIX: DEF082586: RThread documentation omits important details in Kill and Terminate
4. DEFECT FIX: DEF082832: Setting a process to system critical / permanent has no effect
2. RobertJ
1. Defect FIX: DEF082320 Avrcp bearer constructor leave causes Remcon server failing to start
3. RichardCo
1. DEFECT FIX: DEF080070: bootstrap.mke uses GCC assembler, if RVCT2.1 is not available
Fix various Base extension makefiles to detect RVCT versions more accurately.
Version 2.00.1129
===========================
(Made by MichaelP, 14/03/2006)
1. ArwelH
1. MINOR_CHANGE Clarifying description of User::SetCritical() & User::SetprocessCritical().
2. MINOR_CHANGE Moving in-source comment for class HAL from source to header.
2. MichaelP
1. MINOR_CHANGE: Fixed 'Receive & Write to File' mode ('P' command) of T_USB.
3. MiguelB
1. DEFECT FIX: DEF081441: B_FAT fails with KingMAX and SimpleTech
4. Parameshwarib
1. DEFECT FIX: INC080727: Ky_tran.cpp file modification needed.
5. CarlosF
1. DEFECT FIX: DEF081181: ABIV2: Missing __declspec(dllimport) or __declspec(dllexport) qualifiers
Version 2.00.1128
===========================
(Made by MaximK, 07/03/2006)
1. ArwelH
1. MINOR-CHANGE Correction to in-source description of RBuf8::CreateL(TInt aMaxLength)
2. MINOR-CHANGE Correction to the description of classes RPointerArray & RArray
Version 2.00.1127
===========================
(Made by JonathanM, 06/03/2006)
1. JonathanM
1. MILESTONE: Argus GT0286, MS3.1 PREQ209 Demand Paging Prototype.
First delivery of demand paging prototype. Delivery step DS204.
Version 2.00.1126
===========================
(Made by RobertJ, 01/03/2006)
1. SimonT
1. MINOR_CHANGE: update H4 User Guide so that example command invocations
can be directly cut/pasted into command prompt windows. Word had
replaced the '-' character with something that looked similar.
2. JenniferH
1. DEFECT FIX: DEF077074: t_pages doesn't work on the multiple memory model
3. MiguelB
1. DEFECT FIX: DEF081190: MMC/SD/SDIO stack needs to request for the memory chunk from TI driver
Changed MMC stack to use the PSL-supplied (DMA-safe) "minor" buffer for LOCK_UNLOCK &
SEND_EXT_CSD commands.
2. DEFECT FIX: DEF081295: Notification lost when SD card removed while powering up the stack
4. ArwelH
1. MINOR_CHANGE Correcting/expanding the description of the EPlatformSecurityTrap panic number.
2. MINOR_CHANGE Adding platform security issues to the description of RThread::Panic().
5. DjordjeK
1. DEFECT FIX: DEF081309: Profiler queues a DFC from an unlocked thread (MCL)
Minor change that prevents system warning that a DFC is queued from thread context by Add() instead of Enque()
2. DEFECT FIX: DEF081434: OOM during DPlatChunkHw::New(): page directory corruption(MCL)
The page tables were not cleaned properly in case when a large region (>1M) is made up of page tables
rather then sections. It is not usually the case, but may happen under OOM condition and led to
system crash when the page was to be re-used.
3. DEFECT FIX: DEF081545: MmuBase::DoAllocPageTable(TInt& aPageNum, TPhysAddr& aPhysAddr) don't (MCL)
The system used to panic when it runs out of the initial set of page tables (512).
Enlarging PageTableInfo structure is fixed.
6. RichardCo
1. DEFECT FIX: DEF081322: DSoundPddWins::PlayThread() triggers "FAULT: ncsched.cpp 00000177"
Fix NKern::CurrentContext to return the correct value when an interrupt thread is running while the
scheduler is in an IDFC. Also fix Wins::ErrorDialog to not cause a recursive fault when an interrupt
thread faults.
7. JonCo
1. DEFECT FIX: INC066279: Emulator hangs (winscw)
On windows XP, prevent the emulator switching away from a thread while
it is in a windows critical section, which can happen while it is taking
an exception.
2. DEFECT FIX: DEF080186: The Memtrace macros route through RDebug
Trace information about chunks is now output through btrace. The old
memtrace macros have been left in for the moment, but will be removed in
future.
8. OlegI
1. DEFECT FIX: DEF081163: CNotifierSession::RunPasswordWindowL() fails on normal HRP roms
Version 2.00.1125
===========================
(Made by CarlosF, 21/02/2006)
1. JonCo
1. DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
This was previously fixed, but re-opened due to intermittent overnight test failures
2. MINOR_CHANGE: Fix API classification for TFindHandleBase::Handle
3. DEFECT FIX: DEF080720: Assertion failed: DFC queue not set
4. DEFECT FIX: DEF079374: error in description of Thread::RawRead() in Symbian OS Library
2. Markta
1. DEFECT FIX: DEF080700: Keypress in landscape cause freeze due to problem with CKeyTranslatorX::Tra(MCL)
3. JonathanM
1. DEFECT FIX: DEF080964: Can't build ROMs which include SWTrace.
Fixes type in BTRACE.IBY
4. DavidM
1. DEFECT FIX: DEF079725: SS31 First memory card password AutoUnlock
attempt fails always, second is successful.
Propagate changes from v9.1
5. DjordjeK
1. DEFECT FIX: DEF081057: Cache attributes of page tables on ARMv6 are inconsistent
Cache attributes for page tables weren't consistent accross Kernel. They have to be: L1 uncached, L2 cached.
This caused system to crash if write-back L2 cache is present.
Version 2.00.1124
===========================
(Made by NicholasC 14/02/2006)
1. JonCo
1. DEFECT FIX: DEF079754: TCapabilitySet SetEmpty() does not actually empty the capability set
2. DEFECT FIX: DEF079758: NULL thread doesn't properly construct its kill dfc
2. JonathanM
1. DEFECT FIX: DEF079857: FastTrace APIs need renaming
All files an symbols which include the name 'FastTrace' have been renamed to 'BTrace'.
2. INTERFACE CHANGE: BR1781.1 Kernel: Rename FastTrace APIs
3. PhilK
1. DEFECT FIX: DEF066541: MMCTEST causes board to die when "powering up" stack
2. DEFECT FIX: DEF072501: H4 shows T_KHEAP failures in UDEB builds
3. DEFECT FIX: DEF066547: TESTUSBC.LDD does not run on an ARMv6 processor
4. DEFECT FIX: DEF071158: MMC PRECONDITION READY: iRetryTimer callback in ISR rather than thread context
5. DEFECT FIX: DEF066449: T_MSTIM fails intermitently on H4
6. DEFECT FIX: DEF078887: Incorrect NANDLOADER image generation arguments in H4 user guide
7. DEFECT FIX: DEF078997: T_USBAPI has implicit dependencies on endpoint capabilities
8. DEFECT FIX: DEF079257: H4 serial PDD is broken. Cannot open serial unit 0 and 7 at same time
9. DEFECT FIX: DEF079849: H4 UART DFC runs at very high priority
4. MiguelB
1. DEFECT FIX: DEF079870: Scope for MMC/SD card performance improvements
Increased the DMA buffer size on H2 & H4 PSL mmc stacks to 128K.
Changed MMC/SD media driver to create an MBR by default when formatting an SD card.
2. DEFECT FIX: DEF078678: 2 GB SD card protected area is unreadable
Added new function TMMCard::MaxWriteBlLen() for clarity.
Changed DSdMediaDriverProtected::DoCreate() to use TMMCard::MaxReadBlLen() and
TMMCard::MaxWriteBlLen() .
3. DEFECT FIX: DEF078679: Flaws in integrator panasonic logic module CPRM stack
This prevents a devide-by-zero fault. Created a function wrapper around
CurrentSessFillCmdDesc() for the "encryption" commands which returns a dummy
non-data transfer command spec.
5. JenniferH
1. DEFECT FIX: DEF080335: EnterIdle never cancels AfterIdleTimer.
6. MarkTa
1. DEFECT FIX:INC079415: Crash logger dumps object containers too early
Changed the ordering of the NAND and NOR crash logger to place object containers at the end.
7. TonyL
1. MINOR_CHANGE: Fix btrace command usage to reflect name correctly
Version 2.00.1123
===========================
(Made by AndreasP, 06/02/2006)
1. DjordjeK
1. DEFECT FIX: DEF079360: A lot fo SWI calls raised during apps start (MCL)
Minor changes that are supposed to improve performance of application starts.
2. INTERFACE CHANGE: BR1747.1 The constant that defines the maximum cachability of a memory region does not encapsulate L2 cache
3. MILESTONE: Bravo GT0236, MS3.15.1 PREQ305 Level 2 Cache
The first drop of level 2 cache. This is support for L210 ARM specification and is tested against ARMv6
(multiple) memory model.
2. MichaelMo
1. MINOR_CHANGE: Fixed H4 usbmsapp.mmp to actually build mass storage app.
3. JonCo
1. MINOR_CHANGE: Added in-source documentation for Kern::NanoWait
2. DEFECT FIX: DEF076999: RThread::Open() panics with KErrBadHandle if the requested thread has just died
3. INTERFACE CHANGE: BR1765.1 Add unique ID field to DObject
4. OlegI
1. DEFECT FIX: DEF078565: Text shell window server switches off non-existing mouse character pointer
Added #ifdef __CHARACTERPOINTER to CWsWindow::TurnMouseOff()
5. RichardCo
1. Bravo PREQ1073.1: Enable VFP by default on H4 HRP platform
Change rom configuration so that VFP math libraries are used on the H4 by default.
Version 2.00.1122
===========================
(Made by RichardCo, 01/02/2006)
1. JonCo
1. DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
The emulator now ensures that diversions don't get lost due to windows
exception handling changing the thread's context.
2. DjordjeK
1. DEFECT FIX: DEF077701: Decomitting memory is unreliable and does unnecessary cache flushing (MCL)
There were two problems in memory decommit process in Kernel:
1.The physical memory not own by chunk wasn't evicted from cache when the chunk is destroyed & memory
returned to free pool. When such phys. memory is assigned to other chunk, it may end up with its two
copies in cache. It occasionally leads to system crash (in a way, quite difficult to follow/debug).
2.On multiple memory model (ARMv6), any memory decommit request leads to flush of the entire DCache (for
example, when a heap enlarges/shrinks). This is very likely to have a noticable affect on performance.
Solution:
- DPlatChunkHw now flushes the memory from L1 cache (if it is L1 cached) when closed . It cannot
purge as it can still be in use.
- The same is done in DChunk when memory is decommited. (Not in direct model as it doesn't support
DChunk that doesn't own the memory.) Note: L2 cache is not considered as it is physically mapped.
- Cache flush issue is fixed.
2. DEF077702: Memory given to user side through shared chunk is not always zeroed(MCL)
This is platform security issue. At the moment, physical memory allocated through Epoc::AllocPhysicalRam
is not zeroed. Memory allocated this way is usually used internally in the drivers. However, it could be also
mapped to a shared chunk visible to user side applications. That way, the previous conent of the memory that
belonged to one process could be exposed to another process.
3. MiguelB
1. DEFECT FIX: INC076078: SD: Card selected twice.
Changed DSDStack::InitStackAfterUnlockSM() so that it only issues a select
if card not already selected.
4. JonathanM
1. DEFECT FIX: DEF078546: Workaround required for ARM1136 Erratum 371025.
This applies workaround 1) specified in ARM1136 Erratum 371025: Invalidate Instruction Cache operation can fail
2. DEFECT FIX: INC078769: RDebug::Print blows the stack too easily
This adds a new function to enable data to be sent to the debug port without any pre-processing.
This is: EXPORT_C void RDebug::RawPrint(const TDesC8& aDes)
5. TonyL
1. MINOR_CHANGE: Updates to the H2 user guide to reflect SD/SDIO support, minor corrections to the H4 functional spec
6. RichardCo
1. DEFECT FIX: DEF078628: Calendar:Week numbers are displayed wrong: wk53 is shown as wk1
A rounding error in TTime::WeekNoInYear causes one day in wk53 to show up as wk1 in certain years, if the time
is not midnight. The rounding has been corrected to eliminate this error.
Version 2.00.1121
===========================
(Made by JonCo, 23/01/2006)
1. MichaelP
1. DEFECT FIX: DEF078295: USB - Possibility of iEp0DataReceived is incremented twice
In DUsbClientController::ProcessEp0DataReceived() we now subtract
'aCount' from iEp0DataReceived before returning when no
matching read request was found.
2. RichardCo
1. DEFECT FIX: DEF078298: RTimer::Inactivity/User::InactivityTime return wrong inactivity time
Correct calculation of inactivity time to deal with an edge case introduced
by a previous defect fix. Time was not correctly calculated if there were
no other timers in the system and the time required had already elapsed
when a new inactivity timer was queued.
3. JonathanM
1. DEFECT FIX: DEF078391: Multi-threaded heap issue when using explicity named threads.
This changes UserHeap::ChunkHeap so that for multi-thread heap creation, the kernel
objects owned by the RHeap don't hold references on the thread which created it.
This enables the creating thread to exit and die normally.
Version 2.00.1120
===========================
(Made by NeilC, 16/01/2006)
1. MiguelB
1. MINOR_CHANGE: Added more Nandloader/Coreldr diagnostics
2. DEFECT FIX: DEF077936: [system build] - H4 NAND ROMS failed to format
Nandloader /e option fixed to erase all blocks even if a genuine bad block is encountered.
Nandloader /f option changed to erase all blocks (not just the first), excluding
blocks in the reservoir.
3. DEFECT FIX: DEF077954: Unistore2 CoreLoader doesn't handle 1-bit errors correctly for 16-bit NAND
Changed algorithm for 16-bit Unistore2 1-bit ECC error correction.
Defined a macro - INJECT_1BIT_ERROR - in CoreLoader for testing 1 bit errors
(macro is undefined by default).
2. MichaelP
1. DEFECT FIX: DEF077576: PowerDOwnDone() is never called by the USB physical driver PIL
Added three new virtual functions to support the Power Management Framework
to the USB PDD base class DUsbClientController in e32/drivers/usbc.h; there
they are also documented:
virtual TBool PowerDownWhenActive() const;
virtual TInt PowerDown();
virtual TInt PowerUp();
PowerDown() and PowerUp() are called by the PIL in the respective power
handler DFC, and PowerDownWhenActive() is used by the PIL to determine
whether the UDC supports a power-down mode while it is active.
Base port impact: A default implementation for each function is provided in
the USB PDD PIL, but these can be overridden by the derived controller class
in the USB device driver base port. No BC, SC, or FC break.
2. DEFECT FIX: DEF077782: USB driver not reseting data toggling after bus reset
Moved the data toggle-resetting code into ChangeConfiguration() so it gets
called before the current configuration is torn down. On this occasion also
a config-invalidating call was added to a new PSL notification processing
function DUsbClientController::ProcessCableRemoveEvent() (previously
iCurrentConfig would retain its value even after the USB cable had been
pulled while in Configured state).
3. PhilK
1. DEFECT FIX: DEF075237: KERN-EXEC 3 with ARMv6 code when built with ALWAYS_BUILD_AS_ARM
Turn on "Unaligned access" bit in CP15. Enables word aligned LDRD/STRD operations,
to suite code generated by RVCT in ARMv6 target mode.
4. SimonT
1. DEFECT FIX: DEF077785: NAND interrupt fires too early on H4
The NAND media driver on H4 doesn't clear the GPMC interrupt status
before enabling the interrupt, this causes the interrupt to fire
immediatly and the driver to spin in interrupt context waiting for
the device to complete. This causes the idle code to assert.
2. MINOR_CHANGE: updated parse_symbols scripts in H4's Lauterbach
testreference so that they may be used on moving memory model
hardware.
3. MINOR_CHANGE: updated H4HRP baseport functional spec document to
reflect power management milestone
4. MINOR_CHANGE: Integration requested that the quicknandz helper scripts
for H2 and H4 format NAND, otherwise their testing will gradually fill
up persistant storage with old test entries and data. This change
assists them with DEF077518 (messaging smoke tests fail).
5. OlegI
1. DEFECT FIX: DEF077674: Implementation of DebugSupport::ModifyCode is unsafe(MCL)
Added Lock/UlockSystem while calling Alias() & UnlockAndRemoveAlias()
Version 2.00.1119
===========================
(Made by JenniferH, 12/01/2006)
1. ArwelH
1. MINOR_CHANGE: Replaced reference to KERN-SVR with KERN-EXEC in in-source commment
for function User::__DbgMarkEnd().
2. MINOR_CHANGE: Changed in-source comment for TDesC8::Format() and TDesC16::Format().
Amended an incorrect explicit reference to a section
in the Symbian OS Library.
2. MaximK
1. DEF075438: Impossible to enable SDIO on a H2 techview ROM image
/omap/h2/rom/base_h2.iby file modified to include the relevant binaries.
3. OlegI
1. DEFECT FIX: DEF076203: E32 test t_video fails on line 1257
Changed test t_video (added save/restore screeen state, turn on using HAL for multiply screen test case)
4. MiguelB
1. DEFECT FIX: DEF076211: Errors in Symbian 2GB implentation
Update code to support 2GB+ MMC cards.
5. JonathanM
1. MINOR_CHANGE: Modified test T_SEMUTX2 by increasing time delays to make emulator testing
more robust against background activity.
2. DEFECT FIX: DEF077182: Panic in FastTrace client code.
6. JonCo
1. DEFECT FIX: DEF077176: Add an API to make it possible to read the TCritical flag of RThread and RProces
2. DEFECT FIX: DEF076992: The RHash* classes should contain standard typedefs
7. DjordjeK
1. DEFECT FIX:DEF075590: iMapAttr in chunks are set wrongly on ARMv6 (MCL)
Kernel relies on this attribute in chunk objects when maintaining cache memory. Having this set wrongly, could lead
to unsufficient cache operations. As the consequence, device drivers could fail in a way quite difficult to track.
Version 2.00.1118
===========================
(Made by JonathanM, 04/01/2006)
1. MichaelP
1. DEFECT FIX: DEF075756: USBCC: OTG Configuration Descriptor Length Incorrect
We now take the length of the OTG descriptor (if existing) into account
in the Configuration descriptor (wTotalLength field).
2. DEFECT FIX: DEF075647: t_uspcpi fails in TestAlternateInterfaceManipulation() function
In t_usbapi.cpp:TestAlternateInterfaceManipulation() we now check the number
of endpoints that were found for the interface, and we take appropriate action
to make sure alternate interface setting and audio endpoint descriptor get
tested even if there are no isochronous or interrupt endpoints available.
3. DEFECT FIX: INC073828: DMA/PIL - canceled transfer is not ignored by dfc
In DMA PIL function TDmaChannel::CancelAll() we now, after stopping the channel,
cancel a possibly outstanding DFC and also reset the local ISR/DFC count.
4. DEFECT FIX: DEF076307: USB device failing after cable has been plugged / unplugged a number of times
The PIL variables iEp0_RxExtraCount and iEp0_RxExtraData now get reset in function
DUsbClientController::ProcessResetEvent().
5. MINOR_CHANGE Corrected a wrong __ASSERT_DEBUG() in e32/drivers/usbcc/descriptors.cpp:658,
which should be preceded by an 'else'.
6. MINOR_CHANGE Corrected T_USB: It now sets bMaxPower in the Configuration
descriptor to 100mA, which is the highest value allowed for a bus-powered
device. This is a requirement to pass the Chapter-9 compliance tests with
the USB Command Verifier USBCV (and T_USB can be used to configure the
device-under-test for it).
2. SimonT
1. MINOR_CHANGE: added document that describes how to debug problems in
NON-XIP located code that can be exposed by moving onto ARMv6 hardware
platforms (e.g. NAND flash on H4) Base_How_To_Debug_NONXIP_Problems.doc
2. DEFECT FIX: DEF075718 "H4 hangs on loading the NAND image"
The H4 coreloader would spin during one of it's setup routines; the
bug was an inverted test (it worked before because it was racing
against itself)
3. MINOR_CHANGE: updated the lauterbach scripts in the H4 testreference
directory with some changes to make them more useful when debugging
with ETM.
3. MiguelB
1. DEFECT FIX: DEF075223: SD Card should issue CMD16 before CMD42
The MMC & SD specs recommend issuing a SET_BLOCKLEN cmd (cmd 16) before the
LOCK_UNLOCK cmd (cmd 42)
2. DEFECT FIX: DEF076190: Media drivers should use KMBRMaxPrimaryPartitions, not KMaxPartitionEntries
4. JonathanM
1. MILESTONE: Intulo GT0262, MS3.5.3 PREQ1030 - Kernel support for device driver test suites - Generic Logging Engine.
This adds a new kernel and user side tracing mechanism implemented by the class FastTrace.
See base\documentation\Base_How_To_FastTrace.doc.
5. NagendraV
1. DEFECT FIX: DEF067958: Initialization when a MMC card is locked.
This fix is simply a replication of already fixed problem INC067922 for v9.1
6. ArwelH
1. MINOR_CHANGE: Corrected typo error in description of @panic USER 75 for
inline TSglQue<T>::TSglQue(TInt aOffset)
2. MINOR_CHANGE: Added note into in-source comment for:
TDesC8::Match()/MatchC()/MatchF()
TDesC16::Match()/MatchC()/MatchF()
about the lack of an escape character that prevents the functions
from matching the "*" and "?" characters themselves.
Version 2.00.1117
===========================
(Made by AttilaV, 12/12/2005)
1. TonyL
1. MINOR CHANGE: Add support for 180 rotation of the screen on H4. The side
benefit of this change is stop Base engineers getting neck ache when
using H4 because the only reasonable way to prop in board up means the
screen is upside down. To use this build the ROM with FLIPPER defined
e.g: rom -v=h4hrp -i=armv5 --define=FLIPPER
2. JonCo
1. DEFECT FIX: DEF074560: Sync removed all my contacts on pc
2. DEFECT FIX: DEF074190: Defect in CObjectIx::Remove(), incorrect comparison of unique ID
3. DEFECT FIX: DEF074877: Rom.pl not working properly in a shell which starts doskey when it starts
3. MaxymG
1. DEF066451: Both TF_SUSPEND and TF_ERASE appear to pass but they do not seem to exit cleanly
4. NicholasC
1. DEFECT FIX: DEF067715: Description of UserHal::SwitchOff() needs clarifying
5. AnatolyP
1. DEFECT FIX: DEF074516: TTime: DaysFrom() returning negative number when comparing
with Time::MinTTime
TTime::DaysFrom function was modified to avoid overflow of integer buffer when the distance
between 2 values doesn't fit into TInt64. Also, functions TTime::SecondsFrom,
TTime::MinutesFrom and TTime::HoursFrom were modified in the same way.
6. JonathanM
1. DEFECT FIX: DEF070966: Thread lifetime bug in example camera driver.
This fixes the example Camera Driver code so that it opens a reference
on the client thread when Capture Requests are made.
7. AnatolyP
1. MINOR CHANGE: Disabling checks of "@pre mutex must be held" precondition
during system crash to alow crash debugger to output the content of object
containers.
8. YingS
1. DEFECT FIX: DEF074822 - Dimension events not recieved by WServ
9. MiguelB
1. DEFECT FIX: DEF071117: class TExtendedCSD members have no in-source comment.
2. DEFECT FIX: DEF055909: The local media LDD doesn't support mmc/sd stacks with more than one card
Changed TMMCardControllerInterface::RegisterMediaDevices()
so that it instantiates a new DPBusPrimaryMedia for each slot. This is then
stored in the new member variable, DPBusPrimaryMedia::iSlotNumber.
Changed DMmcMediaDriverFlash::DoCreate() and DSdMediaDriverProtected::DoCreate()
to retrieve the card number from DPBusPrimaryMedia::iSlotNumber.
Changed wins estart to create a new drive (T:) for use on the second slot.
3. DEFECT FIX: DEF073518: H4 missing MMC/SD features
Added a new directory for building SD (and eventuallly SDIO) -
omap_hrp/h4_restricted/sdio.The SDIO stack & media drivers may be included
in a ROM by specifying the USE_SDIO_SD_MMC macro on the command line.
Implemented DOmapMMCStack::AddressCard() for the SD stack. This has a side effect
that only the first slot (marked SDMMC_1) will now work with the SD stack enabled.
Added MMCV4 card support.
Added 2GB SD card support.
MCF approval reference for creation of new component 'base_omaph4hrp_sdio': NC-5092.
4. DEFECT FIX: DEF075121: SD Media driver can become confused with other data in sector 0 of SD Card
Changed DMmcMediaDriverFlash::DecodePartitionInfo() so that it no longer returns KErrCorrupt
if the MBR is invalid....it now continues on and assumes that a valid or invalid boot sector
is in the first sector
5. DEFECT FIX: DEF075203: Incorrect calls to TDfc::Add
Changed DMMCStack::SchedGetOnDFC() to call iStackDFC.Add() if in ISR context
Changed DSdMediaDriverProtected::DSdMediaDriverProtected()so that iSessionEndDfc
is constructed with a priority of 1 (same as medmmc and DMMCStack::iStackDFC)
Changed DSdMediaDriverProtected::SessionEndCallBack() so that it always calls
iSessionEndDfc.Enque();
Changed DMMCSession::ProgramTimerCallBack(), DMMCSession::PollTimerCallBack()
and DMMCSession::RetryTimerCallBack() to set the session state bit KMMCSessStateDoDFC
to ensure that a DFC is queued.
Changed DJupiterSdStack::InactivityResetTimerCallBack() and
DJupiterSdStack::InactivityResetTimerCallBack() likewise.
6. MINOR_CHANGE: Change to base_h4hrp.iby to allow SD/SDIO support in a H4 techview ROM.
10. AnatolyP
1. DEFECT FIX: DEF074714: Make ethernet precondition ready and stop base port using IDFC.
Function void DChannelEthernet::ReceiveIsr() in LDD driver was modified to detect current
CPU context (ISR/DFC) and call Dfc::Add/CompleteRxDfc() respecively.
Pdd driver constructors in every affected platform(H4, H2, Lubbock) were modified to create
DFC instead of IDFC.
11. AnatolyP
1. DEFECT FIX: DEF074673: Crash debugger doesn't print object names correctly any more.
Call of the DMonObject::AppendName from the DMonObject::DumpData() is replaced with
DMonObject::FullName.
12. OlegI
1. DEFECT FIX: DEF075433: THashMapIter::CurrentValue() should return a non-const pointer
Removed const from the return value of THashMapIter::CurrentValue() .
Also added SetMap function to T_HASHTAB for testing
13. MichaelP
1. MINOR_CHANGE Added in-source comment for new OTG parameter of function
DUsbClientController::InitialiseBaseClass() in ps_usbc.cpp.
14. SimonT
1. DEFECT FIX: DEF075626 "NAND Flash boot loader installation process fails on UREL
The power management that was turned on as part of PREQ1073.7 MS3.3
includes an assert on UREL builds that triggers if the millisecond
timer is held off for long periods of time. This change disables that
ASSERT for now and recovers the timer so that NAND can continue to be
used on H4.
2. DEFECT FIX: DEF074517 "H4 PRECONDITION READY: omap power resource manager violates Symbian APIs"
During integrating the 9.33 TI release the baseport had picked up a few
problems that would cause the precondition asserts to occur.
3. MINOR_CHANGE: the bld.inf change to build 100MHz H4 bootstrap files was
omitted from the last base release.
4. MINOR_CHANGE: stop the t_camera H4 variant test playing around with
power management
Version 2.00.1116
===========================
(Made by JohnS, 30/11/2005)
1. RichardCo
1. DEFECT FIX: DEF074275: Problems with file share promotion & demotion
Correct incorrect reference counting when using certain file sharing
modes on duplicated handles.
2. MichaelMo
1. MINOR_CHANGE: Updated H2 user guide to reflect use of Unistore2 NAND Flash driver.
This replaces the deprecated SSR NAND Flash driver.
3. ArwelH
1. MINOR CHANGE: Removing @prototype 9.1, @prototype 8.1 and @prototype 9.0 status
tags, and replacing (where appropriate) with @released status tags to
satisfy Bravo requirements.
4. JonCo
1. DEFECT FIX: DEF074326: Nkern fault trying to kill thread while in critical section
2. DEFECT FIX: DEF073910: TInt8 Documentation Mistake
3. MINOR CHANGE: Updated t_cputime to fix intermittent test failures
5. TonyL
1. DEFECT FIX: DEF074371: Integrate TI 9.33 H4 Base port
2. MILESTONE: Intulo GT268, MS3.3 PREQ1073.7 (REQ5507, REQ5492)
Power Management. Idle tick suppression is now utilised and device
drivers should take adequate care of power resources, using them as
required. A slow speed configuration has been which means that the
core CPU speed will operate at 100MHz on H4, this demonstrates a DVFS
capability of the processor. True DVFS will be fixed at a later date.
3. DEF074517 H4 PRECONDITION READY: omap power resource manager violates
Symbian APIs
- Was previously allocating memory with interrupts disabled.
4. DEF071161: H4 PRECONDITION READY: Digitizer will break usage TDfc
usage semantics
- Was previously using TDfc::Add in thread context
5. DEF071136: H4 PRECONDITION READY: H4 COMM LDD suboptimal and could
corrupt kernel data
- Was previously using TDfc::Add in thread context, also using
dfcs whereas direct calls could be used
6. DEF071126: H4 PRECONDITION READY: USB ISP1301 will potentially corrupt
kernel DFC queue
- Was previously using TDfc::Add in thread context
7. DEF074621: RDebug output could cause a data abort
- Ensure UARTs are enabled on the OMAP2420 PRCM before writing to them
6. MichaelP
1. MINOR_CHANGE Added test tags in T_USBAPI for MS3.13, Bravo
7. AttilaV
1. DEF071919: SD MKDir causes critical error if card is locked
8. NicholasC
1. DEF074417: [System Build] - CBR component base_omaph4hrp_mebootldr missing
Version 2.00.1115
===========================
(Made by YingS, 21/11/2005)
1. JonCo
1. DEFECT FIX: DEF073342: Hardcoded member offsets in ncsched.cia
2. DEFECT FIX: INC067848: Can't copy to a RBuf using operator=
2. RichardCo
1. DEFECT FIX: DEF073812: Crashreader does not handle corrupt sectors
Have the crash reader tell the user that reading the log encountered errors,
but still go ahead and write it out to a file (in the hope that some of it
is readable/usable), and still erase the signature so that a new log can be
created.
2. DEFECT FIX: DEF073813: Unnessasary overhead in writing the crashlog could result in corrupt sectors
Change the NAND crash logger to write the ECC values out the first time around,
instead of making two passes through the log. The logger was previously fixed
to only write to each page once, so this is now safe and will reduce the chance
of an unexpected power removal corrupting the log.
3. DEFECT FIX: DEF071506: Latest XScale CPU core is not supported in nk_cpu.h
Add definitions to nk_cpu.h for __CPU_XSCALE_MANZANO__ according to Intel
provided information. No effect on existing builds.
3. MiguelB
1. DEFECT FIX: DEF073516: Medsd/mmc missing clause for physically damaged card
Ensure that a partition read request is always completed, even if the read fails.
2. DEFECT FIX: DEF073524: Medsdp never calls EndInCritical() after first read (for Partition info)
Moved call to EndCritical() to DSdMediaDriverProtected::SessionEndCallBack() from
DSdMediaDriverProtected::DoSessionEndDfc() to ensure it's always called.
4. TonyL
1. MINOR CHANGE: Updated 'final' version of the H4 user guide, also added a basic
Trace32 set-up guide.
2. MINOR CHANGE: Add Lauterbach scripts for H4/H2 into omap_hrp\tools\, these can
be used various on target debug and tracing purposes. Provided as 'example'
files.
Version 2.00.1114
===========================
(Made by MichaelP, 18/11/2005)
1. JonCo
1. DEFECT FIX: DEF073260: local function NextGeneration in sprocess.cpp is innefficient
2. DEFECT FIX: DEF073201: DObjectCon::CheckUniqueFullName is innefficient
3. DEFECT FIX: DEF073261: Emulator panic due to missing entries in key name to key mapping
2. OlegI
1. DEFECT FIX: DEF067603: Inconsistent Kernel exports
Un-exported methods from class DObjectIx. It's implementation transfered to separate file
KERNEL\OBJECTIX.CPP.
Test code D_DOBJECT LDD now is linking with this file.
3. SimonT
1. DEFECT FIX: DEF072951: "Quicknandz.bat missing from H4HRP"
This will fix the problems with using the nandtest_load_noext type when
building autoloading nandloader images on H4 (a file wasn't brought
over to H4)
2. DEFECT FIX: DEF070197: "Specifying -D_NAND on H4HRP Techview build creates bad ROM image"
SSR nand is not supported on H4HRP, specifying -D_NAND will now trigger
an error with a recognisable message
3. DEFECT FIX: DEF070062: "H4 bootstrap's memory test causes JTAG problems"
This prevented CodeWarrior resetting the board and running the same
image again. The H4 baseport from TI has a memory check in the
bootstrap, when running from flash it will destroy regions of memory
being tested - when the board is reset with the JTAG it doesn't get
control of the board early enough to stop the bootloader running and
performing the memory test, overwriting portions of the image in RAM.
4. JonathanM
1. DEFECT FIX: DEF073477: USERCOMDEB configuration is incorrect
This only affects the System Wide Tracer (PREQ505) which has not yet been completed.
5. YingS
1. MILESTONE: Intulo GT0262 MS3.9 DS92 PREQ297 USB on-the-go extensions and plug'n'play API
6. MiguelB
1. MINOR CHANGE: Added a timer to H2 MMC controller to prevent stack from timing out
and powering down while a long-running erase is in progress.
7. NicholasC
1. MILESTONE: Bravo GT0236 MS3.11 PREQ316 Remote software patching.
This is mainly enabling to have a minimal environment for software upgarde.
MCF approval reference for creation of new component 'base_ubootldr': NC-5086.
MCF approval reference for creation of new component 'base_omaph4hrp_bootldr': NC-5087.
MCF approval reference for creation of new component 'base_omaph4hrp_mebootldr': NC-5088.
Version 2.00.1113
===========================
(Made by DuskoJ, 16/11/2005)
1. DuskoJ
1. DEFECT FIX: DEF073602 - Problems integrating new compilers into toolchain
Version 2.00.1112
===========================
(Made by MichaelMo, 08/11/2005)
1. AnatolyP
1. INTERFACE CHANGE: BR1647.1 APIs where the checks are enforced will behave differently: they will panic the Kernel if the preconditions they are checking are not met.
MILESTONE: Intulo GT0262, MS3.5.1 PREQ1030 Kernel support for device driver test suites.
This submission introduces checks of Kernel APIs preconditions. The checks are configurable, there are 3 phases of check enforcement:
1) All checks can be switched off if both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ are undefined (commented out) in e32/kernel/kern_int.mmh.
2) All checks can be configured to output diagnostic message if the break of precondition occurs. In this case kernel will print the title of the broken precondition and the function where the break was detected to the standard debug output. Kernel will not be crashed.
To choose this option, please define __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ macro and undefine __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ in e32/kernel/kern_int.mmh.
3) All checks can be configured to fault the kernel if the break of precondition occurs. In this case kernel will print out the same diagnostic message as in option 2, and then call Kern::Fault.
To choose this option, please define both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ macros in e32/kernel/kern_int.mmh.
Currently all checks are disabled.
2. DavidM
1. DEFECT FIX: DEF068055: T_Sound.cpp record settings incorrect
Changed erroneous "r = SoundDevice.SetPlayFormat(PlayFormatBuf);" statement to
"r = SoundDevice.SetRecordFormat(RecordFormatBuf);"
3. AnatolyP
1. MINOR CHANGE: Corrected improper fix for DEF068363, point 17: detection of current CPU mode moved
to the inline functions, DrainRxBufferEnque() function is removed.
4. DjordjeK
1. DEFECT FIX: DEF072118: Panic in DMsgQueue when Playnow is restarted following a Playnow panic(MCL)
On requesting notification (of either data or space available), we panic the requesting
thread if another thread has already requested notification. With this fix, we now check additionally
whether the thread which previously requested notification has died (iExitType != EExitPending). If so
we cancel its request then accept the new one.
6. JonCo
1. MILESTONE: Intulo GT0262, MS3.1.3 PREQ521 Tune hand-coded assembler routines and/or replace them with compiled versions
Final submission containing tuning of euser routines
2. DEFECT FIX: DEF072462: ARM1136 Errata 364296: Possible Cache Data Corruption with Hit-Under-Miss
7. RichardCo/Dennis
1. DEFECT FIX: DEF070194: TLS Mechanism is broken for dynamically loaded RAM-loaded code
Added a new DLL ID parameter to the functions UserSvr::DllTls(), UserSvr::DllSetTls().
When setting the TLS only the module handle (= address of DLL entry point) is used to
look up the kernel side TLS array entry. The DLL ID is merely stored in the array.
When looking up TLS, the module handle is used to index the array and then the supplied
DLL ID is compared to that in the array. If the DLL ID does not match, NULL is returned.
The DLL ID is derived in two different ways:
(i) On hardware it is read from the word 12 bytes past the entry point. The loader has
been modified to write a unique value into this word for each DLL loaded.
(ii) On the emulator the kernel associates a unique value with every windows DLL loaded
and this value is used as the DLL ID.
Version 2.00.1111
===========================
(Made by DmitryL, 31/10/2005)
1. DjordjeK
1. DEFECT FIX: DEF069282: Run-mode debuggers cannot set breakpoints(MCL)
Added a new (target only) interface for setting breakpoints (used in run-mode debuggers).
They are: InitialiseCodeModifier(), CloseCodeModifier(), ModifyCode() and RestoreCode().
2. DEFECT FIX: DEF071433: DMsgQueue::Receive and RMsgQueueBase::ReceiveBlocking comment needs updating
In-source documentation update.
2. AnatolyP
1. DEFECT FIX: DEF068354: Some kernel APIs are called by other kernel functions from the wrong context.
The following steps are performed to correct the improper API calls:
1) Problem with DMMCStack::SchedGetOnDFC() is fixed in the fix for DEF067963.
2) K::Randomize(): call of Kern::Random() is included into NKern::LockSystem()
and NKern::UnlockSystem() to avoid corruption of random generator.
3) All the calls of DPowerManager::NotifyWakeupEvent(TInt aReason) are enclosed into critical section.
4) The call of DPropertyRef::SetB in
TInt ExecHandler::PropertySetB(DPropertyRef* aRef, const TUint8* aBuf, TInt aSize)
enclosed into critical section.
5) ExecHandler::GetModuleNameFromAddress: call of Kern::CodeSegFromAddress is enclosed
into Kern::AccessCode().
6) DMediaChangeBase::DoorOpenService() is modified to check the current CPU context and
call TDfc.Add() from the ISR context only. If it is not in ISR, it calls MediaChangeEvent
from the DFC and TDfc.Enque() from the thread context.
7) void DChannelComm::CheckTxBuffer():
instead of unconditional call of void DChannelComm::CompleteWrite() the check of current
CPU context is introduced: if the current context is ISR, then DChannelComm::CompleteWrite()
is called as previously, otherwise DoCompleteTx() function is called directly.
3. JenniferH
1. DEFECT FIX: INC067404: RArray and RPointerArray should have FindReverse interface
Added FindReverse interface for RArray, as well as tests for it.
4. MichaelP
1. DEFECT FIX: DEF072099: Indication that h/w can detect cable status without USB h/w powered up, missing
Made use of the first reserved word (of two) in class TUsbDeviceCapsV01
and renamed it to iFeatureWord1. We now use bit 0 of it for the indication of
whether USB cable detection is possible without UDC power. There is a new constant
defined for feature word 1 bit 0: KUsbDevCapsFeatureWord1_CableDetectWithoutPower.
Base port impact: With this API change also comes a new virtual (not pure virtual)
USB controller base class function:
virtual TBool DUsbClientController::CableDetectWithoutPowerCaps() const;
A default implementation in the USB PDD PIL returns EFalse, but this can be
overridden by the derived controller class in the USB base port.
Both T_USBAPI and T_USB query this new device capability and print its value
upon test program start.
2. DEFECT FIX: DEF072035: Re-enumeration of USB devices in T_USB causes system to crash
The USB cable reconnect timer callback gets now called in DFC (rather than ISR) context
by passing ETrue as a second argument to the priming function:
iReconnectTimer.OneShot(KUsbReconnectDelay, ETrue);
5. JonCo
1. DEFECT FIX: DEF071575: Performance: Euser should be build as ARM
Variant euser is now built as ARM rather than Thumb if the macro
__BUILD_VARIANT_EUSER_AS_ARM__ is defined in the variant.mmh file.
2. DEFECT FIX: DEF072161: Cache::SyncMemoryBeforeDmaRead Long Version Not Invaliding Caches
3. DEFECT FIX: DEF072159: Possibly sub-optimal implementation of 'isdigit'
4. DEFECT FIX: DEF070929: Inefficient processing of ASCII characters in User Lib operations
5. DEFECT FIX: DEF070964: rom.pl script detects false error messages
6. DEFECT FIX: DEF071128: Documentation update needed for "How To Use VFP Support"
6. AndreasP
1. DEFECT FIX: DEF067383: XSR LLD .cpp files include inlined assembler which will not compile under RVCT.
The assembler NAND access routines have been seperated from the pns.cpp and pnl.cpp files. One new file has been created, namely pn.cia
that contains the assembler instructions. The mmp files for the projects that use pns.cpp and pnl.cpp have also been modified to include
or exclude the .cia file on demand by defining (or not) the _ASMCODE_ variable in the corresponding .mmh file. Furthermore,
benchmark tests have been run on all (H4, H2 8bit NAND, H2 16bit NAND and Integrator) platforms. The results of these tests show
that the performance can be only improved on H2 and Integrator by including the .cia file with the NAND access routines.
Thus, the assembler code has only been enabled for H2 and Integrator.
7. AnatolyP
1. DEFECT FIX: DEF068363: Some kernel APIs are called by H2 drivers?functions from the wrong context.
Some kernel APIs have limitations on the context they are called from (preconditions). As a part of my
PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that some H2
driver functions do not meet the preconditions while calling kernel APIs.
The following steps are performed to fix improper use of kernel APIs:
1) void DVariantPowerControllerH2::PowerDown(TTimeK aWakeupST):
call of iPowerOffEventDfc.Add() replaced with iPowerOffEventDfc.Enque().
2) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerDown():
call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
3) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerUp():
call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
4) void DLcdOmapVarPowerhandlerH2::VariantBackLightOn():
call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
5) void DLcdOmapVarPowerhandlerH2::VariantBackLightOff():
call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
6) TInt DLcdOmapVarPowerhandlerH2::uWireCallbackFn(TAny* aPtr) call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
7) void THelenI2CPowerHandler::PowerUp():
call of iPowerUpDfc.Add() replaced with iPowerUpDfc.Enque().
8) TInt TTPS65010::Init(TInt Devicei2cAddress, TUint aConfigFlags):
call of iStateMachineDfc. Add() replaced with iStateMachineDfc.Enque();
9) TInt TTPS65010::i2cCallBackfn(TAny *aPtr):
call of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
10) TInt TTPS65010::Read8(TUint aTargetRegister, void (*aCallBack)(TAny* aPtr, TInt aValue), TAny* aCallBackArg):
calls of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
11) void TIsp1301::InitialiseTranceiver():
instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
12) TInt TIsp1301::RequestComplete(TAny* aPtr):
call of iDfc. Add() replaced with iDfc. Enque().
13) void TIsp1301::GetConnectionState():
instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
14) void TIsp1301::EnableDpPullUp():
instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
15) void TIsp1301::DisableDpPullUp():
instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
Also, void TIsp1301::ClearInterrupts() and void TIsp1301::DumpIsp1301Regs() were modified in the same way(conditional call of iDfc. Add()/iDfc. Enque() instead of unconditional call of iDfc. Add() ).
16) The problems with the physical sound drivers are caused by the fact that they enque DFC being in DMA DFC. To fix these problems, we need to call logical driver DFC functions instead of queing DFC. To do so, I had to declare DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
PDD functions that request next play/record buffer are left unchanged to avoid modifications in synchronization engine.
So, LDD functions are modified in the following way:
in functions DSoundLdd::PlayCallback(), DSoundLdd::RecordCallback() and void DSoundLdd::PlayErrorCallback() all unconditional calls of Dfc::Add are replaced with the conditional calls of appropriate function.
Also, the following modifications were made in PDD code:
-in function void DSoundTxDma::SoundTxDmaService call of PlayErrorCallback() is replaced with setting Ldd iPlayError and calling Ldd PlayDfc;
-in function DSoundRxDma::SoundRxDmaService() call of
RecordErrorCallback() is replaced with setting Ldd iRecordError and calling Ldd RecordDfc;
17) void DChannelCommDMA::TransmitFrame(TDes8 &aFrame) and void DChannelCommDMA::CheckTxBuffer():
instead of unconditional call of DChannelCommDMA::CompleteWrite() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteWrite() is called is previously, otherwise DoCompleteTx() function is called directly.
void DChannelCommDMA::ReceiveFrame(const TDes8 &aFrame):
instead of unconditional call of DChannelCommDMA::CompleteRead() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteRead() is called is previously, otherwise DoCompleteRx() function is called directly.
instead of unconditional call of DrainRxBuffer() the check of current CPU context is introduced: if the current context is ISR, then DrainRxBuffer() is called is previously, otherwise the dedicated function DrainRxBufferEnque()is called.
void DChannelCommDMA::StateIsr(TUint aSignals)
instead of unconditional call of iSigNotifyDfc.Add() the check of current CPU context is introduced: if the current context is ISR, then iSigNotifyDfc.Add() is called is previously, otherwise UpdateSignals() function is called directly.
instead of unconditional call of DChannelCommDMA::CompleteRead() and DChannelCommDMA::CompleteWrite() the check of current CPU context and the call of the appropriate function is introduced.
18) void DLddChannelCamera::CompleteNewImage():
instead of unconditional call of iCompleteNewImgDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
void DLddChannelCamera::CompleteAngleDetect():
instead of unconditional call of iCompleteAngleDetectDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
2. DEFECT FIX: DEF068369: Some kernel API are called by Lubbock drivers?functions from the wrong context.
Some kernel APIs have limitations on the context they are called from (preconditions). As a part of
my PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that
some Lubbock driver functions do not meet the preconditions while calling kernel APIs.
The following steps are performed to fix improper use of kernel APIs:
1) We need to allow calls of logical driver DFC function from PDD instead of queing DFC. To do so, I declared DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
2) Also we have to modify sound LDD to allow calls of callback functions from DFC(to keep synchronization engine for allocation of play/record buffers working).
The following modifications were made in PDD code:
-in function DSoundPddMcot::DoErrorCallbackFn() call of
PlayErrorCallback() and RecordErrorCallback() was replaced with setting Ldd iPlayError and calling Ldd PlayDfc/RecordDfc;
The following modifications were made in LDD code:
in functions DSoundLdd::PlayCallback(), DSoundLdd::RecordCallback(), void DSoundLdd::PlayErrorCallback() and DSoundLdd::RecordErrorCallback() all unconditional calls of Dfc::Add were replaced with the conditional calls of appropriate function(this modification was made as a fix of DEF068363).
3) As soon as Lubbock Nand driver is single threaded and executes synchronously (thus not reentrant) , there is no need to protect accesses to the hardware device. So I removed mutex protection from the following functions:
- DevReadSpare
- DevRead
- DevWriteSpare
- DevWrite
- DevErase
4) Crash debugger should avoid calls of kernel functions because kernel is unreliable after the crash. So, I moved the call of NKern::Lock in the part of Variant::UartInit() which is not executed in the context of crash debugger.
8. PhilK
1. MILESTONE: Bravo GT268, MS3.1.4 PREQ1073 Base port H4 UART drivers suitable for BT EDR.
Ensure H4 serial PDD can support 3.6MBaud serial transfer speed by increasing data
processing DFC thread priority and enabling autoRTS flow control.
9. MiguelB
1. MINOR CHANGE: Modified CoreLdr (H2, udeb build only) to validate ROM image checksum.
This is enabled by defining the SYMBIAN_CHECK_ROM_CHECKSUM macro in the CoreLdr make file
in the variant directory.
2. MINOR CHANGE: Modified NandLoader to validate ROM image checksum for uncompressed images only.
Version 2.00.1110
===========================
(Made by MaximK, 28/10/2005)
1. MaximK
1. DEF072205 - [System Build] : ROM building warnings in overnight 9.2 build.
Usercomdeb driver moved out of ROFS as drivers must be in core image.
Version 2.00.1109
===========================
(Made by MaximK, 25/10/2005)
1. MiguelB
1. DEFECT FIX: DEF070626: Symbian format 1G miniSD illegally
The first data sector for SD cards (i.e. the first sector after the root directory)
is now aligned to a boundary unit as suggested in the SD Memory Card Specifications -
Part2 File System Specification,Annex C & D.
2. DEFECT FIX: DEF071342: NAND/XSR - Bad Blocks not handled correctly on H2/H4
Fixed nand_plat.h for H2 & H4 so that CoreLoader is able to calculate any
replacement block positions correctly.
Changed CoreLdr so that it complains and aborts if the number of blocks in the
reservoir, according to the table in nand_plat.h, is zero.
Added a '-e' option to NandLoader to erase & format the device; this option
erases all bad blocks from the bad block table (for XSR).
2. OlegI
1. MILESTONE: Intulo GT262, MS3.4 PREQ505 Easy and consistent configuration of component traces
Added new USERCOMDEB LDD for collecting trace debug data and user library USERCOMDEBC.
Added new test T_USERCOMDEB and auxiliary D_KERN_MSG LDD for it.
Also changed kernel for calling trace debug hook in critical section
Changed e32test\debug\d_logtofile.cpp to processing EInfoTrace case for preventing compillation
warnings.
Version 2.00.1108
===========================
(Made by OlegI, 17/10/2005)
1. MiguelB
1. DEFECT FIX: DEF071183: Buffalo mini SD card is not recognized by Symbian
Buffalo cards report that partial reads are supported but these do not work correctly.
Workaround is in SD card stack PSL, integrator LM_PANA logic module.
2. JonCo
1. DEFECT FIX: DEF070920: ColdStart initializes RealTime with value written in RomHeader
3. JenniferH
1. DEFECT FIX: DEF071190: Behavior regression of TaskEventLogging function.
Version 2.00.1107
===========================
(Made by RobertJ, 13/10/2005)
1. JonCo
1. DEFECT FIX: DEF068256: t_pwstr test fails on Integrator Board
2. DEFECT FIX: DEF070859: Mem::Swap broken for some unaligned addesses
2. MichaelP
1. MILESTONE: Bravo GT0236, MS3.13 SLUI-6EVS5P "USB Device Driver API extension to support
setting of an string descriptor at a specific index"
Added three new USB API functions for the manipulation of arbitrary USB string
descriptors + updated USB API documentation accordingly:
TInt RDevUsbcClient::GetStringDescriptor(TUint8 aIndex, TDes16& aString);
TInt RDevUsbcClient::SetStringDescriptor(TUint8 aIndex, const TDesC16& aString);
TInt RDevUsbcClient::RemoveStringDescriptor(TUint8 aIndex);
Also added test cases to T_USB and T_USBAPI.
2. DEFECT FIX: DEF069016: T_USBAPI variant specific tests mask some failures
The USB capability functions now only use lists of known negatives (i.e. they list
platforms known NOT to support something). Also, the capability functions now have
more meaningful (& unified) names.
3. MINOR CHANGE: Reformatted some USB files + changed in-source comments.
Version 2.00.1106
===========================
(Made by JenniferH, 11/10/2005)
1. JonCo
1. MINOR CHANGE: Make t_lat2 print a message to explain what it's doing
2. MINOR CHANGE: Make t_cputime wait until system is idle on windows builds
3. DEFECT FIX: DEF068185: t_kheap test failure
4. DEFECT FIX: DEF068840: NTimerQ C++ code doesn't build
2. MichaelMo
1. DEFECT FIX: DEF070257 - Update Samsung UnistoreII driver to version 1.4.0
This fixes various defects in the Samsung provided UnistoreII driver (see defect report for
Samsung defect numbers).
3. AnatolyP
1. DEF068356: Kernel API is called by the testcode from the wrong context.
To fix improper use of kernel API the call of DObject::Close is wrapped into NKern::ThreadEnterCS() and NKern::ThreadLeaveCS().
4. JonathanM
1. MINOR_CHANGE: Fix test utility REBOOTDRV so that CPU state is cleaner after reboot
5. SimonT
1. DEF070472: H4 nandloader doesn't include the coreloader binary in the rom
6. MiguelB
1. MINOR CHANGE: Disabled automatic _SDIO support from H2 textshell ROM builds -
this now needs to be defined on the command line when building a ROM.
Version 2.00.1105
===========================
(Made by GavinT, 07/10/2005)
1. Dennis
1. DEFECT FIX: DEF069289 "Exception handling doesn't work in extension ROMs"
Added a field to TExtensionRomHeader to point to the exception search table
for that extension ROM. Modified ROMBUILD to fill in this field.
Add code to the runtime support to look in the extension ROM if an address
is not found in either the main ROM or in a RAM-loaded code segment.
2. JonCo
1. DEF069351: New x86 3.2.3 Compiler requires pragmas to globally supress warnings
2. DEF069355: Requiring more scan and key codes
3. DEF068505: Suggested improvement to comment on NThreadBase::Kill()
4. DEF069395: Incorrect documentation on TPriListBase::operator> in nklib.h
5. INC067854: Trap instrumentation lacks TRAP_INSTRUMENTATION_END or TRAP_INSTRUMENTATION_STOP
3. SimonT
1. DEF069439: Integrate TI's 9.29 H4 release into the H4HRP
This is a planned integration of TI's H4 baseport release to minimise
differences between the two baseports.
2. DEF068016: Incorrect use of NFastSemaphore internal field
3. DEF069228: H4 benchmark suite doesn't behave as expected
4. DEF067001: Latency values look weird
5. DEF068894: MMU enable the H4 coreloader (coreloader performace)
6. DEF068952: Rebootdrv changes for MMU enabled coreloader (and test app)
7. MINOR CHANGE - permit screen rotation within H2 textshell
8. MINOR CHANGE - include rebootdriver in techview roms (H2/H4)
4. MaxymG
1. DEF067304: Missing check for memory allocation in nand_media.cpp
5. MiguelB
1. DEFECT FIX: DEF068573: Emulator timer thread suicide if too many ticks are missed
Modified the timer tick callback to ensure the timer is not inadvertently killed.
2. MILESTONE: Bravo GT0236, MS3.10 WiFi Demo.
Adds support for SD/SDIO to H2 HRP. This is part of PREQ719 and enables
support for third-party SDIO WiFi drivers cards on H2.
MCF approval reference for creation of new component 'base_h2_sdio': NC-5060.
MCF approval reference for creation of new component 'base_sdiotests': NC-5066.
3. CHANGE REQUEST: Bravo GT0236, MS3.14 APOS-6FRCG5 Add support for 2 GB-SD cards.
The latest SD card spec enables support for 2GB cards by allowing the block length
read from the CSD register to be 1024. If this value is read as 1024, then a block
length of 512 bytes should be assumed.
Note: Changes are probably required in the PSL MMC/SD stack DLL to support 2GB cards.
Any calls to TCSD::ReadBlockLength() should be carefully analysed and as likely as not
replaced with a call to the new function TMMCard::MaxReadBlLen().
4. MILESTONE: Bravo GT0262. MS3.2 Improve MMC Performance using v4.0 specification
Adds support for MMC V4.0 cards. These can operate at bus widths of 1, 4 or 8 bits
and up to 26 or 52 MHz.
Note: Changes are required in the PSL MMC/SD stack DLL to fully support v4.0 cards -
The virtual functions DMMCStack::SetBusWidth() and DMMCStack::MachineInfo() must be
implemented.
6. YingS
1. MINOR CHANGE: Fix DEF047896 Replace non-ascii characters with HEX value
7. DmitryL
1. DEFECT FIX: DEF067963: PBus DFCQueue gets corrupted when running t_ramstr on removable drive.
in DMMCStack::TMMCStackSchedStateEnum DMMCStack::SchedGetOnDFC() DFC is now queued using
TDFC::Enque() instead of TDFC::DoEnque().
8. GavinT
1. DEFECT FIX: DEF068056: T_MMCPW crashes
Changed RunPasswordWindowL() to check the return result from its call to
RConsole::Init(). In the event of an error, the client thread is panicked and
we leave.
Version 2.00.1104
===========================
(Made by AnatolyP, 26/09/2005)
1. RichardCo
1. DEFECT FIX: DEF067832: Kernel faults during Cleanupstack unwinding (MCL)
Defer unloading DLibrary objects instead of DCodeSeg, so that two processes
mapping the same library can safely unwind simultaneously.
2. DEFECT FIX: DEF068536: buildrom versions of Integrator NAND iby files are incorrect
Correct iby files so that techview NAND roms work on Integrator without
manually overriding the options.
2. JenniferH
1. DEFECT FIX: DEF068258: Crash debug and crash logger must dump CodeSeg info
The crash debugger has been extended to include the 'p' and 'P' commands, that show codesegs.
The crash logger has also been extended to show some of this information.
3. MaxymG
1. DEF063113 FIX: Nand STL can not be closed and reopened
4. MichaelP
1. DEFECT FIX: DEF068695: H4: USB PDD .DEF File Unnecessarily Duplicated
Removed the two duplicate USB PDD .DEF files for H4 (omap_hrp/h4/bmarm/usbccU.def
and omap_hrp/h4/eabi/usbccu.def). Changed the 'deffile' reference in
omap_hrp/h4/usbcc.mmp to now point to ..\..\e32\~\usbcc.def.
Version 2.00.1103
===========================
(Made by PhilK, 22/09/2005)
1. PhilK
1. MILESTONE: Bravo GT0268, MS3.1.2 PREQ1073 USB client
This submission cures problems with the H4 HRP USB client driver panicing in
various PAN connectivity tests, and adds host device connection detection.
Version 2.00.1102
===========================
(Made by RichardCo, 21/09/2005)
1. TonyL
1. DEFECT FIX: DEF068206: Configure h2 to use 32KHz clock for GpTimer7 by default
The rationale for this fix is that the NAND core loader configures this timer
to be a 32KHz clock but the bootstrap resets it to use the system input clock
(12MHz for H2). Preserving the 32KHz clock ensures that boot time can be
profiled in the NAND boot image.
2. OlegI
1. DEFECT FIX: DEF065516: t_pwstr not working on SymbianOS 9.1 WK26
Used function Kern::ThreadRawWrite() instead of direct writing for transferring
PasswordStoreLength from Kernel to User side in Locmedia driver
3. JonCo
1. DEFECT FIX: DEF068257: Exception handler assumes there is a current thread
4. DjordjeK
1. DEFECT FIX: DEF067827: Viewing certain memory locations causes the OS to crash (MCL)
The problem was related to the inter-process (IPC) memory transfer in Kernel. As the consequence,
Kernel could panic if client (or server) passes a faulty descriptor for IPC transfer.
On both mem. models, there was the issue if the memory to copy to/from was not word aligned, as memcpy
transfers the whole words wherever it is posible - crossing memory boundaries specified in the exception handler.
On moving mem. model, there was also the problem where the run address is specified in the exception handler
while it is usually home address that is actually accessed by memcpy.
Thread::RawRead/RawWrite now update the memory regions specified in the exception handler before memory access attempt.
5. RichardCo
1. MILESTONE: Intulo GT0262, MS3.3 PREQ1032 Kernel support for VFPv2
Provide full VFPv2 support in the kernel.
Version 2.00.1101
===========================
(Made by AndrewHi, 16/09/2005)
1. AndrewHi
1. DEFECT FIX: DEF068504: 2 components currently own nand_fbr_offset.inc and nand_fbr_offset.c
Version 2.00.1100
===========================
(Made by AndreasP, 14/09/2005)
1. JonCo
1. MILESTONE: Intulo GT262, MS3.1.2 PREQ512 Tune hand-coded assembler routines (kernel)
Kernel-side assembler routines have been tuned and updated to take
advantage of ARMv6 instructions where possible.
2. DEFECT FIX: INC067401: Missing Find interface in RArray and RPointerArray
2. RichardCo
1. DEFECT FIX: DEF067966: The loader thread suffers badly from heap fragmentation
Change allocation granularity for the loader cache's indexes so heap
cells pack more tightly and get realloced less often.
3. YingS
1. DEFECT FIX: DEF068038 - CR: PPEL-6BGGKR is incomplete
Reorganise source structure in \integrator, \soc, and \wins dirs.
Group SD-3C LLC only source into sdcard3c dir, and
group SD-4C LLC source into sdcard4c dir
4. SimonT
1. DEFECT FIX: DEF068030: Problems found in unistore2 drivers when bringing up XSR on H4
The data register offset was not applied to the base address and the
device type on the H4 was not present in the recognition table.
2. MILESTONE: Bravo GT268, MS3.1.3 PREQ1073 H4 HRP Boot from NAND
MCF approval reference for creation of new component 'base_omaph4hrp_unistore2': NC-5063.
Boot from NAND support has also been added to the H4 bootloader (from v1.5)
5. MichaelP
1. DEFECT FIX: DEF067977: USB PDD PSL SetupEndpointZeroRead() code and comment differ
Modified SetupEndpointRead() and SetupEndpointZeroRead() for both
Cotulla and the Template port. We now return KErrGeneral instead of
KErrNone if (ep->iRxBuf != NULL).
Version 2.00.1037
===========================
(Made by YingS, 05/09/2005)
1. JenniferH
1. DEFECT FIX: DEF067483: EMI needs a soak test.
2. DjordjeK
1. DEFECT FIX: DEF067226: TTime.Parse does not parse microseconds - it ignores them
Added code in TStringToDateTime to take microseconds into account.
To separate seconds and microseconds, the following separators could be used:
- any time separator (that already separates hours, minutes and seconds).
- decimal separator (obtained by TLocale::DecimalSeparator())
3. RichardCo
1. DEFECT FIX: DEF066708: WServ: Digitizerarea initilized the wrong way.
The emulator's digitizer was returning wrong coordinates, or ignoring
clicks, in certain conditions when the screen was rotated. Fixed
coordinate calculations to work for all rotations.
4. MichaelP
1. BREAK REQUEST BR1623.1 USB: USB API Future-proofing Changes.
Included are also the API changes for upcoming PREQ709 "USB 2.0 High-speed".
List of symbols that had members added (both named & iReserved):
TUsbDeviceCapsV01, TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
TUsbcClassInfo, TUsbcInterfaceInfo, TUsbcInterfaceInfoBuf.
This is a BC break, so affected sources need to be recompiled.
5. JonCo
1. DEFECT FIX: DEF067718: RPointerArray<T> can no longer take type TAny (MCL)
Version 2.00.1036
===========================
(Made by MichaelMo, 31/08/2005)
1. JenniferH
1. DEFECT FIX: DEF066750: Compilation errors for ARM1136
2. DEFECT FIX: DEF065150: Kern::CurrentThread, Kern::CurrentProcess assume there are no personality layers
The documention for the functions wil be updated.
The crash debugger will be changed, as suggested, to check for NThreads.
The sample profiler, which is called out of thread context, has been changed to ignore NThreads (Instead of crashing).
3. DEFECT FIX: DEF066832: Repeated changing of EMIStart/Exit monitors can give inconstant results.
2. Dennis
1. DEFECT FIX: DEF065842 "Workaround required for ARM1136 Erratum 353494"
This erratum can cause ICache corruption if a prefetch abort occurs on
a location which is cached in the BTAC. The workaround is to (i) flush
the BTAC whenever any code is unmapped and (ii) never use RONO permissions
on code.
Define macro __CPU_ARM1136_ERRATUM_353494_FIXED in variant.mmh if this
erratum is not present on the hardware in use.
2. DEFECT FIX: DEF067029 "Workaround required for ARM1136 Erratum 351912"
This erratum can cause incorrect results to be produced by floating point
multiplications in the presence of dynamic branch prediction. The
workaround is to disable dynamic branch prediction for any thread which
uses the VFP. Other threads are unaffected.
Define macro __CPU_ARM1136_ERRATUM_351912_FIXED in variant.mmh if this
erratum is not present on the hardware in use.
3. RichardCo
1. MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
Provide HAL attribute indicating whether VFP is supported by the current platform, and
extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.
4. JonCo
1. DEFECT FIX: DEF067060: Documentation defects in RBuf8/16 ReAlloc / ReAllocL
5. CarlosF
1. DEFECT FIX: INC067137: WINSCW emulator networking does not work in Windows XP SP2
Netcards needs to be compiled with .NET for XPSP2, thus look at compiler specific
defines and if .NET assume XPSP2.
6. MiguelB
1. INTERFACE CHANGE: BR1592 Peripherals: Enable MMC V4 support.
Required as prerequisite for Intulo PREQ562. This change does
NOT implement MMCV4 support, it only makes the code binary compatible
with future OS releases which will support it.
2. DEFECT FIX: DEF067130: SD Card MBR, One parameter incorrectly implemented
The GetChsCylinder function was incorrectly implemented due to an incorrect cast
to TUint8 rather than TUint16. TUint16 is now used.
7. DjordjeK
1. DEFECT FIX:DEF066104: T_IMB will sometimes loop forever
Two threads in test code were in potential deadlock.
8. AndreasP
1. DEFECT FIX: DEF066398: T_SERIAL turnaround test timings too tight.
One tick period has been added to the driver's MinTurnaroundTime to allow
for the RTimer inaccuracy.
9. JonathanM
1. MINOR CHANGE: Modified ROM.PL to support multiple -DEFINE options.
2. MINOR CHANGE: Fix for T_KHEAP. This turns off the Loader's lazy DLL unloading
which was causing problems for the test.
10. AndrewR
1. DEFECT FIX: DEF057164: Nefarious clients can create orphaned session objects in a server
The behaviour of the client/server mechanism is modified to serialise the reception of
connect and disconnect messages so that neither an orphaned session object may be created
in the server process' address space nor may the server find itself in possession of a
handle to an invalid connect message.
In the case where an unaccepted connect message has been delivered to the server, rather
than waiting until the connect has been completed to send the disconnect message (as in
the case of an accepted connect message), the connect message is simply removed from the
server's queue, completed immediately and a disconnect message sent immediately.
The last message to be sent on any session remains a disconnect message and a disconnect
message is sent in all cases, so that the server never encounters issues with the lifetime
of its message handles [assuming it completes non-connect messages with null session cookies
immediately].
Certain operations are now declared to be illegal w.r.t. server connection:
* A client thread may not send more than one connect message simultaneously, nor may it send
another connect message once a connect message has been successfully completed.
* Similarly, a server may not set the cookie twice nor may it set the cookie to be NULL. Also,
a server may only set the cookie from a connect message and from no other.
Unit test code, in the form of t_svr_connect, has been added to test this behaviour.
Patch to version 2.00.1035
===========================
(Made by YingS, 22/08/2005)
1. YingS
1. DEFECT FIX: DEF067023 - [System Build] CBR Errors (orphan files) in MCL
Add binary statements in mrp files
Version 2.00.1035
===========================
(Made by MichaelP, 17/08/2005)
1. JonCo
1. DEFECT FIX: DEF066250: Incorrect online documentation for RProcess:: HasCapability() and others
2. DEFECT FIX: DEF066477: Bad doc tag causes bad doc
3. DEFECT FIX: DEF066727: ROM bitmaps don't work in extension rom's
4. DEFECT FIX: DEF066471: T_COLOUR test causes H2 board to die
2. Tonyl
1. DEFECT FIX: DEF066239: H2 nandtest_load_noext doesn't work as intended
Something went wrong with this quick work-around to stop Integration
hacking our OBEY files for their boot from NAND smoketest.
2. MINOR CHANGE: Added description for HAL properties EDisplayMode and
ESwitches
3. RichardCo
1. DEFECT FIX: DEF058485: Crashread reads data starting at the wrong position
Make unistore2 crash logger write a whole page of whitespace instead
of just one sector, eliminating the y-umlaut characters.
2. DEFECT FIX: DEF060474: Kernel exports RVCT specific functions
INTERFACE CHANGE: BR1612.1 Kernel: Remove RVCT specific kernel exports
Remove RVCT-specific compiler helper functions from kernel export list,
leaving only EABI and CPPABI compliant helpers that will not harm non-RVCT
builds. ALL BINARIES THAT LINK AGAINST THE KERNEL MUST BE RECOMPILED.
3. DEFECT FIX: DEF066774: Not possible to load more than 2 crash debugger extensions
Support an 'arbitrary' number of crash debugger extensions - 8 by default, change
#define MONITOR_MAXCOUNT in e32/include/kernel/monitor.h for more.
4. AndrewHi
1. DEF058851: NAND SSR is wronlgy classified as internalTechnology
Updated classication tags as approrpiate.
2. DEF065648: Inappropriate waiting on ready/busy line in XSR NAND driver
Used interrupt and IDfc to indicate when the transition has ocured. Also used an NTimer
to ensure that a maximum waiting period is not exceeded.
5. MichaelP
1. DEFECT FIX: DEF066330: USB LDD debug print causes crash
- Removed the offending debug printf.
6. MiguelB
1. DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
2. DEFECT FIX: DEF065932: SD-Card MBR Does not meet the SD-card specifications
3. DEFECT FIX: DEF065356: Emulator crash: FAULT: PBUS 00000000
7. Dennis
1. DEFECT FIX: DEF066445: RArray/RPointer array need a Reserve() function.
Added the following functions, which ensure that an array has sufficient
space for aCount elements:
TInt RArray<T>::Reserve(TInt aCount)
void RArray<T>::ReserveL(TInt aCount)
TInt RPointerArray<T>::Reserve(TInt aCount)
void RPointerArray<T>::ReserveL(TInt aCount)
8. RobertJ
1. MILESTONE: Bravo GT0236, MS3.9 PREQ01192 Performance Plus!
Enabled MMU i-cache & d-cache in NAND coreloader
9. YingS
1. MILESTONE: GT0223 Mike Base Peripherals, MS 3.11 CR: PPEL-6BGGKR NC-5056 BR 1574.1,
Ease delivery of SD Card 3C / 4C code by seperation into different CBR components and DevKit supplementaries
10. TonyL
1. MILESTONE: Bravo GT268, MS3.1.1 PREQ1073 H4 Base Port (H2 to H4 migration)
This adds the H4 HRP Base Port to the Base. The H4 Base Port is located
under the omap_hrp\h4 directory. See also the base\documentation
directory for the H4 HRP User Guide and other H4 documents.
There are future deliveries for full/low speed USB client verification,
boot from small block NAND, TV-OUT, SD/SDIO, OneNAND, Sibley,
High Speed UART, USB High Speed, VFP, Camera and Power Management
delivered by various projects.
MCF approval reference for creation of new component 'base_omaph4hrp': NC-5059.
Version 2.00.1034
===========================
(Made by MaximK 05/08/2005)
1. MichaelP
1. DEFECT FIX: DEF059067: USB prints error messages whist running t_usb Receive-only test
Made sure all data members of USB LDD are properly initialized.
Also added missing user-side function GetEndpointZeroMaxPacketSize().
2. MINOR CHANGE: Brought USB API document after some additions to v2.0.2.
3. MINOR CHANGE: Restructured code of USB test program T_USB (file t_usbco2.cpp).
4. MINOR CHANGE: Unified KPANIC printf output format for USB PDD.
2. OlegI
1. DEFECT FIX: DEF065369: Emulator extension list not sufficiently configurable
Properties initialisation was reverted having one default list of extensions, including winsgui,
initialised before command line/epoc.ini processing, as before.
Winsgui extension is checking NoGui property during its creation and if NoGui==true it do nothing.
3. CarlosF
1. MINOR CHANGE: as a result of fixing DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR
FAT drives automatic f32tests are now enabled on drive i on Lubbock.
2. DEF059489: EKA2 version of netcards is missing auto interface selection
4. JonCo
1. DEFECT FIX: INC062499: const missing for method FindInOrder in RArray and RPointerArray
2. DEFECT FIX: DEF066066: short jump out of range warning reported by Nokia x86 Compiler in uc_realx.cpp
5. JonathanM
1. DEFECT FIX: DEF065694: Baseports use DThread::iNthread which is internal to the kernel
2. DEFECT FIX: DEF065841: Inconsistent EActive & EInactive events when 2 screens (emulator) (MCL)
3. DEFECT FIX: DEF066075: Documented incorrect capability for EDisplayHalBacklightOn in u32hal.h
Deleted the @capability tag in the in-source docs for EDisplayHalBacklightOn.
Getting the backlight state doesn't require any capabilities.
6. TonyL
1. MINOR CHANGE: (H4 preamble) Add support to bootloader bootstrap code
to use CFG_CopyRomToAddress as the RAM address to copy boot loader.
2. MINOR CHANGE: (H4 preamble) pick up H4 base port IBY file if required
from base.iby
3. MINOR CHANGE: Fix minor warning in rofs test
4. MINOR CHANGE: (H4 preamble) add H4 hal uid
(Note none of these changes require H4 base port support in the tree)
7. AndrewR
1. DEFECT FIX: __BREAKPOINT() does not work correctly with __LEAVE_EQUALS_THROW__
The Win32 nkern structured exception handler was changed to handle breakpoint exceptions
by directly calling the Win32 handler which launches the JIT debugger. Breakpoint exceptions
were previously explicitly left unhandled and allowed to propagate out of the emulator to the
JIT debugger handler. However, with the advent of __LEAVE_EQUALS_THROW__ TRAP() frames using
catch(...) install Win32 SE handlers which prevent the breakpoint exception propagating out
of the emaultor and launching the JIT debugger, resulting in a call to User::Invariant() instead.
Hardcoded breakpoints using __BREAKPOINT() now work correctly and in particular launching a JIT
debugger when a thread panic or kernel fault occurs in a udeb emulator not running under a
debugger will work once again.
8. Dennis
1. Added assertions to the emulator to ensure that the kernel is never
entered or exited with the current thread in a critical section, with
preemption disabled or with a fast mutex held.
Version 2.00.1033
===========================
(Made by TonyL, 26/07/2005)
1. TonyL
1. DEFECT FIX: DEF065673: [System Build] NAND ROM Loader Broken
Version 2.00.1032
===========================
(Made by JohnS, 21/07/2005)
1. RichardCo
1. DEFECT FIX: DEF064869: The CEnvironmentChangeNotifier doesn't invoke callback function.
If changing the timezone offset to the value it is already set to,
don't cancel timers.
2. DEFECT FIX: DEF061603: Problem with more than 16MB of I/O mappings on multiple memory model
INTERFACE CHANGE: BR1552.1 Kernel: Memory map changes for the multiple memory model
Move IO mappings from 0xC3000000 to 0xC6000000, and pagetables from 0xC4000000 to 0xC2000000
on the multiple memory model. Base ports need to change any references to these addresses
accordingly.
2. MichaelP
1. DEFECT FIX: INC064822: USB connection is not visible in PC suite's File manager-view
Changed the way physical USB endpoints are configured during UDC startup in
\omap\shared\usb\omapusbc_gen_cont.cpp (OMAP USB PSL on H2).
3. MichaelMo
1. DEFECT FIX: DEF061266: Can not build nand LLD without undeliverable source
Samsung unistore2 header files have been moved from the base_drivers_unistore2_undeliverable component
to the base_drivers_unistore2 component with their agreement.
4. TonyL
1. MINOR CHANGE: Add a variant specific mechanism to H2 base port to
recall the value of a hardware timer. This can be used to calculate
boot time for NAND based images if the required logic is added to
the H2 NAND coreloader (note this logic hasn't been added)
5. JonCo
1. DEF064966: Base PlatSec APIs are @publishedParter
2. DEF064985: various changes needed in base doxygen comments
3. DEF064965: No way of checking a TSecurityPolicy against process's creator
4. DEF065086: _FOFF macro causes warning in GCC-E
5. DEF065182: Process JustInTime() state not tied to Emulator EPOC.INI setting
6. Carlosf
1. CHANGE REQUEST CFRS-6DLMNF Automate the booting of test images from NAND flash and testing
both the NAND User area drive and ROFS/ROFS extension drives.
Automatic testing now involves programming a Core image and a ROFS and ROFS extension images
to NAND flash, rebooting into the Core image and then running all the tests including the full
F32 test suite on the NAND User data drive and the ROFS tests.
NOTE: rom.pl has been modified to allow buildinfg ROFS and ROFS extension images. All that
is required is to have the appropriate markers for the start of these images (same as required by
rofsbuild) in the .OBY file (rom type)
2. DEFECT FIX: DEF063793: Coreloader and Miniboot make files are using an old RVCT syntax
7. MiguelB
1. DEFECT FIX: DEF056953 - Mistakes in API Classification
Added file-wide @internalTechnology tag to e32\drivers\unistore2\src\md\nanddefs2.h
2. DEFECT FIX: DEF063435 - DSDIORegisterInterface::EngageSdio() should use NFastSemaphore::SetOwner()
Changed DSDIORegisterInterface::EngageSdio() to use correct API.
8. StefanW
1) DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
if a the forced remount was successful.
2) DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
- Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
- Modified MMC media driver to allow a locked partition to be mounted.
- Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
- Fixed problem in emulator which prevented the emulated MMC card from being removed.
(F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)
3) CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
As part of this CR, the following new RMessagePtr2 API has been introduced:
const TRequestStatus* RMessagePtr2::ClientStatus() const;
This API is intended for use by providers of asynchronous services where the TRequestStatus* is
used as a unique identifier for the cancellation outstanding requests and there are not enough IPC
arguments remaining to allow this value to be passed without resorting to extra packaging of the
request parameters. Note that this pointer must never be accessed directly or completed.
9. DjordjeK
1. DEF064766: t_mstim fails occasionally
d_mstim & d_tick drivers on H2 are using OSTimer3 to measure the duration of the timing services.
The timer was configured to period of 21.33us. OSTimer1 (used for Kernel Tick) is of 2.66us period.
That extra rounding in the drivers'calculations caused some tests to fail occasionally.
The period of OSTimer3 is now fixed to be the same as for OSTimer1 (2.66us).
10. JenniferH
1. DEF064810 hirestimer on H2 has incorrect clock frequency
The hirestimer was using 32khz timer, that was inaccurate.
It has been changed to use GPTimer3 at 3Mhz.
Version 2.00.1031
===========================
(Made by JonathanM, 13/07/2005)
1. JonathanM
1. DEFECT FIX: DEF060439 - Security checks on RProperty::Define missing
INTERFACE CHANGE: BR1573.1 Enforcing security checking in Publish and Subscribe.
This change means that processes can only define properties if the category is either:
a) The same as the process's Secure ID
b) KUidSystemCategory (requires WriteDeviceData capability)
c) Numericly less than KUidSecurityThresholdCategoryValue (requires WriteDeviceData capability)
Version 2.00.1030
===========================
(Made by OlegI, 11/07/2005)
1. RichardCo
1. DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
Fix emulator's path parsing to be able to deal with the case where no
path is given, only the drive letter and filename. It will now load
the executable from \sys\bin on that drive.
2. JonCo
1. MILESTONE: Intulo, GT0262, MS3.1.1: Allow the user library to be built as part of the variant
euser can now be built from the variant to take advantage of
processor-specific optimisation options. This has been applied to the
integrator cm1136 baseport. The rombuild flag GENERIC_EUSER can be used
to override the default behaviour and include the generic version.
2. DEFECT FIX: DEF064894: Crashdebugger should provide command help
3. RobertJ
1. MINOR CHANGE: Correction to defect fix DEF064045: #include guards in locmedia.h are wrong
Guards should have been LOCMEDIA_H
Version 2.00.1029
===========================
(Made by DjordjeK, 05/07/2005)
1. RobertJ
1. DEFECT FIX: DEF064045: #include guards in locmedia.h are wrong
Modified lock guards to be __LOCMEDIA_H__ instead of __K32LOCD_H__
2. DjordjeK
1. DEF064571: Intermittent T_IMB failures on H4
Interapts are now disabled during ICache flush on ARM1136.
See ARM1136 r0p2 Errata (Date of Issue: 07-Apr-2005):
- 325157: Associative ICache maintenance operations can deadlock
- 328429: An instruction cache invalidate by MVA or Prefetch by MVA operation, if interrupted,
can result in microTLB corruption
The fix is made configurable. It won't be included if macro __OMIT_1136_R0_ERRATA is specified in variant.mmh
2. MINOR CHANGE: t_debugapi test is fixed.
3. JonCo
1. DEF062525: Kern::NanoWait() should be delegated to the base port
Added generic kernel hook functionality. Using this a hardware-specific
implmentation of Kern::NanoWait can be supplied by the variant
4. CarlosF
1. DEF064164: T_MEDCH/D_MEDCH buildrom & test errors
D_MEDCH is now built from platform directory (and only if the platfrom supports MMC).
T_MEDCH now checks if the platform supports MMC
Version 2.00.1028
===========================
(Made by RobertJ, 27/06/2005)
1. DjordjeK
1. DEF063190: User-side After() timers complete early
When calling User::After(aTime), the time used to be (1) rounded up, and then (2) rounded down.
As a consequence, User::After(X ms) used to be completed somewhere between (X - 16) and (X+17) miliseconds.
It is now rounded up only once. The request now completes between X and X+17 miliseconds.
(17 ms is the period of Symbian OS Timer.)
The submission also includes the test code that checks these boundaries. It also checks the duration of User::AfterHighRes().
t_cper test had to be fixed as it started to fail on integrator 1136 (armv5/udeb build).
The test was using K*PERIOD-1 formula for timeout to ensure a request to be completed after K ticks of the OS Tick
(PERIOD=15625microseconds).However, the delay of 1 nanokernel tick (1000 microseconds) caused the period to last K+1 ticks.
The formula is replaced with: (K-1)*PERIOD + 1
2. JenniferH
1. DEFECT FIX: DEF063541 EMI Support Upsets OBEX Win32 USB Transport.
Have removed bad lines from win32/nsched.cpp
2. DEFECT FIX: DEF063729 EMI does not call StartMonitor for Idle thread.
Null thread EMI flags now set on EMI init.
3. MiguelB
1. DEFECT FIX: INC063035 - DWinsMMCMediaChange:TickService() panic when pressing F5 during emulator startup
Stopped a tick counter from hoing negative leading to an ASSERT
2. DEFECT FIX: INC063213 - Clean build fails with fatal errors in release 91_200524
Fixed MiniBoot & CoreLdr makefile for GCC
4. Dennis
1. DEFECT FIX: DEF063866 - Process lock can be signalled twice in DSharedIoBuffer::UserUnmap()
2. DEFECT FIX: DEF063778 - Important memory allocation functions not doc'd
5. StefanW
1. DEFECT FIX: INC063402: DPBusSocket return KErrCorrupt when MMC isn't inserted
The SDIO and SD stacks don't handle timeout error correctly when attempting to access an empty slot.
State machines modified to trap KMMCErrResponseTimeout conditions after sending CMD2.
6. RichardCo
1. DEFECT FIX: DEF063876: RTest output produces mixed up line endings that confuse editors and terminals
RTest::Printf now carefully rewrites line endings so that they are consistently CR/NL (DOS/Win style)
7. JonCo
1. DEFECT FIX: DEF063854: In-source docs don't say whether 0 or 7 is highest DFC priority
Version 2.00.1027
============================
(Made by AndrewHi, 23/06/2005)
1. ChrisC
1. DEFECT FIX: DEF062975 - TChar::Compose function completely broken.
Fix entirely within base\e32\euser
No APIchanges, BC or SC breaks.
Defect fix required as prerequisite for Bravo PREQ402
2. JonCo
1. DEFECT FIX: DEF063149: RTimer::HighRes can panic with certain positive value time intervals
2. DEFECT FIX: INC062916: Normal priority thread cannot acquire the mutex
Updated documentation to reflect EKA2 mutex behaviour
3. DEFECT FIX: DEF063574: Bug in Kern::ChunkClose()
3. JenniferH
1. DEFECT FIX: DEF062083: DMutex::Wait() should assert that the current thread is a DThread
2. DEFECT FIX: DEF062188: TTickLink methods should assert that they aren't used from ISRs
4. AnatolyP
1. DEFECT FIX: DEF062029: RProperty::Delete() overload required
In this modification a new version of RProperty::Delete function was added which doesn't require a category ID to be passed.
This overload calls the appropriate server-side API passing -1 as a category ID, and server-side function uses the SecureId of the current process when it is passed with -1.
Also the set of tests was added to CPropDelete class for testing of new functionality of RProperty class.
5. StefanW
1. DEFECT FIX: INC063037: Symbian FAT32 implementation for Nokia equipment not compatible with other FAT32
The MMC Media Driver does not recognise media with an MBR that specifies a partition type of FAT32
(Win95 FAT32[0B], Win95 FAT32 (LBA)[0C], Hidden Win95 FAT32[1B], Hidden Win95 FAT32 (LBA)[1C]).
Corrected by modifying DMmcMediaDriverFlash::DecodePartitionInfo() to recognise these partition types.
6. Dennis
1. DEFECT FIX: DEF063317 Object container classes might grow following removal of an element
CObjectCon and DObjectCon are now restricted to array sizes 8, 12, 16, 24, ..., 2^n, 3*2^(n-1),...
The array grows when it is full (as before), but now shrinks on removal of an element if it is
half-full or if it is 64 entries smaller than the next size down, whichever comes first.
2. MINOR CHANGE: Optimise FindLeastSignificantOne() function. Add test code.
Define __CPU_ARMV5T__ and consequent options when compiling for ARMV5.
7. JeremyS
1. DEFECT FIX: DEF060805: T_SERIAL turnaround test does not correctly set handshaking defaults.
Set the handshaking defaults properly before running any tests on the serial ports.
8. TonyL
1. DEFECT FIX: DEF063280: OMAP H2 baseport will not build without the e32utils source code present
Remove export of rebootdrv_ldd.h from the h2 bld.inf, this is not necessary
9. RobertJ
1. DEFECT FIX: DEF063582: Lazy DLL unloading breaks T_SHAREDCHUNK
Disabled lazy dll unloading at the start of the test
10. MiguelB
1) DEFECT FIX: DEF063830 - Cannot format particular SD card which does not support "erase single block"
Formatting "old" cards or formatting on non block boundaries was broken. The effect of this was that
not all the data was erased - normally relatively harmless.
Version 2.00.1026
============================
(Made by JenniferH, 14/06/2005)
1. MichaelP
1. DEFECT FIX: DEF061556: T_Usbapi does not check for dbl buffering support prior to testing
When de-allocating the endpoint resources, we now take into account whether the
allocation had been successful or not.
2. HusienH
1. DEFECT FIX: DEF062579: Prop:AV28Crit: NTT - TInt TDesC16.FindC -method is giving strange output values
3. JonCo
1. DEFECT FIX: DEF057853: Delay in KeyClickPlugin can cause PANIC 85
Emulator now waits for system starter to exit before running initial
process
2. DEFECT FIX: DEF062725: TCapability is missing Capability_Denied
Added ECapability_Denied, which is always reported missing
4. DjordjeK
1. DEFECT FIX: DEF062286: TTime::HomeTime() called from CTimer::RunL() implementation gives strange....
Originally when changing the time (Kern::SetSystemTime), the timers were aborted (and user requests completed)
before the time is updated. It led to the race condition where another thread of a higher priority can
read the old time (after its timer is aborted). The timers are now aborted after the time is updated.
5. YingS
1. DEFECT FIX: DEF062963: Cannot cancel keyboard rotation
Added check for EModifierCancelRotation in CKeyTranslatorX::UpdateModifiers()
6. RichardCo
1. DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
Add new overloads to RSessionBase::Open and RSessionBase::SetReturnedHandle to allow a security
policy to be validated against the server.
Version 2.00.1025
============================
(Made by CarlosF, 06/06/2005)
1. AndrewR
1. DEFECT FIX: DEF056361: Emulator initial configuration not reported and no query possible
2. JonCo
1. DEFECT FIX: DEF062142: User::ProcessCritical() does not correctly report EAllThreadsCritical
2. DEFECT FIX: DEF062081: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
3. AnatolyP
1. DEFECT FIX: DEF060557: Multiple emulator configs not updated when win serv screen mode is changed.
A new property was added to the emulator that lets the user switch configuration by
pressing a combination of hot keys, so configuration switchin is now moved from the
windows swerver to emulator.
Syntax of the definition instruction of a key combination is similar to the syntax
of the defenition instruction for EmulatorControl.
To define a new key combination add a string to appropriate configuration file according
to the following template:
EmulatorControlHotKey [command] [key_sequence]
where
-command is one of "NextConfig" or "SelectConfig [config_number]" (config_number - number of configuration to switch to)
-key_sequence is a comma-separated list of keys as defined in
e32\ekern\emul\win32\kp_gui.cpp.
For example, to assign switching to configuration number 3 to +<1> combination, add the following string to epoc.ini file:
EmulatorControlHotKey SelectConfig 3 Escape,1
4. JenniferH
MILESTONE: Bravo,GT0236 MS 3.5 APOS-6ADKQ5 Add PREQ 898 "Support for 3rd party speed managers" to the scope of Bravo
Break Request BR1547: "EMI fields added to DThread"
Implements the Execution Monitoring Interface (EMI) as described in SGL.TS0022.002.
5. JonathanM
1. DEFECT FIX: DEF062701: Can't suppress PlatSec diagnostic message in kernel code.
Passing KSuppressPlatSecDiagnostic as the Diagnostic Text to
Kern::CurrentThreadHasCapability will now prevent a PlatSec diagnostic message from
being output.
6. MaximK
1. DEFECT FIX: DEF061279 - Domain Manager has a memory of the last state transition.
CSvrDomain::RequestMembersTransition() modified to notify even if the domain is in the requested state.
Also test case is modified to reflect the change.
2. DEFECT FIX: DEF061225 - Domain Manager does not report failure when policy is ETransitionFailureContinue.
CSvrDomain::CompleteDomainTransition() modified to call iHierarchy.CompleteTransition() with correct error code.
Also a number of test cases changed to check for expected error codes.
7. BalaT
1. DEFECT FIX: DEF061853: Bootstrap debugging has been broken with RVCT2.2
Version 2.00.1024
============================
(Made by MichaelMo, 01/06/2005)
1. JonCo
1. DEFECT FIX: DEF061320: Test T_SEMUTX2 fails intermittently
2. DEFECT FIX: DEF062036: Wrong SID printed in platsec diagnositic from RProperty::Define
3. DEFECT FIX: DEF062141: Spelling typo in in-source docs for User::SetProcessCritical()
4. DEFECT FIX: DEF062070: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
2. JohnS
1. DEFECT FIX: INC056218: Emulated MMC drive size isn't configurable
The size of the emulated MMC drive can now be configured by placing an entry MultiMediaCardSize=<kilobytes>
in the epoc.ini file. So an entry MultiMediaCardSize=100 results in an emulated drive size of 100 Kb. When an
epoc.ini entry is not present the emulated drive size defaults to the previously hard coded size of 1 Mb.
Version 2.00.1023
============================
(Made by AndrewR, 31/05/2005)
1. AndrewR
1. DEFECT FIX: DEF062296: [System Build] Errors in INTEGRATOR_LMNAND_EKA2
Version 2.00.1022
============================
(Made by RichardCo, 26/05/2005)
1. JonCo
1. DEFECT FIX: DEF061551: TLitC documentation error
2. JeremyS
1. DEFECT FIX: DEF059903: f32 t_main test error is dumb, misleading and wastes peoples time
Changed the test() macro in e32test.h so that it will display the source file which contains the failing
test statement.
2. DEFECT FIX: DEF056353: Crashlogger isn't sufficiently configurable
Updated the standard media driver, and the derived media drivers used by the crash flash logger and
the nandloader application, to used a platform-specific offset that is specified as a whole number of
sectors. The rebootdrv utility deployed by nandloader, and the miniboot and coreldr utlilities used in
booting from NAND were similarly affected. The offset is specified as const TInt KNandFbrSectorOffset,
in new file nand_fbr_offset.h. To allow for the different nandboot schemes operated across our varied
reference boards, two further constants are defined in the platform-specific file nand_plat.h; these
are const TBool KNandMinibootUsed and const TBool KNandCoreldrRelocatable.
3. DavidM
1. MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
4. YingS
1. MINOR_CHANGE: Fix DEF047896 - Replace non-Ascii characters with hex equivalents
Using preprocessor statement:
#ifdef __VC32__
#pragma setlocale("english")
#endif
5. Dennis
1. MINOR_CHANGE: Ensure that there is a zero word at (entry point address + 12)
in every code module. This will subsequently be used to fix a problem with
TLS. If a dynamically loaded DLL sets TLS but never clears it before being
unloaded then another DLL subsequently loaded at the same address will pick
up the old TLS (since the module handle is the address of the entrypoint,
which will be the same). This has been known to cause crashes.
The loader will write a unique identifier over the zero word whenever it
loads a new code segment into RAM and this will be used to disambiguate
TLS references.
2. Changed RUNTESTS and T_LAT2 to make RT latency measurements as part of
an automated test run.
RUNTESTS publishes the name of the currently running test to a P+S
property. T_LAT2 subscribes to this and outputs latency measurements
after each test.
3. Add new 'kernel behaviour flag' KTESTLATENCY which disables anything which
might break latency testing, e.g. platsec diagnostics.
T_LAT2 now sets this flag.
4. Fix D_LATNCY.LDD so it works on H2.
6. RichardCo
1. DEFECT FIX: DEF061650: CodeWarrior running of epoc.exe broken
Emulator shouldn't require EPOCROOT to be set unless it's being used in an expansion in epoc.ini.
7. JonathanM
1. MINOR_CHANGE: Modified T_COBJ performance tests for faster testing.
Note, this means comparison of timings with older versions of the test are not valid.
2. MINOR_CHANGE: Made T_TICK a manual test because it doesn't actually 'test' anything.
I.e. it can't fail during automated testing.
3. MINOR_CHANGE: Made benchmarks tests 'manual' tests on the emulator in order to speed up automated testing.
(The benchmarks are fairly pointless on the emulator anyway.)
4. MINOR_CHANGE: Deleted test casse from T_TIMER. (The testThreadTermination function didn't provide
any useful testing but could cause test 'failures'.)
5. MINOR_CHANGE: Modify BM_SUITE so that it doesn't run the RT latency tests if the driver
reports KErrInUse. This can happen when latency testing is already being run by T_LAT2
8. AndrewR
1. DEFECT FIX: DEF055098 - vector allocation operator overloads not declared in e32cmn.h
Added declarations of operator new[] and operator delete[] to e32cmn.h to match the
definitions elsewhere (i.e. \e32\common\gcchelp.cpp, \e32\compsupp\symcpp\rtop[new|del].cpp,
\e32\include\win32crt.h). This fixes an obscure code generation bug on MSVC.net and has no
effect on other platforms.
MINOR CHANGE: Fixed spelling typo in PlatSec diagnostic messages
9. MichaelP
1. MINOR CHANGE: Added USB test program USBIOAPP + updated "USB PSL How-to".
10. OlegI
1. DEFECT FIX: DEF056356: Abstract descriptors can be instantiated and cause runtime failures
Added protected copy constructor for TDesC16, TDes16, TDesC8, TDes8 but with condition
#ifdef SYMBIAN_FIX_TDESC_CONSTRUCTORS because of build issues.
11. RobertJ
1. DEFECT FIX: DEF061644: Kernel codeseg garbage list never gets cleaned up
DCodeSeg objects in the garbage list were left lying around, allowing them to be reopened
causing failure when the codeseg was referenced
12. AnatolyP
1. DEFECT FIX: DEF061530: EWSRV doesn't respond correctly to SysStart invocation
Version 2.00.1021
============================
(Made by StefanW, 17/05/2005)
1. AndrewR
1. DEFECT FIX: DEF061148: Redundant implementation TLS cleanup mechanism should be removed
2. RichardCo
1. DEFECT FIX: DEF061026: e32test t_condvar timeout (10ms) setting too low
3. TonyL
1. MINOR_CHANGE: Added H2 user guide + doc set for setting up H2 telephony
4. JonathanM
1. DEFECT FIX: DEF061370: Defect with CR ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
5. JonCo
1. DEFECT FIX: DEF061383: Incorrect IM categorisation of internal euser/kernel SWI interface
6. MichaelP
1. MINOR CHANGE: Removed obsolete test T_USB2 (once more, after it had been re-added in CL517656).
7. AndrewHi
1. DEFECT FIX: DEF061263: Comment out debug prints from crashlogger generic library
Changed KALWAYS qualifier in debug prints to KDEBUGGER and updated the MMP file to disable debug prints, as requested
Version 2.00.1020
============================
(Made by WilliamR, 13/5/2005)
1. WilliamR
1. BREAK REQUEST BR1503.8
Kernel: Base Future Proofing Changes.
Added reserved member data to CActive, CObject, CObjectIx, CObjectCon, CObjectConIx,
CSession2, CServer2, CActiveScheduler, RPointerArrayBase and RArrayBase.
Addition of reserved member data to these classes incurs a Source Compatability break
for classes which use mutiple inheritance and have the metioned classes in the inheritance
tree. In this case the mangled names in DEF files will change. This will require widespread
updates to DEF files throughout Symbian and Partners' code (to fix "EABI Thunk Offsets").
See Symbian OS FAQ 1284 for more details of the "EABI Thunk Offset Problem".
Version 2.00.1019
============================
(Made by Kamran, 12/05/2005)
1. JonCo
1. DEFECT FIX: DEF060475: Base future proofing changes has broken device provisioning test code
2. DEFECT FIX: DEF061118: @return comment for User::NTickCount is wrong
2. JonathanM
1. DEFECT FIX: DEF060445: Locale related data should be protected with WriteDeviceData capability
2. INTERFACE CHANGE: BR1496.1 Kernel: Protect writing of system locale with writedevicedata.
3. DEFECT FIX: DEF060490: RProperty::Get/Set performance improvement
4. DEFECT FIX: DEF060700: Unicode Folding and Colation performance regression
5. DEFECT FIX: DEF060774: Legacy PlatSec configurability should be removed from Base
3. JoR
1. CHANGE REQUEST: TDAS-6AHMJF Implement a "Crash trigger" key on H2 board
(Development CR)
4. JeremyS
1. MINOR_CHANGE: Fix t_serial intermittent break test failures at some baud rates.
2. DEFECT FIX: DEF059270: Kern::ThreadDesWrite() Call needs to be checked in ECommLdd
3. DEFECT FIX: INC060337: NTT - In file d_commdma.cpp return type of functions is not checked
5. DjordjeK
1. DEFECT FIX: INC053831: NTT RDebug::Print outputs incorrectly in EKA2
6. JoR
1. Change Request: ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
7. AnatolyP
1. DEFECT FIX: DEF060961: Plat Sec in TShell
Version 2.00.1018
============================
(Made by MiguelB 03/05/2005)
1. MichaelP
1. MINOR CHANGE: Updated USB Client Driver API document and bumped version number to 2.0
2. RichardCo
1. DEFECT FIX: DEF060310: RNotifiers:: Additional work required for Asynchronous notifier updates.
3. Dennis
1. DEFECT FIX: DEF060397: EKA2 doesn't do context switching for Intel WMMX
2. DEFECT FIX: DEF056360: Bootstrap calculates wrong address for "dummy uncached" area
4. JasmineS
1. MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
T_CATC, T_CPER, T_MESSGE, T_PROC1, T_SVR, T_SVR5, T_IPCBM, T_KERNBM, T_CTXSW,
T_CTXSW3, BM_SUITE and TBUF components have all had their comments refreshed and
reviewed after rewrite.
5. DjordjeK
1. MINOR CHANGE: The update of test code description.
6. JonathanM
1. MINOR CHANGE: Speeded up automated testing by adding KTESTFAST debugmask flag which supresses output
in console text windows.
7. JonCo
1. MINOR CHANGE: Corrected distribution.policy files in like with DEF060454
8. AnatolyP
1. DEFECT FIX: DEF059953: e32test t_schedhook optimistically carries on if no __DEBUGGER_SUPPORT__
9. JeremyS
1. DEFECT FIX: INC054288 Missing implementation of Break handling (ERequestBreak) in d_comm.cpp
10. DavidM
1. DEFECT FIX: DEF058906: WritePasswordData is used instead of WriteRemote
11. MiguelB
1. DEFECT FIX: DEF060579: Unistore2 v 1.3.1, defect patch
2. DEFECT FIX: DEF058863: Unistore2 NAND media driver needs garbage collecting enabled
3. DEFECT FIX: INC059818: NTT - Clean build fails with fatal errors in release 92_200516
12. AndrewH
1. DEF058480 - UniStore2 crashlogger indexes using pages rather than sectors
13. JohnS
1. Milestone: GT0236, MS3.7 - Engineering Change Macro Removal
Version 2.00.1017
============================
(Made by JonathanM 28/04/2005)
1. JonathanM
1. DEFECT FIX: DEF058452: File Server () performance regression
2. DEFECT FIX: DEF059430: Security Vulnerability in Creation of Properties in Publish and Subscribe.
3. INTERFACE CHANGE: BR1506.1 Publish and Subscribe Categories are restricted to one of either a) the processes SID or b) the existing system category. Publish and Subscribe enforces this behaviour.
Version 2.00.1016
============================
(Made by JonathanM 26/04/2005)
1. OlegI
1. DEFECT FIX: DEF058421: Misleading docs for CPolicyServer::CustomFailureActionL()
2. DEFECT FIX: DEF058441: Missing test cases for RProperty
2. JonathanM
1. DEFECT FIX: DEF059805: Propagated: Optimize folded string comparisons in 8.1b and 9.1/9.2
2. DEFECT FIX: DEF059508: Trivial capability escalation to TCB capability.
3. JonCo
1. DEFECT FIX: DEF059823: Location of highrestimer.h for omap is ambiguous
4. Dennis
1. DEFECT FIX: DEF059949: EUSER not future proof
BREAK REQUEST BR1503.4
Added extension virtual function to CBase, CActive,
CObject, CObjectIx, CObjectCon, CObjectConIx, CSession2, CServer2,
CPolicyServer, CActiveScheduler.
Add extension virtual to MAllocator, RHeap.
Add spare data to TFindHandleBase, TThreadId, TProcessId.
BREAK REQUEST BR1503.6
Change IM category of XLeaveException, TWin32SEHTrap, TWin32SEHExceptionHandler
from @publishedAll to @internalComponent.
2. DEFECT FIX: DEF059950: EUSER has 312 redundant exports
BREAK REQUEST 1503.1, 1503.2, 1503.3, 1503.5, 1503.7
Removed all exports purely there for BC, including all functions in
us_stubs.cpp, us_insecure.cpp, ub_sec.cpp, e32transbuf.h.
Version 2.00.1015
============================
(Made by JasmineS, 19/04/2005)
1. JonCo
1. DEFECT FIX: DEF058347: Error: __MESSAGE_MACHINE_CODED__ & !__REQUEST_COMPLETE_MACHINE_CODED__
2. MINOR CHANGE: Speeded up t_membm (now only runs full tests with -f option)
2. Dennis
1. DEFECT FIX: DEF059300: Cannot run ROM image from offset into flash
3. YingS
1. DEFECT FIX: DEF058801: Keyboard Rotation has not been implemented on emulator
4. ReubenH
1. DEFECT FIX: DEF056357 - Cedar base_e32 component is updated every day
5. OlegI
1. CHANGE REQUEST: TDAS-6A9GR3 - Kernel GT0236 Base, Add Option to Invoke crashdebugger for any thread panic.
(Development CR)
6. RichardCo
1. DEFECT FIX: DEF059110: Base source changes for GCC-E
7. ReubenH
1. DEFECT FIX: DEF056378: NTT It is not always possible to search RArray classes with a key
8. CarlosF
1. CHANGE REQUEST: APOS-65ZLQ4 Future proofing request - Richer Pen Event Information, z-axis
information support to WSERV and Base
2. INTERFACE CHANGE: BR 1444.1 Changes to make Base port APIs more future proof in Mike
Version 2.00.1014
============================
(Made by Jeremy Smithers, 12/04/2005)
1. DjordjeK
1. DEFECT FIX: INC054634: User::ResetInactivityTime() should not require PowerMgmt capability
2. DEFECT FIX: DEF058392: Emulator convKeyCodes_base has duplicate entry
3. DEFECT FIX: DEF056299: Emulator screen does not get redrawn if it is covered by a win32 window
4. DEFECT FIX: DEF058213: BM_SUITE test failure
2. DavidM
1. DEFECT FIX: DEF056545: EKA2 emulator does not support keymap modifiers in epoc.ini
2. DEFECT FIX: DEF058474: Base code should be placed in \sys\bin not \system\bin
3. YingS
1. DEFECT FIX: INC055351: NTT Common Digitiser Code Refuses to Accept Maximum Raw Samples
4. JonCo
1. DEFECT FIX: DEF056377: Performance of memcpy() and memset() can be improved by >=20% (MCL)
2. DEFECT FIX: DEF058789: RVCT calls wrong version of memset
5. MichaelP
1. MINOR CHANGE: Add new debug trace bit 'KUSB': bit 32 = (0x00000001, index 1).
2. MINOR CHANGE: Commented out definition of USBC_LDD_BUFFER_TRACE in USB driver header file usbc.h.
3. MINOR CHANGE: Improved and enhanced fix for DEF058873 - USB manager crashes on target
6. MichaelMo
1. DEFECT FIX: DEF057783 - STL.H required to build nand xsr LLD is part of the undeliverable source code
2. DEFECT FIX: DEF057855 - Licencee can not build MEDUSIIT lib & because it is testcode it is not released
7. Dennis
1. DEFECT FIX: DEF059107 - __VALUE_IN_REGS__ strikes wrt GCC-E
Added new EABI compliant versions of TDesX::Left(), Right(), Mid(int), Mid(int,int) (X=8,16)
which return the result in memory, as demanded by the EABI, rather than in registers.
Left the old implementations in to preserve BC.
8. AndrewR
1. DEFECT FIX: DEF058992 - Problems with Win32 exceptions in TRAP_INSTRUMENTATION_NOLEAVE
2. MINOR CHANGE: Extend TRAP instrumentation to cover TRAP_IGNORE
3. MINOR CHANGE: Update conditional compilation of C++ versions of descriptor functions to match Dennis' changes
9. JonathanM
1. MINOR CHANGE: Modified test AUTOEXEC.BAT files to specify -st option for RUNTESTS
10. RichardCo
1. MILESTONE: Bravo,GT0236,MS3.2.3 PREQ234 Remove timezone and UTC functions from TLocale in favour of a new interface via User
2. INTERFACE CHANGE: BR-1323.1 Remove support for setting timezone and DST through TLocale
3. INTERFACE CHANGE: BR-1323.2 Remove support for setting timezone and DST through TLocale
4. INTERFACE CHANGE: BR-1323.3 Remove support for setting timezone and DST through TLocale
Patch to version 2.00.1013
============================
(Made by MichaelP, 08/04/2005)
1. MichaelP
1. DEFECT FIX: DEF058873: USB manager crashes on target
Version 2.00.1013
============================
(Made by JonathanM, 07/04/2005)
1. JonathanM
1. DEFECT FIX: DEF058815: Base ROMs don't build with RVCT2.2
OTHER: The defect fix for DEF058815 means that Base code now expects that it
is built using RVCT2.2. If RVCT2.1 is used then when building base ROMs with
ROM.BAT the following must be added to the command line: "-define=RVCT2_1"
2. MichaelMo
1. DEFECT FIX: DEF058880: [System Build] - Problem with base.iby file change causing ROM error
Version 2.00.1012
============================
(Made by AndrewHi, 06/04/2005)
1. AndrewHi
1. DEFECT FIX: DEF058744: [System Build] BASE_H2_UNISTORE2 Errors in 03552 (9.1/9.2)
Version 2.00.1011
============================
(Made by Kamran, 05/04/2005)
1. JonathanM
1. CHANGE REQUEST: JMET-6AJKNX - Provide a means for adding logging to uses of TRAP and TRAPD.
(Development CR)
2. DEFECT FIX: DEF057952: MMF_BASECL_U_0200-LP panics on build 3525 on 9.1
2. AndrewR
1. MINOR CHANGE: Fix hard-coded EPOCROOT in CoreLdr makefiles
3. NicholasD
1. DEFECT FIX: DEF056516 - T_KHEAP test fails 'TestReAllocZerosMemory' check
4. MichaelP
1. DEFECT FIX: DEF056441 - Deficiencies in DMA framework
a) TDmac::InitDes() and TDmac::InitHwDes() both have now an additional
argument, 'aCookie', which carries the PSL channel information.
b) Instead of the fixed values TDmac::iMaxTransferSize and
TDmac::iMemAlignMask, there are now in the PIL the two functions
TInt TDmaChannel::MaxTransferSize(TUint aFlags, TUint32 aPslInfo);
TUint TDmaChannel::MemAlignMask(TUint aFlags, TUint32 aPslInfo);
These are called dynamically in DDmaRequest::Fragment(). This means there
are now two additional pure virtual functions for the DMA PSL to implement:
virtual TInt TDmac::MaxTransferSize(TDmaChannel& aChannel, TUint aFlags,
TUint32 aPslInfo) = 0;
virtual TUint TDmac::MemAlignMask(TDmaChannel& aChannel, TUint aFlags,
TUint32 aPslInfo) = 0;
2. INTERFACE CHANGE: BR1446.1 & BR1446.2 "Changes to DMA Framework PSL/PIL Interface"
(as part of fix for DEF056441)
3. DEFECT FIX: DEF057257 - "Error: real endpoint not found" when switching alternate interface setting
When calling the PIL functions CancelReadBuffer()/CancelWriteBuffer() from
the LDD's AbortTransfer(), we now pass as additional argument the alternate
interface setting number.
5. JonCo
1. DEFECT FIX: DEF057881 - Defining __MINIMUM_MACHINE_CODE__ causes compilation errors
2. MINOR CHANGE: Integrated e32test documentation for datetime, device,
dll, heap and locale tests
3. DEFECT FIX: DEF057886 - incorrect precondition for Kern::AppendFormat()
6. StefanW
1. DEFECT FIX: DEF056342 - MMC format operation in EKA2 is slower than in EKA1
7. MiguelB
1. DEFECT FIX: DEF056473 - Intermittent waveOutWrite failures in 8.1b emulator security tests
8. MichaelMo
1. MILESTONE: Mike,GT0223,MS3.5.2 NAND Unistore II (XSR) submission (Phase 2)
Version 2.00.1010
============================
(Made by BalaT, 01/04/2005)
1. BalaT
1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
Pick RVCT2.2 binaries as default with buildrom command, and make RVCT2.1 binaries as optional,
which will be picked up with -DRVCT2_1 switch.
Version 2.00.1009
============================
(Made by MichaelP, 22/03/2005)
1. MichaelP
1. DEFECT FIX: DEF057140 - USB driver ZLP behaviour does not match documentation
Changed documentation (USB API Guide, USB PSL Porting Guide) to make it clear that the
USB driver will figure out whether or not to send a ZLP if the ZLP flag is set.
2. NicholasD
1. DEFECT FIX: DEF057314 - Eshell emulator screen does not get redrawn if it is covered by a win32 window
3. OlegI
1. DEFECT FIX: DEF057498 - UREL binaries in techview debug ROM images ()
4. JonCo
1. CHANGE REQUEST: RFID-66JJKX - Add EKA1-style CPU thread time monitoring to EKA2 kernel
2. INTERFACE CHANGE: BR1378.1 Change User::FastCounter to use high res timer
3. INTERFACE CHANGE: BR1379.1 Addition of new members in NThreadBase for monitoring cpu time
5. NicholasD
1. DEFECT FIX: DEF056362 - e32toolp\memtrace\memtrace.rtf out of date for EKA2
6. PhilK
1. DEFECT FIX: DEF053153 - H2 USB driver loses 2176 byte transfer (possible zero length packet problem)
7. DjordjeK
1. DEFECT FIX: DEF057789 wrong definition of RFEgen macro
2. DEFECT FIX: DEF057794 Incomplete implementation of ARMv6 stop-mode debugger (DDebuggerInfo)
8. SimonT
1. DEFECT FIX: DEF053286 - H2 sound pdd buffer mgmt not quite right
9. CiprianM
1. MS3.9.1- SSIN-66LJYR : System Libraries, PGM026 Mike, Add PREQs 1001, 1003 to scope of Mike
Version 2.00.1008
============================
(Made by BalaT, 18/03/2005)
1. BalaT
1. DEF057008: - RVCT2.2 leading edge build fails with errors in base/coreldr files
Version 2.00.1007
============================
(Made by JS, 14/03/2005)
1. DjordjeK
1. DEFECT FIX: INC054086 - Class TLex16 documentation referes to TLex8
2. DEFECT FIX: DEF056647 - [Sierra IPR] Distribution.policy files not in compliance with 8.1 CKL
3. DEFECT FIX: DEF056745 - Spelling mistakes in TSecurityPolicy (OS Reference)
4. DEFECT FIX: DEF056768 - Illegal #elif in ...\e32\kernel\kdebug.cpp
5. DEFECT FIX: DEF056854 - Mistakes in API Classification
6. DEFECT FIX: INC055893 - NTT - Nanokernel timer assertion
2. JonathanM
1. MINOR CHANGE: Increased timeout for loader tests on Integrator.
2. DEFECT FIX: DEF056369 - Incorrect iCapabilities member in RMessageU2
3. DEFECT FIX: DEF056374 - Physical page lock count can wrap to zero when incremented
3. JonCo
1. DEFECT FIX: DEF056209 - crash debugger: vptr == NULL in RVCT builds
4. DavidM
1. DEFECT FIX: DEF054519 - Potential problem with T_MEMBM: added forward and
reverse memory copy benchmarks.
2. DEFECT FIX: DEF056618 - Kernel: DObjectCon::OpenByFullName() can return
w/o releasing mutex: Added missing Signal( ) call.
5. NicholasD
1. DEFECT FIX: DEF056373 - EVariantHalCustomRestart should have a documented capability
6. MiguelB
1. DEFECT FIX: DEF052574 - F32 Tests on integrator sometimes fail with KErrUnknown for drive D: (MMC)
7. AndrewR
1. DEFECT FIX: DEF056366 - Cannot debug through Win32 exception handling in WINSCW
2. DEFECT FIX: DEF056502 - Return value of MakeDll ignored
3. MINOR CHANGE: Fix logging of filenames in Win32 mcodeseg.cpp
4. DEFECT FIX: DEF056365 - Bugs in __destroy_global_chain
5. DEFECT FIX: DEF056364 - global operator delete is missing an empty exception specifier
6. DEFECT FIX: DEF056367 - declaration of CW 3.2 runtime helper function __uncaught_exception is incorrect
7. MINOR CHANGE: Remove redundant test of hdr inside if (hdr) block in emulator.cpp
8. MINOR CHANGE: Fix KWin32SectionName_EpocBss to have all 8 bytes explicitly initialised
9. MINOR CHANGE: Fix placement of noreturn declspec on nklib function to allow compilation with MSVC8
8. MichaelP
1. DEFECT FIX: DEF057024 - NTT Packet Modem is Not Capable of Transferring Large File
Version 2.00.1006
============================
(Made by BalaT, 14/03/2005)
1. BalaT
1. DEF057189 [System Build]: OMAP errors in 03519 overnight build
Version 2.00.1005
============================
(Made by BalaT, 11/03/2005)
1. BalaT
1. DEFECT FIX: DEF057008 RVCT2.2 leading edge build fails with errors in base/coreldr files.
Version 2.00.1004
============================
(Made by AndrewHi, 11/03/2005)
1. AndrewHi
1. DEFECT FIX: DEF057064 [System Build] UNISTORE2 _DRIVERS error frond in GT log (found in build 03516)
2. MiguelB
1. DEFECT FIX: DEF057090 [System Build] INTEGRATOR_LMNAND_EKA2 Errors
Version 2.00.1003
============================
(Made by BalaT, 09/03/2005)
1. BalaT
1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
Added some enhancements to support for RVCT2.2 toolchain to Base.
Version 2.00.1002
============================
(Made by AndrewHi, 09/03/2005)
1. AndrewHi
1. DEFECT FIX: DEF056778 [System Builds] CBR errors due to base_nandboot_unistore2
Version 2.00.1001
============================
(Made by AndrewHi, 08/03/2005)
1. AndrewHi
1. DEFECT FIX: DEF056682 - [System Build] UNISTORE2_DRIVER Errors in build 03509 - The actual GT build errrors
2. DEFECT FIX: DEF056695 - [System Build] Run CBR error in 03509 - The incorrect paths for include directory used
Version 2.00.1000
============================
(Made by MichaelMo, 04/03/2005)
1. MaximK
1. DEFECT FIX: DEF055672 - TFileName not in devlib
2. JoR
1. DEFECT FIX: DEF054319 - Wrong location for policy check in DM
3. JonCo
1. DEFECT FIX: DEF055811 - Emulator noGui option will break when system starter is released
4. OlegI
1. DEFECT FIX: DEF055809 - Userland code can fault kernel when closing bad handle
5. RichardCo
1. DEFECT FIX: DEF056352 - Shadow pages don't work if ROM mapped with 64K pages
2. MINOR CHANGE: Update e32tests to not use soon-to-be-removed TLocale methods.
6. MichaelP
1. CHANGE REQUEST: RJAN-65GKTX "USB PIL & API need extending to allow for optional
removal of string descriptors"
Added 6 new user side calls to USB Client Driver API:
- GetStringDescriptorLangId()
- SetStringDescriptorLangId()
- RemoveManufacturerStringDescriptor()
- RemoveProductStringDescriptor()
- RemoveSerialNumberStringDescriptor()
- RemoveConfigurationStringDescriptor()
Also updated API documentation and extended T_USBAPI to test the new APIs.
2. MINOR CHANGE: Removed obsolete E32 test T_USB2.
3. DEFECT FIX: DEF054384 - DMA does not unlink chained requests when they complete or are cancelled
Added virtual function TDmac::UnlinkHwDes() which gets called from (also new function)
TDmaSgChannel::DoUnlink(), which in turn gets called from DDmaRequest::OnDeque() upon
completion or cancellation of a DMA transfer request. TDmac::UnlinkHwDes() must be
overridden by the PSL if the DMAC supports hardware descriptors (scatter/gather DMA).
(Otherwise the default implementation in the PIL will fault the kernel.)
Also extended T_DMA to test for the condition which led to the discovery of the defect,
and thus also for the correct implementation of the unlink function in the PSL.
4. INTERFACE CHANGE: BR1383.1 "Add an UnlinkHwDes to DMA Framework" (part of fix for DEF054384)
7. AndrewR
1. MINOR CHANGE: Updated in-source documentation of TSecurityPolicy to correct a couple of
typos and clarify the use of _LIT_SECURITY_POLICY_PASS and _LIT_SECURITY_POLICY_FAIL.
2. DEFECT FIX: DEF055757 - __ProcessIsolationFailure_RMessage_Construct diagnostic incorrect
3. MINOR CHANGE: Removed unused constant KMaxFixedPoolSlots associated with old IPC implementation
from sipc.cpp
4. DEFECT FIX: DEF056372 - TThreadSessionShareCleanup should be removed
8. KamranN
1. MINOR CHANGE: changed the test tag id of t_domain tests
9. JasmineS
1. DEFECT FIX: DEF052749 - bootstrap missing entry for BTF_Alloc in boot table in direct memory model
10. MiguelB
1. DEF053551 - Security flaw in domain manager
11. DennisM
1. DEF056211 - STREX macros use same register for Rd and Rm
12. AndrewHi
1. MILESTONE: Mike,GT0223,MS3.5.1 NAND Unistore II (XSR) submission (Phase 1)
13. NicholasD
1. DEFECT FIX: DEF056355 - TRequestStatus::iFlags not fully initialised in overloaded constructor
14. TonyL
1. DEFECT FIX: DEF054244 - Possible stability problem in USB mass storage support
Version 2.00.557
============================
(Made by DjordjeK, 21/02/2005)
1. DavidM
1. CR: RFID-66EMED - Add more trace flag fields to ROM header and increase the size of the
boot ROM header. Originally there were 32 kernel trace bits, there are now 256. The trace
bits are now referred to via a bit number instead of a bit-mask.
2.INTERFACE CHANGE: Break Request 1322 was approved with confirmation numbers:
BR1322.1, BR1322.2 & BR1322.3.
3. DEFECT FIX: DEF054500 - Add TWinsFSStartup::GetStartupMode() function.
2. RichardCo
1. DEFECT FIX: DEF055534 - CTimer schedules timers in local time
2. DEFECT FIX: DEF050936 - e32test TF_READ fails because DF_READ driver doesn't build
3. TonyL
1. DEFECT FIX: DEF055334 - RVCT2.2 compiler upgrade needs source code changes in base/H2
2. DEFECT FIX: DEF055335 - RVCT2.2 compiler upgrade needs support in devboards .mke files
3. MINOR CHANGE:
Some improvements to the USB MS Boot loader app. Make more code variant configurable.
4. DjordjeK
1. DEFECT FIX: DEF053501 - Generated file hal\config.cpp confuses the CBR tools
(This is Cedar part, Beech part is already in MCL)
2. INTERFACE CHANGE: BR1342 Removing autogenerated cpp files from the source tree.
Conformation number: 1342.1
5. AndrewHi
1. DEFECT FIX: DEF0046963 - Crashlogger isn't sufficiently configurable
Updated the standard media driver, and the derived media drivers used by the crash flash
logger and the nandloader application, to used a platform-specific offset that is specified
as a whole number of pages. The rebootdrv utility deployed by nandloader, and the miniboot
and coreldr utlilities used in booting from NAND were similarly affected. The offset is
specified as const TInt KNandFbrPageOffset, in new file nand_fbr_offset.h. To allow for the
different nandboot schemes operated across our varied reference boards, two further constants
are defined in the platform-specific file nand_plat.h; these are const TBool KNandMinibootUsed
and const TBool KNandCoreldrRelocatable.
Base Port Impact:
The above-mentioned constants must be defined for each platform. Their names are expected to provide
sufficient indication as to what their values should be:
KNandMinibootUsed - if the miniboot utiliy is used, this should be set ETrue
KNandCoreldrRelocatable - if the coreldr image is expected to reside at a fixed location,
this should be set to EFalse.
6. JonathanM
1. DEFECT FIX: DEF055787 - The Text Window Server shouldn't load the Locale DLL
Version 2.00.556
============================
(Made by BalaT, 22/02/2005)
1. BalaT
1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
Added support for RVCT2.2 toolchain to Base.
Patch to Version 2.00.555
============================
(Made by JonathanM, 21/02/2005)
1. JonathanM
1. DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
For this fix to take effect, ESTART must be recompiled for all Base Ports.
Version 2.00.555
============================
(Made by CarlosF, 15/02/2005)
1. JonathanM
1. MINOR CHANGE:
Updated example driver code.
1. Used overload of DObject::RequestUserHandle to restrict access to logical
channels. (Replaces testing of each request as it arrives.)
2. Made user side LDD interfaces override RHandleBase::Duplicate in order to
manage chunk handles owner by the user side class.
2. DavidM
1. DEFECT FIX: INC052977 - NTT No result from base\e32tests t_romtable and t_romtable2
2. DEFECT FIX: DEF054563 - Leave without corresponding TRAP in vt100 screen driver
3. DjordjeK
1. DEFECT FIX: DEF054320 - RNotifier docs inaccuracy
2. DEFECT FIX: DEF054380 - [Sierra IPR] - Incorrect source categorisation in distribution.policy files
3. MILESTONE: MS3.3.1 PREQ835 IDE Debugger Support for ARMv6
INTERFACE CHANGE: BR1333.1 BR1333.2 BR1333.3 DebugAPI interface change
4. ArwelH
1. DEFECT FIX: INC054807 - NTT Semantic Error in Synbian OS documentation
Patches to Version 2.00.554
============================
(Made by SimonT, 11/02/2005)
1. SimonT
1. DEFECT FIX: DEF054567 - Missing key-events
Version 2.00.554
============================
(Made by RichardCo, 08/02/2005)
1. YingS
1. CHANGE REQUEST: APOS-65YC4H - Add a mechanism to disable the password protection feature on certain MMC cards.
2. INTERFACE CHANGE: BR-1269.1 Peripherals: Add ControlIO API to peripheral bus controller to facilitate better test and debug.
2. StefanW
1. DEFECT FIX: DEF054673 - SDIO controller does not support IO Abort correctly. Added support to
allow the PSL to issue an abort automatically and notify the PIL.
3. JonathanM
1. DEFECT FIX: DEF054518 - Kern::ChunkPhysicalAddress sets aPhysicalAddress even when memory isn't contiguo
2. DEFECT FIX: DEF054729 - T_EXCBM doesn't test Slow Execs on EKA1
3. MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
Version 0.11 Added example code: 3.4.3 Example Chunk Open
4. JonCo
1. DEFECT FIX: DEF053932 - Possible data leak from kernel
2. CR JROE-63RLD9 - Add support to the EKA2 emulator to run without a UI
5. JasmineS
1. MILESTONE: MS3.1.1 PREQ838 Support ARMv6 MMU. Change all kernel locking mechanisms to use new ARMv6
facilities. Implement a memory model making use of the new ARMv6 capabilities and VIPT cache.
6. SimonT
1. DEFECT FIX: DEF051088 - USB Cable pull- Start/Stop fails on H2
2. DEFECT FIX: DEF053945 - Lack of entropy in the kernel & security subsystems during OMAP testing
3. DEFECT FIX: DEF054161 - OMAP reboot module is too variant specific are uses too many magic numbers
4. DEFECT FIX: DEF054447 - H2 always rebuilds coreloader
5. MINOR CHANGE: take advantage of new DMA interface to use physical addresses where appropriate
6. MINOR CHANGE: USB mass storage bootloader
7. MINOR CHANGE: remove dead i2c test code from OMAP
7. RichardCo
1. MILESTONE: Bravo,GT0236,MS3.2.1 PREQ234 UTC and Auto DST Support(Kernel):Part 1
2. INTERFACE CHANGE: BR-1354.1 Change TSecondLink to use UTC instead of local time
8. MiguelB
1. DEF053107 - File Server crashes at boot
Version 2.00.553
============================
(Made by RichardCo, 01/02/2005)
1. JonathanM
1. MINOR CHANGE: Added example driver code to \e32test\examples.
CONVERT1 is a device driver which takes input data (possibly in a Shared Chunk) and
'converts' the format of this data with the results going to another Shared Chunk.
2. DEFECT FIX: DEF054393 - C++ exception support is incomplete on the Emulator
3. DEFECT FIX: DEF054382 - Difference between TRAP and TRAPD on armv5 gives unused warnings
4. MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
5. DEFECT FIX: DEF054070 - seclib's .dsp and .mak files directly reference a hard coded .hrh file.
6. MINOR CHANGE: Fixed example driver code CAMERA1 and CONVERT1.
These were not allowing for Kern::ChunkPhysicalAddress returning a result of '1'
which indicates that the memory was contiguous.
2. ReubenH
1. DEFECT FIX: DEF049905 - TPckgBuf alignment problem
INTERFACE CHANGE: BR1337 Kernel: TPckgBuf<T>'s sizeof() and internal layout has changed
NOTES FOR MCL SUBMISSION
This is a system wide Binary Compatability break for anything
that uses TPckgBuf. All affected binaries need to be rebuilt.
3. JonCo
1. CHANGE REQUEST: TDAS-63CEMD - Crash debugger improvements
4. NicholasD
1. DEFECT FIX: DEF053957 - DModuleList::LoadDependencies() is logically incorrect for emulator memory model
5. JoR
1. DEFECT FIX: DEF054054 : Domain Manager is lacking DiskAdmin capability
Version 2.00.552
============================
(Made by MichaelMo, 21/01/2005)
1. DjordjeK
1. DEFECT FIX: INC052979 - NTT No RTest result from base e32test t_tldd
2. MichaelMo
1. MILESTONE: Mike GT0223 MS3.7.1 CR - APOS-666C3S Re-map hardware keys to support landscape mode
3. MichaelP
1. CHANGE REQUEST: RFID-5WYL6E "Add a DMA Fragment() that takes physical addresses":
For physical memory addresses there are now two additional flags than can be passed,
via the 'aFlags' argument, to the DDmaRequest::Fragment() function: KDmaPhysAddrSrc
and KDmaPhysAddrDest.
4. ArwelH
1. DEFECT FIX: DEF054097 - RThread.GetCpuTime is not supported in EKA2
Version 2.00.551
============================
(Made by JonathanM 18/01/2005)
1. JonathanM
1. CHANGE REQUEST: LROS-68HHTF Allow thread-specific quering of mutex status
2. MINOR CHANGE: Added example driver code to \e32test\examples.
DRIVER1 is a device driver based on DLogicalChannel which supports a
single client thread.
CAMERA1 is a device driver based on DLogicalChannelBase which shows how
Shared Chunks can be used for capturing a stream of video images in
an eficient manner.
3. DEFECT FIX: DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor
4. DEFECT FIX: DEF052951 - Code segments in the call stack can be unloaded whilst taking a C++ exception
INTERFACE CHANGE: BR1312.1 Kernel: Fix Leave=Throw problem that occurs on emulator and non-XIP code.
NOTES FOR MCL SUBMISSION
This is a system wide Binary Compatability break for RVCT builds.
I.e. All RVCT binaries need to be rebuilt.
5. DEFECT FIX: DEF053912 - Name of "aProtected" argument on RBusLogicalChannel::DoCreate is misleading
2. JasmineS
1. MINOR CHANGE: Fix in-source documentation of RChunk::CreateLocalCode() to be more accurate.
3. CiprianM
1. Fixed DEF053434 - EPOC.INI Multi Screens
4. HusienH
1. CHANGE REQUEST: PCHY-66YM58 - Ensure Thai words starting with a leading vowel can be found(INC047064)
Patch to release (critical defect)
================
(Made by DjordjeK 14/01/2005)
1. DjordjeK
1. DEFECT FIX: DEF053827 - [System Build] CBR Errors - Multi-owned Files
Reverting "DEF052237 - Cedar base_e32 component is updated every day" fix in 2.00.550.
Version 2.00.550
============================
(Made by StefanW, 10/01/2005)
1. ReubenH
1. DEFECT FIX: DEF052237 - Cedar base_e32 component is updated every day
2. CarlosF
1. DEFECT FIX: DEF053320 - Incorrect entries in distribution policy file (base)
3. MichaelP
1. MINOR CHANGE: Updated USB Client Driver API and USB PSL How-to documents.
4. AndrewHi
1. DEFECT FIX: DEF053599 : "nand_media.h" contains customer name
5. ArwelH
1. DEFECT FIX: DEF053443 - CAsyncCallBack being Set using a TCallBack on stack
6. DjordjeK
1. DEFECT FIX: DEF053520 - Documentation of TSize - Width is Height and Height is Width
Version 2.00.549
============================
(Made by YingS, 04/01/2005)
1. SimonT
1. DEFECT FIX: DEF052968 - Disabling DEBUGPORT is not supported on H2
2. JasmineS
1. DEFECT FIX: DEF052859 - Benchmarks flawed
2. MINOR_CHANGE: Improve Integrator's clocking setup with ARM1136 core modules
3. DEFECT FIX: DEF053476 Reimplement signals and queues using ARMv6 instructions
Added support for LDREX/STREX to kernel. Made kernel and EUSER use LDREX/STREX
in preference to SWP/SWPB on ARMv6 platforms.
3. JonathanM
1. DEFECT FIX: DEF051248 - RThread/RProcess :: Rendesvous has uninteligible documentation
2. MINOR_CHANGE: Removed tracing added to emulator kernel in last release which was
added to "help track down an intermittent defect where time goes backward"
3. DEFECT FIX: DEF053468 - The constant KPhysAddrInvalid should be in public header file
4. OlegI
1. DEFECT FIX: DEF052789 - CTimer class is missing HighRes()
Version 2.00.548
============================
(Made by MichaelP, 16/12/2004)
1. JonathanM
1. DEFECT FIX: DEF052461 - Old SharedIo buffer code should be removed
2. DEFECT FIX: DEF052541 - Can't build Base ROMs with PlatSec disabled
Add ability to ROM.PL to define CPP macros.
Added NOPLATSEC guard in USER.IBY aroung the "platsec.settings" include.
These enable PlatSec to be disabled when building Base ROMs by adding
-define=NOPLATSEC to the command line.
3. MINOR CHANGE: Made E32TEST and F32TEST only export platset.settings if
__SECURE_API__ is defined. This means that WINS testing won't use PlatSec in this case.
4. DEFECT FIX: DEF052518 - Handle creation doesn't obey PlatSecEnforcement configuration
5. MINOR CHANGE: Test code fixes: T_CHUNK4 and T_LDRCHK.
Added new test driver D_MEMORYTEST which provided a means of safely reading/writing to memory
6. MINOR_CHANGE: Changed T_I64 test to work around bug in GCC compiler.
7. MINOR_CHANGE: Added tracing to the emulator kernel to try and help track down an
intermittent defect where time goes backward (causing the T_TIMER test to fail.)
2. YingS
1. CR APOS-5Z3H92 System, GT0196 Nevada Base , MMC Media type recognition
3. DjordjeK
1. DEFECT FIX: DEF052289 - Incorrect IPR entry in distribution policy file (Base)
4. KamranN
1. Fixed a problem with t_domain test panic, where it only panicked for debug version
5. MichaelP
1. DEFECT FIX: DEF052607 - "Member variable deleted incorrectly in USB driver".
6. MiguelB
1. DEFECT FIX: DEF051582 - T_USBAPI fails on platforms which don't have USB
7. TonyL
1. DEFECT FIX: DEF052866 H2 UID missing from HAL
2. MINOR_CHANGE: Work-around for DEF052101 MMC Password Functionality
crashes H2. The MMC stack will indicate that password functionality is
not supported.
3. DEFECT FIX: DEF048670 Preserving Lubbock C drive across boots on Cedar
4. MINOR_CHANGE: Fix the coreloader makefile so the build target output (abld -w)
is correct.
5. MINOR_CHANGE: Add #define _NANDTEST to nand test oby file implicitly
8. CarlosF
1. DEFECT FIX: DEF052491 - Incorrect categories in distribution policy files(Base)
Patch to release (critical defect)
================
(Made by DjordjeK 10/12/2004)
1. DjordjeK
1. DEFECT FIX: INC052550 NTT Ekern crash when read epoc.ini
Version 2.00.547
============================
(Made by KamranN, 06/12/2004)
1. MichaelP
1. DEFECT FIX: DEF051640 - "Cannot derive from DDmaRequest because of missing exports"
'Refroze' the DMA EABI .DEF file, so that typeinfo and vtables got included.
2. CarlosF
1. MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
This is a BC Break - SCB confirmation number 1240.1
2. MINOR_CHANGE: include power managemenet in Template ROMS
3. RichardCo
1. DEFECT FIX: DEF052199 - CObjectConIx::Lookup fails unnecessarily.
2. DEFECT FIX: DEF047137 - NAND Crash logger attempts to overwrite a page.
4. JonathanM
1. MINOR CHANGE: Fixed typo bug in T_SCHEDHOOK test code.
Line 117 - ThreadWFAR.SetPriority changed to ThreadExecCall.SetPriority
2. MINOR CHANGE: Add a check to E32DEF.H to ensure Cedar code is built with an
OS configuration set. (It asserts that 'EKA2' is defined.)
3. DEFECT FIX: DEF052167 - Bug in DMemModelChunk::Decommit
5. AndrewR + JonathanM
1. DEFECT FIX: DEF050495 - platsec: too easy for clients to foget to use __PLATSEC_DIAGNOSTIC_STRING
6. KamranN
1. Mike,GT0223,MS3.3.1 PREQ810 Startup phone first - (SYS3.1)
Version 2.00.546
============================
(Made by JonathanM, 29/11/2004)
1. JonathanM
1. DEFECT FIX: DEF051851 - Shared IO Buffer fault when process dies
2. MILESTONE: Yankee,GT0217,MS3.9.1 CR - CDRS-65RK9F : Add 2 new capabilities
SurroundingsDD and UserEnvironment onto the system for future proofing
CHANGE REQUEST: CDRS-65RK9F - Add 2 new capabilities SurroundingsDD and
UserEnvironment onto the system for future proofing
INTERFACE CHANGE: BR1239.1 Add SurroundingsDD and UserEnvironment capabilities.
NOTES FOR MCL SUBMISSION:
BR1239.1 is a Binary Compatability Break. Due to the creation of two new
capabilities, all executables compiled with CAPABILITIES ALL[-xxx....] in their mmp
files need to be recompiled.
3. MILESTONE: Yankee,GT0217,MS3.1.9 PS8.1.2 SYMBIAN_REMOVE_INSECURE_API
This removes the implementation of the security classes when
SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION is defined.
Affected classes are: CSecurityEncryptBase, CSecurityDecryptBase,
CSecurityBase, CBoundedSecurityBase and Security
2. DjordjeK
1. MINOR CHANGE: Fixed d_eventtracker test for MARM build.
3. AndrewR
1. DEFECT FIX: DEF051902 - TUid operator== return TInt instead of TBool
4. MichaelP
1. DEFECT FIX: DEF052061 - "USB Config Descriptor: bMaxPower cannot be set to max from PSL"
Extended the 'aMaxPower' argument for TUsbcConfigDescriptor::New() to a TUint16.
5. SimonT
1. DEFECT FIX: DEF048784 - "Complete NAND support (boot from NAND) (incl. custom restart)."
2. DEFECT FIX: DEF052013 - "nand loader cannot be used in automated tests"
3. DEFECT FIX: DEF051079 - "Dubious use of KHoGpio_WakeUp_Enable"
4. DEFECT FIX: DEF052135 - "H2 debugport code needs a polish"
5. DEFECT FIX: DEF050787 - "H2 audio driver requires routing changes for telephony"
6. DEFECT FIX: DEF051934 - "record buffer in h2 sound driver is too small"
6. RichardCo
1. DEFECT FIX: DEF051549 - Crash loggers don't check bounds when writing
Version 2.00.545
============================
(Made by StefanW, 19/11/2004)
1. GongjunC
1. DEFECT FIX: DEF051108 - Textshell window server defect
2. MichaelP
1. CR CWAK-5XBLCM "Enhance EKA1 with a backport of the EKA2 USB solution to EKA1
(and maintain this as a part of EKA1)" - Porting more performance enhancement
and API changes from EKA1 back to EKA2.
Also, added 'USB API' and 'USB PSL How-To' documents:
\documentation\USB_Client_Driver_API.doc
\documentation\Base_How_To_USB_PSL_EKA2.doc
NOTE: BC/SC breaks for USB PDD and LDD, SCB confirmation numbers: BR1025.3 and
BR1133.1.
(This submission includes the changed USB PDDs for Lubbock/Cotulla and H2/OMAP.)
2. Added Template USB Client driver (USB PSL) - Part of MS3.3.3 - PREQ515 "Template
Base Port Implementation".
3. Added Template DMA driver - Part of MS3.3.3 - PREQ515 "Template Base Port
Implementation".
4. Fixed defect DEF051663 - "Intermittent problems with ZLPs when using
RDevUsbcClient::Write":
Disabled the double-buffering functionality in BulkTransmit() in the Lubbock
USB PSL in \e32\eusbcc\epoc\cotulla\pa_usbc.cpp. As this is only a workaround,
it will slightly impede transfer performance for Bulk IN transfers.
Patches to Version 2.00.544
============================
1. AndrewR
1. DEFECT FIX: DEF051751 - GCCXML Warnings in build 03418
Version 2.00.544
============================
(Made by DjordjeK, 16/11/2004)
1. DjordjeK
1. CR (RFID-646KE2) System, GT0217 Yankee Base , More information required from Crash Logger
Crash Logger now logs the content of IRQ & FIQ mode stacks.
NOTE: This is BC break. SCB confirmation number is : 1251.1
2. MiguelB
1. DEF051268 - NULL pointer access in USB Channel and output unneccessary error debug
2. INC051297 - Sound driver prevents emulator boot
3. JasmineS
1. Improve spash screen for Integrator to show all colours
2. Make T_MEMBM return more meaningful values by increasing test array size.
4. RichardCo
1. Fix DEF050037 - NAND Crash Logger panics in initialisation
5. CarlosF
1. MILESTONE: Yankee,GT0217,MS3.3.3 PREQ515 Template Base Port Implementation (part 3 of 3)
Power Management reference implementation.
2. (Partial) Fix for DEF050989 - Changes required in Distribution Policy due to incorrect
Perforce entries. The rest of the fix is in \beech branch.
3. MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
This is a BC Break - SCB confirmation number BR1223.1
6. JonathanM
1. DEFECT FIX: DEF051590 - RThread::RquestComplete performance improvement.
This involves making RThread::RequestComplete update the request status user-side
when SYMBIAN_REMOVE_INSECURE_API is defined.
Also added new method, RThread::RequestSignal to support the above.
2. Added debug asserts to NFastMutex::Signal() and NFastMutex::Wait() which check
that the preconditions for these have been met.
3. CHANGE REQUEST: JMET-66EE3J - Add constants to represent null thread and process IDs
MILESTONE: Mike,GT0223,MS3.6.1 CR - JMET-66EE3J - Add constants to represent null thread and process IDs
Version 2.00.543
============================
(Made by AndrewHi, 05/11/2004)
1. KeithR
1. MINOR_CHANGE - Clarified process isolation diagnostics in e32/kernel/sipc.cpp
2. JonathanM
1. DEFECT FIX: DEF050961 - Re-defining an RProperty causes the security policy to be overwritten
2. MILESTONE: Mike,GT0223,MS3.4.1 PREQ799 - Memory management for multi-megapixel cameras (REQ3699)
3. MILESTONE: Yankee,GT0217,MS3.1.8 PS8.1 - Deprecate/remove dangerous EKA1 APIs
3. RichardCo
1. Fixed DEF050118 - Behavioural difference in CCaptureKeys between EKA1 and EKA2
4. AndrewR
1. MINOR_CHANGE - Fix typo in e32/nkern/arm/ncsched.cia
2. Fix DEF045938 - CDeltaTimer drifts around 10%, also does not allow App Processor to power down
Version 2.00.542
============================
(Made by CarlosF, 25/10/2004)
1. JenniferH
1. Fixed INC046796 - NTT - Error comparing to N/A
2. JonathanM
1. DEFECT FIX: DEF049602 - Unresumed processes aren't cleaned up when the creator process dies
2. DEFECT FIX: DEF049616 - Minor security risk with Process IDs
3. RichardCo
1. Fixed DEF050208 - T_CFTESTS.exe in F32Test is failing in overnight builds in Cedar
4. AndrewR
1. MINOR_CHANGE - Add catch(XLeaveException&) to emulator EpocThreadFunction to support
__LEAVE_EQUALS_THROW__
5. DjordjeK
1. Fixed DEF049828 - Debug Monitor and Crash Debbuger do not work fine all together
2. Fixed DEF050504 - Publish and subscribe plat sec related interface changes (RPropertyRef::Define)
NOTE: This is a SC break. SCB confirmation numbers are : BR1017.3 & BR1017.4
6. SimonT
1. DEF048136 - t_video doesn't turn off the backlight
2. DEF048338 - H2 switch off/on doesn't appear to work reliably
3. DEF049004 - USB hangs in tpantestusb_normalrom for H2
4. MINOR_CHANGE - Fix Arm::DebugInJTAG
5. MINOR_CHANGE - Fix and enable H2 benchmark suite on base tests builds
7. MiguelB
1. DEF048462 - MMC stack overwrites correct settings when Card Spec is greater than 3
2. DEF050127 - Capabalities of MMC card is shown wrongly after a hotswap for "unlockable" card
3. DEF050770 - MMC stack should check pointer validity before de-referencing
4. DEF050771 - MMCStack::StackSessionCB returns incorrect error for s/w based card detection
8. KeithR
1. DEF050643 - PlatSec: misleading diagnostics for Rename()
Patches to Version 2.00.541
============================
1. JonathanM
1. DEFECT FIX: DEF050385 - SS there is no way of suppressing inappropriate platsec diagnostics
2. DEFECT FIX: DEF050585 - SS [System Build] EDBMS.DLL not Built and Associated Errors
3. DEFECT FIX: DEF050964 - SS [PlatSec] Loader can fail to map "sys\bin" to the emulator path
2. AndrewR
1. DEFECT FIX: DEF050584 - [System Build] DRTAEABI.DLL not Built
Version 2.00.541
============================
(Made by GongjunC, 18/10/2004)
1. AndrewR
1. DEF050010 - Math::[U]DivMod64 problems on ARM
2. MINOR_CHANGE - Prevent ARM4 from defining __LEAVE_EQUALS_THROW__, to support base test builds
3. DEF050083 - Incorrect exception specifications on operator new() in e32 headers
2. Dennis
1. Increase ROM size limits on base test ROMs to stop 'ROM overflowed'
errors in overnight build.
3. DjordjeK
1. DEF042614 - Mistakes in API Classification. In-line documentation change only.
4. JonathanM
1. Fixes for test code: T_IDRV and T_TLDD were failing on a ARM1136 Integrator
5. CiprianM
1. Fixed for DEF050119 - CActiveScheduler::RunIfReady doesn't clear flags correctly
6. MichaelP
1. Fixed defect DEF048442 - Mistakes in API Classification. In-line documentation change only.
(This is the Peripherals part of DEF042614.)
Version 2.00.540
============================
(Made by Kamran, 08/10/2004)
1. MiguelB
1. Added template lffs driver - (Part of MS3.3.3 - PREQ515 Template Base Port Implementation)
2. DEF046358 - MMC card change notifcations not issued on Lubbock running Cedar
2. JonathanM
1. DEFECT FIX: DEF049601 - USB driver doesn't cleanup physical RAM allocation correctly
3. DjordjeK
1. DEF047569 Performance: CObjectIX and CObjectContainer classes
NOTE: This is a BC break. SCB confirmation number: BR1162.1
2. MINOR CHANGE in base internal test program d_latncy
3. DEF049186 - Performance: DObjectIx
4. AndrewR
1. DEF049679 - TRealX::operator TInt64 corrupts the stack on MSVC8 and incorrect for others
2. DEF049711 - TRAPD definition broken
3. MINOR_CHANGE - Fix warnings in t_i64
4. MINOR_CHANGE - Fix failures in t_i64
5. DEF049892 - Epoc32 console does not honour CursorHeight
6. DEF049897 - TTimeIntervalBase bool operators declare TBool but define TInt
5. MichaelMo
1. DEF049754 - t_chunk missing call to RTest::End()
2. INC049205 - NTT Test case t_mwait doesn't print rtest result
6. JasmineS
1. INC049392 - NTT base\hal savehal fails in EKA2 due to improper path
7. CarlosF
1. MS3.6.1 PREQ550 Document Power Model
8. RobertJ
1. DEF049960 - Incorrect thread write function used in USB PIL
Added a test case for this in T_usbapi
Version 2.00.539
============================
(Made by YingS, 22/09/2004)
1. DennisM
1. Milestone: Yankee, GT0217 MS3.7.2 Base 1: Implement TInt64 as a built in type on EKA2
CR ATHE-5VFL29 "Implement TInt64 as a built in type on EKA2"
2. KeithR
1. MINOR_CHANGE - changed Multimedia to MultimediaDD in comments
3. JonathanM
1. Expanded the Capabilities of EWSRV.EXE to ALL-TCB. This is to enable
text notifier plugins to make use of a full capabilities.
NOTES FOR MCL SUBMISSION
On the day this change is Submitted to the MCL, tell Keith Robertson
so that he can update the Master List of capabilities (this will prevent
a build warning and defect being raised.)
2. DEFECT FIX: DEF048953 - Text notifier server's thread heap size should be increased
3. DEFECT FIX: DEF049305 - E32 fails to build EDLL.LIB if __SECURE_API__ is defined
4. CiprianM
1. Fixed DEF049008 RNotifier needs "update" functionality that guarantees the response gets back
5. JasmineS
1. MS3.1.2 PREQ277 Platsec REQ3527
Secure Storage of HAL attributes
Reimplemented HAL global data in terms of Publish and Subscribe
Version 2.00.538
============================
(Made by JasmineS, 09/09/2004)
1. Dennis
1. Fix problem with D_LATNCY.LDD on lubbock.
2. GT0217 MS3.5.1 PREQ519
User::Leave() in terms of throw()
Implemented on EABI builds, configured by __LEAVE_EQUALS_THROW__
Not yet implemented on the emulator.
2. CarlosF
1. MINOR_CHANGE - Insert relevant Interface Management tags.
2. Fix defect DEF048124 - Incorrect IPR Category & Component name within
Dist. Policy File for Sierra
3. SimonT
1. DEF048135, Touchscreen calibration is somewhat off in PORTRAIT mode
2. DEF048333, Keypad doesn't get interrupts on Rev C surfer boards
3. DEF048339, Work required to improve audio support on H2
4. JasmineS
1. DEF047450, T_R64BMFNC.CPP : Optimisation removes active code
5. JonathanM
1. Defect Fix: DEF048750 - Hardware Chunks are visible to user side code
6. JenniferH
1. Defect Fix: DEF047566 - Problems due to heap being compacted more aggressively in Cedar.
Version 2.00.537
============================
(Made by MichaelP, 27/08/2004)
1. JonathanM
1. Fix for parsing of large integer properties in emultaor ini file,
and command line. (Values >= 0x80000000 were getting set to 0x7fffffff)
2. Turned on PlatSecEnforceSysBin for all Base ROMs.
This forces all executables to be placed in the \sys\bin\ directory
of ROMs and makes the loader only look in this directory. Any file path
specified when loading executables is ignored.
2. KeithR
1. Updated Architectural Description. Revamped section 3 about required
capabilities for direct access to device drivers.
2. DEF048147, iRangeCount field in CPolicyServer::TPolicy is too small
This breaks SC with any existing CPolicyServer::TPolicy classes.
However, at the time of writing there were none in the MCL.
Additionally, the fix is trivial. To facilitate the fix the TUint16
iSpare field in CPolicyServer::TPolicy has been removed. Thus any
explicit instantiations of this value must also be removed. As an
example, I've modified the sample code from the documentation.
const CPolicySErver::TPolicy myPolicy =
{
CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
myRangeCount,
myRanges,
//####Following line must be removed####
//0, //iSpare must be zero
//####End of line that must be removed.####
myElementsIndex,
myElements,
}
Break Request Number: BR 1147.1
3. TonyL
1. DEF047811, OMAP DMA should reset the channel to defaults on close
2. DEF047952, omap baseport doesn't have recognition for the ES1.2 1623
core
3. DEF048104, possibility of spurious ps2 keypresses on H2 startup
4. DEF048105, Integrate changes from camera code review
5. DEF048106, USB soft connect/disconnect doesn't work
4. AndrewR
1. DEF047010, Placement operator new for arrays missing in E32
Version 2.00.536
============================
(Made by DjordjeK, 18/08/2004)
1. Dennis
1. Fixed defect DEF 047427 Duplicate definition in ncsched.cia
2. Added __ASSERT_ALWAYS_NO_LEAVE and __ASSERT_DEBUG_NO_LEAVE macros to
assert that code does not leave in all builds and in debug builds
respectively.
2. JonathanM
1. Fixed corrupt drive X: on emulator by adding FS_FORMAT_CORRUPT
for drive X: in wins/estart/estart.txt
2. Defect Fix: DEF047931 - Loader crash when PlatSecEnforceSysBin is ON
3. TonyL
1. Fix for DEF047556. H2 rom files should allow creation of images
of 32MB in size. (Note that this image size is only valid for
RAM based images).
2. Fix for DEF047557. H2 USB LDD/PDD wrongly specified in ROM files
3. Fix for DEF047558. Implement errata 1.4.28 in for the OMAP H2 baseport
4. Fix for DEF047561. H2 fails T_KHEAP
5. Fix ARMV5 warnings for lcd and edisp drivers which were missing the
NONSHAREABLE_CLASS primitive.
4. CiprianM
1. PREQ3 - REQ2718 Part 2/2: Enable devices with multiple displays -
EKA1 (dummy API) + EKA2, Emulator (part II).
This contains a BC break in TRawEvent - approval id BR1073
2. Fixed DEF047610 defective ScreenOffsetY
3. Removed the non-ASCII sterling pound symbol and replaced it with the
hex representation to allow compilation of the code when default Far
East locales are used
5) MiguelB
1) As part of "MS3.1.7 Platform security file handle sharing",
changed these signatures:
inline RSessionBase& RSubSessionBase::Session(); to
IMPORT_C const RSessionBase RSubSessionBase::Session() const;
inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs); to
inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction); to
inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);
IMPORT_C TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs); to
IMPORT_C TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);
NOTE: The first is a BC/SC break. SCB confirmation number: BR1099.1
6) MichaelP
1. Fixed defect DEF047456 - USB LDD device driver aborts
In the USB PIL (in DUsbClientController::EndpointCaps and
DUsbClientController::DeviceCaps) we now use Kern::ThreadRawWrite
instead of a plain descriptor copy to update the caps structures.
Also, in the LDD certain user-provided parameters are now copied over
via Kern::ThreadRawRead rather than referenced directly.
Patches to version 2.00.535
============================
(Made by JonathanM, 11/08/2004)
1. JonathanM
1. Defect Fix: DEF047249 - Inconsistent capability checking return types
Interface Change: BR 1114.1 Some of the HasCapability apis in base return
TInt's whilst others return TBools. They should all return TBools.
2. CiprianM
1. Fixed INC047873 - Week 32 8.1b emulator fails to start
Version 2.00.535
============================
(Made by KamranN, 04/08/2004)
1. MichaelP
1. Implemented CR MPED-5XDM2V "Enable USB DMA Support on EKA2":
DMA support has been added throughout the USB driver stack, with changes
at the PDD/LDD interface and the addition of two new virtual functions
at the PSL/PIL interface:
virtual DUsbClientController::TInt OpenDmaChannel(TInt aRealEndpoint);
virtual DUsbClientController::void CloseDmaChannel(TInt aRealEndpoint);
Support for DMA transfers has been added to the Cotulla PSL, however
due to UDC hardware problems this is conditional (#define's) and is
disabled by default.
NOTE: BC Break in the USB PDD - SCB confirmation number: BR1084.1.
2. Jonathanm
1. Yankee,GT0217,MS3.1.5 PS8.3 Add "!" in front of the names of services to
ensure kernel protection
2. E32 and E32TEST changes required for H2 baseport.
3. MiguelB Fix for DEF047057 - CBR/Kits errors in MCL build 03323 8.1b:
Deleted: template/base_template.mrp
replaced with:
template/template_assp/base_template_assp.mrp and
template/template_variant/base_template_variant.mrp
4. AndrewR
1. Implement CR - LKUH-5WJMEA: Correct and improve EKA2 Stop-Mode Debug API
5. Peters
1. Changes due to the implemented REQ3489: 'Dividing ESTART into separate generic
and customisable parts'. Now both Lubbock and WINS platforms have a customised
version of ESTART.
6. TonyL
1. OMAP H2 baseport handoff.
7. KamranN
1. Added timeouts for Lubbock tests
Patches to Version 2.00.534
============================
(Made by MichaelP, 04/08/2004)
1. MichaelP
1. Fixed defect DEF047336 - [System Build] : CBR warnings (Base) in 03332 build.
Deleted the following two lines from base\lubbock\base_lubbock.mrp:
-binary \epoc32\release\arm4\coreldr.bin
-binary \epoc32\release\arm4\miniboot.bin
as the files referenced don't exist (they don't get built).
Version 2.00.534
============================
(Made by JonathanM, 26/07/2004)
1. JonathanM
1. Yankee,GT0217,MS3.1.4 PS6.3.2 Ignore path information for binary files
within ROM build and loader.
2. Fix for DEF047047 - It's not possible to construct TSecurityPolicy
objects at compile time
Version 2.00.533
============================
(Made by AndrewJ, 21/07/2004)
1. MichaelP
1. Fixed DEF046615 - Unnecessary timer is set in Suspend ISR routine:
In the USB PIL we now move to the Suspend state straight away, but check after
500ms in the timer callback whether the cable is actually still there and
change to the Undefined device state if it is not (= cable has been pulled).
2. Dennis
1. Extended RArray and RPointerArray to support geometric growth.
2. Maintain list of code segments in order of name to speed up checking for
already loaded code segments.
3. Maintain list of code segments in run address order to allow efficient
location of the code segment containing a given instruction address.
4. Store address of exception descriptor in code segment. Add function
UserSvr::ExceptionDescriptor to find the exception descriptor which
corresponds to a given instruction address.
3. Djordje
1) REQ2731.3 (PREQ728): Descriptors API enhancement (RBuf)
2) DEF046598 - TDateTime bug
3) DEF046353 Error in in-source documentation for TDesC16::FindC (three parameter variant)
4) DEF046617 memory model not taken into account when building debug monitor
4. JonathanM
1. Made emulator try and load an INI file called 'defaulttest.ini' if the
normal ini file wasn't found.
2. Made E32TEST and F32TEST export a 'defaulttest.ini' so emulator testing
uses the PlatSec settings we want.
3. Added PlatSec diagnostic messages to methods which attempt to open handles
on protected kernel objects.
5. CarlosF
1. MS3.3.1 - PREQ515 Template Base Port Implementation
6. RobertJ
1. Fixed DEF043662 - Lubbock 'dies' doing RUsb::Stop
The basic solution is to stop the channel destructor from getting interrupted
by a notification DFC or a data transfer completion DFC and by cancelling all
possible outstanding DFCs at an early stage in the channel destructor
7. CiprianM
1. Fixed DEF046808 - Panic in CBitMapAllocator::IsFree(int, int) when allocate
a contiguous 600K memo
2. Fixed INC045738 - emulator OnActivation keycode/scancode mixup
8. KamranN
1. Fixed DEF045510 Bad structure member alignment in TLocalDriveCapsV3
NOTE: Fix causes BC Break and this has been approved by System Compatibility Board (confirmation number BR1093.1)
Version 2.00.532
============================
(Made by AndrewH, 06/07/2004)
1. AndrewR
1. Fix DEF045730 - SDblQue methods should be const
2. PeteS
1. Fixed defect DEF022437 'CMD1 to ready timeout'. This is related to
powerering up MMC cards.The busy timeout for CMD1 (a command issued during
the card init. sequence) has been increased from 200ms to 1000ms. Additionally,
the polling interval between busy checks has been reduced from 40ms to 10ms.
The fix involves changes to the classes TMMCStackConfig and TMMCCommandDesc.
Prior to the change, the member: "iPollAttempts" was used to hold info. on the
number of retries the controller made in the event of a busy timeout. This applied
to busy timeouts during both card power-up and write operations. Now this member
only applies to busy timeout during writes. A new TUint16 member: "iOpCondBusyTimeout"
now applies to busy timeout during card power-up. To reduce the chance of
compatibilty issues as a result of adding this new member, the existing
member: "iUnlockRetries" has been reduced from TUint to TUint16 to keep
the overall size of these classes the same.
The approval ids for these changes are: 1055.1 to 1055.3.
Base Port Impact:
As mentioned above, there have been changes to the MMC related classes
TMMCStackConfig and TMMCCommandDesc. However, it is highly unlikely that the
changes to either of these classes will have any impact on an MMC base port.
The class TMMCCommandDesc is used routinely in an MMC baseport. However, the changes
to this class relate to members which should only be accessed by the Platform
Independent layer of the MMC Controller. However, if these members are being
accessed in the base port for some reason:-
Use of the member "iUnlockRetries". The change in size of this is a BC
issue which will be fixed by re-building.
Anyone using this class alter the busy retry count on card power up
(ie altering "iPollAttempts") should alter the new member:"iOpCondBusyTimeout"
instead.
It is unlikely that any MMC base port will use the class TMMCStackConfig. However,
if this is used, the only issue is that those using this class alter the maximum
busy retry count on card power up (ie altering "iPollAttempts") should alter
the new member:"iOpCondBusyTimeout" instead. ie - use SetOpCondBusyTimeout() rather
than SetPollAttempts().
2. Fixed defect DEF022432 'User cannot lock a MultiMediaCard (ver. MMCA 3.1 or
later)'.
3. Dennis
1. Fixed bug in EKA2 emulator - an invalid fast executive call would crash the system.
2. Fixed double-unlock problem with Kern::SemaphoreWait().
3. Added BASEDEFAULT option to BLDMAKE for use in PRJ_PLATFORMS.
This is like DEFAULT, but includes extra builds used by base.
Changed all base BLD.INF files to use this instead of DEFAULT.
4. Don't include CallViaRn.cpp in USRT, KSRT when building ARMV4.
5. Tools define __MARM_INTERWORK__ when building for ARMV5 (or other EABI
builds which support THUMB). E32 uses this to determine whether THUMB
interworking should be supported.
6. Fixes for ARMV4 build.
7. Exception support is turned off for kernel side code.
8. Fix problem in RMsgQueueBase::SendBlocking, ReceiveBlocking
TRequestStatus not set to KRequestPending.
4. CiprianM
1. Fixed DEF044824 - Problems with CWsScreenDevice::SetCurrentRotations()
2. PREQ3 - REQ2718 Part 1/2: Enable devices with multiple displays - EKA1 (dummy API) + EKA2
, Emulator (part I).
Changes to HAL to allow multiple handles for the same properties.
Variants of Kern::AddHalEntry, Kern::RemoveHalEntry and Kern::FindHalEntry which take a
device number as parameter has been introduced. Old versions assume device 0 (default
device). A second video driver should make itself handler for EDisplayXXX attributes by
calling Kern::AddHalEntry(..,..,..,1) to handle screen 1.
HAL::Set and HAL::Get APIs that take a device number have been added.
EDisplayNumberOfScreen HAL attribute has been added. By default, it is 1.
The emulator has been enhanced to support multiple screens, each screen will have its own
window, the window title will contain the screen number. A control window has been
introduced, which displays the old title and which closes the application.
A new screen can be specified in emulator by adding the keyword _NewScreen_, all the
screen properties (eg. screen width) after the keyword will be associated with the new
screen. _NewScreen_ is only required for additional screens, the default screen (screen 0)
doesn't need it.
HAL implementation functions have changed, by needing a new parameter (device number). This
has a potential impact on base ports if any licensee modified these implementations or if
they've added new HAL attributes.
3. Fixed DEF046674 - Shared io buf DoCreate tries to memset a hardware buffer
5. DjordjeK
1) Fixed: DEF043303 - Undesired carriage returns in VT100 display when using RDEBUG output.
2) Fixed: DEF044439 - TVersion::Name should be const
6. JonathanM
1. Sierra,GT0196,MS3.6 PlatSec IM12 Kernel work - REQ2634 Configurability of process protection
2. Added User::RenameThread() and User::RenameProcess(). These are replacements
for RThread::RenameMe() and RProcess::RenameMe();
7. AndrewHi
1. Sierra, PREQ 537 part 2 and PREQ 729 part 2 - file system layout and F32 data caging enforcement
8. MichaelP
1. Fixed DEF046614 - USB: Re-enumeration delay should be shorter:
Reduced the reconnection delay in ps_usbc.cpp from 2s to 500ms.
Patches to version 2.00.531
============================
1. CiprianM
1. Implemented REQ2731.4 Active Scheduler
THIS IS A BC break. Break approval id: BR1031
Version 2.00.531
============================
(Made by MichaelP, 17/06/2004
0. JonathanM
Milestone: Yankee,GT0217,MS3.1.1 PlatSec Capability Check (PS5.11 & PS5.12).
Capability checks in E32 and HAL APIs enabled.
1. DennisM
1. Fixed defect DEF045564 - Incorrect CLZ macro
2. StefanW
1. Implemented CR - CLCT-5SAN3S Split SD Card example port into a 3C version and a 4C version on Cedar
3C and 4C code has been split, allowing the Integrator target to be built for SD only or SD+CPRM.
Specify --m=lmpsdio at ROM building time for SD only, --m=lmpsdiop for SD+CPRM
2. Fixed DEF043653 - Nand buffers should be allocated at the driver level
NAND Media Drivers may now enable the use of a memory allocator which allocates buffers from a pool
allocated by the PSL at initialisation (overriding the use of stack based buffer allocation).
To enable the allocator:
1. Define __USE_CUSTOM_ALLOCATOR in the mandatory exported nand_plat.h header file.
2. Provide a concrete implementation of the TNandAllocatorBase derived class, implementing the pure
virtual function: TInt TNandAllocatorBase::AllocateBuffers(SBufferInfo& aBufferInfo)
3. Provide the factory function TNandAllocatorBase* DMyNandMediaDriver::ExtensionInitAllocator();
3. Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
the password. This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
issue the FORCE_ERASE command to the media via CMD42. If successful, this should be follows by a standard
'quick format' operation to create a fresh filesystem on the disk.
This change has Break Request confirmation numbers BR1056.1 and BR1056.2
4. Implemented REQ3381: CMD23 support - Enabled support for MMC Command 23 (SET_BLOCK_COUNT) to bring the
controller in line with specification version V3.31.
Base Port Impact: Controllers that don't support CMD23 (ie - those which must use the STOP command)
should return KMMCErrNotSupported in response to CMD23.
This change has Break Request confirmation number BR1056.3
5. Implemented REQ3382 (Part 1): Implement Multi-Block Write
Allows multiple blocks of data to be written to the media in a single command to improve write performance.
Part 2 of the REQ requires this to be rationalised with the atomic sector write requirement of ruggedised
FAT to improve robustness if supported by the hardware.
3. JonathanM
1. Fix for defect DEF045618 - T_EXC.EXE fails on ARMV5 UREL test ROMs
2. Implemented REQ2862 - Obtain an executables header's capability parameters
by adding function RLibrary::GetInfoFromHeader()
3. Made capability checking in E32 dependant on the macro CHECK_CAPABILITIES_IN_E32_APIS
If this macro is defined during compilation of Base then HAL, EUSER, Kernel and variants
will enforce capability checks.
4. DjordjeK
1. REQ2731.5:Boot Reason - Implemented through Hal::Get/Set by introducing new attributes:
ECustomRestart & ECustomRestartReason. Fully implemented on assabet variant. Dummy implemetation
in Lubbock & WINS variants as they do not support S/W restart.
2. REQ2731.1 RArray API enhancement & REQ2731.2 RMessagePtr2 API enhancement:
Added leaving versions of the existing methods in RPointerArray<T>, RArray<T>,
RArray<TInt) and RArray<TUint>.
5. CarlosF
1. MINOR_CHANGE - updated WINS Ethernet How_ To document.
6. AndrewR
1. Fix for defect DEF044273 - Mistake in doxgen comment for wordmove
7. MichaelP
1) Fixed defect DEF046003 - "USB should not reset all end points on SetInterface
command from host PC":
In function DUsbClientController::ProcessSetInterface() in file
\e32\drivers\usbcc\chapter9.cpp we now clear the Halt feature only for those endpoints
which belong to the new current interface setting.
Version 2.00.530
============================
(Made by JonathanM, 14/06/2004
1. KeithR
1. Implemented CPolicyServer
Version 2.00.529
============================
(Made by JonathanM, 07/06/2004
1. JonathanM
1. Replace RSessionBase::CreateSession overloads which uses 'Identity' checking
with overloads which take a TSecurityPolicy. (Interface Change BR1030.1)
2. Changed RProperty::Define() to take TSecurityPolicy objects.
3. Documented all APIs which check capabilities with @capability tags.
4. General Platform Security tidyups.
Patches to version 2.00.528
============================
1. TonyL
1. Fix for defect DEF045740 - D_EXC doesn't work on EKA2 Lubbock ROMs
Version 2.00.528
============================
(Made by JonathanM, 26/05/2004
1. DennisM
1. Fixed DEF044687 - ARM1136 doesn't boot if caches have 16K alias restriction
2. Fixed DEF044483 - Bootstrap faults if RAM bank starts at address 0
3. Added Kern::SemaphoreCreate(), Kern::SemaphoreWait() and Kern::SemaphoreSignal()
kernel APIs to allow semaphores to be used by device drivers.
4. Added Kern::SetSystemTime() API to allow the software RTC to be updated in line
with the hardware RTC.
5. Move ClearPages() function from DArmPlatChunk to ArmMmu.
Reimplement to use only a single temporary page table entry.
6. On X86 don't try to zero RAM-loaded code memory before giving it write permission.
7. Stop file server crashing if some removable drives are omitted.
8. Support 'debugport' on X86
9. On X86 'debugport -3' traces to the screen (for systems with no serial ports).
10. Don't do ScanDrive on X86.
11. On X86 map floppy as drive A (and ZIP as drive B if present).
12. Workaround for Erratum 4.14 on ARM1136
13. Modify CM1136 bootstrap to work with real CM1136 core module.
The CPU is set to run at 200MHz and this seems to work, but the memory
is very slow (12MB/s bandwidth according to T_MWAIT).
2. AndrewR
1. Fixed DEF044873 - Emulator serial driver unable to open high COM ports
3. CiprianM
1. Fixed DEF044808 - Improvement to region code
2. Fixed DEF045272 - CPeriodic::Start() precondition is incorrect
4. DjordjeK
1. Fixed RVCT warnings including introduction of operator delete in RHeap & CBase.
The warnings we are not obliged to fix still remain.
5. JonathanM
1. Fixed DEF045256 - RVCT compile optimises CServer2::DoConnect() too aggressively ...
2. Fixed DEF045159 - New warnings in build
3. Fixed DEF040915 - Kernel threads aren't protected against being killed
This changes Kern::ThreadKill so that it asserts the thread being killed is either the
current thread, or is a user mode thread. I.e. prevent kernel threads from being
killed by other threads. This change has Break Request confirmation number BR1028.1
6. AndrewT
1. Modified the behaviour of the emulator timer event system to discard extra ticks
collected when the multi-media timer callback has been suspended. This
significantly improves client-server debugging experience with EKA2 emulator.
7. AndrewHi
1. Fixed DEF043213 - Build dependency introduced between e32test t_lfsdrv2 and lubbock base port
Version 2.00.527
============================
(Made by AndrewJ, 28/04/2004
1. JonathanM
1. Fix for defect DEF044341 - Notifier framework (ewsrv.dll) generated KErrNoMemory
2. Fix for defect DEF044651 - TSecurityPolicy::CheckPolicy methods don't obey global PlatSecEnforcement option
3. Add capability checking to ECOMM.LDD (comm driver) and ELOCD.LDD (local media driver)
ECOMM now checks that its client has ECapabilityCommDD
ELOCD now checks that its client has ECapabilityTCB
(These checks obey the PlatSecEnforcement and PlatSecDiagnostic configuration options.)
2. MichaelP
1. Fixed defect DEF041968 - "usbc ldd built by lubbock variant even though
it isn't a VariantTarget":
The 'usbc' line has been removed from \lubbock\bld.inf and moved to
\e32\bld.inf. Also, the usbcc import lib 'usbcc.lib' for use by the LDD
is now created from /e32, no longer from /lubbock (/cotulla); Added
\e32\drivers\usbcc\usbcc_lib.mmp for that purpose.
2. Fixed defect DEF044327 - "Dma library with the same name (dma.lib) is created
by each variant:
To avoid creating the dma.lib more than once we now generate it once from /e32.
Added a new file \e32\drivers\dma\dma_lib.mmp for that purpose and stopped the
generation of dma.lib in \cotulla\dma.mmp.
3. AndrewJ
1. Fixed DEF044093 8 fatal errors in "cedar\generic\base\integrator\core\cm920" for
8.1b by changing the build directory in the makefiles for both the coreldr and
miniboot components to prevent the path being longer than approx 250 chars long.
Version 2.00.526
============================
(Made by JonathanM, 23/04/2004
1. JonathanM and KeithR
1. Implemented Change Request JMET-5WFL2U - Remove legacy Platform Security APIs
2. Implemented the following prototype Platform Security APIs
RProcess::SecureId
RProcess::VendorId
RProcess::HasCapability
RThread::SecureId
RThread::VendorId
RThread::HasCapability
RMessagePtr2::SecureId
RMessagePtr2::VendorId
RMessagePtr2::HasCapability
User::CreatorSecureId
User::CreatorVendorId
User::CreatorHasCapability
class TSecureId
class TVendorId
TSecurityPolicy
_LIT_SECURITY_POLICY_xx macros for compile time construction of TSecurityPolicy objects
RProperty::Define(TUid aCategory, TUint aKey, TInt aAttr, const TSecurityPolicy& aReadPolicy, const TSecurityPolicy& aWritePolicy, TInt aPreallocate)
DProcess::HasCapability
DThread::HasCapability
3. Updates to TCapabilitySet and TSecurityInfo
Patches to version 2.00.525
============================
1. JonathanM
1. Fix for defect DEF044228 - AppendFormatList() generates KERN-EXEC 3 when
used with VA_LIST on EABI
2. CiprianM
1. Fix for DEF044435 - Incorrect MRP file for base_wins component - updated
base_wins.mrp to reflect 3 new exported files
Version 2.00.525
============================
(Made by CarlosF, 14/04/2004
1. DennisM
1. Fixed defect DEF043790 "Running T_TLDD on WINSCW takes down the system"
2. JonathanM
1. Fix for DEF043570 - e32 and e32utils warnings in 8.1b EABI build - project not frozen
2. Added general purpose mutex ordering constants KMutexOrdGeneral0 thru KMutexOrdGeneral7
These are for general purpose use. The values are higher than any used
internally by the kernel, therefore there are no mutex ordering restrictions that
limit which kernel functions may be called whilst a mutex of these orders are held.
3. AndrewJ
1 Fixed defect DEF043489 "No ECC in the coreldr"
4. CarlosF
1. PREQ726 Keyboard Modifier - added new modifier (EModifierKeyboardExtend), new Scan Code
(EStdKeyKeyboardExtend) to be turned On/Of on extendable keyboard extension/retraction, and
new Key code (EKeyKeyboardExtend). Modified Keyboard Translator to recognise the new modifier
Scan Code. Modified Lubbock Keyboard Mapping to map the Scroll Lock to the new modifier Scan
Code: while this being pressed the keyboard layout is mirrored.
5. CiprianM
1. Fixed DEF044167 - epoc.ini setting "JustInTime none" no longer works in EKA2 Builds
2. Fixed DEF044155 - Header files need to be exported from WINS component
6. KeithR
1. DEF044039 - Seven test case failures against CLDC TCK 1.0a on Cedar
(aka TInt64::operator>> not working on EKA2 code warrior for shift values
>= 32)
Patches to version 2.00.524
===========================
1. AndrewJ
1. Fix Defect DEF044069 - CBR warnings in 8.0b, changed the name of the coreldr
and miniboot components for each board
2. KeithR
2. Fix Defect DEF044109 - Missing files in ROM build for 8.1b and 8.0b
Version 2.00.524
============================
(Made by JonathanM, 31/03/2004
1. ChristopheL
1. A3.4.3 PREQ12 NandFlash Integrator EKA2 Part2 - With TechView booting
(already submitted as a defect but forgot to put the milestone itself
into the release.txt)
2. CiprianM
1. Implemented REQ2533 Kernel needs to zero memory when handing it between
processes. Kernel fills memory commited to chunks and shared io buffers
with 0x03. It also fills the portion in code chunks that is not overwritten
by the loader. 0x03 is used instead of 0x00 to prevent people from relying
on memory being zero initialised.
2. Fixed DEF042172 - Confusion between page size and page shift in shared I/O
buffer code
3. ChrisM
1. Fixed defect DEF042239 - WINSCW EKA2 sound PDD loses data when recording.
2. Implemented MRED-5MGHAW - Multiple fascia layout support in the emulator.
Backwards compatible with existing epoc.ini files.
4. JonathanM
1. Fixed defect DEF041808 - initialisation of kdebug.dll is rather racy (possibility
of null pointer deref)
5. PhilK
1. Implemented PREQ12/GT135 Nand flash support for Lubbock. Note that current support
has been tested for 16bit NAND devices only. Enabled composite filesystem support
thus ROFS images appear on system drive. Added reboot driver support for Lubbock
nandloader utility. Removed single/direct build since this will not work with the
current (hardcoded) values.
2. Implemented PREQ412: Support for ARM RVDS 2.1 toolchain. THIS IS A BINARY COMPATIBILITY
BREAK FOR ALL FILES COMPILED UNDER THE ARM RVCT/RVDS TOOLCHAIN. (The final RVDS
toolchain supports the ARM EABI standard which requires renaming/refactoring both
user and kernel side intrinsic library functions.)
3. Further DEF file fixes for PREQ412. BINARY COMPATIBILITY IS BROKEN BETWEEN RVCT 2.0.1
AND RVCT 2.1. Removed duplicated EUSER.DEF exports, removed further apostrophes from
e32rom.h comments that caused h2inc.pl to get confused about alignments. (Correct fix
is to h2inc.pl). Add Integrator 1136 new power dll exports generated by RVCT2.1.
6. RobertJ
1. Fixed DEF042908 - eusbc regression: Read completes with KErrNone and zero bytes
2. Fixed DEF040606 - Incorrect OUT data presented to ECACM.CSY by RDevUsbcClient
3. Fixed DEF042074 - Random data retd by RDevUsbcClient::ReadOneOrMore after USB enumeration
7. CarlosF
1. Fixed defect DEF043285 - Lubbock Bootstrap trace is switched on
8. MichaelP
1. Fixed defect DEF043484 - "DMA Framework doesn't permit manipulation of
custom descriptors":
Introduced new public member function
'inline const TDmac* Controller() const {return iController;}'
to class TDmaChannel. This way we can access TDmac::HdrToHwDes(), which
we need in order to get a pointer to custom-created DMA descriptor(s).
2. Fixed defect DEF043600 - "USB: Zero-byte writes don't work on Lubbock":
In the Cotulla USB PSL we need to treat zero-bytes writes still as
comprising one packet when completing to the LDD.
9. KeithR
1. CR JPAR-5RYLQQ: Make the Crash Flash Logger part of base
- At a high level this code provides support for automatically writing
debugging information, similar to what one could have retrieved from
the traditional interactive crash debugger, to a special area in
flash.
- This submission provides support for generic nor and nand crash loggers.
- Lubbock is the only currently supported variant.
- A utility called crashread is provided in e32utils. This provides
the ability to read a previously stored crash log from the special
area in flash to the visible file system.
- To enable crashread, several changes were required to other, seemingly
unrelated, areas.
- First, KMaxLocalDrives has been increased from 9 to 16. This
change was necessary to support the steadily increasing number of
partitions (each type of crash log logs to it's own partition).
- Second, the generic nand flash code was updated to recognise a
crash log parition and be able to use it.
- Third, the nandloader also needed updates to support creating
nand devices with the new crash log partition.
- What was formally referred to as the "monitor" now consists of three
separate entities:
- The common monitor functionality (code common to both the crash
logger and the crash debugger)
- The crash debugger (the interactive debugger that was also
formally known as the "monitor" or "crash monitor")
- The crash logger (the subject of this submission).
- Each of these entities is now an extension. These extensions are
called exmoncommon.dll, exmondebug.dll, and exmonlog.dll
respectively. All three must be built from the variant.
exmondebug.dll and exmonlog.dll require variant specific support. On
the other hand, exmoncommon.dll requires no variant specific code.
Building from the variant is only required in order to select the
correct memory model.
- exmoncommon.dll must be included in the rom prior to either of the
entities. It provides an api for subsequent crash monitors
(debuggers or loggers) to register and be called when the device
crashes.
- The order that the crash monitors register with the common
functionality (aka the order they are placed in the rom) is the order
they are called in at crash time.
- IMPORTANT NOTE -- Base Port Impact: Yes
- These notes explain the steps required to get the base port
working with the functionality it previously had. In order to
port the crash logger itself to a new variant, it is recommended
that the Crash Logger porting howto is consulted.
- As a necessity of the changes described above, functionality
specific to the crash debugger has been moved to a subclass of
Monitor called CrashDebugger. This results in four functions
from the variant (formerly Monitor::InitUart, Monitor::UartOut,
Monitor::UartIn, and Monitor::CheckPower) which need to have
their class changed from Monitor to CrashDebugger.
- To build exmoncommon.dll, a mmp file is provided in
e32\kernel\exmoncommon.mmp which simply needs to added to a
variant's bld.inf.
- To build exmondebug.dll, it is suggested that the existing
exmon<variant>.mmp file be slightly modified to #include
"..\e32\kernel\exmondebug.mmp" rather than
"..\e32\kernel\monitor.mmp" and that the target statement is
changed from "VariantTartget(monitor,dll)" to
"VariantTarget(exmondebug.dll)".
- Finally, the iby file for the variant must be changed. The
extension statement that previously specified "monitor.dll" should
be changed to "exmoncommon.dll". After this add one more extension
statement to include "exmondebug.dll" in the rom is required.
Version 2.00.523
===========================
(Made by JonathanM, 19/03/2004)
1. JonathanM
1. Implemented the requirements:
REQ2632 - Configurability of the enforcement of capabilities
REQ2633 - Security violation diagnostic
REQ3142 - Associate Platform Security information with an executable.
See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc
Patches to version 2.00.522
===========================
1. StephanGu
1. Fix Defect DEF043083 - The file
\epoc32\data\media\nanddrv.bin is missing from 8.0b gt_only CBR.
Version 2.00.522
===========================
(Made by JonathanM, 26/02/2004)
1. JonathanM
1. Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
THIS IS A BINARY COMPATIBILITY BREAK FOR ALL EXECUTABLE FILES.
Binaries (EXEs,DLLs) from previous releases of Symbian OS will not work
with this or subsequent releases.
2. Added new Platform Security capability enumerations (TCapability)
3. Early release of prototype TCapabilitySet and TSecurityInfo classes.
4. Added Platform Security configuration settings to the ROM Header structure.
5. Added PlatSecDisabledCaps keyword to emulator INI file parsing.
(Above changes required to support testing of Change Request JDOD-5VUJ7F)
version 2.00.521
===========================
(Made by AndrewJ, 13/02/2004)
1. MichaelP
1. Fixed defect DEF041644 - "USB: Cable status doesn't get propagated
in PSL at startup":
We now call the cable connection notification callback straight away
after installing it in the Lubbock USB PSL constructorr in order to get
the proper PIL state from the beginning.
2. Fixed defect DEF042040 - "USB: Device state goes from Address to Default
before Configured":
An erroneous device state transition from Powered to Addressed occurred in
PIL function DUsbClientController::ChangeConfiguration(TUint16 aValue)
which is called upon a device Reset with an argument of 0. If the Reset
happens after a cable-reconnection (i.e. the device was Configured, then
the cable got pulled and is now reapplied), then the data member
iConfigured still has a non-zero value and so we moved in
ChangeConfiguration to the Addressed state - which was wrong since we
weren't actually in the Configured state anymore. The solution therefore
is, before moving to the Addressed state, to check whether we are currently
actually in the Configured state.
3. Fixed defect DEF042084 - "usbman does not return correct device state in
cold start":
[a] DUsbClientController::GetDeviceStatus() now always returns the value
of iDeviceState, even when iTrackDeviceState is EFalse because proper
device state tracking is not really supported by the UDC.
[b] In function DUsbClientController::UsbDisconnect() we move to state
EUsbcDeviceStatePowered instead of to EUsbcDeviceStateUndefined if the
USB cable is connected and the UDC is turned on. The reason for this is
that it enables the user to distinguish a soft-disconnect from a USB
cable removal.
[c] In function DUsbClientController::ActivateHardwareController() we
move to state EUsbcDeviceStatePowered if the cable is connected (was:
no state change).
[d] In function DUsbClientController::DeActivateHardwareController() we
move to state EUsbcDeviceStateAttached if the cable is connected (was:
no state change).
4. Fixed defect DEF042079 - USB: DUsbClientController::DeRegisterClient()
is inefficient":
We now use the value 00 for the setting to mean, to ReleaseInterface(),
to release all existing settings for that interface. (ReleaseInterface()
is able to pick these directly, as opposed to DeRegisterClient() which
had to guess and therefore simply tried all possible values.)
5. Fixed defect DEF040615 - "Incorrect device statuses given by
RDevUsbcClient::AlternateDeviceStatusNotify":
1) The LDD wasn't checking if a device state change was available from the
queue when a notification request was made. Items remained in the queue
until pushed out when a new device state change was available.
2) Duplicate entries were inserted into the queue. These are not required
userside and consume valuable queue space.
3) Device states were queued from when the first SetInterface call was made
or when the first notification request was made. The queuing now happens
between the first request and the cancellation, which will also flush the
queue.
4) Device state changes are now tracked from when the channel is created.
2. StephanGu
1. Fixed defect DEF041871 - "Incorrect macro passed to cmd_read_main in NAND ftl"
minor change to allow for easier porting of NAND flash across platforms.
2. Fixed defect "DEF041869 Move Nand device table into the varient" - changed
Samsung's code to populate it's device table based on an existing variant
header file.
3. Implemented CLCT-5VEK4P - "Binary search in ROFS
together with 'expanding ROFS entries with UIDs'".
Changed Rofsbuild to provide a sorted array of offsets
in order to allow the file system to perform binary search
through the image. Also expended the TRofsEntry structure
to include a copy of the file UID data.
Changed the SW ECC scheme in the driver to be compatible with beech and
updated emuldrives.zip to reflect new ROFS image format.
Patches to version 2.00.520
===========================
1. CiprianM
1. Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong level of indirection
The previous fix has been reverted because it broke Telephony code. Telephony has fixed their code
(see DEF041144: SIM TSY makes use of TArray<class T>::Array() which Base are about to break SC.)
THIS IS A SC BREAK. The approval id for it is: BR-GT0177-03
2. Fixed defect DEF042012 CDeltaTimer::~CDeltaTimer does not call Close() on its iTimer
2. KeithR
1. DEF042221: Missing APIs from IPCv2 implementation (RMessagePtr2::GetDesLengthL and GetDesMaxLengthL)
Version 2.00.520
================
(Made by AndrewHi, 23/01/2004)
1. Dennis
1. Fixed DEF041406 "RAM mapped by bootstrap as 1MB sections is not marked as in use"
Kernel now recognises section-mapped RAM blocks mapped by the bootstrap
marks the RAM pages as in use.
2. Fixed DEF041440 "Inconsistent caching attributes for page tables on ARM architecture 6"
2. JonathanM
1. Fix for defect DEF041461 - Textshell Notifier Server cleanup and channel queueing problems
2. Fix for defect DEF041176 - RPropertyRef::GetStatus usage unclear/unsafe?
3. MichaelP
1. Fixed defect DEF041295 - "Race condition in 8.0b/EKA2 DMA framework generic
layer":
In DDmaRequest::Queue(), moved the assignment 'iQueued = ETrue' inside
the channel-locked section.
4. AndrewHi
1. (PREQ13), "(REQ1968) MLC NOR Flash Support"
Introduced a driver for TYAX devices, derived the existing lfsdrv files. The updates to the
existing driver are as follows.
- The device is accessed of chip select 0, the device base address is 0x00000000. The first 2M is
assigned to the bootloader, the next 14M is for storing the OS image, and the remaining 16M is for
use by the LFFS.
- The device parameters are read at initialisation in order to determine the applicable geometry. In
order to support this, a partition must be put in to CFI-query mode - at which point the content of that
partition become inaccessible. If using XIP (i.e. code for the executing program is being read from
the TYAX) then there is the chance that the next executable statement could become inaccessible, and
so the program could 'hang'. Three approaches to this problem are suported by the driver, selectable
by action of the pre-processor: assume that the partition containing the executable code will not be put
into CFI-query mode, and access it directly; pre-load the cache with the executable code so that the
instructions can be executed from within the processor until the TYAX partition is returned from CFI-query
mode; and, copy the executable code to an area in RAM and execute from there until the device is returned
from CFI-query mode. File lffsdev2.cpp, method DMediaDriverFlashLA2::GetRawCfiQueryValues has the code to
invoke this (supported by the function QueryDeviceParameters in lffsdev2.cia)
- Device blocks that may be subject to an erase or programming are explicitly unlocked at device
initialisation (method DMediaDriverFlashLA2::Initialise).
- The device provides read-while-write and read-while-erase functionality: a partition other than the one
currently being written to / erased can be read. In addition, if an erase is suspended, a block other
than the one being erased can be read. Two new tests have been added for RWW: the first to demonstrate
that an attempt to read from the same partition that is currently being written to is denied; the second
to demonstrate that a simulataneous read from a partition other than the one that is currently being
written to is supported. New flag KMediaAttReadWhileWrite added to e32const.h to indicate a device's
capabilty to support these tests. Request method introduced to the driver (overriding the base class
equivalent) in order to support the RWW tests (denoted by #ifdef _DEBUG, and CtrlIoState). The DoWrite
function has 'special' code to support the artificial situation required to exercise the RWW capability
(denoted by #ifdef _DEBUG, and CtrlIoState). Test approach is as follows. A background thread is used
to start a sequence of writes to the TYAX devices. In the foreground, three read requests are issued. Due
the fact that the write operations complete so quickly, an artificial situation was required where a read
request was invoked whilst a write was still in progress. The following has been implemented to supoprt
this: Use of 'control IO', reserved for debug builds only, allows the artificial scenario to be created.
For such an operation, a write request is issued to the driver (from the background write thread), but it
is not instigated - rather, it is held 'pending' (the thread is blocked). When a read request is received
by the driver, the pending write is instigated, immediately followed by the read. See lffsdev2.cpp,
lfsdrv2tyax.cpp
- Poll timer expiry is now followed by a read of an address that is dependent upon the particular
asynchronous operation. File lffsdev2.cpp, method DMediaDriverFlashLA2::HandleEvents
Base Port Impact: N
Method DMediaDriverFlash::Caps has been made virtual. This is part of the internal interface of the
PDD component, between the generic and platform specific parts. No existing base ports should be affected.
5. CarlosF
1. (PREQ13), "(REQ1968) MLC NOR Flash Support"
Changes to both Lubbock and Bootloader build files to allow building Tyax specific
binaries, Bootloader, tests and ROMs.
To build a Text Shell Lubbock ROM with the Tyax module plugged in:
rom -i arm4 -v lubbock -m(odules) tyax -b (udeb or urel) -t tshell
The same applies for building a Tyax specific Lubbock Bootloader.
6. CiprianM
1. CR (JPAR-5RJCR6) System, GT0177 Kernal and Peripherals, Extend Publish and Subscribe to have
Large (non-RT) properties.
7. CarlosF
1. Fixed DEF041547 - Error found in base_integrator_core.mrp...
Patches to Version 2.00.519
===========================
1. CiprianM
1. Fix DEF041539 - Base Documentation is not being delivered in a CBR...
Added base_documentation.mrp file in \documentation directory
Version 2.00.519
================
(Made by StefanW, 09/01/2004)
1. JonathanM
1. Fix for defect DEF041288 - EKA2 stop-mode debug table needs more constants
2.
Author: CarlosF
1.
ID: IBUG-5QNJZC "Implement CR IBUG-5N2DZE on Cedar":
Change: - RBusDevComm has two new APIs (MinTurnaroundTime() to get the turnaround time
and SetMinTurnaroundTime(TInt aMicroSeconds) to set a new turnaround value).
- the default turnaround time is 0, i.e. until it is changed to a value >0, if a
Write request is queued transmission takes place immediately.
- if a turnaround time>0 has been set and a Read request is queued, when the last
character is received or the Read is aborted by fail signals, a timer is launched
with the turnaround time value; if in the meantime a Write request is queued
it will be delayed until the timer completes or a new turnaround value is set.
- if a Write request is queued after the turnaround timer has expired, transmission
takes place immediately.
- if a new turnaround time (>=0) is set while there is a pending Write request
waiting on the previous turnaround timer expiration, the Write will take place
immediately and the new turnaround value will be used after the next Read request.
- if a Write is requested after a Read is completed and then cancelled before the
timer expires the transmission will not take place, but the timer carries on. If
another Write request is queued before the timer expires it will be delayed by the
remaining time.
- if a Write request is still pending waiting on a turnaround timer expiration when
the Channel is closed, it will never take place.
To make use of this feature Half-Duplex commnunications is assumed. If Full-Duplex is
used the following behaviour also applies
- if a Write is queued after a Read is queued but before it completes it will take
place immediately.
- if a Read request is queued and completed while there is a pending Write request
waiting on the previous turnaround timer expiration, the timer will be re-queueud
with the same turnaround value, i.e. the Write will be delayed by a total of the
original turnaround time plus the time elapsed between the 2 read requests.
Base Port Impact: Y
The LDD API has been extended. Licencees who have branched the LDD will
have to implement the extra APIs
3. ChrisM
1. Fix for DEF040901 - EKA2 emulator RDebug::Print outputs do not appear in CodeWarrior log window.
Added LogToDebugger and LogToFile properties defaulting to false and true respectively.
If LogToDebugger is set to 1 in the epoc.ini, debug output is written to the debugger with
OutputDebugString. If LogToFile is set to 0, the debugger output is not written to %temp%epocwind.out
4. StefanW
1. Added generic support for SDIO Cards (A3.6.1 PREQ12 - REQ1764.1).
2. Created a new Logic Module directory for Integrator, providing a platform-specific implementation of SDIO.
Base Port Impact: Y
The variants TMMCardControllerInterface derived class should implement the following
factory function in order for the correct type of socket to be created:
DMMCSocket* TMMCardControllerInterfaceIntegrator::NewSocket(TInt aSocketNum, TMMCPasswordStore* aPasswordStore)
Version 2.00.518
================
(Made by StefanW, 19/12/2003)
1. StefanW
1. Fixed defect T_SCNDR1 locks the system when running of MMC.
The Lubbock MMC driver does not handle errors in the Interrupt handler. If an error occurs, the current
session would never complete, which would cause the system to lock (while the fileserver waits for the
request to complete). The driver has now been modified to handle errors and recover when appropriate.
2. MichaelP
1. Fixed defect DEF040810 - "USB: PIL function DeRegisterClient doesn't delete
all interface settings":
Since we don't know in DeRegisterClient how many (if any) alt settings exist
for the interface in question, nor their actual setting numbers (these could
have been set arbitrarily), we have to just try all possible values, starting
from the top. If a setting doesn't exist, ReleaseInterface() will just return
with an KErrArgument.
3. CarlosF
1. A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changes to RebootDrv so
that the offsets of NandFlash registers are defined in the platform-specific include file.
2. MINOR_CHANGE: remove COM# limitation on WINS PDD which currently only allows using COM0,
1 and 2.
3. Fix DEF037569 - Ethernet driver configuration utility is broken on EKA2
Netcards.exe now builds under wins\test. New source code under e32test\netcards. Note: winpcap
has to be run before running netcards as Symbian has not the rights to distribute packet.dll (
which is required by netcards.exe and loaded by winpcap)
4. JonathanM
1. Fix for defect DEF040312 - Change required to Bootcpu.h
2. MINOR_CHANGE - Removed legacy debug test driver.
5. Philk
1. Fix for DEF 040679 - touchscreen calibration causes system hang. Use fast mutex
to prevent AC97 link use race condition.
2. Fix for DEF 040887 - if e32test\benchmark PDD channel creation fails, benchmark LDD
deletion panics thread and kernel.
3. Fix for DEF 040998 - CF cards hang under stress formatting tests. The fix allows card
operations which raise delayed (after the timeout detection has completed the request)
interrupts to execute correctly by ignoring interrupts after the timeout has scheduled
a data transfer operation. Re-enabled automatic testing of CF card in PCMCIA (D:) slot.
6. Dennis
1. Implemented CR AFOD-5THE5U "Add EBps921600 and KCapsBps921600 to d32comm.h".
2. Modified BootCall function in new new bootstrap so that the call number
is stored in the lower 8 bits of the following word. Modified the BOOTCALL
macro to use a MOV LR, #n instruction to contain the call number. This
allows a debugger to step over the BootCall since it does not modify the
return address.
3. Modified WriteS function in the new new bootstrap so that the string to
be printed starts 8 bytes after the call instead of 4 and to not modify
the return address. Modified the PRINT and DWORD macros to place a branch
instruction immediately after the BL WriteS to branch round the string.
This allows a debugger to step over the WriteS call since it does not
modify the return address.
7. RobertJ
1. Fixed defect DEF040879 USB LDD thread related problems, panicking & reading
We have to remove the possibility of panicing the driver thread. Also, tidy code
by using a thread descriptor copy instead of a raw copy
2. Fixed defect DEF041111
"USB LDD may lose data in some situations "
3. Fixed defect DEF040428
"USB Driver error codes that can be added without disrupting PSL"
Patches to Version 2.00.517
================
1. CarlosF
1. Fix DEF040996 - CM1136 and CM920 are trying to export the same files
2. Fix DEF040845 - Error in "base_integrator_core_cmll36.mrp"...
3. Fix DEF041062 - Error found in base_integrator_core_cm920.mrp...
2. JonathanM
1. Change Request ATHE-5RMHFH - Remove Capability related APIs from EUSER, HAL and EKERN
Compatibility break ID is BR-GT0177-01
This is a SOURCE AND BINARY COMPATIBILITY BREAK for 8.0b
8.0b BASE PORTS may be affected by the HAL and EKERN changes.
Also by the removal of the KCapabilityXxxxxx constants.
Changes:
EUSER API changes
RProperty::KPersistant enumeration value removed
RProperty::TPolicyType enumeration removed
RProperty::Define() redefined to remove the last four parameters
RMessage2::Capability() removed
RMessage2::iCapability renamed to become a private member called iSpare1
TCapability typedef removed
capability definitions removed (The KCapabilityXxxxxx constants)
RLibrary::GetCapability() removed
RThread::ProcessCapability() removed
RProcess::Capability() removed
User::Capability() removed
User::CreatorCapability() removed
User::RemoveCapabilities() removed
HAL API changes
HALData::ESecureDisplay and HALData::ESecureDisplayMemoryAddress HAL attributes removed
EKERN API changes
TPropertyInfo::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
TPropertyStatus::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
These affect us of RPropertyRef::Define() and RPropertyRef::GetStatus()
Version 2.00.517
================
(Made by JonathanM, 05/12/03)
1. JonathanM
1. Implemented REQ2481 - Disabling the insecure IPC mechanism in EKA2 at build time.
Building the Kernel with the macro __REMOVE_IPC_V1__ defined will cause the following
functions to panic with KERN-EXEC 55 (EObsoleteFunctionality)
RThread::ReadL
RThread::WriteL
RThread::GetDesLength
RThread::GetDesMaxLength
RServer::Receive
RMessage::RMessage(RMessagePtr2&)
2. Marked IPC V1 APIs as @deprecated
3. Implemented CR JMET-5SBEBM - EKA2 API change for Kern::ThreadRead/Write
The following functions have been renamed and their arguments changed:
TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset, TInt aMode);
TInt Kern::ThreadRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, TInt aMode, DThread* aOrigThread);
TInt Kern::ThreadWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset);
TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, DThread* aOrigThread=NULL);
The new prototypes for these functions are:
TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset, TInt aMode);
TInt Kern::ThreadRawRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, TInt aMode, DThread* aOrigThread);
TInt Kern::ThreadRawWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset);
TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, DThread* aOrigThread=NULL);
2. StefanW
1. Fixed defect DEF022433 MMC gets locked although it should remain unlocked.
The MMC initialisation would get confused if a the card is not fully powered down before
the stack is powered back up. Modified the MMC state machine to check the validity of the
password when power is applied before deciding to remove it from the store.
3. Dennis
1. PREQ13 - REQ1755.9 VFP Support (CR JPAR-5PREKA
"We shall add kernel support, for the saving of, VFP co-processor registers")
2. Interchange first two instructions of FIQ handler to work around Erratum 32
for the Intel XScale PXA255 CPU (Non-branch instruction in vector table
may execute twice after a thumb mode exception).
3. Fixed defect DEF040625 - Loading and unloading an LDD twice crashes the kernel
4. Fixed defect DEF040712 - Bootstrap - Misuse of FindParameter in InitCpu
4. MichaelP
1. Fixed defect DEF040520 - USBRFLCT/USBTEST: Incorrect IPR Classifications:
Changed respective distribution.policy files accordingly.
2. Enabled ISO transfers in Lubbock USB PSL.
Patches to 2.00.516
1. CiprianM
1. Fixed DEF040076 - Bootstrap no longer builds with GCC - GCC cannot cope with
absolute paths starting with \, so the this fix adds the drive letter to the
path.
2. CarlosF
1. Fix for DEF040514 - Problem with "Base_integrator_core_cm920.mrp"
Version 2.00.516
================
(Made by StephanGu, 13/11/03)
1. MichaelP
1. Bringing USB drivers up to date.
2. Fixed defect DEF040093 - "Base errors in build 03148_Symbian_OS_v8.0b":
The WriteCancel #define in d32usbc.inl has been removed so that it cannot cause
substitution of functions of that name in other (untargeted) source files.
2. JonathanM
1. Modified TCdtPanic enumerations to be compatible with Beech.
3. ChrisM
1. fix defect DEF039810 - spurious kern::printf in lubbock sound driver
2. Fix defect DEF039991 - EKA2 Lubbock Driver Not Working Correctly.
4. PhilK
1. Fix CF card support.
5. StephanGu
1. Added A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changed rugged
FAT to be used by default, as this is needed by NAND flash.
Techview does not yet boot from NAND flash.
6. CarlosF
1. A3.4.2 Added support for NAND flash as per PREQ12 (REQ1752) NandFlash on EKA2.
Changes to allow building a NandLoader image and platform specific
RebootDrv (Integrator).
2. Created a new Logic Module directory for Integrator: lmnand. This only builds for ARM4, V4
and 4T. To build a CM920 text shell rom including the NAND media driver do:
rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t tshell
You will still need to uncomment one of the defines in header.iby to be able to use the NAND
flash with a filesystem.
To build a Nandloader rom do:
rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t nandloader
To build a techview rom do:
rombuild integrator920 lmxx600 lmnand techview
3. Migrated defect DEF039336 Samsung NAND flash used in Zebra project is not in list of
supported devices
7. Dennis
1. Fixed defect DEF037832 - No Reg Context Table for Kernel Threads
8. KeithR
1. DEF039906 - RSessionBase::ShareAuto unavailable if __HIDE_IPC_V1__ is not defined on cedar
9. CiprianM
1. Fixed defect DEF039925 - TArray[0] gives Kern Exec 3
Version 2.00.515
================
(Made by JonathanM, 31/10/2003)
1. Phil Kaye
1. Fixed DEF23042 - Lubbock dies when USB PC is switched off.
2. ChrisM
1. Fixed defects DEF038933 (sound underrun) and DEF038730 (emulator crash on nt4)
2. Fixed defect DEF039080 - NULL deref when EKA2 emulator loads an executable lacking the .SYMBIAN section
3. Fixed defect DEF038419 - Very short audio clips (eg KeyClick.wav) cannot be heard
3. JonathanM
1. Fixed defect DEF038740 - Cannot build textshell ROMS withe32\rombuild\rom.bat from DevKit (cedar)
2. API classification work: Split off hal related stuff from U32STD.H into U32HAL.H.
Added Access and Status classification to both files.
3. Add in-source docs to some pure virtual device driver methods.
4. Added macro __SUPPORT_IPC_V1__ to allow EUSER and EKERN to support IPC V1 even
when __HIDE_IPC_V1__ is defined.
5. Fixed defect DEF039330 - Cedar text notifiers aren't compatible with Beech
6. Update in-source documentation for TDblQueLink::Deque()
Fixed defect DEF039326 - The in-source documentation on TDblQueLink::Deque() needs updating
4. CiprianM
1. Fixed defect DEF038961 - e32\kernel\bootstrap.mke needs to recognise RVCT 2.0.1 armasm
2. Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong
level of indirection
3. Fixed defect DEF039216 - bootstrap fails to link in the week 40 dev kit (build 3112)
5. Dennis
1. Added __ASSERT_COMPILE(x) macro to assert a condition at compile time.
2. Make TTimer::iState and TTimer::iType TUint8's. This saves a word of RAM
per TTimer and also ensures that the iUnion member is 8-byte aligned
which is necessary for RVCT.
3. Added compile time assertions that DThread::iTimer and DTimer::iTimer
8-byte aligned.
4. Change NThread::iAcc0 (XScale CPU only) from an Int64 to an array of two
TUint32's. This avoids some alignment issues with RVCT.
5. Added debug assertions to ensure that a thread's critical section count
never becomes negative.
6. Fix race condition while opening a DMA channel - the iController member
was set after releasing the channel manager fast mutex. Fixed by
requiring DmaChannelMgr::Open() to set the iController and iPslId members
of the returned TDmaChannel object and removing the out-parameters for
these from the function signature.
7. Fix incorrect operation of HW_MAPPING_EXT2 and HW_MAPPING_EXT3 macros in
the 'new new' bootstrap, pointed out in a recent licensee workshop.
8. Add support for VFP context save. This is enabled on ARM1136 Integrator
build.
Also added support for saving additional coprocessor state without
rebuilding the kernel. To support an additional coprocessor the base
port needs to call the following function during Init1() :
Arm::SetCpInfo(TInt aN, const SCpInfo* aInfo)
where aN is the coprocessor number and aInfo points to a structure with
the following members:
TCpHandler iHandler; // handler for context switch
NThread* iThread; // current owning thread, NULL if none
TUint16 iContextSize; // size of context for this coprocessor
TInt8 iCpRemap; // use to remap coprocessor number if >=0
TUint8 iSpare; //
TInt iContextOffset; // offset of context in thread extra context block
6. KeithR
1. CR: KRON-5NLDXP -- Modifiable descriptors return constant TPtrC8's when
Mid is called on them. Adds support for 4 functions: LeftTPtr,
RightTPtr, and 2 versions of MidTPtr.
Version 2.00.514
================
(Made by AndrewJ, 06/10/2003)
1. CiprianM
1. Implemented Shared Io Buffers.
2. Fixed defect DEF005890 - HAL::Get returns KErrNotSupported
3. Recategorised distribution.policy files in /e32/common as part of the fix for
DEF038275 - Textshell ROM build failures w36 (build 3091) Cedar DevKit
(delivered through the fix branch and caught up later)
2. AndrewJ
1. Allowed pc cards to mount Fat32 volumes as well as Fat12/16
Version 2.00.513
================
(Made by JonathanM, 24/09/2003)
VERSION 513 ISN'T BINARY COMPATIBLE WITH 512
0. Phil Kaye
Fix for DEF036396. UART driver reported completion of transmission
before all data was clocked out of Transmit Shift Register.
1. MichaelP
1. Added the Thesycon (USBIO.SYS) version of a Win32 command-line USB test program.
It's called 'usbtest', and I put it under /e32test/win32/usbtest/. This program
is the host-side part of a reflector arrangement and can only be used together
with the device-side part T_USB.
2. Fixed defect DEF037542 - "Macro #define missing from rom build files":
Added the lines
REM Define whether or not to include USB client support:
#define EUSBC
to the file \lubbock\lubbock.oby (currently the only platform in EKA2 to support
USB).
2. CiprianM
1. Fixed defect DEF036844 EKA2 stop-mode debug table missing some constants
2. Changed default debug port on Lubbock to be port 1, in order to support automatic
target testing.
3. Added support for NITZ to TLocale.
3. Morgan
1. Added a reschedule callback to stop-mode debug API (kdebug.dll) to update
NThread user thread context value. Also added a kernel event handler to
implement the stop-mode debug API change flag.
4. ChrisM
1. New sound driver ldd compatible with Typhoon. DEF037094. + necessary updates to pdds
5. SimonT
1. Added channel pause/resume functionality to lubbock's cotulla/dmapsl
so the sound DMA transfers can be stopped reliably.
2. Made corresponding changes to the lubbock sound driver to access the
extension for pause/resume the play channel.
3. Tweaked the record behaviour to match that described in DEF037094
4. Fixed numerous issues with the Lubbock sound driver found during MMF
integration, in addition t_sound now passes!
6. AndrewT
1. Fixed defect DEF037709: NULL deref when setting a text RProperty to KNullDesC.
7. Dennis
1. Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).
8. JonathanM
1. Change Request DBAR-5RAL4K - Need a way of creating an RMessage from an RMessage2
2. Updated DEF file for EUSER to be BC with EKA1
3. Fixed defect DEF038005 - Defects in MNotifierBase in Beech/Cedar
Version 2.00.512
================
(Made by JonathanM, 05/08/2003)
VERSION 512 ISN'T BINARY COMPATIBLE WITH 511
1. Nicolas
DMA FRAMEWORK:
1. Implemented per-request max transfer size for DMA framework.
The same size limit was imposed on every channel. It proved to be
inflexible because some DMA-capable peripherals sharing the same DMA
controller may have widely differing limits. From now on, The max
transfer size specified when creating the controller (TDmac) should be
the hardware limit imposed by the controller itself. By default, this
limit is used when fragmenting a request but an alternate limit can
optionally be specified when constructing a DDmaRequest instance.
This change is SC but not BC.
2. Extended interface between DMA framework PIL and PSL so that the PSL
can specify the attributes to use for mapping the hardware chunk used
to store the hardware descriptors. The change is source incompatible.
3. Made DMA framework robust in face of missed interrupts. Without this
fix, the framework goes out of sync if one or more DMA interrupts are
missed and the client is not notified of the completion of one or more
requests.
The DFC now checks the request queue for orphaned requests when all
transfers have completed and cleans-up the queue and notifies the
client for any missed completions if necessary. The change necessitated
the addition of a new pure virtual in TDmac (IsIdle) to check the state
of the DMAC. This function must be implemented by the PSL. Also, the
TDmaChannel::IsIdle() function was renamed into IsQueueEmpty() to avoid
confusion. Consequently this change is neither SC nor BC.
4. Added DMA skeleton PSL in template\dma.
5. Small changes following code review.
MISC:
6. Documented various kernel-side APIs.
2. JonathanM
1. Add new method CSession2::Disconnect(const RMessage2& aMessage).
This enables a session to intercept Disconnect messages and delay session
deletion until it can perform asyncronous cleanup.
2. Added TFindHandleBase::NextObject(TFullName& aResult,TInt aObjectType)
and changed the 10 implementations of TFindXxxxxxx::Next(TFullName &aResult)
to use this.
3. Added RHandleBase::OpenByName(const TDesC &aName,TOwnerType aOwnerType,TInt aObjectType)
and changed RXxxxx::Open(const TDesC &aName,,TOwnerType aType) methods to use this.
4. Fix for DEF036520 - "RMessage::Complete doesn't NULL iHandle"
5. Added RThread::StackInfo(TThreadStackInfo& aInfo) which returns information about
a thread's stack. RThread::GetRamSizes() now uses this to get the correct stack size
but still returns zero for the heap size - which cannot be obtained by the kernel on
EKA2.
6. Made EUSER compatible with EKA1 after IPC V2 backport. This is a BC break for EKA2.
3. Dennis
1. Simplified client server IPC framework.
Sessions now no longer have a standard user-side handle from the server
to the client, as was always intended for V2 IPC. To support V1 IPC a
new handle type is introduced to refer to the client thread of an IPC
message. This handle is always in the range 0x80000000 to 0x87FFFFFF.
It is calculated by
h = 0x80000000 | ((x>>1)&0x07FF0000) | 0x00008000 | ((x>>2)&0x00007FFF)
where x = offset of kernel side message object from base of kernel heap
chunk (always a multiple of 4). These handles can be used wherever a
standard thread handle can be used. This handle value is returned in the
iClient field of the V1 RMessage object. The handle is duplicated when
a connect message is processed to create a V1 non-sharable CSession
object in order to provide a standard handle with a lifetime equal to
that of the CSession. Note that this means that the CSession::iClient
and RMessage::iClient values are no longer equal, and that it is not
possible to store the RMessage::iClient value and use it after the
message has been completed.
Since there is now no need to manage a handle and cater for its cleanup,
session shares are redundant and so they have been removed.
Kernel side RMessageK objects have been reduced to 13 words in size and
they no longer derive from RMessage2.
Threads keep a count of how many IPC messages they have sent. If a thread
terminates with IPC messages outstanding and extra reference is opened on
the thread which is closed when all outstanding messages have been
completed.
Messages which have been delivered but not yet accepted are no longer
discarded on session closure or thread termination. This is done both to
simplify the implementation (since queue iteration is no longer required)
and to make the behaviour more predictable (the old behaviour would be
sensitive to thread priorities, timeslicing etc.)
2. Renamed RSessionBase::Share() to ShareAuto() to prevent ambiguity with
V1 RSessionBase::Share(TAttachMode) function.
3. Added extra overloads to RSessionBase::CreateSession to allow sessions
to be created pre-shared (ie no need to call ShareAuto() to make the
session usable by all threads in the process).
4. Added virtual CServer2::DoConnect(const RMessage2&) which is called when
a connect message is received. This allows connect to be done by another
thread, which might be necessary if real time guarantees are required,
since connect is not a real time service. CSession2::Disconnect() can
be similarly used to process disconnect messages in another thread.
It should be noted that the CServer2::iSessionQ is updated/iterated by
session connect, session disconnect and server deletion operations, so
these should all be done in the same thread unless additional mutex
protection is provided.
5. __xHEAP_TOTAL_RESET now walks the heap and sets the nesting level for
all allocated cells to zero and so lives up to its name.
6. Added virtual TInt DObject::RequestUserHandle(DThread*, TOwnerType)
which is called prior to creating a user handle of the specified type
for the specified thread. This allows kernel objects to control access
to themselves by vetoing the creation of handles from threads or
processes which should not have access.
Currently used by DSession to enforce non-sharability for sessions on
servers which don't support it. Also used by DTimer to make sure only
creating thread can use it.
7. Changed TRealX::operator TInt64() for X86 back to the TInt64-is-class
version.
8. Added handle type ipcmessaged to genexec.pl and execs.txt.
Meanings are:
ipcmessaged = any RMessageK in the accepted state on a server in
the current process.
ipcmessage = as ipcmessaged but don't allow disconnect message.
ipcclient = as ipcmessage but refers to message client thread.
9. Fixed crash debugger problem with listing code segments loaded into a
process.
10. Fixed problem with Epoc::RomProcessInfo() - some fields of the returned
structure were left uninitialised.
11. Modified floppy and ATAPI drivers for X86 to flag themselves as
removable media under the new scheme where an extra virtual function on
DPrimaryMediaBase is used to indicate this.
12. Added exported function NKern::CurrentContext() to allow RTOS personality
layers to determined whether a function call is made in the context of
a thread, an interrupt or an IDFC.
Exported some other nanokernel functions which might be required by RTOS
personality layers.
13. Added a basic example personality layer with some test code.
14. Fixed some problems with timed waits resulting from a race condition
between the timer expiry handler (running in DfcThread1) and other code
trying to resolve the wait condition normally, which involves cancelling
the timer. The problem arises if both the thread resolving the wait
condition and the waiting thread have priorities higher than that of
DfcThread1. In this case it is possible that DfcThread1 is preempted
right at the beginning of the timer expiry handler. The timer cancel
will have no effect since the timer state has already been set to idle
and the expiry handler will run after the waiting thread has been
released, has run and blocked again. This potentially causes a
subsequent timed wait to time out too early.
The problem is fixed by adding a new flag to the NThread::iTimer to
indicate definitively that it has been queued. The flag is set with the
nanokernel locked at the same time that the timer is queued. It is
cleared when the wait is resolved normally and the timer is cancelled
and also if the timer expires and the expiry is not spurious.
However the race can now be detected by noticing that the flag is still
set but the timer state is idle. In this case the timer 'cookie' has
bit 0 flipped. The expiry handler can use the fact that bit 0 of the
cookie it was passed does not match the current value of the cookie in
the NThread::iTimer object. In this case the timer expiry is spurious
and no action is taken.
15. Fixed problem where a load fails due to codewarrior leaving a DLL in
the import list even though nothing is actually imported from it.
16. Incorporated a folding table for 8-bit characters into the kernel.
Removed the now-redundant USERSTUB.DLL and STANDALONE.DLL
17. Incorporated the default UK locale settings into the kernel. Removed
E32's version of ELOCL (ELOCL_BASE). Changed Exec::ChangeLocale() so
that passing a NULL code segment handle restores the default locale
settings.
18. Added some tracing to example personality layer initialisation.
Fixed a bug in the example personality layer test application.
19. Modified KDebugMask() not to look for a per-thread debug mask if the
current thread is not a Symbian OS thread.
20. Changed all OBY/IBY files to use macro KMAIN instead of MAIN (and
KERNEL_DIR instead of ABI_DIR) when including kernel-side files.
Currently KERNEL_DIR is always the same as ABI_DIR.
KMAIN is the same as MAIN unless the option -x <kernel_abi> is supplied
to ROM.BAT, in which case KMAIN = <kernel_abi>. This allows mixed GCC
and RVCT ROMs to be built.
Modified MAKMAKE so that the ROMFILE option uses MAIN or KMAIN as is
appropriate in the generated IBY files.
21. Added SInt64, SUint64 and SDouble to enable 64-bit data items to be
passes across GCC/EABI boundaries. These classes have 4-byte alignment
in both cases and have conversions/assignments to/from the relevant
data type.
Use SInt64 in TSupplyInfoV1 and TMachineInfoV1.
22. Move RAllocator data members back into RAllocator and get rid of
SAllocatorData. Move pure virtual functions from RAllocator into new
base class MAllocator. This is done to ensure that the vptr is always
in the first word and the layout is the same on both GCC and EABI builds.
The previous scheme didn't work since EABI puts the vptr in the first
word even if there's a base class with no virtual functions - it offsets
the base class in this case.
23. Modify halcfg.pl to deal with /* ... */ comments as well as // comments.
24. Modified the way binary searches are done in RPointerArray and RArray.
A new mode parameter is passed in to the search routine which takes one
of the following values:
EArrayFindMode_First - find the first matching entry
EArrayFindMode_Last - find the first entry exceeding the specified one
index = array count is returned if no such entry exists
EArrayFindMode_Any - find any matching entry (allows early termination, =old behaviour)
For functions which have only a return value and no out-parameter for
the index, the return value equals the index (always >=0) if a match
was found and equals KErrNotFound if no match was found.
For functions which have both a return value and an out-parameter for
the index, the return value equals KErrNone if a match was found and
KErrNotFound if no match was found. The index equals the value described
above if a match was found and equals the index of the first entry
exceeding the specified one if no match was found (=array count if no
such entry exists).
New exported functions have been added to allow searching with a specified
mode. The InsertAllowingRepeats() type functions now use a LAST mode
binary search to locate the insertion point rather than an ANY mode
search followed by a sequential search. All old exports are still present
for BC reasons and default the mode to ANY.
This modification was prompted by licensee incident report INC036185.
25. Implemented POSIX-style condition variables (RCondVar) which are used in
association with RMutex to implement arbitrary wait conditions.
4. MichaelP
1. Added in-source documentation to USB client driver (PIL + LDD).
2. Many smaller code changes + fixes to USB client driver (PIL + LDD + Cotulla PSL).
3. Fixed defect DEF036368 - "USB base drivers not in ROM":
Updated file /lubbock/rom/base_lubbock.iby to include USB PDD + LDD.
5. CiprianM
1. Propagated DEF023302 - Invalid test in HBufC8/16::__DbgTestInvariant():
HBufC, TPtr and TPtrC __DbgTestInvariant functions now match
the actual class invariants.
2. Propagated defect DEF021977 - RNotifier can start a notifier that doesn't exist
3. Added a new debug port KNullDebugPort=-2 which supresses any output to the com
ports. It can be set in the .xby files with the debugport keyword or with the
debugport eshell command. Please note that debugport eshell command only takes
unsigned values, so you can set the port by using "debugport 0xfffffffe"
6. StefanW
1. Various changes to SD Card Controller and media drivers to conform to compliance tests.
2. Added support for SD Card Protected Area access using device key.
3. Added support for cards that don't support MB Write or Erase command class (like ROM Cards).
4. Changed MMC media driver to take advantage of faster multi-block erase during format.
5. Re-ordered of SD and CPRM exports to make compatable with MMC library.
6. Added support for EABI builds of SD and CPRM versions of the controller.
7. Propogated DEF018291 MMC initialization is unnecessarily slow
8. Propogated DEF022315 SDCard: RAM MKB isn't supported
9. Propogated DEF022316 SDCard: The MKB mode is not set when issueing a secure write command.
10. Propogated DEF022318 SDCard: MKB mode setting problem for first sector after end of root dir
7. RobertJ
1. Fixed DEF035922
"USBMAN panics when trying to SetInterface with iString = NULL"
8. TonyL
1. Fixed DEF035567 "TimeW - Can't set an Alarm". Added Lubbock sound driver
to techview oby file.
2. Fix for occasional writing off end of LFFS mapped virtual space on
Lubbock.
3. Fix LBA support in Lubbock specific PC card driver.
9. ChrisM
1. Fixed DEF036660 "Cedar emulator panic on restart in codewarrior debugger".
10. CarlosF
1. Added Integrator Bootloader. This was made generic and independent of what processor
is being used, and uses MMC to download images to RAM or Flash (or serial download).
Version 2.00.511
================
(Made by JonathanM, 19/05/2003)
0. JonathanM and ChrisM
Changes to make EKA2 compatible with Symbian OS version 7...
1. Restored TInt64 as a class.
2. Added dummy exports to EUSER for functions which aren't unsupported on EKA2.
The exports panic with "Deprecated EUSER xxx" where xxx is the EUSER eport
ordinal.
3. IPC classes restored to their v7 definitions (RMessage, RMessagePtr, RServer,
CServer, CSession and CSharableSession).
Secure API versions of these are now seperate classes (RMessage2, RMessagePtr2,
RServer2, CServer2, CSession2)
4. Renamed User::Heap() to User::Allocator() and provided inline version of User::Heap()
which uses User::Allocator().
5. Made UserHal::SwitchOff() behave as it does on 7.0.
(This is needed until new domain manager is integrated into the rest of the OS.)
6. Many other changes and tidy-ups
1. Morgan
1. Removed barrier for effective post-mortem debug by removing
__NORETURN__ and __NORETURN_TERMINATOR__ directives from selected functions.
(Panic, Fault, and Exit functions throughout user and kernel code effected.)
2. Added RDebug::Print trace redirection to DebugEventHandler.
3. Added Debugger::Version() and DDebugEventHandler::Enabled() functions
2. Dennis
1. Code in /e32/memmodel/epoc/mmubase/... is now common to both moving and
multiple memory models. This deals with allocation and freeing of page
tables, initialisation of some memory management-related kernel data
structures, management of hardware chunks shadow pages.
2. Moving model now maintains information relating to the use of each
physical RAM page in the same way as the multiple memory model. This
information will be used for mobile SDRAM defragmentation.
3. IO mappings are now made in two separate address regions. Mappings made
by the bootstrap go in the "Primary IO Mappings" area, which is a 16Mb
address region starting at 63000000/C3000000 on the moving/multiple
model respectively. These mappings are never altered by the kernel.
Mappings made by variants/extensions/drivers use HW chunks and these
are allocated addresses in the kernel section. There is no separate
hardware address section.
4. Hardware chunks will now use 64K pages and 1M sections if possible
rather than using 4K pages for the entire mapping. The linear address
used is selected to allow the use of the largest possible mapping size
for the size of the region to be mapped.
Additionally, the rationalised bootstrap code allows the use of 64K
and 1M mappings in the primary IO area.
5. Removed the AddressInfo and RealTimeInfo functions from all ASSPs and
variants. The RealTimeInfo now always uses the standard values of 32
pages and 512 bytes. The information returned by AddressInfo consisted
of two parts - the home section/hw section info and the cache flush/RAM
drive info. The changes to the way HW chunk addresses are allocated
remove the need for the first part. The second part was used only in the
direct memory model; the required information is now passed in the super
page (since it is ultimately determined by the bootstrap).
6. The way RAM is mapped in the direct memory model on platforms with an MMU
has been changed to avoid problems with cached RAM being used for I/O.
All RAM is mapped in one contiguous block starting at KernelDataAddress-8K
using a cached mapping. 'User' RAM is also mapped at its physical address
using an uncached mapping. Epoc::AllocPhysicalRAM returns a physical
address, which will also be the address at which uncached accesses occur.
The allocated range is also purged from the cache at the end of
Epoc::AllocPhysicalRAM.
7. Two new fields iKernelLimit and iRamBase have been added to the super
page. These are used by the direct memory model only. iRamBase is the
linear address of the base of the cached RAM mapping. iKernelLimit is
the linear address of the base of the user-accessible RAM, which is also
the base of the RAM drive.
8. The organisation of kernel mappings in the moving and multiple memory
models has been changed. The kernel .data/.bss sections, the initial
thread stack and the initial kernel heap are now all mapped in one
contiguous block starting at TRomHeader::iKernDataAddress. This block
becomes the SvHeap chunk. The SvData chunk no longer exists.
The rationalised bootstrap code uses 64K mappings for this initial
kernel data area, reducing the number of TLB misses and improving
performance. The initial kernel data area contains very frequently used
data such as the scheduler and interrupt stacks.
9. TRomHeader::iKernStackAddress no longer exists. It has been replaced with
TRomHeader::iKernelLimit, which is the limit of prereserved addresses
in the kernel section. On the multiple memory model this is simply the
top of the kernel heap rounded up to the next 1Mb boundary. On the
moving model it also includes address space for fixed process data
chunks.
10. Split the super page into two parts. The base class SSuperPageBase now
contains all the values shared between the kernel and the bootstrap.
This is defined in a separate header file /e32/include/kernel/kernboot.h
which defines the interface between bootstrap and kernel.
11. Moved some constant definitions from
/e32/include/memmodel/epoc/moving/arm/arm_mem.h
/e32/include/memmodel/epoc/multiple/arm/arm_mem.h
/e32/include/memmodel/epoc/multiple/x86/x86_mem.h
into mmboot.h files in the same directory. This enables the files to be
shared with bootstrap code.
12. Rationalised all bootstrap code in the system.
The epoc.inc files have been removed. Instead, the following files are
automatically translated to assembler format (using /e32toolp/e32util/h2inc.pl)
which could be either ARMASM or GNU AS for ARM platforms or Turbo Assembler
for X86:
/e32/include/e32rom.h - ROM header and file system layout
/e32/include/kernel/kernboot.h - Interface between bootstrap and kernel
/e32/include/memmodel/epoc/<model>/<cpu>/mmboot.h - (not on direct model)
Memory model dependent values (mainly linear addresses).
The file /e32/include/kernel/arm/bootdefs.h is used on ARM CPUs to
provide certain definitions internal to the bootstrap.
The following assembler include files are also provided (for ARM CPUs
only):
/e32/include/kernel/arm/bootmacro.inc - debug and general use macros
/e32/include/kernel/arm/bootcpu.inc - CPU/MMU specific definitions and
macros for describing I/O and memory mappings.
On ARM platforms three generic source files are used:
/e32/kernel/arm/bootmain.s - The top level boot code, from reset vector
to 'jump to kernel'.
/e32/kernel/arm/bootutils.s - Utility subroutines, including memory copy
and fill, MMU management routines, RAM groping, management of RAM
bank lists, memory allocation, and debug stuff.
/e32/kernel/arm/bootcpu.s - CPU specific code.
These files are combined with (usually) one platform specific file which
does hardware initialisation and provides descriptions of the RAM, ROM
and hardware present on the device. Also required is a platform specific
configuration header file (config.inc) which specifies the CPU to build
for and some other configuration options, and a platform specific
makefile (uses GNU make). The latter lists any platform specific files,
specifies the relative path to E32 and specifies the memory model. It
then includes the generic makefile /e32/kernel/bootstrap.mke.
The generic makefile will find all the .s, .h and .inc files specified,
translate .h files to .inc as required, assemble and link. RVCT, ARM SDT
2.11 and GNU AS assemblers are supported. If no ARMASM can be found,
include and source files are automatically translated to GNU AS syntax
(using /e32toolp/e32util/armasm2as.pl) and GNU as/link are used.
13. Moved all our extension makefiles over to GNU make, except for
x86pc/pcboot.mke, since the X86 port needs MSVC anyway.
14. Don't bother saving SPSR on the stack during the IRQ preamble.
15. Modified all assembler code to preserve 8 byte stack alignment where it
calls back to C++ code. Functions which don't call back to C++ have
not been modified. Also TScheduler::Reschedule() does not keep the
stack aligned, since no C++ code is called - the memory model hook must
be in assembler since it uses a nonstandard calling convention. The only
place where C++ may be called from the scheduler is in IDFCs; the stack
is aligned at that point.
16. Changed all MOV PC, Rn instructions in the kernel and drivers to BX Rn.
This means that the kernel and/or drivers could be built as thumb, but
only on architecture 5 devices. LDR PC, ... and LDM Rn, {...,PC} have
not been modified to use BX.
Building the kernel as thumb would not be practical with GCC anyway due
to the volume of assembler code in the kernel and the fact that GCC
doesn't cope well with mixed ARM/THUMB code.
17. Fixes to prevent emulator occasionally locking up during process exit
due to the ExitProcess being suspended by emulator scheduling but never
being resumed since the rescheduler thread has been killed off.
18. Implemented User::FreeLogicalDevice and User::FreePhysicalDevice.
The code segments are only unloaded when the idle thread runs to prevent
obscure lifetime issues.
19. Added assertions to check that kernel-side mutexes are acquired in the
correct order to prevent deadlock. The assertions are active in debug
builds only. These assertions require:
i. Extra member data in DThread. This is present in both debug and
release builds since DThread is derived from.
ii. Extra member data in DMutex. This is present only in debug builds
since DMutex is not derived from and the extra data is at the end
of the class.
iii.All places where a kernel side mutex is created must supply an extra
parameter which indicates the position of the mutex in the global
ordering. The values used for the standard kernel mutexes are
in kernel.h
20. Fixed hardcoded offset bug in assembler coded ExecHandler::MessageComplete
which has been there since the original platform security changes.
3. MichaelP
1. Adding USB 1.1 client support to EKA2. This comprises of the software
controller USBCC.DLL (PDD as a kernel extension), which in turn internally
consists of PSL and PIL (Platform-Specific/Independent Layer, respectively),
and the LDD EUSBC.LDD.
The PSL submitted here is for Lubbock/Cotulla only. The PDD lives in
/e32/drivers/usbcc (PIL) and /cotulla (PSL), the LDD in /e32/drivers/usbc.
4. JonathanM
1. Fixed defect INC022668 - "Modifier example crashes the emulator"
4. Nicolas
DEBUG API CHANGES: Some of the changes are source-incompatible with the previous
debug API drop.
1. Unified all debugging hooks into a single extensible scheme (DKernelEventHandler).
It supports hardware exceptions, user-side software exceptions, ressource
tracking (new thread, ...) and user trace redirection.
2. Fixed bugs in resource tracking hooks: The "main thread creation" event was sent
twice and creation of the data/bss/stack chunk was sent before the corresponding
process creation event. Fixing it required semantic changes to EEventAddProcess,
EEventRemoveProcess and EEventRemoveThread.
3. Added EEventKillThread which is called whenever a thread dies in the context
of this thread while all its resources are still available. This event should
be used in preference to EEventRemoveThread.
4. Extended NKern::ThreadGetUserContext(). It can now be called from the current
thread and behaves correctly when called on a dead thread.
5. Added NKern::ThreadSetUserContext().
6. Documented various debug-related APIs.
OTHER CHANGES:
7. Added elocl.dll and ektran.dll to the obey files for full ROMs. They
were previously included by romkit\...\base.hby. The latter has been
deleted.
8. Fixed bug in ATA media driver: A trace statement was referring to an
obsolete hardcoded I/O address (0x58xxxxxx / old memory map). Removed,
to avoid problems in the future, some commented out trace statements in
ATA media driver and serial LDD suffering from the same problem.
9. Fixed $$$$ bug in EUSER TStringToDateTime::GetSeparatorToken().
Version 2.00.510
================
(Made by ChrisM, 18/03/2003)
1. Dennis
1. Made major changes to Lubbock bootstrap - previously looked like it was
copied from SA1110 bootstrap and contained many errors.
CPU should now run at 199MHz, SDRAM at 99.5MHz.
Everything should now be cached appropriately.
2. Made some other kernel changes for XSCALE to work round known problems
with the PXA250 device (Cotulla) - Errata 14, 21, 96 in specification
update.
3. Some fixes for ARM v6.
4. Fix bug in ARM assembler coded IPC stuff.
5. Added a special instruction (TST PC, #0) to the beginning of all EKA2
entry points. This is detected by PETRAN/ELFTRAN and the file marked as
having an EKA2 style entry point. The ELF-derived and JFormat flags have
been generalised into header format, import format and ABI fields.
An entry point type field has been added to distinguish EKA1 and EKA2
entry points.
6. Fix problem getting filename of a dead process.
7. Fix Series5mx and some other bootstraps - the RVCT mods destroyed
position-independence.
8. Add 'nowrapper' keyword to ROMBUILD. If specified in OBY file it causes
the 256 byte wrapper to be omitted. Added the keyword to our obey files
where needed.
9. Added --kerneltrace (-k) option to ROMBUILD to override kernel trace mask
from the command line.
10. Added RMessagePtr::ClientDataCaging() to return the data caging attribute
of a client without recourse to opening handles (which could fail).
11. Removed the Cirrus Logic 7211 port.
12. Update mainline base_*.iby files to take account of the new name
for medint.pdd
2. CarlosF
1. Moved the definition of the Digitiser area and offset to Display area from
the Variant to the Digitiser driver. Those parameters are now returned by
a new function: DDigitiser::DigitiserInfo.
2. Extended the EHalGroupDigitiser group of functions with the addition of another
enumeration: EDigitiserHalXYInfo. This allow obtaining the info on the Digitiser
through calling Kern:HalFunction.
3. Removed an annoying dependency on the LCD extension having to start before the
Digitiser extension which was caused by the Digitiser::DoCreate function
requesting the Machine Info which reads the LCD info off the LCD driver.
4. Changed Assabet Ethernet PDD to fix a bug which resulted on when setting a new
MAC address having to restart the driver in order for this to take effect. Also
updated the WINS HowTo document. (All of the above under changelist 235561 and
238007)
5. Changed EXSTART to start the Secondary process from a DFC. This guarantees the
File Server is always started after all the extensions have been started,
regardless of their relative ordering on the .IBY file. (Changelist 236966)
6. Removed hal\hal directory and updated hal\bld.inf (these excrecences were left
from a previous change in the build system).
7. Enhancements to the HAL: provided implementations for a few attributes (EAccessoryPower,
EPowerBackup, EKeyboardState, EKeyboard, EKeyboardDeviceKeys, EKeyboardAppKeys,
EKeyboardClick, EKeyboardClickVolumeMax, EBacklight, EPen, EPenX, EPenY, EPenState,
EPenClick, EPenClickVolumeMax, ELEDs, ESwitches, EMouse, EMouseX, EMouseY and EMouseButtons).
EKeyboardState and EPenState are used by UIKLAF (as in Hurricane).
Modified Assabet Variant and Digitiser and Keyboard drivers accordingly (also SOC drivers).
Changelist 241295.
8. Rationalised Machine Info: due to changes above this is no longer held in the Variant,
instead Keyboard, Display and DIgitiser related info is held on those extensions.
Removed Variant unrelated info from all Variants. Modified UserHal::MachineInfo to assemble
a Machine Info buffer pulling the info from the relevant sources. Changelists 242849 and
242852.
9. Changes to Integrator Port: separated the Logic Module from the Variant. The existing
(and any future) Logic Module directory builds independently from both ASSP and Variant.
It also builds a special Kernel Extension (Variant Extension) which is used to extend
to extend the Variant. The Variant Extension registers with the Variant at boot time and
it is called by the Variant whenever it executes a function for which the Variant Extension
registered an interest.
10. Modified rom.bat: the decision to include Logic module(s) binaries in ROM is only done at
ROM building time. Introduced a new option (--modules or -m) to allow specifying a list of
Logic modules directory names separated by commas. The Logic Modules export their own .iby
files.
As an example, to build a text shell ARM4/UDEB Integrator ROM comprising core module CMXXX
and Logic Modules LMYYY and LMZZZ type:
rom -i arm4 -b udeb -v integrator_cmxxx -m lmyyy,lmzzz -t tshell
The ROM image generated will be called:
INTEGRATOR_CMXXX_LMYYY_LMZZZARM4D.IMG
11. Also modified the way Mainline Integrator ROMS are built. Using the above example you would
need to type:
rombuild integratorxxx lmyyy lmzzz techview
Changed the Base overnight build scripts accordingly.
(Paragraphs 9. 10 and 11. under changelist 246862).
12. Implemented CM920 Bootstrap side of Kern::Restart. Building Integrator-specific tests now
export autoexec.bat as required.
3. Nicolas
1. Added assertions in Kern::MutexWait() and Kern::MutexSignal() to ensure
calling thread is in critical section.
2. Migrated fix for Hurricane defect INC017140 - CAsyncOneShot does not
check return code from RThread::Duplicate: Panic if the duplication
fails as the proper fix (adding a 2nd-phase c'tor and moving the duplicate
operation there) implies breaking BC.
3. Fixed another bug in CAsyncOneShot: request status was not set to pending
before making the AO active.
4. Some changes to DMA framework:
a. TDmac and TDmaChannel were wrongly deriving from DBase. They are
now standalone classes which must be stored in the BSS section.
b. Added TDmaChannel::Extension() and TDmaChannel::StaticExtension() so
PSL to extend generic API. The former is for channel-specific
operations, the latter for global ones.
c. Updated comments.
4. JonathanM
1. Fix for DEF016645 - "Sound driver returns incorect length of data when recording"
2. Make Domain component use __SECURE_API__
3. Integrate lost fix for defect BAD-58CDM4 - "Locale change has no effect on
contact filtering."
4. Fixed bug in User::Panic where it would give USER 23 if the category name was too long.
5. CiprianM
1. 8bit kernel : REQ415 : "Kernel objects shall use narrow names (ie 8bit non-Unicode).
The user-side APIs that reference kernel objects shall retain 16bit APIs, but shall
only accept ASCII names. The object names shall be validates so each name only
contains characters in the range 0x20 to 0x7f."
16 bit descriptors have been removed from the kernel.
2. Fix for DEF000034/MAT-5AJCZ9 (Propagated) RArray's binary search code is heretical
3. Fix for DEF021465 - Mistaken construction of a TBuf<> by assignment from a TInt
6. PhilK
1. Fix for DEF015625 - "USB cable detection doesn't work on Lubbock"
2. Fix for DEF016388 - "Lubbock - t_video/t_shal e32test failures - t_video does not blank screen"
3. Add Lubbock sound driver.
4. Increased LFFS size to 29MB.
5. Add Lubbock bootloader and generic bootloader display driver.
7. AndrewT
1. Implemented CRJDOD-5J8MQV: "Factor RTest and Console::NewL() out of EUSER"
Console::NewL() now creates a proxy console class which dynamically loads
ECons.dll to create the real console implementation, removing the static
linkage from EUSer to ECons. On the emulator it attempts to use both ECons
and EConseik to support both text-shell and GUI emulators. It is also now
possible to build GUI ROMs without ECons.dll.
8. AndrewJ
1. Implemented new media driver for Rofs on wins, this uses dirve J:
2. Added second partition to the assabet lffs driver for Rofs need to
remove the MACRO ROFS_PARTITION from the mmp file to run the original
configuration of one partition. The required that the allocation of
drives per CF-card slot be reduced by one.
3. Added configurable partition function to the SOC lffs driver, then
enabled the functionality to the integrator specific driver configuration.
This involoved adding an lffs_config.h file to specify the partitions
9. ChrisM
1. Added wins sound driver
2. Fixed t_env to prevent it leaving a t_env_child process
3. Added code to start eshell automatically on emulator if started with epoc and text window server.
4. Fixed sound driver ldd causes panic if emulator switched off whilst playing
5. Fixed long debug print output can crash emulator problem
6. Optimised debug print to use less stack space
10. PeteS
Added support for multiple Peripheral Bus Controllers:
1. Instead of each Peripheral Bus Controller having a pre-defined set of local drives that it registers
for, each now calls down to the variant DLL for the list of drives for that platform prior to
local drive registration. Hence the function: TMMCardControllerInterface::IsMMCStack(TInt aSocket)
has been renamed and extended to:-
TBool TMMCardControllerInterface::IsMMCSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
Similarly, the function TPcCardControllerInterface::IsPcCardSocket(TInt aSocket)
has been extended to:-
TBool TPcCardControllerInterface::IsPcCardSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
Local drive numbers are supplied via the new struct: SMediaDeviceInfo which also contains, total drives
to register, total media objects to register, Media type and device name.
Each variant now contains the header file VARIANTMEDIADEF.H which holds the complete set of media
definitions for that platform.
2. In addition, the local drive allocation for Media Drivers that register for local drives should also
be platform specific rather than pre-defined. Unlike, Peripheral Bus Controllers, these don't have a
separate PBUS variant DLL.
Most, such as the LFFS and ROFS Media Drivers are already built from the variant directory since
they contain platform specific code. These have been modified to take the drive registration info.
from the variantmediadef.h file for that variant.
The IRAM Media Driver (MEDINT.PDD) however was built 'generically' from the kernel directory. This has
now been modified so it also builds from the variant directory. Again, this takes drive registration
info. from the variantmediadef.h file for that variant. To build this requires the definition of the
include path for this media info file. This must be done by defining 'VariantMediaDefIncludePath' in the
variant.mmh file for the platform.
3. Since various Media Drivers only open for specific values of the media device type enum: TMediaDevice,
these have been pre-defined as follows (but can still be re-used on platforms which don't support the
standard media type):-
EFixedMedia0 - IRAM
EFixedMedia1 - LFFS
EFixedMedia2 - ROFS
ERemovableMedia0 - MMC
ERemovableMedia1 - PC-CARD.
Note that it is no longer possible to use the removable media type to determine the socket number.
(For example PC Card devices on different sockets now all have media type 'ERemovableMedia1). Some
user-side code was relying on assigment of media types to determine the socket number - using
RLocalDrive::MediaDevice(). A new function RLocalDrive::IsRemovable(TInt& aSocketNum) has been added
to retrieve the socket number for removable devices.
4. Due to the differing use of TMediaDevice values described above, the media driver constructor - exported
from ELOCD has been changed from
DMediaDriver(TMediaDevice aDevice)
to
DMediaDriver(TInt aMediaId).
5. Added MMC support for Lubbock. (Since this already supports PC-Card - this is now an example of a platform
with multiple PBus Controllers).
Version 2.00.509
================
(Made by JonathanM, 14/01/2003)
1. ChrisCr
1. DEF001740 - (Propagated) PBUS power saving is bad for power saving.
Disable timer tick when PSU off.
2. JonathanM
1. Changes for REQ 358.2 "CPU-specific builds" and
REQ358.3 "Split CPU- and ASSP-specific configuration"...
Base code no longer builds for ASSP specific targets (e.g. MISA or MI920.)
instead they build for the ABI they use (e.g. ARM4).
Non-generic code is specified only in the relevant Variant's BLD.INF file.
E.g. in Assabet the kernel's MMP file is added as
..\e32\kernel\ekern
and the SA1100 ASSP is included by
#include "..\sa1100\sa1100.inf"
In order that the same source code and MMP files can produce binaries specific
to a given Variant, each Variant must supply a file called 'variant.mmh' which
contains information of CPU type, Memory Model and a macro to generate a
distinguishing name: E.g. for Assabet this is...
macro __CPU_SA1__
#define MM_MOVING
#define VariantTarget(name,ext) _assabet_##name##.##ext
MMP files include this header file by the line '#include <variant.mmh>' and
will use the VaraintTarget macro in specifying arguments for things like TARGET
and LIBRARY. The #include search path for the build tools has been extended to
additionally look in the directory which contains the projects BLD.INF file.
(So this is where variant.mmh should live.)
Because the binaries for different Variants can now have a unique name prefix
it is no longer necessary to use cryptic two character Variant codes in their
names. Also, now we no longer have 8.3 filenaming restrictions the opportunity
has been taken to rename all device drivers and kernel extensions. These now
have the same name as they have in ROM. E.g. the Assabet serial driver is now
build as '_assabet_euart.pdd' rather than 'datxab.pdd'.
TEST CODE
Test drivers and other Variant specific test code now lives in the Variant
under the 'test' directory. To avoid having to change source code, the
'variant.mmh' for the test code defines relevant ASSP macros like '__MISA__'
ROM BUILDING
IBY files live in their respective variant under the 'rom' directory.
Changes to ROM.BAT
a. Variant name must be specified in full.
b. The ASSP is no longer needed or allowed.
c. The ABI to use must be specified with the --inst= option.
e.g. To build assabet use
rom --v=assabet --inst=arm4 --build=udeb
or Integrator with ARM920 and the logic module
rom --v=integrator_lmxx600_cm920 --inst=arm4 --build=udeb
2. Debugger suport changes. Added APIs to hook the Scheduler and enable a callback
function to be called on every context switch.
NKern::SchedulerHooks(TLinAddr& aStart, TLinAddr& aEnd);
NKern::InsertSchedulerHooks();
NKern::RemoveSchedulerHooks();
NKern::SetRescheduleCallback(TRescheduleCallback aCallback);
static const TArmContextElement** NThread::UserContextTables();
TInt NThread::GetUserContextType();
3. Removed unused DThread::CallUserFunction(TAny* aFunction, TAny* a1, TAny* a2);
Changed arguments to NKern::ThreadGetUserContext();
4. Modified TDesXx::AppendFormatList to cope with 8byte alignment of arguments.
5. Changes to ensure that on ARM CPUs a threads stack pointer is 8 byte aligned
(to support EABI). This was done by making the thread parameter block info
have a size which is a multiple of 8 bytes.
6. Fix for DEF012058 "Missing pieces in e32/rombuild datacaging implementation"
(Moved all base binaries to live in \System\Bin\)
7. Fixed bug in TDes8::Num(TReal aVal,const TRealFormat &aFormat) and friends.
When using KRealFormatFixed with a number which had a negative exponent, the
stack could get corrupted when the number was rounded.
8. Fix for defect DEF015827 - "OOM testing works incorrectly for ReAlloc"
9. Modify Lubbock bootstraps to fix some MMU config bugs.
10. Fixed ARM/Thumb interworking problems with huffman coding CIA file.
11. Fixed Kern::MachinePowerStatus() so that it copes if there isn't a power model.
12. Find ARM/Thumb interworking bug in CActiveScheduler::Run.
13. Moved ESHELL.EXE and D_EXC.EXE into System/Bin.
14. Fixed ARM/Thumb interworking problem with DLL entry points.
3. AndrewT
1. Added 'LogTimeStamp' property to the emulator to control whether the elapsed
time is included in the Log file (epocwind.out). It defaults to '1', a value
of '0' in the ini file will disable the timestamp - useful for comparing test
logs from different builds.
2. Implemented most of REQ817: Added CActiveSchedulerWait class from Typhoon, and
removed most of the redundant CActiveScheduler interface. See in-source doc for
details. Note that:
* Level() is deprecated, prefer to use the public StackDepth() member
* Leaving from CActive::RunError() or CActiveScheduler::Error() will be
considered a fatal error.
Instead use CActiveScheduler::Halt() to exit the current level and force
Start() to leave. When all such illegal uses are changed this will be
enforced by making debug builds panic if this deprecated use is encountered.
Release builds will ignore the leave but this will result in memory corruption
at some later time.
* Mixed use of CActiveScheduler::Start() and CActiveSchedulerWait::Start() is
not recommended, though it works in some fashion
* CActiveSchduler::RunIfReady() is still present but will be removed shortly.
3. Bootstrap build rationalisation and RVCT2.0 support:
* Build details now controlled by e32/kernel/bootstrap.mke which is exported
to \epoc32\include\kernel\. It handles the old/new toolchain issues and
currently supports the v2.11 ARM tools and the RVCT2.0 ones.
* Each bootstrap nmake file has to define a few macros and then include the
standard one. See /lubbock/bootstrap/bootrom.mke and
/bootldr/bootstrap/assabet/bootroma1.mke for examples
* Intermediate files are now all put into a build directory in /epoc32/build/...
4. Fixed the SMP race condition in the Win32 nano-kernel. This allows the
emulator to run on multi-CPU PCs without having to manipulate the
CPU affinity for the process. Note that this does not allow the emulator
to fully utilise both CPUs as the nano-kernel scheduler only lets a single
thread run at a time.
For flexibility there is now an emulator property 'HostCPU' that can
control the CPU affinity of the emulator.
* if not defined or has the value -2, the emulator will run on just one CPU
on the PC (the first one available).
* if it has the value -1, the emulator will use all the CPUs available
* if it specifies an existing processor (0..N-1 for a N-CPU machine), the
emulator will run on just the identified processor;
5. Added new versions of operator new, both global and CBase:
operator new(TUint aSize, TLeave, aExtraSize)
This essentially provides the leaving version of the 'extra-size' variant.
6. Added __THROW() and __NO_THROW macros to e32def.h to allow operator new to
have a throw specification (for the RVCT compiler). This both removes a
warning and informs the compiler whether the operator returns NULL in OOM
or 'throws' an exception (Leaves as far as we are concerned).
4. Nicolas
1. Added missing HAL attributes to T_NEWHAL.
2. Introduced debug event notification API (DDebugEventHandlerBase).
3. Make DProcess instances global only after successful load to avoid
scenario where rogue thread opens a handle on process being loaded and kills
it, resulting in a system crash when ExecHandler::ProcessLoad is called.
4. Removed DProcess::AddFindChunk, a remnant of EKA1.
5. Fixed DEF012187 - dmsrv.exe with AllFiles: domainsrv.exe has got only
PowerMgmt now.
6. Commented some kernel-side APIs.
7. Removed support for "%ld" and "%lu" from Kern::AppendFormat() because it
didn't work and was very confusing as it truncated results to 32 bits. Now
an attempt to use %ld (resp. %lu) will print 'd' (resp. 'u'). Use "%lx" to
print 64-bit integers.
8. Added DObjectCon::Lock() to be able to test "container lock held"-kind
preconditions.
5. ChrisM
1. Fixed T_NEWHAL to work correctly with attribs which require parameters and return
KErrArgument.
2. Added paramter passing code for process creation. CR
3. Added message queues and property res to crash debugger
6. PhilK
1. Added CF card support for Lubbock (uses Lubbock specific ATA driver).
2. Added LFFS support to Lubbock.
3. Various changes to support SINGLE build for CF bootloader.
4. Add ethernet driver initialisation.
7. CarlosF
1. Included support for ARM926J in the Kernel (but do not release the corresponding
variant yet as this needs to wait for the Integrator build rationalisation)
2. Integrator Port Re-org (Step 1):
- Logic Module identifies its position on the stack and defines its Base
Address, Interrupt etc based on it,
3. Changes to allow Core Module-only versions of Integrator to use the VT100
display emulation by default
4. Submitted changes to allow building Ethernet LDD and Assabet PDD, and corrected
problems with the test program
8. Morgan
1. Implemented stop-mode debug API tables. Kernel extension KDEBUG.DLL included in
roms guarded with STOP_MODE_DEBUGING.
9. Dennis
1. Fixed race condition between TInactivityLink::Start() and Kern::AddEvent().
Version 2.00.508
================
(Made by AndrewT, 29/10/2002)
1. JonathanM
1. Changed KCapabilityAll define to match that used by build tools.
I.e. only include currently defined capabilities.
2. Fixed defect DEF002630 "Missing distribution.policy files"
2. Nicolas
1. HAL ELEDmask attribute can be used to get/set the 7-segment
digits LEDs on Lubbock. Internally moved ELEDmask from the
power to variant group and simplified the code.
2. Introduced DMA framework. The current implementation supports
single-buffer, double-buffer and scatter-gather DMA controllers. There
is a reference implementation for Cotulla.
3. Dima
1. Introduced the Jetstream Power model
New User API in e32power.h in the Power class. This allows user mode
code to request a power state transition.
New kernel API in kernel/kpower.h for device drivers and power model
implementors (base ports).
base/domain manager component introduced which provides the user-side
power state transition management. APIs in dmdomain.h and dmmanager.h.
See in-source for API documentation.
Assabet implementation of the new kernel power model. Other base ports
have a minimal compatibility layer introduced for now.
Emulator 'standby' and 'display off' is now implemented.
4. StefanW
1. Add MMC peripheral bus and MMC media drivers for integrator and emulator
This shows up as driver D: on integrator and X: in the emulator.
5. AndyS
1. Added support for RVCT toolchain to Base - Assabet is the only base port
currently modified to fully support the toolchain.
Version 2.00.507
================
(Made by JonathanM, 21/10/2002)
0. ChrisM
1. Change default DTR control from handshake to enabled in WINS serial driver.
DEF001561
1. JonathanM
1. Fix for defect DEF001251 - E32notif.h should #define __NOTIFIER_NAME to "!Notifier"
2. Changed method for getting SETCAP.EXE into base test ROMs.
3. Tidied up EDISP by deleting old files. Also fixed CScreenDriverTemplate::SetMode()
2. Nicolas
1. Fix for defect DEF001259 - Text window notifier
completes requests too early.
2. Fixed another notifier bug: Message requesting MMC
password dialog was never completed.
3. Phil Kaye
1. Add partial lubbock port.
4. CarlosF
1. Fixes for Integrator Modem Control Signals
2. Fixes for SIR on Integrator
5. Dennis
1. SECURE_API flag is now set by default for all processes
2. Added USERSTUB_FORCE_DATA_CAGING.DLL to allow testing of data caging.
Replace USERSTUB.DLL with this to force data caging on for all processes.
3. Fixed bug in boot loader caused by "return handles" changes.
6. ChrisM
1. Secure screen HAL API + test implementation on assabet, integrator and WINS.
2. Probably fixed DEF001413 Data loss with WINs for large files over HTTP (serial driver)!
Applied basically the same fix which worked on typhoon.
Version 2.00.506
================
(Made by JonathanM, 20/09/2002)
1. Dennis
1. Split all ARM inline assembler into separate .cia files.
The __NAKED__ macro is redefined for .cpp files to cause an error if this
rule is violated.
2. JonathanM
1. Add 'CAPABILITY' to all MMP files.
Version 2.00.505
================
(Made by Nicolas, 16/09/2002)
1. JonathanM
1. Added RMsgQueueBase::Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType)
2. Modified RMessagePtr::Read/Write/GetDes functions to return KErrBadDescriptor rather
than KErrArgument when the specified parameter is not of the expected descriptor type.
3. Added new 'DevMan' capability.
2. VadimA
1. Implemented Pub/Sub Properties.
3. Nicolas
1. Set iAsyncDeleteNext to NULL in DCodeSeg::Destruct()
to force DCodeSeg::VerifyHandle() to fail when passed
a handle to a deleted code segment.
2. Added d_exc.exe and minkda.ldd to full ROM obey files.
3. Modified d_exc.exe to ignore spurious command-line and
use defaults when started from UIKON shell. This is
just a proactive move as a bug in UIKON currently
prevents from starting executables with SID from the
UIKON shell.
4. Markdo
1. Added DPBusPrimaryMedia::DefaultDriveCaps() so drive attributes of a removable media
are returned even when card not present.
2. Introduced TDriveInfoV1::iRegisteredDriveBitmask to indicate whether a particular
local drive has a media driver associated with it.
5. CarlosF
1. Release Integrator Platform and SOC driver code
6. David Batchelor
1. Fix defect DEF001034 (RNotifier broken in mainline 1050)
Version 2.00.504
=================
(Made by the Uikon team, 05-09-2002)
1. Made some API changes to RNotifier both for tidying it up and
- Removed the 4-parameter overload of StartNotifier and the
5-parameter overload of StartNotifierAndGetResponse (these
were not implemented server-side by Eiksrv anyway).
- Removed the last parameter of the 3-parameter overload of
StartNotifier. This parameter was useless as it was not
guaranteed to contain any actual response generated by the
notifier. If a response is required,
StartNotifierAndGetResponse should be used instead.
- NotifyCancel has been added to cancel Notify calls.
- Close has been added to free up the member-objects now owned
by RNotifier.
2. Made some API changes to MNotifierManager:
- The last parameter of StartNotifierL has been removed.
3. Made some API changes to MNotifierBase:
- The 1-parameter overload of StartL now returns void.
- The second and third parameters of the 3-parameter overload of
StartL have changed.
4. Made Ewsrv work with __SECURE_API__ defined.
Version 2.00.503
================
(Made by Dennis, 16/08/2002)
1. Dennis
1. Removed the following empty exported constructors/destructors:
CBase::CBase() - replace with inline
CBase::~CBase() - replace with pure virtual inline empty
CSecurityEncryptBase::CSecurityEncryptBase()
CSecurityDecryptBase::CSecurityDecryptBase()
CSecurityBase::CSecurityBase()
DBase::~DBase() - replace with pure virtual inline empty
2. Changed the way the kernel reboots the system after a fault. It now
jumps to a 'restart vector' in the bootstrap (at rombase+0x7c). The
bootstrap then implements whatever variant-dependent code is needed.
The restart vector is only currently implemented on assabet and X86.
On assabet it performs a software reset of the SA1110.
Export a Kern::Restart(TInt aMode) function from the kernel which
triggers a reboot. The mode parameter is used to indicate what type
of reboot is required (if more than one type is supported). Currently
supported values are:
0x00000000 - reboot the same image.
0x80000000 - rerun the bootloader to allow a new image to be loaded.
The crash debugger uses this function to implement two new commands:
x - reboot the system using the same image
X - rerun the bootloader to allow a new image to be loaded.
3. Fixed bug in initialisation code - .data section was never initialised
for ASSP DLLs. Now all extensions have .data initialised before the
variant is initialised.
4. Added DECLARE_EXTENSION_LDD() and DECLARE_EXTENSION_PDD() macros to
declare the ordinal 1 export for LDDs/PDDs which are also extensions.
Use DECLARE_STANDARD_EXTENSION() to declare the extension entrypoint.
5. Added support for ETM thread ID register.
On architecture 4 and 5 this is conditional on the macro
__CPU_HAS_ETM_PROCID_REG, and simply writes the 32 bit NThread pointer
into the register on each reschedule.
On architecture 6 it is unconditional and bits 6-29 of the NThread
pointer are written into bits 8-31 of the CONTEXTID register. Given the
size of NThread this is guaranteed to be unique for each NThread. Bits
0-7 of CONTEXTID are used for the ASID.
6. Rearranged user-side memory allocation code.
There is now a base class RAllocator which provides pure virtual functions
for common operations Alloc(), Free(), ReAlloc() etc.
Exec::Heap() (and User::Heap()) now returns a pointer to this base class.
RHeap now derives from RAllocator and also supports alignment of cells on
any power of 2 boundary, which will go some way to making us compliant
with the new ARM ABI, which requires 8 byte alignment.
Also these changes will make it possible for processes to use a more
specialised memory allocator (i.e. not an address-ordered first fit heap,
which is all that is allowed currently) by supplying an implementation
of UserHeap::SetupThreadHeap().
7. Share source code between EUSER and EKERN.
Code which is used in both places is now placed in the /e32/common/...
tree; /e32/nklib/... has been removed.
New heap code is now used in the kernel as well.
Rationalised the number-to-text conversion functions to avoid having
multiple copies of very similar or identical code.
8. Add __EKA2__ macro to enable code to tell if it's compiling against
EKA1 or EKA2.
9. TRomImageHeader::iCheckSumCode changed to iCapability
Capabilities are now stored in code segments; process capabilities are
initialised from the code segment.
A process with capabilities other than 0xffffffff automatically has
security checking enabled.
10. Fixed double deletion problem with PDD Create() functions. In the function
virtual TInt Create(DBase*& aChannel, TInt aUnit, const TDesC8* aInfo, const TVersion& aVer) =0;
The aChannel parameter will be deleted by the kernel if an error is returned,
so it should not be deleted by the driver.
11. Added exported kernel functions
TInt Arm::DebugOutJTAG(TUint aChar);
TInt Arm::DebugInJTAG(TUint32& aRxData);
to send and receive data via the ARM JTAG debug comms channel.
12. Removed requirement for "namespace std" declarations when building for
code warrior by putting the following sequence into e32def.h:
#undef __embedded_cplusplus
#define __embedded_cplusplus 1
This stops the CW standard headers from putting everything into
namespace std.
13. Moved base.iby from ROMKIT into /e32/rombuild. This now includes one of
the following, depending on the target platform:
e32/rombuild/misa/base_assabet.iby
e32/rombuild/mi920/base_integrator920.iby
e32/rombuild/ni1136/base_integrator1136.iby
Most of the macros relating to base stuff have been removed since there
is now a separate base_xxx.iby for each target platform.
Added files
integrator/core/cm920/integrator920.oby
integrator/core/cm1136/integrator1136.oby
which correspond to assabet/assabet.oby to allow building full mainline
ROMs for integrator platforms.
2. JonathanM
Completed "REQ192.1.1: Kernel support for creator identification"
1. Added EUser::CreatorCapability.
Completed REQ192.2.1.1: Creating Private Kernel Resources
1. The TFindXxxx classes can not find objects which don't have a name.
2. Objects without a name cannot be opened in any way by a threads in
a process diferent from the objects creator.
3. Private (Local) Servers can now be created by giving them a zero length name.
4. To enable connections to be made to these servers the folling methods have been added:
CServer::Server()
This returns a copy of the RServer object used by the server.
RSessionBase::CreateSession(RServer aServer...
A new overload of the create method which takes an RServer object instead of a name.
Completed REQ192.2.1.2: Granting Access To Protected Kernel Resources
1. The following kinds of kernel objects may be created as 'protected' kernel resources.
Handles to these may be passed via client/server communications.
* RMutex
* RSemaphore
* RChunk
* RBusLogicalChannel
* RSessionBase
2. The following methods are used to create protected resources:
TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);
The create method takes an additional argument (aProtected) to indicate if the
channel is protected.
RSessionBase::ShareProtected()
This makes an already existing session a protected resource. This is only permitted
if the server constructor specified the type 'EGlobalSharableSessions'.
RSemaphore::CreateGlobal
RMutex::CreateGlobal
RChunk::CreateGlobal
Use of these with a zero length name will create an anonymous protected resource.
An additional method is provided for the RChunk class which enables the creator
process to set restrictions on the use of a chunk by another process.
RChunk::SetRestrictions(TUint aFlags)
Currently the only implemented restriction is the 'EPreventAdjust' flag, which
prevents other processes from changing the memory allocation with Adjust, Commit,
Allocate, or Decommit.
3. A client process which has a handle on one of these can give a server the used of it
by sending the handle as a RHandleBase parameter in a TIpcArgs package. The server
can then open this handle by calling the following method on the appropriate resource
class:
Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType=EOwnerProcess)
where aMessage in the message that the server received from the client, and aParam
is a number (0-3) indicating which message parameter holds the client's handle.
A server can return a handle to the client by completing a client message using the
resource object as an argument:
RMessagePtr::Complete(RHandleBase aHandle)
This will create a thread relative handle to the object and cause the client's request
to complete with this value. The client should check the returned value, a negative
value indicates an error value, a positive value is a handle which can be used to
initialise the relevant R object by calling RHandleBase::SetHandle().
Alternatively (and preferably) this check and set step can be performed by using the
following method instead:
TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)
where aHandleOrError is the value returned by the server. This method does the
following:
If the value is a handle, then set the handle of the object to this, and
return KErrNone;
Else, set the handle value to NULL and return the error value.
Implemented REQ192.2.7.1: Preventing Spoofing of System Servers
Creating servers with an '!' as the first character in their name requires
KCapabilityProtServ
Implemented REQ192.2.7.2: Detecting Spoofing of Servers.
Implemented REQ192.2.7.3: Preventing Denial of Service by Server
These are implemented by:
TInt RSessionBase::CreateSession(const TDesC& aServer,const TVersion& aVersion
,TInt aAsyncMessageSlots,TRequestStatus* aStatus=0,TInt32 aIdentity=0)
This new method allows connecting to a server asynchronously (if aStatus is zero
then the connection is done synchronously). When the connection has completed aStatus
will be signalled, if this holds anything other than KErrNone then the connect failed
and the programmer must Close() the session. (Failure to do so, will result in leaked
resources.)
Note that CreateSession returns a standard error value, if this is not KErrNone then
the connection process has failed before sending a message to the server, and in this
case aStatus will NOT be signalled.
The aIdentity argument in this function specifies the Security Identity of the process
in which the client is expecting the server to be running. (Zero means "don't care")
If this identity doesn't match that of the servers process then the session creation
fails with KErrNotFound.
Platform Security Changes
1. Made RMessage::RMessage(const RMessagePtr& aPtr) explicit to avoid the compiler
automaticly constructing temporaries.
2. Corrected runtime security on RThread::Rename so that only the current thread can
be renamed.
3. Added capability checks:
* User::ResetInactivityTime() requires KCapabilityPowerMgmt
* User::SetHomeTime(const TTime &aTime) requires KCapabilityWriteSystemData
* UserSvr::SetMemoryThresholds(TInt aLowThreshold, TInt aGoodThreshold) requires KCapabilitySwEvent
4. Changed UserSvr::RequestEvent and RequestEventCancel to insist that the calling thread
is the same as the one which captured the event hook.
5. Changed User::WsRegisterThread and User::FsRegisterThread to take no arguments.
6. Trapped attempts at connecting a server session which is already connected and
Reorganised CServer panics.
Internal Kernel code modifications:
1. Modified most exec functions which create handles to return them by value, rather than
poke them back to user memory.
2. Refactored RChunk::Create code to make it smaller.
3. Changed iCreator in DProcess to be a process id rather that a DProcess*
3. AndrewT
1. Expanded the TRAPD macro in CActiveScheduler::DoStart() so that it can be stepped
through in a debugger.
2. Added assertions to the emulator scheduler to trap invalid use of NKern::Unlock()
and Emulator::Escape().
3. Made the kernel ask USERSTUB.DLL what the default value for the process flags
controlling secure API and data cage checking. The default USERSTUB.DLL currently
returns false for both, but USERSTUB_FORCE_SECURE_API.DLL changes the default for
SecureApi to on. Simply replacing USERSTUB.DLL with the longer named version in a
ROM or in the emulator will change the default settings.
4. ChrisM
1. Fixed propagated bitmapallocator defect fix MOS-5C6C8Y
2. Fixed propagated WINS serial driver defect GUV-5CMJSR
3. Implemented DLR 363.2 Message Queues.
5. Nicolas
1. KERN-EXEC litteral now available as KLitKernExec in
kernel.h for the benefit of drivers needing to panic
clients.
2. KEXECFAST trace bit merged with KEXEC. KEXECFAST has
been recycled for debug agents (KDEBUGGER).
The following modifications are part of the on-target debugging support
HLR. They are needed to support the new D_EXC utility.
3. New functions exported from kernel:
* NKern::ThreadGetUserContext()
* NKern::ThreadSuspend()
* DProcess::TraverseCodeSegs()
(EMarkDebug flag added for debug agents)
* DCodeSeg::UnmarkAll()
* Kern::ProcessFromId()
* Kern::ThreadFromId()
* Kern::AccessCode() (use this instead of DCodeSeg::Wait())
* Kern::EndAccessCode() (use this instead of DCodeSeg::Signal())
4. DExceptionHandler renamed as DCrashHandlerBase and extended to
deal with both hardware exceptions and panics. In case of panic,
the handler is called at a point where it is safe to acquire
mutexes.
4. Existing JIT debugging callback removed. The WINS code now uses
DJitCrashHandler derived from DCrashHandlerBase.
6. Abhishek Kumar
1. Added Ethernet LDD and accompanying Assabet PDD.
Version 2.00.502
================
(Made by Dennis, 11/07/2002)
Memory model and loader changes.
Two mode secure kernel.
1. Dennis
1. Added new memory model (multiple) which is optimised for processors with
physically tagged caches and reasonable sized page directories. This
uses a separate page directory (or part thereof) for each process, thus
providing faster context switching.
Currently works on ARMv6 (NI1136 target) and X86 (NX86 target).
2. Placed some memory model code into a new directory (mmubase) which will
be shared between multiple and moving models. This code deals with things
like page table alloc/free and HW chunks and the extra per-page information
required for mobile SDRAM defragmentation.
Moving model has yet to be updated to use this.
3. Hw Chunks now support large page sizes (64K and 1Mb on ARM, 4Mb on X86).
4. Code loading system has been reworked to support DLLs with per-process
.data and .bss sections, and also to allow code protection on the multiple
memory model.
All loaded code is now managed by DCodeSeg objects in the kernel.
5. Loading of device drivers, file systems and locale DLLs is now done
entirely by the loader rather than partially on the client side.
6. The public E32Dll entry point for user-side DLLs has been removed.
The private _E32Dll entry point is still there and is used to call
constructors and destructors for C++ objects in .data/.bss.
The TDllReason enum has been removed along with all redundant E32Dll
functions.
7. The public entry point for kernel-side DLLs (extensions and device drivers)
is retained but renamed to
TInt KernelModuleEntry(TInt);
Macros DECLARE_STANDARD_EXTENSION(), DECLARE_STANDARD_LDD(),
DECLARE_STANDARD_PDD() and DECLARE_STANDARD_ASSP() have been provided which
declare the entry point in the way normally required for these things.
8. The private entry point of a process (_E32Startup) is now used for several
things, currently:
1. Process initialisation (similar to previous)
2. Thread initialisation (new thread started in process)
3. Exception handling (thread in process took a handled exception)
Essentially whenever the kernel needs to invoke user-mode code, this is now
vectored via the process entry point. This will eventually allow different
allocators to be used for each process/thread and the removal of USERSTUB.
9. Added device drivers for X86:
Floppy disk, generic ATA interface controller, ATA hard disk media
driver, ATAPI ZIP/CDROM media driver, PCI bus scanning code, video
drivers for Permedia2 and CT65554 (dodgy) chipsets.
10. Added memmove() function to the kernel and modified the kernel and all
drivers/extensions to use it instead of memcpy() when the source and
destination may overlap.
11. Added the ability to specify a cleanup handler when adding a TLS entry.
The handler will be called on thread normal exit (return from main function
or call User::Exit(), not on panics).
12. Disabled THUMB interworking support until ARMv5/THUMBv2 becomes the
standard configuration. Default ABI for all platforms is now ARM4. It
is no longer necessary to build anything for ARMI.
13. All executive functions are now declared in a single file
/e32/kernel/execs.txt
which is then processed by a perl script to generate the dispatch numbers,
Exec:: and ExecHandler:: class definitions, user side code and kernel side
dispatch tables.
See /e32/kernel/execs.txt for a description of syntax.
14. Local media system now returns type of partition in drive capabilities.
See /e32/include/partitions.h for list of partitions.
Also, the media type field in drive capabilities is set even if the
drive is not ready.
15. Change KCurrentProcessHandle from 0xffff0000 to 0xffff8000 - this has the
'NoClose' bit set, so you don't get panicked for doing
{ RProcess p; p.Close(); }
16. Change IPC copy functions to always return KErrBadDescriptor rather than
KErrArgument where the remote address is invalid or points to an invalid
descriptor.
17. Changed the way static data is detected on the emulator to work around
problem with code warrior. It is now necessary to put 'epocallowdlldata' in
the makefile, as it is for target builds. On WINS a DLL or EXE will be
considered to have writeable static data if the .data section is present;
if it is but 'epocallowdlldata' was not specified, the load will fail.
On WINSCW a DLL will be considered to have writeable static data if the
'epocallowdlldata' keyword was present in the MMP file. An EXE will be
considered to have writeable static data if the .data section is present.
Emulator DLLs with a .data section but which were not built with the
'epocallowdlldata' keyword will have their entry points called every time
the DLL is loaded or a referencing DLL is loaded; this is to cope with
the case where the compiler puts supposedly constant data into .bss and
uses a runtime constructor to initialise it.
18. Integrated platform security changes (two-mode kernel).
19. Kernel changes to allow anonymous chunks, mutexes, semaphores, servers
and logical channels. Removed named logical channel support.
If an empty string is passed as the name, an anonymous object is created.
Note that logical channels no longer set an owner.
20. Allow message handles to be verified by the executive call preprocessor.
Modified genexec.pl to accept 'ipcmessage' and 'ipcclient' handle types.
Changed executive calls which take a message handle to use this feature.
21. Added machine coded versions of DObject handle lookup code, i.e.
DThread::ObjectFromHandle, K::ObjectFromHandle, Kern::ObjectFromHandle.
22. Added code to support static data destructors on WINSCW.
23. Removed exit handler, state handler and exception handler from NThread.
These are now placed in a separate structure (SNThreadHandlers) to which
NThread has a pointer, along with a new timeout handler which is called
when the NThread timer expires in either BLOCKED or UNKNOWN N-states.
24. Added timeout to DSemaphore::Wait().
Added new RSemaphore::Wait(TInt aTimeout) which waits for a semaphore
signal or for aTimeout microseconds, which ever occurs first.
aTimeout=0 means wait forever.
The new API returns an error code:
KErrNone = semaphore was signalled
KErrTimedOut = semaphore was not signalled before the timeout expired.
KErrArgument = -ve timeout specified
KErrGeneral = semaphore was deleted
25. Removed all RDebug:: functions apart from RDebug::Print
26. Removed class TInt64 and replaced it with TInt64 and TUint64 which are
typedefs of the compiler's native 64 bit integer types.
Special function Mul10() has been removed - just use x*=10 instead.
DivMod and MulTop have been migrated to Math:: as follows:
void Math::Mul64(TInt64 aX, TInt64 aY, TInt64& aOutH, TUint64& aOutL);
Multiply aX by aY and store 128-bit result in aOutH:aOutL
void Math::UMul64(TUint64 aX, TUint64 aY, TUint64& aOutH, TUint64& aOutL);
Multiply aX by aY and store 128-bit result in aOutH:aOutL
TInt64 Math::DivMod64(TInt64 aDividend, TInt64 aDivisor, TInt64& aRemainder);
Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
Remainder has same sign as dividend.
TUint64 Math::UDivMod64(TUint64 aDividend, TUint64 aDivisor, TUint64& aRemainder);
Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
27. Add new alloc failure type RHeap::EReset and new macros
__UHEAP_TOTAL_RESET and __KHEAP_TOTAL_RESET
to both cancel any simulated allocation failure and reset the allocation mark.
28. Add compiler helpers for 64 bit arithmetic to kernel side emulator entry libraries.
29. Processor affinity setting for emulator slightly modified - if the process is
already limited to a single CPU, the affinity mask is not changed.
30. Allow more emulator parameters to be overridden:
i. The log file can be overridden by the the EmulatorLog environment variable.
ii. The option -Dname=value will set the 'name' property to 'value'
The option -Dname+=value will append 'value' to the 'name' property.
iii. The directory used for temporary EXE images can be overridden by
-DEmulatorImagePath=dir
iv. It is now possible to run two emulators simultaneously by judicious
choice of command line parameters.
2. JonathanM
1. Secure Kernel APIs implemented. This release is 'dual mode' where both old and new
APIs are present.
( For API changes see document "SGL.GT0135.201_Rev0.12 Securing Kernel APIs.doc" )
* Old APIs which will be removed for Platform Security can be disabled at compile time by
defining __SECURE_API__, e.g. by "MACRO __SECURE_API__" in your MMP file.
* New test function RProcess::SecureApi() enables a process to turn on run-time checking for
APIs which have new restricted usage. (For that process only.) This will cause a thread to
be panicked with EPlatformSecurityTrap when they make illegal use of kernel APIs.
If 'SecureApi' is not enabled, kernel functions will continue to behave as before the
Platform Security changes.
* Test function User::RemoveCapabilities() allows a process to remove capabilities.
(Currently processes have all capabilities.)
* NOTE: The new versions of RProcess/RThread::Rename are called RenameMe to distinguish them
from the old non-static versions.
3. ChrisM
1. Minor change to WINS serial driver which will stop it locking up when a comms error occurs.
2. Fix SCI-5BFCPJ(MediaServer TMDaaud audio test code panics when Play is called)
4. CarlosF
1. Changes to Template Screen Driver for Text Window Server to allow support for
Integrator.
2. Corrected a minor bug on one of the Display accessor functions of SA1100 Achticteture
Layer
Version 2.00.501
================
(Made by AndrewT, 12/06/2002)
1)
ChrisM
1) fixed (RArrayBase::HeapSort makes assumption about max iEntrySize value) and
(TLex::Val() should not give error for missing exponent) defects reported on 7.0
2) AndrewT
1) Made the justintime emulator setting operational for kernel fault situations
as well. This means that a setting of 'debug' or 'none' ensures that no
dialogs are ever presented to the user.
2) Added a -D commandline switch to the emulator. This allows additional
emulator settings to be defined on the commandline. These are parsed before
the ones in the epoc.ini file. e.g.
epoc -Djustintime=none --
Will disable JIT debugging for that emulator.
3) Set the processor-affinity-mask for the emulator to ensure that it runs only
on a single CPU in the PC. This effectively works around an as yet
undiagnosed problem with the emulator scheduler on multi-processor PCs.
4) Added 'const T& operator()() const' to TPckgBuf<T> - propagating a 7.0 fix to
Jetstream.
5) Made TThreadId and TProcessId members const, propagating a 7.0 fix to
Jetstream.
6) Fixed the 'diaplay contrast' HAL settings for the emulator so that both
T_VIDEO and Techview behave. WINS now claims to support contrast but does
nothing with the setting.
7) Provided another means for EPOC threads to interact with the host OS in the
emulator. As well as Emulator::Lock()/Unlock() to block the scheduler, there is
now Emulator::Escape()/Reenter() which allows the scheduler to carry on running
but takes the calling thread out of the scheduler control. In particular this
allows a calling thread to safely wait on host OS synchronisation objects (e.g.
call WaitForSingleObject()) without deadlocking [part of] the emulator.
When 'escaped' a thread should not use any EPOC APIs at all except for
Emulator::Reenter(). Note that if a thread is killed in this state the exit will
be deferred until it reenters the scheduler control - thus it may be necessary
to also cause the host OS to release the thread in roder to clean up completely.
8) Added some instrumentation to the emulator scheduler in order to detect and assert
incorrect use of kernel APIs from 'interrupt' and EPOC threads.
2. Chris
1. Added KMEMTRACE + memory tracing.
Version 2.00.500
================
(Made by AndrewT, 23/05/2002)
First release of EKA2 into Symbian OS mainline.
--------------------------------------------------------------------------------
E32RT Modification History (not necessarily complete)
--------------------------------------------------------------------------------
Revision 051
14-12-01: WINSCW Introduction
The E32TOOLP changes are documented in
\e32toolp\group\release.txt.
Fixed various std C++ compliance issues.
Got rid of every WINSCW warning.
Added WINSCW to the relevant BLD.INF.
"long long" are used for 64-bit types.
Added pragmas to disable RTTI and C++ exception handling for
CW.
Bracketed arguments used only in UDEB builds with __DEBUG_ONLY
to turn off spurious warnings (this is subject to change).
Extended wintest.bat for WINSCW and added code to delete the
LFFS and IRAM "drive" files.
In E32TEST T_EXC Made some variables volatile to prevent mwcc
optimising out an intentional division by zero.
Ported fix for CMOS-52CDGU (T_MATH and T_FLOAT rely on the compiler
generating denormal constants).
Mwcc 2.4.1 generates incorrect code for the "foo <= 0"
statement when foo is a 64-bit integer. Worked-around by
comparing against a named constant. This bug is fixed in
Codewarrior Pro 7.
Modified WIN32 section in various MMP files.
Fixed Wins::SetupPaths() so the path parsing code works for
both VC++ and CW.
EPOC versions of memset() and memcpy() conflict with the
standard library ones. They need to be declared and defined
inside the std namespace. The other compilers are happy with
that too.
Modified Dispatch() signature to avoid mangling difference
between VC++ and Codewarrior.
The header file needed for wcs*() function prototypes is
<wchar.h> not <stdlib.h>.
Codewarrior inline assembler does not support code like
"[exc]this.iThread". There is only one occurence of this in
TExcTrap::Trap(). Worked-around by using
[ecx]TExcTrap.iThread for codewarrior.
Added explicit return value to Emulator::Init().
The following changes are not related to WINSCW:
E32TEST T_TBMA is not built anymore for THUMB because it contains lots
of ARM assembly language which is executed in privileged mode only in
normal conditions.
Fixed __PROFILE_DISPLAY() macro.
Fixed typo in F32TEST T_DSPACE test (= mistaken for ==).
--------------------------------------------------------------------------------
Revision 050
15-05-01: Added the first-cut of the Win32 port
nKern scheduler ported to Win32 - emulation of EPOC scheduler. This
provides the Win32 threads implementation for EPOC. Exception
handling and context setting are not yet supported.
Added 'platform/image' layer into memmodel to catch the remaining
differences in layer 2 of the kernel. For now this is captured in
the imgmodel.h header files. The memory models have moved down a
directory as a result. This deals with ROM, Process and Library
specialisations.
The rest of the layer 2 code is now completely generic and ready for
merging with layer 1.
Added a Win32 memory model, currently based on a simple direct model.
The plan is to support a more dynamic model like 6.2 WINS.
Tidied up many bits of C++ code that had either rotted or were
rejected by the VC++ compiler.
Started development of a 'wins' variant. This provides the variant
DLL, which has support for processing emulator ini files, a 5ms
timer to drive the nKern 'millisecond' timer and debug output. The
UI is in a separate extension and handles most of the clever ini
settings. There is no power model yet.
Process emulation is functional, the loader can launch 'EXE's within
the emulator, but the emulator does not provide memory protection.
EPOC heap sizes are not yet stored in the binaries, so processes
currently get 1MB maximum heaps by default.
DLL entrypoints are not called.
Emulated media drivers are not implemented.
Serial driver is not implemented.
E32TESTs and F32TESTs pass where expected (failures are due to
known omissions at this stage) using the F32 RUNTESTS tool -
ERunTests is no longer required.
--------------------------------------------------------------------------------
???
--------------------------------------------------------------------------------
Revision 038
26-10-00: Added first Assabet port (base board only, no SA1111 support).
UART driver not tested due to the serial keyboard function. Also,
handshake signals are not handled by the UART driver yet.
Power down/up works with RTC wakeup but wakeup due to GPIO0/1 is
intercepted by reprob and touchscreen doesn't wake the system up -
don't know why.
Modified bootloader to work on Assabet as well as Brutus. New files
displayinit.cpp and mem.cpp have been added to deal with LCD startup
and memory addresses (different on Brutus and Assabet).
Added new scheme for handling interrupts on GPIO11-27 on SA11x0. We
use timer match register 1 to generate an interrupt which is never
cleared. The shared GPIO11-27 interrupt is always enabled; if an
interrupt occurs on a line which is not enabled, it is remembered in
the SharedGpio structure. If the interrupt is subsequently enabled,
the timer 1 interrupt is enabled to cause another hardware interrupt
which then services any remembered GPIO interrupts which are now
enabled.
Fix to Brutus digitiser to prevent locking up if the off key is
pressed with the pen down.
Fix to exception handling code in the case of fatal exception due to
mode or SVC stack overflow - R4 was not being stored.
Fixed bug in TSa1100::UartData() - incorrect register being used.
--------------------------------------------------------------------------------
Revision 037b
18-10-00: Added generic kernel-side exception handler support.
Added asynchronous deletion facilities; Kern::AsyncFree(TAny*) frees
any kernel heap cell and Kern::AsyncDelete(DBase*) deletes any DBase
derived object on the kernel heap.
--------------------------------------------------------------------------------
Revision 037a
16-10-00: Synchronised to //epoc/development/base/ongoing/...@60165
Modified forceMediaChange() in \e32\drivers\locmedia\locmedia.cpp so
that clients are always notified of media change even if there is
no media present on the drive (caused T_NOTIFY to fail).
--------------------------------------------------------------------------------
Revision 037
03-08-00: Implemented inactivity timers (RTimer::Inactivity etc.)
10-08-00: Separated RAM page allocator from rest of MMU code.
Fixed bug in millisecond timer which caused it to stop completing
timers if DFC was delayed by more than 16ms.
Set up supervisor stack base and size for the initial thread during
kernel boot (otherwise any exceptions in this thread kill the system
immediately).
06-10-00: Removed Asic::TickPeriodNs() function. Added Asic::MsTickPeriod() to
return the period of the millisecond tick in microseconds. This will
always be 1000 except on pathological hardware.
Modified tick timer code to cope with 'millisecond' timers with
tick period other than 1ms.
Added functions Kern::TickPeriod() to return the system tick period
(always 15625us at the moment), Epoc::MsTickPeriod() to return the
period of the millisecond tick and Epoc::MsTimerTicks(TInt) to
convert a time in milliseconds to millisecond timer ticks, rounding
up.
Fixed bug in RAM drive initialisation. Max size of chunk should be
set to PP::RamDriveMaxSize rather than to MaxFreeRam to cope with
non-MMU builds.
--------------------------------------------------------------------------------
Revision 036
20-06-00: Bug fix to DProcess::Rename and DThread::Rename. If new and old
names were identical they would return KErrAlreadyExists. We now
check for this case explicitly and return KErrNone.
21-06-00: Fixed bugs in Brutus digitiser driver:
1. Every other pen move event was to (0,0)
2. Added debounce on pen up
Fixed bug in Brutus bootstrap - only the first 8Mb of the ROM image
was being mapped in.
22-06-00: Further tweaks to Brutus digitiser:-
1. Increased inter-sample time from 1ms to 3ms.
2. Reduced inter-group time from 16ms to 3ms.
3. Disregard 2 samples on pen down/pen up instead of 1.
Miscellaneous makefile changes to enable boot loader to build.
30-06-00: Removed series5-style one-pixel-at-a-time moving from Brutus
digitiser driver.
06-07-00: Changed the way tick-based timers are implemented. There is no
longer a separate tick interrupt - the millisecond timer is used
to generate the intervals between ticks. Whenever the millisecond
timer expires, it is requeued for a time corresponding to the next
tick timer on the list. The rounding error is also accumulated so
that an average tick period of 1/64s is obtained.
The 'RTC' is maintained by accumulating ticks. When the time is
requested, the software-maintained time is returned. A tracking
system will be implemented to keep the software time in sync with
the hardware RTC.
TTickLink callback functions now only take a single TAny* parameter;
the 'delay' parameter has been abandoned.
Changed CL7211 and Series5MX keyboard drivers to use the millisecond
timer for polling the keyboard instead of the tick timer.
Power tick removed from bpower.cpp - only second tick still remains.
Another way will be needed to accumulate battery consumption.
Fixed bug in SDeltaQue::RemoveFirst() - forgot to adjust next queue
entry if the element removed had a nonzero delta.
07-07-00: Increased the number of thread priorities from 32 to 64.
Changed the interpretation of the iThreadPriority field in DThread;
values from 0-63 now represent absolute priorities and values from
-8 to -1 represent process-relative priorities.
Thread absolute priorities are still the same apart from DfcThread1
which has been elevated to 48 and the threads used in test T_LAT2
which now have priorities 62 and 63.
TPriListBase now has two words of bit mask instead of one.
Turned off timeslicing for null thread.
When a thread is killed externally, its priority is now set to the
same level as the kernel server. This ensures it can run and exit
and stops low priority threads hanging around forever because they
can't get a chance to run.
Time spent in the scheduler now counts against the current thread's
time slice. This is to prevent threads which do nothing but signal
other threads from effectively stretching their timeslice by a huge
amount.
28-07-00: Made the 1ms tick on SA1100 more accurate by waiting either 3686 or
3687 ticks such that the average period is exactly 1ms.
Added test programs T_TICK and T_TOCK to test the new timer code.
Removed EUSER.LIB from .MMP files for all test device drivers.
--------------------------------------------------------------------------------
Revision 035
16-06-00: Broke the dependence of the kernel and drivers on EUSER.DLL. Kernel
components no longer link to EUSER.DLL. Those parts of EUSER which
are required by the kernel and/or device drivers have been copied
into the kernel and are exported from the kernel. These are:
GCC helper functions memcpy, memset, 32 and 64 bit integer division.
Descriptors (not all functions available in the kernel).
RArray<> classes (no sorting).
RHeap, modified to present an RAllocatorK interface.
DBase (modified CBase).
TUnicode class (but not collation).
The kernel still needs to link to EUSER indirectly in order to call
User::StartThread() and User::HandleException() and in order to get
pointers to the unicode data tables, which are not duplicated. This
linkage occurs via a stub DLL (USERSTUB.DLL). A standalone kernel
can also be produced by using STANDALONE.DLL instead.
Note that kernel components should now use:
memcpy()/memset() instead of Mem::Copy(), Mem::Fill()
wordmove() instead of Mem::Move()
Int64 (typedef to long long) instead of TInt64
DBase instead of CBase
Kern::Alloc(), Kern::Free(), Kern::ReAlloc() instead of the
usual User::XX() functions.
TInt instead of TTimeIntervalMicroSeconds32/TTimeIntervalSeconds
TTimeK (=Int64 =long long) instead of TTime
Int64 instead of TTimeIntervalMicroSeconds
HBuf (derived from TDes) instead of HBufC - no Des() function.
Device drivers (LDD/PDD) use EDEV.LIB instead of EDLL.LIB to avoid
linking to UserSvr::DllTls() etc.
The user-side include files have been rearranged as well. E32STD.H
has been split into three files:
E32CONST.H - constants and typedefs
E32CMN.H - classes used in both the kernel and user code.
E32STD.H - classes used only in user code.
E32SVR.H has been split into the following:
D32LOCD.H - RLocalDrive/TLocalDrive stuff
E32DEBUG.H - RDebug stuff
E32EVENT.H - TRawEvent and related things
E32KTRAN.H - Keyboard translation stuff
E32LDR.H - TLoaderInfo
E32LMSG.H - TLocaleMessage
E32NOTIF.H - Notifier stuff
In SA1100 bootstrap use top bit of PC instead of DRAM HOLD bit to
determine if we are running from RAM.
Bug fix to brutus variant - CS3 register wait states were not being
initialised.
Added non-MMU SA1100/Brutus build (SISA).
Removed the CL7111, Series5 and RackD directories and replaced them
with a port to the CL7211 evaluation board. /cl7211 contains the
ASSP (extended from the original /cl7111) and /cl7211eval the
variant parts. The digitiser driver has not yet been ported and the
sound driver is untested. The CL7211 boots at either 18.432MHz or
73.728MHz depending on the state of the EXTPWR switch (off->18.432,
on->73.728); this is because the CL6700 PC card controller chip only
works at 18.432MHz.
Moved common power management code into \e32\drivers\power - file
binpower.cpp contains the code required to implement a binary power
model (i.e. Series 5 style).
Moved common PC card code into \e32\drivers\pbus\pccard\epoc. This
basically contains the old DArmPlatPccdChunk, DArmPlatPccdSocket,
DArmPlatPccdVcc, DArmPlatPccdMediaChange code. Each of these classes
can be replaced separately by the variant.
This and the preceding change were done to remove dependencies of
one variant on another to make it easier to distribute source code -
each variant can be distributed separately.
Modification made to ECOMM.LDD to reduce time spent with interrupts
disabled while scanning the RX buffer at the beginning of a read
request.
Fix to ATA media driver - the not busy timeout was being erroneously
cancelled after calling CmdDfc(). Brutus somehow seems to miss some
CF card interrupts (don't yet know why) so this was causing the
machine to lock up during CF card accesses.
__CHECK_THREAD_STATE macros removed from US_HEAP.CPP now that the
kernel heap is separate.
ARM3 versions of TInt64 and TRealX multiply functions have been
removed - only the ARM4 versions are now present.
Added CF-card bootloader for Brutus, in \bootldr\... - this uses the
SISA build in standalone mode so it can fit in the 256K Brutus boot
ROMs.
Added %lx option to Kern::Format to print 64-bit integers in hex.
Moved the starting of the file server into an extension (EXSTART).
Removed machine password stuff - do we really want CSecurityBase in
the kernel??
On cold boot we now set the system time to the ROM image timestamp
to avoid messing about with TDateTime conversions.
Bug fix to read version of MM::CurrentAddress() - the optimisation
that avoided lookup if the process concerned was TheCurrentVMProcess
has been removed. Under the new scheduling scheme where preemption
can occur after each chunk is moved, TheCurrentVMProcess is not
guaranteed to have all its chunks at their run addresses.
Fix to \sa1100\interrupts.cpp - Interrupt::Clear() now clears the
interrupt in the PortEdgeDetected register if it is caused by a GPIO
line. This prevents the machine spinning while accessing CF cards
due to uncleared card interrupts.
Change to all UART PDDs - EnableTransmit() does not fill the TX FIFO
but merely enables the TX interrupt. The interrupt will occur
immediately and fill the TX FIFO. This prevents problems caused by
code being called in both an interrupt and non-interrupt context;
in particular TDfc::Add() will not do the right thing unless called
in an ISR or with the kernel locked.
--------------------------------------------------------------------------------
Revision 034
25-05-00: Synchronised all user APIs with v6.0. User-side v6.0 changes all
implemented, but not all kernel and driver changes done.
--------------------------------------------------------------------------------
Revision 033b
03-05-00: Moved bootstrap code from \bootstrap directory into the \variant
directories for easier distribution.
Added bootrom.mke to each variant to build the bootstrap as part of
the variant.
Moved shared files from series5 to series5mx1.
Added new perl script configure.pl to build a specified set of
variants/tests/add-ons from scratch. This uses *.bld files in each
component to describe the genbuild options required to build that
component.
Added deffile emptyu.def to \e32\bmarm for use by extensions with
no exports. Removed __DummyExport() functions from such extensions.
--------------------------------------------------------------------------------
Revision 033a
25-04-00: Moved the functions K::RunUserThread() and RUserHeap::Create() from
EKERN into EUSER - they now become User::RunUserThread() and
UserHeap::CreateThreadHeap() respectively.
Moved the definition of SThreadCreateInfo into u32std.h to accompany
this change.
Moved the following functions from KExec to Kern and made them
exports to allow for use in RTOS personality layers:
Kern::ThreadResume(DThread&)
Kern::MutexWait(DMutex&)
Kern::MutexSignal(DMutex&)
Kern::MutexCreate(DMutex*&, const TDesC&)
Kern::ThreadCreate(SNewThreadInfo&)
Moved SNewThreadInfo and TThreadType into kernel.h to match this.
Removed class KExec and class KExecHandler altogether.
Made the following functions exports from the kernel to allow for
use in RTOS personality layers:
DPlatThread::CancelTimer()
DPlatThread::CheckSuspendThenReady()
DPlatThread::Ready()
DPlatThread::ReleaseWait(TInt)
DPlatThread::Wait(TInt, TAny*, TUint32)
all TPlatRequestSemaphore functions
Added an additional UnknownStateHandler callback ELeaveCS. This is
invoked when a thread leaves its critical section with
iCsFunction < -1. This is for use by RTOS personality layers to do
thread termination by the back door, allowing reuse of the thread
control block (DPlatThread).
Modified the extension entry point x_entry.cpp so that the E32Dll()
function is called if the parameter is <0 rather than just the two
values KExtensionInit0 and KExtensionInit1. This allows other values
to be used for access to RTOS applications.
Made test.oby include test.iby so that SAWD16 builds work.
Added first cut Nucleus personality layer in \nucleus directory.
--------------------------------------------------------------------------------
Revision 033
18-04-00: Added class SDblQue to give cheap queueing operations (all inlines,
no DLL calls). Changed all instances of TDblQue<> and TPriQue<> in
the kernel and drivers to use SDblQue instead.
Rewrote the millisecond timer. The new version uses 32 queues for
timers which expire in the next 32ms (as before), but now uses a
holding queue and an ordered queue. Timers expiring after 32ms are
first placed on the holding queue. The timer thread (DfcThread1)
then sorts them and places them on the ordered queue. When the
expiry time of a timer on the ordered queue approaches, it is
transferred to one of the 32 'final' queues for completion. This
new implementation allows a quick determination of the time before
the next timer expires, which will allow the millisecond tick to be
temporarily disabled to save power while the machine is idle.
Added test program T_MSTIM and device driver D_MSTIM to test the new
millisecond timer implementation.
Modified memory access times in Brutus bootstrap to 9 cycles random,
6 cycles sequential, data latch delay 1, RAS precharge 4, RAS low
during CBR refresh 5. Also modified bootstrap to use cache line
aligned code to set the RAM config and the clock frequency.
Added test program T_MEM to stress test RAM.
--------------------------------------------------------------------------------
Revision 032
07-04-00: Upgraded to V6.0 build tools (e32tools and e32toolp).
Changed MMP files to use SOURCEPATH instead of PROJECT/SUBPROJECT.
Removed group directories from variants - build files are now in
the \variant directory instead of \variant\group.
Bug fixes:
plat_priv.h - TThreadList had 31 extra SDblQueLink's instead of
SDblQueLink*'s, which wasted 124 bytes of RAM per list.
pmstimer.cpp - Forgot to reenable interrupts in Again().
pprocess.cpp - Wait on process lock before checking if process
fully loaded in DPlatProcess::Die().
cutils.cpp - A::StartCrashDebugger() was not storing mode_irq
registers correctly.
object.cpp - Memory leak in DObjectIx destructor - list of
objects was not deleted if iCount=0.
--------------------------------------------------------------------------------
Revision 031a
27-03-00: Changed the implementation of the priority lists used for mutex and
semaphore wait queues, for the scheduler's ready list and for DFCs.
We still have 32 doubly-linked lists, but the lists are circular
with no head link. Instead there are 32 pointers, each of which
points to the first item at the relevant priority. The pointers are
NULL if there are no items at that priority. This saves 128 bytes
on each 32-priority list (one per thread, one per mutex, one per
semaphore, maybe 20K on a typical EPOC system).
Added EPOCONLY option to GENBUILD.PL and DOIT.CMD to build all base
components (E32/ASSP/VARIANT/F32/BOOTSTRAP).
--------------------------------------------------------------------------------
Revision 031
15-03-00: Changed the way thread exit and thread suspend work. The thread
critical section mutexes have been replaced with integers iCsCount
and iCsFunction. If an attempt is made to suspend or kill a thread
while iCsCount>0, the action is not performed immediately; instead
iCsFunction is modified to reflect the required action (+n means n
suspensions are pending, -1 means an exit is pending). The thread
then performs the required action itself when the critical section
ends (iCsCount becomes zero). If iCsCount=0 initially then a suspend
operation is performed directly, but a kill operation is still done
indirectly by modifying the saved return address on the target
thread's supervisor stack so that the thread will exit next time it
runs. Thus thread death is now always initiated by the dying thread.
In neither case is the originating thread blocked waiting for the
target thread to leave the critical section or to exit. Thus
the semantics of RThread::Suspend() and RThread::Kill() are slightly
modified in that they may return before the operations have been
performed. However it is still guaranteed that the target thread
will not execute any more user-side code after these functions have
returned. This method has the advantage that a real-time thread can
suspend/kill another thread without blocking for an indefinitely
long time. Another advantage is a considerable saving in RAM due to
the removal of the critical section mutexes (320 bytes per thread).
A thread now exits by setting its state to EDead and then queueing
a DFC with the kernel server to clean up the dead thread. Thread
death/suspension no longer involves the sending of synchronous
kernel-side messages.
Modified the structure of DTimer so that instead of having three
separate timers (TTickLink, TSecondLink and TMilliSecondCallBack),
only one of which can be in use at any one time, it has effectively
a union of these three (class TTimer). This was done to save RAM.
More RAM is saved by using only a TTimer for a thread's timer rather
than a DTimer.
Added some facilities for RTOS personality layers:
1. Added a new thread type EThreadMinimalSupervisor. This has no
handles array and is not added to the K::Threads container.
It may be created in statically allocated memory and may use
a statically allocated supervisor stack. There are still issues
with cleanup of these, however (attempts could be made to free
memory not allocated on the kernel heap).
2. Added functions DPlatThread::Wait(), DPlatThread::ForceResume(),
DPlatThread::Ready(), DPlatThread::StartWaitTimeout() and
DPlatThread::ReleaseWait() to facilitate the implementation of
new synchronisation/communication objects such as queues and
event flags and the implementation of timed waits.
3. Added unknown state handlers to threads. If an operation such
as suspend, resume, release wait, change priority is attempted
on a thread which is in a state not known to the EPOC kernel
a callout will be made to the unknown state handler. This would
usually fault the kernel, but threads created by a personality
layer could use this to process extra thread states such as
'waiting on queue' or 'waiting on event flag'.
4. Changed thread creation to only wait on the process lock mutex
while adding the new thread to the process thread list, rather
than throughout the create operation. This required changes
to AllocateUserStack(), FreeUserStack(), SetupUserStack() to
cope with cases where the process data/bss/stack chunk is freed
during thread creation. This was done to make creation of
EThreadMinimalSupervisor threads a real-time service.
Added new test programs T_PROC3 and T_PROC4 to test process
death during thread creation.
Changed Brutus bootstrap to link at 0xC8000000 instead of 0xD0000000
in order to work with the 12Mb reprob bootloader.
Fixed bug in SAWD bootstrap - redundant LS condition stopped the
system booting unless bootstrap tracing was enabled.
Use unnamed threads in T_SVR3, T_SVR6.
--------------------------------------------------------------------------------
Revision 030
03-03-00: Added 16-bit RAM bootstrap for MAWD and SAWD builds to enable tests
on a system with 16 bit RAM and no MMU/cache.
Added Brutus device drivers for power management, serial comms (one
common PDD EUART.PDD for serial ports 1, 2 (SIR) and 3), digitiser,
PC card and local media system including media drivers.
Modified Brutus keyboard and LCD drivers to use power management.
Changed Epoc::PollingWait() to take a context pointer which is then
passed to the polling function.
Changed power model shared power API. The functions now power up or
down a single shared power input rather than a set of them. Added
default implementation (no shared power inputs).
Added function Epoc::LinearToPhysical() to convert a linear to a
physical address.
Removed kernel lock from DPBusPsuBase::SetState() - it is only ever
called by the socket thread.
TDes16::PtrZ() bug fix.
Modified window server not to crash if an infoprint or notifier is
requested which is longer than the screen width.
When a DLL is unloaded any Dll::GlobalAlloc() belonging to it is
now removed.
Added iBusy flag to TDfcQue. This is set just before processing a
DFC and cleared just before waiting on the thread semaphore. The
TDfc::Enque() function now only signals the thread semaphore if this
flag is clear rather than if the queue is empty. This prevents the
buildup of unnecessary semaphore signals if a DFC is queued while
another is being processed.
Unlock the kernel in Exc::Dispatch() before printing the context of
the thread which took the exception. This is so that the E32 tests
may be run with T_LAT2 and meaningful latency measurements taken.
Modified T_TERM to work on Brutus (screen size) and on SAWD (memory
allocation).
Added calibration function to CPUMETER.
Modified T_WWINS to work with screens <50 chars wide (eg Brutus).
Assembler coded most TSa1100:: functions and the tick/millisecond
timer interrupt handlers in SA1100. Added dispatcher for shared GPIO
11-27 interrupt line.
--------------------------------------------------------------------------------
Revision 029
19-02-00: Split platform and CPU layers into memory model dependent and
non-memory model dependent bits. Only the latter are now in the
e32\kernel\epoc and e32\kernel\epoc\arm directories. The rest are
in e32\memmodel\MMNAME and e32\memmodel\MMNAME\arm where MMNAME is
the name of the memory model. Include files platform.h, plat_priv.h
and arm.h have also been split. These now contain only non-memory
model specific stuff. The rest is in
e32\include\memmodel\MMNAME\memmodel.h and
e32\include\memmodel\MMNAME\arm\arm_mem.h
The original memory model (moving RAM chunks on ARM-style MMU) is
in e32\memmodel\moving\...
Added non-MMU memory model in e32\memmodel\direct\... which builds
and works (not fully tested) on Series 5 MX.
Changed expansion algorithm for DObjectIx and DObjectCon. The arrays
now expand by 50%+granularity each time instead of just by a fixed
granularity.
--------------------------------------------------------------------------------
Revision 028
08-02-00: Reorganised source into a deep directory structure a la v6.0 kernel.
--------------------------------------------------------------------------------
Revision 027
16-11-99: Major change to context switching code. Chunks are now moved or have
permissions modified one at a time, with preemption points following
each chunk operation. Each process has a 'partial state change' flag
which is set if a reschedule to or from that process is aborted at a
preemption point, leaving the process with its chunks in different
states. This flag is used on subsequent reschedules to defeat the
normal optimisations, for example if new process = the current data
section process don't move it. The functions which move chunks and
change their permissions have been made state-aware and idempotent,
so that the final state of the chunk is always the requested state
regardless of the initial state. The code to add and remove chunks
from a process address space has also been modified so that only
one chunk is operated on between preemption points.
The SWI/IRQ/FIQ/ABT vector code has been rewritten to reduce the
time spent with interrupts disabled.
Function Plat::PreemptionPoint() has been added. This is similar to
Plat::AllowReschedule(), but returns a boolean value of TRUE if a
reschedule occurred and FALSE if it did not.
Reduced the block size for inter-process data transfer from 2K to
512 bytes. Function Plat::PreemptionPoint() is called after each
block is copied; if no reschedule occurred, the copy can simply
proceed with no need to look up the remote address again since it
cannot have changed. This results in a considerable speed increase.
Moved assembler coded IPC stuff from KC_SCHED.CPP into a new file
KC_MES.CPP.
Bug fix to DPlatSemaphore and DPlatMutex destructors - kernel is
locked before calling Reset().
Rationalised inter-process data transfer mechanisms. All transfers
now use DThread:: functions Read(), Write(), FastRead() or
FastWrite(). All these are called with the kernel locked. The first
two allow any length of data to be transferred and also allow
remote descriptors to be used, but preemption can occur during the
transfer. The FastRead() and FastWrite() functions allow up to 128
bytes to be transferred and no preemption is allowed. These calls
encapsulate the process memory model used (ie the fact that chunks
belonging to non-running user processes exist in the home section).
The CurrentAddress() functions are now protected non-virtual members
of DPlatThread, so are not accessible by most code. The only
code which still contains implicit knowledge of the memory model is
the machine-coded DThread::RequestComplete and DServer::Accept code.
Added skeleton SA1100/Brutus port. Modified MMU and scheduling code
to cope with the SA1100 write-back cache and Harvard architecture.
Drivers are scarce - only the LCD, keyboard and crash debugger have
been ported. ASSP/interrupt support is not up to final standard -
interrupts are simply prioritised in descending order of bit number
in the SA1100 status register and the TSa1100 class needs machine
coding.
Modified ExecHandler::LockedInc() and LockedDec() to use LDRT/STRT
instructions to access the counter if called from user mode.
Synchronised EUSER to ER5u.
Bug fix to MMU initialisation code - if RAM banks were not aligned
to the bank size, the wrong AND and EOR masks could be produced,
resulting in memory leaks.
--------------------------------------------------------------------------------
Revision 026f
28-08-99: Changes to MMP files to work with E32TOOLP 127 (ABLD etc.).
New-look ROM.BAT with -i and -n options and new-style ROM.CFG file.
Added very early debug mode - generates debug output from exceptions
in global constructors or other crashes before normal debug output
is available. Only works on Snowdrop.
Machine coded 16-bit descriptors.
--------------------------------------------------------------------------------
Revision 026e
Zero .bss section when loading ROM resident device drivers with a
non-empty .bss section.
Changes to ROM.BAT for SINGLE builds.
Use 'fixed' in .IBY/.OBY files again - needs E32TOOLSv124A.
--------------------------------------------------------------------------------
Revision 026d
More build tool changes:
Split BLD.INF into BLD.INF and GENERIC.INF.
Changed __THUMB__ macro to __MARM_THUMB__.
Added ROMTARGET statements to MMP files for automatic IBY file
generation.
Modified ExecHandler::CallSupervisorFunction to cope with THUMB
code being used in the function. This is to allow F32 to be
built for THUMB.
New system for building test ROMs.
Store panic code when a system thread panics.
Bug fix to power model to make switch off work when no absolute
timers are pending.
--------------------------------------------------------------------------------
Revision 026c
Added extra RLocalDrive::Format() function to format a specified
part of the media.
Fixed more warnings generated by new GCC.
Added iTimerExpired flag which is set when an absolute timer expires
so that a switch-off currently in progress can be aborted.
Added extra function DPowerModel::ClearTimerExpired() to clear this
flag.
DPowerModel::SuspendTimers() now returns one of three values EEmpty,
EPending or EExpired to indicate whether the absolute timer queue is
empty or non-empty and whether an absolute timer has expired during
the switch off process.
Modified power manager to abort the switch off process if an
absolute timer expires during the process or if one is due within
2 seconds of the switch off time. When switching on due to a timer,
switch on 4 seconds before timer expiry is due.
Define __JUMP, __POPRET macros when compiling for THUMB.
Added __SWITCH_TO_ARM macro to switch to ARM mode at the beginning
of an assembler function (for use in test code).
Modified the kernel to support user threads executing in THUMB mode.
Added thumb indirect call helpers to UC_EXE.CPP and UP_DLL.CPP.
--------------------------------------------------------------------------------
Revision 026b
Source renamed for consistency with ER5u. (UCDT->USRC etc.)
DEF files frozen to work with new build system.
Added BLD.INF to work with new build system.
Various MMP file changes for new build system.
Synchronised with E32 188.
Changes to suppress warnings from new GCC.
Changed EUSER machine code functions to use BX for returns and
indirect function calls.
--------------------------------------------------------------------------------
Revision 026a
Changes to make unicode build work:
anInfo parameters to device drivers are TDesC8 instead of TDesC;
Some TDes8's become TDes and vice-versa;
Added unicode UIDs;
Added ReadClient and WriteClient functions to DLogicalChannel
and TMessage to handle 16-bit descriptors;
Removed UIDs from ROM.OBY files;
Don't put TLoaderInfo on supervisor stacks (it's too big);
Return error code from UserSvr::LibraryLoaded().
Display drivers mask the top 8 bits from 16-bit characters.
--------------------------------------------------------------------------------
Revision 026
14-06-99: Added a dedicated synchronous RMessageK slot to each thread. This
ensures that a thread can always send a synchronous message without
risking OOM failure.
Reintroduced fixed message pool capability to sessions. A session
may now be created either with a fixed size pool of asynchronous
message slots using RSessionBase::CreateFixedPoolSession() or
may be created with dynamic allocation of asynchronous message slots
using RSessionBase::CreateSession(). This is intended to support
message passing between threads with a real-time requirement.
Added RSessionBase::Attach() to explicitly create a share for the
current thread on a multithreaded session. This allows the thread
to handle potential OOM errors in advance before actually starting
on work which requires the session to be operational.
Added C++ versions of ExecHandlers PushTrapFrame, PopTrapFrame,
ActiveScheduler(), SetActiveScheduler(), TrapHandler() and
SetTrapHandler().
Fixed problem with discontiguous memory dumps using the crash
debugger.
--------------------------------------------------------------------------------
Revision 025i
23-05-99: Added hooks to the kernel to allow the crash debugger to catch
exceptions and kernel faults.
Separated crash debugger into 3 parts (independent, CPU-dependent
and ASIC/variant dependent). Added more features (register dump,
exception handling, more comprehensive DObject dump, memory dump of
discontiguous regions). Crash debugger is now an extension which
hooks into the kernel at boot time, rather than being part of the
kernel or variant DLL.
Added multithreaded session support. A session is created in single
threaded mode and a call to RSessionBase::MakeShareable() mutates it
into multithreaded configuration and makes the client handle process
relative. The original client is given a share immediately. Other
threads in the same process acquire shares when they first attempt
a message send on the session.
Dropped the timer period on MEASURE_LATENCY builds from 2ms to 1ms
on Windermere.
Applied the Windermere DRAM refresh fix to TWind::SetStandby().
Bug fix to DPlatProcess::AddChunk() - the process chunk list was
being updated with the kernel unlocked.
--------------------------------------------------------------------------------
Revision 025h
07-04-99: Added dynamic message allocation for sessions. Free messages are
stored on a singly linked list with K::NextMessage pointing to the
first free message. A new TDblQueLink field iSessionLink has been
added to RMessageK - this serves the twin purpose of linking free
messages onto the free list and linking messages in use to the
session which originated the message. The latter is necessary to
allow accepted messages to be freed when a session (or the server)
is closed.
Sessions no longer have a specific pool of message slots - they have
a single reserved disconnect slot and a doubly-linked list of all
messages in use by that session. A limit of 256 messages per session
is imposed to prevent a rogue program from gobbling all the system
RAM by repeatedly sending messages.
The system message pool grows whenever a thread attempts to send a
message on a session and none are free. The K::Sessions mutex is
used to prevent multiple threads from growing the message pool at
the same time. The system message pool is never shrunk.
Added a new message state COMPLETED. A message enters this state if
the server completes the message after the session has been closed
by the client. This removes the need for the server to dequeue the
message from the session while the client is iterating through the
list of messages on the session and thus removes the need for mutex
protection on this list. The session also has a new flag iClosing
which is set when the client closes the session. COMPLETED messages
will be dequeued from the session and returned to the free pool when
final session cleanup occurs (i.e. when the server completes the
disconnect message or terminates).
Added DThread::iTempObj to allow a thread to open an object with the
kernel locked and then wait on a mutex. If the thread dies while
waiting, iTempObj will be closed by the kernel server.
--------------------------------------------------------------------------------
Revision 025g
03-04-99: Added KBAWD16 directory to boot on Snowdrop with RAM in 16-bit mode.
Ran benchmark tests in both 32 and 16 bit mode.
--------------------------------------------------------------------------------
Revision 025f
26-03-99: Changed KMaxMemCopyInOneGo into a variable K::MaxMemCopyInOneGo
which is initialised in ImpMmu::Init1() using an ASIC/Variant call.
Added IPC stress test program \E32TEST\MISC\T_SVR3.CPP to test
message passing with clients and servers exiting at random times.
27-03-99: Reviewed all message passing code in light of problems observed
running T_SVR3.EXE. Several changes made to ensure that the code
operates correctly when the threads involved exit or the server is
destroyed at inopportune moments. Mutex ordering changed - the
K::Servers container mutex now comes before DObjectIx::HandleMutex
since this mutex is now held during session creation while the
client thread handle is being created. CServer::Connect() now uses
Exec::ThreadRead8 instead of RMessage::ReadL() to read the version
from the client since the latter would leave and cause the Error()
function on CActiveScheduler to be called if the client exited
before the server processed the connect message. This could then
cause the server to panic.
29-03-99: Executive functions Exec::ServerCreate(), Exec::SessionCreate(),
Exec::SetSessionPtr() and Exec::CompleteDisconnect() have been made
UNPROTECTED instead of SLOW.
The kernel now validates RMessageK pointers passed in by user code.
The functions involved are CompleteDisconnect, MessageComplete and
and SetSessionPtr. Validation is done by first checking the pointer
lies within the kernel heap, then checking that the message state
is EAccepted and that the message pointer matches the value passed
in. The value of RMessageK::EAccepted has been changed from 2 to the
more unlikely value 0xbfffffc5 (this is an ARM-friendly value).
Changed iSessionPtr in kernel-side RMessageK to point to DSession
not CSession. This means that it is no longer necessary to pass out
the DSession pointer on a session create. Each RMessageK is set up
with the DSession pointer during session creation. DServer::Accept()
changes this into the CSession pointer - stored in the DSession by
SetSessionPtr() - while copying the message across. Eliminated
function call RServer::SetSessionPtr() and replaced it with
Exec::SetSessionPtr() since the server is irrelevant to this.
Assembler coded Exec::MessageComplete() - this doesn't need to find
the client by looking up the handle any more since it now has the
DSession pointer available.
Exec::DuplicateHandle() now updates the handle before releasing the
thread's critical section to prevent thread heaps being orphaned if
the thread is killed during heap creation.
--------------------------------------------------------------------------------
Revision 025e
20-03-99: Removed redundant constructors and destructors from the kernel.
TDfc now has only 2 constructors - the 4 parameter one and one which
sets iDfcQ to NULL.
Modified all DFC constructors which set the DFC queue to NULL to use
the 3 parameter constructor.
Removed redundant iObjId member from DObject to save RAM.
Removed DPlatRequestSemaphore class. Thread request semaphores are
now TPlatRequestSemaphore objects embedded in the DPlatThread. They
do not appear in the K::Semaphores container and are not accessible
other than by executive calls which explicitly use them.
Reduced DObjectIx and DObjectCon granularities to 8 to save RAM.
Changed Match, Locate and FindF executive calls from SLOW to
UNPROTECTED.
23-03-99: Fixed problem with TEtna::ModifyUartControl8 and TEtna::SetUartBreak
functions.
--------------------------------------------------------------------------------
Revision 025d
17-03-99: Implemented password stuff. There is still a potential problem with
Exec::SetMachineConfiguration if the call is preempted and memory
is used before the password is recreated.
16-03-99: Modified ExecHandler::ThreadContext to truncate the returned data
to fit in whatever buffer the caller supplies.
Increased max user thread stack from 56K to 80K to accommodate the
ESTLIB Posix server thread, which uses a 64K stack.
Got Java running with Conifer 236 ROM.
13-03-99: Implemented DynamicCallList and LibraryCallList functions. Added
calls to DLL entry points. Test programs T_TDLL12, T_TSTART pass.
12-03-99: Implemented DLL static data. Test programs T_TLDD and T_TDLLA now
pass.
--------------------------------------------------------------------------------
Revision 025c
06-03-99: Replaced Plat::WaitOneMicrosecond() with a more general function
Plat::NanoWait() which waits for a specified time in nanoseconds.
Use this new function in ATA media driver.
Added function Kern::MachinePowerStatus() to return the current
power status - i.e. good if external power present, otherwise the
main battery status.
New Snowdrop current consumption figures.
Stopped backlight turning on if battery status is Replace.
Prevent writes to CF card if battery status is Replace.
Added Vpc voltage checking.
09-03-99: Reset2() is now not called on peripheral bus sockets when a power
down occurs, only when a media change occurs. This leaves the card
configurations intact. When the socket is next powered up, the
Restore() function is called to restore any active card configs.
--------------------------------------------------------------------------------
Revision 025b
28-02-99: New PBus/media system state machine, including postponement of power
down and media change for writes.
01-03-99: Implemented SetCurrentConsumption() for media drivers.
Added DPowerHandler::DeltaCurrentConsumption() function.
02-03-99: Timing measurements done for short reads.
Optimised local drive access when data source or destination is the
same thread as the DLocalDrive client. In this case, we don't bother
opening the thread again and we leave iSrcDestThread=NULL. Functions
ReadRemote() and WriteRemote() just call ReadClient() and
WriteClient() if iSrcDestThread is NULL.
Further optimisation by using Plat::SafeRead instead of ReadClient
to read the TLocalDriveMessageData from a client request.
Rewrote most TEtna functions in ARM assembler. Added new functions
TEtna::EnableWaitControl() and TEtna::DisableWaitControl() to
set up the ETNA wait state controller quickly - these each replace
3 separate TEtna calls.
05-03-99: Added iAdjusted flag to DLocalDrive. This is cleared for a new
request and set when CheckAndAdjustForPartition() is called. This
flag is used to prevent a deferred request from being adjusted more
than once - adjustment is only done if the flag is clear.
Fixed bugs in handling of requests by the local media subsystem and
ATA media driver when the client thread exits while the request is
still being processed or while the media is being mounted.
Fixed bug in TMessage::Cancel(). If a message was completed after
being cancelled this would cause a kernel fault. However this is a
valid thing to do if a thread exits while a device driver request is
still outstanding.
Modified ATA media driver to call ReleaseConfig() when it is closed.
Added test program T_ATADR3.EXE to stress the media subsystem and
ATA media driver with requests from multiple threads, with threads
which exit with requests outstanding and with media changes and
machine power downs during processing of requests.
--------------------------------------------------------------------------------
Revision 025a
26-02-99: Merged in changes to EUSER and F32 for ER5. EUSER is now up to E32
166 standard and F32 up to release 132 standard (apart from UID
changes - UIDs will need to be different for E32RT anyway).
Use P2 UK keyboard table from LOCE32_1 release 005 for Snowdrop
keyboard data.
--------------------------------------------------------------------------------
Revision 025
24-02-99: Modified Snowdrop digitiser driver to use DAdc::SetMinPriority() to
lock out battery readings rather than using a dummy ADC channel.
25-02-99: Boils.
--------------------------------------------------------------------------------
Revision 024g
20-02-99: Changes to SWI handling:
1. The call number is now checked to make sure it is in range.
2. Slow and Unprotected calls now save r4-r11 before calling
the kernel function and restore them afterwards.
Modified LookupKernHandle, DSession::Send and DServer::Receive to
take advantage of the saving of r4-r11 - they don't need to save
registers themselves.
DArmPlatThread::SetReturnValue() now places the value in the saved
R4 register - this is copied into r0 by Plat::LeaveCS() or
Plat::AllowReschedule() or the slow SWI postamble.
DArmPlatThread::CallUserFunction() modified to cope with the case
where a FIQ occurs immediately following execution of a SWI.
Fixed bug in scheduler. If a high priority moving process is being
scheduled and an interrupt occurs during the moving of the previous
data section process to the home section, the reschedule is aborted.
But if the thread readied by the interrupt has a lower priority than
the thread being scheduled, the reschedule is never completed and
the high priority user process' chunks are never mapped down.
Use new default calibration values in Snowdrop digitiser driver.
22-02-99: Implemented RThread::Context() to get the user-mode context of a
user thread.
23-02-99: Fixed bug whereby a closed DSession was dequeued from the DServer
twice - once when the client Close()d the session and again when the
server completed the disconnect.
Fixed bug in TMessage::Cancel() - iDfcQ was being referred to and
P::RemoveClient() being called even if the message was not currently
in use. Changed so that iDfcQ is set when the message is sent and is
set to NULL when the message is either completed or cancelled.
Do ASIC/Variant Init1() before getting startup reason - on Snowdrop
this is necessary for two shift keys reset to work (because Init1
determines whether the machine is running in professional mode).
--------------------------------------------------------------------------------
Revision 024f
Added DAdc::SetMinPriority() to enable lower-priority ADC channels
to be suspended for a while (on Snowdrop taking battery readings
leads to inaccurate digitiser readings.
Fixed bug in DChannelComm::ImpRequest - client data was being
accessed directly instead of using ReadClient or WriteClient.
Improved debugger to allow memory and container dumps to either
the screen or the serial port, with optional logging to a file.
Fixed problem with sound driver - synthesised sounds were stopped
when the last sample was placed into the sample buffer rather than
when the sample buffer has been completely emptied.
Added CBase::Delete() to delete a CBase-derived object.
Removed Exec::DriveXxx functions from EUSER.
Consolidated all chunk adjust operations (Adjust, AdjustDoubleEnded,
Commit, Allocate, Decommit) into one Exec function.
Moved some data from static storage to the kernel heap.
Removed TMessage::SendReceiveL() and TMessage::SendReceiveH().
Applied fix for Snowdrop cold-reset problem - still doesn't work
though.
Change permissions on virtual address 0 from RWNO to RORO.
Some ExecHandler consolidation to reduce ROM size.
Increased limit on a session's message slots from 16 to 20 to cope
with Web (WtlServer sessions request 20 message slots).
Fixed a bug in ATA driver - if a thread exited just before F32
made a request on its behalf, the card status would not be set back
to idle, rendering the device unusable until a remount occurs.
Comms/sound driver fix - only unbind interrupts in the destructor
if we successfully bound them.
Fixed bug in keyboard driver - if a dictaphone key caused the
machine to switch on, the keyboard driver would never acknowledge
the power manager power-up request.
--------------------------------------------------------------------------------
Revision 024e
Modified comms LDD - receive ISR can now accept a character count of
zero (occurs if only XON or XOFF received).
Generalised digitiser driver a bit - number of samples taken is now
variant-configurable, as is pen-move filtering. The driver can now
be built as a PDD for RAM-loading.
Added debug mode checking to ensure that kernel heap is only ever
accessed with the kernel unlocked and the current thread in a
critical section.
Exported TMessage::SendReceiveLocked().
Re-introduced TransmitIsr() function to comms LDD.
DPlatChunk::SetFixedAddress() now rounds the supplied size up to a
multiple of the page size.
Modified DPlatChunk::Reserve() to use the RAM allocator mutex so
that it can be used after booting.
Modified DPlatProcess::NewChunk() to reserve linear address space
for fixed chunks.
In DEBUG builds, DObjectIx and DObjectCon both use a granularity of
1 to aid kernel heap testing.
Fixed RHeap::Compress() bug.
Set case state to closed when machine comes out of standby to avoid
problems with incorrect state reporting.
Remove extraneous Plat::LeaveCS() in emergency power down handler.
Modified comms drivers to fill the TX FIFO in EnableTransmit().
Brought C++ comms code up to date.
Reduced power up/power down delay times in sound driver.
Fixed problem with clearing Snowdrop screen when coming out of
standby mode.
--------------------------------------------------------------------------------
Revision 024d
Added BITGDI-style video device driver for Windermere to enable full
EIKON-based Snowdrop images to be created.
Added media change notification to the local media device driver.
This uses a Request on the device driver. Also added a way to force
media change events (replacing UserPcCardCntrl::PowerDown()).
Moved EUSER up to E32 161 standard.
Moved F32 up to F32 127 standard - use F32_127A.ZIP with this.
Fixed bug with ATA driver power down.
Fixed bug in ATA driver - a format request was never completed due
to incorrect updating of the amount of media formatted.
Corrected power management code so that battery consumption is not
counted while external power is present.
Fixed 'switch off if no external power' mode - logic of test was
inverted so that switch off only occurred if external power was
present.
Check external power and case open/closed state when machine comes
out of standby.
Fixed problem with Windermere UART1 driver which caused UART2 lines
to be wrongly configured after UART1 driver is closed.
Changed ScreenInfo() function on Windermere port to return address
of bitmap in video RAM rather than of palette - this is to obtain
compatibility with ER5 release of BITGDI.
Fixed emergency power down problem with Snowdrop - the interrupt was
not being cleared after servicing.
Fixed problem with kernel tracing on Snowdrop - the UART was not
being reinitialised after coming out of standby.
Text window server modified in line with ER5.
--------------------------------------------------------------------------------
Revision 024b
Fixed bug where DLocalDrive was being dequeued twice as a result of
TLocalDrive::Disconnect being called.
Fixed bugs in local media state machine.
Corrected erroneous use of registers in Plat::LockedSetClear().
Modified media driver MEDATA.PDD so that card not busy interrupts
now always queue a DFC which then transfers the data thus reducing
interrupt latency. In addition, single sector reads have been made
asynchronous as well. The only synchronous reads remaining are the
preliminary reads for a non sector-aligned write.
Modified MEDATA not busy timeout. Every 30ms a DFC is run to check
for card not busy. If not busy, normal processing resumes. If card
is still busy after 67 checks, the operation is timed out.
Fixed ATA driver bug which caused incorrect data to be written to
last sector of a non sector-aligned write of more than 4K.
Fixed some bugs involving systems with more than one PC card socket.
Added power handling to EPBUS.
--------------------------------------------------------------------------------
Revision 024a
Added Windermere/Snowdrop B1 port. Macros are used for cache and TLB
flush instructions, defined differently for EIGER and Windermere.
Added Mmu::AllocPhysicalRam() function to allocate a block of RAM
contiguous in physical addresses. This is used to allocate the video
RAM in the Windermere port.
Added first cut peripheral bus/PC card/CF card support
Added local media subsystem using media drivers and accessed via
RLocalDrive class. The local media system is implemented as a device
driver. TLocalDrive is provided as a derived class from RLocalDrive.
Removed old implementation of RAM drive access functions from the
kernel and added IRAM media driver MEDINT.PDD. Exec::DriveXXX
functions now return KErrNotSupported or do nothing.
Added internal RAM drive interlock mutex and exported functions to
wait/signal it.
Added first cut ATA media driver MEDATA.PDD
Fixed battery monitoring bug - iAdjusted was not being initialised,
causing status updates to be missed.
Upgraded VA_ETNA.CPP in all variants to Rev 3 ETNA standard.
Modified comms driver EnableTransmit() function to enable interrupts
without filling transmit FIFO.
--------------------------------------------------------------------------------
Revision 024
14-12-98: Fixed a bug in Exec::ProcessSetOwner whereby a user thread might be
killed and leave an unclosed reference on a DProcess.
Implemented Exec::ThreadGetRamSizes.
Put screen variant stuff back into bootstrap and map 2 pages for HW
registers instead of 1 to cater for the CL-PS7111 chip (as used on
Gator).
--------------------------------------------------------------------------------
Revision 023a
09-12-98: Modified the memory mapping scheme. Thread supervisor stacks are now
allocated in a new disconnected SvStack chunk. One guard page is
placed before each supervisor stack to catch stack overflows. The
kernel heap (and the kernel server stack) are in chunk SvHeap.
User thread stacks are now allocated in the $DAT chunk of a process
after the static data. The $DAT chunk is now a disconnected chunk.
This will necessitate a change to ROMBUILD to cope with fixed
processes in ROM - the stack space for the process must be added to
the static data size to give the maximum size of the data chunk.
8K of guard space is placed between adjacent user thread stacks in
order to catch stack overflows.
User heaps are now always created by a user thread. The main thread
of a process creates its own heap when it begins execution in
function K::RunUserThread in the kernel. Subsequent threads can
either create new heaps or share a heap, as previously.
Removed specially-declared null thread stack - the null thread now
gets its stack the same way as any other kernel thread.
10-12-98: Moved version of E32TEST up to 006. Reintroduced kernel heap checks
into tests from which they had previously been removed (T_SVR2,
T_TLS, T_CHUNK, T_REG). Added kernel heap checking to T_PROC1.
Got T_CHUNK and T_THREAD working with full number of threads being
created (previously this didn't work due to each thread requiring
its own stack chunk).
11-12-98: Moved up to F32 124 and E32TOOLP 098.
Added 'magic' exception handling scheme. If a data-abort exception
occurs in mode_svc and the aborted instruction is one of a select
few 'magic' instructions, the exception handler simply returns to
the instruction following the aborted instruction with the ZERO flag
set and R12 containing the faulted data address. This avoids the
need for long-winded address validation for inter-process transfers.
The problem is that it is fairly difficult to determine the validity
of a range of addresses in a disconnected chunk - this would require
searching of the page bitmap; so instead we simply verify that the
address given is in the process address space and the offset in the
chunk is within the home region offset range - this guarantees we
cannot access another process' chunk by accident.
Added functions Plat::SafeRead() and Plat::SafeWrite() which make
use of this facility to provide exception-proof small-block data
transfers for kernel functions.
Modified DThread::RequestComplete and DServer::Accept to use the
'magic' exception handling facility.
Modified GetDesInfo(), GetDesLength() and GetDesMaxLength() to use
Plat::SafeRead().
12-12-98: Optimisations to DThread::RequestComplete, DServer::Accept (machine
code versions).
Added function DThread::AsyncClose(). This is called from
TMessage::Complete to close the message's reference on the thread.
If the access count drops to zero during this call, the thread
must have terminated with a kernel message outstanding. The dead
thread's kernel message is sent to the kernel server, but the
current thread does not wait for its completion. The kernel server
actually deletes the dead thread. This is done so that device driver
threads do not have to actually delete the thread, which may
involve waiting a long time for the kernel heap mutex.
Added test program T_PROT2 which tests protection of a new process
against scribbling over its chunks while it is being loaded.
Added function UserSvr::ExecuteInSupervisorMode() available only to
F32. Modified loader SF_LDR.CPP and SF_IMAGE.CPP to make use of this
call to run the functions which fix up images in supervisor mode.
This removes the need for the chunks of a new process or DLL to be
given user read/write permissions until they have been loaded.
Removed functions DPlatChunk::ApplyUserPermissions() and
DPlatChunk::SetFinalPagePermissions().
--------------------------------------------------------------------------------
Revision 023
03-12-98: Changed all instances of TName in the kernel to TKName which has max
length 64 characters. This is to guarantee that the full name of an
object can never exceed the 256 character limit of a TFullName.
Moved the kernel-generated panic numbers (TKernelPanic) into a
separate header file E32KPAN.H. This is included in e32test.h and
in uc_exec.cpp but not in all EUSER files. It is also included in
K32STD.H, and so in all kernel files.
Removed logical channel functions relating to slow open, which are
not required in E32RT.
04-12-98: Implemented Exec::ThreadSetInitialParameter. The initial parameter
is stored in a reserved word in the DThread and is read when the
thread first starts to run.
Implemented kernel heap checking in DEBUG builds. A special class
TKernelHeapWalk is used so that failures don't cause a kernel panic.
Modified Kern::SafeReAlloc so that in DEBUG builds it preserves the
nesting level of the cell being reallocated. This is done to prevent
reallocation from causing kernel heap checking to fail.
Fixed bug in svThreadKill which caused kernel fault if a thread
attempted to kill a protected thread.
Fixed memory leak in DThread::Create - the supervisor stack was
allocated and the pointer stored in a temporary variable for a bit
rather than in the iSupervisorStack member variable. This meant that
if the following memory allocation failed, the memory block which
was allocated for the stack was orphaned.
Added stub ExecHandler functions for CompressAllHeaps,
DllGlobalAlloc, PasswordSetEnabled, PasswordSet, ChangeLocale and
ResetMachine.
Implemented Exec::ChunkSetHeapInfo to record information about the
heap existing in a chunk so that it can be compressed. This function
also stores a pointer to the heap interlock mutex and increments the
mutex reference count. When the chunk is deleted the reference is
closed to balance this.
Fixed bug in LCD driver - contrast was not being correctly set when
the machine powered up.
Modified RHeap::Open so that it will refuse to modify a zero access
count.
Modified RHeap::Close so that if the access count falls to zero,
Exec::ChunkSetHeapInfo is called with KNoHeap so that the reference
to the heap mutex can be closed.
05-12-98: Implemented generic priority inheritance for TDfcQue. A Boolean
field iInherit has been added; if it is set TRUE, the DFC queue
thread will inherit the priority of any clients which send a kernel
message (TMessage) to it. The kernel server message queue sets this
field TRUE during initialisation (KP_INI.CPP).
Implemented Exec::CompressAllHeaps(). The compression is done by a
dedicated kernel-side compressor thread. This thread is activated
by kernel messages received from other threads, and it inherits the
priority of its clients (if higher than its default priority).
Heaps are only compressed if no thread currently holds the interlock
mutex - the compressor thread can never block on this mutex since
this could result in deadlocks.
Fixed an access-count imbalance in shared heap chunks. When a thread
is created with a new chunk heap, a handle is opened to the heap
chunk to enable the thread to initialise its heap when it starts
running. However the access count of the new heap chunk within the
process was not incremented. This eventually results in the chunk
being removed from the process address space while still in use by
a thread in the process which shares the original thread's heap.
The chunk's access count in the process is now incremented.
In __MEASURE_LATENCY__ builds, the maximum observed interrupt and
thread latencies are now recorded. T_LATNCY.CPP has been modified
to make this information available.
07-12-98: Bug fixes to sound driver:
Set the correct DFC queue for DLddSound::iEmergencyPowerDfc.
Set AlarmStackPtr to 0 when initialising an alarm.
08-12-98: Bug fix in kernel - TDfc::Cancel was using register r0 after it had
been overwritten.
Comms PDDs modified to use Plat::DisableIrqsToLevel1() instead of
disabling interrupts by hand - this is so that the kernel is locked
when IRQs are off.
--------------------------------------------------------------------------------
Revision 022f
26-11-98: Update battery insertion time when system time changes.
Fixed problem with estimate of total charge taken from the battery.
The power manager was using an invalid way of determining that the
CPU is idle. The TickInterrupt() function is now called with a TBool
indicating whether or not the CPU is idle.
27-11-98: Added exports and public header file to PR_MISC.CPP so that it may
be used by the sound driver to play the fallback alarm.
28-11-98: Added sound device driver - basically rewritten from scratch rather
than hacking the original sound driver, due to the excessive time
taken by the latter in ISRs. So far, no battery monitoring is done
by the sound driver; in addition, some machine coding of the ISR
and of the sinewave generator may be advantageous.
Modified comms device driver so that the PDD now determines which
DFC queue is used rather than the LDD. This is so that PC card
serial ports may use the PC card controller thread instead of the
usual DfcThread0.
29-12-98: DLogicalChannel::Complete() now tests that the request is pending
before completing it. It does nothing if the request is not pending.
Added extra functions to read and write remote thread memory space
without the need for descriptors:
TInt DThread::Read(const TAny*, TAny*, TInt)
TInt DThread::Write(TAny*, const TAny*, TInt, DThread*)
TInt DLogicalChannel::ReadClient(const TAny*, TAny*, TInt)
TInt DLogicalChannel::WriteClient(TAny*, const TAny*, TInt)
TInt TMessage::ReadClient(const TAny*, TAny*, TInt)
TInt TMessage::WriteClient(TAny*, const TAny*, TInt)
Changed TDfc::Enque() to TDfc::DoEnque() - this function expects the
kernel to be locked. Added TDfc::Enque() which locks and unlocks the
kernel itself.
01-12-98: Bug fixes to sound driver. It now passes T_SOUND with the exception
of tests which require User::FreeLogicalDevice (not yet implemented)
and which test that PreparePlay() and PrepareRecord() actually
allocate memory (which they now don't).
Fixed kernel bug which was failing to set the heap for a thread
created with a shared heap.
Made all kernel threads SYSTEM and PROTECTED.
--------------------------------------------------------------------------------
Revision 022e
20-11-98: Added power handling to VARMP2\VA_KEYB.CPP so that key-up events
may be delivered for keys which were down when power-down occurred.
21-11-98: Implemented MachineConfiguration() and SetMachineConfiguration()
functions. These currently assume that the super-page configuration
is small enough to be copied with the kernel locked (i.e. <=2K on
EIGER).
Implemented ModifyLedMask() in PR_POWER.CPP.
Wrote miscellaneous function extension (PR_MISC.CPP) to implement
the SoundHal group of HAL functions and to implement User::Beep()
and startup beeps.
Wrote ADC driver extension. D_ADC.CPP implements a generic ADC
controller with a queue of requests. PR_ADC.CPP implements hardware
specifics for the Protea ADC. ADC requests are prioritised, so that
e.g. digitiser readings can be guaranteed to occur before battery
readings. ADC requests can also consist of multiple ADC readings,
wait periods and a general preamble or postamble - e.g. to apply a
load to the backup battery or to drive the X or Y digitiser plates.
Fixed problem with K::SecondsFrom2000() so that it now works for
times before and after K::Year2000.
Removed functions SvSendReceive, SvSendReceiveCheck from UC_EXEC.CPP
23-11-98: Implemented monitoring of reference voltage and main battery in file
PR_BATT.CPP, using the ADC driver. Added and interface class
DBatteryMonitor by which the power manager code in PR_POWER.CPP
communicates with the battery monitoring code. Battery monitoring
is done as part of the power manager, in the extension POWER.DLL.
24-11-98: TMessage::Complete() now checks that the client thread has not died
before attempting to signal its request semaphore.
Added monitoring of the backup battery to PR_BATT.CPP, using a
somewhat simplified scheme compared to the old E32 code. The generic
periodically monitored channel abstraction TTimedAdcChannel is used
instead of a completely specialised class.
25-11-98: Implemented digitiser driver in 3 parts. D_XYIN.CPP contains generic
code for processing raw samples from the hardware - averaging,
discarding initial and final samples, filtering pen moves. It also
implements a state machine for pen-down/pen-move/pen-up. File
PR_XYIN.CPP implements calibration as used on the Series 5, which is
dependent on PR_MCONF.H. File VA_XYIN.CPP implements pen-up/pen-down
detection and raw sampling on the particular hardware, using the ADC
driver to do the sampling.
Note that pointer switch-on events and reading of calibration and
configuration parameters from EEPROM have not yet been implemented.
--------------------------------------------------------------------------------
Revision 022d
20-11-98: Implemented DPlatChunkHw to allow device drivers and extensions to
dynamically map hardware addresses into the memory map. For ARM a
simple queue of hardware chunks in decreasing order of linear
address is used to allocate linear addresses. This is OK for ARM,
since all HW chunks will have the same PDE. For other processors
a more complicated scheme may be needed - this can be implemented
by overriding some virtual functions.
Modified VA_ETNA.CPP and VA_LCD.CPP to map ETNA and the video RAM
using DPlatChunkHw.
Fixed error in VARMP2\VA_KEYB - the wrong variant header was being
included (v32armpd.h instead of v32armp2.h).
Changed executive calls ScreenInfo(), WsSwitchOnScreen(),
WsRegisterSwitchOnScreenHandling() and Beep() to be HalFunction
calls instead, which are handled by the appropriate extension rather
than by the kernel.
Extension VA_LCD.CPP has been modified to deal with the first three
of these functions, along with the rest of the DisplayHal group of
HAL functions.
--------------------------------------------------------------------------------
Revision 022c
7-11-98: TMessage::SendReceive now Open()s the client thread before sending
the message to ensure that it cannot be deleted while the message
is being processed. TMessage::Complete() closes the client thread.
TMessage::Cancel() closes it if the message is being held on a
queue.
11-11-98: Added power model to the kernel. File KS_POWER contains generic
code with hardware-specific derivations in VA_POWER. Only power
handler so far is for the LCD - device drivers not yet modified to
work with the new power model. UserHal::SwitchOff() now implemented
and test T_TIMER now passes.
Fixed bug in timer code which meant that the hardware RTC was not
being initialised with the system time on a cold start.
Implemented TTickQ::WakeUp() to reconcile the state of the second
queue after the system has been powered down.
Moved DebugInit() function entirely into the variant layer. The
flag indicating that the debug port is initialised has also been
moved. This is so that it can be reset when we power down.
Use a consistent size for the predefined stacks (null, irq, fiq,
exception); this size is defined in arm_kern.h.
Implemented a new type of DFC - the immediate DFC. These run as
soon as the kernel is unlocked - at the point where an ordinary DFC
would be transferred from the pending queue to its final queue. The
immediate DFC is used to implement emergency power down, to ensure
that devices are notified of the power-down before any threads can
run.
Increased the size of the null thread stack from 1K to 4K to allow
for the new immediate DFCs.
Changed HalEntryArray from an RArray<SHalEntry> to a SHalEntry<32>.
The RArray<> was not reentrant safe.
Added new Variant:: functions to turn display on and off, to turn
the backlight on and off and to turn all power supplies off.
Moved the generation of the switch on event from KP_INI.CPP into
the power model in VA_POWER.CPP.
12-11-98: Fixed some problems relating to emergency power down. This now
seems to work, although no device drivers are currently involved.
Modified Plat::DisableIrqsToLevel1() to also lock the kernel if it
is not already locked - this is necessary since otherwise a level 2
interrupt could cause a reschedule and the new thread could then
enable interrupts. The return value now has bit 31 set if the
kernel was locked. Plat::RestoreIrqs() checks this bit and unlocks
the kernel if it is set.
Modified the kernel server to Close() a thread which has exited or
which has been paniced by the kernel server. This is to balance the
Open() in the TMessage::SendReceive() call which initiated the
kernel server operation.
14-11-98: Modified keyboard driver to be an extension instead of an LDD. This
removes the need for the window server to load it.
Split out LCD power handling into a separate extension (VA_LCD.CPP)
from the power handling extension (PR_POWER.CPP + VA_POWER.CPP).
Restructured DLogicalChannel into two classes DLogicalChannel and
DPoweredLogicalChannel. The former contains no power handling
functions and may be implemented either with either direct executive
functions or with a DfcQue. The latter has power handling via a
DLogicalChannelPowerHandler, derived from DPowerHandler, and always
uses a DfcQue. Client messages received while the channel is powered
down or powering down will be deferred until the channel powers up
again.
Modified comms device driver to use DPoweredLogicalChannel and to
act correctly on power-up and power-down. Reinstated the ETNA UART
driver (VA_COM2) for rack D.
15-11-98: Fixed debug build crash due to missing __NAKED__ declaration on
TMilliSecondCallBack::Cancel().
16-11-98: Implemented power-related and LCD/backlight related UserHal::
functions in PR_POWER.CPP and VA_LCD.CPP respectively.
17-11-98: Got test programs T_POWR and T_SERIAL working. This required fixing
a timer bug relating to inconsistent rounding of TTime to the
nearest second when dealing with absolute timers. This is fixed by
adding a function K::SecondsFrom2000 which converts a TTime into
seconds from K::Year2000, always rounding down (rather than towards
zero).
T_SERIAL required a short pause (100ms) to be added just after
waking up when checking that RTS/DTR are preserved over power down.
This is due to the fact that when performing an operation on a
channel, it is guaranteed that your channel has powered up before
the operation is performed but it is not guaranteed that other
channels have powered up.
18-11-98: Fixed bug in KS_DEV which caused a crash if a logical channel create
failed part-way through.
Ran EIKON ROM - ER4 ROM 213 + E32RT + lexicon 040. Lexicon 041 in
the ROM appears not to work.
--------------------------------------------------------------------------------
Revision 022b
18-10-98: EXE code chunks are now fixed. Added extra parameter to functions
DThread::Write() to indicate thread which initiated the action -
this is either the current thread or the client thread for device
driver writes. This is to allow F32 to write to code chunks owned
by a process being loaded and to DLL code chunks, where the client
of F32 is the loader and the chunk being written to is not part of
F32's address space. Modified DThread::CurrentAddress(TAny*, TInt)
so that no exemption is made for F32.
The main thread of a newly-created process has the KThreadFlagMain
bit set immediately on creation of the thread instead of when
UserSvr::ProcessLoaded() is called. This is to ensure that if the
load fails, Exec::ProcessKill can delete the process successfully.
Added missing __NAKED__ declaration to TEiger::SetPalette().
23-10-98: Fixed two timer bugs - 2^32-1 microseconds was being incorrectly
handled due to signed arithmetic overflow, and added a check to
reject an attempt to start an absolute timer for a time <=now.
Implemented ProcessOwner() and ProcessSetOwner().
24-10-98: KBARMS5 bootstrap will now handle up to 4Mb of 'ROM' code.
26-10-98: Added stubs for unimplemented EXEC functions - DllGlobal*,
DllDataInfo, PasswordIsValid, GetLocaleCharSet. Also stubbed the
remaining EUSER functions which call SvSendReceive to return
KErrNotSupported. This enables the E32 tests to run and fail rather
than crashing the machine.
Brought EUSER and EWSRV/ECONS up to E32 156 level. Changed _LITERAL
declarations to _LIT in line with E32 156.
27-10-98: Moved over to latest E32TOOLP (096). Added unicode UIDs to all MMP
files.
--------------------------------------------------------------------------------
Revision 022a
14-10-98: Modified DThread::CurrentAddress to work with disconnected chunks.
The maximum size to test for must now be supplied. Made
DPlatProcess::LookupChunk pure virtual in DProcess so that KS code
can use it. Modified DThread::Write to work with disconnected
chunks.
--------------------------------------------------------------------------------
Revision 022
15-09-98: Implemented 'Double-Ended' and 'Disconnected' chunks:
Added function DPlatChunk::ExpandHomeRegion() which reallocates the
home region to accommodate a new committed block. The home region
size allocated is the minimum which will accommodate the new block.
The home region does not need to include the whole of the reserved
region - a new variable iHomeRegionOffset has been added. This is
the chunk offset represented by the start of the home region.
Renamed functions DPlatChunk::Commit() and DPlatChunk::Decommit()
to DoCommit() and DoDecommit() respectively. These allow committing
and decommitting of any part of a chunk.
Implemented DPlatChunk::AdjustDoubleEnded(). This differs from the
old E32 implementation in that it no longer guarantees to preserve
the chunk state under OOM conditions. Only the intersection of the
initial and final regions is guaranteed to be preserved.
Added functions RChunk::CreateDisconnectedx where x=Local/Global.
These create disconnected chunks, which allow any pattern of pages
to be committed rather than just a single interval.
Added functions RChunk::Commit(), RChunk::Allocate() and
RChunk::Decommit() for use with disconnected chunks. These commit
a specified interval, commit a specific size of block at an offset
determined by the OS and decommit a specified interval respectively.
Changes to DPlatThread::CurrentAddress() required to cope with
disconnected chunks have not yet been implemented.
--------------------------------------------------------------------------------
Revision 021l
11-09-98: Fixed bug in DPlatChunk::Decommit - the address was being passed
to RemovePde instead of the offset, resulting in the PDE not
being deallocated and the chunk's PDE info being incorrect.
--------------------------------------------------------------------------------
Revision 021k
10-09-98: Fixed problem in comms driver - when the transmitter was flow
controlled, continuous TX interrupts occurred. The TX interrupt
is now disabled when the transmitter is flow controlled.
--------------------------------------------------------------------------------
Revision 021j
09-09-98: Modified comms driver to avoid repeated calls to LDD functions. PDD
now reads from TX buffer directly and makes a single LDD call after
filling the TX FIFO. RX characters are stored in a buffer before
being passed to the LDD in one block. This reduces time spent in
interrupt (int latency with comms loopback down to 226us).
--------------------------------------------------------------------------------
Revision 021i
03-09-98: Implemented the ROM-shadowing MMU functions and ported test program
T_SHADOW.CPP and accompanying LDD D_SHADOW.LDD.
09-09-98: Machine coded most TEiger functions.
--------------------------------------------------------------------------------
Revision 021h
02-09-98: Added iPdeBitMap to DPlatChunk. For chunks with a max size of <=32
PDEs, this is simply a bit-mask showing which PDEs are present.
For chunks with more than 32 PDEs, it is a pointer to a bit map of
the appropriate number of words. Added functions MoveHomePdes(),
MoveCurrentPdes(), AddPde() and RemovePde() to set up this bitmap
and use it to determine the chunk's current PDE range.
Fixed a bug in TBitMapAllocator::NotFree() which caused incorrect
answers to be given in the case where a word boundary was not
crossed (the easy case!).
--------------------------------------------------------------------------------
Revision 021g
01-09-98: Reverted the SetPdeInfo() function to its old non-searching form.
Unfortunately this introduced a bug - while decommitting RAM, even
a standard E32 chunk may temporarily become 'gappy'; SetPdeInfo()
would not cope with this correctly.
--------------------------------------------------------------------------------
Revision 021f
01-09-98: Machine coded those Mmu and ImpMmu functions which run with the
kernel locked (PageTableId(), MapRamPages(), MapPhysicalPages(),
UnmapPages(), AssignPageTable(), UnassignPageTable()).
--------------------------------------------------------------------------------
Revision 021e
30-08-98: Rewrite of MMU code to reduce kernel-locked time. The functions of
allocation/deallocation and mapping/unmapping of pages have been
separated. The allocation and deallocation, which was the more time
consuming part, now runs with the kernel unlocked and the global
allocators protected by RamAllocatorMutex. The actual mapping and
unmapping of pages is still done with the kernel locked to prevent
collision with the scheduler.
Added new TBitMapAllocator class which is machine coded for speed.
It also remembers the last position it allocated to avoid repeated
searching over any completely full initial segment of the bitmap.
Extra functions have also been provided. AllocList() allocates a
list of positions more efficiently than repeated calls to Alloc().
AllocConsecutive() allocates consecutive positions. Both first fit
and best fit methods are supported. This is intended for use in an
AllocDmaPages() function (not yet written).
Modified the organisation of the RAM allocator. A separate bitmap
allocator (TBitMapAllocator) is now used for each physical RAM
segment. This is to make it possible to write an AllocDmaPages()
function which would allocate pages with consecutive physical
addresses.
The system for finding which physical segment a page of RAM is in
has been modified. The system now computes a shift, and EOR mask
and an AND mask at boot time. The physical address is shifted right
then EORed with the EOR mask and ANDed with the AND mask. If the
result is zero, the EOR result is used as an index into a bank
lookup table which gives the bank number. This method should be
quicker than a search of the bank data array.
Split MMU code into two files KP_MMU.CPP and KE_MMU.CPP. The former
is intended to be processor independent. It contains the code for
allocation and deallocation of physical pages and for common
initialisation. The file KE_MMU.CPP contains code for actually
mapping and unmapping pages and for allocation and deallocation of
page tables for a given MMU.
Changed the split of the Mmu class. This class is now the base for
ImpMmu, which is now defined in ARM_KERN.H instead of M32KERN.H.
Class Mmu has several pure virtual functions which are implemented
by ImpMmu. Mmu is now by necessity a non-static class, and global
PP::TheMmu has been added to store a pointer to the MMU data.
The DPlatChunk code has been amended to be more MMU-aware. This is
necessary since the DPlatChunk code has to ensure that the chunk
state is always consistent when the kernel is unlocked.
Modified DArmPlatChunk::SetPdeInfo() to check the page directory
to find the first and last PDEs in a chunk. This was done to make
'gappy' chunks possible - there may be gaps in the set of present
PDEs. However the current SetPdeInfo is not really good enough,
since its execution time is proportional to the chunk's MaxSize -
it has to search every PDE in the chunks reserved range. The RAM
drive chunk has a max size of 496Mb, so this will probably take too
long and adversely affect thread latency. I will probably employ
another bitmap allocator to keep track of which PDEs are present,
and search that instead, which should be quicker.
--------------------------------------------------------------------------------
Revision 021c
23-08-98: Export function K::RecordInterruptLatency() so that other latencies
may be measured, eg from interrupt to millisecond callback.
Changed DFC handling system. Now adding a DFC puts it on to a
'pending' queue rather than on its final queue and does not signal
any semaphores. This is to reduce interrupt disable time. The
scheduler picks up these 'pending' DFCs and places them on their
final queues, signalling the DFC thread if necessary. This code
all runs with the kernel locked and interrupts enabled. This
change means that interrupts may no longer access the ready list,
they may only add a DFC. All ready list modification is now done
with the kernel locked, rather than with interrupts disabled.
In addition, final DFC queues are manipulated with the kernel
locked.
A new function TDfc::Enque() has been added which puts a DFC onto
its final queue and signals the thread, as opposed to TDfc::Add()
which places the DFC on the pending DFC queue.
TDfc::iSpare1 is now used to indicate which queue a DFC is on. If
this value is 0 the DFC is either not queued or is on the pending
queue. If the value is nonzero, the DFC is on its final queue.
A new flag TScheduler::iDfcPendingFlag has been added. This is set
when a DFC is added to the pending queue and cleared after the
last pending DFC has been moved to its final queue.
Removed special-case code to handle threads in state
EWaitRequestSemaphore, which was required because threads in this
state could be made ready by an ISR.
Implemented special-case code for ExecHandler::WaitForAnyRequest()
which enables this to run as a FAST executive call instead of a
SLOW executive call. This makes a noticeable difference to the
speed on the standard benchmark tests - I guess this is probably
the most popular system call.
Moved some global variables (TheCurrentThread etc.) into TScheduler
member data for easier access, reducing the number of literal reads
required.
C++ Scheduler (KP_SCHED.CPP) is now out of date.
--------------------------------------------------------------------------------
Revision 021a
22-08-98: Rewrote SWI handler to reduce interrupt disable time. Handle lookup
now runs with the kernel locked and interrupts enabled. This means
that handle lookup is only available with slow executive calls.
Changed some executive calls which use handle lookup from FAST to
SLOW. Changed executive calls which return a descriptor (e.g.
MonthName) from FAST to SLOW to reduce interrupts-off time.
Created a new header file U32ARM.H to hold processor-dependent
interface data between EKERN and EUSER, such as bit masks
required for SWI calls.
--------------------------------------------------------------------------------
Revision 021
20-08-98: Changed ExecHandler::WaitForAnyRequest() to run with interrupts off
rather than with the kernel locked. Changed TDfcQue::ThreadFunction
to call this directly rather than via User::WaitForAnyRequest().
Best benchmark results ever - T_SVR 7530 T_PROC1 1608 T_CTXSW 40300.
10 seconds to spell check Welcome on EIKON ROM 209.
Fixed bug in KS_TIMER.CPP in TSecondQ::SystemTimeChanged() - this
should acquire the timer mutex while iterating through the timer
list.
21-08-98: Made the machine reset if the window server (event thread) dies.
Added debugger facility to dump out a thread's context if it causes
an exception. Device driver D_DEBUG.LDD binds to the kernel debug
interface, test program T_DEBUG.EXE displays the information.
22-08-98: In __MEASURE_LATENCY__ build, flush the TLB and cache at the start
of the IRQ and SWI handlers, to obtain more realistic worst-case
latency figures.
Added VARMP2 variant for Protea, and bootstrap in KBARMS5. This
allows a ROM image to be produced which can be downloaded onto a
Series 5 using D_RTLDR.LDD/RTLDR.EXE and run. The code resides
in the 0xd0000000 RAM and E32RT runs with 4Mb of available RAM
in the 0xc0000000 area.
P2 keyboard driver is a bit dodgy at the moment.
Decided that interrupt and thread latency needed improving.
--------------------------------------------------------------------------------
Revision 020
19-08-98: Completely changed the scheduling system. Three main changes:
1. Registers making up a thread's context are stored on the
mode_svc stack for that thread instead of in the thread
control block. Context switching takes place in the scheduler
where the registers for the initial thread are pushed on the
stack, then sp_svc is saved in the thread control block. At
the end of the reschedule, sp_svc is restored from the new
thread's control block and the registers are popped, resulting
in a context switch to the new thread. This reduces interrupt
latency, since less stack accesses now occur with interrupts
disabled. It also simplifies the handling of SWIs, interrupts
and exceptions in ke_int.cpp.
2. The current thread now remains on the ready list. This means
that the ECurrent state for threads is no longer needed, and
the current thread simply remains in the EReady state. This
reduces the time taken for preemption to occur, since once the
new thread is added to the ready list, it is only necessary
for the scheduler to find it; no adding or removing of entries
is required. It also enables most of the ready list processing
to occur with interrupts enabled, reducing interrupt latency.
This also allows the timeslicing to be tightened up. Each thread
now has an iTimeslice which specifies how many milliseconds it
may run for before yielding to a thread of the same priority.
The millisecond timer decrements the current thread's iTime
count and when it reaches zero, a reschedule occurs. Setting
iTimeslice to -1 will result in a FIFO scheduling policy for
that thread.
3. A reschedule to a moving chunk or variable access process can
now be aborted after each process is moved. This means that
preemption may occur after the time taken to move a single
process' chunks, whereas previously it would have to wait for
a maximum of 2 process moves + 1 process protect.
Bug fixes:
K::SvMsgQ.iThread is set just after the initial thread is
created, instead of after the kernel server priority is set.
This eliminates any chance of a kernel server message being sent
before K::SvMsgQ.iThread is set up.
--------------------------------------------------------------------------------
Revision 019
17-08-98: Modified VARMPD\VA_HW.CPP to set the correct wait states on the ROM
(2 wait states) instead of leaving the maximum 4 wait states set by
the bootstrap. This gives a considerable speed increase, with
T_SVR up from 6500 to 7088 and T_PROC1 up from 1140 to 1505.
Running from RAM T_SVR gives 7278 and T_PROC1 1978!
Fixed scheduler bug which could leave user processes unprotected.
Scheduling from a variable access process to the kernel process
and then to a fixed access user process would leave the first
process unprotected. Now only skips the MMU stuff if both the
new current process and TheCurrentVMProcess are fixed access.
--------------------------------------------------------------------------------
Revision 018
10-08-98: Renamed DPlatProcess::iMutex to iProcessLock for easier searching.
RDebug::Print now leaves the kernel locked while printing.
DPlatProcess::SvKill no longer acquires the process lock before
calling Release(). DPlatProcess::Release() acquires the lock after
deleting the handles array.
DPlatThread::Die now only acquires the process lock while unlinking
the thread from the process thread list.
DPlatThread::Die releases held mutexes before waiting on process
lock.
12-08-98: Modified comms driver to implement a timeout on ReadOneOrMore to
prevent the client just being completed immediately and using vast
amounts of CPU time.
Fixed bug in KE_MSTIM.CPP where a function had been interposed
after a 'fall through' function.
Added DLogicalChannel::GetClientDesLength, GetClientDesMaxLength
and GetClientDesInfo functions.
Modified comms driver to use these functions rather than accessing
client descriptors directly.
13-08-98: Added code to measure interrupt and kernel thread latency, enabled
by the __MEASURE_LATENCY__ switch. Test program T_LATNCY is used
to dump out the measurements to COM1.
Latency measurements not up to spec - large variations due to cache
misses. Thread latency peaked at 1.3ms running Comms loopback and
3 copies of T_WRITE. Interrupt latency 326us.
Modified bootstrap to copy code into RAM and run from RAM. This
produced a noticeable speed and latency improvement, especially
under frequent cache flushing (eg T_PROC1 nearly doubled from 995
to 1870, with latency measurements active). Max thread latency
with Comms loopback + 3 copies of T_WRITE down to 826us.
Reduced block size for remote thread read/write from 4K to 2K and
reduced RAM allocation block size from 8 pages to 4 pages to
improve latency. With both improvements, Comms loopback + 3TWrite
gives 207us int + 656us thread latency. Comms loopback + 2TFrag
gives 220us + 628us. 3TFrag with no comms gives 44us + 332us.
--------------------------------------------------------------------------------
Revision 017
06-08-98: Modified DObject destructor to atomically replace iName with NULL
before freeing the name buffer.
Modified DObjectCon name searching functions (CheckUniqueFullName,
FindByName, FindByFullName, OpenByFullName) to ignore objects with
a zero access count.
Fixed bug in Plat::ThreadEnterCS(handle,container) which attempted
to panic the current thread without releasing the critical section.
Changed some delete-and-clear-pointer operations to use the atomic
swap routine Plat::SafeSwap.
Added a check to fault the kernel if a thread panics while the
kernel is locked.
07-08-98: Code chunks for RAM-loaded processes are now called $EXE[proc id]
to ensure unique names for each process code chunk.