Update contrib.
3 (Made by vfebvre 17/12/2009)
6 1. MILESTONE: GT0515, MS3.16
7 RM-RIM REQ417-52763: HCR: Final delivery (Reference implementation and Docs)
8 Gaia Feature Release 422961 Package Release 428954
13 (Made by vfebvre 17/12/2009)
16 1. MILESTONE: GT0515, MS3.31
17 RM-RIM REQ417-53000: Instrument local media subsystem and media drivers
18 Gaia Feature Release 424355 Package Release 424358
21 1. DEFECT FIX: DEF143438: Flexible memory model is missing an api to map any memory kernel side
22 Add new TKernelMapObject and Kern methods that use it to allow device drivers to map and physically
23 pin any memory. The memory can then be accessed from kernel side for DMA operations and without
24 the effects of ram defrag and demandpaging.
29 (Made by vfebvre 16/12/2009)
32 1. DEFECT FIX: DEF143310: DMA Framework makes use of PRM difficult
33 Introduced new virtual DMA PIL function TDmaChannel::QueuedRequestCountChanged()
34 which can be overridden in a DMA PSL to implement channel/DMAC power management
35 functionality outside of any PIL mutexes. For details see the description in
36 /os/kernelhwsrv/kernel/eka/include/drivers/dma_v1.h.
41 (Made by vfebvre 15/12/2009)
44 1. MINOR_CHANGE Added a few missing headers for when SYMBIAN_ENABLE_PUBLIC_PLATFORM_HEADER_SPLIT is enabled.
49 (Made by VincentF 14/12/2009)
52 1. DEF142419: Kernel doesn't flush prefetch buffer properly
57 (Made by VincentF 10/12/2009)
60 1. MINOR_CHANGE: Fix function names given in various trace and precondition statements
61 2. DEFECT FIX: DEF143168: Kernel precondition checks don't give any indication of the caller
62 Added compiler-specific macro PRECOND_FUNCTION_CALLER, defaulting to 0 if not present, and
63 use this in CHECK_PRECONDITIONS() and the various __ASSERT_WITH_MESSAGE_*() macros. Also
64 updated CheckPreconditions() to print this address even if the function name is given (as
65 it is when called from the C macros).
66 3. DEFECT FIX: DEF143237: SBTraceData::CheckFilter2() causes issues when executed with undefined CPU mode
67 Don't just take the CPSR & 0x03 to get the context value, since undef (etc) mode gets
68 confused with thread (normal supervisor) mode. Instead, AND with 0x0f and set to 2 if
72 1. DEFECT FIX: DEF143166: Default caching of page tables on 1136 flexible memory model is wrong
73 Fixed the problem with caching attributes (of page tables, code & exception vector) on 1136
74 running flexible memory model. Platforms other then 1136 are not affected.
77 1. DEFECT FIX: DEF142623: TKEA-7WJC4S:[OTG] A malfunctioning peripheral cannot be reported to the UI
78 This defect is some USB devices do not comply with USB2.0 spec. Because they drive VBus of
79 their upstream port, however, such behaviour is forbidden in USB2.0.
82 1. DEFECT FIX: DEF141546: T_CPUTIME fails on SMPPAGE/SMPDATAPAGE ROMs...
83 Improve test by making sure threads are bound to the right cores
84 2. DEFECT FIX: DEF143303: Crash unpinning message descriptors
85 Pinning operation now uses an initialised local array to hold potential references to pin
86 objects, and then transfers them all into a heap-allocated object only if at least one
87 such reference was created, ensuring that the subsequent unpin sees only good values.
90 1. MINOR_CHANGE Update header comments in HCR PIL files
93 1. MINOR_CHANGE Rename Bld.inf to bld.inf (for DEF142518)
96 1. MINOR_CHANGE Added library names in compsupp explicitly for RVCT4.0 linkage
99 1. MINOR_CHANGE Fixed T_SMPSOAKSPIN.CPP for e32svr.h.
100 2. DEFECT FIX: DEF143216: btrace.iby does not load btracex.ldd as an extension
105 (Made by VincentF 03/12/2009)
108 1. MILESTONE: GT0515, MS3.15
109 RM-RIM REQ417-52838:FEA417-62893 DMA Upgrade : Client Callback from ISR
110 Gaia Feature Release 428985 Package Release 428988
111 2. DEFECT FIX: DEF143285: t_dma and t_dma2 test failures
114 1. DEFECT FIX: DEF143220: Flexible memory model - Aliasing can cause the system to crash.
115 Fix various race conditions in the flexible memory model's handling of aliasing.
118 1. MINOR_CHANGE: Removed SYMBIAN_BASE_USE_GCE from header.iby files as this broke the build
119 2. MINOR_CHANGE: Tidy up naviengine.h and naviengine_priv.h
120 3. MINOR_CHANGE: Update NaviEngine release.txt because nobody else has
121 4. MINOR_CHANGE: Remove commented out code from csi.mmp
122 5. MINOR_CHANGE: updated NaviEngine User Guide
123 6. MINOR_CHANGE: Bootloader OBY file bootbinary directive fixed
126 1. DEFECT FIX: DEF142738: T_SMPSAFE fails on SMP unicore
129 1. DEFECT FIX: DEF142542: Bridge: t_dobject fails on 8500..
132 1. DEFECT FIX: DEF143224: Move TFlowControl to a published header
137 (Made by vinojose 03/12/2009)
141 1. DEFECT FIX: DEF142863: Public header files must not include platform or internal headers
144 1. DEFECT FIX: DEF143039: MedMMC should not use Cache for Physical Address Requests
147 1. DEFECT FIX: DEF143129: WDP - Allocating a demand paged page table can fault the system
148 Implement on demand stealing of paged page tables when allocating paged page tables.
151 1. DEFECT FIX: DEF142844: initialize SRP timeout
154 1. DEFECT FIX: DEF142840: KERN-EXEC 3 panics in T_SHBUF_PERF
155 Must use kumemget to read TPtr8 from user memory.
158 1. DEFECT FIX: DEF143152: NaviEngine ARM4 ROMs cannot be built
161 1. DEFECT FIX: DEF143114: FMM thrashing monitor timer runs even when device is idle
164 1. MINOR_CHANGE: Fix SMP Soak test for Header File Relocation
165 2. DEFECT FIX: DEF143183: CTS79_MCL_wk46: TB92_200945 symbian tests compilation errors
168 1. DEFECT FIX: DEFECT FIX: DEF141811: T_MSTIM on Unicore SMP (Naviengine) Image
172 (Made by vinojose 01/12/2009)
175 1. DEFECT FIX: DEF143217: [System Build] Rom build stage unknow keyword in MSF00270
180 (Made by VincentF 25/11/2009)
183 1. DEFECT FIX: DEF141945: Base Template Port build fails
186 2. MINOR_CHANGE: Add missing SMPSAFE keywords to mmp files (mostly test drivers)
189 1. DEFECT FIX: DEF142927: BSP regressions in header relocation build
190 2. DEFECT FIX: DEF143040: CrashMonitor public headers should not include platform headers
191 3. DEFECT FIX: DEF143042: Public header e32test.h includes platform headers...
192 4. DEFECT FIX: DEF143044: Public header u32std.h includes platform header files...
193 5. DEFECT FIX: DEF143053: Public header e32event.h includes platform header...
194 6. DEFECT FIX: DEF142880: btrace.iby does not use KERNEL_DIR for ldd
197 1. DEFECT FIX: DEF142854: Bootstrap.flm and related bld.inf changes not submitted to the MCL
198 Use FLM, rather than extension makefile, to build bootstraps on all SymTB10.1
199 baseports with SBSv2 (Raptor).
202 1. DEFECT FIX: DEF142969: Raptor GCCE: compsupp doesn't deal gracefully with a Raptor GCCE build
205 1. DEFECT FIX: DEF142684: T_TIME hangs on Ivalo waiting for absolute timer after changing secure time
206 Improve test by making sure time + secure offset settings are sane before changing secure time
207 2. DEFECT FIX: DEF142504 T_PAGELDRTST_REAPER issues
208 Fixes KERN-EXEC panic with code EBadHandle by restructuring loops in CopyAndFragmentFiles().
209 Fixes issue with failing Attrib() leaving file unusable - now tries making file R/W if first
210 attempt at deleting it fails.
211 3. DEFECT FIX: DEF141903 T_TIMER intermitant failure on 3430 (t_timer.cpp:633)
212 Fixes mismatch between getting time in UTC vs. setting alarm in Local time!
213 (also fixes dup PDEF136734 T_TIMER fails intermittently on SMP platforms)
216 1. DEFECT FIX: DEF142716: Medmmc / USB enhancement
219 1. DEFECT FIX: DEF142896: t_drtaeabi.mmp references deprecated source directories
220 2. DEFECT FIX: DEF142878: t_datapaging soak test fail in production environement
223 1. MINOR_CHANGE: Include missing split header files
226 1. DEFECT FIX: DEF142437: t_iic failed to run in eshell
229 1. DEFECT FIX: DEF142744: Missing constant KImageHWFloat_VFPv3
232 1. DEFECT FIX: DEF142549: Bridge: e32test t_timer fails on 8500
233 Added an exception, via a new Machine UID so the 8500 does not run the "Test sequential locks
234 fail over on/off" test
237 1. DEFECT FIX: DEF142719: WDP: Media card Passwords do not work in WDP environment
238 2. DEFECT FIX: DEF142819: exFAT partitions are not recognised by MMC/SD stack
241 1. DEFECT FIX DEF142943: T_THRASH - CreatePagedChunk test method fails with KErrNoMemory on gekko77
244 1. MINOR CHANGE: Add SMP Soak Tests
247 1. DEFECT FIX: DEF141425: USB ONB testing steps passing rate doesn't meet test pass critiera
248 2. DEFECT FIX: DEF141212: Engineering improvement
251 1. DEFECT FIX: DEF142736: Bootstrap should support flexible mapping of external cache controller
252 Previously, external cache controller had to be positioned at the start of a H/W region specified in
253 bootstrap. That restriction is now removed so it can be mapped in 64KB or 1MB mappings alongside with
254 other controllers (which may save 1KB of page table & improve performance due to less TLB misses).
259 (Made by VincentF 24/11/2009)
262 1. DEFECT FIX: DEF143148: HCR Setting batch retrieval does not work
267 (Made by Vino Jose 20/11/2009)
270 1. MILESTONE: SymTB10.1, GT0472, MS3.16, DS.1714 HCR_DS2 : Complete and Tested PIL
271 PREQ2131 Hardware Configuration Repository
272 CR322 Prototype Kernel-side HCR API adjust following testing feedback
273 This change delivers the remaining HCR APIs and PIL.
278 (Made by Vino Jose 16/11/2009)
281 1. DEFECT FIX: DEF143037 [System Build] : Errors in GT stage
286 (Made by Vino Jose 10/11/2009)
289 1. DEFECT FIX: DEF142684: T_TIME hangs on Ivalo waiting for absolute timer after changing secure time
290 Improve test by making sure time + secure offset settings are sane before changing secure time
291 2. DEFECT FIX: DEF142504 T_PAGELDRTST_REAPER issues
292 Fixes KERN-EXEC panic with code EBadHandle by restructuring loops in CopyAndFragmentFiles().
293 Fixes issue with failing Attrib() leaving file unusable - now tries making file R/W if first
294 attempt at deleting it fails.
300 (Made by Vino Jose 05/11/2009)
303 1. MINOR CHANGE: VFP doc update to include information on the latest VFPv3 and SMP support
304 2. DEFECT FIX: DEF142855: BTrace categories need tweaking for SMP
305 3. DEFECT FIX: DEF142898: VFP changes have incorrect syntax
308 1. DEFECT FIX: DEF141475: ECamera LDD & Template Camera PDD (BASE/CAMERA) :- Support for Effect Settings in Camera and LDD/PDD update based on reviews.
311 1. MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1931 WDP Safe GCE Driver
316 (Made by Vino Jose 04/11/2009)
319 1. DEFECT FIX: DEF142567: NaviEngine VFP is not turned on
322 1. DEFECT FIX: DEF142597:edev.mmp depends on a deprecated source folder
325 1. MINOR_CHANGE: Add missing SMPSAFE keywords to mmp files and unlock test driver DFC threads from core 0
328 1. DEFECT FIX: DEF142749: t_implicit crashes when run on Ivalo
333 (Made by Vino Jose 02/11/2009)
336 1. DEFECT FIX: DEF142717: Some of UTFv2-inherited enumerations duplication.
341 (Made by Vino Jose 01/11/2009)
344 1. MILESTONE: SymTB9.2, GT0419, MS3.41, DS.1928 417-60865: Read-Only Memory Sharing
345 PREQ1490 Flexible Memory Model
346 Introduce read-only memory chunks for the FMM (see RChunk::SetReadOnly()) and
347 add a new Kern::MakeHandleAndOpen() overload so process-local handles can be
353 (Made by Vino Jose 29/10/2009)
356 1. DEFECT FIX: DEF142675: T_TBUS_DATAPAGING fails on Ivalo due to test problem
359 1. MINOR CHANGE: Mark Tai's fix for t_pagemove failures on Ivalo
362 1. MINOR_CHANGE: Updated MBC files, they should now be able to build the NaviEngine, at long last.
365 1. DEFECT FIX: DEF142000 ROMS are not getting completed on BTB systems (TRGTEST RETURNS 7)
368 1. DEFECT FIX: DEF142535:Epoc::ClaimPhysicalRam() on the flexible memory model doesn't claim enough ram
371 1. MILESTONE: SymTB9.2 RM-RIM REQ417 SUB-REQ52733 DS.1926 UMG for FMM
372 This change adds the "User Memory Guard" feature to DEBUG builds on
373 all platforms using the Flexible Memory Model.
376 1. DEFECT FIX: DEF142214: PRM: Fix the invalid memory calculation for BTRACE and client registration
381 (Made by Vino Jose 22/10/2009)
384 1. DEFECT FIX: DEF142628: WDP: Binaries compiled against 9.4 do not have their heaps paged
385 Ensure that threads that don't have the paging policy specified also leave the heap chunk's paging
386 policy unspecified which will cause the process's paging polic to be used for the heap chunk.
389 1. DEFECT FIX: DEF142536: Known x86gcc test failures should be investigated
393 (Made by Vino Jose 21/10/2009)
397 1. MINOR_CHANGE: Update to allow STVariants to compile with BTB symtb92.
400 1. DEFECT FIX: DEF142453: The fix for ARM1176 erratum #720013 is required
401 The fix for ARM1176 erratum: 720013: Invalidate Instruction Cache operations can fai
402 2. DEFECT FIX: DEF141955: PL310 erratum 588369 fix is not implemented properly
403 This should correct the the original fix for PL310 (External Cache Controller) erratum.
404 The change only affects non-SMP Kernel running on H/W with PL310.
407 1. DEFECT FIX: DEF142499: T_CTRAP fails stack pointer comparison on X86GCC.UREL (T_ctrap.cpp:1478)
408 2. MINOR_CHANGE: Remove EPL copyright notices for USBHO code
411 1. DEFECT FIX: DEF141726: MMFDevSoundServer: User 20 Error occurs on H6
412 Fix driver to correctly cancel record dma requests during Pause. Correct record length calculation.
413 Correct TimeRecorded calculation.
414 2. DEFECT FIX: DEF141122: T_SOUND2 (and T_SOUND_API) fails on H4HRP MMCPAGED configurations...
415 Enhance test code to not fail under severe timing pressure on h4 fmm mmcpage ROMs.
418 1. DEFECT FIX: DEF142250: Occasional kernel crashes caused by T_LDRTST on 34xx_sdp.armv5.udeb
424 (Made by Vino Jose 13/10/2009)
427 1. DEFECT FIX: DEF142463: Kern::Random requires system lock; makes migration to new APIs difficult
428 This enables a convenient migration path for the upcoming break request CR #83. Users of the API
429 Kern::Random can now modify their code to call Kern::Random without holding the system lock, so
430 that they will not be impacted by the future submission of the aforementioned break.
433 1 DEFECT FIX: DEF142361 VFP code breaks some test code kernel heap checks
434 2. DEFECT FIX: DEF142470: T_MATH fails Math::Log() calculation
437 1. DEFECT FIX: DEF142497: SMP known test failure: t_schedhook
440 1. DEFECT FIX: DEF142405: T_REALX fails conversion from 64-bit number on X86 (T_realx.cpp:308)
441 2. MINOR CHANGE: Convert SFL copyright notices to EPL
444 1. DEFECT FIX: PDEF142276: ExecHandler::ProcessSetPriority() does not behave as expected.
447 1. DEFECT FIX: DEF142498: T_MATCH failures on WINSCW
450 1. DEFECT FIX: DEF140911: T_PAGEMOVE fails on H2 and NaviEngine in TestUserData
455 (Made by Vino Jose 07/10/2009)
458 1. DEFECT FIX: DEF142206: RMessageK::GetNextFreeMessage() race can cause NULL return
461 1. MINOR_CHANGE: In rom.pl, add the directory containing the HRH file to the include path
464 1. MINOR_CHANGE: Removed duplicate export from /os/kernelhwsrv/kerneltest/e32test/group/bld.inf
465 to avoid Raptor warnings
468 1. MINOR_CHANGE: Fixed test compile issue in SDIO code.
471 1. DEFECT FIX: DEF142391: GCC-E: Simple syntax errors
474 1. DEFECT FIX: DEF141424: memory leaks exist in t_iic.cpp
477 1. DEFECT FIX: PDEF142402: VFPv2 bounce handling is broken if context switching occurs
481 1. DEFECT FIX: DEF142213: PRM: Not able to access extended version of PRM from user side.
485 1. MINOR_CHANGE Enable Unicore build for HREF8500.
490 (Made by Vino Jose 06/10/2009)
493 1. DEFECT FIX: DEF142326 WDP: MMC Paging does not work when Direct address is switch off
498 (Made by Chinenye Ajagu 05/10/2009)
501 1. DEFECT FIX: DEF142233: opensystemtrace.h uses WRONG macro name.
506 (Made by Vino Jose 01/10/2009)
509 1. DEFECT FIX: DEF141657: MHA IIC: PSL caching of BusId for Extended Transactions is contrary to MHA aims
510 PIL code now provides the BusId to the PSL for Extended Transactions.
513 1. DEFECT FIX: DEF142258: Backslashes must be converted to forward ones
516 1. MILESTONE: SymTB10.1, GT0472, MS3.2.4, DS.1718 PREQ2094: Product Quality SMP Kernel
519 1. DEFECT FIX: DEF141047: Platform-Independent Coverity Defects
522 1. DEFECT FIX: DEF141732: Iic implementation of DIicBusChannel returns incorrect bus & channel information
523 corrected DIicBusChannel interface inline set functions.
526 1. DEFECT FIX: DEF142288: EMessageSend Typo in e32btrace.h
529 1. MINOR_CHANGE: Apply correct Nokia copyright notice to newly submitted files
532 1. DEFECT FIX: DEF142279: coreldrasm compile failed in MSF00201 TB101SF
535 1. DEFECT FIX: DEF142232: Header relocation regression in MMC
540 (Made by Vino Jose 29/09/2009)
543 1.DEF142287: BFC build errors on base_e32utils component build in MSF00207 tb92sf
548 (Made by Vino Jose 25/09/2009)
551 1. DEFECT FIX: DEF142265 {(Auto)} [MCL Build] coreldrasm compile failed on armv5smp platform in MSF00207 vtb92sf
556 (Made by Vino Jose 24/09/2009)
559 1. DEFECT FIX: DPDEF141801: Absent file '\epoc32\release\armv5\fne1_tb_un2_coreldr.bin' detected
562 1. DEFECT FIX: DTW-KHS BTB00022: SD Support for H4 and H2 boards
565 1. MINOR_CHANGE: Removal of warning when compiling for x86gcc and with dump tracing on for SDIO.
568 1. DEFECT FIX: DEF141833: T_SHBUF_OWN & T_SHBUF_CLIENT failing on PAGED configurations (t_shbuf.cpp:2351)
571 1. DEF142120: pl310 (in bridge) on non-SMP platform should not use spin locks
572 Non-SMP Kernel build for H/W with PL310 external cache controller used to call spin locks (which are not defined
573 in non-SMP build). These calls are now replaced by Disable/Restore interrupts.
578 (Made by Vino Jose 23/09/2009)
581 1. DEFECT FIX: DEF142198: [System Build] coreldrasm compile failed
586 (Made by Vino Jose 21/09/2009)
589 1. DEFECT FIX: DEF140004: LoaderThread crash on H4 WDP when loading a LDD statically importing from a LDD
590 Ensure that the loader doesn't try to access ldd and pdd export directories directly when running on the flexible memory model.
591 2. MINOR_CHANGE: Further updates to stop t_pagemove failing on some urel test roms.
594 1. DEFECT FIX: DEF141919: "static const" for constant declaration in headers and duplication
597 1. DEFECT FIX: DEF141440: MHA IIC: Extendable Transactions for SPI and Slave-Select
600 1. DEFECT FIX: DEF141941: No public way of querying number of processors
601 2. DEFECT FIX: DEF141976: PLATSEC_DIAGNOSTIC_STRING needs to be made public
602 3. DEFECT FIX: DEF141942: T_MSTIM occasionally failing on SMP platforms
605 1. DEFECT FIX: DEF140877: MHA IIC: MasterSlave's ReleaseChannel
608 1. DEFECT FIX: PDEF141928: Description for WaitForNRequest(TRequestStatus *,TInt) is wrong.
611 1. DEFECT FIX: DEF141401: All master and slave variables and methods should be embedded with macros
614 1. DEFECT FIX: DEF140063: NaviEngine NAND driver has very high CPU utilisation
615 Use an interrupt fast semaphore mechanism instead of polling mechanism when waiting on a read operation.
618 1. DEFECT FIX: DEF141893: t_sharedio and t_shbuf_client cause kernel panic on X86 with FMM
621 1. DEFECT FIX: DEF139033: ICL test scripts fail with USER-EXEC:3 on H6 with modified GTC_Standard_H6.oby
622 2. DEFECT FIX: DEF141894: t_dmasim and t_newldd fail on X86 with FMM
625 1. MINOR_CHANGE: Updated the unsupported MBC files to match the new buildtools layout.
626 2. DEFECT FIX: PDEF139018: PRM: DeRegisterClientLevelFromResource() does not work well with custom sense
629 1. MINOR_CHANGE: Added Bootstrap FLM to be used when building with SBSv2
630 2. MINOR_CHANGE: Update the bootloader bld.inf files to be compatible with bootstrap.flm
633 1. DEFECT FIX: DEF141532: Propagate fix for PDEF141058 to sfdev
634 Fix race condition with DSession disconnect messages
635 (originally "__SendDiscMsg() EMsgCompleteDiscNotSent panic in emulator")
638 1. MINOR_CHANGE: Set up a work-around to avoid GCC compilation error of x86 FMM.
641 1. DEFECT FIX: DEF142021: Performance regression between Flexible Memory Model and Multiple Memory Model
644 1. DEFECT FIX: DEF142044: Zombie processes don't release their ASID until all references are closed
647 1. DEFECT FIX: DEF141895: T_RAMDEFRAG fails on 34XX_SDP
649 1. DEFECT FIX: DEF142067: IIC header differences between wk34 and wk36
654 (Made by Marcin Maksymiuk 18/09/2009)
657 1. MILESTONE: SymTB9.2, GT0518, MS3.2, DS.1817 PREQ2390: Unified Trace Framework alignment with OST - User Side
662 (Made by Vino Jose 16/09/2009)
665 1. MINOR_CHANGE: Stop t_pagemove failing on some urel test roms.
668 1. MILESTONE: SymTB10.1, GT0472, MS3.13, DS.1708 PREQ1494: SDIO v2.0 : v2.0 APIs
669 2. MILESTONE: SymTB10.1, GT0472, MS3.14, DS.1709 PREQ1494: SDIO v2.0 : Delivery of SDIO Simplified to the Symbian Foundation
674 (Made by Hai Xu 09/09/2009)
677 1. MINOR_CHANGE: Add PREQ1924, new locale model support to base
682 (Made by Vino Jose 04/09/2009)
685 1. MINOR_CHANGE: Added copyright notice to /os/kernelhwsrv/kernel/eka/include/drivers/iic_transaction.h
688 1. MILESTONE: SymTB10.1, GT0538, MS3.2, DS.1801 PREQ2240: KDebug API with filtered debug events and preprocessed data
691 1. DEFECT FIX: PDEF141861: try/catch link error with GCCE build
696 (Made by Vino Jose 02/09/2009)
699 1. MINOR_CHANGE: Added missing SMPSAFE keyword to MMPs previously tested as SMP safe.
700 2. MINOR_CHANGE: Test code compile fixes in preparation for when spilt headers are enabled.
701 3. DEFECT FIX:DEF141705: PowerMgmt: Allow access of DPowerController member variable to derived class
704 1. DEFECT FIX: PDEF134531: Additional alignment requirement for Bulk and Interrupt transfer buffers
707 1. DEFECT FIX: DEF141722: wk32 SMR Bootstrap fails when SP iCodeBase address is 0x0
710 1. DEFECT FIX: DEF141654: Some problems in ne1_tb_restricted_coreldr.flm
711 2. DEFECT FIX: DEF141655: Some problems in omap3_restricted_coreldr.flm
716 (Made by Vino Jose 27/08/2009)
719 1. DEFECT FIX: DEF141241: d_shbuf is not data paging safe
722 1. DEFECT FIX: DEF141433: Rom image fails to boot on h6 board for GTC_Standrad_H6 ROM Configuration.
725 1. MINOR_CHANGE: Fixed missing deletion from DEF141558 (external submission CL1677229)
730 (Made by Vino Jose 21/08/2009)
733 1. DEFECT FIX: DEF141366: T_BTRACE fails on SMP URel platforms (exit code "2,2,RBTrace")
734 2. DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
735 This change may fix crashes or misbehaviour when using SMP compatibility mode.
738 1. CR2039: Extend the K&HS Inter-IC bus API to support Controller-less deployment
739 2. DEFECT FIX: DEF141012: MHA IIC: Extended transaction pointer not re-initialised
742 1. MINOR_CHANGE Ensured that private headers are not included if SYMBIAN_ENABLE_SPLIT_HEADERS defined.
745 1. DEFECT FIX: DEF141547: T_DEFRAG_REF fails on NaviEngine SMP (t_defrag_ref.cpp:92)
746 Ensure ldd waits for both the chunk to be destroyed and for the chunk clean up dfc to run.
749 1. DEFECT FIX: DEF141558: Delete orphaned files
752 1. DEFECT FIX: DEF141524: Locale DLLs stops compiling because of changes to TFatUtilityFunctions
755 1. DEFECT FIX: DEF141240: shbuf codeUpdateMappingsAndReservedHandles() doesn't handle thread death safely
759 1. DEFECT FIX:DEF141057: [SymTB9.2,SymTB10.1] {Fix Dev Branch} Cannot build f32test\loader using Raptor and custom configurations
764 (Made by Vino Jose 18/08/2009)
766 1. MILESTONE: SymTB9.2, GT0419, MS3.12.5, DS.1696 REQ12525: Add RAM defragmentation functionality to the Flexible Memory Model
771 (Made by Vino Jose 14/08/2009)
774 1. DEFECT FIX: DEF141439: H6 Board Hangs after Test get completed successfully
776 2. DEFECT FIX: DEF141577: Multiple bugs in SMP thread groups
777 This change may fix crashes or misbehaviour when using SMP compatibility mode.
782 (Made by Prakash betageri 13/08/2009)
784 MILESTONE: SymTB9.2,DS.1698 PREQ2621 relocating header files
789 (Made by VincentF 11/08/2009)
792 1. DEFECT FIX: DEF141205: H4 base port misuses NFastSemaphores.
795 1. MINOR_CHANGE: Pseudo random number generator should initialise seed lazily. Calling FastPseudoRandomise during boot can cause crash if system timer (source of entropy) is not initialised.
798 1. DEFECT FIX: DEF141441: Emulator doesn't support Writeable Static Data
799 2. DEFECT FIX: DEF141462: Missing memory barriers in the SMP kernel
800 3. MINOR_CHANGE: Fixed problem with submission for DEF141462 above
803 1. DEFECT FIX: PDEF141445: Incorrect data size calculation in SD with Double Buffer
806 1. DEFECT FIX: PDEF134534: test cases problems under one debug model
809 1. DEFECT FIX: DEF141174: H6 digitiser bug
814 (Made by Vino Jose 07/08/2009)
817 1. DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms
820 1. MILESTONE: SymTB10.1, GT0530, MS3.1, DS.1800 PREQ2638: Run-mode debug API extension for debug of all unspecified permitted executable
823 1. DEFECT FIX: DEF141421: File Relocation Changes may break components using kern_ext.mmh
826 1. DEV CR: JIME-7TWED6: Extend base.iby so it doesn't need changing for each platform
831 (Made by Vino Jose 04/08/2009)
834 1. MILESTONE: SymTB10.1, GT0515, MS3.11, DS.1706 PREQ1494: SDIO version 2.0
835 2. MILESTONE: SymTB10.1, GT0515, MS3.12, DS.1707 PREQ1494: SDIO version 2.0
838 1. DEFECT FIX: DEF138639: NaviEngine CSI test driver (d_csi) build configuration issue.
841 1. DEFECT FIX: DEF141390: [System Build]: SBS Errors "source of export not found" in GT stage
846 (Made by Vino Jose 03/08/2009)
849 1. DEFECT FIX: PDEF140868: BSP 23.23 broke h6 urel audio playback.
852 1. DEFECT FIX: DEF141296 Current S60 build requires larger maximum size of kernel message chunk
853 Limit increased from 1Mb to 2Mb
856 1. DEFECT FIX: PDEF138130: USB shared chunk BIL function cannot always determine next alternate setting
859 1. MINOR_CHANGE: Changed OS_LAYER_SYSTEMINCLUDE to OS_LAYER_SYSTEMINCLUDE_SYMBIAN.
862 1. DEFECT FIX: DEF141206: H6 base port misuses NFastSemaphores.
865 1. MINOR_CHANGE: Updated t_crazyints / d_crazyints test code because DTW-KHS BTB00055 could not be fixed.
866 (DTW-KHS BTB00055: btb not picking SMP related stuff properly for tests (bld.inf).)
869 1. DEFECT FIX: DEF141121: IIC: Make QueueTransaction more robust to mis-use by clients
872 1. CR1970: Refactoring e32utils into two components: base_e32utils and base_32utils_restricted so that
873 tools needed by users of the Symbian Foundation can be released while third-part IP is restricted
874 for internal use only (requires supporting submission).
879 (Made by Vino Jose 24/07/2009)
882 1. DEFECT FIX: DEF141119: TClientDataRequest does not call constructor for embedded object
885 1. MILESTONE: SymTB10.1, GT0515, MS3.15, DS.1710 PREQ2131: Hardware Configuration Repository - SMR and Core Image
888 1. DEFECT FIX: DEF137764: Debug Security Server return KErrInUser for GetEvent() request
891 1. DEFECT FIX: DEF141048: Kernel Coverity Defects
892 2. DEFECT FIX: DEF140374: STV_HIDDEN warnings generated when building the variant ekern/euser
895 1. DEFECT FIX: DEF140801: Kernel doesn't recognise VFPv3/NEON instructions in Thumb2 mode
898 1. DEFECT FIX: DEF128530: T_USBAPI test failure on 3430.I for storing repeated events
903 (Made by Vino Jose 21/07/2009)
906 1. DEFECT FIX: DEF136724: T_RMDEBUG2_OEM Fails on 3430 on Base ONB
909 1. DEFECT FIX: DEF140827: TRawEvent provides no clean API for storing repeated events
912 1. DEFECT FIX: DEF137799: T_BTRACE fails on NE1_TB.ARMV5.UREL.SMPPAGE
915 1. DEFECT FIX: DEF141156: ETrue vs EFalse compiler warnings from locmedia.h
916 Just return "Flags() & EPhysAddr" rather than using foo ? ETrue : EFalse.
921 (Made by Vino Jose 15/07/2009)
924 1. MILESTONE: SymTB10.1 GT0472, MS3.4.7, DS.1807 PREQ2094: Product Quality SMP Kernel
925 Requirements: PREQ2094: Product Quality SMP Kernel
926 REQ12595: Documentation - SMP User-side Migration Guide
931 (Made by Vino Jose 14/07/2009)
934 1. DEFECT FIX: DEF140766: [RShBuf] Repeated Map on aligned buffers ignores read/write attribute
935 Improved error reporting so that it is impossible to double Map an RShBuf.
938 1. DEFECT FIX: DEF139767: t_kernasmbm fails in debug mode
939 Fixed unsafe user memory access by kernel code
942 1. DEFECT FIX: DEF139407: some supplemental tests aren't added to 't_usbdi_helper.iby' file
943 2. DEFECT FIX: DEF140886: husbconsapp.exe freeze in MSF00105
946 1. MILESTONE: SymTB10.1, GT0530, MS3.2, DS1648/DS1647, PREQ1705: Abstract Stop Mode Debug API & Abstract Stop Mode Debug API - Process List
947 2. MILESTONE: ToolsTB10.1, GT0530, MS3.7, DS1666, PREQ2596: SMP CPU Profiler Baseport API
950 1. MINOR_CHANGE: Unbreak X86PC by defining __CPU_PAGE_TABLES_FULLY_CACHED in nk_cpu.h
953 1. DEFECT FIX: DEF140005: Cannot access SD card when using some NaviEngine roms
955 1. MINOR_CHANGE: Prevent t_pipe from dead locking
956 - Replaced concurrent blocking read/write tests with test to check only that the notification requests
957 used are safe when issued concurrently.
958 - Updated documentation for RPipe::WriteBlocking to note that if multiple threads are attempting to perform blocking writes,
959 larger than the pipe size, on the same channel then their writes may be interleaved.
960 2. DEFECT FIX: PDEF139514: E32TEST:T_dma.exe fails for large transfer limits
963 1. DEFECT FIX: DEF140581: T_RAMDEFRAG H2 paged occasionally fails test 9 (t_ramdefrag.cpp:7996)
964 Ensure that the test is flexible to fixed pages being allocated in the place of movable pages
967 1. DEFECT FIX: DEF139959: e32base.h does not compile for armv5 when __SYMBIAN_STDCPP_SUPPORT__ defined
970 1. DEFECT FIX: DEF140899: T_USBCSC fails on H4HRP and FMM with KERN-EXEC 61
972 1. MILESTONE: SymTB9.2, CR1632, MS3.44, CR1632: Remove the obsolete sound driver (RMdaDevSound).
973 BR2828: "Remove the obsolete sound driver (RMdaDevSound)"
975 Component Change request "213:Audio Drivers"
980 (Made by Vino Jose 10/07/2009)
983 1. MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support
988 (Made by Vino Jose 08/07/2009)
991 1. DEFECT FIX: DEF140636: Panic during T_FSYSBM on H4HRP
992 Threads which use VFP but never make exec calls can end up crashing on exit in UDEB. Fixed.
995 1. DEFECT FIX: DEF139712: E32TEST T_SOUND2 fails on H4
996 2. DEFECT FIX: DEF139854: T_SOUND2 intermittently failing under WINSCW.UDEB
997 3. DEFECT FIX: DTW-MM00678: RSoundSc::RecordData() returns recorded length > allocated buffer size
1002 (Made by Vino Jose 02/07/2009)
1005 1. DEFECT FIX: DEF138126: Adds to the t_usb_win application spawning a process to run a devcon utility with
1006 rescan parameter which will instigate scanning for hardware changes. This command line utility will be run
1007 every 5 minutes if the USB device is not connected.
1010 1. MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_Cache memory in Symbian OS V1.0.ppt"
1013 1. DEFECT FIX: DEF140499: PlatSec: Reference MMC stack PSLs allow user r/w access to DMA chunk
1014 2. DEFECT FIX: DEF140378: T_ROFSMULTIPLE Failure
1015 3. MINOR_CHANGE: Added ".../kernelhwsrv/userlibandfileserver/basedocs/Base_How_to_Port_eMMC_Controller.doc"
1018 1. DEFECT FIX: DEF140585: T_SESS panics on H2 with KERN-EXEC
1023 (Made by VincentF 26/06/2009)
1026 1. MILESTONE: SymTB10.1, PQ2390, MS3.1, PREQ2390/CR2034/DS1716: Submit OSTv2 API to the MCL
1029 1. DEFECT FIX: PDEF138135: SMP: euser.dll does not build on x86gcc due to undefined references to vtables
1032 1. DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform
1035 1. MINOR_CHANGE: Ensure t_ramdefrag makes correct assumptions when trying to determine the zone the allocator would
1036 choose for movable and discardable pages
1039 1. DEFECT FIX: DEF139230: Nandloader cannot flash core images of more than ~83 MB on 256MB NAND device
1040 Update nandloader in automated and mauual mode to to flexibly set boundary between locked
1041 and unlocked regions during device format when using 1.5 drivers.
1046 (Made by Vino Jose 25/06/2009)
1049 1. DEFECT FIX: DEF140538: T_DEMANDPAGING fails if Demand Paging not supported
1052 1. DEFECT FIX: DEF130160: No flexible memory model component for H6
1053 Add base_tiomap3_flexible.mrp and base_tiomap3_unistore2_flexible.mrp files under flexible component for inclusion of H6 FMM component as part of CBR release.
1054 Integration team has already created a Placeholder submission for DEF130160 which must be enabled for this submission.
1057 1. DEFECT FIX: Defect Fix: DEF139500: Performance measurment value for "Bootup Techview using SysStart" is < 1sec
1060 1. MILESTONE: SymTB10.1, GT0472, MS3.2.1, DS 1597, PREQ 2094: SMP Caching
1065 (Made by Vino Jose 22/06/2009)
1068 1. DEFECT FIX: PDEF134539: NAND acceptance test t_blockrep is crashing, in NEC NaviEngine1 platform
1073 (Made by Vino Jose 19/06/2009)
1076 1. DEFECT FIX: DEF139224: h4 images can no longer be downloaded by T32/Lauterbach
1077 Ethernet Interrupt is disabled and cleared in Init3()
1079 1. MINOR_CHANGE: Update demandpaging tests to reduce the likelyhood of being unable to allocate
1080 contiguous memory (related to DEF139703)
1085 (Made by Vino Jose 19/06/2009)
1088 1. MINOR_CHANGE: Fix various drivers to properly use SetCpuAffinity to unlock from core 0
1091 1. MINOR_CHANGE: Added the missing distribution files for labrador folders as part of PREQ2683
1094 1. MINOR_CHANGE: Make rom.pl be properly quiet when given -q, and tidy up a little bit
1095 (remove unnecessary parentheses, add spaces and a string initialisation).
1098 1. DEFECT FIX: DEF139776: Core images with very large unpaged sections fail to boot
1099 Replace single call to BML_MRead with multiple calls to BML_Read to ensure that the core image
1100 file is correctly shadowed to RAM.
1101 2. MINOR CHANGE: Correct coreloader source filename and comments
1104 1. DEFECT FIX: DEF138740: SMP + WDP t_ipccpy fails: Kernel Panic "Fault with FM Held! addr=0x00422e20...
1105 SWI interrupt handler was not handling syscalls with extended parameters correctly - register was
1109 1. MILESTONE: SymTB10.1, GT0472, MS3.6, DS.1737: PREQ1967 Embedded MMC v4.3
1110 INTERFACE CHANGE:BR2811.1-Extend PBUS and MMC Classes to provide framework for eMMC Sleep feature
1113 1. DEFECT FIX: DEF140400: Demand paged images don't boot on Labrador
1116 1. DEFECT FIX: DEF140215: elf2e32 crashed in 64 bit windows
1121 (Made by Vino Jose 12/06/2009)
1124 1. MINOR CHANGE: CR1970: Adding missing S60 distribution files and correcting IDs.
1125 2. MINOR CHANGE: CR1994: Updating incorrect copyright headers.
1126 3. MINOR CHANGE: CR1970: Removing orphaned S60 distribution files copied from symtb91.
1129 1. DEF139264: NaviEngine XYIN PDD polling timer active even when no LCD module present
1130 2. MINOR_CHANGE: NaviEngine Only - updated XYIN, KEYPAD and GPIO drivers:
1131 - updated the XYIN PSL to use a dedicated DfcQ (SMPSAFE)
1132 - updated the GPIO to use pre-defined spin-lock priority rather than a numeric value.
1133 - fixed GPIO driver, which was crashing the board when calling to SetInterruptTrigger()
1134 - updated drivers so that they read display mode from DIP switch settings in order to
1135 start/configure settings properly according to this mode.
1140 (Made by Vino Jose 11/06/2009)
1143 1. DEFECT FIX: DEF139130: E32TEST t_pipe2 crashes in NE1_TB.ARMV5.UDEB.SMPKERNEL
1146 1. DEFECT FIX: DEF139741: Documentation for 2x YUV_422 pixel format wrong in E32's
1151 (Made by Vino Jose 08/06/2009)
1154 1. DEFECT FIX: DEF135926: Wrong return type from RBTrace::Filter() & RBTrace::SetFilter
1155 RBTrace::Filter & RBTrace::SetFilter changed to return a TInt.Changed Tbool aValue in the
1156 RBTrace::SetFilter() to TInt aValue. Updated comments to describe true behaviour of the APIs.
1159 1. DEFECT FIX: DEF139270: [ShBuf] T_SHBUF_OWN fails on NE1_TB.ARMV5.UDEB.SMPKERNEL
1160 Use DObject::Close instead of delete on pointers to DMemModelAlignedShBuf/DWin32ShBuf
1161 2. DEFECT FIX: DEF139296: T_DMA fails in NaviEngine SMP UREL test runs
1162 Change ShBuf test to prevent over-fragmentation of kernel heap
1163 3. DEFECT FIX: DEF139480: Shareable Data Buffers performance has regressed
1164 Various performance tweaks in shareable data buffers code
1165 4. MINOR_CHANGE: Add Base_How_To_Shareable_Data_Buffers.doc
1166 5. MINOR_CHANGE: Fix typos in flexible memory model comments
1169 1. MINOR_CHANGE: Added Crazy Interrupts option for ARM SMP.
1172 1. DEFECT FIX: DEF139527: [system build]: cat x files in MSF00064 vtb92sf
1177 (Made by Andrew Haigh 05/06/2009)
1180 1. MINOR_CHANGE: PREQ2518 Modification of Symbian OS copyright notices for run-mode debug
1181 2. MINOR_CHANGE: PREQ2683 Adding distribution.policy.s60 files for all components in the MCL for run-mode debug, stop-mode debug, system crash and utrace components.
1186 (Made by Vino Jose 02/06/2009)
1189 1. DEFECT FIX: DEF139225: t_ramdefrag crashes the kernel on h2 armv5 udeb
1190 Ensure that Defrag::DisablePageModification() acquires the system lock before reading
1191 a chunk's iBase member.
1193 1. MINOR_CHANGE: Add distribution.policy.s60 files for SD Driver for the work done in PREQ2560
1194 2. MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved for rvemuboard
1197 1. DEFECT FIX: DEF139129: ESOUNDSC is not marked SMP safe
1200 1. DEFECT FIX: DEF137035: Remove duplicated classes/structs in usb
1201 BREAK REQUEST: BR2683.1: Deprecate existing USB Shared Chunk Client Endpoint Resource Allocation APIs
1204 1. DEFECT FIx: DEF139054 ONB: graphics wstest_t_draw_s1_nga test failure (armv5)
1209 (Made by Vino Jose 01/06/2009)
1212 1. MINOR_CHANGE: fix MBC files after sdcard3c directory renamed & moved
1213 2. DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
1214 the previous fix for this contained a bug that means reset will restart previous image
1215 rather than reset the board to the bootloader
1218 1. DEFECT FIX: DEF138747: SMP: SMPKERNEL and SMPPAGE lockup during bootup if tested sequentially
1219 !IMPORTANT! This change may result in Naviengine roms not booting correctly
1220 on older bootloaders. You should be using bootloader 1.11 platform build 5
1221 or a higher version. This fix changes the way software reboot is handled to
1222 be much more reliable.
1225 1. DEFECT FIX: PDEF138397: PRM: ChangeResourceState() doesn't properly update current level owner
1228 1. DEFECT FIX: DEF139497: X86 ROMs crash on boot with DP: Fault with FM Held!
1229 Replace use of consts with enums in x86/cexec.cia (except for X86GCC).
1231 1. MILESTONE: SymTB9.2, GT0472, MS3.2.3, DS.1692: SMP Product Kernel: User-side read/write locks
1234 1. DEFECT FIX: DEF139525:[system build]: catx files in MSF00064 vtb92sf
1236 1. DEFECT FIX: DEF139585: Labrador bootloader is not working as expected.
1237 2. DEFECT FIX: DEF139303: Enable tvout functionality for labrador
1240 1. DEFECT FIX: DEF139612: Booting from SD card is not supported in 3430 bootloader
1243 1. MINOR_CHANGE: Updating the Labrador User Guide
1244 2. MINOR_CHANGE: Removing duplicate Labrador User Guide
1245 3. DEFECT FIX: DEF128530: T_USBAPI test failure on 3430
1248 1. MINOR_CHANGE: Fix mbc files now that the sdcard3c bld.inf has been moved for all
1249 base ports' mbc files that can build with the new source layout.
1252 1. DEFECT FIX: DEF139479 usbtest.testlist.h4.bat tests are failing due to recent code split
1253 Runtests modified to ignore comments in auto test batch files
1256 1. MILESTONE: SYMTB9.2, Base Duranduran, GT0419, MS3.27, PREQ2559: Kernel & HWS: Prepare Customers XSR FTL TPIP for Symbian Foundation
1259 1. DEFECT FIX: DEF138855: H6 UREL ROMs crash early in boot when DebugPort > 2
1264 (Made by Sergei Trofimov 28/05/2009)
1267 1. PREQ2621, DS.1698: relocating header files.
1272 (Made by Vino Jose 20/05/2009)
1275 1. DEFECT FIX: DEF139375: Bootstrap.mk fails to build with raptor
1278 1. MINOR_CHANGE: CR1994:Add PREQ2518 (Modification of Symbian OS copyright notices)- TBAS (T16135 was Green)
1279 2. MINOR_CHANGE: CR1970:Add PREQ2683 (Adding distribution.policy.s60 files for all components in the MCL (//epoc/master/sf/...))-TBAS (T16135 was Green)
1282 1. MILESTONE: SymTB9.2, GT0472, MS3.2.2, DS.1600 PREQ 2094: SMP Product Kernel: (Thread) Affinity Groups
1283 NaviEngine roms built with -d SMPCOMPATMODE will now use the new thread group
1284 compatibility mode, instead of being locked to core 0, for unsafe code. The
1285 old compatibility mode is still available as -d SMPCOMPATCPU0.
1288 1. MINOR_CHANGE: added new document "Base_BSP_Development_for_SMP.doc": Charles Garcia-Tobin's
1289 document with a new template and a few minor changes.
1294 (Made by GeorgeSin 19/05/2009)
1297 1. DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform
1300 1. DEFECT FIX: DEF139267: [ShBuf] T_SHBUF fails on X86
1301 Fixed test to use alignment of 1 << 5 if cache alignment is less than this.
1304 1. DEFECT FIX: PDEF139321: NaviEngine Techview ROMs use generic version of estart
1307 1. DEFECT FIX: DEF138273 [System Build]: ClassifySource returning Category X
1308 Modified bld.inf and mrp files to resolve packaging issues relates to exports.
1311 1. DEFECT FIX: DEF133196: t_cputime frequently fails on smp roms
1312 Generalised some test cases to run correctly under SMP
1315 1. DEFECT FIX: PDEF134657: Insufficient validation of RMessagePtr2 handles
1316 Kernel message buffers are now allocated from their own chunk, thus
1317 preventing address spoofing
1320 1. DEFECT FIX: PDEF134498: Platform Security can be disabled by an insecure debug agent (2)
1321 This fix adds two TRK blocking applications.
1323 2. DEFECT FIX: DEF138274: ClassifySource returning Category X in CrashMonito
1326 1. MILESTONE: SymTB9.2 GT0419, MS3.25, DS.1713 PREQ2560: SD simplified specification
1327 INTERFACE CHANGE:BR2778-Adding data member to TSDCard class
1330 1. DEFECT FIX: DEF139202: Nand images do not work on Labrador.
1333 1. DEFECT FIX: DEF139046: Demand Paging H4 COMM device driver client request state bad for subsequent read
1338 (Made by marcinmaksymiuk 14/05/2009)
1341 1. DEFECT FIX: DEF138552: Some improvements to UTrace code are necessary.
1346 (Made by GeorgeSin 12/05/2009)
1349 1. DEFECT FIX: PDEF138804: Kern::ThreadCreate() unnecessarily enters thread critical section
1350 Removed the unnecessary entry into a critical section.
1353 1. DEFECT FIX: DEF138287: [BFC] Warnings during BUILD stage in base_tiomap3
1356 1. DEFECT FIX: DEF138984: T_CHUNK can deadlock due to incorrect Sem. usage in original fix for trg hung
1357 Need to use three semaphores or we risk signal stealing if one thread gets ahead of the others and starts a
1358 second iteration before the other threads have been signalled and have begun their first iteration.
1361 1. DEFECT FIX: PDEF138700: NaviEngine BSP fixes
1364 1. DEFECT FIX: DEF138841 Bug in D_COMM.CPP
1365 Updated to use correct spin lock macros in serial driver LDD ISR code.
1368 1. DEFECT FIX: PDEF138462: The format in mmp and bld files within BSP dir need to have only forward slashes
1371 1. FINALDS: SymTB10.1, GT0472, MS3.5, DS.1611 CR1824:Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver.
1372 CHANGE REQUEST: CR1824 Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver
1373 INTERFACE CHANGE: BR2751.1 Peripherals: Add Timeplayed and TimeRecorded APIs for audio playback and record in audio driver
1378 (Made by patrickconway 08/05/2009)
1381 1. MILESTONE: SymTB9.2 GT0419, MS3.12, DS.1467 PREQ1490: Flexible Memory Model
1382 Requirements: PREQ1490 Flexible Memory Model
1383 REQ11423: Provide shareable buffer mechanism to reduce copies between kernel drivers and user side processes
1384 2. INTERFACE CHANGE: BR2786.1 BC break to DObject virtual function table
1389 (Made by George Sin 07/05/2009)
1392 1. MINOR_CHANGE: Make enable_symbolics.cmm aware of new source layout, where "os/" is parent dir.
1397 (Made by George Sin 29/04/2009)
1400 1. DEFECT FIX: DEF137995: add Devmon notification for each OHCI scheduling overrun error
1401 2. DEFECT FIX: PDEF137828: Perl scripts in /e32test/usb/ need Nokia copyright header
1402 3. DEFECT FIX: DEF137749: t_usbdi test rom build failed
1403 4. DEFECT FIX: DEF135549: [USBHO]build warning for usbdi_channel.cpp
1406 1. DEFECT FIX: DEF136834 - T_RAMDEFRAG fails, Error -26 at line 8907
1409 1. DEFECT FIX: DEF137735: The trace instrumentation guidelines in the MCL do not describe UTFv2.0
1412 1. DEF136443: T_RAMDEFRAG fails on 34XX_SDP
1413 Change estart.mmp for 3430 so that filecaching can be enabled,
1414 but also ensure that t_ramdefarg copes when something goes wron with filecaching.
1417 1. MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
1418 (This change had been applied originally in CL1423748 but was undone
1419 again in CL1512674.)
1422 1. DEFECT FIX: DEF138257: Cache should be cleaned before setting up a dma read in usb client PSL (3430)
1423 2. DEFECT FIX: DEF138089: T_USBCSC fails on H4HRP.ARMV5...
1426 1. DEFECT FIX: DEF136297: ONB : TEXECUTEwstest_t_bitgdirenderstage_rom.script TRedrawStoring test fails
1427 2. DEFECT FIX: DEF137527: M04905 crashes H6 board with FAULT: DMA 0x000002ef (751) on ppp connection
1430 1. DEFECT FIX: DEF137515: GPIO and Ethernet NaviEngine PDDs are not marked SMPSAFE
1433 1. MILESTONE: SymTB10.1 GT0472, MS3.12, DS.1723 PREQ2094: Product Quality SMP Kernel
1434 Requirements: PREQ2094: Product Quality SMP Kernel
1435 REQ12442: Documentation - SMP Device Driver Migration Guide
1438 1. DEFECT FIX: PDEF138614: MMC Stack does not resend CMD23 if Data CRC Received
1441 1. MILESTONE: SymTB9.2 GT0419, MS3.22, DS.1462 Splitting "mixed" header files - phase 1
1442 Requirements: PREQ2498: Splitting "mixed" header files- Kernel & Hardware Services - E32 directory
1447 (Made by George Sin 28/04/2009)
1450 1. DEFECT FIX: DEF137738:t_sprioritycap tests fail with Exit type 2,100,Close&Wait
1453 1. FinalDS: SymTB9.2, GT0419, MS3.21, DS.1688 PREQ2033: BSP: OMAP3430 board support package
1454 Requirements: PREQ2033 Cortex A8 BSP
1455 Other: New components had been added, base_tiomap3_lab, base_tiomap3_lab_unistore2, base_tiomap3_lab_sdio,
1456 base_tiomap3_sdio, hence new mrp files are included. All of them had been verified using TBAS (T15497 was Green).
1459 1. DEFECT FIX: DEF138496: A number of drivers need to be marked SMPSAFE
1464 (Made by Fernando Porta 28/04/2009)
1467 1. MINOR_CHANGE SymTB9.2, DS.1680 Wordscan and copyright changes for debug components
1468 under GT0497 PREQ2578 Developer Tools Debug Tools asset prep for SF TB 9.2 (MCL)
1473 (Made by Song Li 24/04/2009)
1476 1. MILESTONE: SymTB9.2 GT0456, MS3.3, DS.1661 PREQ2564 Prepare Shortlink Services USB Host and OTG TPIP for Symbian Foundation
1481 (Made by George Sin 21/04/2009)
1484 1. DEFECT FIX: PDEF134689 3430/H6 BSP does not contain workaround for ARM Cortex-A8 Eratta 430973
1485 Implement workaround using TI Boot Monitor. Set IBE and disable branch size mispredict to
1486 1 in CP15 Auxiliary Control Register.
1489 1. DEFECT FIX: DEF138299: EPL header missing from files
1492 1. DEFECT FIX: DEF137729: Coverity SymTB9.2 - M04900 - Base components
1495 1. DEFECT FIX: DEF135950: Camera Defect: Need ability to set Brightness and other Dynamic settings
1496 2. DEFECT FIX: DEF138038: Camera Driver: Various logic mistakes need to be fixed
1499 1. DEFECT FIX: DEF137536: DMA drivers are not marked SMPSAFE
1500 The PSL code has been reviewed; the test driver has been changed to use a dedicated DFC queue
1501 and CPU affinity for the DFC queue has been set to "any". T_DMA has been run on NaviEngine.
1502 DMA PIL, DMA PSL for NaviEngine and DMA test driver have been marked SMPSAFE.
1505 1. DEFECT FIX: DEF138240: SYMTB92 file rom.pl has hardcoded path to source code
1508 1. MINOR_CHANGE: Unlock UART from CPU 0
1511 1. DEFECT FIX: DEF137390: Panic happens in soundsc_rx.cpp during record
1514 1. DEFECT FIX: DEF138490: Convert user side Power Resource Manager to WDP safe
1517 1. DEFECT FIX: DEF138318: SMP + Data Paging T_Chunk fails: t_chunk.exe::Local-c811fe18 Panic KERN-EXEC
1518 Modified to use thread pool in chunk-close race condition test to prevent KERN-EXEC 3 when stack is accessed
1519 after 50 CloseChunk threads have been created over and over again for 800 times until the backing store is
1520 exhausted and there is no storage left to commit to the stack page.
1525 (Made by George Sin 17/04/2009)
1528 1. DEFECT FIX: DEF136869: SMP: It's not possible to easily boot NaviEngine with 2 or 3 CPUs
1529 implemented it using patchable constant.
1532 1. DEFECT FIX: PDEF134648 HAL::EDisplayXPixels sometimes returns uninitialised data
1535 1. DEFECT FIX: DEF133208 shared_sysdma for OMAP3430 requires macro __IS_OMAP2420__ defined
1536 Modify Omap3 ASSP code to build correctly without defining this macro. Add Omap3 support
1537 to d_latncy in e32test and use that instead of BSP specific version.
1540 1. DEFECT FIX: PDEF137533: Reported size of filesystem cache chunk keeps increasing
1541 Ensure that for disconnected chunks Decommit() sets the size of the chunk via the bit map
1542 not by looking at which pages are mapped.
1547 (Made by George Sin 14/04/2009)
1550 1. DEFECT FIX: DEF136833: ONB: 3 new bitgdi test failures on H6
1552 2. Radhakrishnanramanat
1553 1. DEFECT FIX: DEF135076: boottime is 0 in H6 using REBOOT.LDD
1554 Enable the GPtimer 11 configuration, used for boottime measurement.
1556 1. MILESTONE: SymTB9.2 GT0419, MS3.9.7, DS.1677 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
1557 2. DEFECT FIX: DEF137283: IIC Controller FreeChanWriteAccess should use spin lock
1558 Replaced atomic access with spin lock guard
1561 1. DEFECT FIX: DEF137709: Erroneous line in compsupp/rvct3_1/drtaeabi.mmp
1562 2. MINOR_CHANGE: Remove compsupp/base_e32_compsupp.history.xml.
1567 (Made by GeorgeSin 09/04/2009)
1570 1. DEFECT FIX: DEF137080: BFC failed due to missing rebootdrv.h
1575 (Made by GeorgeSin 08/04/2009)
1578 1. DEFECT FIX: DEF137353: Emulator multitouch support broken on Win2K
1581 1. DEFECT FIX: DEF136839: NAND media driver doesn't cancel garbage collection DFC
1584 1. DEFECT FIX: DEF137241 - Template assp and variant are not located in the right places in master/sf
1587 1. MINOR_CHANGE: Add SMPSAFE macro in NaviEngine serial PDD.
1591 (Made by George Sin 02/04/2009)
1594 1. DEFECT FIX: DEF137410: [System Build]: Errors in GT compilation related to medusiis.lib M04905 vFuture
1598 (Made by George Sin 30/03/2009)
1601 1. DEFECT FIX: DEF137240: Kernel should parse descriptor headers when reading them from user-side
1604 1. DEFECT FIX: DEF137294: ARMV7 compilation errors in TIOMAP3 BSP in M04902 vFuture build
1608 (Made by George Sin 26/03/2009)
1611 1. MILESTONE: SymTB9.2 GT0419, MS3.9.6, DS.1609 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
1614 1. DEFECT FIX: DEF137253: [System Build] buildrom missing file _34XX_SDP_HSMMC1SDIO.DLL in M04901
1619 (Made by George Sin 23/03/2009)
1622 1. DEFECT FIX: DEF135702: H4 board crashes when rapidly insert and eject the MMC card on WDP build
1625 1. DEFECT FIX: DEF136827: Crash Monitor doesn't print out register information for all CPU cores
1628 1. MINOR_CHANGE: NaviEngine Sound PDD driver updates.
1631 1. MINOR_CHANGE: update Trace32 scripts
1632 Fix SymbianOS awareness; fix bootstrap symbols; align all version of scripts to a common version
1635 1. DEFECT FIX: DEF136419: Base component base_tiomap3 not getting compiled against ARMV7
1638 1. DEFECT FIX: PDEF136488: ONB: wstest_t_autotest.script crashes
1639 Unreverting PDEF135269. TRegion::AppendRegion calls SetListSize rather than ExpandRegion which can cause
1640 the preceding data to be discarded if there is a reallocation. After change to use ExpandRegion, graphics
1644 1. SymTB9.2, GT0421, MS3.1, DS.1625 PREQ1954 Kernel & HWS: Serial Driver Writable Data Paging & SMP Safe
1647 1. DEFECT FIX: DEF137010: t_timer hangs on the emulator
1648 2. MINOR_CHANGE: add data paged h4 usb test rom
1651 1. DEFECT FIX: DEF135949: Camera Driver: BufferIdToOffset needs to pass the Mode parameter
1654 1. DEFECT FIX: DEF136659 : RVCT v3.1: Linker error for d_second_excp.dll / d_second_excp2.dll
1657 1. Milestone: SymTB9.2, GT0419, MS3.19, DS.1605 PREQ2033: BSP: OMAP3430 board support package
1658 Requirements: PREQ2033 Cortex A8 BSP
1661 1. DEFECT FIX: DEF137047: Modified GCE SMP safe driver
1664 1. DEFECT FIX: DEF136665: Kern::InfoCopy() doc is incomplete.
1667 1. DEFECT FIX: DEF136224: Unable load ROM Image generated without RomLoaderHeader on NaviEngine
1672 (Made by George Sin 18/03/2009)
1675 1. DEFECT FIX: DEF136577 Too long path cause build error in MergeBranch BSP sub-tree on ARM4 platform.
1676 2. MILESTONE: Diran, GT0364, MS3.2.7 DS1538 PREQ1994: Crash Flash logger
1677 Crash Flash logger for the NaviEngine (second attempt)
1680 1. MILESTONE: Diran, GT0419, MS3.9.5, DS.1540 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
1681 2. DEFECT FIX: DEF133707: IIC Race condition for MasterSlave channels
1682 (This includes Break Request BR2705)
1683 3. DEFECT FIX: DEF133712: IIC Active wait issue for Slave channels on single-processor systems
1684 4. DEFECT FIX: DEF133713: IIC Potential for corruption of spin lock state
1685 5. DEFECT FIX: DEF133715: IIC Slave ?lose?of client thread may be attempted from an ISR
1688 1. MINOR_CHANGE: update MBC files after \f32\sftl directory removed
1689 2. MINOR_CHANGE: update H4 Lauterbach Trace32 scripts to fix bootstrap debugging and EKA2 awareness
1694 (Made by George Sin 13/03/2009)
1697 1. DEFECT FIX: DEF133124: GetCompositionBuffer in gce LCD driver for NaviEngine does not swap buffers
1698 Introduce iPostFlag variable to identify a Post operation has occurred.
1699 2. DEFECT FIX: PDEF136355: Incorrect calculation of buffer size in display.cpp
1700 3. MINOR_CHANGE: Fix incorrect interrupt enable/disable sequence for the naviengine GCE driver plus offset fix.
1703 1. MILESTONE: Ermine, GT0488, MS3.1, DS1448, PREQ2338: Base: Emulator support for multi-touch, pressure & proximity
1706 1. DEFECT FIX: PDEF135653: Lumiere20.024_Memory: Phone resets automatically after RAM low(2000~3000kb).
1709 1. DEFECT FIX: DEF136066: Microsoft - Base - Loki Fixes. For copyright issue, eject.cpp of t_usb_win rewritten.
1712 1. DEFECT FIX: PDEF135529: Serial components stop responding
1713 Interrupt detection - changed from edge to level for FPGA Interrupt.
1714 H4::InterruptXXX updated with bug fix.
1715 QUART and PS2 KeyBorad ISRs and DFCs are updated with bug fix.
1718 1. DEFECT FIX: DEF136314: Chunk offset (iChunkOffset) not reset for every read/write request
1719 2. DEFECT FIX: DEF136348 SMPDDM: MMC Media Driver is not SMPSAFE
1722 1. DEFECT FIX: DEF135637 : Obsolete members and values need to be removed
1725 1. DEFECT FIX: DEF135303: t_ramdefrag test fails / crashes on h2
1726 Need to do the heap allocations before getting the page counts to set up memory
1729 1. Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer
1732 1. DEFECT FIX: PDEF136203: F32test t_pwstr fails for SD card
1735 1. DEFECT FIX: DEF133392: MMC Stack attempts to set clock speed before power is enabled
1738 1. DEFECT FIX: DEF135801 Multiple Memory Model crash on unicore NaviEngine with DP and WDP enabled
1739 DMmuCodeSegMemory::ApplyCodeFixupsOnLoad needs to temporarily reenable access to user memory (in debug mode,
1740 access is disabled automatically) to query the cache's IMB range.
1742 2. DEFECT FIX: DEF135733: SMP: NaviEngine rom building files need updating to support demand paging
1745 1. DEFECT FIX: DEF136456: NGA leads to inproperly display on emulator
1748 1. DEFECT FIX: PDEF134720 t_thread fails on SMP kernels
1753 (Made by George Sin 10/03/2009)
1756 1. MINOR_CHANGE: Changes in two test applications to match the test case ids according to the test spec.
1759 1. DEFECT FIX: DEF135504: SSR not supported error can't be triggered for regular H6 roms
1762 1. DEFECT FIX: PDEF135403: Error code for timeout in RSemaphore::Wait(ti) is not specified in in-source doc
1765 1. DEFECT FIX: PDEF134654: E32TEST T_DISPCHAN.EXE fails on 34XX_SDP platform
1768 1. MINOR_CHANGE: Add HAL values for DEF134360.
1769 This doesn't solve the defect, however, more changes may be needed by graphics.
1770 2. MINOR_CHANGE: Fix BootLoader downloads of unzipped images with no header
1771 A previous change to the Ymodem code added in a extra & to a pointer assignment,
1772 causing the board to crash if a no-header, uncompressed ROM was downloaded.
1775 1. DEFECT FIX: DEF136123: Revert PDEF135269 to stop failures on the graphics tests
1778 1. DEFECT FIX: DEF130021: No FMM component for H4HRP
1779 Add base_omaph4hrp_flexible.mrp file under flexible component for inclusion of H4 FMM component as part of CBR release.
1780 Integration team has already created a Placeholder submission for DEF130021 which must be enabled for this submission.
1783 1. DEFECT FIX: PDEF134564: t_rmdebug2_oem test fails on platforms with no crash flash partition
1784 2. DEFECT FIX: PDEF134499: Run-mode Debug API allows user to switch user programs to kernel mode
1785 3. DEFECT FIX: PDEF134605: Write position of new crash logger is incompatible with the old crash logger
1786 4. DEFECT FIX: PDEF134628: Run-Mode debug driver does not clear process breakpoints on a killthread event.
1787 5. DEFECT FIX: PDEF135497: SCMonitor throws data abort if it needs to delete the last flash block.
1788 6. MINOR_CHANGE: Remove the rm_debug tests that fail on SMP to prevent board from hanging
1791 1. DEFECT FIX: PDEF115092: Intermittent failure of T_RCACHE on H2 Armv5 Urel build
1792 2. DEFECT FIX: DEF135745: DMmcMediaDriverFlash::DecodePartitionInfo fails on MBR-partitioned media
1795 1. DEFECT FIX: DEF136294: Issues with HCD page size (USB HOST/OTG Stack issue B67686)
1798 1. DEFECT FIX: PDEF134755: Sound driver on H6 does not handle pause/resume properly
1801 1. DEFECT FIX: DEF135849: Run-mode Debug Driver performance improvement for WDP
1802 (submitted by RichardCo on behalf of tools team)
1807 (Made by George Sin 02/03/2009)
1809 1. Radhakrishnanramanat
1810 1. DEFECT FIX:DEF134020: Loading the REBOOT.LDD fails with error -1 on H6
1811 Add reboot.ldd in base_34xx_sdp.iby.
1813 1. DEFECT FIX:DEF131764: tpantestusb_dummyCCROM test Crashes in OmapUsbcGenericClientController::Connect
1816 1. MINOR_CHANGE: Change input parameter TUsbBusId to TUsbBus of UsbTransferMemoryRequirements class in
1817 order to align it with the other methods of that class, remove references to TUsbBus
1818 2. MINOR_CHANGE: Update/clarify documentation and in-source comments
1821 1. DEFECT FIX: DEF134791: t_romtable.cpp should only use DebugPrintf() in UDEB builds
1822 h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
1825 1. DEFECT FIX: DEF134182: __crash() ought to be rewritten
1826 Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
1827 2. DEFECT FIX: DEF134183: CountLeadingZeroes() should be rewritten
1828 Eliminating deprecated use of inline assembler from RVCT 3.1 versions of code.
1829 3. DEFECT FIX: PDEF135269: Performance: Unoptimized region handling by EUSER can cause hangs in Browser web
1830 Reimplementing TRegion::Tidy for higher performance and correcting memory allocation routines to respect granularity.
1833 1. MINOR_CHANGE: add copyright header to NaviEngine Lauterbach scripts
1836 1. DEFECT FIX: PDEF134602: User-side thread data causes bad memory access at thread kill time
1840 1. DEFECT FIX: DEF133959: Eshell command can not support a large amount of files
1841 Submitted in a seperate changelist-1507995
1844 1. DEFECT FIX: DEF134765: EmptyRamZone error description is not enough
1845 Updates to commments to improve Doxygen documentation
1848 1. Milestone: Diran, GT0518, MS 3.4, DS.1516, PREQ2295: Traceability PREQ for changes to Saffron
1849 The UTrace API will be part of the Base tree such that it can be used in user mode only for this release.
1850 It adds a new kernel extention (UTraceOut), a new IBY file (e32utrace.iby) and new def files for related libraries.
1851 Customers wishing to use the new API will need to include the e32utf.h file in their source
1852 and e32utrace.mmh in their mmp file.
1855 1. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10705: Kernel: Allow servers to make performance guarantees in a demand paged system
1856 2. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10706: Peripherals: Device driver migration for data paging
1857 3. MILESTONE: Diran, GT0421, MS3.30, DS1211, REQ10708: Kernel: Productised data paging implementation
1858 Writeable data paging productised kernel submission
1861 1. DEFECT FIX: DEF135390: ROM.PL doesn't return an error if ROFSBUILD fails
1862 2. DEFECT FIX: DEF130212: btrace hangs when writing to mmc card
1863 3. DEFECT FIX: DEF134133: DP: Local media subsystem assumes demand paging buffer is physically contiguous
1866 1. DEFECT FIX: PDEF135173: Kernel needs workaround for ARM Cortex-A8 Eratta 447862
1867 2. DEFECT FIX: DEF135559: SMP: SMP images with BTrace configured at rombuild time hang in bootstrap
1870 1. DEFECT FIX: PDEF134611: t_pipe times out intermittently on H2
1871 This fixes race conditions in the notification system of the pipe driver which are a
1872 potential problem on all platforms.
1873 2. DEFECT FIX: PDEF134731: Error Code not handled from Kern::ThreadDesRead and Kern::ThreadDesWrite
1874 3. MINOR_CHANGE: Stop t_pipe failing on integrator: don't close handles till test thread completes.
1878 1. DEFECT FIX: DEF133783: [Coverity]-NULL_RETURNS,OVERRUN_STATIC,USE_AFTER_FREE,UNINIT-base/f32,base/e32
1882 1. DEFECT FIX: PDEF135788: Performance issue with SyncMemoryBeforeDmaRead with WT cached memory
1883 Removed unnecessary cache purge of Write-Through DMA buffers prior DMA read.
1886 1. MINOR_CHANGE: Add export to direct memory model was missing from last change.
1889 1. DEFECT FIX: PDEF134574: Race condition in Server IPC read/write
1890 Handling of IPC messages updated to eliminate several race conditions which are particularly
1891 likely to occur when data paging is in use.
1895 (Made by George Sin 27/02/2009)
1898 1. DEFECT FIX: DEF135688: CBR stage errors due to multiowned files in M04870 vtb92
1899 naviengine.inc was generated by both multiple and flexible memory model builds of the NaviEngine BSP.
1900 Fixed this by generating the inc file into memory model specific directories
1905 (Made by JohnS 10/02/2009)
1908 1. MILESTONE: Emin, GT0498, MS3.1, DS.1215, PREQ2035: Base Services: Prototype Accelerometer LDD.
1909 This Delivery Step aligns with Sensors TR 1.4.1 Core OS 2 transfer milestone.
1910 The LDD component will be will be part of the Base tree configured for building only in Emin
1911 (vFuture) release builds.
1912 It will add a new IBY file which will _not_ included into system files or GTCs.
1913 Customers wishing to use the new component will need to #include it.
1916 1. MINOR_CHANGE: updated NaviEngine BootLoader
1917 2. MINOR_CHANGE: updated NaviEngine User Guide
1918 3. MINOR_CHANGE: updated ARM BSP with latest ARM release
1919 4. MINOR_CHANGE: make the NaviEngine do F32 tests on the MMC drive
1922 1. DEFECT FIX: PDEF135148: Guidance on required changes to coreloader for demand paging.
1925 1. PDEF134721: Put an assert in NTimerQ::Tick()
1928 1. MINOR_CHANGE: enable VRFB mode on OMAP_HRP
1929 2. DEFEXT FIX: PDEF134646: ONB:? TDirect GCE fastpathing DSA on multiscreen
1930 3. DEFECT FIX: PDEF135144: Emulator display code uses internal kernel API
1933 1. DEFECT FIX: PDEF134753: Power Resource Manager - Nonsharable class should be instantiated from any DLL
1936 1. DEFECT FIX: DEF133798: Missing support for ECamCaptureModeVideo with EUidPixelFormatSpeedTaggedJPEG
1937 2. MINOR_CHANGE: Added a shared chunk camera driver template to the template base port.
1940 1. DEFECT FIX: DEF133782: [Coverity]-DEADCODE,DELETE_ARRAY,FORWARD_NULL,MISSING_BREAK,RESOURCE_LEAK,OVERRU
1943 1. DEFECT FIX: PDEF34675: Navieng fails to boot from NAND
1944 h2inc.pl doesn't support token replacement, so naviengine.inc was generated with a zero baud rate divisor
1951 (Made by NicholasC 04/02/2009)
1954 1. MINOR_CHANGE: Added e32/drivers/camerasc to x86/*.mbc
1957 1. MINOR CHANGE: Removed unused and not symbian related code from x86 pci driver.
1960 1. DEFECT FIX: DEF133200: t_usb_device intermittently fails on mass storage test (mstore.uts).
1961 Improved error reporting and changes to the perl scripts.
1964 1. DEFECT FIX: DEF130207: bm_suite failing on integrator
1965 bm suite driver on integrator ported to post-SMP interrupt binding mechanism
1968 1. DEFECT FIX: DEF133806: Two unicode functions can corrupt heap
1971 1. DEFECT FIX: DEF132163: Assertion failure in win32 ncsched.cpp
1972 2. DEFECT FIX: DEF133858: WINS[CW] emulator display paints incorrectly & causes access violations in gui32
1975 1. MILESTONE: Diran, GT0419, MS3.9, DS.1294 PREQ2128 I2C device driver help and PREQ2129 SPI device driver helper
1976 2. MINOR CHANGE: Add SMPSAFE to the new mmp files
1982 (Made by Kai Duan 30/01/2009)
1985 1. DEFECT FIX: DEF132795: Duplicated nanddefs2.h file in Unistore-II XSR code
1986 Remove duplicated header file. Apply other changes so that impacted code still builds.
1989 1. DEFECT FIX: DEF126733: H4 bootloader crashes if using OneNAND support but no OneNAND module is present
1992 1. MINOR_CHANGE: Updated tags for Coverity Defects (Re: DEF131516)
1993 2. DEFECT FIX: DEF133321: Profanities and typos in dev1 branch
1994 3. DEFECT FIX: DEF133445: Improvement to RThread::Create documentation
1997 1. DEFECT FIX: DEF129623: I2C driver crashes on first use after power on
1998 The 3430 I2C driver was crashing the first time it was used to access the Omnvision camera sensor after
1999 powering the board on. This now fails gracefully and returns an error. However, because it indicates a
2000 serious misconfiguration of the system, the cause of which not yet been determined, in UDEB builds it
2001 will fault the kernel with an error message
2002 2. DEFECT FIX: DEF132119: t_camera_api test does not support saving RGB image data
2003 3. MINOR_CHANGE: Fixed some camera test warnings that only happen under WINS. Missed them first time around
2004 due to BTB being sick
2005 4. DEFECT FIX: DEF133143: ecamerasc.ldd cannot handle a PDD that has 0 image, video or viewfinder formats
2006 5. MINOR_CHANGE: Added e32/drivers/camerasc to tiomap3/variant/34xx_sdp/armv5.mbc
2007 6. MINOR_CHANGE: Updated comments pertaining to TSoundFormatsSupportedV02::iRequestAlignment for clarity
2010 MILESTONE: Sphinx, GT0339, MS3.24, DS.1495 CR1303 Board Support Improve LCD Driver performance
2013 1. DEFECT FIX: DEF133114: DRamAllocator reserved page locking leads to MMUBASE FAULT
2016 1. DEFECT FIX: DEF133318: Obsolete ":LOR: CFG_ARMV7" condition in bootcpu.inc
2017 Remove useless ":LOR: CFG_ARMV7" from the end of an IF statement that is itself
2018 within the ELSE of a "IF CFG_ARMV7".
2019 2. MINOR_CHANGE: Remove unnecessary emphasis in comments regarding hardcoded constants in FMM mmboot.h
2020 3. MINOR_CHANGE: Fix mis-spelling of Symbian in e32/drivers/pbus/mmc/sdcard/sdcard3c/sdio/sdiocard.cpp
2023 1. MINOR_CHANGE: Modify documentation for Kern::MutexWait() to emphasise the need for a user thread
2024 to remain in critical section for as long as it holds mutex.
2027 1. DEFECT_FIX: PDEF133116: Incorrect ODP architecture 7 32bit BL fault
2028 Change exception vectors to set fault address to DFAR on data abort or on
2029 prefetch abort to IFAR if exists or the return address if it doesn't.
2032 1. DEFECT FIX: DEF133347: evfpv3 kernel extension is useless and misleading
2033 Deleted the evfpv3 kernel extension as current VFPv3 hardware does not require it and it
2034 is unknown whether it will function correctly for hypothetical future hardware which does.
2035 2. DEFECT FIX: DEF131665: Deadlock situation when Demand Paging is enabled
2036 Fix potential kernel crash in RProperty::Set (note: not a deadlock or specific to demand paging)
2037 3. DEFECT FIX: DEF133760: NThread::ResetUserContextType clears too many states
2038 Fixes tiny possibility of hardware debugger reading/writing the wrong part of the stack when using
2042 1. DEFECT FIX: DEF133183: H6 Doesn't support restart with mode
2045 1. MINOR CHANGE: Tagged intensional some coverity defects. (ref: DEF131478)
2048 1. DEF126984: Problems with DUsbInterface::CancelPermitSuspend (BR2609)
2049 2. DEF127668: Module jetest.c fails to compile
2050 3. DEF129343: t_usbdi test case 0494 sends and receives unexpected data
2051 4. DEF130515: OPT Test TD.4.10 fails to provide expected error message
2052 5. DEF130937: DUsbDevice::Detach closes USBDI channel brutally
2053 6. DEF131695: USB Host DFC queue tdfcq is not shutdown properly causing a thread leak
2054 7. DEF130153: [USB Host/OTG Stack]OPT test 5.4-2.9ms fails on second attempt
2057 1. DEF133542: Coverity issues in data-paging local media code
2058 2. DEF133801: DMA-ing into file server's directory cache does not update descriptor length
2059 3. DEF133852: T_DRTAEABI no longer compiles in release mode
2062 1. DEF132982: t_ramdefrag test failure on h2 udeb page builds
2063 Ensure that if the setup fails then that particular test should skip.
2064 Ensure that the test, when getting the 'best' zone, takes into account fixed pages
2067 1. DEFECT FIX: DEF133618: s_to_result_t() returns incorrect code for default case
2071 1. DEFECT FIX: DEF133546: DMmcMediaDriverFlash::Request() fails to cleanup in a specific error case
2074 1. DEFECT FIX: DEF133136: Network related tests panics on H6 board with M04797 build.
2078 Patch to Version 2.00.1974
2079 ==========================
2080 (Made by patrickconway 30/01/2009)
2083 1. DEFECT FIX: DEF133823: [System Build] : CBR errors and warnings in M04833 v9.6 build
2086 Patch to Version 2.00.1974
2087 ==========================
2088 (Made by patrickconway 29/01/2009)
2091 1. DEFECT FIX: DEF133788: [System Build] : CBR error stage due to Unistore in M04831v9.6
2096 (Made by DeleOgunjumelo 15/01/2009)
2099 1. DEFECT FIX: DEF131543: [Coverity]-UNINIT,REVERSE_INULL,NEGATIVE_RETURNS,MISSING_BREAK,FORWARD_NULL,CHEC
2100 Also fixed by Fadhli Mustaffa (CL-1467886).
2101 2. DEFECT FIX: DEF131516: [Coverity]-UNINIT,MISSING_BREAK,DEADCODE -generic/base/template
2102 CIDs: 1964, 1962, 1961, 1960, 1959, 1954
2105 1. DEFECT FIX: DEF132377: Failed to get control transfers larger than 64 bytes on Fibula driver
2108 1. DEFECT FIX: DEF132762: Unistore-II / XSR 1.5 media driver setting wrong caps.iBlock value
2109 In some situations the wrong setting may lead to poorer performance.
2110 2. MINOR_CHANGE: Remove erroneous comment from Unistore-II bld.inf file
2113 1. DEFECT FIX: DEF123263: Unable load ROM Image from MMC generated by ROM tool with -compress parameter
2116 1. DEFECT FIX: PDEF132187: unistore 2 test media driver not built in customer release
2119 1. DEFECT FIX: DEF131903: WDP: Display driver issues when using TV out on H4
2120 2. DEFECT FIX: DEF132700: SMP: NavEngine does not boot with Multicore image
2123 1. DEFECT FIX: DEF132879: RPipe::Init() fails.
2126 1. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10703: Kernel: Support demand paging of user data
2127 2. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10700: Peripherals: Change local media subsystem to support data paging
2128 3. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10701: Peripherals: Support data paging from NAND flash devices
2129 4. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ10702: Peripherals: Support data paging from internal MMC devices
2130 5. INTERFACE CHANGE: BR2644.1 Change behaviour of TBusLocalDrive::ControlIO()
2131 6. INTERFACE CHANGE: BR2645.1 Change behaviour of TLocDrvRequest::RemoteDes()
2132 7. INTERFACE CHANGE: BR2647.1 Change behaviour of TLocDrvRequest::ReadRemote(const TAny* aSrc, TDes8* aDes)
2133 8. INTERFACE CHANGE: BR2578.1 Deprecation of existing Kern::RequestComplete method
2134 9. INTERFACE CHANGE: BR2560.1 Extend Power Resource Manager to provide additional power information and adding new resource pool
2135 PREQ1954 Writeable data paging: prototype release
2138 1. DEFECT FIX: DEF132319: Techview not booting on Naviengine, with SMP and Code Paging.
2142 (Made by fabiangortz 07/01/2009)
2145 1. MINOR_CHANGE: Fix test.Panic() call in e32test/thread/t_killer.cpp that should have
2146 been test.Printf() (it prints the reason for the test.Panic() call on the next line).
2147 2. DEFECT FIX: DEF132655: T_DEMANDPAGING failed on H4HRP.ARMV5.UREL.PAGE during MCL release
2148 Mark T_LAT2 as UNPAGED so that it won't upset T_DEMANDPAGING.
2151 1. DEFECT FIX: DEF131440: NotificationCaps is not defined in H4 serial port driver
2154 1. DEFECT_FIX: PDEF132657: WTRA-type cache should not be purged in SyncMemoryBeforeDmaRead
2155 The fix resolves performance issue of Write-Through DMA Buffers on H/W with L2 cache.
2156 2. DEFECT FIX: DEF131469: Serial Driver PDD on NaviEngine can cause temporary lockup of system
2157 The bug caused networking tests to fail.
2160 1. DEFECT FIX: DEF129871: T_PAGELDRTST failing on all platforms
2161 Ensure d_exc is included in all automatic roms that run t_pageldrtst and
2162 manual roms that can run t_pageldrtst.
2163 2. DEFECT FIX: DEF128787: Misleading documentation for umemget/umemput etc functions
2164 Update documentation to recommend Kern::ThreadRawRead/Write when caller is in a critical section
2167 1. DEFECT FIX: DEF131260: there seems to be a lot of duplicated classes, structs etc in base (mainly usb)
2170 1. DEFECT FIX: PDEF132434: Emulator width issue
2171 Now width and height of emulator screen became multiple of 4 pixels even when it is not in proper size.
2176 (Made by JessieZhang 02/01/2009)
2179 1. MILESTONE: Emin, GT0498, MS3.3, DS.1363, PREQ2037: Prototype Proximity LDD
2180 The LDD component will be part of the Base tree and will be configured for
2181 building in Emin (vFuture) release builds. It will add a new IBY file that
2182 will _not_ be included into system files or GTCs. Customers wishing to use
2183 the new component will need to #included it.
2186 1. MINOR_CHANGE: Re-categorise trace print to KUSB rather than KPANIC, as the
2187 trace print is an indicative warning rather than a panic condition.
2190 1. DEFECT FIX: DEF131525: [Coverity]-UNINIT,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,CHECKED_RETURN-b
2193 1. MINOR_CHANGE: Removed files from t_usb_win application to prevent possible
2194 infringement of copyright. Also correction for fault with communication of
2195 host test failure to device.
2198 1. DEFECT FIX: DEF131165: var_reboot_module.h is not exported to \epoc32\include\tiomap3 folder
2199 var_reboot_module.h and variant_norflash_layout.h are now exported to /epoc32/include/tiomap3/variant/34xx_sdp folder.
2202 1. DEFECT FIX: DEF132258: H4 Variant.mmh missing MONITOR_THREAD_CPU_TIME
2205 1. MINOR CHANGE [Project Loki]: Remove the file UnicodeData-3.0.0.txt
2208 1. DEFECT FIX: DEF131519: [Coverity]-UNUSED_VALUE,OVERRUN_STATIC,MISSING_BREAK,EVALUATION_ORDER,DELETE_ARR
2211 1. DEFECT FIX: INC130537: stack balancing for Symbian DEF126209
2212 Provide new exports __ArmVectorIrqPostambleNoResched and __ArmVectorFiqPostambleNoResched
2213 that implement non-rescheduling Irq and Fiq postambles.
2218 (Made by LukaszForynski 19/12/2008)
2221 1. DEFECT FIX: DEF131431: Opening two RDisplayChannel connections causes kernel fault on H4.
2224 1. DEFECT FIX: DEF131892: High speed clock is enabled too early in power-up sequence for MMC V4.X cards
2227 1. DEFECT FIX: DEF131629: T_RAMDEFRAG test failed on the Merge branch
2228 Ensure test sets up memory properly before checking for pass/fail
2231 1. DEFECT FIX: DEF131923: HAS_ETHERNET is not defined for 3430 (H6) techview.
2232 Defined HAS_ETHERNET Macro in h4.oby.
2235 1. DEFECT FIX: PDEF129773: Why does User::LeaveIfNull() does not take a const TAny*?
2236 Add an inline wrapper for User::LeaveIfNull() to check pointers to const objects
2239 1. DEFECT FIX: DEF131214: Floating point binary<->decimal conversions are not sufficient for IEEE754
2240 Increase the number of digits read by TLex::Val() when parsing real numbers.
2243 1. MINOR_CHANGE: Mark more binaries as SMPSAFE
2246 1. MINOR_CHANGE: file NaviEngine NAND policy files from Cat T to Cat E
2249 1. DEFECT FIX: DEF131717: IPR not defined for base_naviengine_flexible
2252 1. DEFECT FIX: DEF128713 [Coverity]-FORWARD_NULL-base/e32
2255 1. DEFECT FIX: DEF130069: nk_cpu.h is missing a ; in FLUSH_ICACHE
2256 Remove ; from the end of the definition of CPSgen(), and
2257 add ; to the end of all usages of CPSIDAIF (etc.) in e32/.
2258 2. MINOR_CHANGE: Update e32test/mmu/d_sharedio.cpp:CheckMemCleared() to dump
2259 out memory and say exactly where it fails (if it does).
2262 1. Milestone: Diran, GT0419, MS3.15, DS.1460 OMAP3430 BSP
2263 Requirements: PREQ2033 Cortex A8 BSP
2265 During submission, in "other risks" submission, must mention about the supporting file submission
2266 required to be made by the integration team. Files to be modified are
2267 "//EPOC/master/cedar/product/tools/Symbian_OS_v9.6_bin
2268 //EPOC/master/common/generic/utils/mcl_dirs.lst", for TBAS T12177, changes had been done
2269 to these 2 files as part of changelist:1441555, this can be used as reference
2271 2. DEFECT FIX : DEF130936: 3430 keypad driver does not perform on demand crashing
2274 1. MINOR_CHANGE: NaviEngine SoundPDD: More updates to the driver:
2275 - restructured the driver (got rid of separate Tx and Rx, which were very simmilar-creating a common one)
2276 - fixed some SMP problems
2277 - updated I2S for missing #ifdefs
2280 1. MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
2281 NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
2282 In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
2283 the process it is loaded into to execute only on core 0.
2286 1. DEFECT FIX: DEF131524: SMP: Taking a page fault accessing aliased memory crashes the system
2289 1. DEFECT FIX: DEF131549: [Coverity]-RESOURCE_LEAK,OVERRUN_STATIC,NULL_RETURNS,MISSING_BREAK,FORWARD_NULL,
2294 (Made by DmitryL 11/12/2008)
2297 1. MINOR_CHANGE: Fix grammar in doc comments in e32/euser/us_ksvr.cpp
2298 2. DEFECT FIX: PDEF131503: OpenVG: WINS Emulator failed to start
2299 Use memory protection PAGE_EXECUTE_READWRITE for EUserSelfModCode chunks, but
2300 keep PAGE_READWRITE for all other types.
2301 3. DEFECT FIX: PDEF131632: Paging info in TRomHeader should be PublishedPartner.
2302 Change iPageableRomStart and iPageableRomSize from @internalTechnology, @prototype
2303 to @publishedPartner, @released.
2304 4. DEF130498: Bug in TDfcQue::ThreadFunction
2305 Update the documentation to warn against allowing Cancel() to run concurrently with the
2306 DFC function if the DFC function accesses the DFC object. This is sufficient to prevent
2307 the race described in the defect.
2310 1. DEFECT FIX: DEF131248: Some H6 .mmp files cause warnings with Carbide
2313 1. DEFECT FIX: DEF130894: 3420 board crashes after sound driver changes
2316 1. MINOR_CHANGE: Add copyright headers to GPIO implementation for NaviEngine
2317 2. MINOR_CHANGE: update copyright headers for NaviEngine BSP
2320 1. DEFECT FIX: PDEF131402: DataAbort in DMemModelChunk::Close()
2321 Remove race condition in chunk closure by removing the chunk from the process before
2322 decrementing the reference count.
2325 1. DEFECT FIX: DEF131564: USB Client: Some OTG changes needed
2326 A) Changed the USB Client PDD such that the OTG-capable PIL (i.e. with
2327 USB_OTG_CLIENT defined) does its VBus-related state transitions now based
2328 solely on the Enable/Disable notifications from the Dummy DCD, whereas the
2329 client-only PIL solely uses the USB cable Connect/Disconnect notifications
2330 from the PSL to that purpose.
2331 B) Changed in-source comment for pure virtual function
2332 DUsbClientController::UsbConnectionStatus() such that it now reads:
2333 "@return ETrue if the device is connected (via the USB cable) to a USB
2334 host, EFalse if not. In the case of a PSL for an OTG-enabled Client PDD
2335 (USB_OTG_CLIENT is #defined) this function should always return ETrue."
2338 1. MILESTONE: Diran, GT0364, MS3.2.4, DS.1393 USB Host for the NaviEngine. This includes
2339 PCI driver. PREQ1994: USB Host on the NaviEngine
2340 2. DEFECT FIX: DEF129515: SMP: UsbHost on navie engine will not build for SMP
2341 3. DEFECT FIX: DEF129997: t_usbdi test cases are failing on NaviEngine
2342 4. MINOR CHANGE: Restore ##BASEPATH## macro for data paths
2343 5. MINOR_CHANGE: Removed usb host tests as they should be only in t_usbdi.oby
2344 6. MINOR_CHANGE: Updated document, version and status
2347 1. MINOR_CHANGE: Enable 3430 labrador variant ROM build
2350 1. DEFECT FIX: DEF125329: t_pipe fails intermittently on integrator
2351 Replaced use of delays with semaphores and notifications in test code.
2352 Added many error code checks.
2353 Replaced several occurrences of thread kills with logons
2356 1. DEFECT FIX: DEF131441: [Coverity]-OVERRUN_STATIC-base/ubootldr/display.cpp
2357 2. DEFECT FIX: DEF131442: [Coverity]-OVERRUN_STATIC-base/omap/assp/1610/dma.cpp
2360 1. DEFECT FIX: DEF131455: [Coverity]-UNUSED_VALUE,UNINIT,RETURN_LOCAL,NEGATIVE_RETURNS,MISSING_BREAK-base/
2363 1. MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.
2366 1. DEFECT FIX: DEF130918: [Coverity]-SYMBIAN.CLEANUP_STACK -base/omap_hrp,e32/drivers,f32/scomp,f32/sfat32
2369 1. Milestone: Sphinx, GT0382 MS3.66, DS 1451 PREQ2102 Dynamic Resolution Switching
2370 Phase 2 submission to Base. Support for fast path for dynamic resolution switching
2373 1. MINOR_CHANGE: NaviEngine SoundPDD: Fixed problem reported by the MM team and potential SMP problems.
2378 (Made by AnatolyP 04/12/2008)
2381 1. MINOR_CHANGE - updated NaviEngine MBC scripts to build Flexible Memory Model and made a few cosmetic
2382 changes to the output filenames.
2385 1. MINOR_CHANGE: NaviEngine BSP: Updated DMA PSL.
2386 2. MILESTONE: Diran GT0364 - SMP MS3.2.2 (DS1212) PREQ 1994: ARM11 MPCore SMP BSP Enhanced features delivery: Audio Driver
2389 1. MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410 PREQ1945: SMP kernel prototype support for Cortex A9 processor
2390 2. MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439 PREQ1945: Prototype Run Mode Debug
2391 3. MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419) PREQ1994: ARM11 MPCore SMP BSP: NAND
2392 4. INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg
2397 (Made by AnatolyP 02/12/2008)
2400 1. MINOR_CHANGE: Add missing 'f' to correct spelling of 'shift' in klib/arm/cbma.cia.
2403 1. DEFECT FIX: DEF131031: SMP: DPager 0 panic
2404 This fixes race conditions in the itteration of kernel containers by Notifiers,
2405 Undertakers and BTrace priming. These now open objects before using them to ensure
2406 that they aren't partially deleted. Also updates to AsyncClose and AsyncDelete
2407 so that they are always asynchronous, even if called withing the supervisor thread.
2410 1. MINOR_CHANGE: SD 2.0 Compliance Documentation
2413 1. DEFECT FIX: DEF126046: Buffer passed to DMA sync methods must be cache-line aligned
2414 Added Kernel interface that returns required memory alignement for DMA buffers.
2417 1. DEFECT FIX: DEF130317: RDisplayChannel::GetDisplayInfo returns incorrect result if parameter is a TPckg
2418 Descriptors not being copied correctly by displayldd for emulator when using pointer based descriptor.
2421 1. CHANGE REQUEST: Development CR RPAR-7GZHMX Add support for the new startupmode 8 (minigui)
2424 1. DEFECT FIX: DEF129186: Building Base and E32Tests with RVCT 3.1
2425 - Added e32/kernel/array_eabi.cpp which changes implementation of
2426 the various vector new and delete functions for kernel side to fix
2427 OOM bug in supplied library.
2428 - Various fixes for RVCT 3.1 build errors in production code,
2429 warnings to be fixed in subsequent defect.
2430 2. MINOR_CHANGE Revert changes made in DEF129186 to loader test
2431 - Don't replace __MODULE_EXPORT with EXPORT_C
2434 1. DEFECT FIX: DEF131107: Rpipe Close()read&write handles notfreeing mem allocated in individual iteration.
2435 Released the memory in the destructor of the pipe instance.
2436 2. DEFECT FIX: DEF130888: Mismatch in IPR between distribution policy and base_tiomap3.mrp file
2437 Changed the categorisation level from T to E in the distribution.policy file
2440 1. DEFECT FIX: DEF130731: Ethernet macro HAS_ETHERNET not added to 34xx_sdp.oby.
2441 Defined the USE_ETHERNET Macro in header.iby.
2444 1. DEFECT_FIX: DEF130480: Problems with resuming with shared chunk driver on emulator
2448 1. DEFECT FIX: DEF122317: Error in GCE driver when calling DeregisterUserBuffer() on a posted buffer.
2449 2. DEFECT FIX: DEF130904: IPR category for base_e32_drivers_display?
2452 1. Milestone: Sphinx, GT0339 MS3.41, DS 1402 EI0004 Removal of ARM Abort code handler
2453 Removed ARM Abort code handler which only needs for Processors implementing the 'Base Register Updated' Abort Model.
2454 Removed bld.inf files of series mx5 which is not supported any more.
2458 1. MINOR_CHANGE: updated NaviEngine Lauterbach scripts to use ARM11MPCORESMP4 cpu type and debug in SMP mode
2463 (Made by indrajeetsingh 27/11/2008)
2466 1. DEFECT FIX: DEF130474: Error in TDfc::Cancel doxygen.
2467 Updated doxygen documents.
2470 1. MILESTONE: Saffron, GT0441, MS3.1.1, DS840: PREQ1700: Development Tools: Add new kernel crash monitor and extend debug device driver
2471 2. BREAK REQUEST: BR2588.1: Extend Publish Kernel CrashFlash interface
2474 1. DEFECT FIX: DEF131072: NaviEngine reports different screen dimensions to previous HRPs
2475 Workaround for groups that have test code that depends on screen dimensions being the same as H4
2476 Added support for a 320x240 16bpp screen mode that has a large offset between lines (stride)
2477 This graphics mode can be enabled at run time by setting dip switches DSW1 switches 7 and 8 ON
2479 4. laurentiu-catalinmer
2480 1. MILESTONE: Sphinx, GT0382, MS3.65, DS1418, PREQ2102: Base: Dynamic Resolution Switching
2483 1. MINOR_CHANGE: Properly comment out #endif tag in euser.mmh
2486 1. DEFECT FIX: DEF130150: NKern::ThreadSetUserContext allows changing mode, domain access
2489 1. MINOR_CHANGE: Updated Base Functional Spec
2492 1. MINOR_CHANGE: Added NaviEngine BootLoader ROMs to BSP tools directory
2495 1. DEFECT FIX: DEF129523: vector operator new is not declared properly
2498 1. MINOR_CHANGE: Fix typo in doc comment on TDfc::RawAdd() in e32/nkern/dfcs.cpp (and .cia version)
2499 s/no checks orare performed/no checks are performed/
2502 1. CHANGE REQUEST: Development CR ANDN-7H9CQV: Peripherals, GT0339 Base Meteora, Kernel, GT0339 Base Meteora, PREQ1226 new derived HAL attributes simulation on H4
2505 1. DEFECT FIX: DEF128861: [Coverity]-base/e32/drivers/usbc/
2506 Coverity issues fixing, CID 1616, CID 1617.
2507 Claim for negative return marked as "Intentional", the negative array index value
2508 was guarded by __ASSERT_DEBUG macro.
2511 1. DEFECT FIX: DEF130677 NaviEngine BSP contains obsolite sound driver
2512 - removed sources and deletes entries in iby files.
2515 1. DEFECT FiX: INC130449 Kernel does not handle ARM1136 ERRATA 317041
2516 This errata is relevant only if both the following conditions are met:
2517 - It is arm1136 core, r0p2 revision.
2518 - L2 (either L210 or L220) cache controller is present.
2521 1. MINOR_CHANGE: Corrected an in-source comment in USB Client LDD (d_usbc.cpp).
2524 1. DEFECT FIX: DEF129872 T_USB_SCDEVICE.EXE failing
2525 Changes to t_usb_device, t_usb_scdevice, and t_usb_win to provide test synchronisation between client and host.
2526 Also minor improvements to massstorage tests and changing detached process t_idlecounter to a thread.
2529 1. DEFECT FIX: DEF128859: [Coverity]- base/e32/drivers/resourceman/
2532 1. MINOR_CHANGE: Tidied up some debug output in the e32test/multimedia/t_camera_api test that was accidentally left
2533 in incorrectly in the PREQ 1512 submission.
2537 (Made by SivashankarN 14/11/2008)
2540 1. DEFECT FIX: DEF128720: [Coverity]- NULL_RETURNS-base/e32/drivers
2541 Have fixed 2 coverity NULL_RETURNS issues.
2544 1. DEFECT FIX: DEF128903: Sound tests lack kernel and user heap checking
2547 1. DEFECT FIX: DEF128716: [Coverity]-FORWARD_NULL-base/e32
2550 1. MINOR_CHANGE: Fixed typo in ps_usbc.cpp.
2553 1. MILESTONE: Oregano, GT0392, MS3.6.2, DS1387, CR1526: Additional Btrace enumeration for callstack
2554 Add additional BTrace THeap enumeration value to be used by DevTools' memory debug tools (from TCL).
2557 1. MINOR_CHANGE: NaviEngine baseport: SD Card Read & Write operations now use DMA.
2560 1. DEFECT FIX: PDEF130166: Improve User::FastCounter() in-source doc to discourage use in production code
2561 Updated doxygen comment of User::FastCounter() to discourage using it.
2566 (Made by DaveGordon 12/11/2008)
2569 1. DEFECT FIX: DEF128871: [Coverity]- base/omap/
2570 Have fixed 2 coverity deadcode issues.
2573 1. DEFECT FIX: DEF129584: 3430 BSP includes obsolete sound driver
2577 1. MILESTONE: Diran, GT0419, MS3.11.1, DS1404: PREQ2130: GPIO device driver helper API: Template Port
2578 REQ11335: Documentation
2581 Patch to Version 2.00.1964
2583 (Made by patrickconway 11/11/2008)
2586 1. DEF130221: [System Build]:Rom errors due to gpio.dll not present in rom in M04749 vFuture
2589 1. DEF130223: [System Build]:Export of base_e32_drivers_camerasc failed in M04749 vFuture
2594 (Made by patrickconway 10/11/2008)
2597 1. DEFECT FIX: DEF129524: SMP: Ethernet and other drivers missing from naviengine iby file for Techview
2600 1. DEFECT_FIX: DEF129042: [SMP] - H4 techview iby files to not allow easy configuration of the FMM
2603 1. DEFECT_FIX: DEF130002: [SMP] Kern::Printf left in baseport code for NaviEngine GCE
2606 1. DEFECT FIX: DEF129969: hal\rom\hal.hby missing 10 attributes as defined in hal_data.h
2607 Add extra values to hal.hby and t_newhal.cpp, and update t_newhal.cpp to
2608 detect when its list is out-of-date.
2609 2. MINOR_CHANGE: It's Symbian, not Symbain.
2610 Fix company name in comment in e32/include/e32cmn.h.
2611 3. MINOR_CHANGE: Fix a couple of "the is" typos in comments.
2614 1. MILESTONE: Diran,GT0419,MS3.4,DS1139: PREQ1512: Simplify Camera Hardware Adaptation
2617 1. MILESTONE: Sphinx,GT0382,MS3.23,DS1395: PREQ2098: Enable memory-efficient DSA
2618 Change the internal implementation of the display_channel for Emulator to use the new HAL API
2619 introduced by REQ10721 earlier as part of Graphics PREQ2098.
2622 1. MINOR_CHANGE: Changed Copyright message on e32test\ethernet\pump\etherpump.cpp
2627 (Made by RichardCo 04/11/2008)
2630 1. DEFECT FIX: DEF129638 - 34xx_sdp should have COM3 point at Quad UART port A
2631 Revert changes made whilst issues with the Quad UART were not resolved. Now
2632 COM3 points to Quad UART port A instead of Omap UART 3.
2633 2. MINOR_CHANGE: Correct whitespace in 34xx_sdp bootstrap assembler
2636 1. DEFECT FIX: DEF128865: [Coverity]- base/e32/ewsrv/
2637 I have fixed the issues as seen by Coverity. Small changes to code.
2640 1. DEFECT FIX: DEF128715: [Coverity]-FORWARD_NULL-base/e32
2643 1. DEFECT FIX: PDEF128901: Support for Code Paging for NAND MEDIA Driver not available
2644 Allow code paging from local drive number zero
2647 1. DEFECT FIX: INC128834: [OTG] OPT TD.4.3 causes phone crash with udeb version of usbhost.dll
2648 2. DEFECT FIX: DEF128644: Filename case check failure in usb host
2649 3. DEFECT FIX: DEF127250: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
2652 1. DEFECT_FIX: DEF129672: D_EXC fails to start on NaviEngine. Error - " Failed to load KDA LDD"
2653 minkda.ldd was commented out in the base_ne1_tb.iby file.
2656 1. MILESTONE: Diran,GT0419,MS3.11,DS1284: PREQ2130: GPIO device driver helper API
2661 (Made by Vino Jose 31/10/2008)
2664 1. DEFECT FIX: DEF129636: H4 Bootloader won't boot with 2 MMC/SD cards
2667 1. MINOR_CHANGE: Add 34xx_sdp bootloader binaries to perforce.
2670 1. DEFECT FIX: DEF129578 Rom building with USBHost for fh4hrp fails
2673 1. DEFECT FIX: DEF128878: Adding heap checking to t_sound_* tests exposes memory leaks in esoundsc.ldd
2678 (Made by ReubenH 27/10/2008)
2681 1. DEF129491: TTime class, incorrect comments
2684 1. DEF128853: [Coverity]- base/e32/drivers/medmmc
2687 1. PDEF129509: Prevent H4 from accessing MMC slot 2 unless explicitly enabled
2690 1. DEFECT FIX: DEF129044: Assembler version of TClientRequest::CallbackFunc doesn't match c++ version
2693 1. DEFECT FIX: DEF129567 - 34xx_sdp does not have unique USB Serial Number
2694 Port changes from H4 to 34xx_sdp such that the USB driver reports a unique serial number, derived from
2695 the board's MAC address, instead of reporting the same number for all boards.
2697 2. DEFECT FIX: DEF129288 - 34xx_sdp bootloader cannot write to Sibley NOR flash chip
2698 Modify 34xx_sdp boostrap and bootloader config to support writing to Sibley NOR flash. This allows USB
2699 Mass Storage support in the bootloader to function correctly. Changes are also needed to the generic
2700 ubootldr code to support this.
2702 3. MINOR_CHANGE: Remove outdated/unused 34xx_sdp camera drivers.
2707 (Made by ColinWard 24/10/2008)
2710 1. DEFECT FIX: DEF128869: [Coverity]- base/e32/memmodel/ DEADCODE tagged as false positive
2713 1: DEFECT FIX: DEF129334: System crash visual notification missing on 3430 baseport.
2714 On 3430 if possible indicate that we have faulted and entered the debug monitor. Add visual notification about kernel fault.
2715 Display word "FAULT" on the 2-line LCD.
2718 1. DEFECT FIX: DEF127495: [v9.5,v9.6] {Fix Accepted} T_PAGELDRTST is timing out on H2
2719 A whole bunch of changes, to address the various problems with this test:
2720 * Reduce total number of threads/processes executing the tests.
2721 * Add delays to the defrag threads. This not only reduces the load enough that
2722 other threads can make progress, but also makes the point at which those threads
2723 are preempted by defrag more variable.
2724 * Add force-kill code to the single-media-thread case.
2725 * Add a poll of the exit-requested-flag during library loading.
2728 1. DEFECT FIX: DEF128808 : [Coverity]- base/e32/common/
2729 Tagged false positives for coverity runs.
2732 1. MILESTONE: Diran,GT0364,MS3.2.3,DS1375: PREQ1994:ARM11 MPCore SMP BSP: GCE Graphics driver
2736 1. DEFECT FIX: DEF129398: NThread::GetUserContext doesn't work for threads executing user callbacks
2737 User callbacks introduce new states a thread can be in which need different handling.
2738 {Get,Set}UserContext and UserContextType have been updated to deal with the new states.
2739 Run-mode debuggers using these APIs do not need to change their behaviour - threads
2740 in these states will now behave correctly.
2745 (Made by NeilClifford 17/10/2008)
2748 1. DEFECT FIX: DEF128886: SAN:Nandloader image creation fails,compsupp/compsupp.iby missing.
2749 Relative inclusion of compsupp.iby from the source tree replaced with an absolute inclusion from the epoc32 tree
2752 1. DEFECT FIX: PDEF128518: TLanguage needs an entry for APAC Indonesian
2755 1. DEFECT FIX: DEF128231: Failure to boot H4 board with OneNAND techview image
2758 1. DEFECT FIX: DEF128211: prototype APIs in Base
2759 2. DEFECT FIX: DEF128212: issues with IM tags in base
2760 3. DEFECT FIX: DEF128809: [Coverity]- base/e32/compsupp/
2763 1. DEFECT FIX: DEF128852: [Coverity]- base/e32/drivers/debug/ 3 coverity issues fixed
2767 (Made by NicholasC 14/10/2008)
2770 1. MILESTONE: Diran, GT0419, MS3.10 : PREQ2132 I2S device driver helper.
2773 1. DEFECT FIX: DEF128702: Start address of data modified incorrectly when data is not block aligned
2778 (Made by KaiD 13/10/2008)
2781 1. DEFECT FIX: DEF128298: Cache aliasing management possibly broken on ARMV7
2782 This makes the kernel apply page colouring on ARMV7 and works around Cortex A8
2788 (Made by SivashankarN 08/10/2008)
2791 1. DEFECT FIX: DEF128601 USB OTG Client: Support for Auto-HNP missing
2792 Introduced a new function in the USB Client PDD PIL:
2794 /** Returns a truth value indicating whether this UDC handles USB OTG HNP
2795 bus connects/disconnects automatically in hardware.
2797 virtual TBool DUsbClientController::DeviceHnpHandledByHardwareCaps() const;
2799 The default implementation in the PIL returns EFalse. The function can be
2800 overridden in the PSL so that it returns ETrue. The capability is queried by
2801 the PIL and determines the way it calls the functions behind the
2802 iEnablePullUpOnDPlus / iDisablePullUpOnDPlus pointers.
2805 1. DEFECT FIX: DEF128177: Changes to base.iby and user.iby
2806 Direct inclusion of the compiler support libraries replaced with the inclusion of the compsupp.iby file.
2809 1. DEFECT FIX: DEF128749: Memory pinning can cause system crash
2815 (Made by DeleOgunjumelo 06/10/2008)
2818 1. DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded
2819 Loading a kernel-side library which is linked to another kernel side library
2820 was not possible if the dependent had static data.
2826 (Made by MichaelMo 02/10/2008)
2829 1. DEFECT FIX: PDEF114200: T_RMDEBUG2 test fails on ARMv7 cores.
2832 1. DEFECT FIX: DEF126771: APIREG: using invalid values to calibrate the digitiser crashes the h4 board
2833 Changes made in shared_digitizer.cpp and test added in t_calib.cpp
2835 3. Radhakrishnanramanat
2836 1. DEFECT FIX: DEF123210: Logical Device Drivers need auditing for bad GetCaps() implementation
2839 1. MINOR CHANGE: Fix intermittent failures for t_ramdefrag
2842 1. MILESTONE: Duranduran, GT0419, MS3.5.1, DS.1170: Base PREQ2033 OMAP3430 BSP.
2845 1. MINOR_CHANGE: updated NaviEngine user guide
2846 2. MINOR_CHANGE: updated Base Functional Spec document
2849 1. DEFECT FIX: PDEF127313: rm_debug_svr needs to avoid future GCCXML build
2852 1. DEFECT FIX: DEF128508: USB Chapter9 tests failing
2855 1. DEFECT FIX: DEF128456: E32Test driver d_latncy tries to access user memory
2858 FIX PDEF128516: Code paging doesn't work with memory type remapping
2859 - Changed memory permissions to use KUserCodeLoadPte instead of KUserCodeRunPte whilst the codeseg is being loaded.
2862 1. CHANGE REQUEST: Development CR ANDN-7D6MHL: Peripherals, GT0339 Base Meteora, Resource Manager, Prevent panic on re-registration of dynamic resources with dependencies and extend dependency ID information.
2863 2. BREAK REQUEST: BR2407.1:Client Name added as an additional parameter to the CustomFunction()
2868 (Made by SebOlney 24/09/2008)
2870 1. DEFECT FIX: DEF123150: T_usb crashes H4 board occasionally in the scenario when host is transmitting
2873 1. DEFECT FIX: DEF127569: e32cmn.h: uncaught_exception() isn't declared IMPORT_C
2876 1. MILESTONE: Sphinx, GT0339, MS3.19 : graphics PREQ2098 enable dynamic allocation of DSA buffer.
2877 (New export in EKern Kern::ChunkUserBase and new HAL attribute EDisplayMemoryHandle.)
2880 1. DEFECT FIX: DEF127853: Uneccessary XTRAP_PAGING in IPC copy functions
2881 2. DEFECT FIX: DEF127855: Various Flexible Memory Model defects
2884 1. DEF126754: [Coverity] - DEADCODE- /base/template/template_variant/usbho
2887 1. DEFECT FIX: DEF125888: T_USBDI Code Review Resolutions Required
2888 2. DEFECT FIX: DEF126640: StopStacks Crash needs investigation
2889 3. DEFECT FIX: DEF127252: [Coverity]-SYMBIAN.CLEANUP_STACK-base/e32/drivers
2890 4. DEFECT_FIX: DEF126346: 'B' Device should accept all bMaxPower levels from 'A' device
2891 Changes to usbhost drivers
2897 (Made by georgiosdementis 22/09/2008)
2900 1. DEFEXT FIX: DEF126165: ZlpFlag not set when using shared chunk USB BIL GetBuffer
2902 2. Radhakrishnanramanat
2903 1. DEFECT FIX: DEF127764: User::LockedDec(): Documentation is not correct
2906 1. DEFECT FIX: DEF127216: Handling of advanced digitiser attributes should only be supported explicitly
2909 1. DEFECT FIX: DEF127113: FAULT: Exception 0x10000000 when running test
2912 1. DEFECT FIX: PDEF127938 TLanguage needs an entry for Indic English
2918 (Made by georgiosdementis 22/09/2008)
2921 1.MINOR_CHANGE: Remove occurrences of macro __SMP_KERNEL_AVAILABLE__
2927 (Made by georgiosdementis 19/09/2008)
2930 1. MILESTONE: Diran, GT0364, MS3.2.1 : PREQ 1994: ARM11 MPCore SMP BSP Initial delivery
2935 (Made by georgiosdementis 12/09/2008)
2938 1. DEFECT_FIX: DEF126321: Reported size of filesystem cache chunk keeps increasing
2939 Ensure DChunk::Lock() discounts any reclaimed pages from DChunk::iSize.
2940 2. DEFECT_FIX: DEF126846: Calls to NKern::ThreadGetUserContext can crash system
2941 Add checks for the NThread being in the EDead state to the thread context set and get methods.
2944 1. DEFECT_FIX: DEF127434: RMdaDevSound::BytesPlayed( ) API documentation needs to more specific
2947 1. DEFECT FIX: PDEF127654: base_e32.mrp has redundant "source" statement
2950 1. DEFECT FIX: PDEF127457: Documentation is needed for HAL::GetAll()
2951 2. DEFECT FIX: DEF125983: Sound driver does not check for UserEnvironment capability when recording.
2954 1. DEFECT FIX: DEF126047: APIREG: SetPlayFormat() does not return KErrNotSupported
2957 1. MINOR_CHANGE: added 3430 extension makefile config files
2962 (Made by georgiosdementis 05/09/2008)
2965 1. MILESTONE: Diran, GT0364, MS3.8 : PREQ2127: MHA Register Access API
2968 1. MILESTONE: Diran, GT0364, MS3.1 : PREQ1954: Foundation SMP Kernel
2970 First delivery of prototype SMP kernel for ARM.
2973 1. DEFECT FIX: DEF127099: Divide by zero error in MMC driver when alternate slot populated at boot
2974 2. DEFECT FIX: PDEF127290: 5.0 Unable to change or remove password from memory card
2977 1. DEFECT FIX: DEF127108: t_pccdbm.cpp calls test.Getch() without prompting the tester for input
2978 2. MINOR_CHANGE: Updated the documentation for RMdaDevSound::FlushPlayBuffer
2979 3. Defect Fix: PDEF126686: armcchlp.cia file in ekern.mmp needs to avoid future GCCXML build
2982 1. DEFECT_FIX: DEF126865: Integrator board fault in overnight test runs
2985 1. DEFECT FIX: DEF127325: VFP documentation doesn't describe how to enable VFPv3
2986 Updated Base_How_To_VFP_Support.doc
2987 2. DEFECT FIX: PDEF127463: Issue with Neon support in Symbian Kernel
2990 1. DEFECT_FIX: DEF126350: Scheduling deferred notifications in interrupt context creates panic
2991 2. DEFECT_FIX: DEF126592: Some shortlink components failed at GCCXML build
2992 3. DEFECT_FIX: DEF126431: New USB Host/OTG stack drop (3.0.4.1.13.1.3)
2993 4. DEFECT_FIX: DEF126721: RUsbInterface::Open causes panic
2994 5. DEFECT_FIX: DEF125891: Calling RUsbOtgDriver::StopStacks() Can Crash The Kernel
2997 1. DEFECT_FIX: DEF126558: Some component cannot pass GCCXML build
3004 (Made by indrajeetsingh 26/08/2008)
3007 1. MINOR_CHANGE: Reduce time taken by the automated USB Performance Tests
3010 1. DEF126155: template_variant\usbho has different IPR in different components
3013 1. DEFECT FIX: DEF126163: DMA resource allocation failure on shared chunk USB LDD
3016 1. MINOR CHANGE: Fix mismatch of test.Start()/test.End() pairs in t_svr.
3019 1. DEFECT FIX: PDEF125836: Run-mode debug API should have AddProcess/RemoveProcess debug events
3020 2. DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
3021 3. DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be.
3022 4. DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
3023 5. DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
3024 6. DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
3027 1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
3032 (Made by MichaelCox, 20/08/2008)
3035 1. MINOR_CHANGE: Updated HAL with Machine UID support for NaviEngine (NE1_TB).
3040 (Made by patrickconway, 15/08/2008)
3043 1. DEFECT_FIX: DEF125980: Amiguous comment for RPlugin::Open
3044 2. DEFECT_FIX: DEF126401: [coverity] - All identified false positives are to be tagged correctly.
3047 1. DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
3050 1. MINOR_CHANGE: USB Client Driver API Guide: Added information about the new
3051 endpoint resource allocation scheme in section 4.6 "Endpoint Resource
3052 Allocation, De-allocation and Use Query". Upped document version to 3.2.
3053 2. MINOR_CHANGE: USB Client Porting and Test How-To Document: Added section 3.6
3054 on endpoint resource management. Upped document version to 3.5.
3055 3. DEFECT_FIX: DEF126402: USB Client PDD: New endpoint resource request scheme not fully functional
3056 New virtual method 'TBool DeviceResourceAllocV2Caps() const' to class
3057 DUsbClientController + default implementation in PIL which just returns
3058 EFalse + adding of flag KUsbDevCapsFeatureWord1_EndpointResourceAllocV2
3059 to TUsbDeviceCaps::iFeatureWord1 if the PSL has overridden that function
3062 1. DEFECT_FIX: PDEF126341: t_demandpaging.exe fails when testing an unsupported operation on Moving model
3063 2. DEFECT_FIX: DEF126358: CTS line inverted in 16550 uart code
3066 1. MINOR_CHANGE: Updated in-source documentation for RThread::Kill and RThread::Terminate
3067 in response to INC125714.
3068 2. MINOR_CHANGE: X86PC only: Added support for PCI-based debug serial ports.
3069 3. DEFECT_FIX: PDEF126495: Date and time settings are not preserved over reset
3072 1. DEV_CR: CR1258: Support compression of unpaged section in XIP ROM
3073 BREAK REQUEST: BR2457.1:ROMBUILD compression will compress ALL of a demand paged ROM by default
3076 1. DEFECT_FIX: DEF126463: IPR mismatch in base_e32_sd3c
3077 2. DEFECT FIX: DEF126464: base_e32 should not have cat E
3078 3. DEFECT FIX: DEF126466: IPR mismatch in base_wins
3081 1. DEFECT_FIX: DEF126158: drivers\usbho\usbd has different IPR in different components
3084 1. DEFECT FIX: DEF126450: Accidentally exported DThread APIs should be removed
3085 BREAK REQUEST: BR2443: Remove accidentally exported DThread APIs
3086 Un-exported DThread::RequestComplete, DesRead, DesWrite, GetDesInfo, GetDesLength, GetDesMaxLength
3087 2. DEFECT FIX: DEF126377: Regression in base\e32\kernel leads to panics in Backup Niotif Server clients
3088 Fixed problem where blind messages sent on a session with a dedicated message pool leaked the
3093 (Made by JohnS, 11/08/2008)
3096 1. DEFECT_FIX: DEF119839: Assabet build broken
3097 - updated conditional msr calls for StrongARM - to workaround the processor bug.
3100 1. DEFECT_FIX: PDEF126033: CMD55 may be handled as ACMD in SD controller
3103 1. DEFECT_FIX: DEF125688: Return value of Kern::ThreadRawWrite not checked in d_usbc.cpp
3106 1. DEFECT_FIX: DEF126209: Debug checks needed for unsafe user memory access by kernel code
3107 NOTE: These checks are enabled by default in UDEB builds, to disable them completely
3108 the baseport must define the macro __KERNEL_APIS_DISABLE_USER_MEMORY_GUARDS__ in it's
3110 2. DEFECT FIX: DEF126326: Kernel user-permission checking disabled after Kern::HalFunction is used
3113 1. MINOR_CHANGE: Support for shared chunk USB LDD with t_usb_scdevice and general improvements
3114 to automated USB test framework.
3116 2. DEFECT_FIX: DEF126222: Larger heap size and error checks on buffer allocation in t_usb_device.
3119 1. DEFECT_FIX: DEF125977: MMC demand paging ROM boot failure (UREL)
3120 Fixed deadlock in H4's MMC card detect interrupt handler
3124 (Made by ReubenH, 04/08/2008)
3127 1. DEFECT_FIX: DEF124846: PREQ1340: Documentation how to instrument custom allocator is missing
3130 1. DEFECT_FIX: PDEF122684: Severe performance problem in DThread::RawWrite and DThread::RawRead
3131 Fixes to DThread, propagated from 9.4; also tests to verify presence of said fixes.
3132 NOTE: these tests may reveal an issue on Moving memory model platforms e.g. H2; see DEF125612.
3133 NOTE: these tests may or may not induce failure of subsequent t_filecache test; see DEF125829.
3136 1. DEFECT_FIX: PDEF125611: SPPR_PERF: DmDomainServer crashes under IPC fuzzing
3141 (Made by ParameshwariB, 01/08/2008)
3144 1. DEFECT FIX: PDEF124808: TDrive::iChanged set to ETrue on user drive when secure drive remounted
3145 2. DEFECT FIX: PDEF125350: t_ramdefrag test failure on h4 urel
3148 1. DEFECT FIX: DEF125756: UserHeap::ChunkHeap() documentation is incorrect
3149 Corrected the insource docs.
3152 1. MINOR_CHANGE: Fixed X86GCC build breaks due to accidental euser.def integration.
3155 1. DEFECT FIX: DEF125472: Prioritised Extension loading broken on emulator
3156 Do not define DECLARE_EXTENSION_WITH_PRIORITY for emulator builds.
3157 Additionally, make extension loading on the emulator give name of the extension
3158 it does or doesn't load.
3164 (Made by SivashankarN, 28/07/2008)
3167 1. DEFECT FIX: DEF124697: Build with __USERSIDE_THREAD_DATA__ enabled crashes
3168 Move call to UserSvr::DllSetTls() to after call to UserHeap::SetupThreadHeap(),
3169 since DllSetTls() requires the heap to be initialised if userside thread data is used.
3170 2. DEFECT FIX: DEF125561: Circular buffer of unsigned integers - wrong range (signed range specified)
3171 Update the documentation of CCirBuffer to be clear about the use of 8-bit unsigned integers.
3174 1. DEFECT FIX: PDEF125661: Build component "base\omap_hrp\h4_bootloader" error for GCCXML
3177 1. MILESTONE: Diran, GT0421, MS3.10, DS1077, REQ10699: Kernel: Re-architect kernel services to minimise inter-process memory accesses
3178 2. DEFECT FIX: DEF125475: Race condition updating count of user threads runing
3181 1. MINOR CHANGE: Changed classification of d32otgdi_errors.h back to publishedPartner/prototype
3184 1. DEFECT FIX: DEF123573: Incorrect entry in mrp file for base e32
3188 1. DEFECT FIX: PDEF117041: Add OEM Debug Token support to the Run-mode debug subsystem.
3189 2. DEFECT FIX: PDEF124773: Run-mode debug subsystem is not a kernel default component but should be.
3190 3. DEFECT FIX: PDEF123786: Run-mode debug driver uses insecure Descriptor copy to return TVersion info
3191 4. DEFECT FIX: PDEF122023: Platform Security can be disabled by an insecure debug agent
3192 5. DEFECT FIX: DEF120922: Potential resource leak in debug device driver (may stay in kern critsection)
3195 1. DEFECT FIX: DEF125272: Debug Device Driver event queue gets full when flooded with trace events
3199 (Made by fabiangortz, 24/07/2008)
3202 1. DEFECT FIX: PDEF124945: MMC stack power-down should cancel stack DFC
3205 1. DEFECT FIX: PDEF125485 ARM1176 devices do not output JTAG
3208 1. DEFECT FIX: INC124027: PlatSec Base Config Document updates required
3211 1. MILESTONE: Sphinx, GT0394, MS3.3, DS924 PREQ1305: Shortlink, USB OTG HNP-A, SRP
3212 2. BREAK REQUEST: BR2408.1: Deprecate Existing USB Client Endpoint Resource Allocation APIs
3213 3. BREAK REQUEST: BR2497.1: Changed prototype error code values
3216 1. MINOR_CHANGE: Added CortexA9 support
3221 (Made by fabiangortz, 21/07/2008)
3224 1. DEFECT FIX: PDEF124751: HSUSB LDD: Cache attributes are incorrect
3225 Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled.
3226 The defect fix also includes the necessary USB PDD PSL changes for the H2
3227 and H4 (FS + HS) reference platforms.
3228 2. BREAK REQUEST: BR2464.2 Enabling IN buffer cacheing in the USB Client LDD
3229 Cacheing of IN (Tx) buffers in the USB Client LDD has been enabled (see
3230 PDEF124751). Up until now only the LDD's OUT/Rx buffers have been cached.
3231 If a USB Client PDD PSL implementation supports DMA for IN transfers then
3232 the Tx data buffer coming from the LDD via the PIL
3233 (TUsbcRequestCallback.iBufferStart) will need to get synched with main memory
3234 before starting the transfer. To that purpose the Symbian function
3235 Cache::SyncMemoryBeforeDmaWrite() should be called before the IN transfer is
3236 initiated. More information can be found in the USB PSL porting guide
3237 (/base/documentation/Base_How_To_USB_Client_Porting_and_Test.doc) and in
3238 example PSL implementations (e.g. /base/cotulla/pa_usbc.cpp).
3241 1. CHANGE REQUEST: Development CR CGTN-7F8H3Q, Kernel, GT0339 Base Meteora,
3242 TMappingAttributes2 to be changed to @publishedPartner
3243 To ensure the best performance of WT DMA memory, this CR should be accompanied by DEF125125
3244 2. DEFECT FIX: DEF125125 DMA framework is not efficient with Write Through memory in L2 cache
3245 3. DEFECT FIX: DEF125167 Improve performance of L220 cache maintain operations
3248 1. DEFECT FIX: DEF125005: [coverity] - FORWARD_NULL, CHECKED_RETURN- base/template/template_variant/usbho
3249 CID169 is not a defect. Fix CID14 by checking the return value from jinterrupt_setup().
3254 (Made by RichardCo, 17/07/2008)
3257 1. DEFECT FIX: DEF124965: USB Client PDD: Correct Device State Transition Warnings
3260 1. DEFECT FIX: DEF125022: Change in __DECLARE_TEST macro broke debug build
3263 1. DEV CR: BBRE-7G7GJ2: Kernel, GT0364 SMP, Implement unprioritised scheduling mode for code safety testing (Crazy Scheduler version 2)
3264 Introduce the crazy scheduler version 2, an improved test tool for verifying the safety
3265 of asychronous code. Disabled by default, enable with kernel config flag
3266 EKernelConfigCrazyScheduling on debug builds.
3271 (Made By LukaszF, 15/07/2008)
3274 1. DEFECT FIX: PDEF124733: Implementation needed for L220 errata
3275 The fix for errata ID 484863: "The Cache Sync operation does not guarantee that the Eviction Buffer is empty"
3278 1. MINOR_CHANGE: Added support for NaviEngine bsp in Techview iby file
3281 1. DEFECT FIX: DEF124797: errors in IM tagging in base headers
3286 (Made By JenniferH, 09/07/2008)
3289 1. MILESTONE: Sphinx, GT0339, MS3.8 DS793 PREQ 1846: Peripherals : Improve USB client application efficiency by using Shared Chunks
3294 (Made By KaiD, 09/07/2008)
3297 1. DEFECT FIX: DEF122798: Windows Server 2003 - Emulator hangs when playing star-up test sound
3300 1. DEFECT FIX: DEF124577: MMC Stack: iCurrentSelectedBusWidth is Initialised to EBusWidth1
3301 2. DEFECT FIX: DEF124613: SDIO stack incorrectly parsing the CCCR register content
3304 1. DEV CR: JPAR-7DQDXR: Kernel, GT0339 Base Meteora, Add Kernel side APIs to retrieve
3305 TSecurityInfo from DThread/DProcess
3306 2. DEV CR: STEN-7A4ECK: Kernel, GT0339 Base Meteora, Clean-up in preparation for RVCT 3.1
3309 1. DEFECT FIX: PDEF124685: Array overrun in DLddUsbcChannel::HandleMsg
3310 2. DEFECT FIX: PDEF124686: Array overrun DLddUsbcChannel::DoRequest
3315 (Made By DmitryL, 07/07/2008)
3318 1. DEFECT FIX: DEF123276: IPR statement in MRP and disttibution.policy don't match
3319 base/e32/common and subdirectories are IPR category D, so mark as such in base_e32_euser.mrp
3322 1. DEF124183: T_VIDEO sets invalid values
3325 1. MINOR_CHANGE: SMP platforms shouldn't have Normal Non-Shared Memory.
3326 Marked as minor change because only NaviEngine platform is affected.
3329 1. CHANGE REQUEST: Development CR BBRE-7CERCU:Kernel, GT0339 Base Meteora, PREQ1226: TRawEvent and
3330 HAL to support multi-pointer UIs
3333 1. DEFECT FIX: PDEF124470: Incorrect source file classification for some base_e32 dirs
3339 (Made By NeilC, 26/06/2008)
3342 1. BREAK REQUEST: BR2376.2: Extend & future-proof TMMCard
3345 1. PREQ1340: new BTrace EHeap sub-categories, further trace instrumentation of RHeap allocator
3346 New eexe_monitor_heap.lib added as optional library to enable monitoring for heap corruption
3351 (Made by NicholasC, 23/06/2008)
3354 1. DEFECT FIX: DEF123209 Device drivers in E32TEST use unsafe techniques
3358 (Made by indrajeetsingh, 20/06/2008)
3361 1. DEFECT FIX: DEF120522: Read Performance Degradation when file cache disabled after PREQ1724 submitted
3362 2. MINOR_CHANGE: Typo in MMC Double Buffer How-to Doc BlockSize() -> BlockLength()
3365 1. DEFECT FIX: DEF123556: USB HNP/SRP - Expected Message KUsbMessageHnpDisabled Not Received
3368 1. DEFECT FIX: DEF123906: User::At documentation talks about absolute time
3369 Clarified that the absolute time passed to User::At() should be in the current time zone
3372 1. MINOR_CHANGE: adding a boot parameter for ARMv6 and ARMv7 single/direct memory model
3373 This code is only built by Base and no other BSPs for these CPU targets have single
3377 1. DEFECT FIX: PDEF124016: Erase of secure area when formatting secure area of SD card is incorrect
3381 (Made by patrickconway, 17/06/2008)
3384 1. DEFECT FIX: DEF122690: h4_restricted_on_coreldr.mk fails when build with Raptor
3387 1. DEFECT FIX: DEF123576: insource documentation for RMessagePtr2 problem
3390 1. MINOR_CHANGE: NaviEngine baseport update. (The first drop of DMA support.)
3391 See //EPOC/DV3/team/2006/base/dev1/bsp/hwip_nec_naviengine/release.txt for details.
3394 1. DEFECT FIX: PDEF123764: New API RChunk::Create(TChunkCreateInfo&) breaks coding standards
3395 Rearrange some declarations in header file for TChunkCreateInfo.
3398 1. DEFECT FIX: PDEF123776: Some e32test def files are not frozen
3401 Patch to version 2.00.1929
3402 ==========================
3403 (Made by JonCo, 16/06/08)
3406 1. DEFECT FIX: DEF123718: [v9.5] [System Build]:TV and CBR stage errors related to Systemtest_OS in M04580
3411 (Made by deleogunjumelo, 11/06/2008)
3414 1. DEFECT FIX: PDEF123352: Performance: Memory reserved for large bitmaps is always cleared black and then
3415 Add new RChunk::Create method to allow all types of chunks to be created using the new
3416 struct TChunkCreateInfo. Add TChunkCreateInfo::SetClearByte() to allow any byte value to be
3417 used to clear committed chunk memory.
3420 1. DEFECT FIX: PDEF123402: LogicalDeviceGetCaps() fn should sanitize mem ptr given to LDD GetCaps()
3421 2. DEFECT FIX: DEF123538: RPipe driver reads user supplied arguments in unsafe manner
3422 3. DEFECT FIX: DEF123542: RProperty::Set allows access outside of a processes memory
3423 4. DEFECT FIX: DEF123528: Resource Manager driver reads user supplied name in unsafe manner
3426 1. MINOR_CHANGE: Fix minor error in t_ramdefrag when setting up a specific test
3429 1. MINOR_CHANGE: Automated USB Test Framework Update
3432 1. DEFECT FIX: PDEF123584: t_codepaging fails if paging cache is too big
3433 - skipped tests designed for stressed confguration for bigger cache size configurations.
3434 2. DEFECT FIX: DEF122371: Bug in the current RBuf8/16::ReAlloc implementation
3435 - Updated documentation to describe the behaviour.
3438 1. DEFECT FIX: PDEF123464: No Init() error check in TMMCardControllerInterface::Create
3439 2. DEFECT FIX: DEF118543: CPRM: CIMSecureReadWriteBlocksSM - insufficient error handling
3442 1. DEFECT FIX: PDEF122819: Symbian must be compliant with ARML210 Errata List
3443 Only the platforms with L210 L2 cache are affected.
3446 1. MILESTONE: Sphinx, GT0339, MS3.17, DS1078, REQ8666: Support for global destuctors
3451 (Made by JohnS, 05/06/2008)
3454 1. DEFECT FIX: DEF122877: On CortexA8 BuffredNC memory mapping attribute is broken.
3457 1. DEFECT FIX: DEF116274: Caps buffer used by LFFS should be derived from 'v6
3462 (Made by patrickconway, 05/06/2008)
3465 1. DEV CR: BBRE-7E6L2G Kernel, GT0339 Base Meteora, Kernel: Re-factor allocation/deallocation functions on emulator
3470 (Made by RichardCo, 01/06/2008)
3473 1. DEF122688: h4_restricted_on_miniboot.mk fails when build with Raptor
3476 1. DEFECT_FIX: DEF121874: TCollationMethod documentation not generated
3479 1. DEFECT FIX: DEF122954: RProperty::Define comments unclear on category value
3480 Update comments to refer to document detailing the correct usage of properties' categories.
3483 1. DEFECT FIX: PDEF122983: 5.0 Unable to unlock locked memory card
3484 Fixed regression caused by PDEF120544
3487 1. DEFECT FIX: DEF122071: Invalid references in resourcecontrol_trace.h
3488 2. DEFECT FIX: PDEF122484: F32_UserDisk: T_DSPACE test fail
3489 3. DEFECT FIX: PDEF123067: SDIO driver interface hangs the second time it is initialized
3492 1. DEFECT FIX: DEF122521: USB Client locks up in an error-report spin-loop if VBUS is dropped and raised
3496 (Made by ParameshwariB, 23/05/2008)
3499 1. DEFECT FIX: DEF123131: X86PC only: Update to NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp.
3500 2. MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
3501 Corrections made in several files throughout base code.
3502 3. DEFECT FIX: PDEF122731: move some PlatSec enforcement from run-time to build-time
3503 iKernelFlags becomes private, with an accessor function that ensures required bits
3504 are always set (unless __PLATSEC_UNLOCKED__ is defined by the base port). In addition
3505 (also unless __PLATSEC_UNLOCKED__ is defined), no capabilities can be disabled via
3506 iDisabledCapabilities.
3509 1. DEFECT FIX: PDEF119924: Nand drive setup incorrect on h4
3510 Updated h4 variantmediadef.h file to provide extra NAND drive for crash logging
3513 1. DEFECT_FIX: DEF118718: GetCompositionBufferInfo() faults kernel when passed invalid parameters.
3514 2. DEFECT_FIX: DEF122332: Error in GCE driver calling RDisplayChannel::SetRotation() with an invalid value.
3515 3. DEFECT_FIX: DEF117988: LCD ROM macro usage forces redundant use of macros.
3516 4. DEFECT_FIX: DEF121284: Display configuration reported by H4 display driver is incorrect.
3517 5. DEFECT_FIX: DEF120343: RDisplayChannel::RegisterUserBuffer returns unexpected return values.
3518 6. DEFECT_FIX: DEF121284:?Display configuration reported by H4 display driver is incorrect.
3524 (Made by SivashankarN, 19/05/2008)
3527 1. DEFECT FIX: DEF122167: Invalid Schedule 12 details for OTG componens
3528 Note: The schedule 12 entries have already been updated (refer to integration database,
3529 NC7058 - NC7061), so a supporting submission is not necessary
3532 1. DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)
3535 1. MINOR CHANGE: e32test.h: Fix typos in comments on @internalComponents and update copyright.
3538 1. DEFECT FIX: DEF122209: RProcess::CreateWithStackOverride() is not documented corrected
3541 1. MINOR CHANGE: Fix X86GMP nktest linking errors.
3546 (Made by ReubenH, 12/05/2008)
3549 1. DEV CR: BBRE-7E5HKY: Kernel, GT0419 Base Duranduran, Preparation work for Flexible Memory Model
3550 - Add new DChunk::Base overload which takes a DProcess argument - to obtain address of a
3551 chunk in a particular process. (This allows for the fact that chunks may simultaneously
3552 appear at different addresses in different process.
3553 - Extend ROMBUILD to understand new MEMMODEL type 'FLEXIBLE'.
3554 - Numerous small memory model specific configuration changes.
3557 1. DEFECT FIX: DEF119651: DUsbInterface::Resume() returns potentially misleading error code
3558 2. DEFECT FIX: DEF119645: DUsbInterface::PermitRemoteWakeup() returns potentially misleading error code
3561 1. DEFECT FIX: DEF122241: arm11mpcore is using wrong mmu instruction to flush tlb entry
3562 Revert of the change introduced by PDEF121503 related to arm11mpcore platform/
3565 1. DEFECT FIX: DEF115401: Incomplete validation of data in loader
3568 1. DEFECT FIX: DEF121875: TExtendedLocale::GetPreferredCollationMethod has no documentation
3571 1. MINOR CHANGE: Fix some typos in Base_How_To_Shared_Chunks.doc
3574 1. DEFECT FIX: DEF118984: Assembler version of wordmove lacks debug asserts
3579 (Made by LukaszF, 09/05/2008)
3582 1. DEV CR: SWIS-7BJN5G: Peripherals, GT0339 Base Meteora, Align FAT user data area to media block boundaries for optimised performance
3585 1. Minor_Change: Remove obsolete smoke test files romnandtechviewh2.oby & romnandtechviewh4hrp.oby
3587 2. DEFECT FIX: DEF122334: Nandtest_load_rel.oby and base.iby files not updated for OneNAND.
3588 3. Minor_Change: Use uncommented anInfo in DPhysicalDeviceMediaNand::Validate() implementation
3589 only when needed for WINS builds
3592 1. MINOR_CHANGE: X86PC only: Implement NKern::ThreadGetUserContext() in nkernsmp/x86/ncthrd.cpp,
3593 for debugger support.
3596 1. DEV CR: BBRE-7E9CYF: Kernel, GT0364 SMP, Support for shared memory types in Kernel (part of SMP)
3601 (Made by KaiD, 30/04/2008)
3604 1. DEFECT FIX: DEF121689: template variant mmh and config.inc treat errata macros incorrectly
3605 Replace "#define" with "macro" in appropriate places
3606 2. DEFECT FIX: DEF121973: RProcess::SetParameter in source doc omission
3607 Clarify that APPARC programs should only use 'public use' slots.
3610 1. DEFECT FIX: PDEF121192: Possible deadlock in USB LDD
3613 1. DEFECT FIX: DEF120462: APIREG: No documentation on TCommCapsV01 etc
3616 1. DEFECT FIX: DEF121633: Use PLATFORM_PATH and CFG_PATH in path in TEM
3619 1. DEFECT FIX: DEF121231: ONB: uiktest_t_error in 9.5 started to fail for winscw(mmc returns KErrNotReady)
3622 1. DEFECT FIX: PDEF121716: Impact on Symbian OS because of absence of FIQ control in non-secure world (HLOS
3625 1. DEFECT FIX: DEF121425: Error in test code Vendor Id - t_pipe5.exe
3626 Comment added in t_pipe5.mmp file for Vendor Id.
3629 1. DEFECT FIX: DEF121780: Possible bug or redundant code in USB HOST driver
3632 1. DEFECT FIX: DEF118763: Race condition in Thread logon and rendezvous
3635 1. DEFECT FIX: DEF121857: RChunk::Decommit can decommit the wrong memory
3640 (Made by DmitryL, 28/04/2008)
3643 1. DEFECT FIX: DEF121645 [SystemBuild]: Include filenames should be case sensitive
3644 Fix #include <WINIOCTL.H> to be #include <winioctl.h>
3647 1. DEFECT FIX: PDEF121624: MoveKernelPage breaks a pre-condition where __FLUSH_PT_INTO_RAM__ is enabled
3650 1. DEFECT FIX: DEF120299: APIREG: Lack of documentation for RBusDevComm in Symbian Dev Library
3653 1. MILESTONE: Sphinx, GT0326, MS3.18, DS1065, CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
3654 CHANGE REQUEST: CR1364: Add "Dynamic page displacement" to RAM allocator, and extend Zone preferences
3655 2. BREAK REQUEST: BR2352.2: Removal of RAM zone allocation thresholds
3656 Improve the RAM page allocator to only have in use the minimum number of RAM zones required to be in use.
3657 Also, reduces the spread of fixed pages across the RAM zones by attempting to allocate fixed pages into
3658 the most preferable RAM zones with free, movable or discardable pages in them, moving or discarding pages if necessary.
3661 1. DEV CR: CGTN-7CNGPX: Kernel, GT0339 Base Meteora, Support for Secure Clock on Emulator
3666 (Made by fabiangortz, 22/04/2008)
3669 1. DEFECT FIX: PDEF121420: Wrong documentation of ChunkPhysicalAddress() may lead to device driver crash
3670 The correct formula for the maximum number of pages that n contiguous bytes
3671 might occupy is (n + PAGE_SIZE-2)/PAGE_SIZE + 1.
3672 2. DEFECT FIX: DEF121432: Wrong directory separator in include statement in resman.mmp
3673 Change backslash path separator to forward slash (/).
3676 1. DEV CR: BBRE-7DGGYS: Kernel, GT0364 SMP, Implement rescheduling delays for code safety testing
3677 Introduce the crazy scheduler version 1, a test tool for verifying the safety
3678 of asychronous code. Disabled by default, enable with trace flag KCRAZYSCHEDDELAY
3682 1. DEFECT FIX: PDEF121429: Devide by zero fault on H4 with dual-slot support enabled & no card inserted
3685 1. MILESTONE: Sphinx, GT0339, MS3.1.4 DS836 PREQ 1115: Peripherals: Crash flash logger operation on 73nm OneNAND, a generic FTL interface for Crash Flash Logging and 73nm OneNAND documentation.
3686 2. BREAK REQUEST: BR2398.1 PREQ 1115 : Update class CrashFlashNand from file /cedar/generic/base/e32/drivers/crashflash/unistore2/crashflashnand2.h
3689 1. DEFECT FIX: PDEF121503 t_heap2 failed with background t_ramstress
3690 TLB wasn't properly flushed when data is decommited. This is stability issue.
3693 1. DEFECT FIX: DEF121118: Math::Round is not rounding the value correctly
3694 Updated documentation to explain the meaning of KMaxPrecision constant.
3699 (Made by NicholasC, 18/04/2008)
3702 1. DEFECT FIX: DEF121113: USB Client Driver: Potential Ep0 deadlock situation
3703 'New' bitmap member iFeatureWord in class TUsbcInterfaceInfo + new flag
3704 KUsbcInterfaceInfo_NoEp0RequestsPlease for use via USB LDD call
3705 RDevUsbcClient::SetInterface(). If the flag is set (by default it's not),
3706 then valid Ep0 Setup requests addressed to that interface or any of its
3707 endpoints will be stalled by the PDD PIL. For more info see section 4.7 here:
3708 Updated USB API Guide accordingly, upped document version to 3.1.
3711 1. Minor_Change: The change of debug log category in ExecHandler::RegisterTrustedChunk
3714 1. DEFECT FIX: PDEF121125: TRamDefragRequest has incorrect Doxygen tagging should be publishedPartner
3715 Update doxygen tagging on TRamDefragRequest and TRamDefragOp.
3716 2. BREAK REQUEST: BR2394.2 TRamDefragOp should be tagged as internalAll
3719 1. DEFECT FIX: PDEF121232: The error code is not handled in FindF API.
3720 Fix this defect by reverting the original fix for PDEF119871 (the propagation
3721 of INC117914 to the MCL).
3724 1. DEFECT FIX: DEF120854: atexit() of base has empty implementation.
3725 WINSCW doesn't appear to actually need the dummy atexit() so only provide it
3726 for MSVC builds (WINS).
3729 1. DEFECT FIX: PDEF121228: Invalid value written to partitiontable of SDHC protected area
3734 (Made by indrajeetsingh, 16/04/2008)
3737 1. MINOR_CHANGE: Clarify description for User::Panic - category is limited to 16 characters.
3740 1. DEFECT FIX: DEF120034: Flogger server blows its stack on x86gcc
3741 Set the default stack size to 16KB on X86GCC.
3744 1. DEFECT FIX: PDEF120594: T_FOLDPERF - Missing line ends in the performance tests
3745 Added newlines ("\n") to Printf statements.
3748 1. DEFECT FIX: DEF121070: USB PDD PIL doesn't reset interface setting upon un-configuration
3749 When tearing down an interface (in response to a SET_INTERFACE or
3750 SET_CONFIGURATION request), the PIL now resets the current alternate setting
3751 number for that interface to 0.
3756 (Made by deleogunjumelo, 09/04/2008)
3759 1. MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem
3760 2. MINOR_CHANGE: Corrected x86GCC build errors and warnings; missing ordinals from ekern and euser.
3763 1. DEFECT FIX: PDEF120716: USB Endpoint SETUP packet fails to be handled in phone
3764 Class- or vendor-specific Ep0 Setup requests directed to an interface or an
3765 endpoint are now stalled by the USB Client PIL if the device is not in the
3767 2. MINOR_CHANGE: Removed space characters from file name
3768 /e32test/usb/t_usb_win/scripts/setting 2 close.uts
3771 1. DEFECT FIX: DEF119767: T_CONDVAR fails on emulator
3776 (Made by patrickconway, 03/04/2008)
3779 1. DEFECT FIX: DEF119148: Build eexe.lib as ARM (not Thumb)
3780 Also changed edll.lib to build as ARM.
3783 1. DEV CR: BBRE-7D6ERF: Kernel, GT0364 SMP, Minor tools changes to support the x86 SMP nanokernel
3786 1. DEFECT FIX: DEF120375: Missing Resource manager includes causes SDIO on H4 not to compile
3787 Also fixed other problems found during code inspection.
3790 1. DEFECT FIX: PDEF120402: NULL Pointer Dereference
3791 Add braces around statements that should be executed only if (pS != NULL).
3792 2. DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
3793 Protect definition of macro MAX() with #ifndef MAX/#endif
3794 3. DEFECT FIX: DEF120460: Bug in D_LATNCY.CPP
3795 Remove power handler from power manager's list when DLatency is destroyed.
3796 4. MINOR_CHANGE: X86PC only: Add macro __DEBUGGER_SUPPORT__ to x86pc/variant.mmh and
3797 implement NKern::ThreadGetUserContext() in nkern/x86/ncthrd.cpp, for debugger support.
3800 1. DEFECT FIX: PDEF120544: Dual MMC support - PER003248
3801 Added support to allow two or more MMC/SD cards with possibly different bus widths and clock rates
3802 to run on a single SD card stack.
3803 The MMC_DUAL_SLOT macro to used to enable dual slot support for H4 textshell/techview ROMs
3808 (Made by fabiangortz, 29/03/2008)
3811 1. DEFECT FIX: DEF116408: Compilation fault in d32usbdi.inl for unsupported platform
3812 2. DEFECT FIX: DEF116434: Void method RUsbBulkTransferDescriptor::SetZlpStatus returning void value
3813 3. DEFECT FIX: DEF117791: incorrect variable spelling
3816 1. MINOR_CHANGE: Client stack now moves to Suspend state before it is enabled to trigger a device
3817 state change notification even when it's not connected to a Host.
3820 1. DEFECT FIX: DEF118970: Power Handle allows one handler to be added multiple times
3823 1. MINOR_CHANGE: Fix typo 'PProperty' in base/documentation/Base_How_To_Publish_And_Subscribe.doc
3824 Corrected to RProperty (RProperty::EByteArray)
3825 2. DEFECT FIX: PDEF120402: NULL Pointer Dereference
3826 Add braces around statements that should be executed only if (pS != NULL).
3827 3. DEFECT FIX: DEF120324: Unexpected compiler warning from kern_priv.h
3828 Protect definition of macro MAX() with #ifndef MAX/#endif
3831 1. DEFECT FIX: PDEF120303: t_ramdefrag must not check the number of powered zones after EmptyRamZone
3832 All calls to empty now check that the RAM zone is empty or not.
3833 Also did little tidying to ensure file sying tests are cleaned up.
3838 (Made by DjordjeK, 26/03/2008)
3841 1. DEFECT FIX: DEF119776: Kernel wait objects are inefficient in their use of RAM.
3842 Instead of each DSemaphore, DMutex and DCondVar having an embedded
3843 64-priority list using 264 bytes of RAM, it has a single pointer.
3844 This pointer is 0 if the wait list is empty (usual case), points
3845 directly to a DThread if the wait list contains exactly one thread,
3846 and points to a dynamically allocated 64-priority list with bit 0 of
3847 the pointer set in the case where there are 2 or more waiting
3848 threads. These lists are allocated from a LIFO queue which is
3849 increased or reduced whenever a thread or wait object is created or
3850 destroyed. The number of wait lists required can never exceed the
3851 minimum of W and T/2 where W is the number of wait objects and T is
3852 the number of threads currently in existence.
3855 1. DEFECT FIX: PDEF120025: Cannot update system time if no HW RTC.
3856 Update documentation to reflect that the base port should return KErrNone
3857 if the RTC is not implemented. Also tidy up the documentation slightly
3858 for SetSystemTimeInSecondsFrom2000() and SystemTimeInSecondsFrom2000().
3859 2. MINOR_CHANGE: X86: Pass breakpoints on to handlers
3862 1. DEFECT FIX: PDEF119871: TDesC16::FindF does not handle characters with and characters without accents...
3867 (Made by JohnS, 20/03/2008)
3870 1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.
3873 1. DEFECT FIX: DEF119210: Distribution policy too strict on omap_hrp usbho iby files
3876 1. MILESTONE: Sphinx, GT0339, MS3.1.2 DS607 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 2)
3877 2. MILESTONE: Sphinx, GT0339, MS3.1.3 DS605 PREQ 1115: Peripherals : Support FAT on <90nm flash devices (part 3)
3882 (Made by ParameshwariB, 17/03/2008)
3885 1. DEFECT FIX: DEF119328: Issues with powering down the MMC stack before the media is fully initialised
3886 2. DEFECT FIX: DEF119409: MmcLoader doesn't work on a FAT32-formatted card
3889 1. CHANGE REQUEST: CR1115: Dual Slot Support
3890 Added tests under e32test\pccd
3893 1. DEFECT FIX: PDEF119489: t_video not restoring saved brightness level
3896 1. MILESTONE: Sphinx, GT0339, MS3.6.1 DS720 PREQ 1398: Resource Manager API - Basic + Reference
3897 implementation on H4
3898 INTERFACE CHANGE: BR2186: Registering Power Resource Controller with Power controller
3899 2. MILESTONE: Sphinx, GT0339, MS3.6.2 DS780 PREQ 1398: User-side API
3900 3. MILESTONE: Sphinx, GT0339, MS3.6.3 DS794 PREQ1398: Resource Manager API - Extended + Acceptance Test Suite
3905 (Made by RichardCo 11/03/2008)
3908 1. DEFECT FIX: DEF118942: Kern::ChunkPhysicalAddress fails to set aMapAttr correctly
3909 Set aMapAttr when return value from DChunk::PhysicalAddress is >= 0, not just == 0
3910 (since 1 is a successful return indicating that the region isn't physicall contiguous).
3913 1. DEFECT FIX: PDEF118966: SD Card 'High Speed Mode' Bus Configuration does not always work.
3914 2. MINOR_CHANGE: Removed Test ASSERT for SDIO, caused problems with Coco Wifi test setup.
3915 3. DEFECT FIX: PDEF119117: SD Card - Media Change fails with Secure Area mounted plus Password Locked Card
3918 1. MINOR_CHANGE: Fix ldrtest.oby so that it actually contains all the files needed to run the loader tests
3921 1. DEFECT FIX: PDEF119191: Thread faults when destructor run on emulator.
3922 Modified exe stub to return to previous behaviour of not calling destructors. Executables suffering
3923 from this issue need to be recompiled to pick up the changed exe stub, as it's statically linked.
3926 1. DEFECT FIX: DEF119416: Capability check failed loading display0.LDD
3931 (Made by OlegI 04/03/2008)
3934 1. DEFECT FIX: PDEF118720: Run-mode Debug API needs extensions to suit Carbide.c++ usage.
3937 1. MINOR CHANGE: Limit gce driver capabilities.
3943 (Made by ReubenH 03/03/2008)
3946 1. DEFECT FIX: DEF118761: autoexec.bat not executed on x86 platform
3947 Added a check of file size to avoid zero length files (only for x86)
3948 2. MINOR_CHANGE: remove automatic logon to crash debugger for x86.
3951 1. MINOR_CHANGE: Fix for t_sound2 failing on x86 in Graphic Mode
3954 1. DEFECT FIX: DEF118909: Cannot create e32tests rom image for template baseport
3957 1. DEFECT FIX: DEF118926: Demand paging initialisation of min/max pages needs tidyup
3960 1. MINOR_CHANGE: Updated some in-source comments in drivers/usbcc/ps_usbcc.cpp.
3965 (Made by fabiangortz 28/02/2008)
3968 1. DEFECT FIX: PDEF118371: device HW capabilities are not considered, when setting the SD card mode
3971 1. DEFECT FIX: DEF118635: RThread comment example code error
3972 Change example code in comments from 'TInt error = ... CheckPolicy(...)' to
3973 'TBool pass = ... CheckPolicy(...)'
3976 1. MILESTONE: Meteora, GT0339, MS3.12 DS1001 PREQ1526: Kernel: VFPv3 and Thumb-2EE mode support.
3979 1. DEFECT FIX: PDEF118822: Misspelling and wrong documentation in pixelformats.h
3982 1. DEFECT FIX: DEF117729: Device driver entry point trying to delete factory object with access count>0
3985 1. MINOR_CHANGE: Updated metabuild scripts after submission of new usb otg components
3989 (Made by fabiangortz 21/02/2008)
3992 1. DEFECT_FIX: PDEF117726: Disabled sound device in Windows cause the emulator to crash
3995 1. DEFECT FIX: PDEF118346: patchdata: rombuild/rofsbuild r_obey.cpp does not set dataEntry->iOffset
3996 Update r_obey.cpp with code to set the offset from the line in the obey file.
3997 This was code that was indended to be submitted with the original Dev CR, but
3998 was lost in a Perforce integration error.
4001 1. DEFECT FIX: DEF118354: Incorrect case of #include causes build failure on Linux
4004 1. MINOR_CHANGE: remove unused code in x86 platform and change the way TLBs were handled.
4007 1. MILESTONE: Sphinx, GT394, MS3.2 DS619 : PREQ1782: USB Host and on-the-go for pre-installed drivers
4009 Although USBDI supports both USB 2.0 Full Speed and High Speed, the USB Host stack was enabled on the
4010 H4 HRP, which only supports Full Speed. Bulk and high speed transfers are not tested as part of this
4011 PREQ and only a limited support for the OTG (on-the-go) v1.3 specification is covered (HNP/SRP are
4014 Following are the components added under e32:
4015 NC-7058: e32\drivers\usbho\base_drivers_usbhostotg.mrp
4016 NC-7059: e32\drivers\usbho\usbd\base_drivers_usbhostotg_usbware.mrp
4017 Following are the components added under omap_hrp:
4018 NC-7060: omap_hrp\h4_restricted\usbho\base_omaph4hrp_usbhostotg_usbware.mrp
4019 Following are the components added under template:
4020 NC-7061: template\template_variant\usbho\base_template_usbhostotg.mrp
4022 The USB Host/OTG stack is configured by default to be OTG capable. The USB HostCore and the USBDI and
4023 OTGDI LDDs can be found under e32\drivers\usbho. The reference implementation is done for H4-HRP for
4024 full speed and can be found under omap_hrp\h4_restricted\usbho\. Implementations of controller drivers
4025 like HCD, TCD, OCD are placed here. Templates on these controller driver implementations are placed at
4026 template\template_variant\usbho.
4028 By default the USB Host and OTG binaries are not included as part of the ROM build. Use
4029 --define=SYMBIAN_INCLUDE_USB_OTG_HOST in the ROM build command to include the USBHost and OTG binaries.
4034 (Made by ParameshwariB 19/02/2008)
4037 1. DEFECT FIX: DEF117684: Secure clock offset sometimes not loaded at boot
4040 1. DEFECT FIX: PDEF117255: TChar::Fold(EFoldAccents) does not work for upper case characters.
4041 i) Fixed the method Uint TUnicode::Fold(TInt aFlags,const TUnicodeDataSet *aOverridingDataSet)
4042 This method do a correct decomposition when folding a characters with accents.
4044 ii) Added a portion of test code in the method TestTChar<TCharType>::Test4(TCharTypes CharType),
4045 related to the call of TChar::Fold(TChar::EFoldAccents), tested the folding of some interesting
4053 (Made by SivashankarN 15/02/2008)
4056 1. DEFECT FIX: PDEF117845: kumemget() should not be called in a critical section in d_ramdefrag.cpp
4057 Modify test driver so that it only enters a critical section when necessary.
4060 1. DEFECT FIX: PDEF117854: usbrflct Windows driver / application does not send a ZLP
4063 1. MINOR_CHANGE: Changes to USB Porting document:
4064 - changed document title into "USB Client Porting and Test How-To Document"
4065 and file name to 'Base_How_To_USB_Client_Porting_and_Test.doc' to make it
4066 clear this is not about USB Host,
4067 - added brief section on T_USB_WIN / T_USB_DEVICE,
4068 - updated link to current version of USBCV (1.3.1),
4069 - upped version number to 3.3.
4070 2. DEFECT FIX: DEF116350: MTPServer crashes with low RAM test
4071 Fixed a NULL pointer access in a USB LDD function when shutting down the driver.
4072 3. MINOR_CHANGE: Updated and corrected in-source comments in USB Client PDD PIL
4073 (ps_usbc.cpp + chapter9.cpp).
4074 4. MINOR_CHANGE: Changes to USB Client Porting document:
4075 - added section on PSL -> PIL upcalls,
4076 - upped version number to 3.3.1.
4079 1. DEFECT FIX: PDEF117867: Emulator crashes running Loader tests
4082 1. DEFECT FIX: DEF117930: H4 IRDA driver frees memory in wrong order
4085 1. DEFECT FIX: DEF117514: t_usb fails to free up the usb interface
4088 1. MINOR_CHANGE: ARM4-specific fix to t_realx caused by recent X86GCC submission.
4093 (Made by ReubenH 11/02/2008)
4096 1. DEFECT FIX: PDEF117669: Discardable pages should not be discarded when the RAM zone cannot be emptied
4097 Added check in the general defrag code to see if there is enough free pages for the movable pages in a
4098 RAM zone before discarding pages from that RAM zone.
4099 2. DEFECT FIX: PDEF117765: DRamAllocator::HalFunction() should not be using a raw pointer from user side
4100 Use kumemput to copy data back to user side.
4103 1. DEFECT FIX: DEF115293: e32cmn.h: declarations of new and delete conflicts with EABI headers
4104 Prevent multiple declarations with macro __OPERATOR_NEW_DECLARED__
4105 2. DEFECT FIX: DEF117799: rom.bat/rom.pl should output a usage message when run with no parameters
4106 Print usage text (as for --help) if no paramters specified
4109 1. DEFECT FIX: PDEF117320: SDIO: FBR is also reading CSA Data Window
4112 1. DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler
4113 and related tools for the x86 target (i.e. support for new X86GCC platform)
4118 (Made by LukaszF, 06/02/2008)
4121 1. DEFECT FIX: DEF117458: WIN32_LIBRARY statement shuold specify libraries in lower case
4122 Ensure all .mmp files have Win32 library names in lower case
4125 1. CHANGE REQUEST: Development CR BBRE-7AXM6B: Kernel, GT0339 Base Meteora, RArray::Find does not work easily
4126 with operator== and is positively dangerous
4129 1. MINOR_CHANGE: Fix for X86 sound driver failing UREL builds.
4134 (Made by KaiD, 04/02/2008)
4137 1. DEFECT FIX: PDEF117065 Example driver code documentation to be moved to respective driver folder
4138 2. MILESTONE: Oregano, GT0350, MS3.3, PREQ1212, DS664 : Welcome Base.
4139 Added new tutorial device driver for PREQ1212 Phase 3 , 4A and 4B.
4140 Phase 3 : Serial driver with DMA.
4141 Phase 4A: Serial driver with DMA and Shared Chunk
4142 Phase 4B: Asynchronous serial driver derived from DLogicalChannelBase.
4145 1. DEFECT FIX: PDEF117085: Voice, confirmation beep only on first recording, never when stop recording
4148 1. DEFECT FIX: DEF117362: HAL.HBY's _PATCHARRAYDATA() macro doesn't work with rom.pl
4149 Remove spaces on either side of the token pasting operator ##, which are removed by
4150 buildrom but not by Base Team's rom.pl.
4153 1. DEFECT FIX: PDEF117379: BTrace logging for some categories won't be primed when enabled from boot.
4154 Add extra check for all categroies (aCategory==-1) to memory model specific brtace prime methods.
4159 (Made by NicholasC, 30/01/2008)
4162 1. PDEF117059: BASE QUALITY USB - Reset Data Toggle not working on some H4 silicon revisions
4165 1. DEFECT FIX: DEF116361: CleanupStack::PopAndDesroy panics with E32User-CBase 63
4168 1. DEFECT FIX: PDEF117070: Class/Vendor specific descriptor request commands causes crash
4171 1. DEFECT FIX: DEF117029: Base component is not case-sensitive compliant for building on Linux
4174 1. MILESTONE: Base Meteora, GT0339, MS3.10, DS945
4175 CR1281:Kernel: Add Kernel support for DMA transfers to file server caching
4180 (Made by RichardCo, 25/01/2008)
4183 1. DEFECT FIX: DEF116268: Potential problems with T_NANDPAGING
4186 1. DEFECT FIX: DEF116223: t_heap2 call test() on a child thread causing a KERN-EXEC0
4189 1. MINOR_CHANGE: Updated t_soundh4.cpp to no longer pass in odd sized buffers for playback, given
4190 that this is now illegal.
4193 1. DEFECT FIX: INC115614: T_IMB fails
4194 2. DEFECT FIX: INC115613: T_HEAP2 fails
4197 1. MINOR_CHANGE: Added t_usb_device application for automated USB test framework in e32test/usb/t_usb_device/...
4198 2. MINOR_CHANGE: Added t_usb_win application for automated USB test framework in e32test/usb/t_usb_win/...
4199 3. MINOR_CHANGE: Added build file t_usb_device.mmp in e32test/group
4200 4. MINOR_CHANGE: Modified e32test/group/bld.inf to include t_usb_device
4203 1. DEFECT FIX: DEF116317: Class RDevice needs description.
4204 Description provided.
4207 1. DEFECT FIX: INC115987: t_tls.exe fails at Benchmark() function
4212 (Made by TomCosgrove 22/01/2008)
4215 DEV CR: PHAR-756HZB Kernel, GT0326 Base-Nymph, Product Usability: Enable HAL to be patched at ROM build time
4216 - Extend rom.pl patchdata command syntax to support patching elements of array data;
4217 - Allow the HAL's InitialValue[] array to be patchable;
4218 - Provide a HAL.HBY include file with supporting macros and constants to allow the
4219 HAL to be patched at ROM build time.
4223 (Made by DmitryL 16/01/2008)
4226 1. DEFECT FIX: DEF116106: ARM Errata 415047 not applied for ARM1176
4227 Applying the fix for errata on 1176 platform.
4230 1. MINOR_CHANGE: Correct in-source documentation of some functions in e32/include/drivers/usbc.h.
4233 1. CHANGE REQUEST: Development CR BBRE-7A3K7P: Kernel, GT0326 Base-Nymph, PREQ308: Extend zonal
4234 allocaton API to accept more than one Zone (was CR1353)
4235 Addition of 2 new APIs to the Epoc class that allow mulitple RAM zones to be specified for
4236 the allocation of either contiguous or discontiguous RAM from the specifed RAM zones only.
4239 1. MINOR_CHANGE: Developement CR BBRE-79VKSR: Kernel, GT0339 Base Meteora, Changes to Base Template
4240 Extension Makefiles to support Raptor
4241 Actually those changes were made by Tools Team. Made as a Base Team submission for testing purpose.
4244 1. MINOR_CHANGE: Fix incorrect #ifdef __EPOC32__ in d_memorytest.cpp
4247 1. CHANGE REQUEST: Development CR: BBRE-79KLJQ, GT0339 Base Meteora, Peripherals: Upgrade netcards.exe to support WiFi
4250 1. MINOR_CHANGE: Fix spelling of "hysteresis" in e32/common/heap.cpp
4253 1. DEFECT FIX: DEF116310: Description of the class TFindLogicalDevice is incomplete.
4254 Description is completed.
4255 2. DEFECT FIX: DEF116312: Description of class TFindPhysicalDevice is incomplete.
4256 Description completed.
4261 (Made by fabiangortz 11/01/2008)
4264 1. DEFECT FIX: DEF116082: Bug in e32test\benchmark\thread.cpp
4265 Fix cut'n'paste error to give right function name to call
4266 2. MINOR_CHANGE: Fix spelling of 'omission' in template/template_variant/variant.mmh
4267 3. DEFECT FIX: DEF116116: Kern::ThreadRawRead can fault the kernel using the multiple memory model
4268 Range checking can wrap round, both in multiple/arm/xkernel.cpp as in the defect, and
4269 in various other places. Fixed all of these that were found. Added test cases to
4273 1. DEFECT FIX: DEF114931: The changes in PTE/PDE are temporarily invisible by H/W Page Table Walk
4274 Support for sharable page tables among CPUs that do not share L2 cache.
4277 1. INC115900: Incomplete variation points for MSFS.FSY
4280 1. MINOR CHANGE: Framebuffer video driver for the x86 platform
4283 1. DEFECT FIX: DEF115997: A created file is deleted in C drive when "gobble" command is executed again.
4284 Fixed the defect by putting a check before deleting an existing file. Now "gobble" does
4285 not delete an existing file.
4288 1. DEFECT FIX: DEF115056: Cache alignment in DMA sync
4289 Replaced iSDStatus buffer with use of iPSLBuf such that known DMA'able memory is used.
4294 (Made by patrickconway 08/01/2008)
4298 1. MINOR_CHANGE: Fix spelling of variable 'chunkTraceEnabdled' in test t_btrace.cpp
4299 2. MINOR_CHANGE: Fix spelling of 'exculding' in comments in e32/euser/us_exec.cpp
4300 3. MINOR_CHANGE: Fix in-source doc comments in e32/euser/us_exec.cpp
4301 Correct an argument name in User::SetUTCTime(), User::SetUTCTimeSecure()
4302 and User::SetUTCTimeAndOffset() (aUTCTime, not aTime). SetUTCTimeSecure()
4303 was mentioned as an aside in INC115634; fixing the rest while here.
4304 4. MINOR_CHANGE: Base documentation changes for INC115634: Capability requirements not rendered for SetUTCTimeSecure and User::SetHomeTimeS
4305 There should be only one capability in each @capability entry.
4310 (Made by NeilC 27/12/2007)
4313 1. DEFECT FIX: DEF115209: Missing Description for DComm class , its data members and members functions
4316 1. DEFECT FIX: PDEF115839: Not possible to run MEMTRACE in Edgar
4317 Minor issue with memtrace tool on emulator.
4320 1. DEFECT FIX: DEF114283: T_RAMDEFRAG fails intermittently
4321 Some tidying of t_ramdefrag so it is more flexible with regards to the
4322 physical layout of RAM before the test is run. Also, improve t_defrag_ref
4323 so that it doesn't assume that allocations to the least preferable RAM zone
4324 will always succeed.
4329 (Made by indrajeetsingh 21/12/2007)
4332 1. DEFECT FIX: DEF115591: TVMHalFunction sysdoc not rendered correctly in developer library
4337 (Made by DeleO,17/12/2007)
4340 1. DEFECT FIX: DEF114276: T_PIPE fails.
4343 1. MINOR_CHANGE: Fixed 'G' option in T_USB.
4346 1. DEFECT FIX: INC115424: Printf's are printed twice, because TraceHandler return value is not checked
4347 Reinserted accidentally removed if statement.
4350 1. DEFECT FIX: PDEF114165: Base Quality USB - Incorrect error handling, SetInterface and ReleaseInterface
4353 1. DEFECT FIX: DEF114398: Num Lock Key toggle does not work correctly on Version 9.4
4356 1. DEFECT FIX: PDEF115572: RHeap::Available(TInt&) performs unsafe heap iFree access
4357 Relocate Lock() to before pC initialisation, as suggested by defect.
4358 2. MINOR_CHANGE: Fix description of BTrace event EPagingMapCode.
4359 3. MINOR_CHANGE: Remove list of Exception-related RThread methods in Appendix B, as they
4360 were moved to User a long time ago. (The methods implemented in User only work on the
4361 current process, so don't need to be referenced here.)
4362 4. DEFECT FIX: DEF115627: nk_trace.h has inconsistent comments for trace bit allocation
4363 Trace bits 192-255 (not 224-255) are reserved for licensee partners. Fix spelling
4364 of "licensees" while here.
4367 1. DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
4370 1. DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
4371 2. DEFECT FIX: DEF114155: Secure clock: User-mode setting API uses wrong flag
4377 (Made by LukaszF, 10/12/2007)
4380 1. DEFECT FIX: DEF115220: ARM Errata 424692 and 424067 workaraound
4381 Replace use of InvalidateTLBForAsid with FlushTLBs
4386 (Made by DmitryL 06/12/2007)
4389 1. MINOR_CHANGE: adding extra SYM_BRANCH comments to code
4392 1. DEFECT FIX: PDEF115048: Possible problem with FAT cleanser modification to Unistore2 core code.
4393 Reinstate call to CollectGarbage() in SM_MarkDeletion () routine.
4396 1. DEFECT FIX: DEF114521: RTimer - undocumented feature when calling RTimer::Inactivity(0)
4401 (Made by DjordjeK 04/12/2007)
4404 1. DEFECT FIX: DEF113488: Emulator Window now does strange things upon rotating.
4405 2. DEFECT FIX: INC114502: Emulator startup configuration is not deterministic
4408 1. DEFECT FIX: DEF115080: Kernel compile error if BTRACE_CHUNKS not enabled
4411 1. DEFECT FIX: DEF114225: DefragRam unexpectedly stops defragmentation when a fixed page is found
4412 Adjust the general defragmentation algorithm to skip RAM zones containing immovable pages and
4413 continue to attempt to defrag the other RAM zones.
4416 1. DEFECT FIX: INC114591: T_LOADER_DELETE fails
4417 Stops lazy unloader in setcap tool.
4420 1. DEFECT FIX: PDEF114596: Unistore2 driver enables interrupts at wrong point
4425 (Made by OlegI 26/11/2007)
4428 1. DEFECT FIX: PDEF114622: Pow bug
4429 pow(x, +Inf) was returning NaN for x < -1. Should return Inf.
4430 Also found and fixed several other cases where pow() didn't comply with the ISO spec.
4431 2. BREAK REQUEST: BR2278.2 Make Math::Pow() conform to the C standard for pow()
4432 3. MINOR CHANGE: x86 platform only (not emulator): rework interrupt mechanism to allow
4433 any interrupt to be shared.
4436 1. MINOR_CHANGE: x86 platform only - change UART driver so RX interrupt is
4437 triggered when there are 4 rather than 8 characters in the RX FIFO.
4438 2. MINOR_CHANGE: Fix problems with T_MSTIM test:
4439 Assertion triggered if C++ version of nanokernel timer code is used.
4440 Integer overflow in TicksToMicroseconds() on x86.
4443 1. DEFECT FIX: DEF114657 t_ramdefrag does not cover all scenarios for aMaxPages
4444 Add test cases to verify that if aMaxPages != 0, but is valid, then the correct amount of pages
4445 are moved or discarded of. Also added other test improvements.
4450 (Made by ReubenH 22/11/2007)
4453 1. DEFECT FIX: PDEF114092: Error handling problem with DSoundLdd asynchronous requests
4454 2. DEFECT FIX: PDEF114093: DSoundLdd needs error notifications within DoRequest
4457 1. DEFECT FIX: INC113879: CFileMan::Rename() shows performance regression.
4458 Turned buffering of epocwind.out back on after it had been inadvertently disabled
4463 (Made by NeilC 16/11/2007)
4466 1. CHANGE REQUEST: Development CR RFID-73RE3H: Kernel, GT0326 Base-Nymph, Add traceflags to enable/disable crash debugger and crash logger
4469 1. BREAK REQUEST: BR2155.1 Remove Stack Enable/Disable APIs from USB Client Driver.
4470 Removed USB LDD user-side APIs
4471 RDevUsbcClient::EnableUsbDriver;
4472 RDevUsbcClient::DisableUsbDriver;
4473 Updated USB API Guide accordingly, upped document version to 3.0.7.
4476 1. CHANGE REQUEST: Development CR: BBRE-78XEDX Kernel, GT0326 Base-Nymph, More Btrace information for Demand Paging
4477 This adds two new traces to the BTrace::EPaging category: EPagingDecompressStart and EPagingDecompressStart.
4480 1. DEFECT FIX: DEF113075: Description for struct Emulator is missing.
4481 Added Insource documentation
4483 5. Radhakrishnanramanat
4484 1. DEFECT FIX: DEF111161: inconsistent amount of data returned by RmdaDevSound (old sound drivers)
4485 Modified flush record scenario to update the partial buffer.
4488 1. CHANGE REQUEST: Development CR: PHAR-75TF6J Kernel, GT0326 Base-Nymph, Product Usability: Provide a standard TIgnoreOverflow for TDes8/16::Format
4491 1. DEFECT FIX: DEF113817: Fixed comment syntax for comments in TMappingAttributes enum. They followed the items, instead of coming before).
4492 2. DEFECT FIX: DEF112227: Removed the sentence "This function can be called with the system lock held" from Kern::ThreadFromId and Kern::ProcessFromId.
4495 1. DEFECT FIX: DEF113630: APIREG:Clearing password for emulated drive does not work always.
4496 DMMCSession::SetupCIMInitStackAfterUnlock() does not set iCardP to NULL anymore
4501 (Made by MariamSood 13/11/2007)
4504 1. DEFECT FIX: DEF113638: Incorrect calculation of composition buffer offset in tvout and display0 driver
4505 2. MINOR_CHANGE: Change comments about "Base_Pixel_Formats.doc" file
4506 3. MINOR_CHANGE: Add Display Driver API and Pixel Formats documentation.
4509 1. DEFECT FIX: DEF113790 Bug in MmuBase::FreePhysicalRam() function
4510 Change in-source comments and remove the test attempting to free from an invalid address in t_ramdefrag
4513 1. DEFECT FIX: DEF113660: RPIPE::NotifySpaceAvailable() doesn't return the appropriate status value.
4514 Code added in Wait function to mark the handle as Read end (and Write end). Also changed source documentation
4515 for WaitForReader and WaitForWriter. T_pipe updated to verify the same.
4517 4. MArkTa DEFECT FIX: DEF097962: Simulated OOM in RHeap is a point failure
4518 Added new burst failure mechanisms that allow the heap allocations to fail in bursts for all
4519 the existing failure types. Also added new function to return the number of failures so
4523 1. MINOR CHANGE: Add support for BIOS calls during kernel initialisation phases 0 and 1.
4524 Affects only x86 platform, not ARM or emulator.
4529 (Made by ParameshwariB 09/11/2007)
4532 1. DEFECT FIX: DEF111541: Force Erase times-out if MMC PSL incorrectly implemented
4535 1. DEFECT FIX: DEF113356: DBTraceFilter2::New fails in OOM
4538 1. CHANGE REQUEST: Development CR: PHAR-756J5K Kernel, GT0286 Base KnP, Product Usability:
4539 Detecting cleanup stack imbalance when exiting RunL
4542 1. DEFECT FIX: DEF113720: ksrt2_2 should be a KLIB
4543 2. DEFECT FIX: DEF113718: genexec.pl is not portable
4544 Updated to be compatible with the Unix based build system
4545 3. DEFECT FIX: PDEF113932: Monitor::HandleException (on ARM) passes wrong parameters
4548 1. DEFECT FIX: DEF113779: ARM1176 bug
4552 1. DEF113793: Filename Policy non-conformance generates build warnings
4555 1. DEFECT FIX: PDEF113772 :Div by 0 possibility it Wins::CalibrateCpuSpeed()
4556 Propogated from INC111126
4557 Added code to improve the calculations made to get real CPU speed.
4560 1. DEF113493: Secure Clock does not completely handle integer wrapping
4561 2. DEF113494: Inconsistent capability checking for setting Non Secure Clock offset
4562 3. MINOR_CHANGE: Made small improvement to t_time
4565 1. DEFECT FIX: DEF111726: <BASE Quality SD> Initialisation - Failure handling of CMD8 is incorrect
4566 2. DEFECT FIX: DEF112574: <BASE Quality SD> Prevent locking if card is PERM_WRITE_PROTECTED
4567 3. DEFECT FIX: DEF113079: <Base Quality SD> Blocklength ASSERT for CPRM Compliance
4572 (Made by SushmitaR 07/11/2007)
4575 1. DEFECT FIX: PDEF113635: Not enough licensee keycodes available
4576 Added 8 more of each type of key code (EStdKeyDevice, EStdKeyApplication,
4577 EKeyDevice and EKeyApplication) in e32keys.h. Added appropriate entries to
4578 emulator key mappings in keyboard.cpp, and added EStdKey-to-EKey (scan code
4579 to key code) mappings for the emulator in keymap.cpp.
4581 1. MINOR CHANGE: Update BASE/E32/41 entry in functional spec on Bill's behalf
4584 1. DEFECT FIX: DEF113172: Description missing for functions of "Class Kern"
4585 Fix lots of doxygen tagging errors and add any missing documentation.
4586 Also, fix C preprocessor errors with ARM asm version of Kern::ValidateFullName() and fix it as well.
4587 New test code for Kern::ValidateName() and Kern::ValidateFullName().
4588 2. DEFECT FIX: DEF113566: Bug in D_RAMDEFGRAG.CPP
4589 Fix use of TESTDEBUG and add iPageShift for byte to page and page to byte conversions.
4592 1. DEFECT FIX: DEF112961: Data abort in ekern.exe::MultiMediaCard0 when card removed during write
4593 Prevent DOmapMMCStack::InterruptDFC() from dereferencing a NULL session pointer
4594 2. DEFECT FIX: PDEF113642: Partition Table Entry will be incorrect for SD cards over 8GB
4597 1. DEFECT FIX: DEF113545: Bug in ARM_WFIcc, ARM_WFEcc & ARM_SEVcc macro
4600 1. DEFECT FIX: DEF112917: t_zip e32test does not build on top of CBR release
4603 1. DEFECT FIX: PDEF112797: MEDSDP can not handle FAT16
4604 For 16GB+ SD cards (which are not yet available!), allow the protected area to
4605 be formatted as FAT16 rather than FAT12
4608 1. DEFECT FIX: DEF113077: Missing description for TFatUtilityFunctions, SLocaleData, LMessages and Locl
4609 In Source documentation added for TFatUtilityFunctions, SLocaleData, LMessages and Locl.
4612 1. MINOR_CHANGE: Suppress the output of the H4HRP boards during automatic overnight base team testing.
4616 (Made by SivashankarN 30/10/2007)
4619 1. MINOR CHANGE: Fix comment on ELangNone in e32const.h:enum TLanguage (0xFFFF is for
4620 1023 languages * 16 dialects, not just 1023 languages)
4621 2. CHANGE REQUEST: Development CR: PHAR-76CMGU Kernel, GT0326 Base-Nymph, Product Usability: Put TLanguage into it's own header file
4622 Moved TLanguage enum from e32/include/e32const.h to e32/include/e32lang.h.
4623 3. MINOR CHANGE: Fix typos in e32/include/e32btrace.h comments
4626 1. MINOR CHANGE: Enable writes into hard disk on x86pc baseport. Other platforms unaffected.
4629 1. DEFECT FIX: DEF113395 - updated document to say that we can only use MMC card slot 1
4632 1. BREAK REQUEST: BR1960.1 USB Driver PIL API restriction.
4633 The interface between USB PDD (PIL) and USB LDD has been made Symbian internal.
4634 Reclassifying it as @internalTechnology will make it easier to maintain the
4635 interface. Some elements of class DUsbClientController will however remain
4636 @publishedPartner because they are also used by the layer underneath the PIL
4637 (the PSL - the Base port part of the USB driver).
4640 1. DEFECT FIX: DEF112386: missing information in TExcType
4641 2. MINOR CHANGE: Add REQ8591 to Functional Spec
4642 3. DEFECT FIX: DEF112810: Emulator screen not refreshed on initial run for WINS
4645 1. DEFECT FIX: DEF111733: Run-mode debug: Kernel heap allocation failure not reported by GetList()
4646 2. DEFECT FIX: DEF112909: DSS multi-agent suspend\resume thread support
4647 Modified Debug Device Driver's handling of thread suspension to permit this.
4648 3. MINOR_CHANGE: Add out-of-memory testing capability to t_rmdebug2. This can be configured from t_rmdebug2.mmp.
4651 1. DEFECT FIX: DEF112269: T_VFP crashes on ARMv7
4652 Update T_VFP to deal with full ARMv7 VFPv3 specification. Should not affect current platforms.
4655 1. MINOR_CHANGE: Add WINS & WINSCW metabld scripts for building generic base unistore2 drivers and emulator
4659 1. DEFECT FIX: DEF113174: API reference missing for NKern::LockSystem in developer library
4660 Fix incorrect doxygen tags that were missing a '<' character. Add descriptions for TContext.
4669 (Made by KaiD 26/10/2007)
4672 1. DEFECT FIX: DEF112265: DevKit Defects PER Helpdesk 003253: Bug in T_BTB test
4675 1. DEFECT FIX: DEF113043: Zone initialization failure for each coalesced boot bank
4676 Initialise the number of coalesced zones, not the original number
4679 1. DEFECT FIX: DEF112973: ARM1176 & ARMV7 specific build errors within memory model
4682 1. DEFECT FIX: DEF113016: TDriveUnit() does not return error for invalid drive
4685 1. MINOR CHANGE - - Add How To Config RAM Defrag document and update functional spec
4686 for PREQ308/REQ6949.
4688 1. DEFECT FIX: PDEF112695: Add langauge enums to cover more of the world
4693 (Made by JohnS 23/10/2007)
4696 1. DEFECT FIX: DEF112114: BASE QUALITY USB - Alternate Setting High Speed Bulk EP packet size not 512
4699 1. MINOR CHANGE - Fix d_ramdefrag and d_defrag_ref's entry points so they use AsyncClose() to
4700 destroy any DObject based objects.
4701 2. DEFECT FIX: DEF112926: TRK driver calls delete on a DObject in low memory conditions
4702 Ensure that DObject derived objects are closed rather than deleted.
4705 1. DEFECT FIX: DEF100679: (P) MVS App: Playing any audio file at zero volume always plays at constant vol
4708 1. MINOR CHANGE: Ensure that t_ramdefrag adjusts the number of files to create according to the size
4709 of the MMC. Also added test improvements for muliple thread test cases.
4712 1. DEFECT FIX: DEF111803:Documentation for TExitType::EExitKill needs improving.
4713 Insource documentation changed in e32const.h for the EExitKill enum .
4715 1. DEFECT FIX: DEF112606: Wrong name in pixelformats.h
4716 2. DEFECT FIX: DEF112608: Crash in kernel while GCE tries to operate with displaychannel
4719 1. DEFECT FIX:PDEF113533: Baseport build fails in release mode in SOS9.4 Wk38
4724 (Made by indrajeetsingh 10/10/2007)
4727 1. DEFECT FIX: DEF112406: NKern::FMFlash BTrace output has no return address logged
4728 Rewrite NKern::FMFlash and NKern::FlashSystem in assembly so that they can log
4729 better BTrace data. This also slightly improves their performance in all cases.
4732 1. MINOR CHANGE: Correct in source comments for SRamZone etc in kernboot.h.
4733 2. DEFECT FIX: DEF111875: TScheduler::Reschedule() Bug in ncsched.cia
4734 Ensure the FPEXC_REG2 and FPEXC_REG3 macros are used when they are required to be.
4737 1. DEFECT FIX: DEF111913: The emulator doesn't handle PCs with multiple monitors properly
4738 Extend visibility checking to allow emulator window to be restored onto non-primary monitor
4739 2. MINOR CHANGE: Fix typos in e32/include/e32capability.h comments
4742 1. DEFECT FIX: DEF112530: T_BTRACE test fails on ARMV6 & ARMV7 platforms
4745 1. DEFECT FIX: PDEF112671: rom.pl cannot handle no extention files
4748 1. DEFECT FIX : DEF111986 :Error in comment in the Class interrupt : Updated the documentation in assp.h
4749 and interrupt.h for the Interrupt::Bind() function.
4751 1. MINOR CHANGE: Ensure that t_defrag_ref accounts for when the least preferable zone cannot be claimed
4752 2. DEFECT FIX: DEF111951: T_RAMDEFRAG Fails on H2 but only when run as part of an autotest ROM
4753 Ensure that T_RAMDEFRAG is more flexible to different layouts of RAM by checking whether a general defrag should empty any zones.
4754 Other minor test flexibility improvements also added.
4757 1. DEFECT FIX: INC112328: S60 5.0 Clock: Time setting is changing by itself
4758 One-line change to Kern::SetSystemTimeAndOffset() ensuring RTC is not written unless the
4759 ETimeSet_SetHwRtc flag is used, even if it's the secure clock being updated.
4764 (Made by DeleOgunjumelo 04/10/2007)
4767 1. CHANGE REQUEST: CR1068: Screen 0 of WINS emulator should be able to have scroll bars.
4768 2. DEFECT FIX: DEF110282: IMPORT_C/EXPORT_C: KHeapMinCellSize and KHeapShrinkHysRatio
4769 3. DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
4772 1. MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
4773 INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
4774 Separate out existing base_e32 component into the following components :
4776 e32\drivers\adc\base_e32_drivers_adc.mrp
4777 e32\drivers\bsp\base_e32_drivers_bsp.mrp
4778 e32\drivers\debug\base_e32_drivers_debug.mrp
4779 e32\drivers\ecomm\base_e32_drivers_ecomm.mrp
4780 e32\drivers\esound\base_e32_drivers_sound.mrp
4781 e32\drivers\ethernet\base_e32_drivers_ethernet.mrp
4782 e32\drivers\locmedia\base_e32_drivers_locmedia.mrp
4783 e32\drivers\media\base_e32_drivers_media.mrp
4784 e32\drivers\trace\base_e32_drivers_trace.mrp
4785 e32\drivers\usbc\base_e32_drivers_usbcli.mrp
4786 e32\euser\base_e32_euser.mrp
4787 e32\ewsrv\base_e32_ewsrv.mrp
4788 N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
4789 Alterations made to the OSD Categories / S12 names of various distribution.policy files to satisfy the new rules.
4790 2. DEFECT FIX: DEF112230: SD stack fails to read SDHC card if controller has no support for CMD6 (Switch)
4793 1. Minor Change: Minor improvments to t_ramdefrag
4796 1. DEFECT FIX: DEF111033: USB LDD shouldn't accept negative length parameters
4799 1. DEFECT FIX: PDEF110852: No ELangXxx enums for Basque and Galician
4800 Added two enums for supporting Basque and Galician.
4803 1. DEFECT FIX: DEF108105: Control returns to the wrong place when calling User::Leave
4804 Added a call to an empty function as part of the TRAP implementation.
4807 1. MINOR_CHANGE: Development CR: BBRE-77DHGN Kernel, GT0326 Base-Nymph, PREQ1700 (Product usability):
4808 Update crash debugger to provide compression option for BTrace data
4809 REQ8392: Kernel: Update crash debugger to provide compression option for BTrace data
4815 (Made by JonathanM 02/10/2007)
4818 1. DEFECT FIX: DEF112382: Header file dependecy problem with RAMALLOC.H
4822 (Made by LukaszForynski 01/10/2007)
4825 1. DEFECT FIX: DEF111566: USBMSAPP shouldn't be built from two different locations
4826 Deleted the H4 target .MMP file (/omap_hrp/h4/usbmsapp.mmp) and changed the
4827 respective file entry in /omap_hrp/h4/rom/kernel.iby to now use the generic
4828 version of USBMSAPP (i.e. 'usbmsapp.exe' instead of '_h4hrp_usbmsapp.exe').
4829 2. DEFECT FIX: DEF112048: USB PDD PIL issues spurious warnings
4830 Changed most KTRACE flags in DUsbClientController::NextDeviceState()
4831 from KPANIC to KUSB.
4834 1. DEFECT FIX: DEF111941: DP: Obsolete ENABLE_CODE_PAGING flag should be removed
4837 1. DEFECT FIX: PDEF109251: t_nandbm fails to run on various platforms
4840 1. DEFECT FIX: DEF111952: Some test cases fail on H2 ARM4 builds
4841 Stop t_pagestress from doing alignment checks on ARM4 builds.
4842 Protect against division by zero in t_defragperf when t_defragdll0 is too small.
4845 1. DEFECT FIX: DEF111391: No documentation for descriptor Collapse() and Expand()
4852 (Made by MarkTa 26/09/2007)
4855 1. DEFECT FIX: DEF111491: Fibula: 0xdead data received
4858 1. Minor Change: Document update: Base_How_To_ARMv7_Cache_And_Access_Remapping - Design.doc
4861 1. MINOR_CHANGE: Run-mode debug test code. Modify t_rmdebug2 test code to
4862 enable running tests individually. Add help (-h) and version (-v) options
4863 to t_rmdebug2.exe command line arguments.
4866 1. DEFECT FIX: DEF111721: H2 & H4 MMC interrupt handler may compile incorrectly
4869 1. MILESTONE: Naiad, GT0302, MS3.5.2 DS503 PREQ308 - Defragment physical RAM.
4870 - Addition of the RAM zone concept.
4871 - New APIs to allow RAM to be physically defragmented, either all of RAM or a
4873 - Updated H4 base port to show how to potentially use RAM zones to save power
4874 and allow a large physically contiguous buffer to be obtained without having to
4875 reserve it from the rest of the system.
4876 - Update H2 base port to stress the RAM zone code.
4881 (Made by DmitryL 11/09/2007)
4884 1. MINOR_CHANGE: Adding BTrace documentation for EHeap category
4887 1. DEFECT FIX: DEF111103: IPR errors in base_e32test
4890 1. DEFECT FIX: DEF111395: USB PIL wrongly resets endpoint data toggles
4891 Removed calls to ResetDataToggle() from some PIL functions such that it now
4892 only gets called for the relevant endpoints in InterfaceSetTeardown() (plus
4893 of course for a CLEAR_FEATURE(ENDPOINT_HALT) request).
4895 1. DEFECT FIX: DEF110633: Warnings generated with checksource build
4898 1. DEFECT FIX: PDEF111465: No API to determine VID from DThread
4901 1. DEFECT FIX: PDEF111457: Kernel exception during NThreadBase::Kill
4904 1. DEFECT FIX: DEF111080: <Base Quality SD> Initial Clock speed value not checked
4905 2. DEFECT FIX: DEF111081: <Base Quality SD> Data Transfer Clock speed value not checked - PSL
4906 3. DEFECT FIX: DEF111082: <Base Quality SD> Data Transfer Clock speed value not checked - PIL
4909 1. DEFECT FIX: DEF110303: IMPORT_C/EXPORT_C: OMAP::GetSharedMemInfo
4910 2. MINOR_CHANGE: TI H4 baseport version 9.61 for LCD.
4911 3. MILESTONE: Oghma, GT0302, MS3.13 DS697 CR0978: LCD Driver update to support off-screen image buffer.
4917 (Made by OlegI 04/09/2007)
4920 1. DEFECT FIX: PDEF111121: Messaging SBTM (3SK): H4 crashes as I open messaging while OOM
4923 1. DEFECT FIX: DEF110280: IMPORT_C/EXPORT_C: KHeapShrinkHysRatio
4924 2. DEFECT FIX: DEF110299: __ARM_scalbn should be declared IMPORT_C.
4927 1. DEFECT FIX: DEF109608: Debug namespace (rm_debug_api.h) comment problems
4928 2. DEFECT FIX: DEF110096: Run mode debug: KRomImageDebuggable constant in e32rom.h should be @released
4929 3. DEFECT FIX: DEF110837: Run mode debug - warnings produced when compiling on unsupported platform
4930 4. MINOR_CHANGE: Add test case identifier comment for CRunModeAgent::TestDllUsage
4934 ==========================
4935 (Made by ReubenH, 29/08/2007
4938 1. DEFECT FIX: DEF110944: Precondition checks going off in the crash debugger
4941 1. DEFECT FIX: DEF111169: [System Build]:CBR Errors and warnings in M04329 v9.4 and M04329 v9.5
4942 2. Minor Change: Support for Network Boot on X86 platform.
4944 3. Radhakrishnanramanat
4945 1. DEFECT FIX: DEF109461: NKern::FSWait does include not holding a fast mutex as a precondition
4946 Added precondition to check holding fast mutex.
4949 1. DEFECT FIX: DEF109992: t_boottime.cpp needs the changes to free LDD
4950 Added code to check for the error code while loading the driver and to free the driver.
4953 1. DEFECT FIX: DEF109703: [SITK v1.0] Warnings generated with checksource build.
4956 1. DEFECT FIX: PDEF110872: SDK/S60 3.2/C++CW/W: interfaces_kernel_EKA2 API defects (WL)
4957 Remove unimplemented methods, euser-7.0 build files and hal_gcc_shim
4962 ==========================
4963 (Made by JonCo, 15/08/2007
4966 1. DEFECT FIX: DEF109913: Blocklength ASSERT to ensure SD Compliance
4967 2. DEFECT FIX: DEF109914: Incorrectly setting KMMCOCRBusy for ACMD41
4968 3. DEFECT FIX: PDEF110281: Formatting SD Card Protected Area - Format Unit Size is incorrect
4971 1. DEFECT FIX: DEF109799: The text window server doesn't handle the cursor properly
4972 2. DEFECT FIX: DEF110323: DP: Code paging leaks address space
4973 3. CR1170: Enable code paging without ROM paging
4974 4. PDEF109414: Documentation for DPlatChunkHw::New is incorrect.
4977 1. DEFECT FIX: DEF107478: [v9.4,v9.5] {Fix Dev Branch} Kern::RequestComplete with deleted DThread in ~DMsgQueue
4980 1. MINOR_CHANGE: Fix Compiler error from DEF109913
4983 1. DEFECT FIX: DEF110538: DP: System crash in demand paging code
4984 2. DEFECT FIX: DEF110897: DP: Memory leak if DDemandPagingLock is freed twice.
4985 3. DEFECT FIX: DEF110290: Various BTrace bugs
4986 Detailed description...
4988 1. Priming of EChunks category give incorrect memory allocation for chunks
4989 because the 'page bitmap' it uses also contains guard pages which don't
4990 have any RAM commited.
4992 Solution: Change prime implementation to walk page tables to determine
4993 which memory is actuall committed to the chunk.
4995 2. The memory memory used for File System Caching is double counted, because
4996 it is both commited to the chunk and counted in the 'free ram' size.
4998 Solution: Issue EChunkMemoryDeallocated for pages which are unlocked
4999 and EChunkMemoryAllocated when they get locked again. This makes File
5000 System Cache chunk appear as not using RAM. (Which is correct as the
5001 RAM is counted as 'free' by the system and available for other use.)
5002 NOTE: The fix for bug 1. also fixes the prime data for the file cache
5005 3. Missing physical ram allocation bookkeeping and traces
5006 (EKernelMemoryDrvPhysAlloc):
5007 - MmuBase::Init2 should account for ram banks reserved by the bootstrap.
5008 - Epoc::ClaimPhysicalRam should behave as Epoc::AllocPhysicalRam.
5010 4. The memory usage for CodeSegments needs to be output when ECodeSegs
5013 5. The use of memory by the kernel as reported by EKernelMemory traces is
5016 Solution: Add extra book-keeping to the kernel so it updates the new
5017 variable Epoc::KernelMiscPages whenever it allocates or frees memory which
5018 doesn't belong to a chunk.
5020 6. Traces for EKernelMemoryDrvPhysAlloc output size and physical address in the
5023 7. Traces for EKernelMemoryDrvPhysAlloc and EKernelMemoryDrvPhysFree should
5024 contain the size of RAM actually allocated, not that requested. I.e. sizes
5025 should be rouded up to a page size.
5027 8. C++ version of the reference BTrace handler in BTracex doesn't output
5030 Solution: Output NKern::TickCount() value if Timestamp2 requested.
5032 9. It's not possible to distinguish between two different processes which have
5033 the same trace id. (As happens when a new process is created at the same
5034 address as a previous terminated process.)
5036 Solution: Add EProcessCreate and EProcessDestroy traces to trace category
5037 EThreadIdentification, and output these traces when a process is created or
5038 destroyed; also when trace category EThreadIdentification is primed.
5040 10. It is not possible to associate a chunk with the process which owns it.
5042 Solution: Add new EChunkOwner trace to EChunks trace category and output
5043 this whenever a EChunkCreated trace is output.
5045 11. Cpu usage trace analysis can be made easier by outputting a
5046 ENewThreadContext trace when trace category ECpuUsage is primed.
5048 12. The EMetaTrace category should be automatically enabled at boot if any
5049 BTrace category is enabled. This makes trace-from-boot consistant with use
5052 13. After using BTRACE.EXE to dump the contents of the trace buffer, the buffer
5053 is empty, therefore any subsequent dumps will lack important state
5056 Solution: After dumping the buffer, 're-prime' all trace categories which
5059 14. BTRACE.EXE can report 'bad command line argument' when trying to set
5060 filters, e.g. with '-f3'.
5062 Solution: Set 'r' to true in the case 'f' line.
5064 15. Insufficient test code for checking kernel BTrace data output.
5066 Solution: Add a trace analysis tool to E32UTILS testing purposes.
5068 16. It is not possible to obtain the contents of the trace buffer once the
5071 Solution: Extend BTrace APIs to include the ability for the BTrace driver
5072 to register a 'control' function, (see enum BTrace::TControl etc.).
5073 These APIs enable the crash debugger to obtain the contents of the trace
5074 buffer and dump them through the debug UART.
5077 1. DEFECT FIX: DEF109517: PREQ1426 : Run Mode Header can result in libraries with static data
5078 2. DEFECT FIX: DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCL
5079 Added new test case to validate this defect and DEF109517 which depends on this fix.
5082 1. DEFECT FIX: DEF110413: USB Inline Header File uses potentially wrong Enums
5083 Changed 'EThread' into 'NKern::EThread' in e32/include/drivers/usbc.inl.
5086 1. DEFECT FIX: DEF109258: halcfg.pl - missing usage function
5089 1. DEFECT FIX: DEF109381 : Documentation on thread naming needs updating.
5090 2. DEFECT FIX: DEF109382 : Documentation on Server naming needs updating.
5093 1. MINOR_CHANGE: Move some definitions in e32keys.h from internal to @publishedPartner.
5094 This change is done to assist Symbian in washing its hands of Java.
5098 ==========================
5099 (Made by MariamSood, 08/08/2007
5101 1. Gayathriramachandra
5102 1. DEFECT FIX: PDEF109906: T_SERIAL: TestFirstDelayedWrite called before the ports have been configured
5105 1. DEFECT FIX: DEF109787: NAND Media driver is a bit inefficient when reading
5106 2. DEFECT FIX: DEF110049: Combining a V3 & V4 MMC card on the same bus sets the bus width to 4
5107 3. MINOR CHANGE: Change MmcTest to decode MMC/SD serial number
5108 4. DEFECT FIX: PDEF109903: Formatting SD card protected area is unacceptably slow
5109 5. DEFECT FIX: DEF109989: PER03138 __ASSERT_DEBUG macro bug in MEDMMC.CPP
5112 1. CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered
5113 during the SMP prototype development phase
5114 2. MINOR CHANGE: Add missing ditribution.policy files.
5115 3. MINOR CHANGE: Fix BC break with RotateReadyList.
5118 1. DEFECT FIX: PDEF110164: Compiler error in d32locd.h
5121 1. DEFECT FIX: PDEF110078: Classes are not fully initialized by the constructor.
5122 Made sure that USB classes which are shared between kernel- and user-side
5123 are fully initialized with the same valid values across all 9.x releases.
5124 This affects classes TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
5125 TUsbcClassInfo, and TUsbcInterfaceInfo.
5128 1. DEFECT FIX: DEF109292: added conditional creation of epoc.ini depending on run argument. (wintest.bat)
5129 Changed initialisation for non SSR Nand Driver Type (estartmain.cpp)
5132 1. DEFECT FIX: DEF109387: TMappingAttributes not fully documented.
5133 Added in-source documentation for TMappingAttributes.
5137 ==========================
5138 (Made by NeilC, 02/08/2007)
5141 1. DEFECt FIX: PDEF109804: DSharedIoBuffer::New() caused panic in the case of no memory.
5142 In Out-Of-Memory condition, Kernel may have crashed when SharedIO is created.
5144 1. DEFECT FIX: DEF107996: Warnings generated with checksource build.
5145 Made paths in .mmp and bld.inf's consistant with file system.
5148 1. CR0904: Remove hardcoded references to C:
5152 1. DEFECT FIX: DEF109997: aOffset description missing in document lib for Kern::ThreadDesRead API.
5157 ==========================
5158 (Made by ParameshwariB, 24/07/2007)
5161 1. CR1050: New BTrace instrumentation for Heap & Kernel memory analysis.
5162 2. DEFECT FIX: INC108593: Setting secure clock requires TCB capability
5163 User-mode secure clock APIs were wrongly documented as requiring WriteDeviceData + DRM. This was changed to
5164 TCB + WriteDeviceData at the last possible minute, but the documentation was not updated until now.
5167 1. DEFECT FIX: DEF107589: Problem with the context switching implementation
5168 Add new macros that allow the only the coprocessor registers required to be saved on the stack
5169 on a context switch. No longer relies on EXTRA_STACK_SPACE but uses the real coprocessor macros.
5172 1. DEFECT FIX: PDEF109322: t_chunk doesn't test allocation of 1024th page table(moving model)
5173 Spawn a new process that allocates more chunks.
5178 (Made by JohnS, 16/07/2007)
5181 1. DEFECT FIX: DEF108961 : template_variant can't build variant_user.mmp.
5184 1. DEFECT FIX: DEF108618: Minor issues in crash debugger
5185 Updated the code to dump IRQ and FIQ stacks after all thread stacks are printed.
5188 1. DEFECT FIX: PDEF109377: <BASE Quality SD> SIZE_OF_PROTECTED_AREA incorrectly calculated for SDHC cards
5191 1. DEFECT FIX: PDEF109159: RamCacheBase::ReturnTo System holds system lock when freeing RAM page
5192 Update RamCacheBase::ReturnToSytem to release the system lock before call the ram allocator.
5193 Also, remove some of the system lock flashing that occurs when ReturnToSystem is invoked.
5194 2. MINOR CHANGE: Add missing export to eabi/euser.def.
5197 1. DEFECT FIX: DEF109088: BASE QUALITY USB - SetInterface for invalid default setting
5198 Corrected the interface number that is passed into CheckEpAvailability() in
5199 function DUsbClientController::SetInterface().
5203 ==========================
5204 (Made by SushmitaR, 10/07/2007)
5207 1. DEFECT FIX: PDEF108984: In source comments seem misleading in kern_priv.h.
5209 1. DEFECT FIX: PDEF107149: User::RenameProcess: incorrect return code description if process name is same
5210 Modified insource comments to match the implementation (i.e. Returns KErrNone if the new and old (to be renamed) process names are identical).
5213 ==========================
5214 (Made by AndreasP, 04/07/2007)
5217 1. DEFECT FIX: PDEF108206: CMD8 is sent with wrong response type: R1 instead of R7
5218 Added R7 to TMMCResponseTypeEnum.
5219 Changed TMMCMachineInfo to support new flag - ESupportsR7. The PSL layer MUST SET THIS BIT IF IT SUPPORTS R7
5220 Changed CommandTable in session.cpp so that CMD55 & CMD56 have class KMMCCmdClassApplication.
5221 Changed DSDStack::InitialiseMemoryCardSM() so that it sends CMD8 with response type BCR. For CMD8, ERespTypeR7 is written to the
5222 iResponseType member variable of TMMCCommandSpec, if the PSL indicates support for the ESupportsR7 bit, otherwise it writes ERespTypeR1.
5223 Changed initialisation order in DSDStack::InitialiseMemoryCardSM() so that ACMD41 is send after CMD8 rather than before, to comply with the SD 2.0 spec.
5224 2. DEFECT FIX: PDEF108721: H4 MMC Inactivity timer fires in interrupt rather than DFC context
5225 Changed iInactivityResetTimer to fire in DFC context. Added a debug-assert to DMMCStack::UnBlock() to make sure Unblock() is not
5226 called in interrupt context unless the KMMCSessStateDoDFCflag is set.
5229 1. MINOR_CHANGE: USB API Document: Added note regarding standards compliance
5230 when changing interface numbers to section 4.8.5 "Interface Descriptor";
5231 upped document version to 3.0.6.
5234 ==========================
5235 (Made by AndrewHi, 29/06/2007)
5238 1. DEFECT FIX: DEF108400: FAULT: WinsSoundScPdd 0x000002da (730) panic from Multimedia alloc tests.
5241 1. DEFECT FIX: DEF105363: KErrCorrupt - while reading a file content which is available in MMC Card
5242 H4 supports a maximum data transfer length of 1M. Added support in TMMCMachineInfo to allow the
5243 PSL to specify if such a limitation exists, allowing the media driver to split up the transfer.
5246 1. MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426 - Finalise run-mode debug driver including speculative Thumb2 debug support.
5247 2. DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
5248 3. DEFECT FIX: PDEF107500. Board Crash when Reading Thread List from Debug Security Server.
5249 4. DEFECT FIX: DEF107833. PREQ1426 - Listing information not present in Debug Functionality block.
5252 1. MINOR_CHANGE: Remove @prototype tags from KDriveAttPageable, KMediaAttPageable and DefaultHash::Integer()
5253 as not allowed to have @publishedAll APIs left as @prototype.
5256 1. DEFECT FIX: DEF107786: Miss use of #else preprocessor directive
5257 Modified files in Base subsystem to conform to preprocessor rules
5260 1. DEFECT FIX: INC108121: Time setting is changing back to original time by itself after time is changed
5261 Applied critical patch to kernel\stimer.cpp for hardware where NOS 'owns' the hardware clock and
5262 goes into an interrupt-driven infinite loop if SymbianOS kernel writes to it.
5265 ==========================
5266 (Made by JonCo, 26/06/2007)
5269 1. DEFECT FIX: PDEF108259 Kern::MutexCreate's aMutex argument is documented wrongly
5272 1. MINOR_CHANGE: Made T_SOUND_API and T_SOUNDMCHAN 'support' tests on the
5273 emulator since the shared chunk sound driver has been observed to freeze
5274 the emulator during testing. Defect DEF108303 has been raised on account
5278 1. DEFECT FIX: PDEF108283: iBusWidth of TSDcard is not initialized.
5279 This results in iBusWidth to hold an incorrect value after a Powerup/IDLE state.
5280 2. MINOR_CHANGE: Added documentation for BusWidth() and SetBusWidth() member functions of TSDCard class.
5283 1. DEFECT FIX :DEF105914 : euser.mmh should check for __CPU_HAS_VFP.
5284 Added a macro check for __CPU_HAS_VFP in all the files checking for the macro __USE_VFP_MATH.
5287 1. DEFECT FIX: PDEF107454 : Debug monitor dump command should read using alignment .
5288 Updated the code to read using alignment.
5291 1. MILESTONE: Naiad,GT0326 MS3.11 DS 718 CR1098: NTimer::OneShot that takes a TDfc to queue on completion
5292 CHANGE REQUEST: CR1098: NTimer::OneShot that takes a TDfc to queue on completion
5293 2. DEFECT FIX: DEF107280: Engineering document states that Symbian does not support demand paging
5294 3. DEFECT FIX: PDEF108368: Kernel precondition break happens on Lubbock
5295 4. DEFECT FIX: PDEF108367: In t_chunk.cpp, RTest::Start() does not match RTest::End()
5296 5. DEFECT FIX: PDEF108497: KMaxOsName has been renamed KMaxProcessName
5299 1. MINOR_CHANGE: Added two KTRACE printfs to USB driver to aid debugging.
5302 ==========================
5303 (Made by VincentF, 13/06/2007)
5306 1. DEFECT FIX: DEF107331 DMMCSession::RequestMoreData() tagging incorrect.
5307 Removed unnecessary tags for DMMCSession::RequestMoreData() in mmc.h and mmc.inl
5308 2. DEFECT FIX: DEF107342 TMMCCommandDesc::BufferLength() is @publishedPartner but has no description
5309 Added method description
5312 1. DEFECT FIX: PDEF107138 Kern::NanoWait(n) blocks 2*n nanoseconds
5313 Added new test T_NANOWAIT to measure NanoWait() blocking time
5316 1. DEFECT FIX: DEF108024: Closing H4 MMC DMA channel can trigger an assert
5317 Set iRxChannel / iTxChannel to NULL in DOmapMMCDmaRx::Close() / DOmapMMCDmaTx::Close()
5318 to prevent a debug-assert on a subsequent call to TDmaChannel::CancelAll().
5322 ==========================
5323 (Made by MiguelB, 06/06/2007)
5326 1. MINOR_CHANGE: Updated USB Porting and Test How-To Document to version 3.2.1.
5327 2. DEFECT FIX: PDEF107581: E32Test t_usb does not alter and check payload
5328 Changes made to T_USB and USBRFLCT to put the 32 bit packet number that is
5329 incremented for each transmission as the first four bytes of each data payload.
5330 This is checked by the receiving application and if it is not as expected
5331 (1 more than the previous packet number) then an error message is displayed
5332 and the expected packet number is changed to match the received packet number.
5333 3. DEFECT FIX: DEF107620: USB LDD shouldn't allow duplicating of channel handle
5334 Override virtual DObject::RequestUserHandle() in class DLddUsbcChannel such
5335 that attempts to duplicate the channel handle via RDevUsbcClient::Duplicate()
5336 will result in KErrAccessDenied being returned.
5337 4. DEFECT FIX: DEF107651: USB PDD: GET_DESCRIPTOR fails for large configurations
5338 Increased Ep0 Tx buffer size in the USB PDD PIL from 1KB to 64KB (the largest
5339 amount a GET_DESCRIPTOR can request).
5342 1. DEFECT FIX: DEF106817: multimedia test case still exhausting windows TLS indicies
5343 Added windows entrypoint to all DLLs so it can perform CodeWarrior runtime libary cleanup
5346 1. DEFECT FIX: DEF107030: Workaround required for ARM1136 Errata 411920 and 415662
5347 It affects code that (almost) never executes.
5348 2. DEFECT FIX: PDEF106326: DevLib needs description to warn of an usage of Kern::RequestComplete( )
5349 In-sourse documentation update only.
5352 1. DEFECT FIX: DEF106857 New Sound Driver-Issue with pausing recording when no outstanding requests.
5353 2. DEFECT FIX: DEF107379 New Sound Driver: DSoundScLdd should not be publishPartner.
5354 3. INTERFACE CHANGE: BR2127.2 DSoundScLdd and associated symbols should not be publishPartner.
5357 1. MINOR CHANGE: Fixed E32TEST T_DEMANDPAGING to make it more robust.
5358 The change excludes the code of the test program itself when checking writing
5359 to paged ROM. Without this change it was possible for the test program execution
5360 to change the state of a ROM page being tested.
5363 1. DEFECT FIX: DEF107503: IPC alias memory does not get domain initialised correctly
5366 1. MILESTONE: Sphinx,GT0339,MS3.1.1 Support FAT on <90nm flash devices (part 1)
5367 INTERFACE CHANGE: BR2083 Peripherals: Move base_wins component source from
5368 base\wins to base\emulator\wins
5371 1. MINOR CHANGE: mass update of missing SYM_BRANCH comments in OMAP H4 HRP
5372 BSP to mark differences for conflict resolution.
5375 1. MILESTONE: Nutmeg, GT0332, MS3.7 PREQ1426 - Initial submission of run mode debug driver and security server
5378 1. DEFECT FIX: DEF105784: RHeap::Size is incorrectly documented as returning the bytes commited
5381 1. DEFECT FIX: DEF107699: estart.txt file incorrectly enables noth NOR and NAND drives on H4
5385 ==========================
5386 (Made by SushmitaR, 30/05/2007)
5389 1. DEFECT FIX: DEF107194: USB Client PDD: CancelWrite(0) doesn't work
5390 DUsbClientController::CancelWriteBuffer() didn't take into account that the
5391 USB LDD uses endpoint number '0' for both directions of Ep0.
5394 1. DEF105786 RProcess::Terminate()/Kill() documented needed capabilities not correct
5397 1. DEFECT FIX: PDEF107283: TTG:<just after the time on inserting MMC/SD, MMC/SD cannot be recognized>
5400 1. MINOR_CHANGE: Updated Functional Specs for REQ7124
5403 1. DEFECT FIX: PDEF107214: TTG:<e-shell cannot read or recognize ELECOM SDHC 4GB Class4>
5404 2. DEFECT FIX: PDEF107251: Instantiation of second SDIO socket should succeed
5407 1. DEFECT FIX:PDEF107137: Euser does not compile with FPU in compiler flags
5408 Tested by enabling the FPU within the EUSER.MMP file using OPTION ARMCC --fpu=vfpv2,
5409 And have made changes accordingly to the UC_REALX.CPP file.
5412 1. DEFECT FIX: DEF107196: Ipc copy of code-paged data that isn't word-aligned causes fault
5415 1. DEFECT FIX: PDEF106928: TSecurityPolicy function is not exported
5416 Make overload of TSecurtityPolicy::CheckPolicy that creates list of missing polices,
5417 @internalComponent to remove it from the developer library.
5421 ==========================
5422 (Made by JenniferH, 23/05/2007)
5425 1. MINOR_CHANGE: Changed a debug printf in the USB LDD from an error message
5426 to an informational one.
5427 2. MINOR_CHANGE: Update of the USBIO host test driver from version 2.30 to 2.41,
5428 which, among other things, adds MS Windows Vista support:
5429 Recompiled usbrflct.exe against the new driver, provided new versions of the
5430 driver binaries (usbrflct.sys and usbrfl98.sys) + updated the INF files.
5431 3. MINOR_CHANGE: Added testing of class-specific (CS) Endpoint descriptor
5432 manipulation to USB unit test T_USBAPI.
5435 1. MILESTONE: Oghma, GT302, MS3.8, DS.543 Base: GNU Make-based build system
5436 PREQ1182 GNU Make-based build system
5437 REQ7124: Base: extension makefile changes and filename compliance
5440 1. DEFECT FIX: PDEF106635: RMessagePtr2::Panic can itself panic with USER 23!
5443 1. DEFECT FIX: DEF106876: Missing utility to exercise DPTest API
5444 Added a console application (dptestcons.exe) that links to dptest.dll and provides command line
5445 access to all the functions in DPTest. Added an oby file containing both dptest.dll and dptestcons.exe,
5446 and exported this to \epoc32\rom\include\.
5449 1. DEFECT FIX: DEF105782: DKernelEventHandler has been marked as @interim since 9.1
5450 Replaced @interim with @released
5452 6. Radhakrishnanramanat
5453 1. DEFECT FIX: PDEF106866: DProcess::Rename has a defect when renaming a process to the same name
5454 Added new method BaseName(n) to Dobject class (Non virtual and not exported).
5455 This method will be called by DProcess::Rename(). Modified T_proc1.cpp to test rename the process with same name.
5458 1. DEFECT FIX: PDEF106923: Support for RPipe::WaitForWriter and re-alignment of RPipe def files.
5459 RPipe::WaitForReader and RPipe::WaitForWriter API added. DEF file regenerated for re-alignment.
5460 t_pipe.cpp updated with new test cases.
5463 1. DEFECT FIX: PDEF102484: BaflUtils::NearestLanguageFile() to use new HAL attr for custom resource drive
5464 New HAL attribute ECustomResourceDrive added. This is intended for use by BAFL in determining if an additional
5465 drive needs to be included in the search algorithm for language files.
5466 (BR2038.2 Kernel: Deprecate HALData::ESystemDrive and introduce a new attribute for BaflUtils::NearestLanguageFile
5470 1. DEFECT FIX: PDEF107023: Applications with caption over 80 characters in length crash
5471 (Propagated from INC106000: Applications with caption over 80 characters in length crash and applied the same fix)
5472 Maximum allowable name length for any kernel object is 80, so User::RenameThread panics
5473 if the name is more than 80 characters. Updated function description to reflect the same.
5476 1. DEFECT FIX: PDEF107131: Incorrect search results when searching with asterisk at the beginning of searc
5477 When searching files using asterisk at the beginning and questionmark at the end, the search
5478 stops too early. For example if searching file named 'jpg_picture.jpg' with the string *jp?
5479 the search doesn't find the file, because it stops handeling the file after 'jpg_' which
5481 Changes to TCollate::Match() in collate.cpp
5482 Added new tests to existing in t_match.cpp
5486 ==========================
5487 (Made by SamiraA, 17/05/2007)
5490 1. DEFECT FIX: PDEF106335: TCSD::ReadBlockLength() implementation is inconsistent with MMC functional spec
5491 (Propagated from DEF105501 and same fix is applied)
5492 TCSD::ReadBlockLength( ) is modified to validate and support Read Block Length based on the Card Specification Version.
5495 1. DEFECT FIX: DEF106254: Device descriptor information bMaxPacketSize0 conflicts with iEp0MaxPacketSize
5496 Changed USB PSL constant KEp0MaxPktSzMask, which is the value reported to
5497 the higher layers, from KUsbEpSize16 to KUsbEpSize64. This affects both the
5498 H2 and the H4 full-speed USB drivers.
5499 2. MINOR_CHANGE: USB API Document: Corrected description of Control transfer
5500 handling on Ep0 in section 3.3; upped document version to 3.0.4.
5501 3. MINOR_CHANGE: Added testing of class-specific (CS) Interface descriptor
5502 manipulation to USB unit test T_USBAPI.
5505 1. MINOR_CHANGE: In-source documentation for User::IMB_Range updated
5508 1. DEFECT FIX: DEF105033: New sound driver - Sound heard with new driver is less than the old driver.
5511 1. DEFECT FIX: DEF105786 : RProcess::Terminate()/Kill() documented needed capabilities not correct.
5512 Updated the capablity section of the in-source documentation for Kill(), Terminate() & Panic()
5513 functions of RProcess class
5515 1.MINOR_CHANGE: Updated functional specification to reflect the delivered Oghma REQ for PREQ1389
5518 1. MINOR CHANGE: Fixed illegal IM tags
5521 1. PDEF106752: Error in processing HEADER.IBY files
5522 Changed "#else if defined(USE_MMC)" to "#elif defined(USE_MMC)" to keep tools happy
5525 1. DEFECT FIX: PDEF106846: RCondVar documentation fails to mention priority inversion
5530 ===============================
5531 (Made by MichaelMo, 09/05/2007)
5534 1. DEFECT FIX: PDEF105690: Kernel IPC problem - incorrectly fails with KErrBadDescriptor
5535 This defect caused aliases to fail randomly.
5538 1. DEFECT FIX: DEF105752: Semicolon at the end of "if" statement in usb dma driver
5539 2. MINOR_CHANGE Removed #include <platform.h> from e32\include\drivers\usbc.h,
5541 3. DEFECT FIX: DEF106263: Ep0 seems unstable when USB Host selects alternate interface
5542 The USB LDD no longer cancels pending Ep0 transfers in
5543 DLddUsbcChannel::ResetInterface(), also the LDD now sets up an Ep0 read upon
5544 the user calling RDevUsbcClient::SetDeviceControl().
5547 1. DEFECT FIX: PDEF104933: Multi socket SDIO initialization error.
5550 1. MINOR CHANGE: Fixed a couple of typos in the example code in Base_How_To_Shared_Chunk.doc
5551 2. MINOR_CHANGE: Modified E32TEST T_XXVER2 to cancel lazy DLL unloading - without this it cannot be be run standalone.
5554 1. DEFECT FIX: DEF104278 New sound driver - partial buffer captured prior to pausing is lost.
5555 2. MINOR CHANGE: Minor changes to T_SOUND2 to improve coverage when playing short requests.
5558 1. DEFECT FIX: DEF104508: T_MMCDRV - fails extended read/write tests (potential problem in MEDMMC)
5559 A memory write intended to flushout driver's buffers was in fact writing into the memory under test.
5560 T_MMCDRV test code is modified to correct this erroneous behaviour.
5563 1. MILESTONE: GT302.313 MS3.10 PREQ1089 - Process Monitoring and Re-launch Service
5564 REQ7364 Peripherals: Restarting the hardware platform
5567 1. DEFECT FIX: DEF105938 Secure Clock setting uses wrong capability
5570 1. DEFECT FIX: DEF106123: processes crash with MemModel 6 panic on emulator.
5571 2. DEFECT FIX: PDEF106164: rom.pl doesn't allow patching of constants in kernel or drivers
5574 1. DEFECT FIX: PDEF105149: mmctest fail with KErrArgument when trying to write to a sector (SD card/size2G)
5575 Modified source code to get correct write block length using TSDCard::MaxWriteBlLen( ) for SD Card.
5576 The CSD for > 2GB incorrectly returns the WRITE_BL_LEN field so by calling MaxWriteBlLen it will tune it down to 512 Bytes.
5579 1. DEFECT FIX: PDEF105669: Access failed after SDIO Inactivity timer expired.
5582 1. MILESTONE: GT0350, MS3.1 DS542 PREQ1212
5583 Added tutorial reference drivers phase-1 and phase-2
5587 ==========================
5588 (Made by JonCo, 24/04/2007)
5591 1. DEFECT FIX: DEF100592: TRawEvent::EInactive/EActive events sent when emulator window loses
5592 Changed behaviour so that event is sent when window is minimised rather than losing focus.
5593 2. MINOR CHANGE: Update metabld scripts used for building private dev roms to support new tools.
5596 1. MINOR CHANGE: Removed unused internal function: ArmMmu::LinearToPhysical(TLinAddr, TInt, TInt&, TInt&)
5599 1. DEFECT FIX: PDEF104712: T_DMA test fails because unexpected fragment count.
5600 New enum flag value is defined in e32\include\drivers\dma.h and
5601 e32test\dma\d_dma.cpp is modified to pass on this to request a different max transfer size for test purposes.
5604 1. DEFECT FIX: PDEF103863: SD Card Protected area driver no longer gets destroyed at power
5607 1. DEFECT FIX: PDEF105218: multimedia test case popup window problem
5608 2. MINOR_CHANGE: Added comment to unsafe RRegion constructor
5611 1. DEFECT FIX: PDEF105295: ODP - CSessionLoader::ServiceL leaves object on cleanup stack
5614 1. Requirements: PREQ1266: Secure clock
5618 ==========================
5619 (Made by AndrewHi, 16/04/2007)
5622 1. DEFECT FIX: PDEF104309: SD2 stack init sequence doesn't comply with SD2 spec
5623 Changed init sequence to ensure that CMD8 is issued prior to ACMD41 as dictated by the spec.
5624 2. DEFECT FIX: PDEF104854: Default bus width after GO_IDLE(CMD0) have to be 1 bit
5625 Changed DMMCStack::GoIdleSM() state machine to set bus width to 1 after CMD0 to comply with spec.
5628 1. DEFECT FIX: DEF104086: Base USB Mass Storage App sends invalid Serial
5629 Number. This changes both of the USB drivers on H4 so that they
5630 generate a unique serial number for the platform in the string
5631 descriptor. The value is taken from GetSerialNumber() on the H4
5632 variant, a simple implementation initialises SetSerialNumber() with the
5633 low bits of the MAC address.
5636 1. DEFECT FIX: PDEF104588: Loading dll repeatedly fast causes Symbian OS Fatal Error
5637 Fixed race condition in emulator when loading a driver could find an old handle.
5641 1. DEFECT FIX: DEF103043: Arch and Asic interfaces undocumented.
5642 Updated insource documentation.
5645 1. MINOR CHANGE: Update in-source comment for NTimerQ::iRounding.
5646 This applies the correct classification of @publishedPartner and describes its
5648 This member is intended for use by ASSP/variant interrupt code as a convenient
5649 location to store rounding error information where hardware interrupts are not
5650 exactly one millisecond. The Symbian kernel does not make any use of this member.
5652 1. DEFECT FIX: DEF104851: Need to implement partial workaround for ARM erratum 408022
5653 Add nop before writes to CONTEXTID register that could occur after a branch
5656 1. MILESTONE: GT329 System Libraries (Oghma), MS3.17 DS.652 CR1080 - Partial Upgrade to Unicode 5.0 for Brahmic Script Support
5658 CR1080 Partial Upgrade to Unicode 5.0 for Brahmic Script Support
5659 Configurability and Compatibility:
5660 Non configurable. No compatibility issues
5663 1. MINOR_CHANGE: Updated romnandtechviewh4hrp.oby to support testing for boot from NAND.
5666 ==========================
5667 (Made by VincentF, 03/04/2007)
5670 1. MILESTONE: GT0302 Base Elatha (Oghma), MS3.4 DS487 PREQ1389
5671 Added support for High-Speed SD Cards and MMC Double-Buffering. High-Speed SD cards now
5672 automatically detected and configured, supporting data transfer rates of up to 25MB/s.
5674 Double-Buffering is enabled by specifying the following flags in DMMCStack::MachineInfo()
5676 TMMCMachineInfo::iFlags |= ESupportsDoubleBuffering;
5678 Two new API's added to facilitate double-buffered data transfer:
5680 TUint32 TMMCCommandDesc::BufferLength()
5682 ...reports the size of the currently active buffer, and:
5684 TBool DMMCSession::RequestMoreData()
5686 ...requests the next blocks of data to be prepared by the media driver. This would typically be called
5687 while hardware is transferring the previously supplied buffer, allowing the media driver to copy data
5688 to/from the client in parallel with hardware transfer. While preparing the next data transfer, the
5689 MMC stack shall be blocked on the KMMCBlockOnMoreData blocking condition, so following a request for
5690 more data the PSL must wait using an SMF_WAITS state. When data is ready, the stack is unblocked and
5691 the current command descriptor shall contain details of the new buffer.
5693 2. DEFECT FIX: DEF103582: TMMCard::DeviceSize64 Overflow with 8G MMC Card
5694 Fixed overflow in device size calculations to allow correct capacity to be returned.
5697 1. DEFECT FIX: INC100578: T_DMA fails, if DMA channel is already in use.
5698 Modified source code to skip test on channels already in use.
5701 1. DEFECT FIX: DEF103849 USB HS driver initializes bInterval in endpoint descriptor incorrectly
5702 TUsbcEndpointInfo::iInterval_Hs is now initialized to (-1), and only when
5703 this value is recognized in TUsbcEndpointInfo::AdjustPollInterval(), then
5704 an HS interval value adjustment depending on the endpoint type is done.
5705 Also, the Mass Storage class in CBulkOnlyTransport.cpp now explicitly sets
5706 ifc().iEndpointData[x].iInterval_Hs = 0;
5707 for both Bulk endpoints (IN & OUT) in order to be (more) MSC spec compliant.
5708 2. MINOR_CHANGE: USB API Document: Clarified use of function
5709 RDevUsbcClient::AllocateEndpointResource() when specifying multiple resources;
5710 upped document version to 3.0.3.
5713 1. DEFECT FIX: DEF103545 TLB not flushed properly when page is unmapped (MCL)
5714 Fixed potential stablility issue as TLB was flushed before pages are unmapped.
5715 2. DEFECT FIX: DEF103134 T_IPCBM is slower since PageTables are in Write Back memory (MCL)
5716 The last week's fix of this defect has broken ARMv7 platform. This is the fix for it.
5717 3. Minor change: Fixed T_cache test on ARMv7.
5718 4. DEFECT FIX: DEF104512 Kernel doesn't drain write buffers in ArmMmu::ClearPages
5719 This defect was not likely to cause trouble because write buffers are anyway drained
5720 by H/W. (However, nobody garantees that it will happen in a definite time.)
5721 5. DEFECT FIX: DEF104513 L2Cache::AtomicFlush() doesn't flush cache properly
5722 The defect was "invisible" because AtomicFlush is used only in soft reset.
5725 1. DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it
5728 1. DEFECT FIX: DEF103947: DP: Paging cache is too large in Code Paging ROMs
5731 1. DEFECT FIX: PDEF104152: Problem in issuing HSMMC commands/Spec 4 commands in H4
5732 Fixed a probem on platforms with 2 MMC slots which resulted in high speed / wide bus
5733 mode not being enabled if a single MMCV4 card was inserted in the second slot.
5736 1. DEFECT FIX: PDEF103903: "Memory card locked" is shown incorrectly after setting a password.
5737 Fixed issue with Stack Power down marking cards as 'Locked' + additional test cases for t_pwstr
5741 ==========================
5742 (Made by MiguelB, 22/03/2007)
5745 1. DEFECT FIX: DEF103920 USB LDD: TDmaBuf members iController and iEndpointNumber are not used
5746 Removed TDmaBuf data members iController and iEndpointNumber as they were
5750 1. DEFECT FIX: DEF103885 Typo errors in code
5751 "class:class::method" replaced by "class:method"
5754 1. DEFECT FIX: PDEF103915 Defect in base\e32\kernel\sexec.cpp
5755 Kern::DebugPrint changed to read user side memory with user privileges.
5758 1. DEFECT FIX: PDEF103798: User::Version() documentation is unclear.
5759 Updated insource documentation.
5762 1. DEFECT FIX: PDEF103787: Inactivity reset timer must be canceled when erace command timed out.
5763 updated powerdown stak logic & updated t_pwstr for test coverage
5767 ==========================
5768 (Made by SushmitaR, 19/03/2007)
5771 1. MINOR_CHANGE: Renamed (/base/documentation/)Base_How_To_USB_PSL.doc into
5772 Base_How_To_USB_Porting_and_Test.doc, which better reflects its contents.
5773 2. MINOR_CHANGE: Several changes and updates to "USB Porting and Test How-To
5774 Document"; upped version to 3.2.
5777 1. DEFECT FIX: DEF103134:T_IPCBM is slower since PageTables are in Write Back memory (MCL)
5778 Solved performance issue with t_ipcbm test.
5779 2. Minor Change: Func. Spec document update for PREQ1066 (ARMv6K & ARMv7 support).
5782 1. DEFECT FIX: DEF103505 New sound driver request handling not safe if channel shared between threads.
5783 2. DEFECT FIX: DEF103506 New sound driver - problems with multiple short play requests on emulator.
5784 3. DEFECT FIX: DEF103631 New sound driver - outstanding requests not always completed when pausing record.
5787 1. MINOR_CHANGE: Removed call to ldd.unload function in t_powerseqtest.cpp and t_serial.cpp.
5790 1. DEFECT FIX: DEF103897 ArmMmu::BootstrapPageTable sets iTempPte to NULL, fix mistake which was
5791 setting iTempPte to null rather than *iTempPte.
5792 2. MINOR_CHANGE: Update metabld scripts for h2 / h4 / lubbock to include new tools2 target.
5796 ==========================
5797 (Made by SamiraA, 08/03/2007)
5799 1. radhakrishnanramanat
5800 1. DEFECT FIX: PDEF096009 Documentation incomplete for the following class DPBusPrimaryMedia, DPBusSocket.
5801 (Propagated from DEF092665).
5802 Added in-source comments for classes: DPBusPrimaryMedia and DPBusSocket.
5803 Applied same fix, from DEF092665.
5806 1. DEFECT FIX: PDEF102521 Soft reset causes debug precondition check failure during boot
5807 The fix makes DMemModelChunk::ClaimInitialPages() acquire the System Lock.
5808 (Due to this function been called early in the boot sequence the code was safe without
5809 this locking, therefore no defect would occur on production phones.)
5810 2. DEFECT FIX: PDEF102870 Demand Paging instrumentation is incorrect.
5811 This includes fixing DPTest::Attributes() so that is doesn't incorrectly reports that
5812 Data Paging is supported and so that code paging is not supported if it is disabled by
5813 PAGINGPOLICY NOPAGING in the ROM's OBY file.
5814 3. MINOR CHANGE: Updated Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc
5815 Added description about using the dynamic DFC queue API and removed description of
5816 internal DDemandPagingLock class.
5819 1. DEFECT FIX: PDEF102051: Test zero-length read failed on secure drive.
5820 Added logic to media driver to return Null descriptor if read length is zero.
5821 2. DEFECT FIX: PDEF096011: DMedia: Documentation is incomplete for this class in Dev library.
5822 3. DEFECT FIX: PDEF102548: t_checkdisk.exe failed on secure drive.
5825 1. DEFECT_FIX: PDEF102924: T_FSRV doesn't exit properly
5826 Fixed RLocalDrive::EControlSetMountInfo handling in the local media subsystem so that
5827 a handle to the remote thread is properly closed if there is no mount information passed.
5828 This was preventing any app which called Rfs::RemountDrive() from closing properly.
5829 Changed T_FSYS to expect KErrInUse when attempting to dismount ROM file system (due to clamping).
5832 1. DEFECT FIX: PDEF102825: rom.pl doesn't handle patchdata command correctly
5833 2. DEFECT FIX: DEF102939: TTime.Parse() is incompatible with the Vietnamese Full & Abbreviated Month name
5834 3. DEFECT FIX: DEF102827: ARM1176 board crashes when formatting LFFS drive
5837 1. DEFECT-FIX: PDEF102564 malformed import table causes loader thread data abort (MCL)
5838 Stablility issue with Loader when loaded executable image is corrupted.
5839 2. DEFECT FIX: PDEF103211: E32 T_KHEAP FAILS (MCL)
5840 Minor fix in test code.
5843 1. DEFECT FIX: DEF102246: New sound driver only supports record lengths of page size multiples.
5844 This is a BC Break - SCB confirmation number BR2066.2
5845 The change affects RSoundSc::SetBufferChunkCreate(). Previously this silently increased the size of
5846 each buffer to be a muliple of the page size. It didn't return an error - but instead reported the
5847 size created in response to RSoundSc::GetBufferConfig(). Now the driver accepts buffer sizes which
5848 are not a multiple of the page size (leaving them unmodified). For record channels, the buffer size
5849 specified effectively determines the size of each record request. Hence, for record channels, users
5850 of this function must now take greater care over the buffer size passed since the driver now returns
5851 an error for illegal sizes. In particular, the buffer size must be a multiple of the minimum request
5852 size (TSoundFormatsSupportedV02::iRequestMinSize). It should also be a multiple of the number of
5853 bytes per audio sample. Users of this function are no longer allowed to specify the buffer offsets
5854 themselves via the flag KScFlagBufOffsetListInUse in TSharedChunkBufConfigBase::iFlags. Instead they
5855 can select whether guard pages are left around each buffer or not - using the flag
5856 KScFlagUseGuardPages for the same data member.
5859 1. MINOR CHANGE: Fixing trivial spelling errors in in-source comment.
5860 2. MINOR CHANGE: Tidying up in-source comment description for TFileMode
5864 1. MINOR CHANGE: Added manual test t_med_writebm to benchmark media write performance
5867 1. MINOR CHANGE: Correct spelling in comments of RLoader::Delete
5870 1. DEFECT FIX: PDEF102516: Interrupts disabled and not enabled in Comm drivers.
5871 2. DEFECT FIX: PDEF103159: Serial driver Turnaround timer not restarted.
5875 1. INTERFACE CHANGE: BR2042.1 Bootstrap changes for IRQ, FIQ, UND and ABT stacks memory allocation
5876 2. CR 0972: Add guard page after IRQ stack to catch programming errors
5879 ==========================
5880 (Made by MarkTa, 19/02/2007)
5883 1. DEFECT FIX: PDEF102134: An unimportant priority checking causes a crash when DThread gets killed
5884 In SetActualPriority ensure NThread and DThread priorities are updated even if
5885 either/both are in the state EDead.
5888 1. MINOR CHANGE: Update H4 bootloader to v1.6 and H4HRP user guide to
5889 reflect that the v9.41 OMAP2420 SDP is now a supported HRP platform.
5890 2. MILESTONE: Oghma, GT0302, MS3.3, DS490 PREQ1227
5891 REQ6085 "H4 implementation of multiple displays via TV out" This adds
5892 support for a second physical display though the TV out connector (J9)
5893 on the H4 HRP processor card. The second display can be enabled by
5894 defining WITH_TVOUT at rombuild time. This milestone also includes a
5895 partial catchup to TI BSP v9.50 in the core ASIC device drivers and the
5897 3. DEFECT FIX: DEF099117 "H4HRP does not have an example crash logger"
5898 As the defect title suggests, the H4HRP did not have support for flash
5899 crash logging. This defect fix provides implementations for both the
5900 small block NAND and Intel Strataflash NOR flashes present on the HRP.
5901 Define either CRASH_LOG_NOR or CRASH_LOG_NAND2 at rombuild to get the
5902 respective support in Techview and Textshell roms.
5905 1. DEFECT FIX: PDEF095989: [Codebase] T_MMCDRV failures on a few SD cards
5906 raised EPOCSTACK size
5910 ==========================
5911 (Made by JohnS, 14/02/2007)
5914 1. MINOR CHANGE: Modified T_MMCDRV to not run testerase on wholemedia test pass.
5915 2. DEFECT FIX: PDEF101803: iReplyCount in DMediaChangeBase is bigger than 2
5918 1. DEFECT FIX: PDEF094023 TDesC16 FindC incorrectly documented. Added extra overloaded TDesc16::FindC function
5919 Extra pararmeter aLengthFound - length of the match found in the candidate string
5922 1. MINOR CHANGE: Correct comments for TLocale::AmPmSpaceBetween, TLocale::SetAmPmSpaceBetween,
5923 TLocale::SetAmPmSymbolPosition and TLocalePos TLocale::AmPmSymbolPosition
5924 2. DEFECT FIX: DEF100027: RBuf8 and RBuf16 claims to take ownership but it doesn't
5927 1. MINOR CHANGE: Added Base_How_To_Impacts_Of_Demand_Paging_On_Kernel-Side_Code.doc
5928 2. MINOR CHANGE: Renamed document "SGL.TS0022.016_1.1 Migrating Device Drivers to Paging Environment.doc"
5929 to "Base_How_To_Migrate_Device_Drivers_to_Paging_Environment.doc"
5930 3. MINOR CHANGE: Updated in-source comments for BTrace to indicate that EPagingAged trace is only
5931 produced when the kernel is compiled with the BTRACE_PAGING_VERBOSE macro. (Or BTRACE_KERNEL_VERBOSE)
5932 4. MINOR CHANGE: Added document "SGL.TS0022.018 - Changes to Symbian OS for Demand Paging.doc"
5933 This describes all the changes made for demand paging, together with some
5934 explanation of why they were made, how they are implemented and the impact
5935 on systems which don't make use of demand paging.
5938 1. DEFECT FIX: DEF101646: t_wsimp test passes in emulator but panics when run on H4 board
5939 Minor change in test code.
5942 1. DEFECT FIX: DEF102033: Paged MMC ROM images sometimes fail to boot
5943 Changed H4 MMC PSL to intially report card as present, rather than absent, so that early demand
5944 paging requests do not fail - the correct status is updated shortly afterwards after an interrupt.
5945 2. DEFECT FIX: PDEF101799: Problems remounting SD protected area with KForceMediaChangeReOpenMedia flag
5946 Fixed a problem in the local media subsystem whereby an unprotected area request completed,
5947 and attempted to empty the deferred request queue before the protected area media driver
5948 had fully opened, resulting in all deferred requests completing with KErrNotReady.
5949 Made a minor change to the interrupt handling in panasonic logic module CPRM stack in order
5950 to show up this problem.
5951 Fixed another problem in locmedia.cpp whereby two consecutive KForceMediaChangeReOpenMedia
5952 remount requests caused both protected and unprotected area media driver to be re-opened.
5955 1. DEFECT FIX: DEF101816 - TDigitType enum needs to be extended to inlcude Indic digits to enable number co
5959 ==========================
5960 (Made by IgorM, 08/02/2007)
5963 1. Minor Change: Minor Change: the fix for t_cache that failed if ARMv7 was with memory type
5964 remapping switced OFF
5965 2. DEFECT FIX: DEF101593 Kernel doesn't reset TLB when the chunk handler is closed (MCL).
5966 As the consequence, after user handler for a chunk was closed, the chunk memory was still
5967 accessable by user side (for a very short period of time).
5970 1. MINOR CHANGE: Changed H2 MMC PSL DVariantMmcOmapH2::MachineInfo() to return 26MHz as the maximum
5971 clock speed rather than 52MHz as CRC errors have been observed with some MMCV4 cards.
5974 1. DEFECT FIX: DEF101559: DP: hal.dll variants should not be unpaged
5975 Remove unpaged keyword in h2 and h2 hal.mmp files
5976 2. DEFECT FIX: DEF101072: UserSvr class is incorrectly tagged
5977 Add @ to interalAll tags in UserSvr methods declarations.
5978 3. INTERFACE CHANGE: BR2040: "Correct interface tags to restrict use of UserSvr class"
5979 Related to DEF101072 and is correction for doxygen tags for UserSvr methods missing '@'
5982 1. MILESTONE: Oghma, GT302, MS3.2.4 DS502 PREQ1066:
5983 REQ5783 Make use of thread and process ID registers
5984 REQ5781 Make use of new ARMv6k load/store exclusive instructions
5987 1. MILESTONE: Naiad GT304 System Libraries, DS.579, MS3.10 CR0989:It is not possible to format a TTime object based on a specific locale
5988 CHANGE REQUEST: CR0989 It is not possible to format a TTime object based on a specific locale
5991 1. DEFECT FIX: INC079996: Lifeblog refers to Nemo's harddrive as MMC
5992 Added new Enum TMediaType::EMediaRotatingMedia
5995 1. MINOR CHANGE: Delete document "Base_How_To_Build_And_Configure_Code_Paging.doc"
5996 as this is a inaccurate description of a feature which has not yet been delivered.
5999 1. MINOR CHANGE: Add new test t_nandbm
6000 This test benchmarks NAND flash at the local drive level.
6001 2. MINOR CHANGE: Lock kernel when calling Kern::Random() from flash translation layer.
6002 The call is located in the Unistore-II BML test code. Nand acceptence tests use
6003 this test code to simulate ECC errors.
6006 1. DEFECT FIX: DEF098402: Documentation of RPointerArray::FindInOrder() is wrong
6010 1. DEFECT FIX: DEF100093:?template baseport has 2 mmp files generating _template_ekeyb.dll
6013 ==========================
6014 (Made by AttilaV, 29/02/2007)
6017 1. DEFECT FIX: DEF100946: Kernel supprt for l220 cache is not sufficient.
6018 This is proper support for L220 cache (It used to work with L210 code and minor hacks
6019 from third parties.). Baseport for platform with L220 should be configured as:
6020 GBLL CFG_HasL220Cache ;in config.inc
6021 macro __ARM_L220_CACHE__ //in variant .mmh
6022 2. DEFECT FIX: DEF100182: Symbian OS 9.3 uses non-existent VFPv3 registers
6023 This is VFP for ARMv7 platform. In E32 we now build kernel extensions for both VFP & VFPv3.
6026 1. DEFECT FIX: DEF100443: DP: New test code missing doxygen tags
6027 2. MINOR_CHANGE: Fix emaulate_paging_device to work with new version of demand paging.
6028 This is sample code / test code used on non-demand paged targets.
6029 3. DEFECT FIX: DEF100442: DP: DPTest::SetCacheSize comments ambiguous.
6032 1. MINOR CHANGE: Added in-source comment for macro _CHECK_DFCQ01_CONTEXT
6035 1. DEFECT FIX: DEF100730: Update to H4 HSUSB Driver from TI's latest Base Port Code (9.61)
6036 Increases the number of DMA channels available to the HSUSB driver and fixes
6037 some timer values ('x' -> 'NKern::TimerTicks(x)').
6038 2. DEFECT FIX: DEF099668: USB Configuration Descriptor shows invalid bMaxPower and SelfPowered values
6039 In the Configuration Descriptor for H2 and H4 (both FS & HS), set the
6040 bMaxPower value to 0mA and the Self-powered bit to 1 (= True).
6043 1. DEFECT FIX: INC098090: S60 emulator: Switching off display 0 swithces off also display 1
6044 Update the emulator display hal implementation to make use of the device number passed in.
6045 2. DEFECT FIX: PDEF101382: HAL attribute ECaseState has no accessor function
6048 1. DEFECT FIX: DEF100952: DP: ApplyCodeFixupsOnLoad can fail when system has a lot of free RAM
6049 This fixes unnecessary KErrNoMemory failures when loading demand paged code (Code Paging) and
6050 when creating ROM shadow pages in demand paged ROMs (used for setting breakpoints in ROM).
6053 1. DEFECT FIX: PDEF101180: GCCE can't compile e32def.h in C mode
6054 Assign value to KSuppressPlatSecDiagnostic directly, no longer assign
6055 via KSuppressPlatSecDiagnosticMagicValue
6056 2. DEFECT FIX: PDEF101084: RRegion::Destroy has "delete this"
6057 Improve comments to RRegion::Destroy to say why USer-42 panic occurs for
6058 RRegion objects stored on the stack
6061 ==========================
6062 (Made by StefanW, 18/01/2007)
6065 1. DEFECT FIX: PDEF096014: MMCTEST can't read sectors on a SD-enabled ROM
6066 2. DEFECT FIX: PDEF100589: SdioSocketThread creates a DFC thread with no name
6067 3. DEFECT FIX: DEF098832: Wi-Fi broken by SDIO change
6070 1. MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
6071 performance Perl script.
6072 2. MINOR_CHANGE: Put in a warning in USB PIL in case the PSL doesn't support
6073 Device State tracking.
6076 1. MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
6077 to access an entire media address space not just a given partition of an SD Card.
6080 1. DEFECT FIX: PDEF100488: Locking and unlocking of card still doesn't work
6081 Changed Estart to write password store even when card is not present
6082 2. DEFECT FIX: DEF100818: More issues with MMC passwords
6083 Changed local media subsystem to force a re-read of the partion information after
6084 writing the password store.
6085 Changed DMMCStack::PowerDownStack() to automatically mark cards with passwords as locked.
6086 Changed TDrive::ClearDevicePassword(TMediaPassword& aPassword) to attempt to unlock a locked
6087 card before clearing the password (only an issue when not using the password store).
6091 ==========================
6092 (Made by DjordjeK, 17/01/2007)
6095 1. MINOR CHANGE Fixing error in-source comment.
6098 1. DEFECT FIX: DEF098394: Documentation of RArray::FindInOrder() is wrong
6101 1. MILESTONE: Oghma, GT302, MS3.2.3, DS488 PREQ1066, REQ5782
6102 Introducing Acess Permission Remapping on ARMv6K and ARMv7 platforms.
6103 2. INTERFACE CHANGE: BR1911.1 On ARMv6K and ARMv7 platforms,
6104 Kernel will support only a limited set of access permissions.
6107 1. DEFECT FIX: PDEF100231: Redundant code in e32 causes BC break in Licensee codelines
6110 1. DEFECT FIX: DEF099552: Fix for PDEF097084 should be applied to new sound driver too.
6111 2. DEFECT FIX: DEF099549: New sound driver components ommitted from iby files used by techview.
6114 1. DEFECT FIX: DEF098971: H4 HSUSB Driver fails Kernel Precondition Checking
6115 Removed the interrupt-disabling code from UsbPowerHandler::RequestPower()
6116 and DUsbPowerHandler::RelinquishPower() in file
6117 \omap_hrp\assp\omap24xx\hsusb\omapusbc_assp_24xx.cpp.
6118 2. MINOR_CHANGE: Changed transfer size/rate display in USB Mass Storage
6119 performance Perl script.
6122 1. DEFECT FIX: DEF100375: t_kernasmbm fails on freescale boards
6123 2. DEFECT FIX: DEF092531: Documentation for RThread::Logon could be improved
6126 1. MINOR CHANGE: Improved test code T_Match by adding more cases to test
6127 for INC092513 (SYSLIB-UNICODE-CT-3337)
6130 1. MINOR CHANGE Adding information about timer resolution to in-source comment description
6134 ==========================
6135 (Made by JonathanM, 09/01/2007)
6139 Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)
6142 DEF098726 DP: [TBAS] Demand Paging low mem tests cause processes to not cleanup correctly
6143 DEF098360 Loading of executables can fail with random error codes under OOM conditions
6144 DEF098751 DP: Demand Paging stress tests appear to lock up on an H2.
6145 DEF099089 DP: [TBAS] Under race-conditions, KErrAlreadyExists errors may occur.
6146 DEF100272 DP: [TBAS] Decommiting Pages from chunks causes random corruptions.
6149 BR1991.2 USB Dfc Queue Performance Improvement
6150 BR1988.1 Device Driver Deferred Function Call (DFC) Queue Migration
6151 BR1982.1 Read from user memory must not occur whilst holding a mutex
6152 BR1924.1 Bootstrap Changes for Demand Paging
6155 ==========================
6156 (Made by NicholasC, 02/01/2007)
6159 1. DEF098400 Documentation missing for RArray::Find() and RArray::FindInOrder()
6160 2. DEF098403 Documentation missing for RPointerArray::Find() and RPointerArray::FindInOrder()
6163 1. INC092513: RR S60: Variant testing: Searching does not work properly in contacts
6166 1. DEFECT FIX: PDEF100045: T_DES E32 test is missing verdict
6167 Correct typos in functions test_TPtr and test_TPtrC, where test.Start is invoked twice.
6171 ==========================
6172 (Made by OlegI, 18/12/2006)
6175 1. DEFECT FIX: DEF097640 Invalid test in t_video (e32test).
6178 1. DEFECT FIX: DEF098837: Deficiency in the addition of objects to the kernel
6179 Amended DObjectCon::Add() to skip call to CheckUniqueFullName for unnamed objects.
6182 1. DEFECT FIX: PDEF099121: MMFControllerProxyServer crashes when trying to play video clip in low memory si
6183 Make sure that when there is no memory available when creating a code segment, we return KErrNoMemory
6184 instead of the (positive) number of pages which are short.
6187 1. DEFECT FIX: DEF099336: DP: Some Base components need MMP files updating for Demand Paging
6188 Ensure the correct mmp files have the unpaged keyword
6189 2. MINOR CHANGE: correct comments for RLibrary::Lookup
6192 1. DEFECT FIX: DEF099250: Problems with new 8GB SD Card
6193 2. DEFECT FIX: DEF097952 Writing a password to the MMC password store should unlock the card.
6194 Auto-unlocking of MMC/SD cards traditionally only occurs during power-up of the MMC.
6195 However, the password store is sent to the card after the ESTART has initialised the card. This
6196 can result in password notifiers appearing if the card is accessed before it has first powered down.
6197 To overcome this issue, the MMC/SD stack now ensures that cards are unlocked when the password store
6198 is first passed to the MMC/SD stack.
6201 1. MINOR_CHANGE: Add Kernel Preconditions Checking Migration Note
6204 1. DEFECT FIX: PDEF095968 SD Protected area media driver provides no way to create/correct compliant MBR
6205 Changed medsdp to create MBR when card is formatted. A card with no MBR will be rejected
6206 if "SYMBIAN_MBR_MANDATORY_FOR_SD_CARDS" macro is defined in medsdp.mmp.
6207 Added a new flag RLocalDrive::ELocDrvWholeMedia to allow reading/writing entire media.
6210 1. MINOR_CHANGE: Clarified description of the SignalRemoteWakeup() function
6211 in the USB API Document, also added a comment in driver header file usbc.h.
6214 1. DEFECT FIX: DEF097578: Demand Paging Asserts are too restrictive
6218 ==========================
6219 (Made by MichaelMo, 04/12/2006)
6222 1. DEFECT FIX: PDEF097862: Loader problems
6223 Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
6224 Extended t_loadfail to cover this fix
6225 2. DEFECT FIX: PDEF098232: No way to add an event without resetting the inactivity timer
6226 Add overloaded version of Kern::AddEvent that specifies whether or not to
6227 reset the user inactivity timer
6228 3. MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
6229 Allow new named symbol export data to be looked up using new exec function RProcess::ExeExportData and
6230 modifying RLibrary::Lookup to get the 0th ordinal of stdexe/stddlls only.
6233 1. DEFECT FIX: DEF098219: Cache not cleaned when creating a new page directory (MCL)
6234 Fixing the security hole. Not related to stability of the sistem by any means.
6235 2. DEFECT FIX: DEF098223: CodeSeg memory not cleaned correctly from the CPU cache (MCL)
6236 This was potentially fatal Kernel defect. It was always there but became visible with
6237 extensive use of write-back cache (9.2 and later).
6238 3. MILESTONE: Oghma, GT302, MS3.2.2, DS489 PREQ1066: Support for 1176 core.
6239 Added support for 1176 core in Kernel and bootrom. Doesn't include TrustZone.
6242 1. MINOR_CHANGE: Add metabld scripts (.mbc) for building emulator for WINS and WINSCW
6245 1. MINOR_CHANGE: Add USB DFC Queue Break Migration Note
6246 2. DEFECT FIX: DEF098487: USB DFC queue improvment
6247 All new functionality currently disabled until macro SEPARATE_DFC_QUE in
6248 e32/kernel/kernel_ext.mmh is defined (this will happen as part of DemandPaging submission)
6249 3. INTERFACE CHANGE: BR1991.1 Development Boards: USB Dfc Queue Performance Improvement
6253 1. DEFECT FIX: PDEF098287: __PATH_TESTED macro has mismatched parenthesis
6256 1. DEFECT FIX: DEF098465: H4 / Fibula HSUSB Driver Issues
6257 Integrating relevant HSUSB driver changes from latest version (9.60) of
6261 1. DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
6262 Reverted back line 229 and 626 in d_ethernet.cpp.
6265 1. DEFECT FIX: PDEF097084 AH: Windows sound volume is increased to Max on emulator startup.
6266 Changed sound driver for wins. retrieved windows wave volume settings, and assigned it as
6267 default volume settings.
6268 2. DEFECT FIX: PDEF096025 Documentation is incomplete for the sound device driver classes in dev library
6269 Updated insource documentation.
6272 1. DEFECT FIX: PDEF096008: DPrimaryMediaBase: Documentation is incomplete for this class in dev library
6273 Updated source files with insource documentation
6276 ==========================
6277 (Made by Dusko 29/11/2006)
6280 DEF098096 REQ6575:Bug in buildrom.pm
6281 Implementation of REQ6575, which is part of PREQ1110. New perl module ef
6282 ficient_rom_paging added.
6285 ==========================
6286 (Made by KaiD, 20/11/2006)
6289 1. DEFECT FIX: DEF096838: DP: AllocContiguousRam fails to use RAM from paging cache (part 2)
6290 Added code in initialisation to check for reserved RAM areas.
6293 1. DEFECT FIX: PDEF097965: Exception handler should dump thread name
6294 Make DumpExcInfo, and therefore the exception handler, output the thread name
6297 1. DEFECT FIX: DEF097976: Pipe distribution. policy file incorrect
6298 Corrected error in e32/drivers/pipe/distribution.policy.
6301 1. MINOR_CHANGE: Fixed comment typo in USB header file d32usbc.h.
6302 2. MINOR_CHANGE: Made some changes to T_USB - disk read/write now requires
6303 at least a 128MB card.
6306 ==========================
6307 (Made by JonCo, 10/11/2006)
6310 1. MINOR CHANGE: Document title changed
6313 1. MINOR_CHANGE: Reorganized USB Mass Storage documentation:
6314 Moved MS Functional Spec and MS App How-to to the base/documentation
6315 directory and deleted an old MS performance figure doc.
6317 1. DEFECT FIX: PDEF095993: SD Card implementation is not fully compliant with the specification.
6320 1. DEFECT FIX: PDEF095979: [AQP] NOR Flash access timeout should return error code, not fault the kernel
6321 Updated for H4, H2 and WINS platforms. WINS driver and T_LFSDRV2 modified to
6322 support simulated timeout test
6324 1. PDEF097540: t_atomic - E32 test case is empty
6325 Remove t_atomic as tests non-existant function User::SafeSwap
6328 1. DEFECT FIX: DEF096652: Open overrides in RPipe and incorrect KErrNotReady
6329 Added two new Open methods in RPipe. Def files updated for the same.
6330 KErrNotReady updated correctly. Test files updated for all the changes.
6333 1. MINOR CHANGE: Tidy up H4_ResetAttach.cmm Lauterbach script
6334 Removed ETM specific script commands because they crash non-ETM Lautherbachs
6335 2. MINOR CHANGE: Improve comments/debug output of T_SERIAL flow control test case
6336 3. DEFECT FIX: DEF097350 - T_SERIAL 3 0 fails on H4HRP
6337 Ensure that the RTS GPIO pin returns to default multiplexed state when the driver is unloaded
6338 4. DEFECT FIX: DEF097399 - H4 UART driver (_h4hrp_euart.pdd) doesn't free physical RAM
6339 Free allocated memeory in the destructor
6343 ==========================
6344 (Made by MichaelMo, 06/11/2006)
6347 1. DEFECT FIX: PDEF097463: Base defect submission causes overnight Networking tests to crash
6351 ==========================
6352 (Made by MiguelB, 31/10/2006)
6355 1. INTERFACE CHANGE: BR1913.1 The constants that describe ARM's page table should be marked as internalComponent
6356 This is change in in-source documantation (tagging) only.
6357 2. INTERFACE CHANGE: BR1848.1 Removing publishedPartner tag from cache-memory related macros (and mark them as internalComponent)
6358 This is change in in-source documantation (tagging) only.
6359 3. MINOR CHANGE: Document title changed
6363 1. DEFECT FIX: DEF091211: RR Emulator hangs running steam tests
6364 2. DEFECT FIX: PDEF095734: Emulator sound driver crash when running UIQ steam tests
6367 1. DEFECT FIX: PDEF095926: Running Multimedia tests on H4 board results in MEDMMC 128 panic
6368 MMC stack session is now deleted when stack powers down & re-instantiated on power-up.
6369 This reverts behaviour to that prior to submission of PREQ1389 and resolves problem of
6370 engaging a session more than once which can result in an exception.
6371 2. DEFECT FIX: PDEF097112 TRUE - Phone does not boot up with memory card inserted
6372 Changed DMMCStack::CIMReadWriteBlocksSM() and DSDStack::CIMReadWriteBlocksSM() so that if a
6373 faulty card does not respond to CMD17, the error code is properly propagated up the stack.
6376 1. DEFECT FIX: DEF096629: base rom.bat tool does not support system-wide #defines
6377 Make rom.pl include the current configuration hrh file when preprocessing oby and iby files
6378 2. MINOR CHANGE: Update comments to TSecurityPolicy::Package and TSecurityPolicy::Set to describe
6379 the descriptor formatting
6382 1. DEFECT FIX: DEF095619: DP: No formal way for licensee build tools to enquire unpaged size of ROM
6383 Add new CLI parameter to generate include file for ROM image post-processing
6384 2. DEFECT FIX: DEF096908: Add support for creating a process with a larger stack size than requested
6387 1. MILESTONE: Oghma GT0302, DS97, MS3.7.2 PREQ1073.4 : Part 2 : Graphics and multimedia (audio driver)
6388 This adds a new audio driver which uses shared chunks for data transfer requests. This driver is
6389 supported on the following platforms: H4, Lubbock, WINS, template.
6390 Added T_SOUND2, T_SOUND_API, T_SOUNDMCHAN and T_SOUNDWAV to E32TEST.
6393 1. DEFECT FIX: PDEF096020: Documentation incomplete for class like TMMCCallBack, TMMCStatus in dev library
6394 Propagated from DEF093710.
6395 2. DEFECT FIX: PDEF096021: documentation incomplete:RMdaDevSound,TSoundFormatsSupported,TCurrentSoundFormat
6396 Propagated from DEF093480.
6399 1. MILESTONE: Bravo GT0236, MS3.27 DS417 PREQ1389 CR0792 - Add support for MMC cards > 2Gb in size.
6400 Added support for >2G MMC Cards conforming to the MMC4.2 version of the specification.
6401 MMCv4.2 introduces block-based addressing modes for MMC Data Transfer operations, hence
6402 overcoming the limitations of 32-bit addressing.
6404 9. NeilC MINOR CHANGE: Make Device Driver DFC Q Migration Note available for customer review.
6407 1. DEFECT FIX: PDEF096026 Documentation incomplete for the class TCisReader in developer library.
6408 Propagated from DEF093922.
6409 2. DEFECT FIX: PDEF096023 Documentation incomplete for classes like TPcCardConfig in developer library.
6410 Propagated from DEF093709.
6414 ===========================
6415 (Made by DmitryL, 18/10/2006)
6418 1. MILESTONE: Argus, GT0314, MS3.3 PREQ1460/CR0923 DS346 PREQ1460: Open Environment - POSIX process launch with pipes
6419 Add new pipe device driver
6420 2. MILESTONE: Argus, GT0314, MS3.4 PREQ1460/CR0923 DS347 PREQ1460: Open Environment - POSIX process launch with pipes : User::WaitForNRequests()
6421 Added User::WaitForNRequests() to support select() for Open Environment
6424 1. DEFECT FIX: PDEF095739: USB connection is not working in 3.1 wk40 RnD build.
6425 Introduced list-based request processing in the USB PDD PIL for Ep0 read
6426 requests (OUT transfers). This is because Ep0 OUT is the only endpoint
6427 in the driver that can have more than one request outstanding at the
6428 same time (one per LDD).
6431 1. DEFECT FIX: PDEF096015: Compiler warning when building SD card support for emulator.
6434 1. DEFECT FIX: PDEF096190: Reclasify UserSvr::AddEvent as @publishedPartner
6435 2. DEFECT FIX: PDEF096192: Reclasify Kern::Restart() as @publishedPartner
6436 3. DEFECT FIX: DEF096179: Incorrect stack info in superpage
6440 1. DEFECT FIX: PDEF095927: During powerdown, PowerHandlers registration should be reversed (i.e. C, B,A).
6441 2. INTERFACE CHANGE: BR1947.2 : Convert power handler list to doubly linked list.
6442 3. DEFECT FIX: PDEF095999: Ethernet driver problems (LDD/PDD) - frame loss, duplication,& sequencing,panics.
6445 1. DEFECT FIX: PDEF096236: ARM11 errata 399234: How Symbian will workaround(MCL)
6446 This is Symbian Kernel fix for ARM1136 ERRATUM No.99234
6447 On ARMv6 platforms, Kernel will use cached memory only in Write-Back mode (that includes memory for
6448 page/directory tables). On Device drivers?request to create Write-Through memory, non-cached/buffered
6449 memory will be created. Performance issue is possible. In baseport, it is advisable to set write-back mode
6450 for the following memory regions: BTP_Rom, BTP_Kernel, BTP_SuperCPU, BTP_PageTable, BTP_Vector, BTP_PtInfo
6451 and BTP_User. If ARMv6 platform is not affected by this erratum, write through mode could be enabled by:
6452 GBLL CFG_CPU_ARM1136_ERRATUM_399234_FIXED ; in config.inc
6453 macro __CPU_ARM1136_ERRATUM_399234_FIXED // in variant.mmh
6454 2. DEFECT FIX: PDEF096239: Use read/write allocate rather than just read allocate for L2 cache(MCL)
6455 Default cached memory in ARMv6 kernel is now "Write-Back Read/Write Allocate".
6456 3. MILESTONE: Oghma, GT302, MS3.2.1, DS432 PREQ1066: Memory Type Remaping on ARMv6K and ARMv7.
6457 It also disables the use of Write-Through cache mode on
6458 these platforms. As the consquence, page tables are now kept and maintained in Write-Back memory.
6459 4. INTERFACE CHANGE: BR1907.2 On ARMv6K and ARMv7 platforms, the kernel will only support a limited set of memory types.
6460 5. INTERFACE CHANGE: BR1950.4 Removing Write-Through cache mode on ARMv6 platforms.
6463 1. DEFECT FIX: DEF092091: H4 (OMAP2420 ES2.1) cannot run at 300MHz with a core voltage of 1.3v
6464 - Increae core voltage to 1v4.
6465 2. DEFECT FIX: DEF096876: H4HRP - Add runtime detection and support for Infineon memory
6466 - Add I2C interrogation of CPU board ID. If 9.41 board revision detected, then setup SDRC
6467 for Infineon DDRAM part.
6470 1. DEFECT FIX: DEF095668: A locales CurrencySymbol and Date/Time formatspecs are not accessable.
6474 ===========================
6475 (Made by YingS, 11/10/2006)
6478 1. DEFECT FIX: PDEF096031: Documentation is incomplete for class DPBusPsuBase, DMediaChangeBase in dev lib
6481 1. DEFECT FIX: PDEF095931: Semi-colon in epoc.ini causes infinite loop.
6484 1. DEFECT FIX: PDEF096041: compile error multiple memory model without __REQUEST_COMPLETE_MACHINE_CODED__
6485 Allow code to build when only __REQUEST_COMPLETE_MACHINE_CODED__ is undefined
6486 2. MINOR CHANGE: Change comment on return codes of User::FreePhysicalDevice and User::FreeLogicalDeive to
6487 include the line"KErrNone will be returned if the device is not found as it may have already been
6491 1. DEFECT FIX: PDEF096039: Calrify and extend TLanguage.
6494 1. DEFECT FIX: PDEF096034: DP: AllocContiguousRam doesn't check page cache when out of memory.
6497 1. DEFECT FIX: PDEF096038: MMC / SD stack disables interrupts unnecessarily
6498 Don't disable interrupts anymore.
6502 ===========================
6503 (Made By EXTRajeswariR, 03/10/2006)
6506 1. MILESTONE: Naiad, GT0303, MS3.1 Changes required to switch ARMV5 to ABIV2 mode toolchain
6507 The changes are made configurable. However, in this submission, all changes required to support
6508 ABIV2 mode toolchain will be submitted. But the changes will not be in effect, since the keyword
6509 required to enable the change is not made. The keyword to enable ABIV2 mode toolchain
6510 (ENABLE_ABIV2_MODE) will be submitted in the configuration file as part of Delivery 2.
6511 Until then, the toolchain shall continue to work in ABIV1 mode.
6515 ===========================
6516 (Made by IgorM, 21/09/2006)
6519 1. DEFECT FIX: DEF091844: [Codebase] Failure during a USB Mass Storage mount can cause a system crash
6520 Restore mounts properly when usbmsapp closes
6523 1. MINOR CHANGE: Correct typo in comments for Kern::ChunkCommitPhysical
6526 1. DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
6527 SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
6528 aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
6529 to the FAT file system to ensure that this constraint is met.
6532 1. Defect Fixes: INC093932: Symbian E32 test T_PROC1 has no verdict
6533 Corrected nesting error of test steps.
6536 1. MILESTONE: Naiad, GT0326, MS3.1 PREQ1623 DS300 Enable DMA for SDIO transfers
6537 This adds new Read/Write APIs for SDIO Register Interface to allow DMA data transfers.
6540 1. MINOR CHANGE: Changed to get the nandloader XSR signature by calling controlIo function instead of being
6541 sent as part of drive capabilities.
6544 1. DEFECT FIX: DEF093921: Documentation incomplete for class Locl/LLanguage in developer library
6547 1. DEFECT FIX: DEF093587: Bug in target (RAM) loader
6548 Global variables (in RAM loaded executables) were potentially left un-initialised.
6551 1. MINOR CHANGE: Revert code so as to disable serial logging during T_SERIAL test.
6552 Logging is sent to default debug serial port and breaks the test.
6555 1. DEFECT FIX: INC094050 RF Phone freeze DfcThread0 during USB cable disconnection at PCS mode
6556 When moving away from Configured state, the USB LDD didn't correctly
6557 reset its internal alternate interface setting representation: added
6558 call SelectAlternateSetting(0) to function DLddUsbcChannel::DeConfigure().
6562 ===========================
6563 (Made by RichardC, 14/09/2006)
6566 1. MILESTONE: Naiad,GT0316,MS3.3 PREQ1426 Phase 1
6567 Add TRK debugger drivers.
6568 2. DEFECT FIX: DEF090911: Formal API needed for Demand Paging test and analysis
6569 This adds new class DPTest in dptest.h and dpsest.dll. (In E32UTILS component.)
6572 1. DEFECT FIX: DEF092537: Build Breaks reported by Partner
6573 Replace the use of the macros TO_ROOT and TO_BLDINF with EPOCROOT and EXTENSION_ROOT
6574 , respectively. This required small change to genexec.pl to add drive letter to
6575 file paths as cpp doesn't like absolute paths beginning with '\'.
6576 2. DEFECT FIX: DEF093363: [Codebase] RProcess::FileName() spelling different in HW and emulator
6577 Change 'z'to 'Z' in KRomSysBin for emulator as h/w targets use uppercase for drive letters
6578 3. DEFECt FIX: DEF093924: RF panic in CrashLogger::DumpRomInfo()
6579 Stop the version name being created twice
6580 4. DEFECT FIX: DEF093711: Documentation incomplete for TStackInfo and SSuperPageBase in developer library.
6581 Make comments doxygen compatible
6582 5. DEFECT FIX: INC093397: RR D_EXC tries to capture kernel and critical thread crashes?
6583 Ensure kernel faults before attempting to send KernelEvent
6584 6. DEFECT FIX: INC092747: e32utils profiler assumes C: is non-volatile drive
6585 Added new command line option "-drive=[drive letter]" to allow drive PROFILER.DAT
6586 is stored on to be specified when starting the profiler
6587 7. MINOR CHANGE: Added comment to nk_plat.h to stop customers attempting to undefine
6588 *_MACHINE_CODED__ macros
6591 1. DEFECT FIX: INC092809: Number of Hal attributes is ENumHalAttributes * number of screens
6592 In-source documantation update only.
6593 (p.s. This is my No.100 defect fixed in Kernel :)
6594 2. MINOR CHANGE: Fix for d_cache test driver which used to panic on ARMv7 due to attempt
6595 to clean/purge invalid address from inner cache.
6598 1. DEFECT FIX: DEF092745: [Codebase] User::Leave, User::Identity and User::CreatorIdentity undocumented
6602 1. DEFECT FIX: DEF092370: [Codebase] TDfcFn undocumented
6603 2. DEFECT FIX: DEF092371: [Codebase] TDfc functions undocumented
6606 1. DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
6607 Reverted the newly introduced RPointerArray stuff of the previous
6608 solution, as we can nowhere allocate new elements safely.
6609 Reintroduced the singly-linked lists (except for transfer requests),
6610 but this time with a maximum permissible length (KUsbcMaxListLength)
6611 to ensure that the lists are of a finite length and thus the list
6612 traverse time is bounded.
6615 1. DEFECT FIX: DEF092227: Insufficient documentation for TCommConfigV01 and TCommConfigV02 member data
6618 1. MINOR CHANGE: Fix category for H4 NAND2 IBY files (cat T).
6619 2. MINOR CHANGE: Add support for SDP9.41 RAM configuration to Lauterbach scripts.
6620 3. MINOR CHANGE: Fix category for H2 NAND2 IBY files (cat T).
6623 1. DEFECT FIX: DEF092375: [codebase] Singly linked lists of callbacks in the USB PDD PIL
6624 Removed all instances of the singly-linked list and replaced them with
6625 either a normal array (for endpoint transfer requests) or RPointerArray
6626 for notification request structures (status, ep status, OTG, client).
6627 Using a normal C-style array for transfer requests also means we don't
6628 have to disable interrupts any longer when looking up pointers and when
6629 storing/deleting pointers: each array element simply corresponds to one
6630 physical endpoint, which only ever can have either one or no transfer
6631 outstanding at a time (irrespective of the number of interfaces/LDDs).
6632 2. DEFECT FIX: INC093352: Adding new USB string descriptors mess up the index of the old ones.
6633 In the USB PDD PIL, file e32/drivers/usbcc/descriptors.cpp, function
6634 TUsbcDescriptorPool::SetIfcStringDescriptor(), changed
6635 iStrings.Insert() into ExchangeStringDescriptor(). Also extended
6636 unit test T_USBAPI to test the case which discovered the problem.
6637 3. MILESTONE: GT0286 Base KnP (Argus), MS3.11 DS397, CR0807
6638 "Increase USB Buffer size in MSDC mode"
6639 The USB Mass Storage class driver now requests 'Default' size LDD
6640 buffering (4KB) on a FS device and 'Plus2'-sized (64KB) buffers when
6641 it detects that it is running on a HS-capable device.
6642 At the same time, the LDD buffer size corresponding to the 'Maximum'
6643 bandwidth setting has been reduced from 2.5MB (IN) and 5MB (OUT) to
6644 512KB in both cases.
6647 1. DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
6648 Add support for multiple FAT partitions to the nadloader application and the nandloader media
6649 driver. Create mechanism to populate composite file system NAND FAT partitions from writeable
6650 FAT partitions which are not in the composite file system. Extend the ROFS tests to NAND FAT
6651 composite file system partitions. Adjust H2 and H4 PSL to create extra FAT partitions and run
6655 1. DEFECT FIX: DEF093844: RF MMC Card still reported as Present
6656 Modified MMCStack such that it is aware if power down is caused by idle or card removed,
6657 if card removed then cards are declared as gone.
6662 ===========================
6663 (Made by ParameshwariB, 29/08/2006)
6666 1. DEFECT FIX:DEF092556: [Codebase] RProcess documentation incomplete/inaccurate
6667 Update search path in RProcess::Create comments to \sys\bin.
6670 1. DEFECT FIX: INC093183: The system doesn't reset when a DFC thread dies
6671 2. DEFECT FIX: DEF093284: Emulator JIT crash handler broken by fix for DEF91167
6674 1. DEFECT FIX: DEF093234: GetCollationKeyL() doesn't work when TCollationMethod.iMainTable is NULL
6677 1. DEF091861: [codebase] Custom format of an MMC card doesn't work.
6680 Patch to release (defect)
6681 ===========================
6682 (Made by DanH 30/08/2006)
6685 1. DEFECT FIX: DEF091413: DP: Stressed Demand Paging configuration missing from MCL
6686 Add new stressed paging configuration to tools romkit oby files. Moved default paging
6687 configuration from base rombuild directory to romkit directory. Also added support for
6688 passing a command line to external tools.
6692 ===========================
6693 (Made by OlegI, 21/08/2006
6696 1. DEFECT FIX: DEF092502: [Codebase] RLibrary::Load reporting different error codes in emulator/hw
6697 Check if filename being looked up is actually a directory name, if it is then return KErrNotFound
6698 Ensure file name length is checked before accessing chars via an array index
6700 1. DEFECT FIX: PDEF092980: Prevention of closure of media driver causes several symptoms with locked cards
6701 Fix regressions caused by changes to local media subsystem introduced as part of
6702 MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
6705 1. MINOR-CHANGE Correcting syntax of @SYMPatchable tag, and minor tweaks to the descriptive text.
6709 ===========================
6710 (Made by NeilC, 16/08/2006)
6713 1. MINOR_CHANGE Added another USB Mass Storage performance measuring Perl
6714 script which writes and reads 100 smaller files instead of a single
6715 large one (\f32test\smassstorage\scripts\usbperformance_multifile.pl).
6718 1. DEFECT FIX: DEF091903: RSessionBase panicking client when Dev lib specifies a KErrArgument return
6721 1. DEFECT FIX: DEF092447: [Codebase] RTimer::Inactivity lack of error documentation
6722 2. DEFECT FIX: DEF092548: FirstDelta() returns a value which is larger then KMaxTInt
6723 Prevent RTimer::AfterTicks(KMaxTInt) from rolling over to be negative
6724 when there are ticks pending.
6727 1. DEFECT FIX: PDEF092862: KeyMap source table misses out EKeyDeviceD
6728 Correct typo to ensure EKeyDeviceE is preceeded by EKeyDeviceD
6733 ===========================
6734 (Made by MiguelB, 08/08/2006)
6737 1. DEFECT FIX: DEF092226: Insufficient documentation for DDmaRequest class member functions in OS library
6740 1. MINOR CHANGE: Restore monotonic order to kernel trace flags muddled in the last paging submission.
6743 1. DEFECT FIX: DEF091958: big kernel data section can trigger kernel fault
6744 Fix bootstrap to not try and map kernel data section with 1MB pages.
6747 1. DEFECT FIX: INC091919: Kernel trace handler called with aTraceSource hardcoded
6748 Pass aTraceSource to the trace handler hook instead of EPlatSecTrace
6749 2. DEFECT FIX: DEF091961: Bug in cache.cia __FlushBtb() function
6750 Correct #ifdef name to __CPU_HAS_BTB
6751 3. DEFECT FIX: DEF091990: Just what do these functions do?
6752 Add in source comments to RProcess::JustInTime and RProcess::SetJustInTime
6755 1. DEFECT FIX: DEF092055: [codebase] USB PIL endpoint number passing is inefficient
6756 The USB LDD no longer passes logical endpoint numbers into the PIL -
6757 instead it saves and later uses the physical numbers that are now
6758 returned by the PIL during the SetInterface() call.
6762 ===========================
6763 (Made by MichaelP, 03/08/2006)
6766 1. MINOR_CHANGE: Added a new debug trace bit for the USB PDD PSL layer
6767 to the list in e32/include/nkern/nk_trace.h:
6768 #define KUSBPSL 33 //0x00000002, index 1
6769 Also updated the USB PSL Porting How-to accordingly.
6772 1. DEFECT FIX: DEF091478: [Codebase] T_MMCDRV failing on BUFFALO miniSD cards up to 512MB
6773 Modified T_MMCDRV to by-pass format test for Buffalo Mini-Sd cards with known issues.
6774 2. DEFECT FIX: DEF091749: [Codebase] D_MMCIF cannot read sectors on cards >=2GB
6775 Modified MMCTEST to replace csd.ReadBlockLength() with MaxReadBlLen().
6778 1. MINOR CHANGE: Added comment to RChunk::Open and RChunk::OpenGlobal to indicated that
6779 functionality for isReadOnly is not currently implemented.
6782 1. MINOR-CHANGE Replacing all instances of the //! comment string with // !
6783 DOxygen interprets //! as a single line comment, and this causes problems in the
6784 generation of API reference documentation.
6785 2. MINOR-CHANGE Fixing a reference to incorrect panic numbers in in-source comment.
6789 ===========================
6790 (Made by MarkTai, 25/07/2006)
6793 1. DEFECT FIX: DEF091354: USB: StartUdc() return code is not being taken care of in Symbian Code
6794 Introduced an error case for RDevUsbcClient::ReEnumerate(), which
6795 is conveyed within the USB driver via return values and across
6796 the kernel/user-side boundary as an async request status. In both
6797 cases the value is KErrHardwareNotAvailable.
6798 RDevUsbcClient::PowerUpUdc() can now return that value too
6799 (alongside success and KErrNotReady).
6800 Also updated the USB driver documentation accordingly.
6803 1. MINOR CHANGE: Added System wide impact section provided by Toby Gray and incorporated
6804 review comments to RHeap Minimum cell size allocation How-To Document
6805 (\document\SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration)
6809 ===========================
6810 (Made by RobertJ, 20/07/2006)
6813 1. DEFECT FIX: DEF091386: Base USB documentation does not mention C drive cannot be used for mass storage
6814 Added section 6.6 "USBMSAPP (USB Mass Storage Application)" to
6815 USB PSL How-To Document (\documentation\Base_How_To_USB_PSL.doc)
6816 and upped its version number to 3.1.
6820 ===========================
6821 (Made by RobertJ, 19/07/2006)
6824 1. DEFECT FIX: DEF090810: EDISP_VT100 - frame to corruption and the edisp_vt100.dll doesn't work When KDM
6825 Minor change in vt100 video driver.
6828 1. DEFECT FIX: DEF090701: HS-USB: When Remote wake up is initiated, Symbian PIL cancels wrong pending rea
6829 USB LDD didn't reset its internal interface alternate setting number
6830 (iAlternateSetting) after a device deconfiguration - it does now,
6831 at the end of DLddUsbcChannel::DeConfigure().
6832 Also fixed a problem in the H4 HSUSB PSL, where endpoint direction
6833 *absolute values* were erroneously compared with direction *masks*
6834 (base\omap_hrp\shared\hsusb\omapusbc_defs.h).
6835 2. MINOR_CHANGE: Update of USB Mass Storage performance test script
6836 /f32test/smassstorage/scripts/usbperformance.pl.
6839 1. DEFECT FIX: DEF087614: MMC card not read after using an SDIO WLAN Card
6840 Ensures that SDIOInterrupts are disabled when Interrupt controller is stopped
6843 1. DEFECT FIX: PDEF087944: SD/MMC stack: KERN EXEC 4 caused by faulty HW/ SD cards
6844 Removed possibility of command stack overflowing in DSDStack::CIMReadWriteBlocksSM()
6845 2. DEFECT FIX: DEF090880: [codebase] XSR media driver doesn't cope with client thread death
6846 The XSR NAND media driver was failing to complete a large (>16K) write request when the
6847 client thread had died. This would result in the driver becoming unavailable until a reboot.
6848 3. DEFECT FIX: DEF085613: Handling media change events in Multiple Card scenario
6849 Removed ASSERT from DPBusSocket::DoorCloseEvent() to allow for platforms with multiple doors.
6850 Changed DPBusSocket::DoorOpenEvent() to stop stack from powering down if any door is
6851 still closed - see in source comments for further details.
6854 1. DEFECT FIX: DEF091167: Emulator hangs if it can't load extensions
6857 1. DEFECT FIX: DEF90876: H4 USB PSL: Wrong PIL Call Return Value Evaluation
6858 Handle EP0 request completion error on KErrNotFound (was KErrNotSupported)
6859 and removed redundant stall request.
6860 2. DEFECT FIX: DEF91168: H2 USB PSL - Remote Wakeup capability reported incorrectly
6861 Make H2 PSL report no remote wakeup capability (not supported in H2 baseport).
6862 3. DEFECT FIX: DEF91251: [Codebase] Mass storage tests are failing
6863 Fix generic TESTUSBC.LDD driver for multiple memory model, ie. use ThreadReadRaw()
6864 instead of straight pointer dereferencing: this broke USB MS tests on H4 HRP.
6867 1. DEFECT FIX: DEF091370: KHeapShrinkHysRatio is not marked as @symbian_patchable
6870 Patch to version 2.00.1147
6871 ===========================
6872 (Made by JonCo, 17/07/2006)
6875 1. DEFECT FIX: DEF091131: Build gets stuck at ced.exe
6876 Added missing source lines to base_e32.mrp
6881 ===========================
6882 (Made by StefanW, 11/07/2006)
6885 1. MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
6886 Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
6887 SD2.0 introduces block-based addressing modes for SD Data Transfer operations, hence
6888 overcoming the limitations of 32-bit addressing. This has introduced the following new
6889 API's, which should be used by clients of the MMC/SD stack (ie - writers of media drivers)
6890 should they wish to access data above the 2GB boundary:
6892 void DMMCSession::SetupCIMReadBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
6893 void DMMCSession::SetupCIMWriteBlock(TMMCArgument aBlockAddr, TUint8* aMemoryP, TUint32 aBlocks);
6894 void DMMCSession::SetupCIMEraseMSector(TMMCArgument aBlockAddr, TUint32 aBlocks);
6896 TInt64 TMMCard::DeviceSize64()
6898 Note that the existing API's are still valid and fully compatible, but will not provide access above 2GB.
6900 2. DEFECT FIX: PDEF084675: Corrupted miniSD not detected as corrupted by phone
6901 3. DEFECT FIX: DEF085679: Transcend MMC cards expect high-speed config to occur prior to CMD42
6902 Some MMC cards expect high-speed configuration to occur prior to any data transfer operations
6903 taking place. This caused auto-unlocking of some MMC cards to fail, as this would occur as
6904 part of the initialisation sequence prior to high-speed configuration. Re-ordered the state
6905 machine to ensure that high-speed mode is configured prior to performing and DT commands.
6908 1. DEFECT FIX: DEF090334: BTrace APIs aren't extensible
6909 This adds support a secondary run-time filter based on a 32bit UID value.
6910 See /base/documentation/Base_How_To_BTrace.doc.
6911 Also added are support for user side 'big' traces and methods for checking the filters
6912 independant of trace generation. The latter enables the filter to be checked before
6913 any costly pre-processing of trace data.
6914 Summary if new APIs added to e32btrace.h:
6915 New macros for generating traces which pass through the secondary filter...
6916 BTraceFiltered4(aCategory,aSubCategory,aUid)
6917 BTraceFiltered8(aCategory,aSubCategory,aUid,a1)
6918 BTraceFiltered12(aCategory,aSubCategory,aUid,a1,a2)
6919 BTraceFilteredN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
6920 BTraceFilteredBig(aCategory,aSubCategory,aUid,aData,aDataSize)
6921 BTraceFilteredContext4(aCategory,aSubCategory,aUid)
6922 BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1)
6923 BTraceFilteredContext12(aCategory,aSubCategory,aUid,a1,a2)
6924 BTraceFilteredContextN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
6925 BTraceFilteredContextBig(aCategory,aSubCategory,aUid,aData,aDataSize)
6926 BTraceFilteredPc4(aCategory,aSubCategory,aUid)
6927 BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1)
6928 BTraceFilteredPc12(aCategory,aSubCategory,aUid,a1,a2)
6929 BTraceFilteredPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
6930 BTraceFilteredPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
6931 BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)
6932 BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1)
6933 BTraceFilteredContextPc12(aCategory,aSubCategory,aUid,a1,a2)
6934 BTraceFilteredContextPcN(aCategory,aSubCategory,aUid,a1,aData,aDataSize)
6935 BTraceFilteredContextPcBig(aCategory,aSubCategory,aUid,aData,aDataSize)
6936 The following kernel APIs have been added...
6937 TInt BTrace::SetFilter2(TUint32 aUid, TBool aValue);
6938 TInt BTrace::SetFilter2(const TUint32* aUids, TInt aNumUids);
6939 TInt BTrace::SetFilter2(TInt aGlobalFilter);
6940 TInt BTrace::Filter2(TUint32*& aUids, TInt& aPassAll);
6941 The follwoing user and kernel APIs have been added...
6942 TBool BTrace::CheckFilter(TUint32 aCategory);
6943 TBool BTrace::CheckFilter2(TUint32 aCategory,TUint32 aUid);
6946 1. DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
6947 2. MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033
6950 1. DEFECT FIX: INC088861: base text shell window server wrongly classified
6951 Change policy file to state category E for \base\e32\ewsrv directory
6954 1. MINOR_CHANGE: make NAND test erase roms panic when they are finished erasing instead
6955 of crashing with an exception.
6958 1. DEFECT FIX: DEF090496: [AQP] Test Failures when executing H4HRP ARMV5 UDEB PAGE rom.
6959 Added K: to estart file for this test rom.
6962 1. DEFECT FIX: DEF090713: Inefficient purging of L2 cache when decommit on ARMv5
6963 Only affects ARMv5 platforms with (any kind of) L2 cache.
6964 2. DEFECT FIX: DEF090719: t_sharedio fails on XScale with L2 cache
6965 The fix only affect ARMv5 XScale with L2 cache. As L2 cache is always write back,
6966 page tables & shadow pages must be purged from L2 cache (they are write through on L1).
6969 1. MILESTONE: Naiad, SM0014, MS3.4, DS.045 PREQ955 Reallocation of thread priorities
6970 for real-time communications.
6971 Added prototype thread priority category to BTRACE to support future thread studies.
6974 1. DEFECT FIX: PDEF090651: USB resets at low memory state
6975 Fixed a double deletion of Ep0 in the OOM case in the USB LDD.
6976 Also fixed some other places in the USB driver where code didn't
6977 behave correctly in an error case.
6980 Patch to release (defect)
6982 (Made by DanH 11/07/2006)
6984 1. DEFECT FIX: DEF090641: Base Techview Obey files not including the right components for paging ROMS
6985 Updated \omap_hrp\h4\rom\base_h4hrp.iby, \omap\h2\rom\base_h2.iby,
6986 \omap_hrp\h4_restricted\unistore2\rom\base_h4nand2.iby and \omap\h2_restricted\unistore2\rom\base_h2nand2.iby
6987 to use the paging versions of the Local Media Subsystem and NAND media driver when PAGED_ROM (or EMULATED_PAGING_MEDIA) is defined.
6991 ===========================
6992 (Made by JohnS, 07/07/2006)
6995 1. DEFECT FIX: DEF087761: estartnandtest.txt does not contain K drive
6996 An entry for K: drive has been included in ESTARTNANDTEST.TXT which is the estart file that gets picked up for
6997 the nandtest_test image that is used for H4 to do NAND testing. Furthermore, the nandtest_test script has been
6998 changed to include f32 testing for K: .
7001 1. DEFECT FIX: DEF087094: [AQP] MMC stacks with more than one media driver share the same buffer
7002 Changed medmmc.cpp and medsdp.cpp to partition the available DMA-able buffer provided
7003 by the MMC PSL into separate sections if there is more than one media driver (which is
7004 true if there is more than one slot or an SD card CPRM media driver is installed).
7005 Changed medsdp.cpp to use the PSL-supplied buffer - this should hopefully ensure it
7006 works for a platform supporting DMA (the only platform we currently support for testing
7007 the CPRM media driver is the integrator which does not use DMA).
7008 2. DEFECT FIX: PDEF088024: CR0638 "Backport of 2GB Card support" was imcomplete
7009 Modified DMMCStack::AdjustPartialRead() for integrator, lubbock & wins MMC PSL's
7010 to calculate the block length (512) correctly for 2GB+ cards by calling TMMCard::MaxReadBlLen()
7011 rather than TCSD::ReadBlockLength()
7012 3. DEFECT FIX: DEF087989: [AQP] Integrator's door open interrupt fires too soon, causing a fault
7013 Changed DSdInterrupt::Init() so that media change interrupts are enabled after setting
7014 the intial values of iSavedDoorOpen and iSavedCardInserted to prevent a spurious call to
7015 DMediaChangeBase::DoorOpenService().
7018 1. DEFECT FIX: DEF084013: Potential security hole in UserSvr::AddEvent()
7019 Added checking of PowerMgmt capabilities for ESwitchOff,ECaseOpen and ECaseClose events.
7020 Also updated T_SUSER test.
7021 2. INTERFACE CHANGE: BR1866: Kernel: Additional capability checking in UserSvr::AddEvent()
7022 Break for DEF084013.
7025 1. DEFECT FIX: INC088864: RHandleBase::FullName() blows the stack
7026 ... which is true as it takes 512KB to hold TFullName on the stack. This fix introduces new euser interface:
7027 void RHandleBase::FullName(TDes& aName) const
7028 where aName may be now preallocated on the heap.
7031 1. DEFECT FIX: DEF090015: Incorrect SET Address primitive handling in Symbian USB code
7032 Swapped the order of sending back status to the host and actually
7033 setting the device address in DUsbClientController::ProcessSetAddress()
7034 in file e32/drivers/usbcc/chapter9.cpp.
7035 2. DEFECT FIX: DEF090234: [AQP] T_USB/T_USBAPI don't check properly for Alt Ifc Setting support
7036 T_USBAPI: Added 'HAL::EMachineUid_Lubbock' to function
7037 SupportsAlternateInterfaces().
7038 T_USB: Before setting up an alternate interface setting, we now check
7039 via SupportsAlternateInterfaces() whether these are supported at all.
7040 Also added a new header file \e32test\device\t_usblib.h, which contains
7041 definitions of commonly used USB test functions.
7044 1. DEFECT FIX: DEF089583: File Server lack of documentation of async calls
7045 2. DEFECT FIX: DEF090161: RFs::CheckDisk returns KErrNotSupported doesn't mean disk is corrupt
7048 1. DEFECT FIX: DEF088353 "Bad C-drive performance on H4 board"
7049 The platform LFFS driver on the H4HRP will now read the typical write
7050 and erase times from the flash device and use these to program the
7051 polling timers. This significantly increases LFFS performance.
7052 2. DEFECT FIX: DEF090354 "H4 LFFS media driver bugs"
7053 We found two bugs in the polling timer code of the H4 media driver;
7054 one is a race that could cause hangs, crashes and warnings whilst the
7055 other would "forget" the timer prescale values resulting in timed
7056 events completing much faster than they should (benign).
7059 1. MILESTONE: Naiad, SM0014, MS3.3, DS.013 PREQ955 Reallocation of thread priorities
7060 for real-time communications.
7061 Added new process-independent thread priorities enumerators in the normal and real-time
7062 ranges, the latter policed by capability ProtServ.
7063 Milestone includes following functional breaks:
7064 2. INTERFACE CHANGE: BR1811.1 Loader/kernel will restrict access to potentially
7065 dangerous high/real-time thread priorities. Kernel caps "relative" thread priorities in
7066 processes without ProtServ capability to level of window server (SystemServer-More).
7068 3. INTERFACE CHANGE: BR1821.1, BR1821.2 Reassignment of thread priorities for realtime
7069 services. Reduction of SystemServer-More priority from 24 to 23. Configurable change
7070 enabled from Naiad through system-wide macro SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES.
7073 1. DEFECT FIX: DEF090242: H4 SDIO does not work with large packets.
7074 Removed redundant register set operations.
7077 1. DEFECT FIX: DEF089551: PNS_MWrite should use _PNS_DEFERRED_CHK macro
7078 Change #ifdef to depend on _PNS_DEFERRED_CHK not _PNL_DEF_CHK
7079 2. DEFECT FIX: INC090278: Keymap and screen driver not needed in simple roms
7080 Make inclusion of ekdata.dll and scdv.dll by base.iby dependant on macros
7081 SYMBIAN_EXCLUDE_KEYMAP and SYMBIAN_EXCLUDE_SCDV not being defined
7082 3. DEFECT FIX: INC090270: D_EXC always included in rom
7083 Make inclusion of d_exc.exe dependant on SYMBIAN_EXCLUDE_D_EXC not being defined
7086 1. PDEF088021: The integrator MMC/SD port does not configure it's clocks correctly
7087 Fix propagated from DEF084792
7090 1. PDEF090344: Data abort in RArrayBase::HeapSortSigned()
7093 ==========================
7094 (Made by JenniferH, 04/07/2006)
7097 1. MILESTONE: SM0013, MS3.1, PREQ209 Demand Paging Prototype
7098 Second delivery of demand paging prototype. Delivery step DS329.
7102 ===========================
7103 (Made by GavinT, 23/06/2006)
7106 1. DEFECT FIX: DEF081438 Missing OOM KHeap tests in e32tests
7107 Added test steps to t_kheap for testing OOM when Shared chunk and Hw chunk are created.
7108 Also, fixed the problem with manual run of the test for the first time after reset.
7109 2. MINOR CHANGE: Updated Kernel's Functional Specification with L2 Cache and ARMv7 support.
7110 3. DEFECT FIX: PDEF088437: Contacts sorting ignores national character variation(MCL)
7111 The comaprison of two unicode strings (Des16::CompareC method) depends on the value of DefaultCharSet in Kernel.
7112 In the existing implementation of locales in Kernel, DefaultChartSet could have been set only once. Another change
7113 of locales would have left DefaultChartSet preserved. It was supposed to prevent run-time change in behaviour of
7114 CompareC (as notifications that locale is changed is not implemented in upper levels of S/W).
7115 However, some licence sets locales twice during boot time. (It sets default locale first - LOCALE.LOC and then
7116 it sets locale according to language settings of the phone.).
7117 This fix removes the limitation of how many times DefaultCharSetin could be changed. It is considered safe as
7118 phone anyway reboots after language setting in changed.
7122 1. DEFECT FIX: DEF087906: RHashMap::Reserve doesn't always allocate the requested number of entries
7123 Forced RHashMap::Reserve to allocate memory if table hasn't been fully initialised yet
7124 2. Change Request: CR0730: Zip crashlogs to save rom space
7125 New compile time configurable option to have crash logger compress its output before writting
7126 to permanent storage. To use define the macro _CRASHLOG_COMPR when compiling the crash logger
7127 and the crash reader. File output by crash reader will now be GZIP compatible and called
7129 3. DEFECT FIX: DEF086989: Non-default value of KHeapShrinkHysRatio can cause heap test cases to fail
7130 Make the test cases for t_heap and t_heap2 take the value of KHeapShrinkHysRatio into account when
7131 calcualting the size of the heap etc
7135 1. MINOR-CHANGE Updated Base_Func_Spec.doc for CR0748: Edisp 32bpp/24bpp unpacked support
7138 1. DEFECT FIX: DEF088121: Wrong test tags in t_perflogger
7141 1. MINOR-CHANGE Error in HAL::Set() comment (capability description) is causing bad rendering
7142 in Symbian OS Library
7145 1. MILESTONE: Naiad, GT0304, MS3.5, DS.341 CR0776 : System Libraries :
7146 Add several new Unicode utility functions
7147 2. Change Request: MGAY-6PWK8K Text and I18N Services, Collation Support
7148 With User Definable Wildcards and Escape Character
7151 1. DEFECT FIX: PDEF088088: Sending and Receiving large amounts of data over usb causes hang
7152 Lockout interrupts during H2 USB endpoint operations (in H2 USB PSL).
7153 2. MINOR CHANGE: Tidy up Lauterbach scripts.
7154 3. DEFECT FIX: DEF088032: Complete HS USB HS H4 handoff
7155 Remove unneeded definitions and prevent buildrom making LFFS enabled HS USB Techview images.
7158 1. DEFECT FIX: PDEF087690: RChunk::AdjustDoubleEnded() allocates and returns error
7159 Ensure that if AdjustDoubleEnded returns KErrNoMemory, no allocation was actually performed.
7163 ===========================
7164 (Made by JoR, 13/06/2006)
7167 1. DEF084609: Issues with Secure access to SD Card
7168 Calling the file server Remount drive API to access the protected area
7169 of an SD card causes issues with access to the User area.
7170 Propagate changes from v8.1b
7173 1. DEFECT FIX: INC087723: Implementation for RThread::GetCpuTime is not Safe
7174 Make ExecHandler::ThreadGetCpuTime use kumemput to write to user memory
7177 1. MILESTONE: Bravo GT0236, MS3.16.3 DS179 PREQ709 "USB 2.0 High Speed"
7178 Introduction of USB 2.0 High-speed device support in Symbian OS
7179 (in conjunction with suitable USB Device Controller hardware).
7180 Changes include USB API extensions, enhanced USB test programs
7181 (T_USB/USBRFLCT, T_USBAPI), upgrade of the PC-side test driver
7182 USBIO to v2.30, updates of "USB API Guide" and "USB PSL Porting
7183 How-to", a new Base_H4HRP_HSUSB_Howto, and a USB PDD for the H4
7184 'Fibula' HSUSB extension board.
7187 1. MILESTONE: Argus GT0286, MS3.6 CR0833 DS299 "Support SDIO interupt mode on H4"
7188 Added support to MMC PSL for SDIO PIO.
7191 1. MINOR-CHANGE Correcting opening marker for RBuf8/16::Close()/CleanUpClosePushL() in-source comment from /* to /**
7194 1. Change Requests: CR0781 Fast_case_insensitive_string_compare
7195 Milestone: Argus, GT0292, MS3.6, DS.337, Text & i18n case_insensitive_string_compare
7196 Requirements: PREQ1228 Argus System Quality Performance, ROM and RAM targets
7202 ===========================
7203 (Made by RobertJ, 08/06/2006)
7206 1. DEF087413 t_sharedio fails on ARMv5+L210 cache platforms
7207 L210 cache on ARM926 cannot distinguish between Write-Back & Write-Through mode.
7208 (This is limitation of the bus between L210 & the rest of core). As the consequence, memory
7209 is Write-Back at L2 level though it is configured in page tables as Write-Through.
7210 This fix only affect ARMv5 platforms with L210 and sets iDecommitThreshold during initialisation.
7211 This will force Kernel to purge L2 cache when page tables or shadow pages (they both are WT) are decommited.
7214 1. DEFECT FIX: DEF087693: Duplicated extension makefiles in Base build
7215 Remove a number of makefiles that are no longer used by the MCL
7216 supported baseports, and adjust the remaining ports to not use them
7217 either. The 'current' versions are in
7218 cedar/tools/buildsystem/extension/base/...
7219 2. INTERFACE CHANGE: BR1818.1: Moving kernel makefiles out of e32 tree to avoid duplication caused by Linux build changes
7220 Break for defect fix above. Baseports which still refer to the affected
7221 makefiles should be updated to use new 'START EXTENSION' mechanism in
7222 their bld.inf files.
7224 1. DEFECT FIX: DEF087615: Incorrect description of HAL attribute's capability in hal_data.h
7225 Change @capability comment from WriteSystemData to WriteDeviceData where mentioned. Add test for attribute
7226 ElocaleLoaded to t_shal.
7230 ===========================
7231 (Made by DjordjeK, 06/06/2006)
7234 1. DEF087352: The actual mapping attributes returned by PdePtePermission on ARMv5 are wrong
7235 Fixed the coding error introduced while supporting L2 cache for XScale.
7238 1. DEFECT FIX: DEF085535: Problem with ECOM test utility
7241 1. MINOR-CHANGE: Updated User Guide, ref: Debug Switch Settings.
7244 1. DEFECT FIX: DEF087018: DRVTEST BUILD fails
7247 1. DEF085711 Documentation for ESystemCritical and ESystemPermanent is wrong for processes
7250 1. DEFECT FIX: INC086296: unistore2 d_mednand.cpp never completes format request for crash log partition
7253 1. DEF081770: The Loader should verify compression type.
7258 ===========================
7259 (Made by DavidM, 26/05/2006)
7262 1. DEF086401: CDmDomain is listed as @internalTechnology
7263 Made CDmDomain @publishedPartner but kept some internal member functions as @internalTechnology
7266 1. DEF086390: T_DTIM fails intermittently on H4
7267 There was a race condition in the test code.
7268 Changed time value in Requeue test of T_DTIM for removing race condition
7270 1. MILESTONE: Argus GT0286, MS3.10 ""Early access" support for ARMv7 and
7271 Kernel/User library optimisation.
7272 Added VFPv3 context and exception unwinder support and CP15 IFAR support.
7276 ===========================
7277 (Made by AndreasP, 22/05/2006)
7280 1. DEFECT FIX: INC086106: Two running processes can have identical names (including generation numbers)
7281 Removed CheckUniqueFullName() from DProcess::Rename() as it doesn't work for processes anyway.
7282 Instead added NextGeneration() call.
7283 2. MILESTONE: Argus GT0286, MS3.4 CR0748 "Edisp 32bpp/24bpp unpacked support"
7284 Added support of 32bpp/24bpp video mode to text shell EDISP driver and to H4 LCD driver.
7285 Added new H4 variant. Build ROM image with this variant using -m USE_24UBPP_DISPLAY_VARIANT.
7288 1. DEFECT FIX: DEF085709: Memory card unlocking does not work if no card inserted while phone booted
7289 2. DEFECT FIX: INC085919: Free pages from the top of the heap are not always freed
7292 1. DEFECT FIX: DEF086892: SWSV_610_R3A01_LOAD-LSBT-2_001: An application crash is observed while... (MCL)
7293 The problem was related to Active Scheduler when TRAP/Leave is implemented in terms of C++ exception.
7294 In CActiveScheduler::Run, we had to make sure that we don't call Active Object's RunError() or
7295 Active Scheduler's Error() while we are still in exception (within 'catch' brackets), as it can lead to
7296 "nested-exceptions" scenario. It is not fatal by default but, if two nested exceptions are both due to OOM
7297 condition, RVCT implementation of exception will run out of emergency buffers and terminate the thread.
7299 2. MILESTONE: Argus GT0286, MS3.10 PREQ1068 "Early access" support for ARMv7 and Kernel/User library optimisation.
7300 This is the second drop (after DEF085518:TextShell image cannot boot on ARMv7 platforms) of ARMv7 support in Kernel.
7301 This change introduces new Kernel Interface that allows variant code to set/get cache thresholds.
7302 Also t_cache test code is updated to test it.
7305 1. DEFECT FIX: DEF082994: No equivalent of NKern::ThreadGetUserContext for system threads
7306 Add new kernel API NKern::ThreadGetSystemContext to get kernel-mode context for system threads.
7309 1. DEFECT FIX: DEF085197: DPBusSocket::Init() calls AcknowledgeEvent incorrectly
7310 Removed redundant call to AcknowledgeEvent() from DPBusSocket::Init().
7311 2. DEFECT FIX: DEF086878: H4 SDIO stack does not power down after inactivity timeout
7312 Fixed DOmapMMCPsu::PsuInfo() to set TPBusPsuInfo::iNotLockedTimeOut correctly
7315 1. DEFECT FIX: DEF085189: KeyTranslator should cope better with rubbish data
7318 1. DEFECT FIX: DEF086985: Improvement to stack walking code in fix for DEF085362
7321 1. DEFECT FIX: DEF081193: Automatic NAND testing should be enabled on H4
7325 ===========================
7326 (Made by AttilaV, 15/05/2006)
7329 1. MINOR-CHANGE Adding Esc chars to description of TTime::FormatL() so that Doxygen tool chain can render special chars correctly [Issue LIB_E_152].
7330 2. MINOR-CHANGE Modified description of aSize parameter [User::ReAlloc()/ReAllocL()] to state the effect of a zero value [Issue LIB_E_154].
7333 1. DEFECT FIX: INC085866: EKeyDevice1x and EKeyApplication1x keys do not work in the emulator
7334 Added translation between EStdKeyDevice1x/EStdKeyApplication1x scan codes and
7335 the EKeyDevice1x/EStdKeyApplication1x key codes
7338 1. DEFECT FIX: DEF086000: emulator sound driver can hang on close
7342 ===========================
7343 (Made by NicholasC, 09/05/2006)
7346 1. DEFECT FIX: DEF085362: Emulator fails to run on windows server 2003
7347 Prevents windows threads being preempted while they are taking an exception.
7348 2. DEFECT FIX: INC081461: Add IsRectOverlappingRegion to RRegion and machine code
7349 3. DEFECT FIX: DEF082742: Techview Fails to start intermittantly on WINSCW
7352 1. MINOR-CHANGE Corrections/additions to description of CFileMan::Move() and CFileMan::Copy().
7353 2. MINOR-CHANGE In-source comment for CFileMan:Delete(). Added note about the effect of passing KNullDesC.
7356 1. DEFECT FIX: DEF066739: XSR NAND baseporting could be made slightly easier by trapping obvious errors
7359 1. DEFECT FIX: DEF085953: Locking Not Lockable Card
7360 CMD42 no longer sent to card if command class 7 not supported.
7363 ===========================
7364 (Made by RichardCo, 04/05/2006)
7367 1. DEFECT FIX: DEF085518: TextShell image cannot boot on ARMv7 platforms
7368 This fix allows CORTEX Based ARMv7 CPU to boot TextShell image. The fix is tested on Virtio Simulator.
7369 It boots in secure mode. Switching in non-secure mode still doesn't work.
7372 1. DEFECT FIX: DEF070123: NAND offsets aren't truely configurable (KNandFbrSectorOffset)
7373 2. DEFECT FIX: DEF084091: Kern::Printfs in ISR in MMC driver - KPBUS1 introduces errors in system tick
7376 1. MINOR-CHANGE Fixed minor typo error within in-source comment for CFixArrayBase::Length()
7379 1. MINOR-CHANGE: updated H4HRP baseport functional spec document to more accurately describe the state of
7380 H4's DVFS implementation (disabled in software).
7383 1. DEFECT FIX: INC077964: Digitiser area is wrong in emulator
7386 1. DEFECT FIX: DEF085798: The fix for INC080727 is a compatibility break and should be reverted
7390 ===========================
7391 (Made by RobertJ, 27/04/2006)
7394 1. DEFECT FIX: DEF084215: Crashlogger and crash debugger fail kernel preconditions
7397 1. MINOR-CHANGE Correcting error in in-source comment for RNotifier::StartNotifier()
7398 2. MINOR-CHANGE Correcting minor syntax error in in-source comment for member TChunkCreateInfo::iOwnsMemory
7399 3. MINOR-CHANGE Adding in-source comment to describe the NONSHARABLE_CLASS macro.
7402 1. DEFECT FIX: DEF080955: Core image on NAND uses multiple of megabytes of RAM
7405 1. DEFECT FIX: DEF085168: Patch data support for rom.pl (ARMv5 & EABI v1) and
7406 and how to document for modifying RHeap minimum cell size value during
7407 build time (SGL.GT0286.351 Base_How_To_RHeap_Minimum_Cell_Allocation_Configuration.doc).
7411 ===========================
7412 (Made by JonCo, 18/04/2006)
7415 1. DEFECT FIX: DEF084696: USB EP0 reads failing with USB Hands Free Kit (Japan Brand)
7416 Added StallEndpoint() calls in case of request failure in USB PIL function
7417 DUsbClientController::Ep0RequestComplete().
7420 1. DEFECT FIX: DEF084702: NKern::CurrentContext assert causes infinite loop it if goes off
7421 Added method to let the nanokernel check if kernel has already been faulted, so
7422 it can avoid the infinite loop.
7423 2. DEFECT FIX: DEF084508: cut & paste error in Fiq interrupt dispatcher for template port
7424 3. DEFECT FIX: INC083831: Unable to start v9.2 week 12-based emulator on WinXP machines
7427 1. DEFECT FIX: DEF083612: unsafe variable increment/decrement in Ethernet driver
7428 Fixes propagated from 9.1
7431 1. DEFECT FIX: DEF082318: Integrate TI version 9.37 H4HRP code release
7432 Various tidying up of power management. Inclusion of Symbian provided fixes.
7433 2. DEFECT FIX: DEF081174: ABIV2: Problems with use of IMPORT_C and EXPORT_C macros
7434 Added mssing IMPORT_C macros to enable ABIv2 RVCT toolchain builds.
7435 3. DEFECT FIX: DEF079654: Setting KPOWER tracing on H4 with debugport=0 causes panic/restart
7436 Removed KTRACE statements which caused endless recursion until stack exhausted.
7437 4. DEFECT FIX: DEF079527: H4 screen random whiteout during application static data initialisation
7438 Reduced pixel rate to LCD display to lower memory bus contention.
7439 5. DEFECT FIX: DEF066475: T_SOUND hangs when run on H2/H4 boards
7440 Disable broken T_SOUND testcase for simultaneous play/record.
7441 6. DEFECT FIX: DEF084406: Bad _GCCXML macro breaks GCC XML build
7442 Fix ifdef to use correct macro __GCCXML__.
7446 ===========================
7447 (Made by RobertJ, 11/04/2006)
7450 1. MILESTONE: Aniseed PGM031, MS3.1 REQ5908 Code Segment Tracing
7453 1. DEFECT FIX: DEF084003: UserHeap::OffsetChunkHeap uses more memory than is strictly neccecary
7454 Adjust heap arithmetic so that the offset is rounded to multiples of 8 bytes instead of multiples
7455 of the page size, saving almost 4kb of memory if it's used for storing just a few pointers as
7457 2. DEFECT FIX: DEF083994: RChunk documentation is outdated, claims no name causes a panic
7458 Correct documentation for RChunk, RMutex, RSemaphore, RMsgQueueBase, RMsgQueue to describe
7459 using anonymous objects.
7462 1. DEFECT FIX: DEF082799: SS31 Illegal command (SET_BUS_WIDTH) is sent to locked card
7465 1. MINOR_CHANGE: added document that explains the behaviour behind NAND
7466 boot problems and describes how to collect the information required
7467 to diagnose the cause. (Base_How_To_Diagnosing_NAND_Boot_Failures.doc)
7470 1. MINOR_CHANGE: In-source documentation update for Code Modifier
7471 2. MILESTONE: Brave GT0236, MS3.15.2 PREQ305 Level 2 Cache
7472 The second drop of level 2 cache. This is support for XSCALE L2 Cache specification
7473 and is tested against ARMv5 XScale device with L2 cache.
7476 1. DEFECT FIX: DEF078385: RHeap minimum cell allocation size not optimal
7480 ===========================
7481 (Made by DmitryL, 07/04/2006)
7484 1. DEFECT FIX: DEF083517: Additional corrections need to USB PDD when client reads data slowly
7485 Modified handling of Ep0 transfer completions in PIL when LDD hasn't set up a request yet.
7486 Also protected all PIL request queue accesses (transfer, status notify, etc.) from corruption
7487 by PSL ISR's through temporary interrupt locks.
7488 2. DEFECT FIX: DEF083432: MTP transfer don't continue, when PC wakes up from stand by mode
7489 Add bracketing to fix mistaken operator priorities.
7492 1. DEFECT FIX: DEF083671: RMutex::Signal documentation omits potential panic details
7493 2. DEFECT FIX: DEF083317: Stress test crashed on H4 after ~6 hours
7494 3. DEFECT FIX: DEF082712: Store code address before entering to A::StartCrashDebugger(cat,aFault) in Kern:
7497 1. MILESTONE: Argus GT0286, MS3.5.4 PREQ1030 Kernel support for device driver test suites
7498 This completes all of the preconditions checks planned for this PREQ.
7501 1. DEFECT FIX: DEF083615: Base header files missing in Wk12 external releases, this is breaking Metrotrk
7504 1. DEFECT FIX: DEF082698: H2/H4 MMC PSLs should reset inactivity timer for Forced erase (CMD42)
7507 1. DEFECT FIX: DEF084107: Arm4 build warnings in Mkernel.cpp and Mprocess.cpp
7508 2. DEFECT FIX: DEF084108: LUBBOCK ARMV5 UREL tests failed to run
7509 Fix the sequence of shutting down cache and MMU in NandLoader on Lubbock (right before reboot)
7512 ===========================
7513 (Made by AttilaV, 27/03/2006)
7516 1. DEFECT FIX: DEF083045: epoc32\include\kernel\monitor.h is not usable
7519 1. DEFECT FIX: DEF082841: NAND Garbage collection doesn't cope with 2 requests from diff drive threads
7523 1. MILESTONE: Argus GT0286, MS3.5.2 PREQ1030 - Kernel support for device driver test suites. Part 2.
7524 This adds a functionality based on existing Generic Logging Engine to allow profiling of the device drivers.
7525 Added t_perflogger test to the e32test.
7526 Also see base\documentation\Base_How_To_FastTrace.doc.
7529 1. DEFECT FIX: DEF074162: RHashMap does not directly support pointer keys
7532 1. DEFECT FIX: DEF082046: Unable to reserve space at start of chunk by creating RHeap with offset
7533 Add new UserHeap::OffsetChunkHeap API to allow use of a heap offset.
7536 1. DEFECT FIX: DEF081426: Breakpoints in RAM code segments persist after process death (MCL)
7537 This is about Kernel support for setting breakpoints in run-mode debbuger tools.
7538 Under certain circumstances, brekpoints were not cleared properly when the process terminates.
7542 ===========================
7543 (Made by MarkTa, 20/03/2006)
7546 1. DEFECT FIX: DEF082734: Emualator crash caused by early Kern::Printf
7547 2. DEFECT FIX: DEF081898: Unprotected increment of kernel object id
7548 3. DEFECT FIX: DEF082586: RThread documentation omits important details in Kill and Terminate
7549 4. DEFECT FIX: DEF082832: Setting a process to system critical / permanent has no effect
7552 1. Defect FIX: DEF082320 Avrcp bearer constructor leave causes Remcon server failing to start
7555 1. DEFECT FIX: DEF080070: bootstrap.mke uses GCC assembler, if RVCT2.1 is not available
7556 Fix various Base extension makefiles to detect RVCT versions more accurately.
7560 ===========================
7561 (Made by MichaelP, 14/03/2006)
7564 1. MINOR_CHANGE Clarifying description of User::SetCritical() & User::SetprocessCritical().
7565 2. MINOR_CHANGE Moving in-source comment for class HAL from source to header.
7568 1. MINOR_CHANGE: Fixed 'Receive & Write to File' mode ('P' command) of T_USB.
7571 1. DEFECT FIX: DEF081441: B_FAT fails with KingMAX and SimpleTech
7574 1. DEFECT FIX: INC080727: Ky_tran.cpp file modification needed.
7577 1. DEFECT FIX: DEF081181: ABIV2: Missing __declspec(dllimport) or __declspec(dllexport) qualifiers
7581 ===========================
7582 (Made by MaximK, 07/03/2006)
7585 1. MINOR-CHANGE Correction to in-source description of RBuf8::CreateL(TInt aMaxLength)
7586 2. MINOR-CHANGE Correction to the description of classes RPointerArray & RArray
7590 ===========================
7591 (Made by JonathanM, 06/03/2006)
7594 1. MILESTONE: Argus GT0286, MS3.1 PREQ209 Demand Paging Prototype.
7595 First delivery of demand paging prototype. Delivery step DS204.
7599 ===========================
7600 (Made by RobertJ, 01/03/2006)
7603 1. MINOR_CHANGE: update H4 User Guide so that example command invocations
7604 can be directly cut/pasted into command prompt windows. Word had
7605 replaced the '-' character with something that looked similar.
7608 1. DEFECT FIX: DEF077074: t_pages doesn't work on the multiple memory model
7611 1. DEFECT FIX: DEF081190: MMC/SD/SDIO stack needs to request for the memory chunk from TI driver
7612 Changed MMC stack to use the PSL-supplied (DMA-safe) "minor" buffer for LOCK_UNLOCK &
7613 SEND_EXT_CSD commands.
7614 2. DEFECT FIX: DEF081295: Notification lost when SD card removed while powering up the stack
7617 1. MINOR_CHANGE Correcting/expanding the description of the EPlatformSecurityTrap panic number.
7618 2. MINOR_CHANGE Adding platform security issues to the description of RThread::Panic().
7621 1. DEFECT FIX: DEF081309: Profiler queues a DFC from an unlocked thread (MCL)
7622 Minor change that prevents system warning that a DFC is queued from thread context by Add() instead of Enque()
7623 2. DEFECT FIX: DEF081434: OOM during DPlatChunkHw::New(): page directory corruption(MCL)
7624 The page tables were not cleaned properly in case when a large region (>1M) is made up of page tables
7625 rather then sections. It is not usually the case, but may happen under OOM condition and led to
7626 system crash when the page was to be re-used.
7627 3. DEFECT FIX: DEF081545: MmuBase::DoAllocPageTable(TInt& aPageNum, TPhysAddr& aPhysAddr) don't (MCL)
7628 The system used to panic when it runs out of the initial set of page tables (512).
7629 Enlarging PageTableInfo structure is fixed.
7632 1. DEFECT FIX: DEF081322: DSoundPddWins::PlayThread() triggers "FAULT: ncsched.cpp 00000177"
7633 Fix NKern::CurrentContext to return the correct value when an interrupt thread is running while the
7634 scheduler is in an IDFC. Also fix Wins::ErrorDialog to not cause a recursive fault when an interrupt
7638 1. DEFECT FIX: INC066279: Emulator hangs (winscw)
7639 On windows XP, prevent the emulator switching away from a thread while
7640 it is in a windows critical section, which can happen while it is taking
7642 2. DEFECT FIX: DEF080186: The Memtrace macros route through RDebug
7643 Trace information about chunks is now output through btrace. The old
7644 memtrace macros have been left in for the moment, but will be removed in
7648 1. DEFECT FIX: DEF081163: CNotifierSession::RunPasswordWindowL() fails on normal HRP roms
7651 ===========================
7652 (Made by CarlosF, 21/02/2006)
7655 1. DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
7656 This was previously fixed, but re-opened due to intermittent overnight test failures
7657 2. MINOR_CHANGE: Fix API classification for TFindHandleBase::Handle
7658 3. DEFECT FIX: DEF080720: Assertion failed: DFC queue not set
7659 4. DEFECT FIX: DEF079374: error in description of Thread::RawRead() in Symbian OS Library
7662 1. DEFECT FIX: DEF080700: Keypress in landscape cause freeze due to problem with CKeyTranslatorX::Tra(MCL)
7665 1. DEFECT FIX: DEF080964: Can't build ROMs which include SWTrace.
7666 Fixes type in BTRACE.IBY
7669 1. DEFECT FIX: DEF079725: SS31 First memory card password AutoUnlock
7670 attempt fails always, second is successful.
7671 Propagate changes from v9.1
7674 1. DEFECT FIX: DEF081057: Cache attributes of page tables on ARMv6 are inconsistent
7675 Cache attributes for page tables weren't consistent accross Kernel. They have to be: L1 uncached, L2 cached.
7676 This caused system to crash if write-back L2 cache is present.
7679 ===========================
7680 (Made by NicholasC 14/02/2006)
7683 1. DEFECT FIX: DEF079754: TCapabilitySet SetEmpty() does not actually empty the capability set
7684 2. DEFECT FIX: DEF079758: NULL thread doesn't properly construct its kill dfc
7687 1. DEFECT FIX: DEF079857: FastTrace APIs need renaming
7688 All files an symbols which include the name 'FastTrace' have been renamed to 'BTrace'.
7690 2. INTERFACE CHANGE: BR1781.1 Kernel: Rename FastTrace APIs
7693 1. DEFECT FIX: DEF066541: MMCTEST causes board to die when "powering up" stack
7694 2. DEFECT FIX: DEF072501: H4 shows T_KHEAP failures in UDEB builds
7695 3. DEFECT FIX: DEF066547: TESTUSBC.LDD does not run on an ARMv6 processor
7696 4. DEFECT FIX: DEF071158: MMC PRECONDITION READY: iRetryTimer callback in ISR rather than thread context
7697 5. DEFECT FIX: DEF066449: T_MSTIM fails intermitently on H4
7698 6. DEFECT FIX: DEF078887: Incorrect NANDLOADER image generation arguments in H4 user guide
7699 7. DEFECT FIX: DEF078997: T_USBAPI has implicit dependencies on endpoint capabilities
7700 8. DEFECT FIX: DEF079257: H4 serial PDD is broken. Cannot open serial unit 0 and 7 at same time
7701 9. DEFECT FIX: DEF079849: H4 UART DFC runs at very high priority
7704 1. DEFECT FIX: DEF079870: Scope for MMC/SD card performance improvements
7705 Increased the DMA buffer size on H2 & H4 PSL mmc stacks to 128K.
7706 Changed MMC/SD media driver to create an MBR by default when formatting an SD card.
7707 2. DEFECT FIX: DEF078678: 2 GB SD card protected area is unreadable
7708 Added new function TMMCard::MaxWriteBlLen() for clarity.
7709 Changed DSdMediaDriverProtected::DoCreate() to use TMMCard::MaxReadBlLen() and
7710 TMMCard::MaxWriteBlLen() .
7711 3. DEFECT FIX: DEF078679: Flaws in integrator panasonic logic module CPRM stack
7712 This prevents a devide-by-zero fault. Created a function wrapper around
7713 CurrentSessFillCmdDesc() for the "encryption" commands which returns a dummy
7714 non-data transfer command spec.
7717 1. DEFECT FIX: DEF080335: EnterIdle never cancels AfterIdleTimer.
7721 1. DEFECT FIX:INC079415: Crash logger dumps object containers too early
7722 Changed the ordering of the NAND and NOR crash logger to place object containers at the end.
7725 1. MINOR_CHANGE: Fix btrace command usage to reflect name correctly
7728 ===========================
7729 (Made by AndreasP, 06/02/2006)
7732 1. DEFECT FIX: DEF079360: A lot fo SWI calls raised during apps start (MCL)
7733 Minor changes that are supposed to improve performance of application starts.
7735 2. INTERFACE CHANGE: BR1747.1 The constant that defines the maximum cachability of a memory region does not encapsulate L2 cache
7737 3. MILESTONE: Bravo GT0236, MS3.15.1 PREQ305 Level 2 Cache
7738 The first drop of level 2 cache. This is support for L210 ARM specification and is tested against ARMv6
7739 (multiple) memory model.
7742 1. MINOR_CHANGE: Fixed H4 usbmsapp.mmp to actually build mass storage app.
7745 1. MINOR_CHANGE: Added in-source documentation for Kern::NanoWait
7746 2. DEFECT FIX: DEF076999: RThread::Open() panics with KErrBadHandle if the requested thread has just died
7747 3. INTERFACE CHANGE: BR1765.1 Add unique ID field to DObject
7750 1. DEFECT FIX: DEF078565: Text shell window server switches off non-existing mouse character pointer
7751 Added #ifdef __CHARACTERPOINTER to CWsWindow::TurnMouseOff()
7754 1. Bravo PREQ1073.1: Enable VFP by default on H4 HRP platform
7755 Change rom configuration so that VFP math libraries are used on the H4 by default.
7759 ===========================
7760 (Made by RichardCo, 01/02/2006)
7763 1. DEFECT FIX: DEF077789: Killing a thread while it's taking an exception can lock the emulator
7764 The emulator now ensures that diversions don't get lost due to windows
7765 exception handling changing the thread's context.
7768 1. DEFECT FIX: DEF077701: Decomitting memory is unreliable and does unnecessary cache flushing (MCL)
7769 There were two problems in memory decommit process in Kernel:
7770 1.The physical memory not own by chunk wasn't evicted from cache when the chunk is destroyed & memory
7771 returned to free pool. When such phys. memory is assigned to other chunk, it may end up with its two
7772 copies in cache. It occasionally leads to system crash (in a way, quite difficult to follow/debug).
7773 2.On multiple memory model (ARMv6), any memory decommit request leads to flush of the entire DCache (for
7774 example, when a heap enlarges/shrinks). This is very likely to have a noticable affect on performance.
7776 - DPlatChunkHw now flushes the memory from L1 cache (if it is L1 cached) when closed . It cannot
7777 purge as it can still be in use.
7778 - The same is done in DChunk when memory is decommited. (Not in direct model as it doesn't support
7779 DChunk that doesn't own the memory.) Note: L2 cache is not considered as it is physically mapped.
7780 - Cache flush issue is fixed.
7782 2. DEF077702: Memory given to user side through shared chunk is not always zeroed(MCL)
7783 This is platform security issue. At the moment, physical memory allocated through Epoc::AllocPhysicalRam
7784 is not zeroed. Memory allocated this way is usually used internally in the drivers. However, it could be also
7785 mapped to a shared chunk visible to user side applications. That way, the previous conent of the memory that
7786 belonged to one process could be exposed to another process.
7789 1. DEFECT FIX: INC076078: SD: Card selected twice.
7790 Changed DSDStack::InitStackAfterUnlockSM() so that it only issues a select
7791 if card not already selected.
7794 1. DEFECT FIX: DEF078546: Workaround required for ARM1136 Erratum 371025.
7795 This applies workaround 1) specified in ARM1136 Erratum 371025: Invalidate Instruction Cache operation can fail
7796 2. DEFECT FIX: INC078769: RDebug::Print blows the stack too easily
7797 This adds a new function to enable data to be sent to the debug port without any pre-processing.
7798 This is: EXPORT_C void RDebug::RawPrint(const TDesC8& aDes)
7801 1. MINOR_CHANGE: Updates to the H2 user guide to reflect SD/SDIO support, minor corrections to the H4 functional spec
7804 1. DEFECT FIX: DEF078628: Calendar:Week numbers are displayed wrong: wk53 is shown as wk1
7805 A rounding error in TTime::WeekNoInYear causes one day in wk53 to show up as wk1 in certain years, if the time
7806 is not midnight. The rounding has been corrected to eliminate this error.
7809 ===========================
7810 (Made by JonCo, 23/01/2006)
7813 1. DEFECT FIX: DEF078295: USB - Possibility of iEp0DataReceived is incremented twice
7814 In DUsbClientController::ProcessEp0DataReceived() we now subtract
7815 'aCount' from iEp0DataReceived before returning when no
7816 matching read request was found.
7819 1. DEFECT FIX: DEF078298: RTimer::Inactivity/User::InactivityTime return wrong inactivity time
7820 Correct calculation of inactivity time to deal with an edge case introduced
7821 by a previous defect fix. Time was not correctly calculated if there were
7822 no other timers in the system and the time required had already elapsed
7823 when a new inactivity timer was queued.
7826 1. DEFECT FIX: DEF078391: Multi-threaded heap issue when using explicity named threads.
7827 This changes UserHeap::ChunkHeap so that for multi-thread heap creation, the kernel
7828 objects owned by the RHeap don't hold references on the thread which created it.
7829 This enables the creating thread to exit and die normally.
7832 ===========================
7833 (Made by NeilC, 16/01/2006)
7836 1. MINOR_CHANGE: Added more Nandloader/Coreldr diagnostics
7837 2. DEFECT FIX: DEF077936: [system build] - H4 NAND ROMS failed to format
7838 Nandloader /e option fixed to erase all blocks even if a genuine bad block is encountered.
7839 Nandloader /f option changed to erase all blocks (not just the first), excluding
7840 blocks in the reservoir.
7842 3. DEFECT FIX: DEF077954: Unistore2 CoreLoader doesn't handle 1-bit errors correctly for 16-bit NAND
7843 Changed algorithm for 16-bit Unistore2 1-bit ECC error correction.
7844 Defined a macro - INJECT_1BIT_ERROR - in CoreLoader for testing 1 bit errors
7845 (macro is undefined by default).
7848 1. DEFECT FIX: DEF077576: PowerDOwnDone() is never called by the USB physical driver PIL
7849 Added three new virtual functions to support the Power Management Framework
7850 to the USB PDD base class DUsbClientController in e32/drivers/usbc.h; there
7851 they are also documented:
7853 virtual TBool PowerDownWhenActive() const;
7854 virtual TInt PowerDown();
7855 virtual TInt PowerUp();
7857 PowerDown() and PowerUp() are called by the PIL in the respective power
7858 handler DFC, and PowerDownWhenActive() is used by the PIL to determine
7859 whether the UDC supports a power-down mode while it is active.
7861 Base port impact: A default implementation for each function is provided in
7862 the USB PDD PIL, but these can be overridden by the derived controller class
7863 in the USB device driver base port. No BC, SC, or FC break.
7865 2. DEFECT FIX: DEF077782: USB driver not reseting data toggling after bus reset
7866 Moved the data toggle-resetting code into ChangeConfiguration() so it gets
7867 called before the current configuration is torn down. On this occasion also
7868 a config-invalidating call was added to a new PSL notification processing
7869 function DUsbClientController::ProcessCableRemoveEvent() (previously
7870 iCurrentConfig would retain its value even after the USB cable had been
7871 pulled while in Configured state).
7874 1. DEFECT FIX: DEF075237: KERN-EXEC 3 with ARMv6 code when built with ALWAYS_BUILD_AS_ARM
7875 Turn on "Unaligned access" bit in CP15. Enables word aligned LDRD/STRD operations,
7876 to suite code generated by RVCT in ARMv6 target mode.
7879 1. DEFECT FIX: DEF077785: NAND interrupt fires too early on H4
7880 The NAND media driver on H4 doesn't clear the GPMC interrupt status
7881 before enabling the interrupt, this causes the interrupt to fire
7882 immediatly and the driver to spin in interrupt context waiting for
7883 the device to complete. This causes the idle code to assert.
7884 2. MINOR_CHANGE: updated parse_symbols scripts in H4's Lauterbach
7885 testreference so that they may be used on moving memory model
7887 3. MINOR_CHANGE: updated H4HRP baseport functional spec document to
7888 reflect power management milestone
7889 4. MINOR_CHANGE: Integration requested that the quicknandz helper scripts
7890 for H2 and H4 format NAND, otherwise their testing will gradually fill
7891 up persistant storage with old test entries and data. This change
7892 assists them with DEF077518 (messaging smoke tests fail).
7895 1. DEFECT FIX: DEF077674: Implementation of DebugSupport::ModifyCode is unsafe(MCL)
7896 Added Lock/UlockSystem while calling Alias() & UnlockAndRemoveAlias()
7900 ===========================
7901 (Made by JenniferH, 12/01/2006)
7904 1. MINOR_CHANGE: Replaced reference to KERN-SVR with KERN-EXEC in in-source commment
7905 for function User::__DbgMarkEnd().
7906 2. MINOR_CHANGE: Changed in-source comment for TDesC8::Format() and TDesC16::Format().
7907 Amended an incorrect explicit reference to a section
7908 in the Symbian OS Library.
7911 1. DEF075438: Impossible to enable SDIO on a H2 techview ROM image
7912 /omap/h2/rom/base_h2.iby file modified to include the relevant binaries.
7915 1. DEFECT FIX: DEF076203: E32 test t_video fails on line 1257
7916 Changed test t_video (added save/restore screeen state, turn on using HAL for multiply screen test case)
7919 1. DEFECT FIX: DEF076211: Errors in Symbian 2GB implentation
7920 Update code to support 2GB+ MMC cards.
7923 1. MINOR_CHANGE: Modified test T_SEMUTX2 by increasing time delays to make emulator testing
7924 more robust against background activity.
7925 2. DEFECT FIX: DEF077182: Panic in FastTrace client code.
7928 1. DEFECT FIX: DEF077176: Add an API to make it possible to read the TCritical flag of RThread and RProces
7929 2. DEFECT FIX: DEF076992: The RHash* classes should contain standard typedefs
7932 1. DEFECT FIX:DEF075590: iMapAttr in chunks are set wrongly on ARMv6 (MCL)
7933 Kernel relies on this attribute in chunk objects when maintaining cache memory. Having this set wrongly, could lead
7934 to unsufficient cache operations. As the consequence, device drivers could fail in a way quite difficult to track.
7937 ===========================
7938 (Made by JonathanM, 04/01/2006)
7941 1. DEFECT FIX: DEF075756: USBCC: OTG Configuration Descriptor Length Incorrect
7942 We now take the length of the OTG descriptor (if existing) into account
7943 in the Configuration descriptor (wTotalLength field).
7944 2. DEFECT FIX: DEF075647: t_uspcpi fails in TestAlternateInterfaceManipulation() function
7945 In t_usbapi.cpp:TestAlternateInterfaceManipulation() we now check the number
7946 of endpoints that were found for the interface, and we take appropriate action
7947 to make sure alternate interface setting and audio endpoint descriptor get
7948 tested even if there are no isochronous or interrupt endpoints available.
7949 3. DEFECT FIX: INC073828: DMA/PIL - canceled transfer is not ignored by dfc
7950 In DMA PIL function TDmaChannel::CancelAll() we now, after stopping the channel,
7951 cancel a possibly outstanding DFC and also reset the local ISR/DFC count.
7952 4. DEFECT FIX: DEF076307: USB device failing after cable has been plugged / unplugged a number of times
7953 The PIL variables iEp0_RxExtraCount and iEp0_RxExtraData now get reset in function
7954 DUsbClientController::ProcessResetEvent().
7955 5. MINOR_CHANGE Corrected a wrong __ASSERT_DEBUG() in e32/drivers/usbcc/descriptors.cpp:658,
7956 which should be preceded by an 'else'.
7957 6. MINOR_CHANGE Corrected T_USB: It now sets bMaxPower in the Configuration
7958 descriptor to 100mA, which is the highest value allowed for a bus-powered
7959 device. This is a requirement to pass the Chapter-9 compliance tests with
7960 the USB Command Verifier USBCV (and T_USB can be used to configure the
7961 device-under-test for it).
7964 1. MINOR_CHANGE: added document that describes how to debug problems in
7965 NON-XIP located code that can be exposed by moving onto ARMv6 hardware
7966 platforms (e.g. NAND flash on H4) Base_How_To_Debug_NONXIP_Problems.doc
7967 2. DEFECT FIX: DEF075718 "H4 hangs on loading the NAND image"
7968 The H4 coreloader would spin during one of it's setup routines; the
7969 bug was an inverted test (it worked before because it was racing
7971 3. MINOR_CHANGE: updated the lauterbach scripts in the H4 testreference
7972 directory with some changes to make them more useful when debugging
7976 1. DEFECT FIX: DEF075223: SD Card should issue CMD16 before CMD42
7977 The MMC & SD specs recommend issuing a SET_BLOCKLEN cmd (cmd 16) before the
7978 LOCK_UNLOCK cmd (cmd 42)
7979 2. DEFECT FIX: DEF076190: Media drivers should use KMBRMaxPrimaryPartitions, not KMaxPartitionEntries
7982 1. MILESTONE: Intulo GT0262, MS3.5.3 PREQ1030 - Kernel support for device driver test suites - Generic Logging Engine.
7983 This adds a new kernel and user side tracing mechanism implemented by the class FastTrace.
7984 See base\documentation\Base_How_To_FastTrace.doc.
7987 1. DEFECT FIX: DEF067958: Initialization when a MMC card is locked.
7988 This fix is simply a replication of already fixed problem INC067922 for v9.1
7991 1. MINOR_CHANGE: Corrected typo error in description of @panic USER 75 for
7992 inline TSglQue<T>::TSglQue(TInt aOffset)
7993 2. MINOR_CHANGE: Added note into in-source comment for:
7994 TDesC8::Match()/MatchC()/MatchF()
7995 TDesC16::Match()/MatchC()/MatchF()
7996 about the lack of an escape character that prevents the functions
7997 from matching the "*" and "?" characters themselves.
8001 ===========================
8002 (Made by AttilaV, 12/12/2005)
8005 1. MINOR CHANGE: Add support for 180 rotation of the screen on H4. The side
8006 benefit of this change is stop Base engineers getting neck ache when
8007 using H4 because the only reasonable way to prop in board up means the
8008 screen is upside down. To use this build the ROM with FLIPPER defined
8009 e.g: rom -v=h4hrp -i=armv5 --define=FLIPPER
8012 1. DEFECT FIX: DEF074560: Sync removed all my contacts on pc
8013 2. DEFECT FIX: DEF074190: Defect in CObjectIx::Remove(), incorrect comparison of unique ID
8014 3. DEFECT FIX: DEF074877: Rom.pl not working properly in a shell which starts doskey when it starts
8017 1. DEF066451: Both TF_SUSPEND and TF_ERASE appear to pass but they do not seem to exit cleanly
8020 1. DEFECT FIX: DEF067715: Description of UserHal::SwitchOff() needs clarifying
8023 1. DEFECT FIX: DEF074516: TTime: DaysFrom() returning negative number when comparing
8025 TTime::DaysFrom function was modified to avoid overflow of integer buffer when the distance
8026 between 2 values doesn't fit into TInt64. Also, functions TTime::SecondsFrom,
8027 TTime::MinutesFrom and TTime::HoursFrom were modified in the same way.
8030 1. DEFECT FIX: DEF070966: Thread lifetime bug in example camera driver.
8031 This fixes the example Camera Driver code so that it opens a reference
8032 on the client thread when Capture Requests are made.
8035 1. MINOR CHANGE: Disabling checks of "@pre mutex must be held" precondition
8036 during system crash to alow crash debugger to output the content of object
8040 1. DEFECT FIX: DEF074822 - Dimension events not recieved by WServ
8043 1. DEFECT FIX: DEF071117: class TExtendedCSD members have no in-source comment.
8044 2. DEFECT FIX: DEF055909: The local media LDD doesn't support mmc/sd stacks with more than one card
8045 Changed TMMCardControllerInterface::RegisterMediaDevices()
8046 so that it instantiates a new DPBusPrimaryMedia for each slot. This is then
8047 stored in the new member variable, DPBusPrimaryMedia::iSlotNumber.
8048 Changed DMmcMediaDriverFlash::DoCreate() and DSdMediaDriverProtected::DoCreate()
8049 to retrieve the card number from DPBusPrimaryMedia::iSlotNumber.
8050 Changed wins estart to create a new drive (T:) for use on the second slot.
8051 3. DEFECT FIX: DEF073518: H4 missing MMC/SD features
8052 Added a new directory for building SD (and eventuallly SDIO) -
8053 omap_hrp/h4_restricted/sdio.The SDIO stack & media drivers may be included
8054 in a ROM by specifying the USE_SDIO_SD_MMC macro on the command line.
8055 Implemented DOmapMMCStack::AddressCard() for the SD stack. This has a side effect
8056 that only the first slot (marked SDMMC_1) will now work with the SD stack enabled.
8057 Added MMCV4 card support.
8058 Added 2GB SD card support.
8059 MCF approval reference for creation of new component 'base_omaph4hrp_sdio': NC-5092.
8060 4. DEFECT FIX: DEF075121: SD Media driver can become confused with other data in sector 0 of SD Card
8061 Changed DMmcMediaDriverFlash::DecodePartitionInfo() so that it no longer returns KErrCorrupt
8062 if the MBR is invalid....it now continues on and assumes that a valid or invalid boot sector
8063 is in the first sector
8064 5. DEFECT FIX: DEF075203: Incorrect calls to TDfc::Add
8065 Changed DMMCStack::SchedGetOnDFC() to call iStackDFC.Add() if in ISR context
8066 Changed DSdMediaDriverProtected::DSdMediaDriverProtected()so that iSessionEndDfc
8067 is constructed with a priority of 1 (same as medmmc and DMMCStack::iStackDFC)
8068 Changed DSdMediaDriverProtected::SessionEndCallBack() so that it always calls
8069 iSessionEndDfc.Enque();
8070 Changed DMMCSession::ProgramTimerCallBack(), DMMCSession::PollTimerCallBack()
8071 and DMMCSession::RetryTimerCallBack() to set the session state bit KMMCSessStateDoDFC
8072 to ensure that a DFC is queued.
8073 Changed DJupiterSdStack::InactivityResetTimerCallBack() and
8074 DJupiterSdStack::InactivityResetTimerCallBack() likewise.
8075 6. MINOR_CHANGE: Change to base_h4hrp.iby to allow SD/SDIO support in a H4 techview ROM.
8078 1. DEFECT FIX: DEF074714: Make ethernet precondition ready and stop base port using IDFC.
8079 Function void DChannelEthernet::ReceiveIsr() in LDD driver was modified to detect current
8080 CPU context (ISR/DFC) and call Dfc::Add/CompleteRxDfc() respecively.
8081 Pdd driver constructors in every affected platform(H4, H2, Lubbock) were modified to create
8082 DFC instead of IDFC.
8085 1. DEFECT FIX: DEF074673: Crash debugger doesn't print object names correctly any more.
8086 Call of the DMonObject::AppendName from the DMonObject::DumpData() is replaced with
8087 DMonObject::FullName.
8090 1. DEFECT FIX: DEF075433: THashMapIter::CurrentValue() should return a non-const pointer
8091 Removed const from the return value of THashMapIter::CurrentValue() .
8092 Also added SetMap function to T_HASHTAB for testing
8095 1. MINOR_CHANGE Added in-source comment for new OTG parameter of function
8096 DUsbClientController::InitialiseBaseClass() in ps_usbc.cpp.
8099 1. DEFECT FIX: DEF075626 "NAND Flash boot loader installation process fails on UREL
8100 The power management that was turned on as part of PREQ1073.7 MS3.3
8101 includes an assert on UREL builds that triggers if the millisecond
8102 timer is held off for long periods of time. This change disables that
8103 ASSERT for now and recovers the timer so that NAND can continue to be
8105 2. DEFECT FIX: DEF074517 "H4 PRECONDITION READY: omap power resource manager violates Symbian APIs"
8106 During integrating the 9.33 TI release the baseport had picked up a few
8107 problems that would cause the precondition asserts to occur.
8108 3. MINOR_CHANGE: the bld.inf change to build 100MHz H4 bootstrap files was
8109 omitted from the last base release.
8110 4. MINOR_CHANGE: stop the t_camera H4 variant test playing around with
8114 ===========================
8115 (Made by JohnS, 30/11/2005)
8118 1. DEFECT FIX: DEF074275: Problems with file share promotion & demotion
8119 Correct incorrect reference counting when using certain file sharing
8120 modes on duplicated handles.
8123 1. MINOR_CHANGE: Updated H2 user guide to reflect use of Unistore2 NAND Flash driver.
8124 This replaces the deprecated SSR NAND Flash driver.
8127 1. MINOR CHANGE: Removing @prototype 9.1, @prototype 8.1 and @prototype 9.0 status
8128 tags, and replacing (where appropriate) with @released status tags to
8129 satisfy Bravo requirements.
8132 1. DEFECT FIX: DEF074326: Nkern fault trying to kill thread while in critical section
8133 2. DEFECT FIX: DEF073910: TInt8 Documentation Mistake
8134 3. MINOR CHANGE: Updated t_cputime to fix intermittent test failures
8137 1. DEFECT FIX: DEF074371: Integrate TI 9.33 H4 Base port
8138 2. MILESTONE: Intulo GT268, MS3.3 PREQ1073.7 (REQ5507, REQ5492)
8139 Power Management. Idle tick suppression is now utilised and device
8140 drivers should take adequate care of power resources, using them as
8141 required. A slow speed configuration has been which means that the
8142 core CPU speed will operate at 100MHz on H4, this demonstrates a DVFS
8143 capability of the processor. True DVFS will be fixed at a later date.
8144 3. DEF074517 H4 PRECONDITION READY: omap power resource manager violates
8146 - Was previously allocating memory with interrupts disabled.
8147 4. DEF071161: H4 PRECONDITION READY: Digitizer will break usage TDfc
8149 - Was previously using TDfc::Add in thread context
8150 5. DEF071136: H4 PRECONDITION READY: H4 COMM LDD suboptimal and could
8152 - Was previously using TDfc::Add in thread context, also using
8153 dfcs whereas direct calls could be used
8154 6. DEF071126: H4 PRECONDITION READY: USB ISP1301 will potentially corrupt
8156 - Was previously using TDfc::Add in thread context
8157 7. DEF074621: RDebug output could cause a data abort
8158 - Ensure UARTs are enabled on the OMAP2420 PRCM before writing to them
8161 1. MINOR_CHANGE Added test tags in T_USBAPI for MS3.13, Bravo
8164 1. DEF071919: SD MKDir causes critical error if card is locked
8167 1. DEF074417: [System Build] - CBR component base_omaph4hrp_mebootldr missing
8170 ===========================
8171 (Made by YingS, 21/11/2005)
8174 1. DEFECT FIX: DEF073342: Hardcoded member offsets in ncsched.cia
8175 2. DEFECT FIX: INC067848: Can't copy to a RBuf using operator=
8178 1. DEFECT FIX: DEF073812: Crashreader does not handle corrupt sectors
8179 Have the crash reader tell the user that reading the log encountered errors,
8180 but still go ahead and write it out to a file (in the hope that some of it
8181 is readable/usable), and still erase the signature so that a new log can be
8183 2. DEFECT FIX: DEF073813: Unnessasary overhead in writing the crashlog could result in corrupt sectors
8184 Change the NAND crash logger to write the ECC values out the first time around,
8185 instead of making two passes through the log. The logger was previously fixed
8186 to only write to each page once, so this is now safe and will reduce the chance
8187 of an unexpected power removal corrupting the log.
8188 3. DEFECT FIX: DEF071506: Latest XScale CPU core is not supported in nk_cpu.h
8189 Add definitions to nk_cpu.h for __CPU_XSCALE_MANZANO__ according to Intel
8190 provided information. No effect on existing builds.
8193 1. DEFECT FIX: DEF073516: Medsd/mmc missing clause for physically damaged card
8194 Ensure that a partition read request is always completed, even if the read fails.
8195 2. DEFECT FIX: DEF073524: Medsdp never calls EndInCritical() after first read (for Partition info)
8196 Moved call to EndCritical() to DSdMediaDriverProtected::SessionEndCallBack() from
8197 DSdMediaDriverProtected::DoSessionEndDfc() to ensure it's always called.
8200 1. MINOR CHANGE: Updated 'final' version of the H4 user guide, also added a basic
8201 Trace32 set-up guide.
8202 2. MINOR CHANGE: Add Lauterbach scripts for H4/H2 into omap_hrp\tools\, these can
8203 be used various on target debug and tracing purposes. Provided as 'example'
8208 ===========================
8209 (Made by MichaelP, 18/11/2005)
8212 1. DEFECT FIX: DEF073260: local function NextGeneration in sprocess.cpp is innefficient
8213 2. DEFECT FIX: DEF073201: DObjectCon::CheckUniqueFullName is innefficient
8214 3. DEFECT FIX: DEF073261: Emulator panic due to missing entries in key name to key mapping
8217 1. DEFECT FIX: DEF067603: Inconsistent Kernel exports
8218 Un-exported methods from class DObjectIx. It's implementation transfered to separate file
8219 KERNEL\OBJECTIX.CPP.
8220 Test code D_DOBJECT LDD now is linking with this file.
8223 1. DEFECT FIX: DEF072951: "Quicknandz.bat missing from H4HRP"
8224 This will fix the problems with using the nandtest_load_noext type when
8225 building autoloading nandloader images on H4 (a file wasn't brought
8227 2. DEFECT FIX: DEF070197: "Specifying -D_NAND on H4HRP Techview build creates bad ROM image"
8228 SSR nand is not supported on H4HRP, specifying -D_NAND will now trigger
8229 an error with a recognisable message
8230 3. DEFECT FIX: DEF070062: "H4 bootstrap's memory test causes JTAG problems"
8231 This prevented CodeWarrior resetting the board and running the same
8232 image again. The H4 baseport from TI has a memory check in the
8233 bootstrap, when running from flash it will destroy regions of memory
8234 being tested - when the board is reset with the JTAG it doesn't get
8235 control of the board early enough to stop the bootloader running and
8236 performing the memory test, overwriting portions of the image in RAM.
8239 1. DEFECT FIX: DEF073477: USERCOMDEB configuration is incorrect
8240 This only affects the System Wide Tracer (PREQ505) which has not yet been completed.
8243 1. MILESTONE: Intulo GT0262 MS3.9 DS92 PREQ297 USB on-the-go extensions and plug'n'play API
8247 1. MINOR CHANGE: Added a timer to H2 MMC controller to prevent stack from timing out
8248 and powering down while a long-running erase is in progress.
8251 1. MILESTONE: Bravo GT0236 MS3.11 PREQ316 Remote software patching.
8252 This is mainly enabling to have a minimal environment for software upgarde.
8253 MCF approval reference for creation of new component 'base_ubootldr': NC-5086.
8254 MCF approval reference for creation of new component 'base_omaph4hrp_bootldr': NC-5087.
8255 MCF approval reference for creation of new component 'base_omaph4hrp_mebootldr': NC-5088.
8259 ===========================
8260 (Made by DuskoJ, 16/11/2005)
8262 1. DEFECT FIX: DEF073602 - Problems integrating new compilers into toolchain
8266 ===========================
8267 (Made by MichaelMo, 08/11/2005)
8270 1. INTERFACE CHANGE: BR1647.1 APIs where the checks are enforced will behave differently: they will panic the Kernel if the preconditions they are checking are not met.
8271 MILESTONE: Intulo GT0262, MS3.5.1 PREQ1030 Kernel support for device driver test suites.
8272 This submission introduces checks of Kernel APIs preconditions. The checks are configurable, there are 3 phases of check enforcement:
8273 1) All checks can be switched off if both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ are undefined (commented out) in e32/kernel/kern_int.mmh.
8274 2) All checks can be configured to output diagnostic message if the break of precondition occurs. In this case kernel will print the title of the broken precondition and the function where the break was detected to the standard debug output. Kernel will not be crashed.
8275 To choose this option, please define __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ macro and undefine __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ in e32/kernel/kern_int.mmh.
8276 3) All checks can be configured to fault the kernel if the break of precondition occurs. In this case kernel will print out the same diagnostic message as in option 2, and then call Kern::Fault.
8277 To choose this option, please define both __KERNEL_APIS_CONTEXT_CHECKS_WARNING__ and __KERNEL_APIS_CONTEXT_CHECKS_FAULT__ macros in e32/kernel/kern_int.mmh.
8278 Currently all checks are disabled.
8281 1. DEFECT FIX: DEF068055: T_Sound.cpp record settings incorrect
8282 Changed erroneous "r = SoundDevice.SetPlayFormat(PlayFormatBuf);" statement to
8283 "r = SoundDevice.SetRecordFormat(RecordFormatBuf);"
8286 1. MINOR CHANGE: Corrected improper fix for DEF068363, point 17: detection of current CPU mode moved
8287 to the inline functions, DrainRxBufferEnque() function is removed.
8290 1. DEFECT FIX: DEF072118: Panic in DMsgQueue when Playnow is restarted following a Playnow panic(MCL)
8291 On requesting notification (of either data or space available), we panic the requesting
8292 thread if another thread has already requested notification. With this fix, we now check additionally
8293 whether the thread which previously requested notification has died (iExitType != EExitPending). If so
8294 we cancel its request then accept the new one.
8297 1. MILESTONE: Intulo GT0262, MS3.1.3 PREQ521 Tune hand-coded assembler routines and/or replace them with compiled versions
8298 Final submission containing tuning of euser routines
8299 2. DEFECT FIX: DEF072462: ARM1136 Errata 364296: Possible Cache Data Corruption with Hit-Under-Miss
8302 1. DEFECT FIX: DEF070194: TLS Mechanism is broken for dynamically loaded RAM-loaded code
8303 Added a new DLL ID parameter to the functions UserSvr::DllTls(), UserSvr::DllSetTls().
8304 When setting the TLS only the module handle (= address of DLL entry point) is used to
8305 look up the kernel side TLS array entry. The DLL ID is merely stored in the array.
8306 When looking up TLS, the module handle is used to index the array and then the supplied
8307 DLL ID is compared to that in the array. If the DLL ID does not match, NULL is returned.
8308 The DLL ID is derived in two different ways:
8309 (i) On hardware it is read from the word 12 bytes past the entry point. The loader has
8310 been modified to write a unique value into this word for each DLL loaded.
8311 (ii) On the emulator the kernel associates a unique value with every windows DLL loaded
8312 and this value is used as the DLL ID.
8315 ===========================
8316 (Made by DmitryL, 31/10/2005)
8319 1. DEFECT FIX: DEF069282: Run-mode debuggers cannot set breakpoints(MCL)
8320 Added a new (target only) interface for setting breakpoints (used in run-mode debuggers).
8321 They are: InitialiseCodeModifier(), CloseCodeModifier(), ModifyCode() and RestoreCode().
8322 2. DEFECT FIX: DEF071433: DMsgQueue::Receive and RMsgQueueBase::ReceiveBlocking comment needs updating
8323 In-source documentation update.
8326 1. DEFECT FIX: DEF068354: Some kernel APIs are called by other kernel functions from the wrong context.
8327 The following steps are performed to correct the improper API calls:
8328 1) Problem with DMMCStack::SchedGetOnDFC() is fixed in the fix for DEF067963.
8329 2) K::Randomize(): call of Kern::Random() is included into NKern::LockSystem()
8330 and NKern::UnlockSystem() to avoid corruption of random generator.
8331 3) All the calls of DPowerManager::NotifyWakeupEvent(TInt aReason) are enclosed into critical section.
8332 4) The call of DPropertyRef::SetB in
8333 TInt ExecHandler::PropertySetB(DPropertyRef* aRef, const TUint8* aBuf, TInt aSize)
8334 enclosed into critical section.
8335 5) ExecHandler::GetModuleNameFromAddress: call of Kern::CodeSegFromAddress is enclosed
8336 into Kern::AccessCode().
8337 6) DMediaChangeBase::DoorOpenService() is modified to check the current CPU context and
8338 call TDfc.Add() from the ISR context only. If it is not in ISR, it calls MediaChangeEvent
8339 from the DFC and TDfc.Enque() from the thread context.
8340 7) void DChannelComm::CheckTxBuffer():
8341 instead of unconditional call of void DChannelComm::CompleteWrite() the check of current
8342 CPU context is introduced: if the current context is ISR, then DChannelComm::CompleteWrite()
8343 is called as previously, otherwise DoCompleteTx() function is called directly.
8346 1. DEFECT FIX: INC067404: RArray and RPointerArray should have FindReverse interface
8347 Added FindReverse interface for RArray, as well as tests for it.
8350 1. DEFECT FIX: DEF072099: Indication that h/w can detect cable status without USB h/w powered up, missing
8352 Made use of the first reserved word (of two) in class TUsbDeviceCapsV01
8353 and renamed it to iFeatureWord1. We now use bit 0 of it for the indication of
8354 whether USB cable detection is possible without UDC power. There is a new constant
8355 defined for feature word 1 bit 0: KUsbDevCapsFeatureWord1_CableDetectWithoutPower.
8357 Base port impact: With this API change also comes a new virtual (not pure virtual)
8358 USB controller base class function:
8360 virtual TBool DUsbClientController::CableDetectWithoutPowerCaps() const;
8362 A default implementation in the USB PDD PIL returns EFalse, but this can be
8363 overridden by the derived controller class in the USB base port.
8365 Both T_USBAPI and T_USB query this new device capability and print its value
8366 upon test program start.
8368 2. DEFECT FIX: DEF072035: Re-enumeration of USB devices in T_USB causes system to crash
8369 The USB cable reconnect timer callback gets now called in DFC (rather than ISR) context
8370 by passing ETrue as a second argument to the priming function:
8372 iReconnectTimer.OneShot(KUsbReconnectDelay, ETrue);
8375 1. DEFECT FIX: DEF071575: Performance: Euser should be build as ARM
8376 Variant euser is now built as ARM rather than Thumb if the macro
8377 __BUILD_VARIANT_EUSER_AS_ARM__ is defined in the variant.mmh file.
8378 2. DEFECT FIX: DEF072161: Cache::SyncMemoryBeforeDmaRead Long Version Not Invaliding Caches
8379 3. DEFECT FIX: DEF072159: Possibly sub-optimal implementation of 'isdigit'
8380 4. DEFECT FIX: DEF070929: Inefficient processing of ASCII characters in User Lib operations
8381 5. DEFECT FIX: DEF070964: rom.pl script detects false error messages
8382 6. DEFECT FIX: DEF071128: Documentation update needed for "How To Use VFP Support"
8385 1. DEFECT FIX: DEF067383: XSR LLD .cpp files include inlined assembler which will not compile under RVCT.
8386 The assembler NAND access routines have been seperated from the pns.cpp and pnl.cpp files. One new file has been created, namely pn.cia
8387 that contains the assembler instructions. The mmp files for the projects that use pns.cpp and pnl.cpp have also been modified to include
8388 or exclude the .cia file on demand by defining (or not) the _ASMCODE_ variable in the corresponding .mmh file. Furthermore,
8389 benchmark tests have been run on all (H4, H2 8bit NAND, H2 16bit NAND and Integrator) platforms. The results of these tests show
8390 that the performance can be only improved on H2 and Integrator by including the .cia file with the NAND access routines.
8391 Thus, the assembler code has only been enabled for H2 and Integrator.
8394 1. DEFECT FIX: DEF068363: Some kernel APIs are called by H2 drivers?functions from the wrong context.
8395 Some kernel APIs have limitations on the context they are called from (preconditions). As a part of my
8396 PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that some H2
8397 driver functions do not meet the preconditions while calling kernel APIs.
8398 The following steps are performed to fix improper use of kernel APIs:
8399 1) void DVariantPowerControllerH2::PowerDown(TTimeK aWakeupST):
8400 call of iPowerOffEventDfc.Add() replaced with iPowerOffEventDfc.Enque().
8401 2) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerDown():
8402 call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
8403 3) void DLcdOmapVarPowerhandlerH2::VariantLcdPowerUp():
8404 call of iPowerDfc.Add() replaced with iPowerDfc.Enque().
8405 4) void DLcdOmapVarPowerhandlerH2::VariantBackLightOn():
8406 call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
8407 5) void DLcdOmapVarPowerhandlerH2::VariantBackLightOff():
8408 call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
8409 6) TInt DLcdOmapVarPowerhandlerH2::uWireCallbackFn(TAny* aPtr) call of iPowerDfc. Add() replaced with iPowerDfc.Enque().
8410 7) void THelenI2CPowerHandler::PowerUp():
8411 call of iPowerUpDfc.Add() replaced with iPowerUpDfc.Enque().
8412 8) TInt TTPS65010::Init(TInt Devicei2cAddress, TUint aConfigFlags):
8413 call of iStateMachineDfc. Add() replaced with iStateMachineDfc.Enque();
8414 9) TInt TTPS65010::i2cCallBackfn(TAny *aPtr):
8415 call of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
8416 10) TInt TTPS65010::Read8(TUint aTargetRegister, void (*aCallBack)(TAny* aPtr, TInt aValue), TAny* aCallBackArg):
8417 calls of iStateMachineDfc.Add() replaced with iStateMachineDfc.Enque().
8418 11) void TIsp1301::InitialiseTranceiver():
8419 instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
8420 12) TInt TIsp1301::RequestComplete(TAny* aPtr):
8421 call of iDfc. Add() replaced with iDfc. Enque().
8422 13) void TIsp1301::GetConnectionState():
8423 instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
8424 14) void TIsp1301::EnableDpPullUp():
8425 instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
8426 15) void TIsp1301::DisableDpPullUp():
8427 instead of unconditional calls of iDfc. Add() the detection of the current context with the subsequent call of the appropriate function iDfc. Add()/iDfc. Enque() is introduced.
8428 Also, void TIsp1301::ClearInterrupts() and void TIsp1301::DumpIsp1301Regs() were modified in the same way(conditional call of iDfc. Add()/iDfc. Enque() instead of unconditional call of iDfc. Add() ).
8429 16) The problems with the physical sound drivers are caused by the fact that they enque DFC being in DMA DFC. To fix these problems, we need to call logical driver DFC functions instead of queing DFC. To do so, I had to declare DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
8430 PDD functions that request next play/record buffer are left unchanged to avoid modifications in synchronization engine.
8431 So, LDD functions are modified in the following way:
8432 in functions DSoundLdd::PlayCallback(), DSoundLdd::RecordCallback() and void DSoundLdd::PlayErrorCallback() all unconditional calls of Dfc::Add are replaced with the conditional calls of appropriate function.
8433 Also, the following modifications were made in PDD code:
8434 -in function void DSoundTxDma::SoundTxDmaService call of PlayErrorCallback() is replaced with setting Ldd iPlayError and calling Ldd PlayDfc;
8435 -in function DSoundRxDma::SoundRxDmaService() call of
8436 RecordErrorCallback() is replaced with setting Ldd iRecordError and calling Ldd RecordDfc;
8437 17) void DChannelCommDMA::TransmitFrame(TDes8 &aFrame) and void DChannelCommDMA::CheckTxBuffer():
8438 instead of unconditional call of DChannelCommDMA::CompleteWrite() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteWrite() is called is previously, otherwise DoCompleteTx() function is called directly.
8439 void DChannelCommDMA::ReceiveFrame(const TDes8 &aFrame):
8440 instead of unconditional call of DChannelCommDMA::CompleteRead() the check of current CPU context is introduced: if the current context is ISR, then DChannelCommDMA::CompleteRead() is called is previously, otherwise DoCompleteRx() function is called directly.
8441 instead of unconditional call of DrainRxBuffer() the check of current CPU context is introduced: if the current context is ISR, then DrainRxBuffer() is called is previously, otherwise the dedicated function DrainRxBufferEnque()is called.
8442 void DChannelCommDMA::StateIsr(TUint aSignals)
8443 instead of unconditional call of iSigNotifyDfc.Add() the check of current CPU context is introduced: if the current context is ISR, then iSigNotifyDfc.Add() is called is previously, otherwise UpdateSignals() function is called directly.
8444 instead of unconditional call of DChannelCommDMA::CompleteRead() and DChannelCommDMA::CompleteWrite() the check of current CPU context and the call of the appropriate function is introduced.
8445 18) void DLddChannelCamera::CompleteNewImage():
8446 instead of unconditional call of iCompleteNewImgDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
8447 void DLddChannelCamera::CompleteAngleDetect():
8448 instead of unconditional call of iCompleteAngleDetectDfc.Add() the check of current CPU context and the call of the appropriate function(TDfc.Add()/TDfc.Enque()) is introduced.
8449 2. DEFECT FIX: DEF068369: Some kernel API are called by Lubbock drivers?functions from the wrong context.
8450 Some kernel APIs have limitations on the context they are called from (preconditions). As a part of
8451 my PREQ work(PREQ1030), I enforced checks of these preconditions. As a result I have detected that
8452 some Lubbock driver functions do not meet the preconditions while calling kernel APIs.
8453 The following steps are performed to fix improper use of kernel APIs:
8454 1) We need to allow calls of logical driver DFC function from PDD instead of queing DFC. To do so, I declared DSoundLdd::PlayDfc() and DSoundLdd::RecordDfc() as virtual (to make them available from PDD) and also declare TInt DSoundLdd::iPlayError and TInt DSoundLdd::iRecordError as public (to allow setting of the LDD state from PDD).
8455 2) Also we have to modify sound LDD to allow calls of callback functions from DFC(to keep synchronization engine for allocation of play/record buffers working).
8456 The following modifications were made in PDD code:
8457 -in function DSoundPddMcot::DoErrorCallbackFn() call of
8458 PlayErrorCallback() and RecordErrorCallback() was replaced with setting Ldd iPlayError and calling Ldd PlayDfc/RecordDfc;
8459 The following modifications were made in LDD code:
8460 in functions DSoundLdd::PlayCallback(), DSoundLdd::RecordCallback(), void DSoundLdd::PlayErrorCallback() and DSoundLdd::RecordErrorCallback() all unconditional calls of Dfc::Add were replaced with the conditional calls of appropriate function(this modification was made as a fix of DEF068363).
8461 3) As soon as Lubbock Nand driver is single threaded and executes synchronously (thus not reentrant) , there is no need to protect accesses to the hardware device. So I removed mutex protection from the following functions:
8467 4) Crash debugger should avoid calls of kernel functions because kernel is unreliable after the crash. So, I moved the call of NKern::Lock in the part of Variant::UartInit() which is not executed in the context of crash debugger.
8470 1. MILESTONE: Bravo GT268, MS3.1.4 PREQ1073 Base port H4 UART drivers suitable for BT EDR.
8471 Ensure H4 serial PDD can support 3.6MBaud serial transfer speed by increasing data
8472 processing DFC thread priority and enabling autoRTS flow control.
8475 1. MINOR CHANGE: Modified CoreLdr (H2, udeb build only) to validate ROM image checksum.
8476 This is enabled by defining the SYMBIAN_CHECK_ROM_CHECKSUM macro in the CoreLdr make file
8477 in the variant directory.
8478 2. MINOR CHANGE: Modified NandLoader to validate ROM image checksum for uncompressed images only.
8482 ===========================
8483 (Made by MaximK, 28/10/2005)
8486 1. DEF072205 - [System Build] : ROM building warnings in overnight 9.2 build.
8487 Usercomdeb driver moved out of ROFS as drivers must be in core image.
8491 ===========================
8492 (Made by MaximK, 25/10/2005)
8495 1. DEFECT FIX: DEF070626: Symbian format 1G miniSD illegally
8496 The first data sector for SD cards (i.e. the first sector after the root directory)
8497 is now aligned to a boundary unit as suggested in the SD Memory Card Specifications -
8498 Part2 File System Specification,Annex C & D.
8499 2. DEFECT FIX: DEF071342: NAND/XSR - Bad Blocks not handled correctly on H2/H4
8500 Fixed nand_plat.h for H2 & H4 so that CoreLoader is able to calculate any
8501 replacement block positions correctly.
8502 Changed CoreLdr so that it complains and aborts if the number of blocks in the
8503 reservoir, according to the table in nand_plat.h, is zero.
8504 Added a '-e' option to NandLoader to erase & format the device; this option
8505 erases all bad blocks from the bad block table (for XSR).
8508 1. MILESTONE: Intulo GT262, MS3.4 PREQ505 Easy and consistent configuration of component traces
8509 Added new USERCOMDEB LDD for collecting trace debug data and user library USERCOMDEBC.
8510 Added new test T_USERCOMDEB and auxiliary D_KERN_MSG LDD for it.
8512 Also changed kernel for calling trace debug hook in critical section
8513 Changed e32test\debug\d_logtofile.cpp to processing EInfoTrace case for preventing compillation
8517 ===========================
8518 (Made by OlegI, 17/10/2005)
8521 1. DEFECT FIX: DEF071183: Buffalo mini SD card is not recognized by Symbian
8522 Buffalo cards report that partial reads are supported but these do not work correctly.
8523 Workaround is in SD card stack PSL, integrator LM_PANA logic module.
8527 1. DEFECT FIX: DEF070920: ColdStart initializes RealTime with value written in RomHeader
8530 1. DEFECT FIX: DEF071190: Behavior regression of TaskEventLogging function.
8533 ===========================
8534 (Made by RobertJ, 13/10/2005)
8537 1. DEFECT FIX: DEF068256: t_pwstr test fails on Integrator Board
8538 2. DEFECT FIX: DEF070859: Mem::Swap broken for some unaligned addesses
8541 1. MILESTONE: Bravo GT0236, MS3.13 SLUI-6EVS5P "USB Device Driver API extension to support
8542 setting of an string descriptor at a specific index"
8543 Added three new USB API functions for the manipulation of arbitrary USB string
8544 descriptors + updated USB API documentation accordingly:
8546 TInt RDevUsbcClient::GetStringDescriptor(TUint8 aIndex, TDes16& aString);
8547 TInt RDevUsbcClient::SetStringDescriptor(TUint8 aIndex, const TDesC16& aString);
8548 TInt RDevUsbcClient::RemoveStringDescriptor(TUint8 aIndex);
8550 Also added test cases to T_USB and T_USBAPI.
8552 2. DEFECT FIX: DEF069016: T_USBAPI variant specific tests mask some failures
8553 The USB capability functions now only use lists of known negatives (i.e. they list
8554 platforms known NOT to support something). Also, the capability functions now have
8555 more meaningful (& unified) names.
8557 3. MINOR CHANGE: Reformatted some USB files + changed in-source comments.
8562 ===========================
8563 (Made by JenniferH, 11/10/2005)
8566 1. MINOR CHANGE: Make t_lat2 print a message to explain what it's doing
8567 2. MINOR CHANGE: Make t_cputime wait until system is idle on windows builds
8568 3. DEFECT FIX: DEF068185: t_kheap test failure
8569 4. DEFECT FIX: DEF068840: NTimerQ C++ code doesn't build
8572 1. DEFECT FIX: DEF070257 - Update Samsung UnistoreII driver to version 1.4.0
8573 This fixes various defects in the Samsung provided UnistoreII driver (see defect report for
8574 Samsung defect numbers).
8577 1. DEF068356: Kernel API is called by the testcode from the wrong context.
8578 To fix improper use of kernel API the call of DObject::Close is wrapped into NKern::ThreadEnterCS() and NKern::ThreadLeaveCS().
8581 1. MINOR_CHANGE: Fix test utility REBOOTDRV so that CPU state is cleaner after reboot
8584 1. DEF070472: H4 nandloader doesn't include the coreloader binary in the rom
8587 1. MINOR CHANGE: Disabled automatic _SDIO support from H2 textshell ROM builds -
8588 this now needs to be defined on the command line when building a ROM.
8592 ===========================
8593 (Made by GavinT, 07/10/2005)
8596 1. DEFECT FIX: DEF069289 "Exception handling doesn't work in extension ROMs"
8597 Added a field to TExtensionRomHeader to point to the exception search table
8598 for that extension ROM. Modified ROMBUILD to fill in this field.
8599 Add code to the runtime support to look in the extension ROM if an address
8600 is not found in either the main ROM or in a RAM-loaded code segment.
8603 1. DEF069351: New x86 3.2.3 Compiler requires pragmas to globally supress warnings
8604 2. DEF069355: Requiring more scan and key codes
8605 3. DEF068505: Suggested improvement to comment on NThreadBase::Kill()
8606 4. DEF069395: Incorrect documentation on TPriListBase::operator> in nklib.h
8607 5. INC067854: Trap instrumentation lacks TRAP_INSTRUMENTATION_END or TRAP_INSTRUMENTATION_STOP
8610 1. DEF069439: Integrate TI's 9.29 H4 release into the H4HRP
8611 This is a planned integration of TI's H4 baseport release to minimise
8612 differences between the two baseports.
8613 2. DEF068016: Incorrect use of NFastSemaphore internal field
8614 3. DEF069228: H4 benchmark suite doesn't behave as expected
8615 4. DEF067001: Latency values look weird
8616 5. DEF068894: MMU enable the H4 coreloader (coreloader performace)
8617 6. DEF068952: Rebootdrv changes for MMU enabled coreloader (and test app)
8618 7. MINOR CHANGE - permit screen rotation within H2 textshell
8619 8. MINOR CHANGE - include rebootdriver in techview roms (H2/H4)
8622 1. DEF067304: Missing check for memory allocation in nand_media.cpp
8625 1. DEFECT FIX: DEF068573: Emulator timer thread suicide if too many ticks are missed
8626 Modified the timer tick callback to ensure the timer is not inadvertently killed.
8628 2. MILESTONE: Bravo GT0236, MS3.10 WiFi Demo.
8629 Adds support for SD/SDIO to H2 HRP. This is part of PREQ719 and enables
8630 support for third-party SDIO WiFi drivers cards on H2.
8631 MCF approval reference for creation of new component 'base_h2_sdio': NC-5060.
8632 MCF approval reference for creation of new component 'base_sdiotests': NC-5066.
8634 3. CHANGE REQUEST: Bravo GT0236, MS3.14 APOS-6FRCG5 Add support for 2 GB-SD cards.
8635 The latest SD card spec enables support for 2GB cards by allowing the block length
8636 read from the CSD register to be 1024. If this value is read as 1024, then a block
8637 length of 512 bytes should be assumed.
8639 Note: Changes are probably required in the PSL MMC/SD stack DLL to support 2GB cards.
8640 Any calls to TCSD::ReadBlockLength() should be carefully analysed and as likely as not
8641 replaced with a call to the new function TMMCard::MaxReadBlLen().
8643 4. MILESTONE: Bravo GT0262. MS3.2 Improve MMC Performance using v4.0 specification
8644 Adds support for MMC V4.0 cards. These can operate at bus widths of 1, 4 or 8 bits
8645 and up to 26 or 52 MHz.
8647 Note: Changes are required in the PSL MMC/SD stack DLL to fully support v4.0 cards -
8648 The virtual functions DMMCStack::SetBusWidth() and DMMCStack::MachineInfo() must be
8652 1. MINOR CHANGE: Fix DEF047896 Replace non-ascii characters with HEX value
8655 1. DEFECT FIX: DEF067963: PBus DFCQueue gets corrupted when running t_ramstr on removable drive.
8656 in DMMCStack::TMMCStackSchedStateEnum DMMCStack::SchedGetOnDFC() DFC is now queued using
8657 TDFC::Enque() instead of TDFC::DoEnque().
8660 1. DEFECT FIX: DEF068056: T_MMCPW crashes
8661 Changed RunPasswordWindowL() to check the return result from its call to
8662 RConsole::Init(). In the event of an error, the client thread is panicked and
8667 ===========================
8668 (Made by AnatolyP, 26/09/2005)
8671 1. DEFECT FIX: DEF067832: Kernel faults during Cleanupstack unwinding (MCL)
8672 Defer unloading DLibrary objects instead of DCodeSeg, so that two processes
8673 mapping the same library can safely unwind simultaneously.
8674 2. DEFECT FIX: DEF068536: buildrom versions of Integrator NAND iby files are incorrect
8675 Correct iby files so that techview NAND roms work on Integrator without
8676 manually overriding the options.
8679 1. DEFECT FIX: DEF068258: Crash debug and crash logger must dump CodeSeg info
8680 The crash debugger has been extended to include the 'p' and 'P' commands, that show codesegs.
8681 The crash logger has also been extended to show some of this information.
8684 1. DEF063113 FIX: Nand STL can not be closed and reopened
8687 1. DEFECT FIX: DEF068695: H4: USB PDD .DEF File Unnecessarily Duplicated
8688 Removed the two duplicate USB PDD .DEF files for H4 (omap_hrp/h4/bmarm/usbccU.def
8689 and omap_hrp/h4/eabi/usbccu.def). Changed the 'deffile' reference in
8690 omap_hrp/h4/usbcc.mmp to now point to ..\..\e32\~\usbcc.def.
8694 ===========================
8695 (Made by PhilK, 22/09/2005)
8698 1. MILESTONE: Bravo GT0268, MS3.1.2 PREQ1073 USB client
8699 This submission cures problems with the H4 HRP USB client driver panicing in
8700 various PAN connectivity tests, and adds host device connection detection.
8704 ===========================
8705 (Made by RichardCo, 21/09/2005)
8708 1. DEFECT FIX: DEF068206: Configure h2 to use 32KHz clock for GpTimer7 by default
8709 The rationale for this fix is that the NAND core loader configures this timer
8710 to be a 32KHz clock but the bootstrap resets it to use the system input clock
8711 (12MHz for H2). Preserving the 32KHz clock ensures that boot time can be
8712 profiled in the NAND boot image.
8715 1. DEFECT FIX: DEF065516: t_pwstr not working on SymbianOS 9.1 WK26
8716 Used function Kern::ThreadRawWrite() instead of direct writing for transferring
8717 PasswordStoreLength from Kernel to User side in Locmedia driver
8720 1. DEFECT FIX: DEF068257: Exception handler assumes there is a current thread
8724 1. DEFECT FIX: DEF067827: Viewing certain memory locations causes the OS to crash (MCL)
8725 The problem was related to the inter-process (IPC) memory transfer in Kernel. As the consequence,
8726 Kernel could panic if client (or server) passes a faulty descriptor for IPC transfer.
8727 On both mem. models, there was the issue if the memory to copy to/from was not word aligned, as memcpy
8728 transfers the whole words wherever it is posible - crossing memory boundaries specified in the exception handler.
8729 On moving mem. model, there was also the problem where the run address is specified in the exception handler
8730 while it is usually home address that is actually accessed by memcpy.
8731 Thread::RawRead/RawWrite now update the memory regions specified in the exception handler before memory access attempt.
8734 1. MILESTONE: Intulo GT0262, MS3.3 PREQ1032 Kernel support for VFPv2
8735 Provide full VFPv2 support in the kernel.
8739 ===========================
8740 (Made by AndrewHi, 16/09/2005)
8743 1. DEFECT FIX: DEF068504: 2 components currently own nand_fbr_offset.inc and nand_fbr_offset.c
8747 ===========================
8748 (Made by AndreasP, 14/09/2005)
8751 1. MILESTONE: Intulo GT262, MS3.1.2 PREQ512 Tune hand-coded assembler routines (kernel)
8752 Kernel-side assembler routines have been tuned and updated to take
8753 advantage of ARMv6 instructions where possible.
8754 2. DEFECT FIX: INC067401: Missing Find interface in RArray and RPointerArray
8757 1. DEFECT FIX: DEF067966: The loader thread suffers badly from heap fragmentation
8758 Change allocation granularity for the loader cache's indexes so heap
8759 cells pack more tightly and get realloced less often.
8762 1. DEFECT FIX: DEF068038 - CR: PPEL-6BGGKR is incomplete
8763 Reorganise source structure in \integrator, \soc, and \wins dirs.
8764 Group SD-3C LLC only source into sdcard3c dir, and
8765 group SD-4C LLC source into sdcard4c dir
8768 1. DEFECT FIX: DEF068030: Problems found in unistore2 drivers when bringing up XSR on H4
8769 The data register offset was not applied to the base address and the
8770 device type on the H4 was not present in the recognition table.
8771 2. MILESTONE: Bravo GT268, MS3.1.3 PREQ1073 H4 HRP Boot from NAND
8772 MCF approval reference for creation of new component 'base_omaph4hrp_unistore2': NC-5063.
8773 Boot from NAND support has also been added to the H4 bootloader (from v1.5)
8776 1. DEFECT FIX: DEF067977: USB PDD PSL SetupEndpointZeroRead() code and comment differ
8777 Modified SetupEndpointRead() and SetupEndpointZeroRead() for both
8778 Cotulla and the Template port. We now return KErrGeneral instead of
8779 KErrNone if (ep->iRxBuf != NULL).
8783 ===========================
8784 (Made by YingS, 05/09/2005)
8787 1. DEFECT FIX: DEF067483: EMI needs a soak test.
8790 1. DEFECT FIX: DEF067226: TTime.Parse does not parse microseconds - it ignores them
8791 Added code in TStringToDateTime to take microseconds into account.
8792 To separate seconds and microseconds, the following separators could be used:
8793 - any time separator (that already separates hours, minutes and seconds).
8794 - decimal separator (obtained by TLocale::DecimalSeparator())
8797 1. DEFECT FIX: DEF066708: WServ: Digitizerarea initilized the wrong way.
8798 The emulator's digitizer was returning wrong coordinates, or ignoring
8799 clicks, in certain conditions when the screen was rotated. Fixed
8800 coordinate calculations to work for all rotations.
8803 1. BREAK REQUEST BR1623.1 USB: USB API Future-proofing Changes.
8804 Included are also the API changes for upcoming PREQ709 "USB 2.0 High-speed".
8805 List of symbols that had members added (both named & iReserved):
8806 TUsbDeviceCapsV01, TUsbDeviceCaps, TUsbcEndpointCaps, TUsbcEndpointInfo,
8807 TUsbcClassInfo, TUsbcInterfaceInfo, TUsbcInterfaceInfoBuf.
8808 This is a BC break, so affected sources need to be recompiled.
8811 1. DEFECT FIX: DEF067718: RPointerArray<T> can no longer take type TAny (MCL)
8814 ===========================
8815 (Made by MichaelMo, 31/08/2005)
8819 1. DEFECT FIX: DEF066750: Compilation errors for ARM1136
8821 2. DEFECT FIX: DEF065150: Kern::CurrentThread, Kern::CurrentProcess assume there are no personality layers
8823 The documention for the functions wil be updated.
8824 The crash debugger will be changed, as suggested, to check for NThreads.
8825 The sample profiler, which is called out of thread context, has been changed to ignore NThreads (Instead of crashing).
8827 3. DEFECT FIX: DEF066832: Repeated changing of EMIStart/Exit monitors can give inconstant results.
8830 1. DEFECT FIX: DEF065842 "Workaround required for ARM1136 Erratum 353494"
8832 This erratum can cause ICache corruption if a prefetch abort occurs on
8833 a location which is cached in the BTAC. The workaround is to (i) flush
8834 the BTAC whenever any code is unmapped and (ii) never use RONO permissions
8836 Define macro __CPU_ARM1136_ERRATUM_353494_FIXED in variant.mmh if this
8837 erratum is not present on the hardware in use.
8839 2. DEFECT FIX: DEF067029 "Workaround required for ARM1136 Erratum 351912"
8841 This erratum can cause incorrect results to be produced by floating point
8842 multiplications in the presence of dynamic branch prediction. The
8843 workaround is to disable dynamic branch prediction for any thread which
8844 uses the VFP. Other threads are unaffected.
8845 Define macro __CPU_ARM1136_ERRATUM_351912_FIXED in variant.mmh if this
8846 erratum is not present on the hardware in use.
8849 1. MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
8850 Provide HAL attribute indicating whether VFP is supported by the current platform, and
8851 extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.
8854 1. DEFECT FIX: DEF067060: Documentation defects in RBuf8/16 ReAlloc / ReAllocL
8858 1. DEFECT FIX: INC067137: WINSCW emulator networking does not work in Windows XP SP2
8859 Netcards needs to be compiled with .NET for XPSP2, thus look at compiler specific
8860 defines and if .NET assume XPSP2.
8863 1. INTERFACE CHANGE: BR1592 Peripherals: Enable MMC V4 support.
8864 Required as prerequisite for Intulo PREQ562. This change does
8865 NOT implement MMCV4 support, it only makes the code binary compatible
8866 with future OS releases which will support it.
8867 2. DEFECT FIX: DEF067130: SD Card MBR, One parameter incorrectly implemented
8868 The GetChsCylinder function was incorrectly implemented due to an incorrect cast
8869 to TUint8 rather than TUint16. TUint16 is now used.
8872 1. DEFECT FIX:DEF066104: T_IMB will sometimes loop forever
8873 Two threads in test code were in potential deadlock.
8876 1. DEFECT FIX: DEF066398: T_SERIAL turnaround test timings too tight.
8877 One tick period has been added to the driver's MinTurnaroundTime to allow
8878 for the RTimer inaccuracy.
8881 1. MINOR CHANGE: Modified ROM.PL to support multiple -DEFINE options.
8882 2. MINOR CHANGE: Fix for T_KHEAP. This turns off the Loader's lazy DLL unloading
8883 which was causing problems for the test.
8886 1. DEFECT FIX: DEF057164: Nefarious clients can create orphaned session objects in a server
8888 The behaviour of the client/server mechanism is modified to serialise the reception of
8889 connect and disconnect messages so that neither an orphaned session object may be created
8890 in the server process' address space nor may the server find itself in possession of a
8891 handle to an invalid connect message.
8893 In the case where an unaccepted connect message has been delivered to the server, rather
8894 than waiting until the connect has been completed to send the disconnect message (as in
8895 the case of an accepted connect message), the connect message is simply removed from the
8896 server's queue, completed immediately and a disconnect message sent immediately.
8898 The last message to be sent on any session remains a disconnect message and a disconnect
8899 message is sent in all cases, so that the server never encounters issues with the lifetime
8900 of its message handles [assuming it completes non-connect messages with null session cookies
8903 Certain operations are now declared to be illegal w.r.t. server connection:
8905 * A client thread may not send more than one connect message simultaneously, nor may it send
8906 another connect message once a connect message has been successfully completed.
8907 * Similarly, a server may not set the cookie twice nor may it set the cookie to be NULL. Also,
8908 a server may only set the cookie from a connect message and from no other.
8910 Unit test code, in the form of t_svr_connect, has been added to test this behaviour.
8913 Patch to version 2.00.1035
8914 ===========================
8915 (Made by YingS, 22/08/2005)
8918 1. DEFECT FIX: DEF067023 - [System Build] CBR Errors (orphan files) in MCL
8920 Add binary statements in mrp files
8924 ===========================
8925 (Made by MichaelP, 17/08/2005)
8928 1. DEFECT FIX: DEF066250: Incorrect online documentation for RProcess:: HasCapability() and others
8929 2. DEFECT FIX: DEF066477: Bad doc tag causes bad doc
8930 3. DEFECT FIX: DEF066727: ROM bitmaps don't work in extension rom's
8931 4. DEFECT FIX: DEF066471: T_COLOUR test causes H2 board to die
8934 1. DEFECT FIX: DEF066239: H2 nandtest_load_noext doesn't work as intended
8935 Something went wrong with this quick work-around to stop Integration
8936 hacking our OBEY files for their boot from NAND smoketest.
8937 2. MINOR CHANGE: Added description for HAL properties EDisplayMode and
8941 1. DEFECT FIX: DEF058485: Crashread reads data starting at the wrong position
8942 Make unistore2 crash logger write a whole page of whitespace instead
8943 of just one sector, eliminating the y-umlaut characters.
8944 2. DEFECT FIX: DEF060474: Kernel exports RVCT specific functions
8945 INTERFACE CHANGE: BR1612.1 Kernel: Remove RVCT specific kernel exports
8946 Remove RVCT-specific compiler helper functions from kernel export list,
8947 leaving only EABI and CPPABI compliant helpers that will not harm non-RVCT
8948 builds. ALL BINARIES THAT LINK AGAINST THE KERNEL MUST BE RECOMPILED.
8949 3. DEFECT FIX: DEF066774: Not possible to load more than 2 crash debugger extensions
8950 Support an 'arbitrary' number of crash debugger extensions - 8 by default, change
8951 #define MONITOR_MAXCOUNT in e32/include/kernel/monitor.h for more.
8954 1. DEF058851: NAND SSR is wronlgy classified as internalTechnology
8955 Updated classication tags as approrpiate.
8956 2. DEF065648: Inappropriate waiting on ready/busy line in XSR NAND driver
8957 Used interrupt and IDfc to indicate when the transition has ocured. Also used an NTimer
8958 to ensure that a maximum waiting period is not exceeded.
8961 1. DEFECT FIX: DEF066330: USB LDD debug print causes crash
8962 - Removed the offending debug printf.
8965 1. DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
8966 2. DEFECT FIX: DEF065932: SD-Card MBR Does not meet the SD-card specifications
8967 3. DEFECT FIX: DEF065356: Emulator crash: FAULT: PBUS 00000000
8970 1. DEFECT FIX: DEF066445: RArray/RPointer array need a Reserve() function.
8972 Added the following functions, which ensure that an array has sufficient
8973 space for aCount elements:
8975 TInt RArray<T>::Reserve(TInt aCount)
8976 void RArray<T>::ReserveL(TInt aCount)
8977 TInt RPointerArray<T>::Reserve(TInt aCount)
8978 void RPointerArray<T>::ReserveL(TInt aCount)
8981 1. MILESTONE: Bravo GT0236, MS3.9 PREQ01192 Performance Plus!
8982 Enabled MMU i-cache & d-cache in NAND coreloader
8985 1. MILESTONE: GT0223 Mike Base Peripherals, MS 3.11 CR: PPEL-6BGGKR NC-5056 BR 1574.1,
8986 Ease delivery of SD Card 3C / 4C code by seperation into different CBR components and DevKit supplementaries
8989 1. MILESTONE: Bravo GT268, MS3.1.1 PREQ1073 H4 Base Port (H2 to H4 migration)
8990 This adds the H4 HRP Base Port to the Base. The H4 Base Port is located
8991 under the omap_hrp\h4 directory. See also the base\documentation
8992 directory for the H4 HRP User Guide and other H4 documents.
8994 There are future deliveries for full/low speed USB client verification,
8995 boot from small block NAND, TV-OUT, SD/SDIO, OneNAND, Sibley,
8996 High Speed UART, USB High Speed, VFP, Camera and Power Management
8997 delivered by various projects.
8999 MCF approval reference for creation of new component 'base_omaph4hrp': NC-5059.
9003 ===========================
9004 (Made by MaximK 05/08/2005)
9007 1. DEFECT FIX: DEF059067: USB prints error messages whist running t_usb Receive-only test
9008 Made sure all data members of USB LDD are properly initialized.
9009 Also added missing user-side function GetEndpointZeroMaxPacketSize().
9010 2. MINOR CHANGE: Brought USB API document after some additions to v2.0.2.
9011 3. MINOR CHANGE: Restructured code of USB test program T_USB (file t_usbco2.cpp).
9012 4. MINOR CHANGE: Unified KPANIC printf output format for USB PDD.
9015 1. DEFECT FIX: DEF065369: Emulator extension list not sufficiently configurable
9016 Properties initialisation was reverted having one default list of extensions, including winsgui,
9017 initialised before command line/epoc.ini processing, as before.
9018 Winsgui extension is checking NoGui property during its creation and if NoGui==true it do nothing.
9021 1. MINOR CHANGE: as a result of fixing DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR
9022 FAT drives automatic f32tests are now enabled on drive i on Lubbock.
9023 2. DEF059489: EKA2 version of netcards is missing auto interface selection
9026 1. DEFECT FIX: INC062499: const missing for method FindInOrder in RArray and RPointerArray
9027 2. DEFECT FIX: DEF066066: short jump out of range warning reported by Nokia x86 Compiler in uc_realx.cpp
9030 1. DEFECT FIX: DEF065694: Baseports use DThread::iNthread which is internal to the kernel
9031 2. DEFECT FIX: DEF065841: Inconsistent EActive & EInactive events when 2 screens (emulator) (MCL)
9032 3. DEFECT FIX: DEF066075: Documented incorrect capability for EDisplayHalBacklightOn in u32hal.h
9033 Deleted the @capability tag in the in-source docs for EDisplayHalBacklightOn.
9034 Getting the backlight state doesn't require any capabilities.
9037 1. MINOR CHANGE: (H4 preamble) Add support to bootloader bootstrap code
9038 to use CFG_CopyRomToAddress as the RAM address to copy boot loader.
9039 2. MINOR CHANGE: (H4 preamble) pick up H4 base port IBY file if required
9041 3. MINOR CHANGE: Fix minor warning in rofs test
9042 4. MINOR CHANGE: (H4 preamble) add H4 hal uid
9043 (Note none of these changes require H4 base port support in the tree)
9046 1. DEFECT FIX: __BREAKPOINT() does not work correctly with __LEAVE_EQUALS_THROW__
9047 The Win32 nkern structured exception handler was changed to handle breakpoint exceptions
9048 by directly calling the Win32 handler which launches the JIT debugger. Breakpoint exceptions
9049 were previously explicitly left unhandled and allowed to propagate out of the emulator to the
9050 JIT debugger handler. However, with the advent of __LEAVE_EQUALS_THROW__ TRAP() frames using
9051 catch(...) install Win32 SE handlers which prevent the breakpoint exception propagating out
9052 of the emaultor and launching the JIT debugger, resulting in a call to User::Invariant() instead.
9054 Hardcoded breakpoints using __BREAKPOINT() now work correctly and in particular launching a JIT
9055 debugger when a thread panic or kernel fault occurs in a udeb emulator not running under a
9056 debugger will work once again.
9059 1. Added assertions to the emulator to ensure that the kernel is never
9060 entered or exited with the current thread in a critical section, with
9061 preemption disabled or with a fast mutex held.
9064 ===========================
9065 (Made by TonyL, 26/07/2005)
9068 1. DEFECT FIX: DEF065673: [System Build] NAND ROM Loader Broken
9071 ===========================
9072 (Made by JohnS, 21/07/2005)
9075 1. DEFECT FIX: DEF064869: The CEnvironmentChangeNotifier doesn't invoke callback function.
9076 If changing the timezone offset to the value it is already set to,
9077 don't cancel timers.
9078 2. DEFECT FIX: DEF061603: Problem with more than 16MB of I/O mappings on multiple memory model
9079 INTERFACE CHANGE: BR1552.1 Kernel: Memory map changes for the multiple memory model
9080 Move IO mappings from 0xC3000000 to 0xC6000000, and pagetables from 0xC4000000 to 0xC2000000
9081 on the multiple memory model. Base ports need to change any references to these addresses
9085 1. DEFECT FIX: INC064822: USB connection is not visible in PC suite's File manager-view
9086 Changed the way physical USB endpoints are configured during UDC startup in
9087 \omap\shared\usb\omapusbc_gen_cont.cpp (OMAP USB PSL on H2).
9090 1. DEFECT FIX: DEF061266: Can not build nand LLD without undeliverable source
9091 Samsung unistore2 header files have been moved from the base_drivers_unistore2_undeliverable component
9092 to the base_drivers_unistore2 component with their agreement.
9095 1. MINOR CHANGE: Add a variant specific mechanism to H2 base port to
9096 recall the value of a hardware timer. This can be used to calculate
9097 boot time for NAND based images if the required logic is added to
9098 the H2 NAND coreloader (note this logic hasn't been added)
9101 1. DEF064966: Base PlatSec APIs are @publishedParter
9102 2. DEF064985: various changes needed in base doxygen comments
9103 3. DEF064965: No way of checking a TSecurityPolicy against process's creator
9104 4. DEF065086: _FOFF macro causes warning in GCC-E
9105 5. DEF065182: Process JustInTime() state not tied to Emulator EPOC.INI setting
9108 1. CHANGE REQUEST CFRS-6DLMNF Automate the booting of test images from NAND flash and testing
9109 both the NAND User area drive and ROFS/ROFS extension drives.
9110 Automatic testing now involves programming a Core image and a ROFS and ROFS extension images
9111 to NAND flash, rebooting into the Core image and then running all the tests including the full
9112 F32 test suite on the NAND User data drive and the ROFS tests.
9113 NOTE: rom.pl has been modified to allow buildinfg ROFS and ROFS extension images. All that
9114 is required is to have the appropriate markers for the start of these images (same as required by
9115 rofsbuild) in the .OBY file (rom type)
9116 2. DEFECT FIX: DEF063793: Coreloader and Miniboot make files are using an old RVCT syntax
9119 1. DEFECT FIX: DEF056953 - Mistakes in API Classification
9120 Added file-wide @internalTechnology tag to e32\drivers\unistore2\src\md\nanddefs2.h
9121 2. DEFECT FIX: DEF063435 - DSDIORegisterInterface::EngageSdio() should use NFastSemaphore::SetOwner()
9122 Changed DSDIORegisterInterface::EngageSdio() to use correct API.
9125 1) DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
9126 Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
9127 call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
9128 if a the forced remount was successful.
9130 2) DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
9131 - Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
9132 - Modified MMC media driver to allow a locked partition to be mounted.
9133 - Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
9134 - Fixed problem in emulator which prevented the emulated MMC card from being removed.
9135 (F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)
9137 3) CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
9138 As part of this CR, the following new RMessagePtr2 API has been introduced:
9140 const TRequestStatus* RMessagePtr2::ClientStatus() const;
9142 This API is intended for use by providers of asynchronous services where the TRequestStatus* is
9143 used as a unique identifier for the cancellation outstanding requests and there are not enough IPC
9144 arguments remaining to allow this value to be passed without resorting to extra packaging of the
9145 request parameters. Note that this pointer must never be accessed directly or completed.
9148 1. DEF064766: t_mstim fails occasionally
9149 d_mstim & d_tick drivers on H2 are using OSTimer3 to measure the duration of the timing services.
9150 The timer was configured to period of 21.33us. OSTimer1 (used for Kernel Tick) is of 2.66us period.
9151 That extra rounding in the drivers'calculations caused some tests to fail occasionally.
9152 The period of OSTimer3 is now fixed to be the same as for OSTimer1 (2.66us).
9155 1. DEF064810 hirestimer on H2 has incorrect clock frequency
9156 The hirestimer was using 32khz timer, that was inaccurate.
9157 It has been changed to use GPTimer3 at 3Mhz.
9160 ===========================
9161 (Made by JonathanM, 13/07/2005)
9164 1. DEFECT FIX: DEF060439 - Security checks on RProperty::Define missing
9165 INTERFACE CHANGE: BR1573.1 Enforcing security checking in Publish and Subscribe.
9166 This change means that processes can only define properties if the category is either:
9167 a) The same as the process's Secure ID
9168 b) KUidSystemCategory (requires WriteDeviceData capability)
9169 c) Numericly less than KUidSecurityThresholdCategoryValue (requires WriteDeviceData capability)
9172 ===========================
9173 (Made by OlegI, 11/07/2005)
9176 1. DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
9177 Fix emulator's path parsing to be able to deal with the case where no
9178 path is given, only the drive letter and filename. It will now load
9179 the executable from \sys\bin on that drive.
9182 1. MILESTONE: Intulo, GT0262, MS3.1.1: Allow the user library to be built as part of the variant
9183 euser can now be built from the variant to take advantage of
9184 processor-specific optimisation options. This has been applied to the
9185 integrator cm1136 baseport. The rombuild flag GENERIC_EUSER can be used
9186 to override the default behaviour and include the generic version.
9187 2. DEFECT FIX: DEF064894: Crashdebugger should provide command help
9190 1. MINOR CHANGE: Correction to defect fix DEF064045: #include guards in locmedia.h are wrong
9191 Guards should have been LOCMEDIA_H
9195 ===========================
9196 (Made by DjordjeK, 05/07/2005)
9199 1. DEFECT FIX: DEF064045: #include guards in locmedia.h are wrong
9200 Modified lock guards to be __LOCMEDIA_H__ instead of __K32LOCD_H__
9203 1. DEF064571: Intermittent T_IMB failures on H4
9204 Interapts are now disabled during ICache flush on ARM1136.
9205 See ARM1136 r0p2 Errata (Date of Issue: 07-Apr-2005):
9206 - 325157: Associative ICache maintenance operations can deadlock
9207 - 328429: An instruction cache invalidate by MVA or Prefetch by MVA operation, if interrupted,
9208 can result in microTLB corruption
9209 The fix is made configurable. It won't be included if macro __OMIT_1136_R0_ERRATA is specified in variant.mmh
9210 2. MINOR CHANGE: t_debugapi test is fixed.
9213 1. DEF062525: Kern::NanoWait() should be delegated to the base port
9214 Added generic kernel hook functionality. Using this a hardware-specific
9215 implmentation of Kern::NanoWait can be supplied by the variant
9218 1. DEF064164: T_MEDCH/D_MEDCH buildrom & test errors
9219 D_MEDCH is now built from platform directory (and only if the platfrom supports MMC).
9220 T_MEDCH now checks if the platform supports MMC
9223 ===========================
9224 (Made by RobertJ, 27/06/2005)
9227 1. DEF063190: User-side After() timers complete early
9228 When calling User::After(aTime), the time used to be (1) rounded up, and then (2) rounded down.
9229 As a consequence, User::After(X ms) used to be completed somewhere between (X - 16) and (X+17) miliseconds.
9230 It is now rounded up only once. The request now completes between X and X+17 miliseconds.
9231 (17 ms is the period of Symbian OS Timer.)
9232 The submission also includes the test code that checks these boundaries. It also checks the duration of User::AfterHighRes().
9233 t_cper test had to be fixed as it started to fail on integrator 1136 (armv5/udeb build).
9234 The test was using K*PERIOD-1 formula for timeout to ensure a request to be completed after K ticks of the OS Tick
9235 (PERIOD=15625microseconds).However, the delay of 1 nanokernel tick (1000 microseconds) caused the period to last K+1 ticks.
9236 The formula is replaced with: (K-1)*PERIOD + 1
9239 1. DEFECT FIX: DEF063541 EMI Support Upsets OBEX Win32 USB Transport.
9240 Have removed bad lines from win32/nsched.cpp
9241 2. DEFECT FIX: DEF063729 EMI does not call StartMonitor for Idle thread.
9242 Null thread EMI flags now set on EMI init.
9245 1. DEFECT FIX: INC063035 - DWinsMMCMediaChange:TickService() panic when pressing F5 during emulator startup
9246 Stopped a tick counter from hoing negative leading to an ASSERT
9247 2. DEFECT FIX: INC063213 - Clean build fails with fatal errors in release 91_200524
9248 Fixed MiniBoot & CoreLdr makefile for GCC
9252 1. DEFECT FIX: DEF063866 - Process lock can be signalled twice in DSharedIoBuffer::UserUnmap()
9253 2. DEFECT FIX: DEF063778 - Important memory allocation functions not doc'd
9256 1. DEFECT FIX: INC063402: DPBusSocket return KErrCorrupt when MMC isn't inserted
9257 The SDIO and SD stacks don't handle timeout error correctly when attempting to access an empty slot.
9258 State machines modified to trap KMMCErrResponseTimeout conditions after sending CMD2.
9261 1. DEFECT FIX: DEF063876: RTest output produces mixed up line endings that confuse editors and terminals
9262 RTest::Printf now carefully rewrites line endings so that they are consistently CR/NL (DOS/Win style)
9265 1. DEFECT FIX: DEF063854: In-source docs don't say whether 0 or 7 is highest DFC priority
9270 ============================
9271 (Made by AndrewHi, 23/06/2005)
9274 1. DEFECT FIX: DEF062975 - TChar::Compose function completely broken.
9275 Fix entirely within base\e32\euser
9276 No APIchanges, BC or SC breaks.
9277 Defect fix required as prerequisite for Bravo PREQ402
9280 1. DEFECT FIX: DEF063149: RTimer::HighRes can panic with certain positive value time intervals
9281 2. DEFECT FIX: INC062916: Normal priority thread cannot acquire the mutex
9282 Updated documentation to reflect EKA2 mutex behaviour
9283 3. DEFECT FIX: DEF063574: Bug in Kern::ChunkClose()
9286 1. DEFECT FIX: DEF062083: DMutex::Wait() should assert that the current thread is a DThread
9287 2. DEFECT FIX: DEF062188: TTickLink methods should assert that they aren't used from ISRs
9290 1. DEFECT FIX: DEF062029: RProperty::Delete() overload required
9291 In this modification a new version of RProperty::Delete function was added which doesn't require a category ID to be passed.
9292 This overload calls the appropriate server-side API passing -1 as a category ID, and server-side function uses the SecureId of the current process when it is passed with -1.
9293 Also the set of tests was added to CPropDelete class for testing of new functionality of RProperty class.
9296 1. DEFECT FIX: INC063037: Symbian FAT32 implementation for Nokia equipment not compatible with other FAT32
9297 The MMC Media Driver does not recognise media with an MBR that specifies a partition type of FAT32
9298 (Win95 FAT32[0B], Win95 FAT32 (LBA)[0C], Hidden Win95 FAT32[1B], Hidden Win95 FAT32 (LBA)[1C]).
9299 Corrected by modifying DMmcMediaDriverFlash::DecodePartitionInfo() to recognise these partition types.
9303 1. DEFECT FIX: DEF063317 Object container classes might grow following removal of an element
9304 CObjectCon and DObjectCon are now restricted to array sizes 8, 12, 16, 24, ..., 2^n, 3*2^(n-1),...
9305 The array grows when it is full (as before), but now shrinks on removal of an element if it is
9306 half-full or if it is 64 entries smaller than the next size down, whichever comes first.
9307 2. MINOR CHANGE: Optimise FindLeastSignificantOne() function. Add test code.
9308 Define __CPU_ARMV5T__ and consequent options when compiling for ARMV5.
9311 1. DEFECT FIX: DEF060805: T_SERIAL turnaround test does not correctly set handshaking defaults.
9312 Set the handshaking defaults properly before running any tests on the serial ports.
9315 1. DEFECT FIX: DEF063280: OMAP H2 baseport will not build without the e32utils source code present
9316 Remove export of rebootdrv_ldd.h from the h2 bld.inf, this is not necessary
9319 1. DEFECT FIX: DEF063582: Lazy DLL unloading breaks T_SHAREDCHUNK
9320 Disabled lazy dll unloading at the start of the test
9323 1) DEFECT FIX: DEF063830 - Cannot format particular SD card which does not support "erase single block"
9324 Formatting "old" cards or formatting on non block boundaries was broken. The effect of this was that
9325 not all the data was erased - normally relatively harmless.
9329 ============================
9330 (Made by JenniferH, 14/06/2005)
9333 1. DEFECT FIX: DEF061556: T_Usbapi does not check for dbl buffering support prior to testing
9334 When de-allocating the endpoint resources, we now take into account whether the
9335 allocation had been successful or not.
9338 1. DEFECT FIX: DEF062579: Prop:AV28Crit: NTT - TInt TDesC16.FindC -method is giving strange output values
9341 1. DEFECT FIX: DEF057853: Delay in KeyClickPlugin can cause PANIC 85
9342 Emulator now waits for system starter to exit before running initial
9344 2. DEFECT FIX: DEF062725: TCapability is missing Capability_Denied
9345 Added ECapability_Denied, which is always reported missing
9348 1. DEFECT FIX: DEF062286: TTime::HomeTime() called from CTimer::RunL() implementation gives strange....
9349 Originally when changing the time (Kern::SetSystemTime), the timers were aborted (and user requests completed)
9350 before the time is updated. It led to the race condition where another thread of a higher priority can
9351 read the old time (after its timer is aborted). The timers are now aborted after the time is updated.
9354 1. DEFECT FIX: DEF062963: Cannot cancel keyboard rotation
9355 Added check for EModifierCancelRotation in CKeyTranslatorX::UpdateModifiers()
9358 1. DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
9359 Add new overloads to RSessionBase::Open and RSessionBase::SetReturnedHandle to allow a security
9360 policy to be validated against the server.
9365 ============================
9366 (Made by CarlosF, 06/06/2005)
9369 1. DEFECT FIX: DEF056361: Emulator initial configuration not reported and no query possible
9372 1. DEFECT FIX: DEF062142: User::ProcessCritical() does not correctly report EAllThreadsCritical
9373 2. DEFECT FIX: DEF062081: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
9376 1. DEFECT FIX: DEF060557: Multiple emulator configs not updated when win serv screen mode is changed.
9377 A new property was added to the emulator that lets the user switch configuration by
9378 pressing a combination of hot keys, so configuration switchin is now moved from the
9379 windows swerver to emulator.
9380 Syntax of the definition instruction of a key combination is similar to the syntax
9381 of the defenition instruction for EmulatorControl.
9382 To define a new key combination add a string to appropriate configuration file according
9383 to the following template:
9384 EmulatorControlHotKey [command] [key_sequence]
9386 -command is one of "NextConfig" or "SelectConfig [config_number]" (config_number - number of configuration to switch to)
9387 -key_sequence is a comma-separated list of keys as defined in
9388 e32\ekern\emul\win32\kp_gui.cpp.
9389 For example, to assign switching to configuration number 3 to +<1> combination, add the following string to epoc.ini file:
9390 EmulatorControlHotKey SelectConfig 3 Escape,1
9393 MILESTONE: Bravo,GT0236 MS 3.5 APOS-6ADKQ5 Add PREQ 898 "Support for 3rd party speed managers" to the scope of Bravo
9394 Break Request BR1547: "EMI fields added to DThread"
9396 Implements the Execution Monitoring Interface (EMI) as described in SGL.TS0022.002.
9399 1. DEFECT FIX: DEF062701: Can't suppress PlatSec diagnostic message in kernel code.
9400 Passing KSuppressPlatSecDiagnostic as the Diagnostic Text to
9401 Kern::CurrentThreadHasCapability will now prevent a PlatSec diagnostic message from
9405 1. DEFECT FIX: DEF061279 - Domain Manager has a memory of the last state transition.
9406 CSvrDomain::RequestMembersTransition() modified to notify even if the domain is in the requested state.
9407 Also test case is modified to reflect the change.
9408 2. DEFECT FIX: DEF061225 - Domain Manager does not report failure when policy is ETransitionFailureContinue.
9409 CSvrDomain::CompleteDomainTransition() modified to call iHierarchy.CompleteTransition() with correct error code.
9410 Also a number of test cases changed to check for expected error codes.
9413 1. DEFECT FIX: DEF061853: Bootstrap debugging has been broken with RVCT2.2
9416 ============================
9417 (Made by MichaelMo, 01/06/2005)
9420 1. DEFECT FIX: DEF061320: Test T_SEMUTX2 fails intermittently
9421 2. DEFECT FIX: DEF062036: Wrong SID printed in platsec diagnositic from RProperty::Define
9422 3. DEFECT FIX: DEF062141: Spelling typo in in-source docs for User::SetProcessCritical()
9423 4. DEFECT FIX: DEF062070: [Mike IPR] Distribution.policy files not in compliance with 9.1 CKL
9426 1. DEFECT FIX: INC056218: Emulated MMC drive size isn't configurable
9428 The size of the emulated MMC drive can now be configured by placing an entry MultiMediaCardSize=<kilobytes>
9429 in the epoc.ini file. So an entry MultiMediaCardSize=100 results in an emulated drive size of 100 Kb. When an
9430 epoc.ini entry is not present the emulated drive size defaults to the previously hard coded size of 1 Mb.
9434 ============================
9435 (Made by AndrewR, 31/05/2005)
9438 1. DEFECT FIX: DEF062296: [System Build] Errors in INTEGRATOR_LMNAND_EKA2
9442 ============================
9443 (Made by RichardCo, 26/05/2005)
9446 1. DEFECT FIX: DEF061551: TLitC documentation error
9449 1. DEFECT FIX: DEF059903: f32 t_main test error is dumb, misleading and wastes peoples time
9451 Changed the test() macro in e32test.h so that it will display the source file which contains the failing
9454 2. DEFECT FIX: DEF056353: Crashlogger isn't sufficiently configurable
9456 Updated the standard media driver, and the derived media drivers used by the crash flash logger and
9457 the nandloader application, to used a platform-specific offset that is specified as a whole number of
9458 sectors. The rebootdrv utility deployed by nandloader, and the miniboot and coreldr utlilities used in
9459 booting from NAND were similarly affected. The offset is specified as const TInt KNandFbrSectorOffset,
9460 in new file nand_fbr_offset.h. To allow for the different nandboot schemes operated across our varied
9461 reference boards, two further constants are defined in the platform-specific file nand_plat.h; these
9462 are const TBool KNandMinibootUsed and const TBool KNandCoreldrRelocatable.
9465 1. MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
9468 1. MINOR_CHANGE: Fix DEF047896 - Replace non-Ascii characters with hex equivalents
9469 Using preprocessor statement:
9471 #pragma setlocale("english")
9475 1. MINOR_CHANGE: Ensure that there is a zero word at (entry point address + 12)
9476 in every code module. This will subsequently be used to fix a problem with
9477 TLS. If a dynamically loaded DLL sets TLS but never clears it before being
9478 unloaded then another DLL subsequently loaded at the same address will pick
9479 up the old TLS (since the module handle is the address of the entrypoint,
9480 which will be the same). This has been known to cause crashes.
9481 The loader will write a unique identifier over the zero word whenever it
9482 loads a new code segment into RAM and this will be used to disambiguate
9484 2. Changed RUNTESTS and T_LAT2 to make RT latency measurements as part of
9485 an automated test run.
9486 RUNTESTS publishes the name of the currently running test to a P+S
9487 property. T_LAT2 subscribes to this and outputs latency measurements
9489 3. Add new 'kernel behaviour flag' KTESTLATENCY which disables anything which
9490 might break latency testing, e.g. platsec diagnostics.
9491 T_LAT2 now sets this flag.
9492 4. Fix D_LATNCY.LDD so it works on H2.
9496 1. DEFECT FIX: DEF061650: CodeWarrior running of epoc.exe broken
9497 Emulator shouldn't require EPOCROOT to be set unless it's being used in an expansion in epoc.ini.
9500 1. MINOR_CHANGE: Modified T_COBJ performance tests for faster testing.
9501 Note, this means comparison of timings with older versions of the test are not valid.
9502 2. MINOR_CHANGE: Made T_TICK a manual test because it doesn't actually 'test' anything.
9503 I.e. it can't fail during automated testing.
9504 3. MINOR_CHANGE: Made benchmarks tests 'manual' tests on the emulator in order to speed up automated testing.
9505 (The benchmarks are fairly pointless on the emulator anyway.)
9506 4. MINOR_CHANGE: Deleted test casse from T_TIMER. (The testThreadTermination function didn't provide
9507 any useful testing but could cause test 'failures'.)
9508 5. MINOR_CHANGE: Modify BM_SUITE so that it doesn't run the RT latency tests if the driver
9509 reports KErrInUse. This can happen when latency testing is already being run by T_LAT2
9513 1. DEFECT FIX: DEF055098 - vector allocation operator overloads not declared in e32cmn.h
9515 Added declarations of operator new[] and operator delete[] to e32cmn.h to match the
9516 definitions elsewhere (i.e. \e32\common\gcchelp.cpp, \e32\compsupp\symcpp\rtop[new|del].cpp,
9517 \e32\include\win32crt.h). This fixes an obscure code generation bug on MSVC.net and has no
9518 effect on other platforms.
9520 MINOR CHANGE: Fixed spelling typo in PlatSec diagnostic messages
9523 1. MINOR CHANGE: Added USB test program USBIOAPP + updated "USB PSL How-to".
9526 1. DEFECT FIX: DEF056356: Abstract descriptors can be instantiated and cause runtime failures
9527 Added protected copy constructor for TDesC16, TDes16, TDesC8, TDes8 but with condition
9528 #ifdef SYMBIAN_FIX_TDESC_CONSTRUCTORS because of build issues.
9531 1. DEFECT FIX: DEF061644: Kernel codeseg garbage list never gets cleaned up
9532 DCodeSeg objects in the garbage list were left lying around, allowing them to be reopened
9533 causing failure when the codeseg was referenced
9536 1. DEFECT FIX: DEF061530: EWSRV doesn't respond correctly to SysStart invocation
9540 ============================
9541 (Made by StefanW, 17/05/2005)
9544 1. DEFECT FIX: DEF061148: Redundant implementation TLS cleanup mechanism should be removed
9547 1. DEFECT FIX: DEF061026: e32test t_condvar timeout (10ms) setting too low
9550 1. MINOR_CHANGE: Added H2 user guide + doc set for setting up H2 telephony
9553 1. DEFECT FIX: DEF061370: Defect with CR ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
9556 1. DEFECT FIX: DEF061383: Incorrect IM categorisation of internal euser/kernel SWI interface
9559 1. MINOR CHANGE: Removed obsolete test T_USB2 (once more, after it had been re-added in CL517656).
9562 1. DEFECT FIX: DEF061263: Comment out debug prints from crashlogger generic library
9563 Changed KALWAYS qualifier in debug prints to KDEBUGGER and updated the MMP file to disable debug prints, as requested
9567 ============================
9568 (Made by WilliamR, 13/5/2005)
9571 1. BREAK REQUEST BR1503.8
9573 Kernel: Base Future Proofing Changes.
9575 Added reserved member data to CActive, CObject, CObjectIx, CObjectCon, CObjectConIx,
9576 CSession2, CServer2, CActiveScheduler, RPointerArrayBase and RArrayBase.
9578 Addition of reserved member data to these classes incurs a Source Compatability break
9579 for classes which use mutiple inheritance and have the metioned classes in the inheritance
9580 tree. In this case the mangled names in DEF files will change. This will require widespread
9581 updates to DEF files throughout Symbian and Partners' code (to fix "EABI Thunk Offsets").
9583 See Symbian OS FAQ 1284 for more details of the "EABI Thunk Offset Problem".
9587 ============================
9588 (Made by Kamran, 12/05/2005)
9591 1. DEFECT FIX: DEF060475: Base future proofing changes has broken device provisioning test code
9592 2. DEFECT FIX: DEF061118: @return comment for User::NTickCount is wrong
9595 1. DEFECT FIX: DEF060445: Locale related data should be protected with WriteDeviceData capability
9596 2. INTERFACE CHANGE: BR1496.1 Kernel: Protect writing of system locale with writedevicedata.
9597 3. DEFECT FIX: DEF060490: RProperty::Get/Set performance improvement
9598 4. DEFECT FIX: DEF060700: Unicode Folding and Colation performance regression
9599 5. DEFECT FIX: DEF060774: Legacy PlatSec configurability should be removed from Base
9602 1. CHANGE REQUEST: TDAS-6AHMJF Implement a "Crash trigger" key on H2 board
9606 1. MINOR_CHANGE: Fix t_serial intermittent break test failures at some baud rates.
9607 2. DEFECT FIX: DEF059270: Kern::ThreadDesWrite() Call needs to be checked in ECommLdd
9608 3. DEFECT FIX: INC060337: NTT - In file d_commdma.cpp return type of functions is not checked
9611 1. DEFECT FIX: INC053831: NTT RDebug::Print outputs incorrectly in EKA2
9614 1. Change Request: ATAR-69FELD _EPOC_DRIVE_# should take paths relative to EPOCROOT
9617 1. DEFECT FIX: DEF060961: Plat Sec in TShell
9621 ============================
9622 (Made by MiguelB 03/05/2005)
9625 1. MINOR CHANGE: Updated USB Client Driver API document and bumped version number to 2.0
9628 1. DEFECT FIX: DEF060310: RNotifiers:: Additional work required for Asynchronous notifier updates.
9631 1. DEFECT FIX: DEF060397: EKA2 doesn't do context switching for Intel WMMX
9632 2. DEFECT FIX: DEF056360: Bootstrap calculates wrong address for "dummy uncached" area
9635 1. MINOR_CHANGE: Integrate and update in-source documentation for E32TEST components.
9636 T_CATC, T_CPER, T_MESSGE, T_PROC1, T_SVR, T_SVR5, T_IPCBM, T_KERNBM, T_CTXSW,
9637 T_CTXSW3, BM_SUITE and TBUF components have all had their comments refreshed and
9638 reviewed after rewrite.
9641 1. MINOR CHANGE: The update of test code description.
9644 1. MINOR CHANGE: Speeded up automated testing by adding KTESTFAST debugmask flag which supresses output
9645 in console text windows.
9648 1. MINOR CHANGE: Corrected distribution.policy files in like with DEF060454
9651 1. DEFECT FIX: DEF059953: e32test t_schedhook optimistically carries on if no __DEBUGGER_SUPPORT__
9654 1. DEFECT FIX: INC054288 Missing implementation of Break handling (ERequestBreak) in d_comm.cpp
9657 1. DEFECT FIX: DEF058906: WritePasswordData is used instead of WriteRemote
9660 1. DEFECT FIX: DEF060579: Unistore2 v 1.3.1, defect patch
9661 2. DEFECT FIX: DEF058863: Unistore2 NAND media driver needs garbage collecting enabled
9662 3. DEFECT FIX: INC059818: NTT - Clean build fails with fatal errors in release 92_200516
9665 1. DEF058480 - UniStore2 crashlogger indexes using pages rather than sectors
9668 1. Milestone: GT0236, MS3.7 - Engineering Change Macro Removal
9672 ============================
9673 (Made by JonathanM 28/04/2005)
9676 1. DEFECT FIX: DEF058452: File Server () performance regression
9677 2. DEFECT FIX: DEF059430: Security Vulnerability in Creation of Properties in Publish and Subscribe.
9678 3. INTERFACE CHANGE: BR1506.1 Publish and Subscribe Categories are restricted to one of either a) the processes SID or b) the existing system category. Publish and Subscribe enforces this behaviour.
9681 ============================
9682 (Made by JonathanM 26/04/2005)
9685 1. DEFECT FIX: DEF058421: Misleading docs for CPolicyServer::CustomFailureActionL()
9686 2. DEFECT FIX: DEF058441: Missing test cases for RProperty
9689 1. DEFECT FIX: DEF059805: Propagated: Optimize folded string comparisons in 8.1b and 9.1/9.2
9690 2. DEFECT FIX: DEF059508: Trivial capability escalation to TCB capability.
9693 1. DEFECT FIX: DEF059823: Location of highrestimer.h for omap is ambiguous
9696 1. DEFECT FIX: DEF059949: EUSER not future proof
9698 BREAK REQUEST BR1503.4
9699 Added extension virtual function to CBase, CActive,
9700 CObject, CObjectIx, CObjectCon, CObjectConIx, CSession2, CServer2,
9701 CPolicyServer, CActiveScheduler.
9703 Add extension virtual to MAllocator, RHeap.
9705 Add spare data to TFindHandleBase, TThreadId, TProcessId.
9707 BREAK REQUEST BR1503.6
9708 Change IM category of XLeaveException, TWin32SEHTrap, TWin32SEHExceptionHandler
9709 from @publishedAll to @internalComponent.
9711 2. DEFECT FIX: DEF059950: EUSER has 312 redundant exports
9712 BREAK REQUEST 1503.1, 1503.2, 1503.3, 1503.5, 1503.7
9713 Removed all exports purely there for BC, including all functions in
9714 us_stubs.cpp, us_insecure.cpp, ub_sec.cpp, e32transbuf.h.
9719 ============================
9720 (Made by JasmineS, 19/04/2005)
9723 1. DEFECT FIX: DEF058347: Error: __MESSAGE_MACHINE_CODED__ & !__REQUEST_COMPLETE_MACHINE_CODED__
9724 2. MINOR CHANGE: Speeded up t_membm (now only runs full tests with -f option)
9727 1. DEFECT FIX: DEF059300: Cannot run ROM image from offset into flash
9730 1. DEFECT FIX: DEF058801: Keyboard Rotation has not been implemented on emulator
9733 1. DEFECT FIX: DEF056357 - Cedar base_e32 component is updated every day
9736 1. CHANGE REQUEST: TDAS-6A9GR3 - Kernel GT0236 Base, Add Option to Invoke crashdebugger for any thread panic.
9740 1. DEFECT FIX: DEF059110: Base source changes for GCC-E
9743 1. DEFECT FIX: DEF056378: NTT It is not always possible to search RArray classes with a key
9746 1. CHANGE REQUEST: APOS-65ZLQ4 Future proofing request - Richer Pen Event Information, z-axis
9747 information support to WSERV and Base
9748 2. INTERFACE CHANGE: BR 1444.1 Changes to make Base port APIs more future proof in Mike
9751 ============================
9752 (Made by Jeremy Smithers, 12/04/2005)
9755 1. DEFECT FIX: INC054634: User::ResetInactivityTime() should not require PowerMgmt capability
9756 2. DEFECT FIX: DEF058392: Emulator convKeyCodes_base has duplicate entry
9757 3. DEFECT FIX: DEF056299: Emulator screen does not get redrawn if it is covered by a win32 window
9758 4. DEFECT FIX: DEF058213: BM_SUITE test failure
9761 1. DEFECT FIX: DEF056545: EKA2 emulator does not support keymap modifiers in epoc.ini
9762 2. DEFECT FIX: DEF058474: Base code should be placed in \sys\bin not \system\bin
9765 1. DEFECT FIX: INC055351: NTT Common Digitiser Code Refuses to Accept Maximum Raw Samples
9768 1. DEFECT FIX: DEF056377: Performance of memcpy() and memset() can be improved by >=20% (MCL)
9769 2. DEFECT FIX: DEF058789: RVCT calls wrong version of memset
9772 1. MINOR CHANGE: Add new debug trace bit 'KUSB': bit 32 = (0x00000001, index 1).
9773 2. MINOR CHANGE: Commented out definition of USBC_LDD_BUFFER_TRACE in USB driver header file usbc.h.
9774 3. MINOR CHANGE: Improved and enhanced fix for DEF058873 - USB manager crashes on target
9777 1. DEFECT FIX: DEF057783 - STL.H required to build nand xsr LLD is part of the undeliverable source code
9778 2. DEFECT FIX: DEF057855 - Licencee can not build MEDUSIIT lib & because it is testcode it is not released
9781 1. DEFECT FIX: DEF059107 - __VALUE_IN_REGS__ strikes wrt GCC-E
9782 Added new EABI compliant versions of TDesX::Left(), Right(), Mid(int), Mid(int,int) (X=8,16)
9783 which return the result in memory, as demanded by the EABI, rather than in registers.
9784 Left the old implementations in to preserve BC.
9787 1. DEFECT FIX: DEF058992 - Problems with Win32 exceptions in TRAP_INSTRUMENTATION_NOLEAVE
9788 2. MINOR CHANGE: Extend TRAP instrumentation to cover TRAP_IGNORE
9789 3. MINOR CHANGE: Update conditional compilation of C++ versions of descriptor functions to match Dennis' changes
9792 1. MINOR CHANGE: Modified test AUTOEXEC.BAT files to specify -st option for RUNTESTS
9795 1. MILESTONE: Bravo,GT0236,MS3.2.3 PREQ234 Remove timezone and UTC functions from TLocale in favour of a new interface via User
9796 2. INTERFACE CHANGE: BR-1323.1 Remove support for setting timezone and DST through TLocale
9797 3. INTERFACE CHANGE: BR-1323.2 Remove support for setting timezone and DST through TLocale
9798 4. INTERFACE CHANGE: BR-1323.3 Remove support for setting timezone and DST through TLocale
9801 Patch to version 2.00.1013
9802 ============================
9803 (Made by MichaelP, 08/04/2005)
9806 1. DEFECT FIX: DEF058873: USB manager crashes on target
9810 ============================
9811 (Made by JonathanM, 07/04/2005)
9814 1. DEFECT FIX: DEF058815: Base ROMs don't build with RVCT2.2
9815 OTHER: The defect fix for DEF058815 means that Base code now expects that it
9816 is built using RVCT2.2. If RVCT2.1 is used then when building base ROMs with
9817 ROM.BAT the following must be added to the command line: "-define=RVCT2_1"
9820 1. DEFECT FIX: DEF058880: [System Build] - Problem with base.iby file change causing ROM error
9824 ============================
9825 (Made by AndrewHi, 06/04/2005)
9828 1. DEFECT FIX: DEF058744: [System Build] BASE_H2_UNISTORE2 Errors in 03552 (9.1/9.2)
9832 ============================
9833 (Made by Kamran, 05/04/2005)
9836 1. CHANGE REQUEST: JMET-6AJKNX - Provide a means for adding logging to uses of TRAP and TRAPD.
9838 2. DEFECT FIX: DEF057952: MMF_BASECL_U_0200-LP panics on build 3525 on 9.1
9841 1. MINOR CHANGE: Fix hard-coded EPOCROOT in CoreLdr makefiles
9844 1. DEFECT FIX: DEF056516 - T_KHEAP test fails 'TestReAllocZerosMemory' check
9847 1. DEFECT FIX: DEF056441 - Deficiencies in DMA framework
9849 a) TDmac::InitDes() and TDmac::InitHwDes() both have now an additional
9850 argument, 'aCookie', which carries the PSL channel information.
9852 b) Instead of the fixed values TDmac::iMaxTransferSize and
9853 TDmac::iMemAlignMask, there are now in the PIL the two functions
9855 TInt TDmaChannel::MaxTransferSize(TUint aFlags, TUint32 aPslInfo);
9856 TUint TDmaChannel::MemAlignMask(TUint aFlags, TUint32 aPslInfo);
9858 These are called dynamically in DDmaRequest::Fragment(). This means there
9859 are now two additional pure virtual functions for the DMA PSL to implement:
9861 virtual TInt TDmac::MaxTransferSize(TDmaChannel& aChannel, TUint aFlags,
9862 TUint32 aPslInfo) = 0;
9863 virtual TUint TDmac::MemAlignMask(TDmaChannel& aChannel, TUint aFlags,
9864 TUint32 aPslInfo) = 0;
9866 2. INTERFACE CHANGE: BR1446.1 & BR1446.2 "Changes to DMA Framework PSL/PIL Interface"
9867 (as part of fix for DEF056441)
9869 3. DEFECT FIX: DEF057257 - "Error: real endpoint not found" when switching alternate interface setting
9870 When calling the PIL functions CancelReadBuffer()/CancelWriteBuffer() from
9871 the LDD's AbortTransfer(), we now pass as additional argument the alternate
9872 interface setting number.
9875 1. DEFECT FIX: DEF057881 - Defining __MINIMUM_MACHINE_CODE__ causes compilation errors
9876 2. MINOR CHANGE: Integrated e32test documentation for datetime, device,
9877 dll, heap and locale tests
9878 3. DEFECT FIX: DEF057886 - incorrect precondition for Kern::AppendFormat()
9881 1. DEFECT FIX: DEF056342 - MMC format operation in EKA2 is slower than in EKA1
9884 1. DEFECT FIX: DEF056473 - Intermittent waveOutWrite failures in 8.1b emulator security tests
9887 1. MILESTONE: Mike,GT0223,MS3.5.2 NAND Unistore II (XSR) submission (Phase 2)
9891 ============================
9892 (Made by BalaT, 01/04/2005)
9895 1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
9896 Pick RVCT2.2 binaries as default with buildrom command, and make RVCT2.1 binaries as optional,
9897 which will be picked up with -DRVCT2_1 switch.
9901 ============================
9902 (Made by MichaelP, 22/03/2005)
9905 1. DEFECT FIX: DEF057140 - USB driver ZLP behaviour does not match documentation
9906 Changed documentation (USB API Guide, USB PSL Porting Guide) to make it clear that the
9907 USB driver will figure out whether or not to send a ZLP if the ZLP flag is set.
9910 1. DEFECT FIX: DEF057314 - Eshell emulator screen does not get redrawn if it is covered by a win32 window
9913 1. DEFECT FIX: DEF057498 - UREL binaries in techview debug ROM images ()
9916 1. CHANGE REQUEST: RFID-66JJKX - Add EKA1-style CPU thread time monitoring to EKA2 kernel
9917 2. INTERFACE CHANGE: BR1378.1 Change User::FastCounter to use high res timer
9918 3. INTERFACE CHANGE: BR1379.1 Addition of new members in NThreadBase for monitoring cpu time
9921 1. DEFECT FIX: DEF056362 - e32toolp\memtrace\memtrace.rtf out of date for EKA2
9924 1. DEFECT FIX: DEF053153 - H2 USB driver loses 2176 byte transfer (possible zero length packet problem)
9927 1. DEFECT FIX: DEF057789 wrong definition of RFEgen macro
9928 2. DEFECT FIX: DEF057794 Incomplete implementation of ARMv6 stop-mode debugger (DDebuggerInfo)
9931 1. DEFECT FIX: DEF053286 - H2 sound pdd buffer mgmt not quite right
9934 1. MS3.9.1- SSIN-66LJYR : System Libraries, PGM026 Mike, Add PREQs 1001, 1003 to scope of Mike
9938 ============================
9939 (Made by BalaT, 18/03/2005)
9942 1. DEF057008: - RVCT2.2 leading edge build fails with errors in base/coreldr files
9946 ============================
9947 (Made by JS, 14/03/2005)
9950 1. DEFECT FIX: INC054086 - Class TLex16 documentation referes to TLex8
9951 2. DEFECT FIX: DEF056647 - [Sierra IPR] Distribution.policy files not in compliance with 8.1 CKL
9952 3. DEFECT FIX: DEF056745 - Spelling mistakes in TSecurityPolicy (OS Reference)
9953 4. DEFECT FIX: DEF056768 - Illegal #elif in ...\e32\kernel\kdebug.cpp
9954 5. DEFECT FIX: DEF056854 - Mistakes in API Classification
9955 6. DEFECT FIX: INC055893 - NTT - Nanokernel timer assertion
9958 1. MINOR CHANGE: Increased timeout for loader tests on Integrator.
9959 2. DEFECT FIX: DEF056369 - Incorrect iCapabilities member in RMessageU2
9960 3. DEFECT FIX: DEF056374 - Physical page lock count can wrap to zero when incremented
9963 1. DEFECT FIX: DEF056209 - crash debugger: vptr == NULL in RVCT builds
9966 1. DEFECT FIX: DEF054519 - Potential problem with T_MEMBM: added forward and
9967 reverse memory copy benchmarks.
9968 2. DEFECT FIX: DEF056618 - Kernel: DObjectCon::OpenByFullName() can return
9969 w/o releasing mutex: Added missing Signal( ) call.
9972 1. DEFECT FIX: DEF056373 - EVariantHalCustomRestart should have a documented capability
9975 1. DEFECT FIX: DEF052574 - F32 Tests on integrator sometimes fail with KErrUnknown for drive D: (MMC)
9978 1. DEFECT FIX: DEF056366 - Cannot debug through Win32 exception handling in WINSCW
9979 2. DEFECT FIX: DEF056502 - Return value of MakeDll ignored
9980 3. MINOR CHANGE: Fix logging of filenames in Win32 mcodeseg.cpp
9981 4. DEFECT FIX: DEF056365 - Bugs in __destroy_global_chain
9982 5. DEFECT FIX: DEF056364 - global operator delete is missing an empty exception specifier
9983 6. DEFECT FIX: DEF056367 - declaration of CW 3.2 runtime helper function __uncaught_exception is incorrect
9984 7. MINOR CHANGE: Remove redundant test of hdr inside if (hdr) block in emulator.cpp
9985 8. MINOR CHANGE: Fix KWin32SectionName_EpocBss to have all 8 bytes explicitly initialised
9986 9. MINOR CHANGE: Fix placement of noreturn declspec on nklib function to allow compilation with MSVC8
9989 1. DEFECT FIX: DEF057024 - NTT Packet Modem is Not Capable of Transferring Large File
9993 ============================
9994 (Made by BalaT, 14/03/2005)
9997 1. DEF057189 [System Build]: OMAP errors in 03519 overnight build
10000 ============================
10001 (Made by BalaT, 11/03/2005)
10004 1. DEFECT FIX: DEF057008 RVCT2.2 leading edge build fails with errors in base/coreldr files.
10007 ============================
10008 (Made by AndrewHi, 11/03/2005)
10011 1. DEFECT FIX: DEF057064 [System Build] UNISTORE2 _DRIVERS error frond in GT log (found in build 03516)
10014 1. DEFECT FIX: DEF057090 [System Build] INTEGRATOR_LMNAND_EKA2 Errors
10018 ============================
10019 (Made by BalaT, 09/03/2005)
10022 1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
10023 Added some enhancements to support for RVCT2.2 toolchain to Base.
10027 ============================
10028 (Made by AndrewHi, 09/03/2005)
10031 1. DEFECT FIX: DEF056778 [System Builds] CBR errors due to base_nandboot_unistore2
10034 ============================
10035 (Made by AndrewHi, 08/03/2005)
10038 1. DEFECT FIX: DEF056682 - [System Build] UNISTORE2_DRIVER Errors in build 03509 - The actual GT build errrors
10039 2. DEFECT FIX: DEF056695 - [System Build] Run CBR error in 03509 - The incorrect paths for include directory used
10042 ============================
10043 (Made by MichaelMo, 04/03/2005)
10046 1. DEFECT FIX: DEF055672 - TFileName not in devlib
10049 1. DEFECT FIX: DEF054319 - Wrong location for policy check in DM
10052 1. DEFECT FIX: DEF055811 - Emulator noGui option will break when system starter is released
10055 1. DEFECT FIX: DEF055809 - Userland code can fault kernel when closing bad handle
10058 1. DEFECT FIX: DEF056352 - Shadow pages don't work if ROM mapped with 64K pages
10059 2. MINOR CHANGE: Update e32tests to not use soon-to-be-removed TLocale methods.
10062 1. CHANGE REQUEST: RJAN-65GKTX "USB PIL & API need extending to allow for optional
10063 removal of string descriptors"
10064 Added 6 new user side calls to USB Client Driver API:
10065 - GetStringDescriptorLangId()
10066 - SetStringDescriptorLangId()
10067 - RemoveManufacturerStringDescriptor()
10068 - RemoveProductStringDescriptor()
10069 - RemoveSerialNumberStringDescriptor()
10070 - RemoveConfigurationStringDescriptor()
10071 Also updated API documentation and extended T_USBAPI to test the new APIs.
10072 2. MINOR CHANGE: Removed obsolete E32 test T_USB2.
10073 3. DEFECT FIX: DEF054384 - DMA does not unlink chained requests when they complete or are cancelled
10074 Added virtual function TDmac::UnlinkHwDes() which gets called from (also new function)
10075 TDmaSgChannel::DoUnlink(), which in turn gets called from DDmaRequest::OnDeque() upon
10076 completion or cancellation of a DMA transfer request. TDmac::UnlinkHwDes() must be
10077 overridden by the PSL if the DMAC supports hardware descriptors (scatter/gather DMA).
10078 (Otherwise the default implementation in the PIL will fault the kernel.)
10079 Also extended T_DMA to test for the condition which led to the discovery of the defect,
10080 and thus also for the correct implementation of the unlink function in the PSL.
10081 4. INTERFACE CHANGE: BR1383.1 "Add an UnlinkHwDes to DMA Framework" (part of fix for DEF054384)
10084 1. MINOR CHANGE: Updated in-source documentation of TSecurityPolicy to correct a couple of
10085 typos and clarify the use of _LIT_SECURITY_POLICY_PASS and _LIT_SECURITY_POLICY_FAIL.
10086 2. DEFECT FIX: DEF055757 - __ProcessIsolationFailure_RMessage_Construct diagnostic incorrect
10087 3. MINOR CHANGE: Removed unused constant KMaxFixedPoolSlots associated with old IPC implementation
10089 4. DEFECT FIX: DEF056372 - TThreadSessionShareCleanup should be removed
10092 1. MINOR CHANGE: changed the test tag id of t_domain tests
10095 1. DEFECT FIX: DEF052749 - bootstrap missing entry for BTF_Alloc in boot table in direct memory model
10098 1. DEF053551 - Security flaw in domain manager
10101 1. DEF056211 - STREX macros use same register for Rd and Rm
10104 1. MILESTONE: Mike,GT0223,MS3.5.1 NAND Unistore II (XSR) submission (Phase 1)
10107 1. DEFECT FIX: DEF056355 - TRequestStatus::iFlags not fully initialised in overloaded constructor
10110 1. DEFECT FIX: DEF054244 - Possible stability problem in USB mass storage support
10114 ============================
10115 (Made by DjordjeK, 21/02/2005)
10118 1. CR: RFID-66EMED - Add more trace flag fields to ROM header and increase the size of the
10119 boot ROM header. Originally there were 32 kernel trace bits, there are now 256. The trace
10120 bits are now referred to via a bit number instead of a bit-mask.
10121 2.INTERFACE CHANGE: Break Request 1322 was approved with confirmation numbers:
10122 BR1322.1, BR1322.2 & BR1322.3.
10123 3. DEFECT FIX: DEF054500 - Add TWinsFSStartup::GetStartupMode() function.
10125 1. DEFECT FIX: DEF055534 - CTimer schedules timers in local time
10126 2. DEFECT FIX: DEF050936 - e32test TF_READ fails because DF_READ driver doesn't build
10129 1. DEFECT FIX: DEF055334 - RVCT2.2 compiler upgrade needs source code changes in base/H2
10130 2. DEFECT FIX: DEF055335 - RVCT2.2 compiler upgrade needs support in devboards .mke files
10132 Some improvements to the USB MS Boot loader app. Make more code variant configurable.
10135 1. DEFECT FIX: DEF053501 - Generated file hal\config.cpp confuses the CBR tools
10136 (This is Cedar part, Beech part is already in MCL)
10137 2. INTERFACE CHANGE: BR1342 Removing autogenerated cpp files from the source tree.
10138 Conformation number: 1342.1
10140 1. DEFECT FIX: DEF0046963 - Crashlogger isn't sufficiently configurable
10141 Updated the standard media driver, and the derived media drivers used by the crash flash
10142 logger and the nandloader application, to used a platform-specific offset that is specified
10143 as a whole number of pages. The rebootdrv utility deployed by nandloader, and the miniboot
10144 and coreldr utlilities used in booting from NAND were similarly affected. The offset is
10145 specified as const TInt KNandFbrPageOffset, in new file nand_fbr_offset.h. To allow for the
10146 different nandboot schemes operated across our varied reference boards, two further constants
10147 are defined in the platform-specific file nand_plat.h; these are const TBool KNandMinibootUsed
10148 and const TBool KNandCoreldrRelocatable.
10151 The above-mentioned constants must be defined for each platform. Their names are expected to provide
10152 sufficient indication as to what their values should be:
10153 KNandMinibootUsed - if the miniboot utiliy is used, this should be set ETrue
10154 KNandCoreldrRelocatable - if the coreldr image is expected to reside at a fixed location,
10155 this should be set to EFalse.
10158 1. DEFECT FIX: DEF055787 - The Text Window Server shouldn't load the Locale DLL
10162 ============================
10163 (Made by BalaT, 22/02/2005)
10166 1. PREQ1027: RVCT 2.2 (Run-Time ABI Compliance)
10167 Added support for RVCT2.2 toolchain to Base.
10170 Patch to Version 2.00.555
10171 ============================
10172 (Made by JonathanM, 21/02/2005)
10175 1. DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
10176 For this fix to take effect, ESTART must be recompiled for all Base Ports.
10180 ============================
10181 (Made by CarlosF, 15/02/2005)
10185 Updated example driver code.
10186 1. Used overload of DObject::RequestUserHandle to restrict access to logical
10187 channels. (Replaces testing of each request as it arrives.)
10188 2. Made user side LDD interfaces override RHandleBase::Duplicate in order to
10189 manage chunk handles owner by the user side class.
10191 1. DEFECT FIX: INC052977 - NTT No result from base\e32tests t_romtable and t_romtable2
10192 2. DEFECT FIX: DEF054563 - Leave without corresponding TRAP in vt100 screen driver
10195 1. DEFECT FIX: DEF054320 - RNotifier docs inaccuracy
10196 2. DEFECT FIX: DEF054380 - [Sierra IPR] - Incorrect source categorisation in distribution.policy files
10197 3. MILESTONE: MS3.3.1 PREQ835 IDE Debugger Support for ARMv6
10198 INTERFACE CHANGE: BR1333.1 BR1333.2 BR1333.3 DebugAPI interface change
10201 1. DEFECT FIX: INC054807 - NTT Semantic Error in Synbian OS documentation
10204 Patches to Version 2.00.554
10205 ============================
10206 (Made by SimonT, 11/02/2005)
10209 1. DEFECT FIX: DEF054567 - Missing key-events
10213 ============================
10214 (Made by RichardCo, 08/02/2005)
10217 1. CHANGE REQUEST: APOS-65YC4H - Add a mechanism to disable the password protection feature on certain MMC cards.
10218 2. INTERFACE CHANGE: BR-1269.1 Peripherals: Add ControlIO API to peripheral bus controller to facilitate better test and debug.
10221 1. DEFECT FIX: DEF054673 - SDIO controller does not support IO Abort correctly. Added support to
10222 allow the PSL to issue an abort automatically and notify the PIL.
10225 1. DEFECT FIX: DEF054518 - Kern::ChunkPhysicalAddress sets aPhysicalAddress even when memory isn't contiguo
10226 2. DEFECT FIX: DEF054729 - T_EXCBM doesn't test Slow Execs on EKA1
10227 3. MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
10228 Version 0.11 Added example code: 3.4.3 Example Chunk Open
10231 1. DEFECT FIX: DEF053932 - Possible data leak from kernel
10232 2. CR JROE-63RLD9 - Add support to the EKA2 emulator to run without a UI
10235 1. MILESTONE: MS3.1.1 PREQ838 Support ARMv6 MMU. Change all kernel locking mechanisms to use new ARMv6
10236 facilities. Implement a memory model making use of the new ARMv6 capabilities and VIPT cache.
10239 1. DEFECT FIX: DEF051088 - USB Cable pull- Start/Stop fails on H2
10240 2. DEFECT FIX: DEF053945 - Lack of entropy in the kernel & security subsystems during OMAP testing
10241 3. DEFECT FIX: DEF054161 - OMAP reboot module is too variant specific are uses too many magic numbers
10242 4. DEFECT FIX: DEF054447 - H2 always rebuilds coreloader
10243 5. MINOR CHANGE: take advantage of new DMA interface to use physical addresses where appropriate
10244 6. MINOR CHANGE: USB mass storage bootloader
10245 7. MINOR CHANGE: remove dead i2c test code from OMAP
10248 1. MILESTONE: Bravo,GT0236,MS3.2.1 PREQ234 UTC and Auto DST Support(Kernel):Part 1
10249 2. INTERFACE CHANGE: BR-1354.1 Change TSecondLink to use UTC instead of local time
10252 1. DEF053107 - File Server crashes at boot
10255 ============================
10256 (Made by RichardCo, 01/02/2005)
10259 1. MINOR CHANGE: Added example driver code to \e32test\examples.
10260 CONVERT1 is a device driver which takes input data (possibly in a Shared Chunk) and
10261 'converts' the format of this data with the results going to another Shared Chunk.
10262 2. DEFECT FIX: DEF054393 - C++ exception support is incomplete on the Emulator
10263 3. DEFECT FIX: DEF054382 - Difference between TRAP and TRAPD on armv5 gives unused warnings
10264 4. MINOR CHANGE: Updated Base_How_To_Shared_Chunks.doc
10265 5. DEFECT FIX: DEF054070 - seclib's .dsp and .mak files directly reference a hard coded .hrh file.
10266 6. MINOR CHANGE: Fixed example driver code CAMERA1 and CONVERT1.
10267 These were not allowing for Kern::ChunkPhysicalAddress returning a result of '1'
10268 which indicates that the memory was contiguous.
10271 1. DEFECT FIX: DEF049905 - TPckgBuf alignment problem
10272 INTERFACE CHANGE: BR1337 Kernel: TPckgBuf<T>'s sizeof() and internal layout has changed
10273 NOTES FOR MCL SUBMISSION
10274 This is a system wide Binary Compatability break for anything
10275 that uses TPckgBuf. All affected binaries need to be rebuilt.
10278 1. CHANGE REQUEST: TDAS-63CEMD - Crash debugger improvements
10281 1. DEFECT FIX: DEF053957 - DModuleList::LoadDependencies() is logically incorrect for emulator memory model
10284 1. DEFECT FIX: DEF054054 : Domain Manager is lacking DiskAdmin capability
10287 ============================
10288 (Made by MichaelMo, 21/01/2005)
10291 1. DEFECT FIX: INC052979 - NTT No RTest result from base e32test t_tldd
10294 1. MILESTONE: Mike GT0223 MS3.7.1 CR - APOS-666C3S Re-map hardware keys to support landscape mode
10297 1. CHANGE REQUEST: RFID-5WYL6E "Add a DMA Fragment() that takes physical addresses":
10298 For physical memory addresses there are now two additional flags than can be passed,
10299 via the 'aFlags' argument, to the DDmaRequest::Fragment() function: KDmaPhysAddrSrc
10300 and KDmaPhysAddrDest.
10303 1. DEFECT FIX: DEF054097 - RThread.GetCpuTime is not supported in EKA2
10306 ============================
10307 (Made by JonathanM 18/01/2005)
10310 1. CHANGE REQUEST: LROS-68HHTF Allow thread-specific quering of mutex status
10311 2. MINOR CHANGE: Added example driver code to \e32test\examples.
10312 DRIVER1 is a device driver based on DLogicalChannel which supports a
10313 single client thread.
10314 CAMERA1 is a device driver based on DLogicalChannelBase which shows how
10315 Shared Chunks can be used for capturing a stream of video images in
10316 an eficient manner.
10317 3. DEFECT FIX: DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor
10318 4. DEFECT FIX: DEF052951 - Code segments in the call stack can be unloaded whilst taking a C++ exception
10319 INTERFACE CHANGE: BR1312.1 Kernel: Fix Leave=Throw problem that occurs on emulator and non-XIP code.
10320 NOTES FOR MCL SUBMISSION
10321 This is a system wide Binary Compatability break for RVCT builds.
10322 I.e. All RVCT binaries need to be rebuilt.
10323 5. DEFECT FIX: DEF053912 - Name of "aProtected" argument on RBusLogicalChannel::DoCreate is misleading
10326 1. MINOR CHANGE: Fix in-source documentation of RChunk::CreateLocalCode() to be more accurate.
10329 1. Fixed DEF053434 - EPOC.INI Multi Screens
10332 1. CHANGE REQUEST: PCHY-66YM58 - Ensure Thai words starting with a leading vowel can be found(INC047064)
10335 Patch to release (critical defect)
10337 (Made by DjordjeK 14/01/2005)
10340 1. DEFECT FIX: DEF053827 - [System Build] CBR Errors - Multi-owned Files
10341 Reverting "DEF052237 - Cedar base_e32 component is updated every day" fix in 2.00.550.
10345 ============================
10346 (Made by StefanW, 10/01/2005)
10349 1. DEFECT FIX: DEF052237 - Cedar base_e32 component is updated every day
10352 1. DEFECT FIX: DEF053320 - Incorrect entries in distribution policy file (base)
10355 1. MINOR CHANGE: Updated USB Client Driver API and USB PSL How-to documents.
10358 1. DEFECT FIX: DEF053599 : "nand_media.h" contains customer name
10361 1. DEFECT FIX: DEF053443 - CAsyncCallBack being Set using a TCallBack on stack
10364 1. DEFECT FIX: DEF053520 - Documentation of TSize - Width is Height and Height is Width
10368 ============================
10369 (Made by YingS, 04/01/2005)
10372 1. DEFECT FIX: DEF052968 - Disabling DEBUGPORT is not supported on H2
10375 1. DEFECT FIX: DEF052859 - Benchmarks flawed
10376 2. MINOR_CHANGE: Improve Integrator's clocking setup with ARM1136 core modules
10377 3. DEFECT FIX: DEF053476 Reimplement signals and queues using ARMv6 instructions
10378 Added support for LDREX/STREX to kernel. Made kernel and EUSER use LDREX/STREX
10379 in preference to SWP/SWPB on ARMv6 platforms.
10382 1. DEFECT FIX: DEF051248 - RThread/RProcess :: Rendesvous has uninteligible documentation
10383 2. MINOR_CHANGE: Removed tracing added to emulator kernel in last release which was
10384 added to "help track down an intermittent defect where time goes backward"
10385 3. DEFECT FIX: DEF053468 - The constant KPhysAddrInvalid should be in public header file
10388 1. DEFECT FIX: DEF052789 - CTimer class is missing HighRes()
10392 ============================
10393 (Made by MichaelP, 16/12/2004)
10396 1. DEFECT FIX: DEF052461 - Old SharedIo buffer code should be removed
10397 2. DEFECT FIX: DEF052541 - Can't build Base ROMs with PlatSec disabled
10398 Add ability to ROM.PL to define CPP macros.
10399 Added NOPLATSEC guard in USER.IBY aroung the "platsec.settings" include.
10400 These enable PlatSec to be disabled when building Base ROMs by adding
10401 -define=NOPLATSEC to the command line.
10402 3. MINOR CHANGE: Made E32TEST and F32TEST only export platset.settings if
10403 __SECURE_API__ is defined. This means that WINS testing won't use PlatSec in this case.
10404 4. DEFECT FIX: DEF052518 - Handle creation doesn't obey PlatSecEnforcement configuration
10405 5. MINOR CHANGE: Test code fixes: T_CHUNK4 and T_LDRCHK.
10406 Added new test driver D_MEMORYTEST which provided a means of safely reading/writing to memory
10407 6. MINOR_CHANGE: Changed T_I64 test to work around bug in GCC compiler.
10408 7. MINOR_CHANGE: Added tracing to the emulator kernel to try and help track down an
10409 intermittent defect where time goes backward (causing the T_TIMER test to fail.)
10412 1. CR APOS-5Z3H92 System, GT0196 Nevada Base , MMC Media type recognition
10415 1. DEFECT FIX: DEF052289 - Incorrect IPR entry in distribution policy file (Base)
10418 1. Fixed a problem with t_domain test panic, where it only panicked for debug version
10421 1. DEFECT FIX: DEF052607 - "Member variable deleted incorrectly in USB driver".
10424 1. DEFECT FIX: DEF051582 - T_USBAPI fails on platforms which don't have USB
10427 1. DEFECT FIX: DEF052866 H2 UID missing from HAL
10428 2. MINOR_CHANGE: Work-around for DEF052101 MMC Password Functionality
10429 crashes H2. The MMC stack will indicate that password functionality is
10431 3. DEFECT FIX: DEF048670 Preserving Lubbock C drive across boots on Cedar
10432 4. MINOR_CHANGE: Fix the coreloader makefile so the build target output (abld -w)
10434 5. MINOR_CHANGE: Add #define _NANDTEST to nand test oby file implicitly
10437 1. DEFECT FIX: DEF052491 - Incorrect categories in distribution policy files(Base)
10440 Patch to release (critical defect)
10442 (Made by DjordjeK 10/12/2004)
10445 1. DEFECT FIX: INC052550 NTT Ekern crash when read epoc.ini
10449 ============================
10450 (Made by KamranN, 06/12/2004)
10453 1. DEFECT FIX: DEF051640 - "Cannot derive from DDmaRequest because of missing exports"
10454 'Refroze' the DMA EABI .DEF file, so that typeinfo and vtables got included.
10457 1. MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
10458 This is a BC Break - SCB confirmation number 1240.1
10459 2. MINOR_CHANGE: include power managemenet in Template ROMS
10462 1. DEFECT FIX: DEF052199 - CObjectConIx::Lookup fails unnecessarily.
10463 2. DEFECT FIX: DEF047137 - NAND Crash logger attempts to overwrite a page.
10466 1. MINOR CHANGE: Fixed typo bug in T_SCHEDHOOK test code.
10467 Line 117 - ThreadWFAR.SetPriority changed to ThreadExecCall.SetPriority
10468 2. MINOR CHANGE: Add a check to E32DEF.H to ensure Cedar code is built with an
10469 OS configuration set. (It asserts that 'EKA2' is defined.)
10470 3. DEFECT FIX: DEF052167 - Bug in DMemModelChunk::Decommit
10472 5. AndrewR + JonathanM
10473 1. DEFECT FIX: DEF050495 - platsec: too easy for clients to foget to use __PLATSEC_DIAGNOSTIC_STRING
10476 1. Mike,GT0223,MS3.3.1 PREQ810 Startup phone first - (SYS3.1)
10480 ============================
10481 (Made by JonathanM, 29/11/2004)
10484 1. DEFECT FIX: DEF051851 - Shared IO Buffer fault when process dies
10485 2. MILESTONE: Yankee,GT0217,MS3.9.1 CR - CDRS-65RK9F : Add 2 new capabilities
10486 SurroundingsDD and UserEnvironment onto the system for future proofing
10487 CHANGE REQUEST: CDRS-65RK9F - Add 2 new capabilities SurroundingsDD and
10488 UserEnvironment onto the system for future proofing
10489 INTERFACE CHANGE: BR1239.1 Add SurroundingsDD and UserEnvironment capabilities.
10490 NOTES FOR MCL SUBMISSION:
10491 BR1239.1 is a Binary Compatability Break. Due to the creation of two new
10492 capabilities, all executables compiled with CAPABILITIES ALL[-xxx....] in their mmp
10493 files need to be recompiled.
10494 3. MILESTONE: Yankee,GT0217,MS3.1.9 PS8.1.2 SYMBIAN_REMOVE_INSECURE_API
10495 This removes the implementation of the security classes when
10496 SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION is defined.
10497 Affected classes are: CSecurityEncryptBase, CSecurityDecryptBase,
10498 CSecurityBase, CBoundedSecurityBase and Security
10501 1. MINOR CHANGE: Fixed d_eventtracker test for MARM build.
10504 1. DEFECT FIX: DEF051902 - TUid operator== return TInt instead of TBool
10507 1. DEFECT FIX: DEF052061 - "USB Config Descriptor: bMaxPower cannot be set to max from PSL"
10508 Extended the 'aMaxPower' argument for TUsbcConfigDescriptor::New() to a TUint16.
10511 1. DEFECT FIX: DEF048784 - "Complete NAND support (boot from NAND) (incl. custom restart)."
10512 2. DEFECT FIX: DEF052013 - "nand loader cannot be used in automated tests"
10513 3. DEFECT FIX: DEF051079 - "Dubious use of KHoGpio_WakeUp_Enable"
10514 4. DEFECT FIX: DEF052135 - "H2 debugport code needs a polish"
10515 5. DEFECT FIX: DEF050787 - "H2 audio driver requires routing changes for telephony"
10516 6. DEFECT FIX: DEF051934 - "record buffer in h2 sound driver is too small"
10519 1. DEFECT FIX: DEF051549 - Crash loggers don't check bounds when writing
10523 ============================
10524 (Made by StefanW, 19/11/2004)
10527 1. DEFECT FIX: DEF051108 - Textshell window server defect
10530 1. CR CWAK-5XBLCM "Enhance EKA1 with a backport of the EKA2 USB solution to EKA1
10531 (and maintain this as a part of EKA1)" - Porting more performance enhancement
10532 and API changes from EKA1 back to EKA2.
10533 Also, added 'USB API' and 'USB PSL How-To' documents:
10534 \documentation\USB_Client_Driver_API.doc
10535 \documentation\Base_How_To_USB_PSL_EKA2.doc
10536 NOTE: BC/SC breaks for USB PDD and LDD, SCB confirmation numbers: BR1025.3 and
10538 (This submission includes the changed USB PDDs for Lubbock/Cotulla and H2/OMAP.)
10540 2. Added Template USB Client driver (USB PSL) - Part of MS3.3.3 - PREQ515 "Template
10541 Base Port Implementation".
10543 3. Added Template DMA driver - Part of MS3.3.3 - PREQ515 "Template Base Port
10546 4. Fixed defect DEF051663 - "Intermittent problems with ZLPs when using
10547 RDevUsbcClient::Write":
10548 Disabled the double-buffering functionality in BulkTransmit() in the Lubbock
10549 USB PSL in \e32\eusbcc\epoc\cotulla\pa_usbc.cpp. As this is only a workaround,
10550 it will slightly impede transfer performance for Bulk IN transfers.
10553 Patches to Version 2.00.544
10554 ============================
10557 1. DEFECT FIX: DEF051751 - GCCXML Warnings in build 03418
10561 ============================
10562 (Made by DjordjeK, 16/11/2004)
10565 1. CR (RFID-646KE2) System, GT0217 Yankee Base , More information required from Crash Logger
10566 Crash Logger now logs the content of IRQ & FIQ mode stacks.
10567 NOTE: This is BC break. SCB confirmation number is : 1251.1
10570 1. DEF051268 - NULL pointer access in USB Channel and output unneccessary error debug
10571 2. INC051297 - Sound driver prevents emulator boot
10574 1. Improve spash screen for Integrator to show all colours
10575 2. Make T_MEMBM return more meaningful values by increasing test array size.
10578 1. Fix DEF050037 - NAND Crash Logger panics in initialisation
10581 1. MILESTONE: Yankee,GT0217,MS3.3.3 PREQ515 Template Base Port Implementation (part 3 of 3)
10582 Power Management reference implementation.
10583 2. (Partial) Fix for DEF050989 - Changes required in Distribution Policy due to incorrect
10584 Perforce entries. The rest of the fix is in \beech branch.
10585 3. MILESTONE: Yankee,GT0217,MS3.6.1 PREQ550 Document Power Model
10586 This is a BC Break - SCB confirmation number BR1223.1
10589 1. DEFECT FIX: DEF051590 - RThread::RquestComplete performance improvement.
10590 This involves making RThread::RequestComplete update the request status user-side
10591 when SYMBIAN_REMOVE_INSECURE_API is defined.
10592 Also added new method, RThread::RequestSignal to support the above.
10593 2. Added debug asserts to NFastMutex::Signal() and NFastMutex::Wait() which check
10594 that the preconditions for these have been met.
10595 3. CHANGE REQUEST: JMET-66EE3J - Add constants to represent null thread and process IDs
10596 MILESTONE: Mike,GT0223,MS3.6.1 CR - JMET-66EE3J - Add constants to represent null thread and process IDs
10600 ============================
10601 (Made by AndrewHi, 05/11/2004)
10604 1. MINOR_CHANGE - Clarified process isolation diagnostics in e32/kernel/sipc.cpp
10607 1. DEFECT FIX: DEF050961 - Re-defining an RProperty causes the security policy to be overwritten
10608 2. MILESTONE: Mike,GT0223,MS3.4.1 PREQ799 - Memory management for multi-megapixel cameras (REQ3699)
10609 3. MILESTONE: Yankee,GT0217,MS3.1.8 PS8.1 - Deprecate/remove dangerous EKA1 APIs
10612 1. Fixed DEF050118 - Behavioural difference in CCaptureKeys between EKA1 and EKA2
10615 1. MINOR_CHANGE - Fix typo in e32/nkern/arm/ncsched.cia
10616 2. Fix DEF045938 - CDeltaTimer drifts around 10%, also does not allow App Processor to power down
10620 ============================
10621 (Made by CarlosF, 25/10/2004)
10624 1. Fixed INC046796 - NTT - Error comparing to N/A
10627 1. DEFECT FIX: DEF049602 - Unresumed processes aren't cleaned up when the creator process dies
10628 2. DEFECT FIX: DEF049616 - Minor security risk with Process IDs
10631 1. Fixed DEF050208 - T_CFTESTS.exe in F32Test is failing in overnight builds in Cedar
10634 1. MINOR_CHANGE - Add catch(XLeaveException&) to emulator EpocThreadFunction to support
10635 __LEAVE_EQUALS_THROW__
10638 1. Fixed DEF049828 - Debug Monitor and Crash Debbuger do not work fine all together
10639 2. Fixed DEF050504 - Publish and subscribe plat sec related interface changes (RPropertyRef::Define)
10640 NOTE: This is a SC break. SCB confirmation numbers are : BR1017.3 & BR1017.4
10643 1. DEF048136 - t_video doesn't turn off the backlight
10644 2. DEF048338 - H2 switch off/on doesn't appear to work reliably
10645 3. DEF049004 - USB hangs in tpantestusb_normalrom for H2
10646 4. MINOR_CHANGE - Fix Arm::DebugInJTAG
10647 5. MINOR_CHANGE - Fix and enable H2 benchmark suite on base tests builds
10650 1. DEF048462 - MMC stack overwrites correct settings when Card Spec is greater than 3
10651 2. DEF050127 - Capabalities of MMC card is shown wrongly after a hotswap for "unlockable" card
10652 3. DEF050770 - MMC stack should check pointer validity before de-referencing
10653 4. DEF050771 - MMCStack::StackSessionCB returns incorrect error for s/w based card detection
10656 1. DEF050643 - PlatSec: misleading diagnostics for Rename()
10660 Patches to Version 2.00.541
10661 ============================
10664 1. DEFECT FIX: DEF050385 - SS there is no way of suppressing inappropriate platsec diagnostics
10665 2. DEFECT FIX: DEF050585 - SS [System Build] EDBMS.DLL not Built and Associated Errors
10666 3. DEFECT FIX: DEF050964 - SS [PlatSec] Loader can fail to map "sys\bin" to the emulator path
10669 1. DEFECT FIX: DEF050584 - [System Build] DRTAEABI.DLL not Built
10673 ============================
10674 (Made by GongjunC, 18/10/2004)
10677 1. DEF050010 - Math::[U]DivMod64 problems on ARM
10678 2. MINOR_CHANGE - Prevent ARM4 from defining __LEAVE_EQUALS_THROW__, to support base test builds
10679 3. DEF050083 - Incorrect exception specifications on operator new() in e32 headers
10682 1. Increase ROM size limits on base test ROMs to stop 'ROM overflowed'
10683 errors in overnight build.
10686 1. DEF042614 - Mistakes in API Classification. In-line documentation change only.
10689 1. Fixes for test code: T_IDRV and T_TLDD were failing on a ARM1136 Integrator
10692 1. Fixed for DEF050119 - CActiveScheduler::RunIfReady doesn't clear flags correctly
10695 1. Fixed defect DEF048442 - Mistakes in API Classification. In-line documentation change only.
10696 (This is the Peripherals part of DEF042614.)
10700 ============================
10701 (Made by Kamran, 08/10/2004)
10704 1. Added template lffs driver - (Part of MS3.3.3 - PREQ515 Template Base Port Implementation)
10705 2. DEF046358 - MMC card change notifcations not issued on Lubbock running Cedar
10708 1. DEFECT FIX: DEF049601 - USB driver doesn't cleanup physical RAM allocation correctly
10711 1. DEF047569 Performance: CObjectIX and CObjectContainer classes
10712 NOTE: This is a BC break. SCB confirmation number: BR1162.1
10713 2. MINOR CHANGE in base internal test program d_latncy
10714 3. DEF049186 - Performance: DObjectIx
10717 1. DEF049679 - TRealX::operator TInt64 corrupts the stack on MSVC8 and incorrect for others
10718 2. DEF049711 - TRAPD definition broken
10719 3. MINOR_CHANGE - Fix warnings in t_i64
10720 4. MINOR_CHANGE - Fix failures in t_i64
10721 5. DEF049892 - Epoc32 console does not honour CursorHeight
10722 6. DEF049897 - TTimeIntervalBase bool operators declare TBool but define TInt
10725 1. DEF049754 - t_chunk missing call to RTest::End()
10726 2. INC049205 - NTT Test case t_mwait doesn't print rtest result
10729 1. INC049392 - NTT base\hal savehal fails in EKA2 due to improper path
10732 1. MS3.6.1 PREQ550 Document Power Model
10735 1. DEF049960 - Incorrect thread write function used in USB PIL
10736 Added a test case for this in T_usbapi
10740 ============================
10741 (Made by YingS, 22/09/2004)
10744 1. Milestone: Yankee, GT0217 MS3.7.2 Base 1: Implement TInt64 as a built in type on EKA2
10745 CR ATHE-5VFL29 "Implement TInt64 as a built in type on EKA2"
10748 1. MINOR_CHANGE - changed Multimedia to MultimediaDD in comments
10751 1. Expanded the Capabilities of EWSRV.EXE to ALL-TCB. This is to enable
10752 text notifier plugins to make use of a full capabilities.
10753 NOTES FOR MCL SUBMISSION
10754 On the day this change is Submitted to the MCL, tell Keith Robertson
10755 so that he can update the Master List of capabilities (this will prevent
10756 a build warning and defect being raised.)
10757 2. DEFECT FIX: DEF048953 - Text notifier server's thread heap size should be increased
10758 3. DEFECT FIX: DEF049305 - E32 fails to build EDLL.LIB if __SECURE_API__ is defined
10761 1. Fixed DEF049008 RNotifier needs "update" functionality that guarantees the response gets back
10764 1. MS3.1.2 PREQ277 Platsec REQ3527
10765 Secure Storage of HAL attributes
10766 Reimplemented HAL global data in terms of Publish and Subscribe
10770 ============================
10771 (Made by JasmineS, 09/09/2004)
10774 1. Fix problem with D_LATNCY.LDD on lubbock.
10775 2. GT0217 MS3.5.1 PREQ519
10776 User::Leave() in terms of throw()
10777 Implemented on EABI builds, configured by __LEAVE_EQUALS_THROW__
10778 Not yet implemented on the emulator.
10781 1. MINOR_CHANGE - Insert relevant Interface Management tags.
10782 2. Fix defect DEF048124 - Incorrect IPR Category & Component name within
10783 Dist. Policy File for Sierra
10786 1. DEF048135, Touchscreen calibration is somewhat off in PORTRAIT mode
10787 2. DEF048333, Keypad doesn't get interrupts on Rev C surfer boards
10788 3. DEF048339, Work required to improve audio support on H2
10791 1. DEF047450, T_R64BMFNC.CPP : Optimisation removes active code
10794 1. Defect Fix: DEF048750 - Hardware Chunks are visible to user side code
10797 1. Defect Fix: DEF047566 - Problems due to heap being compacted more aggressively in Cedar.
10801 ============================
10802 (Made by MichaelP, 27/08/2004)
10805 1. Fix for parsing of large integer properties in emultaor ini file,
10806 and command line. (Values >= 0x80000000 were getting set to 0x7fffffff)
10807 2. Turned on PlatSecEnforceSysBin for all Base ROMs.
10808 This forces all executables to be placed in the \sys\bin\ directory
10809 of ROMs and makes the loader only look in this directory. Any file path
10810 specified when loading executables is ignored.
10812 1. Updated Architectural Description. Revamped section 3 about required
10813 capabilities for direct access to device drivers.
10814 2. DEF048147, iRangeCount field in CPolicyServer::TPolicy is too small
10815 This breaks SC with any existing CPolicyServer::TPolicy classes.
10816 However, at the time of writing there were none in the MCL.
10817 Additionally, the fix is trivial. To facilitate the fix the TUint16
10818 iSpare field in CPolicyServer::TPolicy has been removed. Thus any
10819 explicit instantiations of this value must also be removed. As an
10820 example, I've modified the sample code from the documentation.
10822 const CPolicySErver::TPolicy myPolicy =
10824 CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
10827 //####Following line must be removed####
10828 //0, //iSpare must be zero
10829 //####End of line that must be removed.####
10834 Break Request Number: BR 1147.1
10837 1. DEF047811, OMAP DMA should reset the channel to defaults on close
10838 2. DEF047952, omap baseport doesn't have recognition for the ES1.2 1623
10840 3. DEF048104, possibility of spurious ps2 keypresses on H2 startup
10841 4. DEF048105, Integrate changes from camera code review
10842 5. DEF048106, USB soft connect/disconnect doesn't work
10845 1. DEF047010, Placement operator new for arrays missing in E32
10849 ============================
10850 (Made by DjordjeK, 18/08/2004)
10853 1. Fixed defect DEF 047427 Duplicate definition in ncsched.cia
10854 2. Added __ASSERT_ALWAYS_NO_LEAVE and __ASSERT_DEBUG_NO_LEAVE macros to
10855 assert that code does not leave in all builds and in debug builds
10859 1. Fixed corrupt drive X: on emulator by adding FS_FORMAT_CORRUPT
10860 for drive X: in wins/estart/estart.txt
10861 2. Defect Fix: DEF047931 - Loader crash when PlatSecEnforceSysBin is ON
10864 1. Fix for DEF047556. H2 rom files should allow creation of images
10865 of 32MB in size. (Note that this image size is only valid for
10867 2. Fix for DEF047557. H2 USB LDD/PDD wrongly specified in ROM files
10868 3. Fix for DEF047558. Implement errata 1.4.28 in for the OMAP H2 baseport
10869 4. Fix for DEF047561. H2 fails T_KHEAP
10870 5. Fix ARMV5 warnings for lcd and edisp drivers which were missing the
10871 NONSHAREABLE_CLASS primitive.
10874 1. PREQ3 - REQ2718 Part 2/2: Enable devices with multiple displays -
10875 EKA1 (dummy API) + EKA2, Emulator (part II).
10876 This contains a BC break in TRawEvent - approval id BR1073
10877 2. Fixed DEF047610 defective ScreenOffsetY
10878 3. Removed the non-ASCII sterling pound symbol and replaced it with the
10879 hex representation to allow compilation of the code when default Far
10880 East locales are used
10883 1) As part of "MS3.1.7 Platform security file handle sharing",
10884 changed these signatures:
10885 inline RSessionBase& RSubSessionBase::Session(); to
10886 IMPORT_C const RSessionBase RSubSessionBase::Session() const;
10888 inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs); to
10889 inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
10891 inline TInt CreateSubSession(RSessionBase& aSession,TInt aFunction); to
10892 inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);
10894 IMPORT_C TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs); to
10895 IMPORT_C TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);
10897 NOTE: The first is a BC/SC break. SCB confirmation number: BR1099.1
10900 1. Fixed defect DEF047456 - USB LDD device driver aborts
10901 In the USB PIL (in DUsbClientController::EndpointCaps and
10902 DUsbClientController::DeviceCaps) we now use Kern::ThreadRawWrite
10903 instead of a plain descriptor copy to update the caps structures.
10904 Also, in the LDD certain user-provided parameters are now copied over
10905 via Kern::ThreadRawRead rather than referenced directly.
10908 Patches to version 2.00.535
10909 ============================
10910 (Made by JonathanM, 11/08/2004)
10913 1. Defect Fix: DEF047249 - Inconsistent capability checking return types
10914 Interface Change: BR 1114.1 Some of the HasCapability apis in base return
10915 TInt's whilst others return TBools. They should all return TBools.
10918 1. Fixed INC047873 - Week 32 8.1b emulator fails to start
10922 ============================
10923 (Made by KamranN, 04/08/2004)
10926 1. Implemented CR MPED-5XDM2V "Enable USB DMA Support on EKA2":
10927 DMA support has been added throughout the USB driver stack, with changes
10928 at the PDD/LDD interface and the addition of two new virtual functions
10929 at the PSL/PIL interface:
10930 virtual DUsbClientController::TInt OpenDmaChannel(TInt aRealEndpoint);
10931 virtual DUsbClientController::void CloseDmaChannel(TInt aRealEndpoint);
10932 Support for DMA transfers has been added to the Cotulla PSL, however
10933 due to UDC hardware problems this is conditional (#define's) and is
10934 disabled by default.
10935 NOTE: BC Break in the USB PDD - SCB confirmation number: BR1084.1.
10938 1. Yankee,GT0217,MS3.1.5 PS8.3 Add "!" in front of the names of services to
10939 ensure kernel protection
10940 2. E32 and E32TEST changes required for H2 baseport.
10942 3. MiguelB Fix for DEF047057 - CBR/Kits errors in MCL build 03323 8.1b:
10943 Deleted: template/base_template.mrp
10945 template/template_assp/base_template_assp.mrp and
10946 template/template_variant/base_template_variant.mrp
10949 1. Implement CR - LKUH-5WJMEA: Correct and improve EKA2 Stop-Mode Debug API
10952 1. Changes due to the implemented REQ3489: 'Dividing ESTART into separate generic
10953 and customisable parts'. Now both Lubbock and WINS platforms have a customised
10957 1. OMAP H2 baseport handoff.
10960 1. Added timeouts for Lubbock tests
10963 Patches to Version 2.00.534
10964 ============================
10965 (Made by MichaelP, 04/08/2004)
10968 1. Fixed defect DEF047336 - [System Build] : CBR warnings (Base) in 03332 build.
10969 Deleted the following two lines from base\lubbock\base_lubbock.mrp:
10970 -binary \epoc32\release\arm4\coreldr.bin
10971 -binary \epoc32\release\arm4\miniboot.bin
10972 as the files referenced don't exist (they don't get built).
10976 ============================
10977 (Made by JonathanM, 26/07/2004)
10980 1. Yankee,GT0217,MS3.1.4 PS6.3.2 Ignore path information for binary files
10981 within ROM build and loader.
10982 2. Fix for DEF047047 - It's not possible to construct TSecurityPolicy
10983 objects at compile time
10986 ============================
10987 (Made by AndrewJ, 21/07/2004)
10990 1. Fixed DEF046615 - Unnecessary timer is set in Suspend ISR routine:
10991 In the USB PIL we now move to the Suspend state straight away, but check after
10992 500ms in the timer callback whether the cable is actually still there and
10993 change to the Undefined device state if it is not (= cable has been pulled).
10996 1. Extended RArray and RPointerArray to support geometric growth.
10997 2. Maintain list of code segments in order of name to speed up checking for
10998 already loaded code segments.
10999 3. Maintain list of code segments in run address order to allow efficient
11000 location of the code segment containing a given instruction address.
11001 4. Store address of exception descriptor in code segment. Add function
11002 UserSvr::ExceptionDescriptor to find the exception descriptor which
11003 corresponds to a given instruction address.
11006 1) REQ2731.3 (PREQ728): Descriptors API enhancement (RBuf)
11007 2) DEF046598 - TDateTime bug
11008 3) DEF046353 Error in in-source documentation for TDesC16::FindC (three parameter variant)
11009 4) DEF046617 memory model not taken into account when building debug monitor
11012 1. Made emulator try and load an INI file called 'defaulttest.ini' if the
11013 normal ini file wasn't found.
11014 2. Made E32TEST and F32TEST export a 'defaulttest.ini' so emulator testing
11015 uses the PlatSec settings we want.
11016 3. Added PlatSec diagnostic messages to methods which attempt to open handles
11017 on protected kernel objects.
11020 1. MS3.3.1 - PREQ515 Template Base Port Implementation
11023 1. Fixed DEF043662 - Lubbock 'dies' doing RUsb::Stop
11024 The basic solution is to stop the channel destructor from getting interrupted
11025 by a notification DFC or a data transfer completion DFC and by cancelling all
11026 possible outstanding DFCs at an early stage in the channel destructor
11029 1. Fixed DEF046808 - Panic in CBitMapAllocator::IsFree(int, int) when allocate
11030 a contiguous 600K memo
11031 2. Fixed INC045738 - emulator OnActivation keycode/scancode mixup
11034 1. Fixed DEF045510 Bad structure member alignment in TLocalDriveCapsV3
11035 NOTE: Fix causes BC Break and this has been approved by System Compatibility Board (confirmation number BR1093.1)
11038 ============================
11039 (Made by AndrewH, 06/07/2004)
11042 1. Fix DEF045730 - SDblQue methods should be const
11045 1. Fixed defect DEF022437 'CMD1 to ready timeout'. This is related to
11046 powerering up MMC cards.The busy timeout for CMD1 (a command issued during
11047 the card init. sequence) has been increased from 200ms to 1000ms. Additionally,
11048 the polling interval between busy checks has been reduced from 40ms to 10ms.
11049 The fix involves changes to the classes TMMCStackConfig and TMMCCommandDesc.
11050 Prior to the change, the member: "iPollAttempts" was used to hold info. on the
11051 number of retries the controller made in the event of a busy timeout. This applied
11052 to busy timeouts during both card power-up and write operations. Now this member
11053 only applies to busy timeout during writes. A new TUint16 member: "iOpCondBusyTimeout"
11054 now applies to busy timeout during card power-up. To reduce the chance of
11055 compatibilty issues as a result of adding this new member, the existing
11056 member: "iUnlockRetries" has been reduced from TUint to TUint16 to keep
11057 the overall size of these classes the same.
11058 The approval ids for these changes are: 1055.1 to 1055.3.
11061 As mentioned above, there have been changes to the MMC related classes
11062 TMMCStackConfig and TMMCCommandDesc. However, it is highly unlikely that the
11063 changes to either of these classes will have any impact on an MMC base port.
11065 The class TMMCCommandDesc is used routinely in an MMC baseport. However, the changes
11066 to this class relate to members which should only be accessed by the Platform
11067 Independent layer of the MMC Controller. However, if these members are being
11068 accessed in the base port for some reason:-
11069 Use of the member "iUnlockRetries". The change in size of this is a BC
11070 issue which will be fixed by re-building.
11071 Anyone using this class alter the busy retry count on card power up
11072 (ie altering "iPollAttempts") should alter the new member:"iOpCondBusyTimeout"
11075 It is unlikely that any MMC base port will use the class TMMCStackConfig. However,
11076 if this is used, the only issue is that those using this class alter the maximum
11077 busy retry count on card power up (ie altering "iPollAttempts") should alter
11078 the new member:"iOpCondBusyTimeout" instead. ie - use SetOpCondBusyTimeout() rather
11079 than SetPollAttempts().
11080 2. Fixed defect DEF022432 'User cannot lock a MultiMediaCard (ver. MMCA 3.1 or
11084 1. Fixed bug in EKA2 emulator - an invalid fast executive call would crash the system.
11085 2. Fixed double-unlock problem with Kern::SemaphoreWait().
11086 3. Added BASEDEFAULT option to BLDMAKE for use in PRJ_PLATFORMS.
11087 This is like DEFAULT, but includes extra builds used by base.
11088 Changed all base BLD.INF files to use this instead of DEFAULT.
11089 4. Don't include CallViaRn.cpp in USRT, KSRT when building ARMV4.
11090 5. Tools define __MARM_INTERWORK__ when building for ARMV5 (or other EABI
11091 builds which support THUMB). E32 uses this to determine whether THUMB
11092 interworking should be supported.
11093 6. Fixes for ARMV4 build.
11094 7. Exception support is turned off for kernel side code.
11095 8. Fix problem in RMsgQueueBase::SendBlocking, ReceiveBlocking
11096 TRequestStatus not set to KRequestPending.
11099 1. Fixed DEF044824 - Problems with CWsScreenDevice::SetCurrentRotations()
11100 2. PREQ3 - REQ2718 Part 1/2: Enable devices with multiple displays - EKA1 (dummy API) + EKA2
11101 , Emulator (part I).
11102 Changes to HAL to allow multiple handles for the same properties.
11103 Variants of Kern::AddHalEntry, Kern::RemoveHalEntry and Kern::FindHalEntry which take a
11104 device number as parameter has been introduced. Old versions assume device 0 (default
11105 device). A second video driver should make itself handler for EDisplayXXX attributes by
11106 calling Kern::AddHalEntry(..,..,..,1) to handle screen 1.
11107 HAL::Set and HAL::Get APIs that take a device number have been added.
11108 EDisplayNumberOfScreen HAL attribute has been added. By default, it is 1.
11109 The emulator has been enhanced to support multiple screens, each screen will have its own
11110 window, the window title will contain the screen number. A control window has been
11111 introduced, which displays the old title and which closes the application.
11112 A new screen can be specified in emulator by adding the keyword _NewScreen_, all the
11113 screen properties (eg. screen width) after the keyword will be associated with the new
11114 screen. _NewScreen_ is only required for additional screens, the default screen (screen 0)
11116 HAL implementation functions have changed, by needing a new parameter (device number). This
11117 has a potential impact on base ports if any licensee modified these implementations or if
11118 they've added new HAL attributes.
11119 3. Fixed DEF046674 - Shared io buf DoCreate tries to memset a hardware buffer
11122 1) Fixed: DEF043303 - Undesired carriage returns in VT100 display when using RDEBUG output.
11123 2) Fixed: DEF044439 - TVersion::Name should be const
11126 1. Sierra,GT0196,MS3.6 PlatSec IM12 Kernel work - REQ2634 Configurability of process protection
11127 2. Added User::RenameThread() and User::RenameProcess(). These are replacements
11128 for RThread::RenameMe() and RProcess::RenameMe();
11130 1. Sierra, PREQ 537 part 2 and PREQ 729 part 2 - file system layout and F32 data caging enforcement
11133 1. Fixed DEF046614 - USB: Re-enumeration delay should be shorter:
11134 Reduced the reconnection delay in ps_usbc.cpp from 2s to 500ms.
11136 Patches to version 2.00.531
11137 ============================
11139 1. Implemented REQ2731.4 Active Scheduler
11140 THIS IS A BC break. Break approval id: BR1031
11143 ============================
11144 (Made by MichaelP, 17/06/2004
11147 Milestone: Yankee,GT0217,MS3.1.1 PlatSec Capability Check (PS5.11 & PS5.12).
11148 Capability checks in E32 and HAL APIs enabled.
11151 1. Fixed defect DEF045564 - Incorrect CLZ macro
11154 1. Implemented CR - CLCT-5SAN3S Split SD Card example port into a 3C version and a 4C version on Cedar
11155 3C and 4C code has been split, allowing the Integrator target to be built for SD only or SD+CPRM.
11156 Specify --m=lmpsdio at ROM building time for SD only, --m=lmpsdiop for SD+CPRM
11158 2. Fixed DEF043653 - Nand buffers should be allocated at the driver level
11159 NAND Media Drivers may now enable the use of a memory allocator which allocates buffers from a pool
11160 allocated by the PSL at initialisation (overriding the use of stack based buffer allocation).
11162 To enable the allocator:
11163 1. Define __USE_CUSTOM_ALLOCATOR in the mandatory exported nand_plat.h header file.
11164 2. Provide a concrete implementation of the TNandAllocatorBase derived class, implementing the pure
11165 virtual function: TInt TNandAllocatorBase::AllocateBuffers(SBufferInfo& aBufferInfo)
11166 3. Provide the factory function TNandAllocatorBase* DMyNandMediaDriver::ExtensionInitAllocator();
11168 3. Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
11169 the password. This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
11170 issue the FORCE_ERASE command to the media via CMD42. If successful, this should be follows by a standard
11171 'quick format' operation to create a fresh filesystem on the disk.
11173 This change has Break Request confirmation numbers BR1056.1 and BR1056.2
11175 4. Implemented REQ3381: CMD23 support - Enabled support for MMC Command 23 (SET_BLOCK_COUNT) to bring the
11176 controller in line with specification version V3.31.
11178 Base Port Impact: Controllers that don't support CMD23 (ie - those which must use the STOP command)
11179 should return KMMCErrNotSupported in response to CMD23.
11181 This change has Break Request confirmation number BR1056.3
11183 5. Implemented REQ3382 (Part 1): Implement Multi-Block Write
11184 Allows multiple blocks of data to be written to the media in a single command to improve write performance.
11185 Part 2 of the REQ requires this to be rationalised with the atomic sector write requirement of ruggedised
11186 FAT to improve robustness if supported by the hardware.
11189 1. Fix for defect DEF045618 - T_EXC.EXE fails on ARMV5 UREL test ROMs
11190 2. Implemented REQ2862 - Obtain an executables header's capability parameters
11191 by adding function RLibrary::GetInfoFromHeader()
11192 3. Made capability checking in E32 dependant on the macro CHECK_CAPABILITIES_IN_E32_APIS
11193 If this macro is defined during compilation of Base then HAL, EUSER, Kernel and variants
11194 will enforce capability checks.
11197 1. REQ2731.5:Boot Reason - Implemented through Hal::Get/Set by introducing new attributes:
11198 ECustomRestart & ECustomRestartReason. Fully implemented on assabet variant. Dummy implemetation
11199 in Lubbock & WINS variants as they do not support S/W restart.
11200 2. REQ2731.1 RArray API enhancement & REQ2731.2 RMessagePtr2 API enhancement:
11201 Added leaving versions of the existing methods in RPointerArray<T>, RArray<T>,
11202 RArray<TInt) and RArray<TUint>.
11205 1. MINOR_CHANGE - updated WINS Ethernet How_ To document.
11208 1. Fix for defect DEF044273 - Mistake in doxgen comment for wordmove
11211 1) Fixed defect DEF046003 - "USB should not reset all end points on SetInterface
11212 command from host PC":
11213 In function DUsbClientController::ProcessSetInterface() in file
11214 \e32\drivers\usbcc\chapter9.cpp we now clear the Halt feature only for those endpoints
11215 which belong to the new current interface setting.
11219 ============================
11220 (Made by JonathanM, 14/06/2004
11223 1. Implemented CPolicyServer
11227 ============================
11228 (Made by JonathanM, 07/06/2004
11231 1. Replace RSessionBase::CreateSession overloads which uses 'Identity' checking
11232 with overloads which take a TSecurityPolicy. (Interface Change BR1030.1)
11233 2. Changed RProperty::Define() to take TSecurityPolicy objects.
11234 3. Documented all APIs which check capabilities with @capability tags.
11235 4. General Platform Security tidyups.
11237 Patches to version 2.00.528
11238 ============================
11241 1. Fix for defect DEF045740 - D_EXC doesn't work on EKA2 Lubbock ROMs
11244 ============================
11245 (Made by JonathanM, 26/05/2004
11248 1. Fixed DEF044687 - ARM1136 doesn't boot if caches have 16K alias restriction
11249 2. Fixed DEF044483 - Bootstrap faults if RAM bank starts at address 0
11250 3. Added Kern::SemaphoreCreate(), Kern::SemaphoreWait() and Kern::SemaphoreSignal()
11251 kernel APIs to allow semaphores to be used by device drivers.
11252 4. Added Kern::SetSystemTime() API to allow the software RTC to be updated in line
11253 with the hardware RTC.
11254 5. Move ClearPages() function from DArmPlatChunk to ArmMmu.
11255 Reimplement to use only a single temporary page table entry.
11256 6. On X86 don't try to zero RAM-loaded code memory before giving it write permission.
11257 7. Stop file server crashing if some removable drives are omitted.
11258 8. Support 'debugport' on X86
11259 9. On X86 'debugport -3' traces to the screen (for systems with no serial ports).
11260 10. Don't do ScanDrive on X86.
11261 11. On X86 map floppy as drive A (and ZIP as drive B if present).
11262 12. Workaround for Erratum 4.14 on ARM1136
11263 13. Modify CM1136 bootstrap to work with real CM1136 core module.
11264 The CPU is set to run at 200MHz and this seems to work, but the memory
11265 is very slow (12MB/s bandwidth according to T_MWAIT).
11268 1. Fixed DEF044873 - Emulator serial driver unable to open high COM ports
11271 1. Fixed DEF044808 - Improvement to region code
11272 2. Fixed DEF045272 - CPeriodic::Start() precondition is incorrect
11275 1. Fixed RVCT warnings including introduction of operator delete in RHeap & CBase.
11276 The warnings we are not obliged to fix still remain.
11279 1. Fixed DEF045256 - RVCT compile optimises CServer2::DoConnect() too aggressively ...
11280 2. Fixed DEF045159 - New warnings in build
11281 3. Fixed DEF040915 - Kernel threads aren't protected against being killed
11282 This changes Kern::ThreadKill so that it asserts the thread being killed is either the
11283 current thread, or is a user mode thread. I.e. prevent kernel threads from being
11284 killed by other threads. This change has Break Request confirmation number BR1028.1
11287 1. Modified the behaviour of the emulator timer event system to discard extra ticks
11288 collected when the multi-media timer callback has been suspended. This
11289 significantly improves client-server debugging experience with EKA2 emulator.
11292 1. Fixed DEF043213 - Build dependency introduced between e32test t_lfsdrv2 and lubbock base port
11295 ============================
11296 (Made by AndrewJ, 28/04/2004
11299 1. Fix for defect DEF044341 - Notifier framework (ewsrv.dll) generated KErrNoMemory
11300 2. Fix for defect DEF044651 - TSecurityPolicy::CheckPolicy methods don't obey global PlatSecEnforcement option
11301 3. Add capability checking to ECOMM.LDD (comm driver) and ELOCD.LDD (local media driver)
11302 ECOMM now checks that its client has ECapabilityCommDD
11303 ELOCD now checks that its client has ECapabilityTCB
11304 (These checks obey the PlatSecEnforcement and PlatSecDiagnostic configuration options.)
11307 1. Fixed defect DEF041968 - "usbc ldd built by lubbock variant even though
11308 it isn't a VariantTarget":
11309 The 'usbc' line has been removed from \lubbock\bld.inf and moved to
11310 \e32\bld.inf. Also, the usbcc import lib 'usbcc.lib' for use by the LDD
11311 is now created from /e32, no longer from /lubbock (/cotulla); Added
11312 \e32\drivers\usbcc\usbcc_lib.mmp for that purpose.
11313 2. Fixed defect DEF044327 - "Dma library with the same name (dma.lib) is created
11315 To avoid creating the dma.lib more than once we now generate it once from /e32.
11316 Added a new file \e32\drivers\dma\dma_lib.mmp for that purpose and stopped the
11317 generation of dma.lib in \cotulla\dma.mmp.
11319 1. Fixed DEF044093 8 fatal errors in "cedar\generic\base\integrator\core\cm920" for
11320 8.1b by changing the build directory in the makefiles for both the coreldr and
11321 miniboot components to prevent the path being longer than approx 250 chars long.
11324 ============================
11325 (Made by JonathanM, 23/04/2004
11327 1. JonathanM and KeithR
11328 1. Implemented Change Request JMET-5WFL2U - Remove legacy Platform Security APIs
11329 2. Implemented the following prototype Platform Security APIs
11332 RProcess::HasCapability
11335 RThread::HasCapability
11336 RMessagePtr2::SecureId
11337 RMessagePtr2::VendorId
11338 RMessagePtr2::HasCapability
11339 User::CreatorSecureId
11340 User::CreatorVendorId
11341 User::CreatorHasCapability
11345 _LIT_SECURITY_POLICY_xx macros for compile time construction of TSecurityPolicy objects
11346 RProperty::Define(TUid aCategory, TUint aKey, TInt aAttr, const TSecurityPolicy& aReadPolicy, const TSecurityPolicy& aWritePolicy, TInt aPreallocate)
11347 DProcess::HasCapability
11348 DThread::HasCapability
11349 3. Updates to TCapabilitySet and TSecurityInfo
11351 Patches to version 2.00.525
11352 ============================
11355 1. Fix for defect DEF044228 - AppendFormatList() generates KERN-EXEC 3 when
11356 used with VA_LIST on EABI
11358 1. Fix for DEF044435 - Incorrect MRP file for base_wins component - updated
11359 base_wins.mrp to reflect 3 new exported files
11362 ============================
11363 (Made by CarlosF, 14/04/2004
11366 1. Fixed defect DEF043790 "Running T_TLDD on WINSCW takes down the system"
11369 1. Fix for DEF043570 - e32 and e32utils warnings in 8.1b EABI build - project not frozen
11370 2. Added general purpose mutex ordering constants KMutexOrdGeneral0 thru KMutexOrdGeneral7
11371 These are for general purpose use. The values are higher than any used
11372 internally by the kernel, therefore there are no mutex ordering restrictions that
11373 limit which kernel functions may be called whilst a mutex of these orders are held.
11376 1 Fixed defect DEF043489 "No ECC in the coreldr"
11379 1. PREQ726 Keyboard Modifier - added new modifier (EModifierKeyboardExtend), new Scan Code
11380 (EStdKeyKeyboardExtend) to be turned On/Of on extendable keyboard extension/retraction, and
11381 new Key code (EKeyKeyboardExtend). Modified Keyboard Translator to recognise the new modifier
11382 Scan Code. Modified Lubbock Keyboard Mapping to map the Scroll Lock to the new modifier Scan
11383 Code: while this being pressed the keyboard layout is mirrored.
11386 1. Fixed DEF044167 - epoc.ini setting "JustInTime none" no longer works in EKA2 Builds
11387 2. Fixed DEF044155 - Header files need to be exported from WINS component
11390 1. DEF044039 - Seven test case failures against CLDC TCK 1.0a on Cedar
11391 (aka TInt64::operator>> not working on EKA2 code warrior for shift values
11394 Patches to version 2.00.524
11395 ===========================
11397 1. Fix Defect DEF044069 - CBR warnings in 8.0b, changed the name of the coreldr
11398 and miniboot components for each board
11400 2. Fix Defect DEF044109 - Missing files in ROM build for 8.1b and 8.0b
11403 ============================
11404 (Made by JonathanM, 31/03/2004
11407 1. A3.4.3 PREQ12 NandFlash Integrator EKA2 Part2 - With TechView booting
11408 (already submitted as a defect but forgot to put the milestone itself
11409 into the release.txt)
11412 1. Implemented REQ2533 Kernel needs to zero memory when handing it between
11413 processes. Kernel fills memory commited to chunks and shared io buffers
11414 with 0x03. It also fills the portion in code chunks that is not overwritten
11415 by the loader. 0x03 is used instead of 0x00 to prevent people from relying
11416 on memory being zero initialised.
11417 2. Fixed DEF042172 - Confusion between page size and page shift in shared I/O
11420 1. Fixed defect DEF042239 - WINSCW EKA2 sound PDD loses data when recording.
11421 2. Implemented MRED-5MGHAW - Multiple fascia layout support in the emulator.
11422 Backwards compatible with existing epoc.ini files.
11425 1. Fixed defect DEF041808 - initialisation of kdebug.dll is rather racy (possibility
11426 of null pointer deref)
11429 1. Implemented PREQ12/GT135 Nand flash support for Lubbock. Note that current support
11430 has been tested for 16bit NAND devices only. Enabled composite filesystem support
11431 thus ROFS images appear on system drive. Added reboot driver support for Lubbock
11432 nandloader utility. Removed single/direct build since this will not work with the
11433 current (hardcoded) values.
11434 2. Implemented PREQ412: Support for ARM RVDS 2.1 toolchain. THIS IS A BINARY COMPATIBILITY
11435 BREAK FOR ALL FILES COMPILED UNDER THE ARM RVCT/RVDS TOOLCHAIN. (The final RVDS
11436 toolchain supports the ARM EABI standard which requires renaming/refactoring both
11437 user and kernel side intrinsic library functions.)
11438 3. Further DEF file fixes for PREQ412. BINARY COMPATIBILITY IS BROKEN BETWEEN RVCT 2.0.1
11439 AND RVCT 2.1. Removed duplicated EUSER.DEF exports, removed further apostrophes from
11440 e32rom.h comments that caused h2inc.pl to get confused about alignments. (Correct fix
11441 is to h2inc.pl). Add Integrator 1136 new power dll exports generated by RVCT2.1.
11445 1. Fixed DEF042908 - eusbc regression: Read completes with KErrNone and zero bytes
11446 2. Fixed DEF040606 - Incorrect OUT data presented to ECACM.CSY by RDevUsbcClient
11447 3. Fixed DEF042074 - Random data retd by RDevUsbcClient::ReadOneOrMore after USB enumeration
11450 1. Fixed defect DEF043285 - Lubbock Bootstrap trace is switched on
11453 1. Fixed defect DEF043484 - "DMA Framework doesn't permit manipulation of
11454 custom descriptors":
11455 Introduced new public member function
11456 'inline const TDmac* Controller() const {return iController;}'
11457 to class TDmaChannel. This way we can access TDmac::HdrToHwDes(), which
11458 we need in order to get a pointer to custom-created DMA descriptor(s).
11459 2. Fixed defect DEF043600 - "USB: Zero-byte writes don't work on Lubbock":
11460 In the Cotulla USB PSL we need to treat zero-bytes writes still as
11461 comprising one packet when completing to the LDD.
11464 1. CR JPAR-5RYLQQ: Make the Crash Flash Logger part of base
11465 - At a high level this code provides support for automatically writing
11466 debugging information, similar to what one could have retrieved from
11467 the traditional interactive crash debugger, to a special area in
11469 - This submission provides support for generic nor and nand crash loggers.
11470 - Lubbock is the only currently supported variant.
11471 - A utility called crashread is provided in e32utils. This provides
11472 the ability to read a previously stored crash log from the special
11473 area in flash to the visible file system.
11474 - To enable crashread, several changes were required to other, seemingly
11476 - First, KMaxLocalDrives has been increased from 9 to 16. This
11477 change was necessary to support the steadily increasing number of
11478 partitions (each type of crash log logs to it's own partition).
11479 - Second, the generic nand flash code was updated to recognise a
11480 crash log parition and be able to use it.
11481 - Third, the nandloader also needed updates to support creating
11482 nand devices with the new crash log partition.
11483 - What was formally referred to as the "monitor" now consists of three
11485 - The common monitor functionality (code common to both the crash
11486 logger and the crash debugger)
11487 - The crash debugger (the interactive debugger that was also
11488 formally known as the "monitor" or "crash monitor")
11489 - The crash logger (the subject of this submission).
11490 - Each of these entities is now an extension. These extensions are
11491 called exmoncommon.dll, exmondebug.dll, and exmonlog.dll
11492 respectively. All three must be built from the variant.
11493 exmondebug.dll and exmonlog.dll require variant specific support. On
11494 the other hand, exmoncommon.dll requires no variant specific code.
11495 Building from the variant is only required in order to select the
11496 correct memory model.
11497 - exmoncommon.dll must be included in the rom prior to either of the
11498 entities. It provides an api for subsequent crash monitors
11499 (debuggers or loggers) to register and be called when the device
11501 - The order that the crash monitors register with the common
11502 functionality (aka the order they are placed in the rom) is the order
11503 they are called in at crash time.
11504 - IMPORTANT NOTE -- Base Port Impact: Yes
11505 - These notes explain the steps required to get the base port
11506 working with the functionality it previously had. In order to
11507 port the crash logger itself to a new variant, it is recommended
11508 that the Crash Logger porting howto is consulted.
11509 - As a necessity of the changes described above, functionality
11510 specific to the crash debugger has been moved to a subclass of
11511 Monitor called CrashDebugger. This results in four functions
11512 from the variant (formerly Monitor::InitUart, Monitor::UartOut,
11513 Monitor::UartIn, and Monitor::CheckPower) which need to have
11514 their class changed from Monitor to CrashDebugger.
11515 - To build exmoncommon.dll, a mmp file is provided in
11516 e32\kernel\exmoncommon.mmp which simply needs to added to a
11518 - To build exmondebug.dll, it is suggested that the existing
11519 exmon<variant>.mmp file be slightly modified to #include
11520 "..\e32\kernel\exmondebug.mmp" rather than
11521 "..\e32\kernel\monitor.mmp" and that the target statement is
11522 changed from "VariantTartget(monitor,dll)" to
11523 "VariantTarget(exmondebug.dll)".
11524 - Finally, the iby file for the variant must be changed. The
11525 extension statement that previously specified "monitor.dll" should
11526 be changed to "exmoncommon.dll". After this add one more extension
11527 statement to include "exmondebug.dll" in the rom is required.
11530 ===========================
11531 (Made by JonathanM, 19/03/2004)
11534 1. Implemented the requirements:
11535 REQ2632 - Configurability of the enforcement of capabilities
11536 REQ2633 - Security violation diagnostic
11537 REQ3142 - Associate Platform Security information with an executable.
11538 See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc
11540 Patches to version 2.00.522
11541 ===========================
11543 1. Fix Defect DEF043083 - The file
11544 \epoc32\data\media\nanddrv.bin is missing from 8.0b gt_only CBR.
11547 ===========================
11548 (Made by JonathanM, 26/02/2004)
11551 1. Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
11552 THIS IS A BINARY COMPATIBILITY BREAK FOR ALL EXECUTABLE FILES.
11553 Binaries (EXEs,DLLs) from previous releases of Symbian OS will not work
11554 with this or subsequent releases.
11555 2. Added new Platform Security capability enumerations (TCapability)
11556 3. Early release of prototype TCapabilitySet and TSecurityInfo classes.
11557 4. Added Platform Security configuration settings to the ROM Header structure.
11558 5. Added PlatSecDisabledCaps keyword to emulator INI file parsing.
11559 (Above changes required to support testing of Change Request JDOD-5VUJ7F)
11562 ===========================
11563 (Made by AndrewJ, 13/02/2004)
11566 1. Fixed defect DEF041644 - "USB: Cable status doesn't get propagated
11567 in PSL at startup":
11568 We now call the cable connection notification callback straight away
11569 after installing it in the Lubbock USB PSL constructorr in order to get
11570 the proper PIL state from the beginning.
11571 2. Fixed defect DEF042040 - "USB: Device state goes from Address to Default
11572 before Configured":
11573 An erroneous device state transition from Powered to Addressed occurred in
11574 PIL function DUsbClientController::ChangeConfiguration(TUint16 aValue)
11575 which is called upon a device Reset with an argument of 0. If the Reset
11576 happens after a cable-reconnection (i.e. the device was Configured, then
11577 the cable got pulled and is now reapplied), then the data member
11578 iConfigured still has a non-zero value and so we moved in
11579 ChangeConfiguration to the Addressed state - which was wrong since we
11580 weren't actually in the Configured state anymore. The solution therefore
11581 is, before moving to the Addressed state, to check whether we are currently
11582 actually in the Configured state.
11583 3. Fixed defect DEF042084 - "usbman does not return correct device state in
11585 [a] DUsbClientController::GetDeviceStatus() now always returns the value
11586 of iDeviceState, even when iTrackDeviceState is EFalse because proper
11587 device state tracking is not really supported by the UDC.
11588 [b] In function DUsbClientController::UsbDisconnect() we move to state
11589 EUsbcDeviceStatePowered instead of to EUsbcDeviceStateUndefined if the
11590 USB cable is connected and the UDC is turned on. The reason for this is
11591 that it enables the user to distinguish a soft-disconnect from a USB
11593 [c] In function DUsbClientController::ActivateHardwareController() we
11594 move to state EUsbcDeviceStatePowered if the cable is connected (was:
11596 [d] In function DUsbClientController::DeActivateHardwareController() we
11597 move to state EUsbcDeviceStateAttached if the cable is connected (was:
11599 4. Fixed defect DEF042079 - USB: DUsbClientController::DeRegisterClient()
11601 We now use the value 00 for the setting to mean, to ReleaseInterface(),
11602 to release all existing settings for that interface. (ReleaseInterface()
11603 is able to pick these directly, as opposed to DeRegisterClient() which
11604 had to guess and therefore simply tried all possible values.)
11605 5. Fixed defect DEF040615 - "Incorrect device statuses given by
11606 RDevUsbcClient::AlternateDeviceStatusNotify":
11607 1) The LDD wasn't checking if a device state change was available from the
11608 queue when a notification request was made. Items remained in the queue
11609 until pushed out when a new device state change was available.
11610 2) Duplicate entries were inserted into the queue. These are not required
11611 userside and consume valuable queue space.
11612 3) Device states were queued from when the first SetInterface call was made
11613 or when the first notification request was made. The queuing now happens
11614 between the first request and the cancellation, which will also flush the
11616 4) Device state changes are now tracked from when the channel is created.
11619 1. Fixed defect DEF041871 - "Incorrect macro passed to cmd_read_main in NAND ftl"
11620 minor change to allow for easier porting of NAND flash across platforms.
11622 2. Fixed defect "DEF041869 Move Nand device table into the varient" - changed
11623 Samsung's code to populate it's device table based on an existing variant
11626 3. Implemented CLCT-5VEK4P - "Binary search in ROFS
11627 together with 'expanding ROFS entries with UIDs'".
11628 Changed Rofsbuild to provide a sorted array of offsets
11629 in order to allow the file system to perform binary search
11630 through the image. Also expended the TRofsEntry structure
11631 to include a copy of the file UID data.
11633 Changed the SW ECC scheme in the driver to be compatible with beech and
11634 updated emuldrives.zip to reflect new ROFS image format.
11637 Patches to version 2.00.520
11638 ===========================
11641 1. Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong level of indirection
11642 The previous fix has been reverted because it broke Telephony code. Telephony has fixed their code
11643 (see DEF041144: SIM TSY makes use of TArray<class T>::Array() which Base are about to break SC.)
11644 THIS IS A SC BREAK. The approval id for it is: BR-GT0177-03
11645 2. Fixed defect DEF042012 CDeltaTimer::~CDeltaTimer does not call Close() on its iTimer
11648 1. DEF042221: Missing APIs from IPCv2 implementation (RMessagePtr2::GetDesLengthL and GetDesMaxLengthL)
11654 (Made by AndrewHi, 23/01/2004)
11657 1. Fixed DEF041406 "RAM mapped by bootstrap as 1MB sections is not marked as in use"
11658 Kernel now recognises section-mapped RAM blocks mapped by the bootstrap
11659 marks the RAM pages as in use.
11660 2. Fixed DEF041440 "Inconsistent caching attributes for page tables on ARM architecture 6"
11663 1. Fix for defect DEF041461 - Textshell Notifier Server cleanup and channel queueing problems
11664 2. Fix for defect DEF041176 - RPropertyRef::GetStatus usage unclear/unsafe?
11667 1. Fixed defect DEF041295 - "Race condition in 8.0b/EKA2 DMA framework generic
11669 In DDmaRequest::Queue(), moved the assignment 'iQueued = ETrue' inside
11670 the channel-locked section.
11673 1. (PREQ13), "(REQ1968) MLC NOR Flash Support"
11674 Introduced a driver for TYAX devices, derived the existing lfsdrv files. The updates to the
11675 existing driver are as follows.
11676 - The device is accessed of chip select 0, the device base address is 0x00000000. The first 2M is
11677 assigned to the bootloader, the next 14M is for storing the OS image, and the remaining 16M is for
11679 - The device parameters are read at initialisation in order to determine the applicable geometry. In
11680 order to support this, a partition must be put in to CFI-query mode - at which point the content of that
11681 partition become inaccessible. If using XIP (i.e. code for the executing program is being read from
11682 the TYAX) then there is the chance that the next executable statement could become inaccessible, and
11683 so the program could 'hang'. Three approaches to this problem are suported by the driver, selectable
11684 by action of the pre-processor: assume that the partition containing the executable code will not be put
11685 into CFI-query mode, and access it directly; pre-load the cache with the executable code so that the
11686 instructions can be executed from within the processor until the TYAX partition is returned from CFI-query
11687 mode; and, copy the executable code to an area in RAM and execute from there until the device is returned
11688 from CFI-query mode. File lffsdev2.cpp, method DMediaDriverFlashLA2::GetRawCfiQueryValues has the code to
11689 invoke this (supported by the function QueryDeviceParameters in lffsdev2.cia)
11690 - Device blocks that may be subject to an erase or programming are explicitly unlocked at device
11691 initialisation (method DMediaDriverFlashLA2::Initialise).
11692 - The device provides read-while-write and read-while-erase functionality: a partition other than the one
11693 currently being written to / erased can be read. In addition, if an erase is suspended, a block other
11694 than the one being erased can be read. Two new tests have been added for RWW: the first to demonstrate
11695 that an attempt to read from the same partition that is currently being written to is denied; the second
11696 to demonstrate that a simulataneous read from a partition other than the one that is currently being
11697 written to is supported. New flag KMediaAttReadWhileWrite added to e32const.h to indicate a device's
11698 capabilty to support these tests. Request method introduced to the driver (overriding the base class
11699 equivalent) in order to support the RWW tests (denoted by #ifdef _DEBUG, and CtrlIoState). The DoWrite
11700 function has 'special' code to support the artificial situation required to exercise the RWW capability
11701 (denoted by #ifdef _DEBUG, and CtrlIoState). Test approach is as follows. A background thread is used
11702 to start a sequence of writes to the TYAX devices. In the foreground, three read requests are issued. Due
11703 the fact that the write operations complete so quickly, an artificial situation was required where a read
11704 request was invoked whilst a write was still in progress. The following has been implemented to supoprt
11705 this: Use of 'control IO', reserved for debug builds only, allows the artificial scenario to be created.
11706 For such an operation, a write request is issued to the driver (from the background write thread), but it
11707 is not instigated - rather, it is held 'pending' (the thread is blocked). When a read request is received
11708 by the driver, the pending write is instigated, immediately followed by the read. See lffsdev2.cpp,
11710 - Poll timer expiry is now followed by a read of an address that is dependent upon the particular
11711 asynchronous operation. File lffsdev2.cpp, method DMediaDriverFlashLA2::HandleEvents
11713 Base Port Impact: N
11715 Method DMediaDriverFlash::Caps has been made virtual. This is part of the internal interface of the
11716 PDD component, between the generic and platform specific parts. No existing base ports should be affected.
11719 1. (PREQ13), "(REQ1968) MLC NOR Flash Support"
11720 Changes to both Lubbock and Bootloader build files to allow building Tyax specific
11721 binaries, Bootloader, tests and ROMs.
11722 To build a Text Shell Lubbock ROM with the Tyax module plugged in:
11724 rom -i arm4 -v lubbock -m(odules) tyax -b (udeb or urel) -t tshell
11726 The same applies for building a Tyax specific Lubbock Bootloader.
11729 1. CR (JPAR-5RJCR6) System, GT0177 Kernal and Peripherals, Extend Publish and Subscribe to have
11730 Large (non-RT) properties.
11733 1. Fixed DEF041547 - Error found in base_integrator_core.mrp...
11736 Patches to Version 2.00.519
11737 ===========================
11740 1. Fix DEF041539 - Base Documentation is not being delivered in a CBR...
11741 Added base_documentation.mrp file in \documentation directory
11746 (Made by StefanW, 09/01/2004)
11749 1. Fix for defect DEF041288 - EKA2 stop-mode debug table needs more constants
11754 ID: IBUG-5QNJZC "Implement CR IBUG-5N2DZE on Cedar":
11755 Change: - RBusDevComm has two new APIs (MinTurnaroundTime() to get the turnaround time
11756 and SetMinTurnaroundTime(TInt aMicroSeconds) to set a new turnaround value).
11757 - the default turnaround time is 0, i.e. until it is changed to a value >0, if a
11758 Write request is queued transmission takes place immediately.
11759 - if a turnaround time>0 has been set and a Read request is queued, when the last
11760 character is received or the Read is aborted by fail signals, a timer is launched
11761 with the turnaround time value; if in the meantime a Write request is queued
11762 it will be delayed until the timer completes or a new turnaround value is set.
11763 - if a Write request is queued after the turnaround timer has expired, transmission
11764 takes place immediately.
11765 - if a new turnaround time (>=0) is set while there is a pending Write request
11766 waiting on the previous turnaround timer expiration, the Write will take place
11767 immediately and the new turnaround value will be used after the next Read request.
11768 - if a Write is requested after a Read is completed and then cancelled before the
11769 timer expires the transmission will not take place, but the timer carries on. If
11770 another Write request is queued before the timer expires it will be delayed by the
11772 - if a Write request is still pending waiting on a turnaround timer expiration when
11773 the Channel is closed, it will never take place.
11774 To make use of this feature Half-Duplex commnunications is assumed. If Full-Duplex is
11775 used the following behaviour also applies
11776 - if a Write is queued after a Read is queued but before it completes it will take
11778 - if a Read request is queued and completed while there is a pending Write request
11779 waiting on the previous turnaround timer expiration, the timer will be re-queueud
11780 with the same turnaround value, i.e. the Write will be delayed by a total of the
11781 original turnaround time plus the time elapsed between the 2 read requests.
11782 Base Port Impact: Y
11783 The LDD API has been extended. Licencees who have branched the LDD will
11784 have to implement the extra APIs
11787 1. Fix for DEF040901 - EKA2 emulator RDebug::Print outputs do not appear in CodeWarrior log window.
11788 Added LogToDebugger and LogToFile properties defaulting to false and true respectively.
11789 If LogToDebugger is set to 1 in the epoc.ini, debug output is written to the debugger with
11790 OutputDebugString. If LogToFile is set to 0, the debugger output is not written to %temp%epocwind.out
11793 1. Added generic support for SDIO Cards (A3.6.1 PREQ12 - REQ1764.1).
11794 2. Created a new Logic Module directory for Integrator, providing a platform-specific implementation of SDIO.
11795 Base Port Impact: Y
11796 The variants TMMCardControllerInterface derived class should implement the following
11797 factory function in order for the correct type of socket to be created:
11799 DMMCSocket* TMMCardControllerInterfaceIntegrator::NewSocket(TInt aSocketNum, TMMCPasswordStore* aPasswordStore)
11803 (Made by StefanW, 19/12/2003)
11806 1. Fixed defect T_SCNDR1 locks the system when running of MMC.
11807 The Lubbock MMC driver does not handle errors in the Interrupt handler. If an error occurs, the current
11808 session would never complete, which would cause the system to lock (while the fileserver waits for the
11809 request to complete). The driver has now been modified to handle errors and recover when appropriate.
11812 1. Fixed defect DEF040810 - "USB: PIL function DeRegisterClient doesn't delete
11813 all interface settings":
11814 Since we don't know in DeRegisterClient how many (if any) alt settings exist
11815 for the interface in question, nor their actual setting numbers (these could
11816 have been set arbitrarily), we have to just try all possible values, starting
11817 from the top. If a setting doesn't exist, ReleaseInterface() will just return
11818 with an KErrArgument.
11821 1. A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changes to RebootDrv so
11822 that the offsets of NandFlash registers are defined in the platform-specific include file.
11824 2. MINOR_CHANGE: remove COM# limitation on WINS PDD which currently only allows using COM0,
11827 3. Fix DEF037569 - Ethernet driver configuration utility is broken on EKA2
11828 Netcards.exe now builds under wins\test. New source code under e32test\netcards. Note: winpcap
11829 has to be run before running netcards as Symbian has not the rights to distribute packet.dll (
11830 which is required by netcards.exe and loaded by winpcap)
11833 1. Fix for defect DEF040312 - Change required to Bootcpu.h
11834 2. MINOR_CHANGE - Removed legacy debug test driver.
11837 1. Fix for DEF 040679 - touchscreen calibration causes system hang. Use fast mutex
11838 to prevent AC97 link use race condition.
11839 2. Fix for DEF 040887 - if e32test\benchmark PDD channel creation fails, benchmark LDD
11840 deletion panics thread and kernel.
11841 3. Fix for DEF 040998 - CF cards hang under stress formatting tests. The fix allows card
11842 operations which raise delayed (after the timeout detection has completed the request)
11843 interrupts to execute correctly by ignoring interrupts after the timeout has scheduled
11844 a data transfer operation. Re-enabled automatic testing of CF card in PCMCIA (D:) slot.
11847 1. Implemented CR AFOD-5THE5U "Add EBps921600 and KCapsBps921600 to d32comm.h".
11848 2. Modified BootCall function in new new bootstrap so that the call number
11849 is stored in the lower 8 bits of the following word. Modified the BOOTCALL
11850 macro to use a MOV LR, #n instruction to contain the call number. This
11851 allows a debugger to step over the BootCall since it does not modify the
11853 3. Modified WriteS function in the new new bootstrap so that the string to
11854 be printed starts 8 bytes after the call instead of 4 and to not modify
11855 the return address. Modified the PRINT and DWORD macros to place a branch
11856 instruction immediately after the BL WriteS to branch round the string.
11857 This allows a debugger to step over the WriteS call since it does not
11858 modify the return address.
11861 1. Fixed defect DEF040879 USB LDD thread related problems, panicking & reading
11862 We have to remove the possibility of panicing the driver thread. Also, tidy code
11863 by using a thread descriptor copy instead of a raw copy
11864 2. Fixed defect DEF041111
11865 "USB LDD may lose data in some situations "
11866 3. Fixed defect DEF040428
11867 "USB Driver error codes that can be added without disrupting PSL"
11870 Patches to Version 2.00.517
11874 1. Fix DEF040996 - CM1136 and CM920 are trying to export the same files
11875 2. Fix DEF040845 - Error in "base_integrator_core_cmll36.mrp"...
11876 3. Fix DEF041062 - Error found in base_integrator_core_cm920.mrp...
11879 1. Change Request ATHE-5RMHFH - Remove Capability related APIs from EUSER, HAL and EKERN
11881 Compatibility break ID is BR-GT0177-01
11883 This is a SOURCE AND BINARY COMPATIBILITY BREAK for 8.0b
11885 8.0b BASE PORTS may be affected by the HAL and EKERN changes.
11886 Also by the removal of the KCapabilityXxxxxx constants.
11892 RProperty::KPersistant enumeration value removed
11893 RProperty::TPolicyType enumeration removed
11894 RProperty::Define() redefined to remove the last four parameters
11896 RMessage2::Capability() removed
11897 RMessage2::iCapability renamed to become a private member called iSpare1
11898 TCapability typedef removed
11899 capability definitions removed (The KCapabilityXxxxxx constants)
11900 RLibrary::GetCapability() removed
11901 RThread::ProcessCapability() removed
11902 RProcess::Capability() removed
11903 User::Capability() removed
11904 User::CreatorCapability() removed
11905 User::RemoveCapabilities() removed
11909 HALData::ESecureDisplay and HALData::ESecureDisplayMemoryAddress HAL attributes removed
11913 TPropertyInfo::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
11914 TPropertyStatus::iReadType, iWriteType, iReadPolicy, iWritePolicy removed
11915 These affect us of RPropertyRef::Define() and RPropertyRef::GetStatus()
11920 (Made by JonathanM, 05/12/03)
11923 1. Implemented REQ2481 - Disabling the insecure IPC mechanism in EKA2 at build time.
11924 Building the Kernel with the macro __REMOVE_IPC_V1__ defined will cause the following
11925 functions to panic with KERN-EXEC 55 (EObsoleteFunctionality)
11929 RThread::GetDesLength
11930 RThread::GetDesMaxLength
11932 RMessage::RMessage(RMessagePtr2&)
11934 2. Marked IPC V1 APIs as @deprecated
11936 3. Implemented CR JMET-5SBEBM - EKA2 API change for Kern::ThreadRead/Write
11938 The following functions have been renamed and their arguments changed:
11940 TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset, TInt aMode);
11941 TInt Kern::ThreadRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
11942 TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, TInt aMode, DThread* aOrigThread);
11943 TInt Kern::ThreadWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
11944 TInt Kern::ThreadRead(DThread* aThread, const TAny* aPtr, TDes8* aDes, TInt aOffset);
11945 TInt Kern::ThreadWrite(DThread* aThread, const TAny* aPtr, const TDesC8* aDes, TInt aOffset, DThread* aOrigThread=NULL);
11947 The new prototypes for these functions are:
11949 TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset, TInt aMode);
11950 TInt Kern::ThreadRawRead(DThread* aThread, const TAny* aSrc, TAny* aDest, TInt aSize);
11951 TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, TInt aMode, DThread* aOrigThread);
11952 TInt Kern::ThreadRawWrite(DThread* aThread, TAny* aDest, const TAny* aSrc, TInt aSize, DThread* aOrigThread=NULL);
11953 TInt Kern::ThreadDesRead(DThread* aThread, const TAny* aSrc, TDes8& aDest, TInt aOffset);
11954 TInt Kern::ThreadDesWrite(DThread* aThread, TAny* aDest, const TDesC8& aSrc, TInt aOffset, DThread* aOrigThread=NULL);
11957 1. Fixed defect DEF022433 MMC gets locked although it should remain unlocked.
11958 The MMC initialisation would get confused if a the card is not fully powered down before
11959 the stack is powered back up. Modified the MMC state machine to check the validity of the
11960 password when power is applied before deciding to remove it from the store.
11963 1. PREQ13 - REQ1755.9 VFP Support (CR JPAR-5PREKA
11964 "We shall add kernel support, for the saving of, VFP co-processor registers")
11965 2. Interchange first two instructions of FIQ handler to work around Erratum 32
11966 for the Intel XScale PXA255 CPU (Non-branch instruction in vector table
11967 may execute twice after a thumb mode exception).
11968 3. Fixed defect DEF040625 - Loading and unloading an LDD twice crashes the kernel
11969 4. Fixed defect DEF040712 - Bootstrap - Misuse of FindParameter in InitCpu
11972 1. Fixed defect DEF040520 - USBRFLCT/USBTEST: Incorrect IPR Classifications:
11973 Changed respective distribution.policy files accordingly.
11974 2. Enabled ISO transfers in Lubbock USB PSL.
11977 Patches to 2.00.516
11980 1. Fixed DEF040076 - Bootstrap no longer builds with GCC - GCC cannot cope with
11981 absolute paths starting with \, so the this fix adds the drive letter to the
11985 1. Fix for DEF040514 - Problem with "Base_integrator_core_cm920.mrp"
11989 (Made by StephanGu, 13/11/03)
11992 1. Bringing USB drivers up to date.
11993 2. Fixed defect DEF040093 - "Base errors in build 03148_Symbian_OS_v8.0b":
11994 The WriteCancel #define in d32usbc.inl has been removed so that it cannot cause
11995 substitution of functions of that name in other (untargeted) source files.
11998 1. Modified TCdtPanic enumerations to be compatible with Beech.
12001 1. fix defect DEF039810 - spurious kern::printf in lubbock sound driver
12002 2. Fix defect DEF039991 - EKA2 Lubbock Driver Not Working Correctly.
12005 1. Fix CF card support.
12008 1. Added A3.4.2 "PREQ12 (REQ1752) - Support for NAND flash" increment. Changed rugged
12009 FAT to be used by default, as this is needed by NAND flash.
12010 Techview does not yet boot from NAND flash.
12013 1. A3.4.2 Added support for NAND flash as per PREQ12 (REQ1752) NandFlash on EKA2.
12014 Changes to allow building a NandLoader image and platform specific
12015 RebootDrv (Integrator).
12017 2. Created a new Logic Module directory for Integrator: lmnand. This only builds for ARM4, V4
12018 and 4T. To build a CM920 text shell rom including the NAND media driver do:
12020 rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t tshell
12022 You will still need to uncomment one of the defines in header.iby to be able to use the NAND
12023 flash with a filesystem.
12025 To build a Nandloader rom do:
12027 rom -i arm4 -b udeb -v integrator_cm920 -m lmxx600,lmnand -t nandloader
12029 To build a techview rom do:
12031 rombuild integrator920 lmxx600 lmnand techview
12033 3. Migrated defect DEF039336 Samsung NAND flash used in Zebra project is not in list of
12037 1. Fixed defect DEF037832 - No Reg Context Table for Kernel Threads
12040 1. DEF039906 - RSessionBase::ShareAuto unavailable if __HIDE_IPC_V1__ is not defined on cedar
12043 1. Fixed defect DEF039925 - TArray[0] gives Kern Exec 3
12048 (Made by JonathanM, 31/10/2003)
12051 1. Fixed DEF23042 - Lubbock dies when USB PC is switched off.
12054 1. Fixed defects DEF038933 (sound underrun) and DEF038730 (emulator crash on nt4)
12055 2. Fixed defect DEF039080 - NULL deref when EKA2 emulator loads an executable lacking the .SYMBIAN section
12056 3. Fixed defect DEF038419 - Very short audio clips (eg KeyClick.wav) cannot be heard
12059 1. Fixed defect DEF038740 - Cannot build textshell ROMS withe32\rombuild\rom.bat from DevKit (cedar)
12060 2. API classification work: Split off hal related stuff from U32STD.H into U32HAL.H.
12061 Added Access and Status classification to both files.
12062 3. Add in-source docs to some pure virtual device driver methods.
12063 4. Added macro __SUPPORT_IPC_V1__ to allow EUSER and EKERN to support IPC V1 even
12064 when __HIDE_IPC_V1__ is defined.
12065 5. Fixed defect DEF039330 - Cedar text notifiers aren't compatible with Beech
12066 6. Update in-source documentation for TDblQueLink::Deque()
12067 Fixed defect DEF039326 - The in-source documentation on TDblQueLink::Deque() needs updating
12070 1. Fixed defect DEF038961 - e32\kernel\bootstrap.mke needs to recognise RVCT 2.0.1 armasm
12071 2. Fixed defect DEF038668 - The TArray returned by RPointerArray::Array yields wrong
12072 level of indirection
12073 3. Fixed defect DEF039216 - bootstrap fails to link in the week 40 dev kit (build 3112)
12076 1. Added __ASSERT_COMPILE(x) macro to assert a condition at compile time.
12077 2. Make TTimer::iState and TTimer::iType TUint8's. This saves a word of RAM
12078 per TTimer and also ensures that the iUnion member is 8-byte aligned
12079 which is necessary for RVCT.
12080 3. Added compile time assertions that DThread::iTimer and DTimer::iTimer
12082 4. Change NThread::iAcc0 (XScale CPU only) from an Int64 to an array of two
12083 TUint32's. This avoids some alignment issues with RVCT.
12084 5. Added debug assertions to ensure that a thread's critical section count
12085 never becomes negative.
12086 6. Fix race condition while opening a DMA channel - the iController member
12087 was set after releasing the channel manager fast mutex. Fixed by
12088 requiring DmaChannelMgr::Open() to set the iController and iPslId members
12089 of the returned TDmaChannel object and removing the out-parameters for
12090 these from the function signature.
12091 7. Fix incorrect operation of HW_MAPPING_EXT2 and HW_MAPPING_EXT3 macros in
12092 the 'new new' bootstrap, pointed out in a recent licensee workshop.
12093 8. Add support for VFP context save. This is enabled on ARM1136 Integrator
12095 Also added support for saving additional coprocessor state without
12096 rebuilding the kernel. To support an additional coprocessor the base
12097 port needs to call the following function during Init1() :
12099 Arm::SetCpInfo(TInt aN, const SCpInfo* aInfo)
12101 where aN is the coprocessor number and aInfo points to a structure with
12102 the following members:
12104 TCpHandler iHandler; // handler for context switch
12105 NThread* iThread; // current owning thread, NULL if none
12106 TUint16 iContextSize; // size of context for this coprocessor
12107 TInt8 iCpRemap; // use to remap coprocessor number if >=0
12109 TInt iContextOffset; // offset of context in thread extra context block
12113 1. CR: KRON-5NLDXP -- Modifiable descriptors return constant TPtrC8's when
12114 Mid is called on them. Adds support for 4 functions: LeftTPtr,
12115 RightTPtr, and 2 versions of MidTPtr.
12120 (Made by AndrewJ, 06/10/2003)
12123 1. Implemented Shared Io Buffers.
12124 2. Fixed defect DEF005890 - HAL::Get returns KErrNotSupported
12125 3. Recategorised distribution.policy files in /e32/common as part of the fix for
12126 DEF038275 - Textshell ROM build failures w36 (build 3091) Cedar DevKit
12127 (delivered through the fix branch and caught up later)
12130 1. Allowed pc cards to mount Fat32 volumes as well as Fat12/16
12135 (Made by JonathanM, 24/09/2003)
12137 VERSION 513 ISN'T BINARY COMPATIBLE WITH 512
12140 Fix for DEF036396. UART driver reported completion of transmission
12141 before all data was clocked out of Transmit Shift Register.
12144 1. Added the Thesycon (USBIO.SYS) version of a Win32 command-line USB test program.
12145 It's called 'usbtest', and I put it under /e32test/win32/usbtest/. This program
12146 is the host-side part of a reflector arrangement and can only be used together
12147 with the device-side part T_USB.
12148 2. Fixed defect DEF037542 - "Macro #define missing from rom build files":
12150 REM Define whether or not to include USB client support:
12152 to the file \lubbock\lubbock.oby (currently the only platform in EKA2 to support
12156 1. Fixed defect DEF036844 EKA2 stop-mode debug table missing some constants
12157 2. Changed default debug port on Lubbock to be port 1, in order to support automatic
12159 3. Added support for NITZ to TLocale.
12162 1. Added a reschedule callback to stop-mode debug API (kdebug.dll) to update
12163 NThread user thread context value. Also added a kernel event handler to
12164 implement the stop-mode debug API change flag.
12167 1. New sound driver ldd compatible with Typhoon. DEF037094. + necessary updates to pdds
12170 1. Added channel pause/resume functionality to lubbock's cotulla/dmapsl
12171 so the sound DMA transfers can be stopped reliably.
12172 2. Made corresponding changes to the lubbock sound driver to access the
12173 extension for pause/resume the play channel.
12174 3. Tweaked the record behaviour to match that described in DEF037094
12175 4. Fixed numerous issues with the Lubbock sound driver found during MMF
12176 integration, in addition t_sound now passes!
12179 1. Fixed defect DEF037709: NULL deref when setting a text RProperty to KNullDesC.
12182 1. Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).
12185 1. Change Request DBAR-5RAL4K - Need a way of creating an RMessage from an RMessage2
12186 2. Updated DEF file for EUSER to be BC with EKA1
12187 3. Fixed defect DEF038005 - Defects in MNotifierBase in Beech/Cedar
12191 (Made by JonathanM, 05/08/2003)
12193 VERSION 512 ISN'T BINARY COMPATIBLE WITH 511
12197 1. Implemented per-request max transfer size for DMA framework.
12198 The same size limit was imposed on every channel. It proved to be
12199 inflexible because some DMA-capable peripherals sharing the same DMA
12200 controller may have widely differing limits. From now on, The max
12201 transfer size specified when creating the controller (TDmac) should be
12202 the hardware limit imposed by the controller itself. By default, this
12203 limit is used when fragmenting a request but an alternate limit can
12204 optionally be specified when constructing a DDmaRequest instance.
12205 This change is SC but not BC.
12206 2. Extended interface between DMA framework PIL and PSL so that the PSL
12207 can specify the attributes to use for mapping the hardware chunk used
12208 to store the hardware descriptors. The change is source incompatible.
12209 3. Made DMA framework robust in face of missed interrupts. Without this
12210 fix, the framework goes out of sync if one or more DMA interrupts are
12211 missed and the client is not notified of the completion of one or more
12213 The DFC now checks the request queue for orphaned requests when all
12214 transfers have completed and cleans-up the queue and notifies the
12215 client for any missed completions if necessary. The change necessitated
12216 the addition of a new pure virtual in TDmac (IsIdle) to check the state
12217 of the DMAC. This function must be implemented by the PSL. Also, the
12218 TDmaChannel::IsIdle() function was renamed into IsQueueEmpty() to avoid
12219 confusion. Consequently this change is neither SC nor BC.
12220 4. Added DMA skeleton PSL in template\dma.
12221 5. Small changes following code review.
12223 6. Documented various kernel-side APIs.
12226 1. Add new method CSession2::Disconnect(const RMessage2& aMessage).
12227 This enables a session to intercept Disconnect messages and delay session
12228 deletion until it can perform asyncronous cleanup.
12229 2. Added TFindHandleBase::NextObject(TFullName& aResult,TInt aObjectType)
12230 and changed the 10 implementations of TFindXxxxxxx::Next(TFullName &aResult)
12232 3. Added RHandleBase::OpenByName(const TDesC &aName,TOwnerType aOwnerType,TInt aObjectType)
12233 and changed RXxxxx::Open(const TDesC &aName,,TOwnerType aType) methods to use this.
12234 4. Fix for DEF036520 - "RMessage::Complete doesn't NULL iHandle"
12235 5. Added RThread::StackInfo(TThreadStackInfo& aInfo) which returns information about
12236 a thread's stack. RThread::GetRamSizes() now uses this to get the correct stack size
12237 but still returns zero for the heap size - which cannot be obtained by the kernel on
12239 6. Made EUSER compatible with EKA1 after IPC V2 backport. This is a BC break for EKA2.
12242 1. Simplified client server IPC framework.
12243 Sessions now no longer have a standard user-side handle from the server
12244 to the client, as was always intended for V2 IPC. To support V1 IPC a
12245 new handle type is introduced to refer to the client thread of an IPC
12246 message. This handle is always in the range 0x80000000 to 0x87FFFFFF.
12247 It is calculated by
12249 h = 0x80000000 | ((x>>1)&0x07FF0000) | 0x00008000 | ((x>>2)&0x00007FFF)
12251 where x = offset of kernel side message object from base of kernel heap
12252 chunk (always a multiple of 4). These handles can be used wherever a
12253 standard thread handle can be used. This handle value is returned in the
12254 iClient field of the V1 RMessage object. The handle is duplicated when
12255 a connect message is processed to create a V1 non-sharable CSession
12256 object in order to provide a standard handle with a lifetime equal to
12257 that of the CSession. Note that this means that the CSession::iClient
12258 and RMessage::iClient values are no longer equal, and that it is not
12259 possible to store the RMessage::iClient value and use it after the
12260 message has been completed.
12261 Since there is now no need to manage a handle and cater for its cleanup,
12262 session shares are redundant and so they have been removed.
12263 Kernel side RMessageK objects have been reduced to 13 words in size and
12264 they no longer derive from RMessage2.
12265 Threads keep a count of how many IPC messages they have sent. If a thread
12266 terminates with IPC messages outstanding and extra reference is opened on
12267 the thread which is closed when all outstanding messages have been
12269 Messages which have been delivered but not yet accepted are no longer
12270 discarded on session closure or thread termination. This is done both to
12271 simplify the implementation (since queue iteration is no longer required)
12272 and to make the behaviour more predictable (the old behaviour would be
12273 sensitive to thread priorities, timeslicing etc.)
12275 2. Renamed RSessionBase::Share() to ShareAuto() to prevent ambiguity with
12276 V1 RSessionBase::Share(TAttachMode) function.
12278 3. Added extra overloads to RSessionBase::CreateSession to allow sessions
12279 to be created pre-shared (ie no need to call ShareAuto() to make the
12280 session usable by all threads in the process).
12282 4. Added virtual CServer2::DoConnect(const RMessage2&) which is called when
12283 a connect message is received. This allows connect to be done by another
12284 thread, which might be necessary if real time guarantees are required,
12285 since connect is not a real time service. CSession2::Disconnect() can
12286 be similarly used to process disconnect messages in another thread.
12287 It should be noted that the CServer2::iSessionQ is updated/iterated by
12288 session connect, session disconnect and server deletion operations, so
12289 these should all be done in the same thread unless additional mutex
12290 protection is provided.
12292 5. __xHEAP_TOTAL_RESET now walks the heap and sets the nesting level for
12293 all allocated cells to zero and so lives up to its name.
12295 6. Added virtual TInt DObject::RequestUserHandle(DThread*, TOwnerType)
12296 which is called prior to creating a user handle of the specified type
12297 for the specified thread. This allows kernel objects to control access
12298 to themselves by vetoing the creation of handles from threads or
12299 processes which should not have access.
12300 Currently used by DSession to enforce non-sharability for sessions on
12301 servers which don't support it. Also used by DTimer to make sure only
12302 creating thread can use it.
12304 7. Changed TRealX::operator TInt64() for X86 back to the TInt64-is-class
12307 8. Added handle type ipcmessaged to genexec.pl and execs.txt.
12309 ipcmessaged = any RMessageK in the accepted state on a server in
12310 the current process.
12311 ipcmessage = as ipcmessaged but don't allow disconnect message.
12312 ipcclient = as ipcmessage but refers to message client thread.
12314 9. Fixed crash debugger problem with listing code segments loaded into a
12317 10. Fixed problem with Epoc::RomProcessInfo() - some fields of the returned
12318 structure were left uninitialised.
12320 11. Modified floppy and ATAPI drivers for X86 to flag themselves as
12321 removable media under the new scheme where an extra virtual function on
12322 DPrimaryMediaBase is used to indicate this.
12324 12. Added exported function NKern::CurrentContext() to allow RTOS personality
12325 layers to determined whether a function call is made in the context of
12326 a thread, an interrupt or an IDFC.
12327 Exported some other nanokernel functions which might be required by RTOS
12328 personality layers.
12330 13. Added a basic example personality layer with some test code.
12332 14. Fixed some problems with timed waits resulting from a race condition
12333 between the timer expiry handler (running in DfcThread1) and other code
12334 trying to resolve the wait condition normally, which involves cancelling
12335 the timer. The problem arises if both the thread resolving the wait
12336 condition and the waiting thread have priorities higher than that of
12337 DfcThread1. In this case it is possible that DfcThread1 is preempted
12338 right at the beginning of the timer expiry handler. The timer cancel
12339 will have no effect since the timer state has already been set to idle
12340 and the expiry handler will run after the waiting thread has been
12341 released, has run and blocked again. This potentially causes a
12342 subsequent timed wait to time out too early.
12343 The problem is fixed by adding a new flag to the NThread::iTimer to
12344 indicate definitively that it has been queued. The flag is set with the
12345 nanokernel locked at the same time that the timer is queued. It is
12346 cleared when the wait is resolved normally and the timer is cancelled
12347 and also if the timer expires and the expiry is not spurious.
12348 However the race can now be detected by noticing that the flag is still
12349 set but the timer state is idle. In this case the timer 'cookie' has
12350 bit 0 flipped. The expiry handler can use the fact that bit 0 of the
12351 cookie it was passed does not match the current value of the cookie in
12352 the NThread::iTimer object. In this case the timer expiry is spurious
12353 and no action is taken.
12355 15. Fixed problem where a load fails due to codewarrior leaving a DLL in
12356 the import list even though nothing is actually imported from it.
12358 16. Incorporated a folding table for 8-bit characters into the kernel.
12359 Removed the now-redundant USERSTUB.DLL and STANDALONE.DLL
12361 17. Incorporated the default UK locale settings into the kernel. Removed
12362 E32's version of ELOCL (ELOCL_BASE). Changed Exec::ChangeLocale() so
12363 that passing a NULL code segment handle restores the default locale
12366 18. Added some tracing to example personality layer initialisation.
12367 Fixed a bug in the example personality layer test application.
12369 19. Modified KDebugMask() not to look for a per-thread debug mask if the
12370 current thread is not a Symbian OS thread.
12372 20. Changed all OBY/IBY files to use macro KMAIN instead of MAIN (and
12373 KERNEL_DIR instead of ABI_DIR) when including kernel-side files.
12374 Currently KERNEL_DIR is always the same as ABI_DIR.
12375 KMAIN is the same as MAIN unless the option -x <kernel_abi> is supplied
12376 to ROM.BAT, in which case KMAIN = <kernel_abi>. This allows mixed GCC
12377 and RVCT ROMs to be built.
12378 Modified MAKMAKE so that the ROMFILE option uses MAIN or KMAIN as is
12379 appropriate in the generated IBY files.
12381 21. Added SInt64, SUint64 and SDouble to enable 64-bit data items to be
12382 passes across GCC/EABI boundaries. These classes have 4-byte alignment
12383 in both cases and have conversions/assignments to/from the relevant
12385 Use SInt64 in TSupplyInfoV1 and TMachineInfoV1.
12387 22. Move RAllocator data members back into RAllocator and get rid of
12388 SAllocatorData. Move pure virtual functions from RAllocator into new
12389 base class MAllocator. This is done to ensure that the vptr is always
12390 in the first word and the layout is the same on both GCC and EABI builds.
12391 The previous scheme didn't work since EABI puts the vptr in the first
12392 word even if there's a base class with no virtual functions - it offsets
12393 the base class in this case.
12395 23. Modify halcfg.pl to deal with /* ... */ comments as well as // comments.
12397 24. Modified the way binary searches are done in RPointerArray and RArray.
12398 A new mode parameter is passed in to the search routine which takes one
12399 of the following values:
12400 EArrayFindMode_First - find the first matching entry
12401 EArrayFindMode_Last - find the first entry exceeding the specified one
12402 index = array count is returned if no such entry exists
12403 EArrayFindMode_Any - find any matching entry (allows early termination, =old behaviour)
12405 For functions which have only a return value and no out-parameter for
12406 the index, the return value equals the index (always >=0) if a match
12407 was found and equals KErrNotFound if no match was found.
12409 For functions which have both a return value and an out-parameter for
12410 the index, the return value equals KErrNone if a match was found and
12411 KErrNotFound if no match was found. The index equals the value described
12412 above if a match was found and equals the index of the first entry
12413 exceeding the specified one if no match was found (=array count if no
12414 such entry exists).
12416 New exported functions have been added to allow searching with a specified
12417 mode. The InsertAllowingRepeats() type functions now use a LAST mode
12418 binary search to locate the insertion point rather than an ANY mode
12419 search followed by a sequential search. All old exports are still present
12420 for BC reasons and default the mode to ANY.
12422 This modification was prompted by licensee incident report INC036185.
12424 25. Implemented POSIX-style condition variables (RCondVar) which are used in
12425 association with RMutex to implement arbitrary wait conditions.
12428 1. Added in-source documentation to USB client driver (PIL + LDD).
12429 2. Many smaller code changes + fixes to USB client driver (PIL + LDD + Cotulla PSL).
12430 3. Fixed defect DEF036368 - "USB base drivers not in ROM":
12431 Updated file /lubbock/rom/base_lubbock.iby to include USB PDD + LDD.
12434 1. Propagated DEF023302 - Invalid test in HBufC8/16::__DbgTestInvariant():
12435 HBufC, TPtr and TPtrC __DbgTestInvariant functions now match
12436 the actual class invariants.
12437 2. Propagated defect DEF021977 - RNotifier can start a notifier that doesn't exist
12438 3. Added a new debug port KNullDebugPort=-2 which supresses any output to the com
12439 ports. It can be set in the .xby files with the debugport keyword or with the
12440 debugport eshell command. Please note that debugport eshell command only takes
12441 unsigned values, so you can set the port by using "debugport 0xfffffffe"
12444 1. Various changes to SD Card Controller and media drivers to conform to compliance tests.
12445 2. Added support for SD Card Protected Area access using device key.
12446 3. Added support for cards that don't support MB Write or Erase command class (like ROM Cards).
12447 4. Changed MMC media driver to take advantage of faster multi-block erase during format.
12448 5. Re-ordered of SD and CPRM exports to make compatable with MMC library.
12449 6. Added support for EABI builds of SD and CPRM versions of the controller.
12450 7. Propogated DEF018291 MMC initialization is unnecessarily slow
12451 8. Propogated DEF022315 SDCard: RAM MKB isn't supported
12452 9. Propogated DEF022316 SDCard: The MKB mode is not set when issueing a secure write command.
12453 10. Propogated DEF022318 SDCard: MKB mode setting problem for first sector after end of root dir
12457 "USBMAN panics when trying to SetInterface with iString = NULL"
12460 1. Fixed DEF035567 "TimeW - Can't set an Alarm". Added Lubbock sound driver
12461 to techview oby file.
12462 2. Fix for occasional writing off end of LFFS mapped virtual space on
12464 3. Fix LBA support in Lubbock specific PC card driver.
12467 1. Fixed DEF036660 "Cedar emulator panic on restart in codewarrior debugger".
12470 1. Added Integrator Bootloader. This was made generic and independent of what processor
12471 is being used, and uses MMC to download images to RAM or Flash (or serial download).
12475 (Made by JonathanM, 19/05/2003)
12477 0. JonathanM and ChrisM
12478 Changes to make EKA2 compatible with Symbian OS version 7...
12479 1. Restored TInt64 as a class.
12480 2. Added dummy exports to EUSER for functions which aren't unsupported on EKA2.
12481 The exports panic with "Deprecated EUSER xxx" where xxx is the EUSER eport
12483 3. IPC classes restored to their v7 definitions (RMessage, RMessagePtr, RServer,
12484 CServer, CSession and CSharableSession).
12485 Secure API versions of these are now seperate classes (RMessage2, RMessagePtr2,
12486 RServer2, CServer2, CSession2)
12487 4. Renamed User::Heap() to User::Allocator() and provided inline version of User::Heap()
12488 which uses User::Allocator().
12489 5. Made UserHal::SwitchOff() behave as it does on 7.0.
12490 (This is needed until new domain manager is integrated into the rest of the OS.)
12491 6. Many other changes and tidy-ups
12494 1. Removed barrier for effective post-mortem debug by removing
12495 __NORETURN__ and __NORETURN_TERMINATOR__ directives from selected functions.
12496 (Panic, Fault, and Exit functions throughout user and kernel code effected.)
12497 2. Added RDebug::Print trace redirection to DebugEventHandler.
12498 3. Added Debugger::Version() and DDebugEventHandler::Enabled() functions
12501 1. Code in /e32/memmodel/epoc/mmubase/... is now common to both moving and
12502 multiple memory models. This deals with allocation and freeing of page
12503 tables, initialisation of some memory management-related kernel data
12504 structures, management of hardware chunks shadow pages.
12506 2. Moving model now maintains information relating to the use of each
12507 physical RAM page in the same way as the multiple memory model. This
12508 information will be used for mobile SDRAM defragmentation.
12510 3. IO mappings are now made in two separate address regions. Mappings made
12511 by the bootstrap go in the "Primary IO Mappings" area, which is a 16Mb
12512 address region starting at 63000000/C3000000 on the moving/multiple
12513 model respectively. These mappings are never altered by the kernel.
12514 Mappings made by variants/extensions/drivers use HW chunks and these
12515 are allocated addresses in the kernel section. There is no separate
12516 hardware address section.
12518 4. Hardware chunks will now use 64K pages and 1M sections if possible
12519 rather than using 4K pages for the entire mapping. The linear address
12520 used is selected to allow the use of the largest possible mapping size
12521 for the size of the region to be mapped.
12522 Additionally, the rationalised bootstrap code allows the use of 64K
12523 and 1M mappings in the primary IO area.
12525 5. Removed the AddressInfo and RealTimeInfo functions from all ASSPs and
12526 variants. The RealTimeInfo now always uses the standard values of 32
12527 pages and 512 bytes. The information returned by AddressInfo consisted
12528 of two parts - the home section/hw section info and the cache flush/RAM
12529 drive info. The changes to the way HW chunk addresses are allocated
12530 remove the need for the first part. The second part was used only in the
12531 direct memory model; the required information is now passed in the super
12532 page (since it is ultimately determined by the bootstrap).
12534 6. The way RAM is mapped in the direct memory model on platforms with an MMU
12535 has been changed to avoid problems with cached RAM being used for I/O.
12536 All RAM is mapped in one contiguous block starting at KernelDataAddress-8K
12537 using a cached mapping. 'User' RAM is also mapped at its physical address
12538 using an uncached mapping. Epoc::AllocPhysicalRAM returns a physical
12539 address, which will also be the address at which uncached accesses occur.
12540 The allocated range is also purged from the cache at the end of
12541 Epoc::AllocPhysicalRAM.
12543 7. Two new fields iKernelLimit and iRamBase have been added to the super
12544 page. These are used by the direct memory model only. iRamBase is the
12545 linear address of the base of the cached RAM mapping. iKernelLimit is
12546 the linear address of the base of the user-accessible RAM, which is also
12547 the base of the RAM drive.
12549 8. The organisation of kernel mappings in the moving and multiple memory
12550 models has been changed. The kernel .data/.bss sections, the initial
12551 thread stack and the initial kernel heap are now all mapped in one
12552 contiguous block starting at TRomHeader::iKernDataAddress. This block
12553 becomes the SvHeap chunk. The SvData chunk no longer exists.
12554 The rationalised bootstrap code uses 64K mappings for this initial
12555 kernel data area, reducing the number of TLB misses and improving
12556 performance. The initial kernel data area contains very frequently used
12557 data such as the scheduler and interrupt stacks.
12559 9. TRomHeader::iKernStackAddress no longer exists. It has been replaced with
12560 TRomHeader::iKernelLimit, which is the limit of prereserved addresses
12561 in the kernel section. On the multiple memory model this is simply the
12562 top of the kernel heap rounded up to the next 1Mb boundary. On the
12563 moving model it also includes address space for fixed process data
12566 10. Split the super page into two parts. The base class SSuperPageBase now
12567 contains all the values shared between the kernel and the bootstrap.
12568 This is defined in a separate header file /e32/include/kernel/kernboot.h
12569 which defines the interface between bootstrap and kernel.
12571 11. Moved some constant definitions from
12572 /e32/include/memmodel/epoc/moving/arm/arm_mem.h
12573 /e32/include/memmodel/epoc/multiple/arm/arm_mem.h
12574 /e32/include/memmodel/epoc/multiple/x86/x86_mem.h
12576 into mmboot.h files in the same directory. This enables the files to be
12577 shared with bootstrap code.
12579 12. Rationalised all bootstrap code in the system.
12580 The epoc.inc files have been removed. Instead, the following files are
12581 automatically translated to assembler format (using /e32toolp/e32util/h2inc.pl)
12582 which could be either ARMASM or GNU AS for ARM platforms or Turbo Assembler
12585 /e32/include/e32rom.h - ROM header and file system layout
12586 /e32/include/kernel/kernboot.h - Interface between bootstrap and kernel
12587 /e32/include/memmodel/epoc/<model>/<cpu>/mmboot.h - (not on direct model)
12588 Memory model dependent values (mainly linear addresses).
12590 The file /e32/include/kernel/arm/bootdefs.h is used on ARM CPUs to
12591 provide certain definitions internal to the bootstrap.
12593 The following assembler include files are also provided (for ARM CPUs
12596 /e32/include/kernel/arm/bootmacro.inc - debug and general use macros
12597 /e32/include/kernel/arm/bootcpu.inc - CPU/MMU specific definitions and
12598 macros for describing I/O and memory mappings.
12600 On ARM platforms three generic source files are used:
12602 /e32/kernel/arm/bootmain.s - The top level boot code, from reset vector
12603 to 'jump to kernel'.
12604 /e32/kernel/arm/bootutils.s - Utility subroutines, including memory copy
12605 and fill, MMU management routines, RAM groping, management of RAM
12606 bank lists, memory allocation, and debug stuff.
12608 /e32/kernel/arm/bootcpu.s - CPU specific code.
12610 These files are combined with (usually) one platform specific file which
12611 does hardware initialisation and provides descriptions of the RAM, ROM
12612 and hardware present on the device. Also required is a platform specific
12613 configuration header file (config.inc) which specifies the CPU to build
12614 for and some other configuration options, and a platform specific
12615 makefile (uses GNU make). The latter lists any platform specific files,
12616 specifies the relative path to E32 and specifies the memory model. It
12617 then includes the generic makefile /e32/kernel/bootstrap.mke.
12619 The generic makefile will find all the .s, .h and .inc files specified,
12620 translate .h files to .inc as required, assemble and link. RVCT, ARM SDT
12621 2.11 and GNU AS assemblers are supported. If no ARMASM can be found,
12622 include and source files are automatically translated to GNU AS syntax
12623 (using /e32toolp/e32util/armasm2as.pl) and GNU as/link are used.
12625 13. Moved all our extension makefiles over to GNU make, except for
12626 x86pc/pcboot.mke, since the X86 port needs MSVC anyway.
12628 14. Don't bother saving SPSR on the stack during the IRQ preamble.
12630 15. Modified all assembler code to preserve 8 byte stack alignment where it
12631 calls back to C++ code. Functions which don't call back to C++ have
12632 not been modified. Also TScheduler::Reschedule() does not keep the
12633 stack aligned, since no C++ code is called - the memory model hook must
12634 be in assembler since it uses a nonstandard calling convention. The only
12635 place where C++ may be called from the scheduler is in IDFCs; the stack
12636 is aligned at that point.
12638 16. Changed all MOV PC, Rn instructions in the kernel and drivers to BX Rn.
12639 This means that the kernel and/or drivers could be built as thumb, but
12640 only on architecture 5 devices. LDR PC, ... and LDM Rn, {...,PC} have
12641 not been modified to use BX.
12642 Building the kernel as thumb would not be practical with GCC anyway due
12643 to the volume of assembler code in the kernel and the fact that GCC
12644 doesn't cope well with mixed ARM/THUMB code.
12646 17. Fixes to prevent emulator occasionally locking up during process exit
12647 due to the ExitProcess being suspended by emulator scheduling but never
12648 being resumed since the rescheduler thread has been killed off.
12650 18. Implemented User::FreeLogicalDevice and User::FreePhysicalDevice.
12651 The code segments are only unloaded when the idle thread runs to prevent
12652 obscure lifetime issues.
12654 19. Added assertions to check that kernel-side mutexes are acquired in the
12655 correct order to prevent deadlock. The assertions are active in debug
12656 builds only. These assertions require:
12657 i. Extra member data in DThread. This is present in both debug and
12658 release builds since DThread is derived from.
12659 ii. Extra member data in DMutex. This is present only in debug builds
12660 since DMutex is not derived from and the extra data is at the end
12662 iii.All places where a kernel side mutex is created must supply an extra
12663 parameter which indicates the position of the mutex in the global
12664 ordering. The values used for the standard kernel mutexes are
12667 20. Fixed hardcoded offset bug in assembler coded ExecHandler::MessageComplete
12668 which has been there since the original platform security changes.
12671 1. Adding USB 1.1 client support to EKA2. This comprises of the software
12672 controller USBCC.DLL (PDD as a kernel extension), which in turn internally
12673 consists of PSL and PIL (Platform-Specific/Independent Layer, respectively),
12674 and the LDD EUSBC.LDD.
12675 The PSL submitted here is for Lubbock/Cotulla only. The PDD lives in
12676 /e32/drivers/usbcc (PIL) and /cotulla (PSL), the LDD in /e32/drivers/usbc.
12679 1. Fixed defect INC022668 - "Modifier example crashes the emulator"
12683 DEBUG API CHANGES: Some of the changes are source-incompatible with the previous
12686 1. Unified all debugging hooks into a single extensible scheme (DKernelEventHandler).
12687 It supports hardware exceptions, user-side software exceptions, ressource
12688 tracking (new thread, ...) and user trace redirection.
12690 2. Fixed bugs in resource tracking hooks: The "main thread creation" event was sent
12691 twice and creation of the data/bss/stack chunk was sent before the corresponding
12692 process creation event. Fixing it required semantic changes to EEventAddProcess,
12693 EEventRemoveProcess and EEventRemoveThread.
12695 3. Added EEventKillThread which is called whenever a thread dies in the context
12696 of this thread while all its resources are still available. This event should
12697 be used in preference to EEventRemoveThread.
12699 4. Extended NKern::ThreadGetUserContext(). It can now be called from the current
12700 thread and behaves correctly when called on a dead thread.
12702 5. Added NKern::ThreadSetUserContext().
12704 6. Documented various debug-related APIs.
12708 7. Added elocl.dll and ektran.dll to the obey files for full ROMs. They
12709 were previously included by romkit\...\base.hby. The latter has been
12712 8. Fixed bug in ATA media driver: A trace statement was referring to an
12713 obsolete hardcoded I/O address (0x58xxxxxx / old memory map). Removed,
12714 to avoid problems in the future, some commented out trace statements in
12715 ATA media driver and serial LDD suffering from the same problem.
12717 9. Fixed $$$$ bug in EUSER TStringToDateTime::GetSeparatorToken().
12722 (Made by ChrisM, 18/03/2003)
12725 1. Made major changes to Lubbock bootstrap - previously looked like it was
12726 copied from SA1110 bootstrap and contained many errors.
12727 CPU should now run at 199MHz, SDRAM at 99.5MHz.
12728 Everything should now be cached appropriately.
12730 2. Made some other kernel changes for XSCALE to work round known problems
12731 with the PXA250 device (Cotulla) - Errata 14, 21, 96 in specification
12734 3. Some fixes for ARM v6.
12736 4. Fix bug in ARM assembler coded IPC stuff.
12738 5. Added a special instruction (TST PC, #0) to the beginning of all EKA2
12739 entry points. This is detected by PETRAN/ELFTRAN and the file marked as
12740 having an EKA2 style entry point. The ELF-derived and JFormat flags have
12741 been generalised into header format, import format and ABI fields.
12742 An entry point type field has been added to distinguish EKA1 and EKA2
12745 6. Fix problem getting filename of a dead process.
12747 7. Fix Series5mx and some other bootstraps - the RVCT mods destroyed
12748 position-independence.
12750 8. Add 'nowrapper' keyword to ROMBUILD. If specified in OBY file it causes
12751 the 256 byte wrapper to be omitted. Added the keyword to our obey files
12754 9. Added --kerneltrace (-k) option to ROMBUILD to override kernel trace mask
12755 from the command line.
12757 10. Added RMessagePtr::ClientDataCaging() to return the data caging attribute
12758 of a client without recourse to opening handles (which could fail).
12760 11. Removed the Cirrus Logic 7211 port.
12762 12. Update mainline base_*.iby files to take account of the new name
12766 1. Moved the definition of the Digitiser area and offset to Display area from
12767 the Variant to the Digitiser driver. Those parameters are now returned by
12768 a new function: DDigitiser::DigitiserInfo.
12769 2. Extended the EHalGroupDigitiser group of functions with the addition of another
12770 enumeration: EDigitiserHalXYInfo. This allow obtaining the info on the Digitiser
12771 through calling Kern:HalFunction.
12772 3. Removed an annoying dependency on the LCD extension having to start before the
12773 Digitiser extension which was caused by the Digitiser::DoCreate function
12774 requesting the Machine Info which reads the LCD info off the LCD driver.
12775 4. Changed Assabet Ethernet PDD to fix a bug which resulted on when setting a new
12776 MAC address having to restart the driver in order for this to take effect. Also
12777 updated the WINS HowTo document. (All of the above under changelist 235561 and
12779 5. Changed EXSTART to start the Secondary process from a DFC. This guarantees the
12780 File Server is always started after all the extensions have been started,
12781 regardless of their relative ordering on the .IBY file. (Changelist 236966)
12782 6. Removed hal\hal directory and updated hal\bld.inf (these excrecences were left
12783 from a previous change in the build system).
12784 7. Enhancements to the HAL: provided implementations for a few attributes (EAccessoryPower,
12785 EPowerBackup, EKeyboardState, EKeyboard, EKeyboardDeviceKeys, EKeyboardAppKeys,
12786 EKeyboardClick, EKeyboardClickVolumeMax, EBacklight, EPen, EPenX, EPenY, EPenState,
12787 EPenClick, EPenClickVolumeMax, ELEDs, ESwitches, EMouse, EMouseX, EMouseY and EMouseButtons).
12788 EKeyboardState and EPenState are used by UIKLAF (as in Hurricane).
12789 Modified Assabet Variant and Digitiser and Keyboard drivers accordingly (also SOC drivers).
12791 8. Rationalised Machine Info: due to changes above this is no longer held in the Variant,
12792 instead Keyboard, Display and DIgitiser related info is held on those extensions.
12793 Removed Variant unrelated info from all Variants. Modified UserHal::MachineInfo to assemble
12794 a Machine Info buffer pulling the info from the relevant sources. Changelists 242849 and
12796 9. Changes to Integrator Port: separated the Logic Module from the Variant. The existing
12797 (and any future) Logic Module directory builds independently from both ASSP and Variant.
12798 It also builds a special Kernel Extension (Variant Extension) which is used to extend
12799 to extend the Variant. The Variant Extension registers with the Variant at boot time and
12800 it is called by the Variant whenever it executes a function for which the Variant Extension
12801 registered an interest.
12802 10. Modified rom.bat: the decision to include Logic module(s) binaries in ROM is only done at
12803 ROM building time. Introduced a new option (--modules or -m) to allow specifying a list of
12804 Logic modules directory names separated by commas. The Logic Modules export their own .iby
12806 As an example, to build a text shell ARM4/UDEB Integrator ROM comprising core module CMXXX
12807 and Logic Modules LMYYY and LMZZZ type:
12809 rom -i arm4 -b udeb -v integrator_cmxxx -m lmyyy,lmzzz -t tshell
12811 The ROM image generated will be called:
12813 INTEGRATOR_CMXXX_LMYYY_LMZZZARM4D.IMG
12814 11. Also modified the way Mainline Integrator ROMS are built. Using the above example you would
12817 rombuild integratorxxx lmyyy lmzzz techview
12818 Changed the Base overnight build scripts accordingly.
12819 (Paragraphs 9. 10 and 11. under changelist 246862).
12820 12. Implemented CM920 Bootstrap side of Kern::Restart. Building Integrator-specific tests now
12821 export autoexec.bat as required.
12824 1. Added assertions in Kern::MutexWait() and Kern::MutexSignal() to ensure
12825 calling thread is in critical section.
12826 2. Migrated fix for Hurricane defect INC017140 - CAsyncOneShot does not
12827 check return code from RThread::Duplicate: Panic if the duplication
12828 fails as the proper fix (adding a 2nd-phase c'tor and moving the duplicate
12829 operation there) implies breaking BC.
12830 3. Fixed another bug in CAsyncOneShot: request status was not set to pending
12831 before making the AO active.
12832 4. Some changes to DMA framework:
12833 a. TDmac and TDmaChannel were wrongly deriving from DBase. They are
12834 now standalone classes which must be stored in the BSS section.
12835 b. Added TDmaChannel::Extension() and TDmaChannel::StaticExtension() so
12836 PSL to extend generic API. The former is for channel-specific
12837 operations, the latter for global ones.
12838 c. Updated comments.
12841 1. Fix for DEF016645 - "Sound driver returns incorect length of data when recording"
12842 2. Make Domain component use __SECURE_API__
12843 3. Integrate lost fix for defect BAD-58CDM4 - "Locale change has no effect on
12844 contact filtering."
12845 4. Fixed bug in User::Panic where it would give USER 23 if the category name was too long.
12848 1. 8bit kernel : REQ415 : "Kernel objects shall use narrow names (ie 8bit non-Unicode).
12849 The user-side APIs that reference kernel objects shall retain 16bit APIs, but shall
12850 only accept ASCII names. The object names shall be validates so each name only
12851 contains characters in the range 0x20 to 0x7f."
12852 16 bit descriptors have been removed from the kernel.
12853 2. Fix for DEF000034/MAT-5AJCZ9 (Propagated) RArray's binary search code is heretical
12854 3. Fix for DEF021465 - Mistaken construction of a TBuf<> by assignment from a TInt
12857 1. Fix for DEF015625 - "USB cable detection doesn't work on Lubbock"
12858 2. Fix for DEF016388 - "Lubbock - t_video/t_shal e32test failures - t_video does not blank screen"
12859 3. Add Lubbock sound driver.
12860 4. Increased LFFS size to 29MB.
12861 5. Add Lubbock bootloader and generic bootloader display driver.
12864 1. Implemented CRJDOD-5J8MQV: "Factor RTest and Console::NewL() out of EUSER"
12865 Console::NewL() now creates a proxy console class which dynamically loads
12866 ECons.dll to create the real console implementation, removing the static
12867 linkage from EUSer to ECons. On the emulator it attempts to use both ECons
12868 and EConseik to support both text-shell and GUI emulators. It is also now
12869 possible to build GUI ROMs without ECons.dll.
12872 1. Implemented new media driver for Rofs on wins, this uses dirve J:
12873 2. Added second partition to the assabet lffs driver for Rofs need to
12874 remove the MACRO ROFS_PARTITION from the mmp file to run the original
12875 configuration of one partition. The required that the allocation of
12876 drives per CF-card slot be reduced by one.
12877 3. Added configurable partition function to the SOC lffs driver, then
12878 enabled the functionality to the integrator specific driver configuration.
12879 This involoved adding an lffs_config.h file to specify the partitions
12882 1. Added wins sound driver
12883 2. Fixed t_env to prevent it leaving a t_env_child process
12884 3. Added code to start eshell automatically on emulator if started with epoc and text window server.
12885 4. Fixed sound driver ldd causes panic if emulator switched off whilst playing
12886 5. Fixed long debug print output can crash emulator problem
12887 6. Optimised debug print to use less stack space
12891 Added support for multiple Peripheral Bus Controllers:
12892 1. Instead of each Peripheral Bus Controller having a pre-defined set of local drives that it registers
12893 for, each now calls down to the variant DLL for the list of drives for that platform prior to
12894 local drive registration. Hence the function: TMMCardControllerInterface::IsMMCStack(TInt aSocket)
12895 has been renamed and extended to:-
12896 TBool TMMCardControllerInterface::IsMMCSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
12897 Similarly, the function TPcCardControllerInterface::IsPcCardSocket(TInt aSocket)
12898 has been extended to:-
12899 TBool TPcCardControllerInterface::IsPcCardSocket(TInt aSocket,SMediaDeviceInfo& aMediaDeviceInfo).
12900 Local drive numbers are supplied via the new struct: SMediaDeviceInfo which also contains, total drives
12901 to register, total media objects to register, Media type and device name.
12902 Each variant now contains the header file VARIANTMEDIADEF.H which holds the complete set of media
12903 definitions for that platform.
12904 2. In addition, the local drive allocation for Media Drivers that register for local drives should also
12905 be platform specific rather than pre-defined. Unlike, Peripheral Bus Controllers, these don't have a
12906 separate PBUS variant DLL.
12907 Most, such as the LFFS and ROFS Media Drivers are already built from the variant directory since
12908 they contain platform specific code. These have been modified to take the drive registration info.
12909 from the variantmediadef.h file for that variant.
12910 The IRAM Media Driver (MEDINT.PDD) however was built 'generically' from the kernel directory. This has
12911 now been modified so it also builds from the variant directory. Again, this takes drive registration
12912 info. from the variantmediadef.h file for that variant. To build this requires the definition of the
12913 include path for this media info file. This must be done by defining 'VariantMediaDefIncludePath' in the
12914 variant.mmh file for the platform.
12915 3. Since various Media Drivers only open for specific values of the media device type enum: TMediaDevice,
12916 these have been pre-defined as follows (but can still be re-used on platforms which don't support the
12917 standard media type):-
12918 EFixedMedia0 - IRAM
12919 EFixedMedia1 - LFFS
12920 EFixedMedia2 - ROFS
12921 ERemovableMedia0 - MMC
12922 ERemovableMedia1 - PC-CARD.
12923 Note that it is no longer possible to use the removable media type to determine the socket number.
12924 (For example PC Card devices on different sockets now all have media type 'ERemovableMedia1). Some
12925 user-side code was relying on assigment of media types to determine the socket number - using
12926 RLocalDrive::MediaDevice(). A new function RLocalDrive::IsRemovable(TInt& aSocketNum) has been added
12927 to retrieve the socket number for removable devices.
12928 4. Due to the differing use of TMediaDevice values described above, the media driver constructor - exported
12929 from ELOCD has been changed from
12930 DMediaDriver(TMediaDevice aDevice)
12932 DMediaDriver(TInt aMediaId).
12933 5. Added MMC support for Lubbock. (Since this already supports PC-Card - this is now an example of a platform
12934 with multiple PBus Controllers).
12938 (Made by JonathanM, 14/01/2003)
12941 1. DEF001740 - (Propagated) PBUS power saving is bad for power saving.
12942 Disable timer tick when PSU off.
12945 1. Changes for REQ 358.2 "CPU-specific builds" and
12946 REQ358.3 "Split CPU- and ASSP-specific configuration"...
12948 Base code no longer builds for ASSP specific targets (e.g. MISA or MI920.)
12949 instead they build for the ABI they use (e.g. ARM4).
12951 Non-generic code is specified only in the relevant Variant's BLD.INF file.
12952 E.g. in Assabet the kernel's MMP file is added as
12954 ..\e32\kernel\ekern
12956 and the SA1100 ASSP is included by
12958 #include "..\sa1100\sa1100.inf"
12960 In order that the same source code and MMP files can produce binaries specific
12961 to a given Variant, each Variant must supply a file called 'variant.mmh' which
12962 contains information of CPU type, Memory Model and a macro to generate a
12963 distinguishing name: E.g. for Assabet this is...
12967 #define VariantTarget(name,ext) _assabet_##name##.##ext
12969 MMP files include this header file by the line '#include <variant.mmh>' and
12970 will use the VaraintTarget macro in specifying arguments for things like TARGET
12971 and LIBRARY. The #include search path for the build tools has been extended to
12972 additionally look in the directory which contains the projects BLD.INF file.
12973 (So this is where variant.mmh should live.)
12975 Because the binaries for different Variants can now have a unique name prefix
12976 it is no longer necessary to use cryptic two character Variant codes in their
12977 names. Also, now we no longer have 8.3 filenaming restrictions the opportunity
12978 has been taken to rename all device drivers and kernel extensions. These now
12979 have the same name as they have in ROM. E.g. the Assabet serial driver is now
12980 build as '_assabet_euart.pdd' rather than 'datxab.pdd'.
12984 Test drivers and other Variant specific test code now lives in the Variant
12985 under the 'test' directory. To avoid having to change source code, the
12986 'variant.mmh' for the test code defines relevant ASSP macros like '__MISA__'
12990 IBY files live in their respective variant under the 'rom' directory.
12994 a. Variant name must be specified in full.
12995 b. The ASSP is no longer needed or allowed.
12996 c. The ABI to use must be specified with the --inst= option.
12998 e.g. To build assabet use
13000 rom --v=assabet --inst=arm4 --build=udeb
13002 or Integrator with ARM920 and the logic module
13004 rom --v=integrator_lmxx600_cm920 --inst=arm4 --build=udeb
13006 2. Debugger suport changes. Added APIs to hook the Scheduler and enable a callback
13007 function to be called on every context switch.
13009 NKern::SchedulerHooks(TLinAddr& aStart, TLinAddr& aEnd);
13010 NKern::InsertSchedulerHooks();
13011 NKern::RemoveSchedulerHooks();
13012 NKern::SetRescheduleCallback(TRescheduleCallback aCallback);
13013 static const TArmContextElement** NThread::UserContextTables();
13014 TInt NThread::GetUserContextType();
13016 3. Removed unused DThread::CallUserFunction(TAny* aFunction, TAny* a1, TAny* a2);
13017 Changed arguments to NKern::ThreadGetUserContext();
13018 4. Modified TDesXx::AppendFormatList to cope with 8byte alignment of arguments.
13019 5. Changes to ensure that on ARM CPUs a threads stack pointer is 8 byte aligned
13020 (to support EABI). This was done by making the thread parameter block info
13021 have a size which is a multiple of 8 bytes.
13022 6. Fix for DEF012058 "Missing pieces in e32/rombuild datacaging implementation"
13023 (Moved all base binaries to live in \System\Bin\)
13024 7. Fixed bug in TDes8::Num(TReal aVal,const TRealFormat &aFormat) and friends.
13025 When using KRealFormatFixed with a number which had a negative exponent, the
13026 stack could get corrupted when the number was rounded.
13027 8. Fix for defect DEF015827 - "OOM testing works incorrectly for ReAlloc"
13028 9. Modify Lubbock bootstraps to fix some MMU config bugs.
13029 10. Fixed ARM/Thumb interworking problems with huffman coding CIA file.
13030 11. Fixed Kern::MachinePowerStatus() so that it copes if there isn't a power model.
13031 12. Find ARM/Thumb interworking bug in CActiveScheduler::Run.
13032 13. Moved ESHELL.EXE and D_EXC.EXE into System/Bin.
13033 14. Fixed ARM/Thumb interworking problem with DLL entry points.
13036 1. Added 'LogTimeStamp' property to the emulator to control whether the elapsed
13037 time is included in the Log file (epocwind.out). It defaults to '1', a value
13038 of '0' in the ini file will disable the timestamp - useful for comparing test
13039 logs from different builds.
13040 2. Implemented most of REQ817: Added CActiveSchedulerWait class from Typhoon, and
13041 removed most of the redundant CActiveScheduler interface. See in-source doc for
13042 details. Note that:
13043 * Level() is deprecated, prefer to use the public StackDepth() member
13044 * Leaving from CActive::RunError() or CActiveScheduler::Error() will be
13045 considered a fatal error.
13046 Instead use CActiveScheduler::Halt() to exit the current level and force
13047 Start() to leave. When all such illegal uses are changed this will be
13048 enforced by making debug builds panic if this deprecated use is encountered.
13049 Release builds will ignore the leave but this will result in memory corruption
13050 at some later time.
13051 * Mixed use of CActiveScheduler::Start() and CActiveSchedulerWait::Start() is
13052 not recommended, though it works in some fashion
13053 * CActiveSchduler::RunIfReady() is still present but will be removed shortly.
13054 3. Bootstrap build rationalisation and RVCT2.0 support:
13055 * Build details now controlled by e32/kernel/bootstrap.mke which is exported
13056 to \epoc32\include\kernel\. It handles the old/new toolchain issues and
13057 currently supports the v2.11 ARM tools and the RVCT2.0 ones.
13058 * Each bootstrap nmake file has to define a few macros and then include the
13059 standard one. See /lubbock/bootstrap/bootrom.mke and
13060 /bootldr/bootstrap/assabet/bootroma1.mke for examples
13061 * Intermediate files are now all put into a build directory in /epoc32/build/...
13062 4. Fixed the SMP race condition in the Win32 nano-kernel. This allows the
13063 emulator to run on multi-CPU PCs without having to manipulate the
13064 CPU affinity for the process. Note that this does not allow the emulator
13065 to fully utilise both CPUs as the nano-kernel scheduler only lets a single
13066 thread run at a time.
13068 For flexibility there is now an emulator property 'HostCPU' that can
13069 control the CPU affinity of the emulator.
13071 * if not defined or has the value -2, the emulator will run on just one CPU
13072 on the PC (the first one available).
13073 * if it has the value -1, the emulator will use all the CPUs available
13074 * if it specifies an existing processor (0..N-1 for a N-CPU machine), the
13075 emulator will run on just the identified processor;
13076 5. Added new versions of operator new, both global and CBase:
13078 operator new(TUint aSize, TLeave, aExtraSize)
13080 This essentially provides the leaving version of the 'extra-size' variant.
13081 6. Added __THROW() and __NO_THROW macros to e32def.h to allow operator new to
13082 have a throw specification (for the RVCT compiler). This both removes a
13083 warning and informs the compiler whether the operator returns NULL in OOM
13084 or 'throws' an exception (Leaves as far as we are concerned).
13087 1. Added missing HAL attributes to T_NEWHAL.
13088 2. Introduced debug event notification API (DDebugEventHandlerBase).
13089 3. Make DProcess instances global only after successful load to avoid
13090 scenario where rogue thread opens a handle on process being loaded and kills
13091 it, resulting in a system crash when ExecHandler::ProcessLoad is called.
13092 4. Removed DProcess::AddFindChunk, a remnant of EKA1.
13093 5. Fixed DEF012187 - dmsrv.exe with AllFiles: domainsrv.exe has got only
13095 6. Commented some kernel-side APIs.
13096 7. Removed support for "%ld" and "%lu" from Kern::AppendFormat() because it
13097 didn't work and was very confusing as it truncated results to 32 bits. Now
13098 an attempt to use %ld (resp. %lu) will print 'd' (resp. 'u'). Use "%lx" to
13099 print 64-bit integers.
13100 8. Added DObjectCon::Lock() to be able to test "container lock held"-kind
13104 1. Fixed T_NEWHAL to work correctly with attribs which require parameters and return
13106 2. Added paramter passing code for process creation. CR
13107 3. Added message queues and property res to crash debugger
13110 1. Added CF card support for Lubbock (uses Lubbock specific ATA driver).
13111 2. Added LFFS support to Lubbock.
13112 3. Various changes to support SINGLE build for CF bootloader.
13113 4. Add ethernet driver initialisation.
13116 1. Included support for ARM926J in the Kernel (but do not release the corresponding
13117 variant yet as this needs to wait for the Integrator build rationalisation)
13118 2. Integrator Port Re-org (Step 1):
13119 - Logic Module identifies its position on the stack and defines its Base
13120 Address, Interrupt etc based on it,
13121 3. Changes to allow Core Module-only versions of Integrator to use the VT100
13122 display emulation by default
13123 4. Submitted changes to allow building Ethernet LDD and Assabet PDD, and corrected
13124 problems with the test program
13127 1. Implemented stop-mode debug API tables. Kernel extension KDEBUG.DLL included in
13128 roms guarded with STOP_MODE_DEBUGING.
13131 1. Fixed race condition between TInactivityLink::Start() and Kern::AddEvent().
13137 (Made by AndrewT, 29/10/2002)
13140 1. Changed KCapabilityAll define to match that used by build tools.
13141 I.e. only include currently defined capabilities.
13142 2. Fixed defect DEF002630 "Missing distribution.policy files"
13145 1. HAL ELEDmask attribute can be used to get/set the 7-segment
13146 digits LEDs on Lubbock. Internally moved ELEDmask from the
13147 power to variant group and simplified the code.
13148 2. Introduced DMA framework. The current implementation supports
13149 single-buffer, double-buffer and scatter-gather DMA controllers. There
13150 is a reference implementation for Cotulla.
13153 1. Introduced the Jetstream Power model
13155 New User API in e32power.h in the Power class. This allows user mode
13156 code to request a power state transition.
13158 New kernel API in kernel/kpower.h for device drivers and power model
13159 implementors (base ports).
13161 base/domain manager component introduced which provides the user-side
13162 power state transition management. APIs in dmdomain.h and dmmanager.h.
13164 See in-source for API documentation.
13166 Assabet implementation of the new kernel power model. Other base ports
13167 have a minimal compatibility layer introduced for now.
13169 Emulator 'standby' and 'display off' is now implemented.
13172 1. Add MMC peripheral bus and MMC media drivers for integrator and emulator
13173 This shows up as driver D: on integrator and X: in the emulator.
13176 1. Added support for RVCT toolchain to Base - Assabet is the only base port
13177 currently modified to fully support the toolchain.
13181 (Made by JonathanM, 21/10/2002)
13184 1. Change default DTR control from handshake to enabled in WINS serial driver.
13188 1. Fix for defect DEF001251 - E32notif.h should #define __NOTIFIER_NAME to "!Notifier"
13189 2. Changed method for getting SETCAP.EXE into base test ROMs.
13190 3. Tidied up EDISP by deleting old files. Also fixed CScreenDriverTemplate::SetMode()
13193 1. Fix for defect DEF001259 - Text window notifier
13194 completes requests too early.
13195 2. Fixed another notifier bug: Message requesting MMC
13196 password dialog was never completed.
13199 1. Add partial lubbock port.
13202 1. Fixes for Integrator Modem Control Signals
13203 2. Fixes for SIR on Integrator
13206 1. SECURE_API flag is now set by default for all processes
13207 2. Added USERSTUB_FORCE_DATA_CAGING.DLL to allow testing of data caging.
13208 Replace USERSTUB.DLL with this to force data caging on for all processes.
13209 3. Fixed bug in boot loader caused by "return handles" changes.
13212 1. Secure screen HAL API + test implementation on assabet, integrator and WINS.
13213 2. Probably fixed DEF001413 Data loss with WINs for large files over HTTP (serial driver)!
13214 Applied basically the same fix which worked on typhoon.
13218 (Made by JonathanM, 20/09/2002)
13221 1. Split all ARM inline assembler into separate .cia files.
13222 The __NAKED__ macro is redefined for .cpp files to cause an error if this
13226 1. Add 'CAPABILITY' to all MMP files.
13230 (Made by Nicolas, 16/09/2002)
13234 1. Added RMsgQueueBase::Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType)
13235 2. Modified RMessagePtr::Read/Write/GetDes functions to return KErrBadDescriptor rather
13236 than KErrArgument when the specified parameter is not of the expected descriptor type.
13237 3. Added new 'DevMan' capability.
13240 1. Implemented Pub/Sub Properties.
13243 1. Set iAsyncDeleteNext to NULL in DCodeSeg::Destruct()
13244 to force DCodeSeg::VerifyHandle() to fail when passed
13245 a handle to a deleted code segment.
13246 2. Added d_exc.exe and minkda.ldd to full ROM obey files.
13247 3. Modified d_exc.exe to ignore spurious command-line and
13248 use defaults when started from UIKON shell. This is
13249 just a proactive move as a bug in UIKON currently
13250 prevents from starting executables with SID from the
13254 1. Added DPBusPrimaryMedia::DefaultDriveCaps() so drive attributes of a removable media
13255 are returned even when card not present.
13256 2. Introduced TDriveInfoV1::iRegisteredDriveBitmask to indicate whether a particular
13257 local drive has a media driver associated with it.
13260 1. Release Integrator Platform and SOC driver code
13263 1. Fix defect DEF001034 (RNotifier broken in mainline 1050)
13267 (Made by the Uikon team, 05-09-2002)
13269 1. Made some API changes to RNotifier both for tidying it up and
13270 - Removed the 4-parameter overload of StartNotifier and the
13271 5-parameter overload of StartNotifierAndGetResponse (these
13272 were not implemented server-side by Eiksrv anyway).
13273 - Removed the last parameter of the 3-parameter overload of
13274 StartNotifier. This parameter was useless as it was not
13275 guaranteed to contain any actual response generated by the
13276 notifier. If a response is required,
13277 StartNotifierAndGetResponse should be used instead.
13278 - NotifyCancel has been added to cancel Notify calls.
13279 - Close has been added to free up the member-objects now owned
13282 2. Made some API changes to MNotifierManager:
13283 - The last parameter of StartNotifierL has been removed.
13285 3. Made some API changes to MNotifierBase:
13286 - The 1-parameter overload of StartL now returns void.
13287 - The second and third parameters of the 3-parameter overload of
13288 StartL have changed.
13290 4. Made Ewsrv work with __SECURE_API__ defined.
13295 (Made by Dennis, 16/08/2002)
13298 1. Removed the following empty exported constructors/destructors:
13300 CBase::CBase() - replace with inline
13301 CBase::~CBase() - replace with pure virtual inline empty
13302 CSecurityEncryptBase::CSecurityEncryptBase()
13303 CSecurityDecryptBase::CSecurityDecryptBase()
13304 CSecurityBase::CSecurityBase()
13305 DBase::~DBase() - replace with pure virtual inline empty
13307 2. Changed the way the kernel reboots the system after a fault. It now
13308 jumps to a 'restart vector' in the bootstrap (at rombase+0x7c). The
13309 bootstrap then implements whatever variant-dependent code is needed.
13310 The restart vector is only currently implemented on assabet and X86.
13311 On assabet it performs a software reset of the SA1110.
13312 Export a Kern::Restart(TInt aMode) function from the kernel which
13313 triggers a reboot. The mode parameter is used to indicate what type
13314 of reboot is required (if more than one type is supported). Currently
13315 supported values are:
13317 0x00000000 - reboot the same image.
13318 0x80000000 - rerun the bootloader to allow a new image to be loaded.
13320 The crash debugger uses this function to implement two new commands:
13322 x - reboot the system using the same image
13323 X - rerun the bootloader to allow a new image to be loaded.
13325 3. Fixed bug in initialisation code - .data section was never initialised
13326 for ASSP DLLs. Now all extensions have .data initialised before the
13327 variant is initialised.
13329 4. Added DECLARE_EXTENSION_LDD() and DECLARE_EXTENSION_PDD() macros to
13330 declare the ordinal 1 export for LDDs/PDDs which are also extensions.
13331 Use DECLARE_STANDARD_EXTENSION() to declare the extension entrypoint.
13333 5. Added support for ETM thread ID register.
13334 On architecture 4 and 5 this is conditional on the macro
13335 __CPU_HAS_ETM_PROCID_REG, and simply writes the 32 bit NThread pointer
13336 into the register on each reschedule.
13337 On architecture 6 it is unconditional and bits 6-29 of the NThread
13338 pointer are written into bits 8-31 of the CONTEXTID register. Given the
13339 size of NThread this is guaranteed to be unique for each NThread. Bits
13340 0-7 of CONTEXTID are used for the ASID.
13342 6. Rearranged user-side memory allocation code.
13343 There is now a base class RAllocator which provides pure virtual functions
13344 for common operations Alloc(), Free(), ReAlloc() etc.
13345 Exec::Heap() (and User::Heap()) now returns a pointer to this base class.
13346 RHeap now derives from RAllocator and also supports alignment of cells on
13347 any power of 2 boundary, which will go some way to making us compliant
13348 with the new ARM ABI, which requires 8 byte alignment.
13349 Also these changes will make it possible for processes to use a more
13350 specialised memory allocator (i.e. not an address-ordered first fit heap,
13351 which is all that is allowed currently) by supplying an implementation
13352 of UserHeap::SetupThreadHeap().
13354 7. Share source code between EUSER and EKERN.
13355 Code which is used in both places is now placed in the /e32/common/...
13356 tree; /e32/nklib/... has been removed.
13357 New heap code is now used in the kernel as well.
13358 Rationalised the number-to-text conversion functions to avoid having
13359 multiple copies of very similar or identical code.
13361 8. Add __EKA2__ macro to enable code to tell if it's compiling against
13364 9. TRomImageHeader::iCheckSumCode changed to iCapability
13365 Capabilities are now stored in code segments; process capabilities are
13366 initialised from the code segment.
13367 A process with capabilities other than 0xffffffff automatically has
13368 security checking enabled.
13370 10. Fixed double deletion problem with PDD Create() functions. In the function
13372 virtual TInt Create(DBase*& aChannel, TInt aUnit, const TDesC8* aInfo, const TVersion& aVer) =0;
13374 The aChannel parameter will be deleted by the kernel if an error is returned,
13375 so it should not be deleted by the driver.
13377 11. Added exported kernel functions
13379 TInt Arm::DebugOutJTAG(TUint aChar);
13380 TInt Arm::DebugInJTAG(TUint32& aRxData);
13382 to send and receive data via the ARM JTAG debug comms channel.
13384 12. Removed requirement for "namespace std" declarations when building for
13385 code warrior by putting the following sequence into e32def.h:
13387 #undef __embedded_cplusplus
13388 #define __embedded_cplusplus 1
13390 This stops the CW standard headers from putting everything into
13393 13. Moved base.iby from ROMKIT into /e32/rombuild. This now includes one of
13394 the following, depending on the target platform:
13396 e32/rombuild/misa/base_assabet.iby
13397 e32/rombuild/mi920/base_integrator920.iby
13398 e32/rombuild/ni1136/base_integrator1136.iby
13400 Most of the macros relating to base stuff have been removed since there
13401 is now a separate base_xxx.iby for each target platform.
13405 integrator/core/cm920/integrator920.oby
13406 integrator/core/cm1136/integrator1136.oby
13408 which correspond to assabet/assabet.oby to allow building full mainline
13409 ROMs for integrator platforms.
13414 Completed "REQ192.1.1: Kernel support for creator identification"
13416 1. Added EUser::CreatorCapability.
13418 Completed REQ192.2.1.1: Creating Private Kernel Resources
13420 1. The TFindXxxx classes can not find objects which don't have a name.
13422 2. Objects without a name cannot be opened in any way by a threads in
13423 a process diferent from the objects creator.
13425 3. Private (Local) Servers can now be created by giving them a zero length name.
13427 4. To enable connections to be made to these servers the folling methods have been added:
13431 This returns a copy of the RServer object used by the server.
13433 RSessionBase::CreateSession(RServer aServer...
13435 A new overload of the create method which takes an RServer object instead of a name.
13437 Completed REQ192.2.1.2: Granting Access To Protected Kernel Resources
13439 1. The following kinds of kernel objects may be created as 'protected' kernel resources.
13440 Handles to these may be passed via client/server communications.
13445 * RBusLogicalChannel
13448 2. The following methods are used to create protected resources:
13450 TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);
13452 The create method takes an additional argument (aProtected) to indicate if the
13453 channel is protected.
13455 RSessionBase::ShareProtected()
13457 This makes an already existing session a protected resource. This is only permitted
13458 if the server constructor specified the type 'EGlobalSharableSessions'.
13461 RSemaphore::CreateGlobal
13462 RMutex::CreateGlobal
13463 RChunk::CreateGlobal
13465 Use of these with a zero length name will create an anonymous protected resource.
13467 An additional method is provided for the RChunk class which enables the creator
13468 process to set restrictions on the use of a chunk by another process.
13470 RChunk::SetRestrictions(TUint aFlags)
13472 Currently the only implemented restriction is the 'EPreventAdjust' flag, which
13473 prevents other processes from changing the memory allocation with Adjust, Commit,
13474 Allocate, or Decommit.
13476 3. A client process which has a handle on one of these can give a server the used of it
13477 by sending the handle as a RHandleBase parameter in a TIpcArgs package. The server
13478 can then open this handle by calling the following method on the appropriate resource
13481 Open(RMessagePtr aMessage,TInt aParam,TOwnerType aType=EOwnerProcess)
13483 where aMessage in the message that the server received from the client, and aParam
13484 is a number (0-3) indicating which message parameter holds the client's handle.
13486 A server can return a handle to the client by completing a client message using the
13487 resource object as an argument:
13489 RMessagePtr::Complete(RHandleBase aHandle)
13491 This will create a thread relative handle to the object and cause the client's request
13492 to complete with this value. The client should check the returned value, a negative
13493 value indicates an error value, a positive value is a handle which can be used to
13494 initialise the relevant R object by calling RHandleBase::SetHandle().
13495 Alternatively (and preferably) this check and set step can be performed by using the
13496 following method instead:
13498 TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)
13500 where aHandleOrError is the value returned by the server. This method does the
13503 If the value is a handle, then set the handle of the object to this, and
13505 Else, set the handle value to NULL and return the error value.
13507 Implemented REQ192.2.7.1: Preventing Spoofing of System Servers
13509 Creating servers with an '!' as the first character in their name requires
13510 KCapabilityProtServ
13512 Implemented REQ192.2.7.2: Detecting Spoofing of Servers.
13513 Implemented REQ192.2.7.3: Preventing Denial of Service by Server
13515 These are implemented by:
13517 TInt RSessionBase::CreateSession(const TDesC& aServer,const TVersion& aVersion
13518 ,TInt aAsyncMessageSlots,TRequestStatus* aStatus=0,TInt32 aIdentity=0)
13520 This new method allows connecting to a server asynchronously (if aStatus is zero
13521 then the connection is done synchronously). When the connection has completed aStatus
13522 will be signalled, if this holds anything other than KErrNone then the connect failed
13523 and the programmer must Close() the session. (Failure to do so, will result in leaked
13526 Note that CreateSession returns a standard error value, if this is not KErrNone then
13527 the connection process has failed before sending a message to the server, and in this
13528 case aStatus will NOT be signalled.
13530 The aIdentity argument in this function specifies the Security Identity of the process
13531 in which the client is expecting the server to be running. (Zero means "don't care")
13532 If this identity doesn't match that of the servers process then the session creation
13533 fails with KErrNotFound.
13535 Platform Security Changes
13537 1. Made RMessage::RMessage(const RMessagePtr& aPtr) explicit to avoid the compiler
13538 automaticly constructing temporaries.
13539 2. Corrected runtime security on RThread::Rename so that only the current thread can
13541 3. Added capability checks:
13542 * User::ResetInactivityTime() requires KCapabilityPowerMgmt
13543 * User::SetHomeTime(const TTime &aTime) requires KCapabilityWriteSystemData
13544 * UserSvr::SetMemoryThresholds(TInt aLowThreshold, TInt aGoodThreshold) requires KCapabilitySwEvent
13545 4. Changed UserSvr::RequestEvent and RequestEventCancel to insist that the calling thread
13546 is the same as the one which captured the event hook.
13547 5. Changed User::WsRegisterThread and User::FsRegisterThread to take no arguments.
13548 6. Trapped attempts at connecting a server session which is already connected and
13549 Reorganised CServer panics.
13551 Internal Kernel code modifications:
13553 1. Modified most exec functions which create handles to return them by value, rather than
13554 poke them back to user memory.
13555 2. Refactored RChunk::Create code to make it smaller.
13556 3. Changed iCreator in DProcess to be a process id rather that a DProcess*
13560 1. Expanded the TRAPD macro in CActiveScheduler::DoStart() so that it can be stepped
13561 through in a debugger.
13562 2. Added assertions to the emulator scheduler to trap invalid use of NKern::Unlock()
13563 and Emulator::Escape().
13564 3. Made the kernel ask USERSTUB.DLL what the default value for the process flags
13565 controlling secure API and data cage checking. The default USERSTUB.DLL currently
13566 returns false for both, but USERSTUB_FORCE_SECURE_API.DLL changes the default for
13567 SecureApi to on. Simply replacing USERSTUB.DLL with the longer named version in a
13568 ROM or in the emulator will change the default settings.
13571 1. Fixed propagated bitmapallocator defect fix MOS-5C6C8Y
13572 2. Fixed propagated WINS serial driver defect GUV-5CMJSR
13573 3. Implemented DLR 363.2 Message Queues.
13576 1. KERN-EXEC litteral now available as KLitKernExec in
13577 kernel.h for the benefit of drivers needing to panic
13579 2. KEXECFAST trace bit merged with KEXEC. KEXECFAST has
13580 been recycled for debug agents (KDEBUGGER).
13582 The following modifications are part of the on-target debugging support
13583 HLR. They are needed to support the new D_EXC utility.
13585 3. New functions exported from kernel:
13586 * NKern::ThreadGetUserContext()
13587 * NKern::ThreadSuspend()
13588 * DProcess::TraverseCodeSegs()
13589 (EMarkDebug flag added for debug agents)
13590 * DCodeSeg::UnmarkAll()
13591 * Kern::ProcessFromId()
13592 * Kern::ThreadFromId()
13593 * Kern::AccessCode() (use this instead of DCodeSeg::Wait())
13594 * Kern::EndAccessCode() (use this instead of DCodeSeg::Signal())
13595 4. DExceptionHandler renamed as DCrashHandlerBase and extended to
13596 deal with both hardware exceptions and panics. In case of panic,
13597 the handler is called at a point where it is safe to acquire
13599 4. Existing JIT debugging callback removed. The WINS code now uses
13600 DJitCrashHandler derived from DCrashHandlerBase.
13603 1. Added Ethernet LDD and accompanying Assabet PDD.
13608 (Made by Dennis, 11/07/2002)
13610 Memory model and loader changes.
13611 Two mode secure kernel.
13614 1. Added new memory model (multiple) which is optimised for processors with
13615 physically tagged caches and reasonable sized page directories. This
13616 uses a separate page directory (or part thereof) for each process, thus
13617 providing faster context switching.
13618 Currently works on ARMv6 (NI1136 target) and X86 (NX86 target).
13620 2. Placed some memory model code into a new directory (mmubase) which will
13621 be shared between multiple and moving models. This code deals with things
13622 like page table alloc/free and HW chunks and the extra per-page information
13623 required for mobile SDRAM defragmentation.
13624 Moving model has yet to be updated to use this.
13626 3. Hw Chunks now support large page sizes (64K and 1Mb on ARM, 4Mb on X86).
13628 4. Code loading system has been reworked to support DLLs with per-process
13629 .data and .bss sections, and also to allow code protection on the multiple
13631 All loaded code is now managed by DCodeSeg objects in the kernel.
13633 5. Loading of device drivers, file systems and locale DLLs is now done
13634 entirely by the loader rather than partially on the client side.
13636 6. The public E32Dll entry point for user-side DLLs has been removed.
13637 The private _E32Dll entry point is still there and is used to call
13638 constructors and destructors for C++ objects in .data/.bss.
13639 The TDllReason enum has been removed along with all redundant E32Dll
13642 7. The public entry point for kernel-side DLLs (extensions and device drivers)
13643 is retained but renamed to
13644 TInt KernelModuleEntry(TInt);
13646 Macros DECLARE_STANDARD_EXTENSION(), DECLARE_STANDARD_LDD(),
13647 DECLARE_STANDARD_PDD() and DECLARE_STANDARD_ASSP() have been provided which
13648 declare the entry point in the way normally required for these things.
13650 8. The private entry point of a process (_E32Startup) is now used for several
13652 1. Process initialisation (similar to previous)
13653 2. Thread initialisation (new thread started in process)
13654 3. Exception handling (thread in process took a handled exception)
13655 Essentially whenever the kernel needs to invoke user-mode code, this is now
13656 vectored via the process entry point. This will eventually allow different
13657 allocators to be used for each process/thread and the removal of USERSTUB.
13659 9. Added device drivers for X86:
13660 Floppy disk, generic ATA interface controller, ATA hard disk media
13661 driver, ATAPI ZIP/CDROM media driver, PCI bus scanning code, video
13662 drivers for Permedia2 and CT65554 (dodgy) chipsets.
13664 10. Added memmove() function to the kernel and modified the kernel and all
13665 drivers/extensions to use it instead of memcpy() when the source and
13666 destination may overlap.
13668 11. Added the ability to specify a cleanup handler when adding a TLS entry.
13669 The handler will be called on thread normal exit (return from main function
13670 or call User::Exit(), not on panics).
13672 12. Disabled THUMB interworking support until ARMv5/THUMBv2 becomes the
13673 standard configuration. Default ABI for all platforms is now ARM4. It
13674 is no longer necessary to build anything for ARMI.
13676 13. All executive functions are now declared in a single file
13678 /e32/kernel/execs.txt
13680 which is then processed by a perl script to generate the dispatch numbers,
13681 Exec:: and ExecHandler:: class definitions, user side code and kernel side
13683 See /e32/kernel/execs.txt for a description of syntax.
13685 14. Local media system now returns type of partition in drive capabilities.
13686 See /e32/include/partitions.h for list of partitions.
13687 Also, the media type field in drive capabilities is set even if the
13688 drive is not ready.
13690 15. Change KCurrentProcessHandle from 0xffff0000 to 0xffff8000 - this has the
13691 'NoClose' bit set, so you don't get panicked for doing
13692 { RProcess p; p.Close(); }
13694 16. Change IPC copy functions to always return KErrBadDescriptor rather than
13695 KErrArgument where the remote address is invalid or points to an invalid
13698 17. Changed the way static data is detected on the emulator to work around
13699 problem with code warrior. It is now necessary to put 'epocallowdlldata' in
13700 the makefile, as it is for target builds. On WINS a DLL or EXE will be
13701 considered to have writeable static data if the .data section is present;
13702 if it is but 'epocallowdlldata' was not specified, the load will fail.
13703 On WINSCW a DLL will be considered to have writeable static data if the
13704 'epocallowdlldata' keyword was present in the MMP file. An EXE will be
13705 considered to have writeable static data if the .data section is present.
13706 Emulator DLLs with a .data section but which were not built with the
13707 'epocallowdlldata' keyword will have their entry points called every time
13708 the DLL is loaded or a referencing DLL is loaded; this is to cope with
13709 the case where the compiler puts supposedly constant data into .bss and
13710 uses a runtime constructor to initialise it.
13712 18. Integrated platform security changes (two-mode kernel).
13714 19. Kernel changes to allow anonymous chunks, mutexes, semaphores, servers
13715 and logical channels. Removed named logical channel support.
13716 If an empty string is passed as the name, an anonymous object is created.
13717 Note that logical channels no longer set an owner.
13719 20. Allow message handles to be verified by the executive call preprocessor.
13720 Modified genexec.pl to accept 'ipcmessage' and 'ipcclient' handle types.
13721 Changed executive calls which take a message handle to use this feature.
13723 21. Added machine coded versions of DObject handle lookup code, i.e.
13724 DThread::ObjectFromHandle, K::ObjectFromHandle, Kern::ObjectFromHandle.
13726 22. Added code to support static data destructors on WINSCW.
13728 23. Removed exit handler, state handler and exception handler from NThread.
13729 These are now placed in a separate structure (SNThreadHandlers) to which
13730 NThread has a pointer, along with a new timeout handler which is called
13731 when the NThread timer expires in either BLOCKED or UNKNOWN N-states.
13733 24. Added timeout to DSemaphore::Wait().
13734 Added new RSemaphore::Wait(TInt aTimeout) which waits for a semaphore
13735 signal or for aTimeout microseconds, which ever occurs first.
13736 aTimeout=0 means wait forever.
13737 The new API returns an error code:
13738 KErrNone = semaphore was signalled
13739 KErrTimedOut = semaphore was not signalled before the timeout expired.
13740 KErrArgument = -ve timeout specified
13741 KErrGeneral = semaphore was deleted
13743 25. Removed all RDebug:: functions apart from RDebug::Print
13745 26. Removed class TInt64 and replaced it with TInt64 and TUint64 which are
13746 typedefs of the compiler's native 64 bit integer types.
13747 Special function Mul10() has been removed - just use x*=10 instead.
13748 DivMod and MulTop have been migrated to Math:: as follows:
13750 void Math::Mul64(TInt64 aX, TInt64 aY, TInt64& aOutH, TUint64& aOutL);
13751 Multiply aX by aY and store 128-bit result in aOutH:aOutL
13753 void Math::UMul64(TUint64 aX, TUint64 aY, TUint64& aOutH, TUint64& aOutL);
13754 Multiply aX by aY and store 128-bit result in aOutH:aOutL
13756 TInt64 Math::DivMod64(TInt64 aDividend, TInt64 aDivisor, TInt64& aRemainder);
13757 Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
13758 Remainder has same sign as dividend.
13760 TUint64 Math::UDivMod64(TUint64 aDividend, TUint64 aDivisor, TUint64& aRemainder);
13761 Divide aDividend by aDivisor, return quotient, store remainder in aRemainder
13763 27. Add new alloc failure type RHeap::EReset and new macros
13765 __UHEAP_TOTAL_RESET and __KHEAP_TOTAL_RESET
13767 to both cancel any simulated allocation failure and reset the allocation mark.
13769 28. Add compiler helpers for 64 bit arithmetic to kernel side emulator entry libraries.
13771 29. Processor affinity setting for emulator slightly modified - if the process is
13772 already limited to a single CPU, the affinity mask is not changed.
13774 30. Allow more emulator parameters to be overridden:
13775 i. The log file can be overridden by the the EmulatorLog environment variable.
13776 ii. The option -Dname=value will set the 'name' property to 'value'
13777 The option -Dname+=value will append 'value' to the 'name' property.
13778 iii. The directory used for temporary EXE images can be overridden by
13779 -DEmulatorImagePath=dir
13780 iv. It is now possible to run two emulators simultaneously by judicious
13781 choice of command line parameters.
13784 1. Secure Kernel APIs implemented. This release is 'dual mode' where both old and new
13786 ( For API changes see document "SGL.GT0135.201_Rev0.12 Securing Kernel APIs.doc" )
13787 * Old APIs which will be removed for Platform Security can be disabled at compile time by
13788 defining __SECURE_API__, e.g. by "MACRO __SECURE_API__" in your MMP file.
13789 * New test function RProcess::SecureApi() enables a process to turn on run-time checking for
13790 APIs which have new restricted usage. (For that process only.) This will cause a thread to
13791 be panicked with EPlatformSecurityTrap when they make illegal use of kernel APIs.
13792 If 'SecureApi' is not enabled, kernel functions will continue to behave as before the
13793 Platform Security changes.
13794 * Test function User::RemoveCapabilities() allows a process to remove capabilities.
13795 (Currently processes have all capabilities.)
13796 * NOTE: The new versions of RProcess/RThread::Rename are called RenameMe to distinguish them
13797 from the old non-static versions.
13800 1. Minor change to WINS serial driver which will stop it locking up when a comms error occurs.
13801 2. Fix SCI-5BFCPJ(MediaServer TMDaaud audio test code panics when Play is called)
13804 1. Changes to Template Screen Driver for Text Window Server to allow support for
13806 2. Corrected a minor bug on one of the Display accessor functions of SA1100 Achticteture
13812 (Made by AndrewT, 12/06/2002)
13816 1) fixed (RArrayBase::HeapSort makes assumption about max iEntrySize value) and
13817 (TLex::Val() should not give error for missing exponent) defects reported on 7.0
13820 1) Made the justintime emulator setting operational for kernel fault situations
13821 as well. This means that a setting of 'debug' or 'none' ensures that no
13822 dialogs are ever presented to the user.
13823 2) Added a -D commandline switch to the emulator. This allows additional
13824 emulator settings to be defined on the commandline. These are parsed before
13825 the ones in the epoc.ini file. e.g.
13827 epoc -Djustintime=none --
13829 Will disable JIT debugging for that emulator.
13830 3) Set the processor-affinity-mask for the emulator to ensure that it runs only
13831 on a single CPU in the PC. This effectively works around an as yet
13832 undiagnosed problem with the emulator scheduler on multi-processor PCs.
13833 4) Added 'const T& operator()() const' to TPckgBuf<T> - propagating a 7.0 fix to
13835 5) Made TThreadId and TProcessId members const, propagating a 7.0 fix to
13837 6) Fixed the 'diaplay contrast' HAL settings for the emulator so that both
13838 T_VIDEO and Techview behave. WINS now claims to support contrast but does
13839 nothing with the setting.
13840 7) Provided another means for EPOC threads to interact with the host OS in the
13841 emulator. As well as Emulator::Lock()/Unlock() to block the scheduler, there is
13842 now Emulator::Escape()/Reenter() which allows the scheduler to carry on running
13843 but takes the calling thread out of the scheduler control. In particular this
13844 allows a calling thread to safely wait on host OS synchronisation objects (e.g.
13845 call WaitForSingleObject()) without deadlocking [part of] the emulator.
13847 When 'escaped' a thread should not use any EPOC APIs at all except for
13848 Emulator::Reenter(). Note that if a thread is killed in this state the exit will
13849 be deferred until it reenters the scheduler control - thus it may be necessary
13850 to also cause the host OS to release the thread in roder to clean up completely.
13851 8) Added some instrumentation to the emulator scheduler in order to detect and assert
13852 incorrect use of kernel APIs from 'interrupt' and EPOC threads.
13855 1. Added KMEMTRACE + memory tracing.
13861 (Made by AndrewT, 23/05/2002)
13863 First release of EKA2 into Symbian OS mainline.
13866 --------------------------------------------------------------------------------
13867 E32RT Modification History (not necessarily complete)
13868 --------------------------------------------------------------------------------
13871 14-12-01: WINSCW Introduction
13873 The E32TOOLP changes are documented in
13874 \e32toolp\group\release.txt.
13876 Fixed various std C++ compliance issues.
13878 Got rid of every WINSCW warning.
13880 Added WINSCW to the relevant BLD.INF.
13882 "long long" are used for 64-bit types.
13884 Added pragmas to disable RTTI and C++ exception handling for
13887 Bracketed arguments used only in UDEB builds with __DEBUG_ONLY
13888 to turn off spurious warnings (this is subject to change).
13890 Extended wintest.bat for WINSCW and added code to delete the
13891 LFFS and IRAM "drive" files.
13893 In E32TEST T_EXC Made some variables volatile to prevent mwcc
13894 optimising out an intentional division by zero.
13896 Ported fix for CMOS-52CDGU (T_MATH and T_FLOAT rely on the compiler
13897 generating denormal constants).
13899 Mwcc 2.4.1 generates incorrect code for the "foo <= 0"
13900 statement when foo is a 64-bit integer. Worked-around by
13901 comparing against a named constant. This bug is fixed in
13904 Modified WIN32 section in various MMP files.
13906 Fixed Wins::SetupPaths() so the path parsing code works for
13909 EPOC versions of memset() and memcpy() conflict with the
13910 standard library ones. They need to be declared and defined
13911 inside the std namespace. The other compilers are happy with
13914 Modified Dispatch() signature to avoid mangling difference
13915 between VC++ and Codewarrior.
13917 The header file needed for wcs*() function prototypes is
13918 <wchar.h> not <stdlib.h>.
13920 Codewarrior inline assembler does not support code like
13921 "[exc]this.iThread". There is only one occurence of this in
13922 TExcTrap::Trap(). Worked-around by using
13923 [ecx]TExcTrap.iThread for codewarrior.
13925 Added explicit return value to Emulator::Init().
13928 The following changes are not related to WINSCW:
13930 E32TEST T_TBMA is not built anymore for THUMB because it contains lots
13931 of ARM assembly language which is executed in privileged mode only in
13934 Fixed __PROFILE_DISPLAY() macro.
13936 Fixed typo in F32TEST T_DSPACE test (= mistaken for ==).
13940 --------------------------------------------------------------------------------
13943 15-05-01: Added the first-cut of the Win32 port
13945 nKern scheduler ported to Win32 - emulation of EPOC scheduler. This
13946 provides the Win32 threads implementation for EPOC. Exception
13947 handling and context setting are not yet supported.
13949 Added 'platform/image' layer into memmodel to catch the remaining
13950 differences in layer 2 of the kernel. For now this is captured in
13951 the imgmodel.h header files. The memory models have moved down a
13952 directory as a result. This deals with ROM, Process and Library
13955 The rest of the layer 2 code is now completely generic and ready for
13956 merging with layer 1.
13958 Added a Win32 memory model, currently based on a simple direct model.
13959 The plan is to support a more dynamic model like 6.2 WINS.
13961 Tidied up many bits of C++ code that had either rotted or were
13962 rejected by the VC++ compiler.
13964 Started development of a 'wins' variant. This provides the variant
13965 DLL, which has support for processing emulator ini files, a 5ms
13966 timer to drive the nKern 'millisecond' timer and debug output. The
13967 UI is in a separate extension and handles most of the clever ini
13968 settings. There is no power model yet.
13970 Process emulation is functional, the loader can launch 'EXE's within
13971 the emulator, but the emulator does not provide memory protection.
13972 EPOC heap sizes are not yet stored in the binaries, so processes
13973 currently get 1MB maximum heaps by default.
13975 DLL entrypoints are not called.
13976 Emulated media drivers are not implemented.
13977 Serial driver is not implemented.
13979 E32TESTs and F32TESTs pass where expected (failures are due to
13980 known omissions at this stage) using the F32 RUNTESTS tool -
13981 ERunTests is no longer required.
13983 --------------------------------------------------------------------------------
13986 --------------------------------------------------------------------------------
13989 26-10-00: Added first Assabet port (base board only, no SA1111 support).
13990 UART driver not tested due to the serial keyboard function. Also,
13991 handshake signals are not handled by the UART driver yet.
13992 Power down/up works with RTC wakeup but wakeup due to GPIO0/1 is
13993 intercepted by reprob and touchscreen doesn't wake the system up -
13996 Modified bootloader to work on Assabet as well as Brutus. New files
13997 displayinit.cpp and mem.cpp have been added to deal with LCD startup
13998 and memory addresses (different on Brutus and Assabet).
14000 Added new scheme for handling interrupts on GPIO11-27 on SA11x0. We
14001 use timer match register 1 to generate an interrupt which is never
14002 cleared. The shared GPIO11-27 interrupt is always enabled; if an
14003 interrupt occurs on a line which is not enabled, it is remembered in
14004 the SharedGpio structure. If the interrupt is subsequently enabled,
14005 the timer 1 interrupt is enabled to cause another hardware interrupt
14006 which then services any remembered GPIO interrupts which are now
14009 Fix to Brutus digitiser to prevent locking up if the off key is
14010 pressed with the pen down.
14012 Fix to exception handling code in the case of fatal exception due to
14013 mode or SVC stack overflow - R4 was not being stored.
14015 Fixed bug in TSa1100::UartData() - incorrect register being used.
14018 --------------------------------------------------------------------------------
14021 18-10-00: Added generic kernel-side exception handler support.
14022 Added asynchronous deletion facilities; Kern::AsyncFree(TAny*) frees
14023 any kernel heap cell and Kern::AsyncDelete(DBase*) deletes any DBase
14024 derived object on the kernel heap.
14026 --------------------------------------------------------------------------------
14029 16-10-00: Synchronised to //epoc/development/base/ongoing/...@60165
14031 Modified forceMediaChange() in \e32\drivers\locmedia\locmedia.cpp so
14032 that clients are always notified of media change even if there is
14033 no media present on the drive (caused T_NOTIFY to fail).
14035 --------------------------------------------------------------------------------
14038 03-08-00: Implemented inactivity timers (RTimer::Inactivity etc.)
14040 10-08-00: Separated RAM page allocator from rest of MMU code.
14042 Fixed bug in millisecond timer which caused it to stop completing
14043 timers if DFC was delayed by more than 16ms.
14045 Set up supervisor stack base and size for the initial thread during
14046 kernel boot (otherwise any exceptions in this thread kill the system
14049 06-10-00: Removed Asic::TickPeriodNs() function. Added Asic::MsTickPeriod() to
14050 return the period of the millisecond tick in microseconds. This will
14051 always be 1000 except on pathological hardware.
14053 Modified tick timer code to cope with 'millisecond' timers with
14054 tick period other than 1ms.
14056 Added functions Kern::TickPeriod() to return the system tick period
14057 (always 15625us at the moment), Epoc::MsTickPeriod() to return the
14058 period of the millisecond tick and Epoc::MsTimerTicks(TInt) to
14059 convert a time in milliseconds to millisecond timer ticks, rounding
14062 Fixed bug in RAM drive initialisation. Max size of chunk should be
14063 set to PP::RamDriveMaxSize rather than to MaxFreeRam to cope with
14066 --------------------------------------------------------------------------------
14069 20-06-00: Bug fix to DProcess::Rename and DThread::Rename. If new and old
14070 names were identical they would return KErrAlreadyExists. We now
14071 check for this case explicitly and return KErrNone.
14073 21-06-00: Fixed bugs in Brutus digitiser driver:
14074 1. Every other pen move event was to (0,0)
14075 2. Added debounce on pen up
14077 Fixed bug in Brutus bootstrap - only the first 8Mb of the ROM image
14078 was being mapped in.
14080 22-06-00: Further tweaks to Brutus digitiser:-
14081 1. Increased inter-sample time from 1ms to 3ms.
14082 2. Reduced inter-group time from 16ms to 3ms.
14083 3. Disregard 2 samples on pen down/pen up instead of 1.
14085 Miscellaneous makefile changes to enable boot loader to build.
14087 30-06-00: Removed series5-style one-pixel-at-a-time moving from Brutus
14090 06-07-00: Changed the way tick-based timers are implemented. There is no
14091 longer a separate tick interrupt - the millisecond timer is used
14092 to generate the intervals between ticks. Whenever the millisecond
14093 timer expires, it is requeued for a time corresponding to the next
14094 tick timer on the list. The rounding error is also accumulated so
14095 that an average tick period of 1/64s is obtained.
14097 The 'RTC' is maintained by accumulating ticks. When the time is
14098 requested, the software-maintained time is returned. A tracking
14099 system will be implemented to keep the software time in sync with
14102 TTickLink callback functions now only take a single TAny* parameter;
14103 the 'delay' parameter has been abandoned.
14105 Changed CL7211 and Series5MX keyboard drivers to use the millisecond
14106 timer for polling the keyboard instead of the tick timer.
14108 Power tick removed from bpower.cpp - only second tick still remains.
14109 Another way will be needed to accumulate battery consumption.
14111 Fixed bug in SDeltaQue::RemoveFirst() - forgot to adjust next queue
14112 entry if the element removed had a nonzero delta.
14114 07-07-00: Increased the number of thread priorities from 32 to 64.
14115 Changed the interpretation of the iThreadPriority field in DThread;
14116 values from 0-63 now represent absolute priorities and values from
14117 -8 to -1 represent process-relative priorities.
14119 Thread absolute priorities are still the same apart from DfcThread1
14120 which has been elevated to 48 and the threads used in test T_LAT2
14121 which now have priorities 62 and 63.
14123 TPriListBase now has two words of bit mask instead of one.
14125 Turned off timeslicing for null thread.
14127 When a thread is killed externally, its priority is now set to the
14128 same level as the kernel server. This ensures it can run and exit
14129 and stops low priority threads hanging around forever because they
14130 can't get a chance to run.
14132 Time spent in the scheduler now counts against the current thread's
14133 time slice. This is to prevent threads which do nothing but signal
14134 other threads from effectively stretching their timeslice by a huge
14137 28-07-00: Made the 1ms tick on SA1100 more accurate by waiting either 3686 or
14138 3687 ticks such that the average period is exactly 1ms.
14140 Added test programs T_TICK and T_TOCK to test the new timer code.
14142 Removed EUSER.LIB from .MMP files for all test device drivers.
14144 --------------------------------------------------------------------------------
14147 16-06-00: Broke the dependence of the kernel and drivers on EUSER.DLL. Kernel
14148 components no longer link to EUSER.DLL. Those parts of EUSER which
14149 are required by the kernel and/or device drivers have been copied
14150 into the kernel and are exported from the kernel. These are:
14152 GCC helper functions memcpy, memset, 32 and 64 bit integer division.
14153 Descriptors (not all functions available in the kernel).
14154 RArray<> classes (no sorting).
14155 RHeap, modified to present an RAllocatorK interface.
14156 DBase (modified CBase).
14157 TUnicode class (but not collation).
14159 The kernel still needs to link to EUSER indirectly in order to call
14160 User::StartThread() and User::HandleException() and in order to get
14161 pointers to the unicode data tables, which are not duplicated. This
14162 linkage occurs via a stub DLL (USERSTUB.DLL). A standalone kernel
14163 can also be produced by using STANDALONE.DLL instead.
14165 Note that kernel components should now use:
14166 memcpy()/memset() instead of Mem::Copy(), Mem::Fill()
14167 wordmove() instead of Mem::Move()
14168 Int64 (typedef to long long) instead of TInt64
14169 DBase instead of CBase
14170 Kern::Alloc(), Kern::Free(), Kern::ReAlloc() instead of the
14171 usual User::XX() functions.
14172 TInt instead of TTimeIntervalMicroSeconds32/TTimeIntervalSeconds
14173 TTimeK (=Int64 =long long) instead of TTime
14174 Int64 instead of TTimeIntervalMicroSeconds
14175 HBuf (derived from TDes) instead of HBufC - no Des() function.
14177 Device drivers (LDD/PDD) use EDEV.LIB instead of EDLL.LIB to avoid
14178 linking to UserSvr::DllTls() etc.
14180 The user-side include files have been rearranged as well. E32STD.H
14181 has been split into three files:
14182 E32CONST.H - constants and typedefs
14183 E32CMN.H - classes used in both the kernel and user code.
14184 E32STD.H - classes used only in user code.
14186 E32SVR.H has been split into the following:
14187 D32LOCD.H - RLocalDrive/TLocalDrive stuff
14188 E32DEBUG.H - RDebug stuff
14189 E32EVENT.H - TRawEvent and related things
14190 E32KTRAN.H - Keyboard translation stuff
14191 E32LDR.H - TLoaderInfo
14192 E32LMSG.H - TLocaleMessage
14193 E32NOTIF.H - Notifier stuff
14196 In SA1100 bootstrap use top bit of PC instead of DRAM HOLD bit to
14197 determine if we are running from RAM.
14199 Bug fix to brutus variant - CS3 register wait states were not being
14202 Added non-MMU SA1100/Brutus build (SISA).
14204 Removed the CL7111, Series5 and RackD directories and replaced them
14205 with a port to the CL7211 evaluation board. /cl7211 contains the
14206 ASSP (extended from the original /cl7111) and /cl7211eval the
14207 variant parts. The digitiser driver has not yet been ported and the
14208 sound driver is untested. The CL7211 boots at either 18.432MHz or
14209 73.728MHz depending on the state of the EXTPWR switch (off->18.432,
14210 on->73.728); this is because the CL6700 PC card controller chip only
14211 works at 18.432MHz.
14213 Moved common power management code into \e32\drivers\power - file
14214 binpower.cpp contains the code required to implement a binary power
14215 model (i.e. Series 5 style).
14217 Moved common PC card code into \e32\drivers\pbus\pccard\epoc. This
14218 basically contains the old DArmPlatPccdChunk, DArmPlatPccdSocket,
14219 DArmPlatPccdVcc, DArmPlatPccdMediaChange code. Each of these classes
14220 can be replaced separately by the variant.
14221 This and the preceding change were done to remove dependencies of
14222 one variant on another to make it easier to distribute source code -
14223 each variant can be distributed separately.
14225 Modification made to ECOMM.LDD to reduce time spent with interrupts
14226 disabled while scanning the RX buffer at the beginning of a read
14229 Fix to ATA media driver - the not busy timeout was being erroneously
14230 cancelled after calling CmdDfc(). Brutus somehow seems to miss some
14231 CF card interrupts (don't yet know why) so this was causing the
14232 machine to lock up during CF card accesses.
14234 __CHECK_THREAD_STATE macros removed from US_HEAP.CPP now that the
14235 kernel heap is separate.
14237 ARM3 versions of TInt64 and TRealX multiply functions have been
14238 removed - only the ARM4 versions are now present.
14240 Added CF-card bootloader for Brutus, in \bootldr\... - this uses the
14241 SISA build in standalone mode so it can fit in the 256K Brutus boot
14244 Added %lx option to Kern::Format to print 64-bit integers in hex.
14246 Moved the starting of the file server into an extension (EXSTART).
14248 Removed machine password stuff - do we really want CSecurityBase in
14251 On cold boot we now set the system time to the ROM image timestamp
14252 to avoid messing about with TDateTime conversions.
14254 Bug fix to read version of MM::CurrentAddress() - the optimisation
14255 that avoided lookup if the process concerned was TheCurrentVMProcess
14256 has been removed. Under the new scheduling scheme where preemption
14257 can occur after each chunk is moved, TheCurrentVMProcess is not
14258 guaranteed to have all its chunks at their run addresses.
14260 Fix to \sa1100\interrupts.cpp - Interrupt::Clear() now clears the
14261 interrupt in the PortEdgeDetected register if it is caused by a GPIO
14262 line. This prevents the machine spinning while accessing CF cards
14263 due to uncleared card interrupts.
14265 Change to all UART PDDs - EnableTransmit() does not fill the TX FIFO
14266 but merely enables the TX interrupt. The interrupt will occur
14267 immediately and fill the TX FIFO. This prevents problems caused by
14268 code being called in both an interrupt and non-interrupt context;
14269 in particular TDfc::Add() will not do the right thing unless called
14270 in an ISR or with the kernel locked.
14272 --------------------------------------------------------------------------------
14275 25-05-00: Synchronised all user APIs with v6.0. User-side v6.0 changes all
14276 implemented, but not all kernel and driver changes done.
14278 --------------------------------------------------------------------------------
14281 03-05-00: Moved bootstrap code from \bootstrap directory into the \variant
14282 directories for easier distribution.
14283 Added bootrom.mke to each variant to build the bootstrap as part of
14285 Moved shared files from series5 to series5mx1.
14286 Added new perl script configure.pl to build a specified set of
14287 variants/tests/add-ons from scratch. This uses *.bld files in each
14288 component to describe the genbuild options required to build that
14290 Added deffile emptyu.def to \e32\bmarm for use by extensions with
14291 no exports. Removed __DummyExport() functions from such extensions.
14293 --------------------------------------------------------------------------------
14296 25-04-00: Moved the functions K::RunUserThread() and RUserHeap::Create() from
14297 EKERN into EUSER - they now become User::RunUserThread() and
14298 UserHeap::CreateThreadHeap() respectively.
14299 Moved the definition of SThreadCreateInfo into u32std.h to accompany
14302 Moved the following functions from KExec to Kern and made them
14303 exports to allow for use in RTOS personality layers:
14305 Kern::ThreadResume(DThread&)
14306 Kern::MutexWait(DMutex&)
14307 Kern::MutexSignal(DMutex&)
14308 Kern::MutexCreate(DMutex*&, const TDesC&)
14309 Kern::ThreadCreate(SNewThreadInfo&)
14311 Moved SNewThreadInfo and TThreadType into kernel.h to match this.
14312 Removed class KExec and class KExecHandler altogether.
14314 Made the following functions exports from the kernel to allow for
14315 use in RTOS personality layers:
14317 DPlatThread::CancelTimer()
14318 DPlatThread::CheckSuspendThenReady()
14319 DPlatThread::Ready()
14320 DPlatThread::ReleaseWait(TInt)
14321 DPlatThread::Wait(TInt, TAny*, TUint32)
14322 all TPlatRequestSemaphore functions
14324 Added an additional UnknownStateHandler callback ELeaveCS. This is
14325 invoked when a thread leaves its critical section with
14326 iCsFunction < -1. This is for use by RTOS personality layers to do
14327 thread termination by the back door, allowing reuse of the thread
14328 control block (DPlatThread).
14330 Modified the extension entry point x_entry.cpp so that the E32Dll()
14331 function is called if the parameter is <0 rather than just the two
14332 values KExtensionInit0 and KExtensionInit1. This allows other values
14333 to be used for access to RTOS applications.
14335 Made test.oby include test.iby so that SAWD16 builds work.
14337 Added first cut Nucleus personality layer in \nucleus directory.
14340 --------------------------------------------------------------------------------
14343 18-04-00: Added class SDblQue to give cheap queueing operations (all inlines,
14344 no DLL calls). Changed all instances of TDblQue<> and TPriQue<> in
14345 the kernel and drivers to use SDblQue instead.
14347 Rewrote the millisecond timer. The new version uses 32 queues for
14348 timers which expire in the next 32ms (as before), but now uses a
14349 holding queue and an ordered queue. Timers expiring after 32ms are
14350 first placed on the holding queue. The timer thread (DfcThread1)
14351 then sorts them and places them on the ordered queue. When the
14352 expiry time of a timer on the ordered queue approaches, it is
14353 transferred to one of the 32 'final' queues for completion. This
14354 new implementation allows a quick determination of the time before
14355 the next timer expires, which will allow the millisecond tick to be
14356 temporarily disabled to save power while the machine is idle.
14358 Added test program T_MSTIM and device driver D_MSTIM to test the new
14359 millisecond timer implementation.
14361 Modified memory access times in Brutus bootstrap to 9 cycles random,
14362 6 cycles sequential, data latch delay 1, RAS precharge 4, RAS low
14363 during CBR refresh 5. Also modified bootstrap to use cache line
14364 aligned code to set the RAM config and the clock frequency.
14365 Added test program T_MEM to stress test RAM.
14368 --------------------------------------------------------------------------------
14371 07-04-00: Upgraded to V6.0 build tools (e32tools and e32toolp).
14372 Changed MMP files to use SOURCEPATH instead of PROJECT/SUBPROJECT.
14373 Removed group directories from variants - build files are now in
14374 the \variant directory instead of \variant\group.
14377 plat_priv.h - TThreadList had 31 extra SDblQueLink's instead of
14378 SDblQueLink*'s, which wasted 124 bytes of RAM per list.
14379 pmstimer.cpp - Forgot to reenable interrupts in Again().
14380 pprocess.cpp - Wait on process lock before checking if process
14381 fully loaded in DPlatProcess::Die().
14382 cutils.cpp - A::StartCrashDebugger() was not storing mode_irq
14383 registers correctly.
14384 object.cpp - Memory leak in DObjectIx destructor - list of
14385 objects was not deleted if iCount=0.
14387 --------------------------------------------------------------------------------
14390 27-03-00: Changed the implementation of the priority lists used for mutex and
14391 semaphore wait queues, for the scheduler's ready list and for DFCs.
14392 We still have 32 doubly-linked lists, but the lists are circular
14393 with no head link. Instead there are 32 pointers, each of which
14394 points to the first item at the relevant priority. The pointers are
14395 NULL if there are no items at that priority. This saves 128 bytes
14396 on each 32-priority list (one per thread, one per mutex, one per
14397 semaphore, maybe 20K on a typical EPOC system).
14399 Added EPOCONLY option to GENBUILD.PL and DOIT.CMD to build all base
14400 components (E32/ASSP/VARIANT/F32/BOOTSTRAP).
14402 --------------------------------------------------------------------------------
14405 15-03-00: Changed the way thread exit and thread suspend work. The thread
14406 critical section mutexes have been replaced with integers iCsCount
14407 and iCsFunction. If an attempt is made to suspend or kill a thread
14408 while iCsCount>0, the action is not performed immediately; instead
14409 iCsFunction is modified to reflect the required action (+n means n
14410 suspensions are pending, -1 means an exit is pending). The thread
14411 then performs the required action itself when the critical section
14412 ends (iCsCount becomes zero). If iCsCount=0 initially then a suspend
14413 operation is performed directly, but a kill operation is still done
14414 indirectly by modifying the saved return address on the target
14415 thread's supervisor stack so that the thread will exit next time it
14416 runs. Thus thread death is now always initiated by the dying thread.
14417 In neither case is the originating thread blocked waiting for the
14418 target thread to leave the critical section or to exit. Thus
14419 the semantics of RThread::Suspend() and RThread::Kill() are slightly
14420 modified in that they may return before the operations have been
14421 performed. However it is still guaranteed that the target thread
14422 will not execute any more user-side code after these functions have
14423 returned. This method has the advantage that a real-time thread can
14424 suspend/kill another thread without blocking for an indefinitely
14425 long time. Another advantage is a considerable saving in RAM due to
14426 the removal of the critical section mutexes (320 bytes per thread).
14428 A thread now exits by setting its state to EDead and then queueing
14429 a DFC with the kernel server to clean up the dead thread. Thread
14430 death/suspension no longer involves the sending of synchronous
14431 kernel-side messages.
14433 Modified the structure of DTimer so that instead of having three
14434 separate timers (TTickLink, TSecondLink and TMilliSecondCallBack),
14435 only one of which can be in use at any one time, it has effectively
14436 a union of these three (class TTimer). This was done to save RAM.
14437 More RAM is saved by using only a TTimer for a thread's timer rather
14440 Added some facilities for RTOS personality layers:
14441 1. Added a new thread type EThreadMinimalSupervisor. This has no
14442 handles array and is not added to the K::Threads container.
14443 It may be created in statically allocated memory and may use
14444 a statically allocated supervisor stack. There are still issues
14445 with cleanup of these, however (attempts could be made to free
14446 memory not allocated on the kernel heap).
14447 2. Added functions DPlatThread::Wait(), DPlatThread::ForceResume(),
14448 DPlatThread::Ready(), DPlatThread::StartWaitTimeout() and
14449 DPlatThread::ReleaseWait() to facilitate the implementation of
14450 new synchronisation/communication objects such as queues and
14451 event flags and the implementation of timed waits.
14452 3. Added unknown state handlers to threads. If an operation such
14453 as suspend, resume, release wait, change priority is attempted
14454 on a thread which is in a state not known to the EPOC kernel
14455 a callout will be made to the unknown state handler. This would
14456 usually fault the kernel, but threads created by a personality
14457 layer could use this to process extra thread states such as
14458 'waiting on queue' or 'waiting on event flag'.
14459 4. Changed thread creation to only wait on the process lock mutex
14460 while adding the new thread to the process thread list, rather
14461 than throughout the create operation. This required changes
14462 to AllocateUserStack(), FreeUserStack(), SetupUserStack() to
14463 cope with cases where the process data/bss/stack chunk is freed
14464 during thread creation. This was done to make creation of
14465 EThreadMinimalSupervisor threads a real-time service.
14466 Added new test programs T_PROC3 and T_PROC4 to test process
14467 death during thread creation.
14469 Changed Brutus bootstrap to link at 0xC8000000 instead of 0xD0000000
14470 in order to work with the 12Mb reprob bootloader.
14472 Fixed bug in SAWD bootstrap - redundant LS condition stopped the
14473 system booting unless bootstrap tracing was enabled.
14475 Use unnamed threads in T_SVR3, T_SVR6.
14477 --------------------------------------------------------------------------------
14480 03-03-00: Added 16-bit RAM bootstrap for MAWD and SAWD builds to enable tests
14481 on a system with 16 bit RAM and no MMU/cache.
14482 Added Brutus device drivers for power management, serial comms (one
14483 common PDD EUART.PDD for serial ports 1, 2 (SIR) and 3), digitiser,
14484 PC card and local media system including media drivers.
14485 Modified Brutus keyboard and LCD drivers to use power management.
14486 Changed Epoc::PollingWait() to take a context pointer which is then
14487 passed to the polling function.
14488 Changed power model shared power API. The functions now power up or
14489 down a single shared power input rather than a set of them. Added
14490 default implementation (no shared power inputs).
14491 Added function Epoc::LinearToPhysical() to convert a linear to a
14493 Removed kernel lock from DPBusPsuBase::SetState() - it is only ever
14494 called by the socket thread.
14495 TDes16::PtrZ() bug fix.
14496 Modified window server not to crash if an infoprint or notifier is
14497 requested which is longer than the screen width.
14498 When a DLL is unloaded any Dll::GlobalAlloc() belonging to it is
14500 Added iBusy flag to TDfcQue. This is set just before processing a
14501 DFC and cleared just before waiting on the thread semaphore. The
14502 TDfc::Enque() function now only signals the thread semaphore if this
14503 flag is clear rather than if the queue is empty. This prevents the
14504 buildup of unnecessary semaphore signals if a DFC is queued while
14505 another is being processed.
14506 Unlock the kernel in Exc::Dispatch() before printing the context of
14507 the thread which took the exception. This is so that the E32 tests
14508 may be run with T_LAT2 and meaningful latency measurements taken.
14509 Modified T_TERM to work on Brutus (screen size) and on SAWD (memory
14511 Added calibration function to CPUMETER.
14512 Modified T_WWINS to work with screens <50 chars wide (eg Brutus).
14513 Assembler coded most TSa1100:: functions and the tick/millisecond
14514 timer interrupt handlers in SA1100. Added dispatcher for shared GPIO
14515 11-27 interrupt line.
14518 --------------------------------------------------------------------------------
14521 19-02-00: Split platform and CPU layers into memory model dependent and
14522 non-memory model dependent bits. Only the latter are now in the
14523 e32\kernel\epoc and e32\kernel\epoc\arm directories. The rest are
14524 in e32\memmodel\MMNAME and e32\memmodel\MMNAME\arm where MMNAME is
14525 the name of the memory model. Include files platform.h, plat_priv.h
14526 and arm.h have also been split. These now contain only non-memory
14527 model specific stuff. The rest is in
14528 e32\include\memmodel\MMNAME\memmodel.h and
14529 e32\include\memmodel\MMNAME\arm\arm_mem.h
14531 The original memory model (moving RAM chunks on ARM-style MMU) is
14532 in e32\memmodel\moving\...
14534 Added non-MMU memory model in e32\memmodel\direct\... which builds
14535 and works (not fully tested) on Series 5 MX.
14537 Changed expansion algorithm for DObjectIx and DObjectCon. The arrays
14538 now expand by 50%+granularity each time instead of just by a fixed
14541 --------------------------------------------------------------------------------
14544 08-02-00: Reorganised source into a deep directory structure a la v6.0 kernel.
14546 --------------------------------------------------------------------------------
14549 16-11-99: Major change to context switching code. Chunks are now moved or have
14550 permissions modified one at a time, with preemption points following
14551 each chunk operation. Each process has a 'partial state change' flag
14552 which is set if a reschedule to or from that process is aborted at a
14553 preemption point, leaving the process with its chunks in different
14554 states. This flag is used on subsequent reschedules to defeat the
14555 normal optimisations, for example if new process = the current data
14556 section process don't move it. The functions which move chunks and
14557 change their permissions have been made state-aware and idempotent,
14558 so that the final state of the chunk is always the requested state
14559 regardless of the initial state. The code to add and remove chunks
14560 from a process address space has also been modified so that only
14561 one chunk is operated on between preemption points.
14563 The SWI/IRQ/FIQ/ABT vector code has been rewritten to reduce the
14564 time spent with interrupts disabled.
14566 Function Plat::PreemptionPoint() has been added. This is similar to
14567 Plat::AllowReschedule(), but returns a boolean value of TRUE if a
14568 reschedule occurred and FALSE if it did not.
14570 Reduced the block size for inter-process data transfer from 2K to
14571 512 bytes. Function Plat::PreemptionPoint() is called after each
14572 block is copied; if no reschedule occurred, the copy can simply
14573 proceed with no need to look up the remote address again since it
14574 cannot have changed. This results in a considerable speed increase.
14576 Moved assembler coded IPC stuff from KC_SCHED.CPP into a new file
14579 Bug fix to DPlatSemaphore and DPlatMutex destructors - kernel is
14580 locked before calling Reset().
14582 Rationalised inter-process data transfer mechanisms. All transfers
14583 now use DThread:: functions Read(), Write(), FastRead() or
14584 FastWrite(). All these are called with the kernel locked. The first
14585 two allow any length of data to be transferred and also allow
14586 remote descriptors to be used, but preemption can occur during the
14587 transfer. The FastRead() and FastWrite() functions allow up to 128
14588 bytes to be transferred and no preemption is allowed. These calls
14589 encapsulate the process memory model used (ie the fact that chunks
14590 belonging to non-running user processes exist in the home section).
14591 The CurrentAddress() functions are now protected non-virtual members
14592 of DPlatThread, so are not accessible by most code. The only
14593 code which still contains implicit knowledge of the memory model is
14594 the machine-coded DThread::RequestComplete and DServer::Accept code.
14596 Added skeleton SA1100/Brutus port. Modified MMU and scheduling code
14597 to cope with the SA1100 write-back cache and Harvard architecture.
14598 Drivers are scarce - only the LCD, keyboard and crash debugger have
14599 been ported. ASSP/interrupt support is not up to final standard -
14600 interrupts are simply prioritised in descending order of bit number
14601 in the SA1100 status register and the TSa1100 class needs machine
14604 Modified ExecHandler::LockedInc() and LockedDec() to use LDRT/STRT
14605 instructions to access the counter if called from user mode.
14607 Synchronised EUSER to ER5u.
14609 Bug fix to MMU initialisation code - if RAM banks were not aligned
14610 to the bank size, the wrong AND and EOR masks could be produced,
14611 resulting in memory leaks.
14613 --------------------------------------------------------------------------------
14616 28-08-99: Changes to MMP files to work with E32TOOLP 127 (ABLD etc.).
14617 New-look ROM.BAT with -i and -n options and new-style ROM.CFG file.
14618 Added very early debug mode - generates debug output from exceptions
14619 in global constructors or other crashes before normal debug output
14620 is available. Only works on Snowdrop.
14621 Machine coded 16-bit descriptors.
14623 --------------------------------------------------------------------------------
14626 Zero .bss section when loading ROM resident device drivers with a
14627 non-empty .bss section.
14628 Changes to ROM.BAT for SINGLE builds.
14629 Use 'fixed' in .IBY/.OBY files again - needs E32TOOLSv124A.
14631 --------------------------------------------------------------------------------
14634 More build tool changes:
14635 Split BLD.INF into BLD.INF and GENERIC.INF.
14636 Changed __THUMB__ macro to __MARM_THUMB__.
14637 Added ROMTARGET statements to MMP files for automatic IBY file
14639 Modified ExecHandler::CallSupervisorFunction to cope with THUMB
14640 code being used in the function. This is to allow F32 to be
14642 New system for building test ROMs.
14643 Store panic code when a system thread panics.
14644 Bug fix to power model to make switch off work when no absolute
14645 timers are pending.
14647 --------------------------------------------------------------------------------
14650 Added extra RLocalDrive::Format() function to format a specified
14652 Fixed more warnings generated by new GCC.
14653 Added iTimerExpired flag which is set when an absolute timer expires
14654 so that a switch-off currently in progress can be aborted.
14655 Added extra function DPowerModel::ClearTimerExpired() to clear this
14657 DPowerModel::SuspendTimers() now returns one of three values EEmpty,
14658 EPending or EExpired to indicate whether the absolute timer queue is
14659 empty or non-empty and whether an absolute timer has expired during
14660 the switch off process.
14661 Modified power manager to abort the switch off process if an
14662 absolute timer expires during the process or if one is due within
14663 2 seconds of the switch off time. When switching on due to a timer,
14664 switch on 4 seconds before timer expiry is due.
14665 Define __JUMP, __POPRET macros when compiling for THUMB.
14666 Added __SWITCH_TO_ARM macro to switch to ARM mode at the beginning
14667 of an assembler function (for use in test code).
14668 Modified the kernel to support user threads executing in THUMB mode.
14669 Added thumb indirect call helpers to UC_EXE.CPP and UP_DLL.CPP.
14671 --------------------------------------------------------------------------------
14674 Source renamed for consistency with ER5u. (UCDT->USRC etc.)
14675 DEF files frozen to work with new build system.
14676 Added BLD.INF to work with new build system.
14677 Various MMP file changes for new build system.
14678 Synchronised with E32 188.
14679 Changes to suppress warnings from new GCC.
14680 Changed EUSER machine code functions to use BX for returns and
14681 indirect function calls.
14683 --------------------------------------------------------------------------------
14686 Changes to make unicode build work:
14687 anInfo parameters to device drivers are TDesC8 instead of TDesC;
14688 Some TDes8's become TDes and vice-versa;
14689 Added unicode UIDs;
14690 Added ReadClient and WriteClient functions to DLogicalChannel
14691 and TMessage to handle 16-bit descriptors;
14692 Removed UIDs from ROM.OBY files;
14693 Don't put TLoaderInfo on supervisor stacks (it's too big);
14694 Return error code from UserSvr::LibraryLoaded().
14695 Display drivers mask the top 8 bits from 16-bit characters.
14697 --------------------------------------------------------------------------------
14700 14-06-99: Added a dedicated synchronous RMessageK slot to each thread. This
14701 ensures that a thread can always send a synchronous message without
14702 risking OOM failure.
14704 Reintroduced fixed message pool capability to sessions. A session
14705 may now be created either with a fixed size pool of asynchronous
14706 message slots using RSessionBase::CreateFixedPoolSession() or
14707 may be created with dynamic allocation of asynchronous message slots
14708 using RSessionBase::CreateSession(). This is intended to support
14709 message passing between threads with a real-time requirement.
14711 Added RSessionBase::Attach() to explicitly create a share for the
14712 current thread on a multithreaded session. This allows the thread
14713 to handle potential OOM errors in advance before actually starting
14714 on work which requires the session to be operational.
14716 Added C++ versions of ExecHandlers PushTrapFrame, PopTrapFrame,
14717 ActiveScheduler(), SetActiveScheduler(), TrapHandler() and
14720 Fixed problem with discontiguous memory dumps using the crash
14723 --------------------------------------------------------------------------------
14726 23-05-99: Added hooks to the kernel to allow the crash debugger to catch
14727 exceptions and kernel faults.
14728 Separated crash debugger into 3 parts (independent, CPU-dependent
14729 and ASIC/variant dependent). Added more features (register dump,
14730 exception handling, more comprehensive DObject dump, memory dump of
14731 discontiguous regions). Crash debugger is now an extension which
14732 hooks into the kernel at boot time, rather than being part of the
14733 kernel or variant DLL.
14735 Added multithreaded session support. A session is created in single
14736 threaded mode and a call to RSessionBase::MakeShareable() mutates it
14737 into multithreaded configuration and makes the client handle process
14738 relative. The original client is given a share immediately. Other
14739 threads in the same process acquire shares when they first attempt
14740 a message send on the session.
14742 Dropped the timer period on MEASURE_LATENCY builds from 2ms to 1ms
14744 Applied the Windermere DRAM refresh fix to TWind::SetStandby().
14746 Bug fix to DPlatProcess::AddChunk() - the process chunk list was
14747 being updated with the kernel unlocked.
14749 --------------------------------------------------------------------------------
14752 07-04-99: Added dynamic message allocation for sessions. Free messages are
14753 stored on a singly linked list with K::NextMessage pointing to the
14754 first free message. A new TDblQueLink field iSessionLink has been
14755 added to RMessageK - this serves the twin purpose of linking free
14756 messages onto the free list and linking messages in use to the
14757 session which originated the message. The latter is necessary to
14758 allow accepted messages to be freed when a session (or the server)
14760 Sessions no longer have a specific pool of message slots - they have
14761 a single reserved disconnect slot and a doubly-linked list of all
14762 messages in use by that session. A limit of 256 messages per session
14763 is imposed to prevent a rogue program from gobbling all the system
14764 RAM by repeatedly sending messages.
14765 The system message pool grows whenever a thread attempts to send a
14766 message on a session and none are free. The K::Sessions mutex is
14767 used to prevent multiple threads from growing the message pool at
14768 the same time. The system message pool is never shrunk.
14769 Added a new message state COMPLETED. A message enters this state if
14770 the server completes the message after the session has been closed
14771 by the client. This removes the need for the server to dequeue the
14772 message from the session while the client is iterating through the
14773 list of messages on the session and thus removes the need for mutex
14774 protection on this list. The session also has a new flag iClosing
14775 which is set when the client closes the session. COMPLETED messages
14776 will be dequeued from the session and returned to the free pool when
14777 final session cleanup occurs (i.e. when the server completes the
14778 disconnect message or terminates).
14779 Added DThread::iTempObj to allow a thread to open an object with the
14780 kernel locked and then wait on a mutex. If the thread dies while
14781 waiting, iTempObj will be closed by the kernel server.
14783 --------------------------------------------------------------------------------
14786 03-04-99: Added KBAWD16 directory to boot on Snowdrop with RAM in 16-bit mode.
14787 Ran benchmark tests in both 32 and 16 bit mode.
14789 --------------------------------------------------------------------------------
14792 26-03-99: Changed KMaxMemCopyInOneGo into a variable K::MaxMemCopyInOneGo
14793 which is initialised in ImpMmu::Init1() using an ASIC/Variant call.
14794 Added IPC stress test program \E32TEST\MISC\T_SVR3.CPP to test
14795 message passing with clients and servers exiting at random times.
14797 27-03-99: Reviewed all message passing code in light of problems observed
14798 running T_SVR3.EXE. Several changes made to ensure that the code
14799 operates correctly when the threads involved exit or the server is
14800 destroyed at inopportune moments. Mutex ordering changed - the
14801 K::Servers container mutex now comes before DObjectIx::HandleMutex
14802 since this mutex is now held during session creation while the
14803 client thread handle is being created. CServer::Connect() now uses
14804 Exec::ThreadRead8 instead of RMessage::ReadL() to read the version
14805 from the client since the latter would leave and cause the Error()
14806 function on CActiveScheduler to be called if the client exited
14807 before the server processed the connect message. This could then
14808 cause the server to panic.
14810 29-03-99: Executive functions Exec::ServerCreate(), Exec::SessionCreate(),
14811 Exec::SetSessionPtr() and Exec::CompleteDisconnect() have been made
14812 UNPROTECTED instead of SLOW.
14813 The kernel now validates RMessageK pointers passed in by user code.
14814 The functions involved are CompleteDisconnect, MessageComplete and
14815 and SetSessionPtr. Validation is done by first checking the pointer
14816 lies within the kernel heap, then checking that the message state
14817 is EAccepted and that the message pointer matches the value passed
14818 in. The value of RMessageK::EAccepted has been changed from 2 to the
14819 more unlikely value 0xbfffffc5 (this is an ARM-friendly value).
14820 Changed iSessionPtr in kernel-side RMessageK to point to DSession
14821 not CSession. This means that it is no longer necessary to pass out
14822 the DSession pointer on a session create. Each RMessageK is set up
14823 with the DSession pointer during session creation. DServer::Accept()
14824 changes this into the CSession pointer - stored in the DSession by
14825 SetSessionPtr() - while copying the message across. Eliminated
14826 function call RServer::SetSessionPtr() and replaced it with
14827 Exec::SetSessionPtr() since the server is irrelevant to this.
14828 Assembler coded Exec::MessageComplete() - this doesn't need to find
14829 the client by looking up the handle any more since it now has the
14830 DSession pointer available.
14831 Exec::DuplicateHandle() now updates the handle before releasing the
14832 thread's critical section to prevent thread heaps being orphaned if
14833 the thread is killed during heap creation.
14835 --------------------------------------------------------------------------------
14838 20-03-99: Removed redundant constructors and destructors from the kernel.
14839 TDfc now has only 2 constructors - the 4 parameter one and one which
14840 sets iDfcQ to NULL.
14841 Modified all DFC constructors which set the DFC queue to NULL to use
14842 the 3 parameter constructor.
14843 Removed redundant iObjId member from DObject to save RAM.
14844 Removed DPlatRequestSemaphore class. Thread request semaphores are
14845 now TPlatRequestSemaphore objects embedded in the DPlatThread. They
14846 do not appear in the K::Semaphores container and are not accessible
14847 other than by executive calls which explicitly use them.
14848 Reduced DObjectIx and DObjectCon granularities to 8 to save RAM.
14849 Changed Match, Locate and FindF executive calls from SLOW to
14852 23-03-99: Fixed problem with TEtna::ModifyUartControl8 and TEtna::SetUartBreak
14855 --------------------------------------------------------------------------------
14858 17-03-99: Implemented password stuff. There is still a potential problem with
14859 Exec::SetMachineConfiguration if the call is preempted and memory
14860 is used before the password is recreated.
14862 16-03-99: Modified ExecHandler::ThreadContext to truncate the returned data
14863 to fit in whatever buffer the caller supplies.
14864 Increased max user thread stack from 56K to 80K to accommodate the
14865 ESTLIB Posix server thread, which uses a 64K stack.
14866 Got Java running with Conifer 236 ROM.
14868 13-03-99: Implemented DynamicCallList and LibraryCallList functions. Added
14869 calls to DLL entry points. Test programs T_TDLL12, T_TSTART pass.
14871 12-03-99: Implemented DLL static data. Test programs T_TLDD and T_TDLLA now
14874 --------------------------------------------------------------------------------
14877 06-03-99: Replaced Plat::WaitOneMicrosecond() with a more general function
14878 Plat::NanoWait() which waits for a specified time in nanoseconds.
14879 Use this new function in ATA media driver.
14880 Added function Kern::MachinePowerStatus() to return the current
14881 power status - i.e. good if external power present, otherwise the
14882 main battery status.
14883 New Snowdrop current consumption figures.
14884 Stopped backlight turning on if battery status is Replace.
14885 Prevent writes to CF card if battery status is Replace.
14886 Added Vpc voltage checking.
14888 09-03-99: Reset2() is now not called on peripheral bus sockets when a power
14889 down occurs, only when a media change occurs. This leaves the card
14890 configurations intact. When the socket is next powered up, the
14891 Restore() function is called to restore any active card configs.
14893 --------------------------------------------------------------------------------
14896 28-02-99: New PBus/media system state machine, including postponement of power
14897 down and media change for writes.
14899 01-03-99: Implemented SetCurrentConsumption() for media drivers.
14900 Added DPowerHandler::DeltaCurrentConsumption() function.
14902 02-03-99: Timing measurements done for short reads.
14903 Optimised local drive access when data source or destination is the
14904 same thread as the DLocalDrive client. In this case, we don't bother
14905 opening the thread again and we leave iSrcDestThread=NULL. Functions
14906 ReadRemote() and WriteRemote() just call ReadClient() and
14907 WriteClient() if iSrcDestThread is NULL.
14908 Further optimisation by using Plat::SafeRead instead of ReadClient
14909 to read the TLocalDriveMessageData from a client request.
14910 Rewrote most TEtna functions in ARM assembler. Added new functions
14911 TEtna::EnableWaitControl() and TEtna::DisableWaitControl() to
14912 set up the ETNA wait state controller quickly - these each replace
14913 3 separate TEtna calls.
14915 05-03-99: Added iAdjusted flag to DLocalDrive. This is cleared for a new
14916 request and set when CheckAndAdjustForPartition() is called. This
14917 flag is used to prevent a deferred request from being adjusted more
14918 than once - adjustment is only done if the flag is clear.
14919 Fixed bugs in handling of requests by the local media subsystem and
14920 ATA media driver when the client thread exits while the request is
14921 still being processed or while the media is being mounted.
14922 Fixed bug in TMessage::Cancel(). If a message was completed after
14923 being cancelled this would cause a kernel fault. However this is a
14924 valid thing to do if a thread exits while a device driver request is
14926 Modified ATA media driver to call ReleaseConfig() when it is closed.
14927 Added test program T_ATADR3.EXE to stress the media subsystem and
14928 ATA media driver with requests from multiple threads, with threads
14929 which exit with requests outstanding and with media changes and
14930 machine power downs during processing of requests.
14932 --------------------------------------------------------------------------------
14935 26-02-99: Merged in changes to EUSER and F32 for ER5. EUSER is now up to E32
14936 166 standard and F32 up to release 132 standard (apart from UID
14937 changes - UIDs will need to be different for E32RT anyway).
14938 Use P2 UK keyboard table from LOCE32_1 release 005 for Snowdrop
14941 --------------------------------------------------------------------------------
14944 24-02-99: Modified Snowdrop digitiser driver to use DAdc::SetMinPriority() to
14945 lock out battery readings rather than using a dummy ADC channel.
14949 --------------------------------------------------------------------------------
14952 20-02-99: Changes to SWI handling:
14953 1. The call number is now checked to make sure it is in range.
14954 2. Slow and Unprotected calls now save r4-r11 before calling
14955 the kernel function and restore them afterwards.
14956 Modified LookupKernHandle, DSession::Send and DServer::Receive to
14957 take advantage of the saving of r4-r11 - they don't need to save
14958 registers themselves.
14959 DArmPlatThread::SetReturnValue() now places the value in the saved
14960 R4 register - this is copied into r0 by Plat::LeaveCS() or
14961 Plat::AllowReschedule() or the slow SWI postamble.
14962 DArmPlatThread::CallUserFunction() modified to cope with the case
14963 where a FIQ occurs immediately following execution of a SWI.
14964 Fixed bug in scheduler. If a high priority moving process is being
14965 scheduled and an interrupt occurs during the moving of the previous
14966 data section process to the home section, the reschedule is aborted.
14967 But if the thread readied by the interrupt has a lower priority than
14968 the thread being scheduled, the reschedule is never completed and
14969 the high priority user process' chunks are never mapped down.
14970 Use new default calibration values in Snowdrop digitiser driver.
14972 22-02-99: Implemented RThread::Context() to get the user-mode context of a
14975 23-02-99: Fixed bug whereby a closed DSession was dequeued from the DServer
14976 twice - once when the client Close()d the session and again when the
14977 server completed the disconnect.
14978 Fixed bug in TMessage::Cancel() - iDfcQ was being referred to and
14979 P::RemoveClient() being called even if the message was not currently
14980 in use. Changed so that iDfcQ is set when the message is sent and is
14981 set to NULL when the message is either completed or cancelled.
14982 Do ASIC/Variant Init1() before getting startup reason - on Snowdrop
14983 this is necessary for two shift keys reset to work (because Init1
14984 determines whether the machine is running in professional mode).
14986 --------------------------------------------------------------------------------
14989 Added DAdc::SetMinPriority() to enable lower-priority ADC channels
14990 to be suspended for a while (on Snowdrop taking battery readings
14991 leads to inaccurate digitiser readings.
14992 Fixed bug in DChannelComm::ImpRequest - client data was being
14993 accessed directly instead of using ReadClient or WriteClient.
14994 Improved debugger to allow memory and container dumps to either
14995 the screen or the serial port, with optional logging to a file.
14996 Fixed problem with sound driver - synthesised sounds were stopped
14997 when the last sample was placed into the sample buffer rather than
14998 when the sample buffer has been completely emptied.
14999 Added CBase::Delete() to delete a CBase-derived object.
15000 Removed Exec::DriveXxx functions from EUSER.
15001 Consolidated all chunk adjust operations (Adjust, AdjustDoubleEnded,
15002 Commit, Allocate, Decommit) into one Exec function.
15003 Moved some data from static storage to the kernel heap.
15004 Removed TMessage::SendReceiveL() and TMessage::SendReceiveH().
15005 Applied fix for Snowdrop cold-reset problem - still doesn't work
15007 Change permissions on virtual address 0 from RWNO to RORO.
15008 Some ExecHandler consolidation to reduce ROM size.
15009 Increased limit on a session's message slots from 16 to 20 to cope
15010 with Web (WtlServer sessions request 20 message slots).
15011 Fixed a bug in ATA driver - if a thread exited just before F32
15012 made a request on its behalf, the card status would not be set back
15013 to idle, rendering the device unusable until a remount occurs.
15014 Comms/sound driver fix - only unbind interrupts in the destructor
15015 if we successfully bound them.
15016 Fixed bug in keyboard driver - if a dictaphone key caused the
15017 machine to switch on, the keyboard driver would never acknowledge
15018 the power manager power-up request.
15020 --------------------------------------------------------------------------------
15023 Modified comms LDD - receive ISR can now accept a character count of
15024 zero (occurs if only XON or XOFF received).
15025 Generalised digitiser driver a bit - number of samples taken is now
15026 variant-configurable, as is pen-move filtering. The driver can now
15027 be built as a PDD for RAM-loading.
15028 Added debug mode checking to ensure that kernel heap is only ever
15029 accessed with the kernel unlocked and the current thread in a
15031 Exported TMessage::SendReceiveLocked().
15032 Re-introduced TransmitIsr() function to comms LDD.
15033 DPlatChunk::SetFixedAddress() now rounds the supplied size up to a
15034 multiple of the page size.
15035 Modified DPlatChunk::Reserve() to use the RAM allocator mutex so
15036 that it can be used after booting.
15037 Modified DPlatProcess::NewChunk() to reserve linear address space
15039 In DEBUG builds, DObjectIx and DObjectCon both use a granularity of
15040 1 to aid kernel heap testing.
15041 Fixed RHeap::Compress() bug.
15042 Set case state to closed when machine comes out of standby to avoid
15043 problems with incorrect state reporting.
15044 Remove extraneous Plat::LeaveCS() in emergency power down handler.
15045 Modified comms drivers to fill the TX FIFO in EnableTransmit().
15046 Brought C++ comms code up to date.
15047 Reduced power up/power down delay times in sound driver.
15048 Fixed problem with clearing Snowdrop screen when coming out of
15052 --------------------------------------------------------------------------------
15055 Added BITGDI-style video device driver for Windermere to enable full
15056 EIKON-based Snowdrop images to be created.
15057 Added media change notification to the local media device driver.
15058 This uses a Request on the device driver. Also added a way to force
15059 media change events (replacing UserPcCardCntrl::PowerDown()).
15060 Moved EUSER up to E32 161 standard.
15061 Moved F32 up to F32 127 standard - use F32_127A.ZIP with this.
15062 Fixed bug with ATA driver power down.
15063 Fixed bug in ATA driver - a format request was never completed due
15064 to incorrect updating of the amount of media formatted.
15065 Corrected power management code so that battery consumption is not
15066 counted while external power is present.
15067 Fixed 'switch off if no external power' mode - logic of test was
15068 inverted so that switch off only occurred if external power was
15070 Check external power and case open/closed state when machine comes
15072 Fixed problem with Windermere UART1 driver which caused UART2 lines
15073 to be wrongly configured after UART1 driver is closed.
15074 Changed ScreenInfo() function on Windermere port to return address
15075 of bitmap in video RAM rather than of palette - this is to obtain
15076 compatibility with ER5 release of BITGDI.
15077 Fixed emergency power down problem with Snowdrop - the interrupt was
15078 not being cleared after servicing.
15079 Fixed problem with kernel tracing on Snowdrop - the UART was not
15080 being reinitialised after coming out of standby.
15081 Text window server modified in line with ER5.
15084 --------------------------------------------------------------------------------
15087 Fixed bug where DLocalDrive was being dequeued twice as a result of
15088 TLocalDrive::Disconnect being called.
15089 Fixed bugs in local media state machine.
15090 Corrected erroneous use of registers in Plat::LockedSetClear().
15091 Modified media driver MEDATA.PDD so that card not busy interrupts
15092 now always queue a DFC which then transfers the data thus reducing
15093 interrupt latency. In addition, single sector reads have been made
15094 asynchronous as well. The only synchronous reads remaining are the
15095 preliminary reads for a non sector-aligned write.
15096 Modified MEDATA not busy timeout. Every 30ms a DFC is run to check
15097 for card not busy. If not busy, normal processing resumes. If card
15098 is still busy after 67 checks, the operation is timed out.
15099 Fixed ATA driver bug which caused incorrect data to be written to
15100 last sector of a non sector-aligned write of more than 4K.
15101 Fixed some bugs involving systems with more than one PC card socket.
15102 Added power handling to EPBUS.
15105 --------------------------------------------------------------------------------
15108 Added Windermere/Snowdrop B1 port. Macros are used for cache and TLB
15109 flush instructions, defined differently for EIGER and Windermere.
15110 Added Mmu::AllocPhysicalRam() function to allocate a block of RAM
15111 contiguous in physical addresses. This is used to allocate the video
15112 RAM in the Windermere port.
15113 Added first cut peripheral bus/PC card/CF card support
15114 Added local media subsystem using media drivers and accessed via
15115 RLocalDrive class. The local media system is implemented as a device
15116 driver. TLocalDrive is provided as a derived class from RLocalDrive.
15117 Removed old implementation of RAM drive access functions from the
15118 kernel and added IRAM media driver MEDINT.PDD. Exec::DriveXXX
15119 functions now return KErrNotSupported or do nothing.
15120 Added internal RAM drive interlock mutex and exported functions to
15122 Added first cut ATA media driver MEDATA.PDD
15123 Fixed battery monitoring bug - iAdjusted was not being initialised,
15124 causing status updates to be missed.
15125 Upgraded VA_ETNA.CPP in all variants to Rev 3 ETNA standard.
15126 Modified comms driver EnableTransmit() function to enable interrupts
15127 without filling transmit FIFO.
15129 --------------------------------------------------------------------------------
15132 14-12-98: Fixed a bug in Exec::ProcessSetOwner whereby a user thread might be
15133 killed and leave an unclosed reference on a DProcess.
15134 Implemented Exec::ThreadGetRamSizes.
15135 Put screen variant stuff back into bootstrap and map 2 pages for HW
15136 registers instead of 1 to cater for the CL-PS7111 chip (as used on
15139 --------------------------------------------------------------------------------
15142 09-12-98: Modified the memory mapping scheme. Thread supervisor stacks are now
15143 allocated in a new disconnected SvStack chunk. One guard page is
15144 placed before each supervisor stack to catch stack overflows. The
15145 kernel heap (and the kernel server stack) are in chunk SvHeap.
15146 User thread stacks are now allocated in the $DAT chunk of a process
15147 after the static data. The $DAT chunk is now a disconnected chunk.
15148 This will necessitate a change to ROMBUILD to cope with fixed
15149 processes in ROM - the stack space for the process must be added to
15150 the static data size to give the maximum size of the data chunk.
15151 8K of guard space is placed between adjacent user thread stacks in
15152 order to catch stack overflows.
15153 User heaps are now always created by a user thread. The main thread
15154 of a process creates its own heap when it begins execution in
15155 function K::RunUserThread in the kernel. Subsequent threads can
15156 either create new heaps or share a heap, as previously.
15157 Removed specially-declared null thread stack - the null thread now
15158 gets its stack the same way as any other kernel thread.
15160 10-12-98: Moved version of E32TEST up to 006. Reintroduced kernel heap checks
15161 into tests from which they had previously been removed (T_SVR2,
15162 T_TLS, T_CHUNK, T_REG). Added kernel heap checking to T_PROC1.
15163 Got T_CHUNK and T_THREAD working with full number of threads being
15164 created (previously this didn't work due to each thread requiring
15165 its own stack chunk).
15167 11-12-98: Moved up to F32 124 and E32TOOLP 098.
15168 Added 'magic' exception handling scheme. If a data-abort exception
15169 occurs in mode_svc and the aborted instruction is one of a select
15170 few 'magic' instructions, the exception handler simply returns to
15171 the instruction following the aborted instruction with the ZERO flag
15172 set and R12 containing the faulted data address. This avoids the
15173 need for long-winded address validation for inter-process transfers.
15174 The problem is that it is fairly difficult to determine the validity
15175 of a range of addresses in a disconnected chunk - this would require
15176 searching of the page bitmap; so instead we simply verify that the
15177 address given is in the process address space and the offset in the
15178 chunk is within the home region offset range - this guarantees we
15179 cannot access another process' chunk by accident.
15180 Added functions Plat::SafeRead() and Plat::SafeWrite() which make
15181 use of this facility to provide exception-proof small-block data
15182 transfers for kernel functions.
15183 Modified DThread::RequestComplete and DServer::Accept to use the
15184 'magic' exception handling facility.
15185 Modified GetDesInfo(), GetDesLength() and GetDesMaxLength() to use
15188 12-12-98: Optimisations to DThread::RequestComplete, DServer::Accept (machine
15190 Added function DThread::AsyncClose(). This is called from
15191 TMessage::Complete to close the message's reference on the thread.
15192 If the access count drops to zero during this call, the thread
15193 must have terminated with a kernel message outstanding. The dead
15194 thread's kernel message is sent to the kernel server, but the
15195 current thread does not wait for its completion. The kernel server
15196 actually deletes the dead thread. This is done so that device driver
15197 threads do not have to actually delete the thread, which may
15198 involve waiting a long time for the kernel heap mutex.
15199 Added test program T_PROT2 which tests protection of a new process
15200 against scribbling over its chunks while it is being loaded.
15201 Added function UserSvr::ExecuteInSupervisorMode() available only to
15202 F32. Modified loader SF_LDR.CPP and SF_IMAGE.CPP to make use of this
15203 call to run the functions which fix up images in supervisor mode.
15204 This removes the need for the chunks of a new process or DLL to be
15205 given user read/write permissions until they have been loaded.
15206 Removed functions DPlatChunk::ApplyUserPermissions() and
15207 DPlatChunk::SetFinalPagePermissions().
15209 --------------------------------------------------------------------------------
15212 03-12-98: Changed all instances of TName in the kernel to TKName which has max
15213 length 64 characters. This is to guarantee that the full name of an
15214 object can never exceed the 256 character limit of a TFullName.
15215 Moved the kernel-generated panic numbers (TKernelPanic) into a
15216 separate header file E32KPAN.H. This is included in e32test.h and
15217 in uc_exec.cpp but not in all EUSER files. It is also included in
15218 K32STD.H, and so in all kernel files.
15219 Removed logical channel functions relating to slow open, which are
15220 not required in E32RT.
15222 04-12-98: Implemented Exec::ThreadSetInitialParameter. The initial parameter
15223 is stored in a reserved word in the DThread and is read when the
15224 thread first starts to run.
15225 Implemented kernel heap checking in DEBUG builds. A special class
15226 TKernelHeapWalk is used so that failures don't cause a kernel panic.
15227 Modified Kern::SafeReAlloc so that in DEBUG builds it preserves the
15228 nesting level of the cell being reallocated. This is done to prevent
15229 reallocation from causing kernel heap checking to fail.
15230 Fixed bug in svThreadKill which caused kernel fault if a thread
15231 attempted to kill a protected thread.
15232 Fixed memory leak in DThread::Create - the supervisor stack was
15233 allocated and the pointer stored in a temporary variable for a bit
15234 rather than in the iSupervisorStack member variable. This meant that
15235 if the following memory allocation failed, the memory block which
15236 was allocated for the stack was orphaned.
15237 Added stub ExecHandler functions for CompressAllHeaps,
15238 DllGlobalAlloc, PasswordSetEnabled, PasswordSet, ChangeLocale and
15240 Implemented Exec::ChunkSetHeapInfo to record information about the
15241 heap existing in a chunk so that it can be compressed. This function
15242 also stores a pointer to the heap interlock mutex and increments the
15243 mutex reference count. When the chunk is deleted the reference is
15244 closed to balance this.
15245 Fixed bug in LCD driver - contrast was not being correctly set when
15246 the machine powered up.
15247 Modified RHeap::Open so that it will refuse to modify a zero access
15249 Modified RHeap::Close so that if the access count falls to zero,
15250 Exec::ChunkSetHeapInfo is called with KNoHeap so that the reference
15251 to the heap mutex can be closed.
15253 05-12-98: Implemented generic priority inheritance for TDfcQue. A Boolean
15254 field iInherit has been added; if it is set TRUE, the DFC queue
15255 thread will inherit the priority of any clients which send a kernel
15256 message (TMessage) to it. The kernel server message queue sets this
15257 field TRUE during initialisation (KP_INI.CPP).
15258 Implemented Exec::CompressAllHeaps(). The compression is done by a
15259 dedicated kernel-side compressor thread. This thread is activated
15260 by kernel messages received from other threads, and it inherits the
15261 priority of its clients (if higher than its default priority).
15262 Heaps are only compressed if no thread currently holds the interlock
15263 mutex - the compressor thread can never block on this mutex since
15264 this could result in deadlocks.
15265 Fixed an access-count imbalance in shared heap chunks. When a thread
15266 is created with a new chunk heap, a handle is opened to the heap
15267 chunk to enable the thread to initialise its heap when it starts
15268 running. However the access count of the new heap chunk within the
15269 process was not incremented. This eventually results in the chunk
15270 being removed from the process address space while still in use by
15271 a thread in the process which shares the original thread's heap.
15272 The chunk's access count in the process is now incremented.
15273 In __MEASURE_LATENCY__ builds, the maximum observed interrupt and
15274 thread latencies are now recorded. T_LATNCY.CPP has been modified
15275 to make this information available.
15277 07-12-98: Bug fixes to sound driver:
15278 Set the correct DFC queue for DLddSound::iEmergencyPowerDfc.
15279 Set AlarmStackPtr to 0 when initialising an alarm.
15281 08-12-98: Bug fix in kernel - TDfc::Cancel was using register r0 after it had
15283 Comms PDDs modified to use Plat::DisableIrqsToLevel1() instead of
15284 disabling interrupts by hand - this is so that the kernel is locked
15287 --------------------------------------------------------------------------------
15290 26-11-98: Update battery insertion time when system time changes.
15291 Fixed problem with estimate of total charge taken from the battery.
15292 The power manager was using an invalid way of determining that the
15293 CPU is idle. The TickInterrupt() function is now called with a TBool
15294 indicating whether or not the CPU is idle.
15296 27-11-98: Added exports and public header file to PR_MISC.CPP so that it may
15297 be used by the sound driver to play the fallback alarm.
15299 28-11-98: Added sound device driver - basically rewritten from scratch rather
15300 than hacking the original sound driver, due to the excessive time
15301 taken by the latter in ISRs. So far, no battery monitoring is done
15302 by the sound driver; in addition, some machine coding of the ISR
15303 and of the sinewave generator may be advantageous.
15304 Modified comms device driver so that the PDD now determines which
15305 DFC queue is used rather than the LDD. This is so that PC card
15306 serial ports may use the PC card controller thread instead of the
15309 29-12-98: DLogicalChannel::Complete() now tests that the request is pending
15310 before completing it. It does nothing if the request is not pending.
15311 Added extra functions to read and write remote thread memory space
15312 without the need for descriptors:
15314 TInt DThread::Read(const TAny*, TAny*, TInt)
15315 TInt DThread::Write(TAny*, const TAny*, TInt, DThread*)
15316 TInt DLogicalChannel::ReadClient(const TAny*, TAny*, TInt)
15317 TInt DLogicalChannel::WriteClient(TAny*, const TAny*, TInt)
15318 TInt TMessage::ReadClient(const TAny*, TAny*, TInt)
15319 TInt TMessage::WriteClient(TAny*, const TAny*, TInt)
15321 Changed TDfc::Enque() to TDfc::DoEnque() - this function expects the
15322 kernel to be locked. Added TDfc::Enque() which locks and unlocks the
15325 01-12-98: Bug fixes to sound driver. It now passes T_SOUND with the exception
15326 of tests which require User::FreeLogicalDevice (not yet implemented)
15327 and which test that PreparePlay() and PrepareRecord() actually
15328 allocate memory (which they now don't).
15329 Fixed kernel bug which was failing to set the heap for a thread
15330 created with a shared heap.
15331 Made all kernel threads SYSTEM and PROTECTED.
15333 --------------------------------------------------------------------------------
15336 20-11-98: Added power handling to VARMP2\VA_KEYB.CPP so that key-up events
15337 may be delivered for keys which were down when power-down occurred.
15339 21-11-98: Implemented MachineConfiguration() and SetMachineConfiguration()
15340 functions. These currently assume that the super-page configuration
15341 is small enough to be copied with the kernel locked (i.e. <=2K on
15343 Implemented ModifyLedMask() in PR_POWER.CPP.
15344 Wrote miscellaneous function extension (PR_MISC.CPP) to implement
15345 the SoundHal group of HAL functions and to implement User::Beep()
15347 Wrote ADC driver extension. D_ADC.CPP implements a generic ADC
15348 controller with a queue of requests. PR_ADC.CPP implements hardware
15349 specifics for the Protea ADC. ADC requests are prioritised, so that
15350 e.g. digitiser readings can be guaranteed to occur before battery
15351 readings. ADC requests can also consist of multiple ADC readings,
15352 wait periods and a general preamble or postamble - e.g. to apply a
15353 load to the backup battery or to drive the X or Y digitiser plates.
15354 Fixed problem with K::SecondsFrom2000() so that it now works for
15355 times before and after K::Year2000.
15356 Removed functions SvSendReceive, SvSendReceiveCheck from UC_EXEC.CPP
15358 23-11-98: Implemented monitoring of reference voltage and main battery in file
15359 PR_BATT.CPP, using the ADC driver. Added and interface class
15360 DBatteryMonitor by which the power manager code in PR_POWER.CPP
15361 communicates with the battery monitoring code. Battery monitoring
15362 is done as part of the power manager, in the extension POWER.DLL.
15364 24-11-98: TMessage::Complete() now checks that the client thread has not died
15365 before attempting to signal its request semaphore.
15366 Added monitoring of the backup battery to PR_BATT.CPP, using a
15367 somewhat simplified scheme compared to the old E32 code. The generic
15368 periodically monitored channel abstraction TTimedAdcChannel is used
15369 instead of a completely specialised class.
15371 25-11-98: Implemented digitiser driver in 3 parts. D_XYIN.CPP contains generic
15372 code for processing raw samples from the hardware - averaging,
15373 discarding initial and final samples, filtering pen moves. It also
15374 implements a state machine for pen-down/pen-move/pen-up. File
15375 PR_XYIN.CPP implements calibration as used on the Series 5, which is
15376 dependent on PR_MCONF.H. File VA_XYIN.CPP implements pen-up/pen-down
15377 detection and raw sampling on the particular hardware, using the ADC
15378 driver to do the sampling.
15379 Note that pointer switch-on events and reading of calibration and
15380 configuration parameters from EEPROM have not yet been implemented.
15383 --------------------------------------------------------------------------------
15386 20-11-98: Implemented DPlatChunkHw to allow device drivers and extensions to
15387 dynamically map hardware addresses into the memory map. For ARM a
15388 simple queue of hardware chunks in decreasing order of linear
15389 address is used to allocate linear addresses. This is OK for ARM,
15390 since all HW chunks will have the same PDE. For other processors
15391 a more complicated scheme may be needed - this can be implemented
15392 by overriding some virtual functions.
15393 Modified VA_ETNA.CPP and VA_LCD.CPP to map ETNA and the video RAM
15394 using DPlatChunkHw.
15395 Fixed error in VARMP2\VA_KEYB - the wrong variant header was being
15396 included (v32armpd.h instead of v32armp2.h).
15397 Changed executive calls ScreenInfo(), WsSwitchOnScreen(),
15398 WsRegisterSwitchOnScreenHandling() and Beep() to be HalFunction
15399 calls instead, which are handled by the appropriate extension rather
15400 than by the kernel.
15401 Extension VA_LCD.CPP has been modified to deal with the first three
15402 of these functions, along with the rest of the DisplayHal group of
15405 --------------------------------------------------------------------------------
15408 7-11-98: TMessage::SendReceive now Open()s the client thread before sending
15409 the message to ensure that it cannot be deleted while the message
15410 is being processed. TMessage::Complete() closes the client thread.
15411 TMessage::Cancel() closes it if the message is being held on a
15414 11-11-98: Added power model to the kernel. File KS_POWER contains generic
15415 code with hardware-specific derivations in VA_POWER. Only power
15416 handler so far is for the LCD - device drivers not yet modified to
15417 work with the new power model. UserHal::SwitchOff() now implemented
15418 and test T_TIMER now passes.
15419 Fixed bug in timer code which meant that the hardware RTC was not
15420 being initialised with the system time on a cold start.
15421 Implemented TTickQ::WakeUp() to reconcile the state of the second
15422 queue after the system has been powered down.
15423 Moved DebugInit() function entirely into the variant layer. The
15424 flag indicating that the debug port is initialised has also been
15425 moved. This is so that it can be reset when we power down.
15426 Use a consistent size for the predefined stacks (null, irq, fiq,
15427 exception); this size is defined in arm_kern.h.
15428 Implemented a new type of DFC - the immediate DFC. These run as
15429 soon as the kernel is unlocked - at the point where an ordinary DFC
15430 would be transferred from the pending queue to its final queue. The
15431 immediate DFC is used to implement emergency power down, to ensure
15432 that devices are notified of the power-down before any threads can
15434 Increased the size of the null thread stack from 1K to 4K to allow
15435 for the new immediate DFCs.
15436 Changed HalEntryArray from an RArray<SHalEntry> to a SHalEntry<32>.
15437 The RArray<> was not reentrant safe.
15438 Added new Variant:: functions to turn display on and off, to turn
15439 the backlight on and off and to turn all power supplies off.
15440 Moved the generation of the switch on event from KP_INI.CPP into
15441 the power model in VA_POWER.CPP.
15443 12-11-98: Fixed some problems relating to emergency power down. This now
15444 seems to work, although no device drivers are currently involved.
15445 Modified Plat::DisableIrqsToLevel1() to also lock the kernel if it
15446 is not already locked - this is necessary since otherwise a level 2
15447 interrupt could cause a reschedule and the new thread could then
15448 enable interrupts. The return value now has bit 31 set if the
15449 kernel was locked. Plat::RestoreIrqs() checks this bit and unlocks
15450 the kernel if it is set.
15451 Modified the kernel server to Close() a thread which has exited or
15452 which has been paniced by the kernel server. This is to balance the
15453 Open() in the TMessage::SendReceive() call which initiated the
15454 kernel server operation.
15456 14-11-98: Modified keyboard driver to be an extension instead of an LDD. This
15457 removes the need for the window server to load it.
15458 Split out LCD power handling into a separate extension (VA_LCD.CPP)
15459 from the power handling extension (PR_POWER.CPP + VA_POWER.CPP).
15460 Restructured DLogicalChannel into two classes DLogicalChannel and
15461 DPoweredLogicalChannel. The former contains no power handling
15462 functions and may be implemented either with either direct executive
15463 functions or with a DfcQue. The latter has power handling via a
15464 DLogicalChannelPowerHandler, derived from DPowerHandler, and always
15465 uses a DfcQue. Client messages received while the channel is powered
15466 down or powering down will be deferred until the channel powers up
15468 Modified comms device driver to use DPoweredLogicalChannel and to
15469 act correctly on power-up and power-down. Reinstated the ETNA UART
15470 driver (VA_COM2) for rack D.
15472 15-11-98: Fixed debug build crash due to missing __NAKED__ declaration on
15473 TMilliSecondCallBack::Cancel().
15475 16-11-98: Implemented power-related and LCD/backlight related UserHal::
15476 functions in PR_POWER.CPP and VA_LCD.CPP respectively.
15478 17-11-98: Got test programs T_POWR and T_SERIAL working. This required fixing
15479 a timer bug relating to inconsistent rounding of TTime to the
15480 nearest second when dealing with absolute timers. This is fixed by
15481 adding a function K::SecondsFrom2000 which converts a TTime into
15482 seconds from K::Year2000, always rounding down (rather than towards
15484 T_SERIAL required a short pause (100ms) to be added just after
15485 waking up when checking that RTS/DTR are preserved over power down.
15486 This is due to the fact that when performing an operation on a
15487 channel, it is guaranteed that your channel has powered up before
15488 the operation is performed but it is not guaranteed that other
15489 channels have powered up.
15491 18-11-98: Fixed bug in KS_DEV which caused a crash if a logical channel create
15492 failed part-way through.
15493 Ran EIKON ROM - ER4 ROM 213 + E32RT + lexicon 040. Lexicon 041 in
15494 the ROM appears not to work.
15496 --------------------------------------------------------------------------------
15499 18-10-98: EXE code chunks are now fixed. Added extra parameter to functions
15500 DThread::Write() to indicate thread which initiated the action -
15501 this is either the current thread or the client thread for device
15502 driver writes. This is to allow F32 to write to code chunks owned
15503 by a process being loaded and to DLL code chunks, where the client
15504 of F32 is the loader and the chunk being written to is not part of
15505 F32's address space. Modified DThread::CurrentAddress(TAny*, TInt)
15506 so that no exemption is made for F32.
15507 The main thread of a newly-created process has the KThreadFlagMain
15508 bit set immediately on creation of the thread instead of when
15509 UserSvr::ProcessLoaded() is called. This is to ensure that if the
15510 load fails, Exec::ProcessKill can delete the process successfully.
15511 Added missing __NAKED__ declaration to TEiger::SetPalette().
15513 23-10-98: Fixed two timer bugs - 2^32-1 microseconds was being incorrectly
15514 handled due to signed arithmetic overflow, and added a check to
15515 reject an attempt to start an absolute timer for a time <=now.
15516 Implemented ProcessOwner() and ProcessSetOwner().
15518 24-10-98: KBARMS5 bootstrap will now handle up to 4Mb of 'ROM' code.
15520 26-10-98: Added stubs for unimplemented EXEC functions - DllGlobal*,
15521 DllDataInfo, PasswordIsValid, GetLocaleCharSet. Also stubbed the
15522 remaining EUSER functions which call SvSendReceive to return
15523 KErrNotSupported. This enables the E32 tests to run and fail rather
15524 than crashing the machine.
15525 Brought EUSER and EWSRV/ECONS up to E32 156 level. Changed _LITERAL
15526 declarations to _LIT in line with E32 156.
15528 27-10-98: Moved over to latest E32TOOLP (096). Added unicode UIDs to all MMP
15531 --------------------------------------------------------------------------------
15534 14-10-98: Modified DThread::CurrentAddress to work with disconnected chunks.
15535 The maximum size to test for must now be supplied. Made
15536 DPlatProcess::LookupChunk pure virtual in DProcess so that KS code
15537 can use it. Modified DThread::Write to work with disconnected
15540 --------------------------------------------------------------------------------
15543 15-09-98: Implemented 'Double-Ended' and 'Disconnected' chunks:
15544 Added function DPlatChunk::ExpandHomeRegion() which reallocates the
15545 home region to accommodate a new committed block. The home region
15546 size allocated is the minimum which will accommodate the new block.
15547 The home region does not need to include the whole of the reserved
15548 region - a new variable iHomeRegionOffset has been added. This is
15549 the chunk offset represented by the start of the home region.
15550 Renamed functions DPlatChunk::Commit() and DPlatChunk::Decommit()
15551 to DoCommit() and DoDecommit() respectively. These allow committing
15552 and decommitting of any part of a chunk.
15553 Implemented DPlatChunk::AdjustDoubleEnded(). This differs from the
15554 old E32 implementation in that it no longer guarantees to preserve
15555 the chunk state under OOM conditions. Only the intersection of the
15556 initial and final regions is guaranteed to be preserved.
15557 Added functions RChunk::CreateDisconnectedx where x=Local/Global.
15558 These create disconnected chunks, which allow any pattern of pages
15559 to be committed rather than just a single interval.
15560 Added functions RChunk::Commit(), RChunk::Allocate() and
15561 RChunk::Decommit() for use with disconnected chunks. These commit
15562 a specified interval, commit a specific size of block at an offset
15563 determined by the OS and decommit a specified interval respectively.
15564 Changes to DPlatThread::CurrentAddress() required to cope with
15565 disconnected chunks have not yet been implemented.
15567 --------------------------------------------------------------------------------
15570 11-09-98: Fixed bug in DPlatChunk::Decommit - the address was being passed
15571 to RemovePde instead of the offset, resulting in the PDE not
15572 being deallocated and the chunk's PDE info being incorrect.
15574 --------------------------------------------------------------------------------
15577 10-09-98: Fixed problem in comms driver - when the transmitter was flow
15578 controlled, continuous TX interrupts occurred. The TX interrupt
15579 is now disabled when the transmitter is flow controlled.
15581 --------------------------------------------------------------------------------
15584 09-09-98: Modified comms driver to avoid repeated calls to LDD functions. PDD
15585 now reads from TX buffer directly and makes a single LDD call after
15586 filling the TX FIFO. RX characters are stored in a buffer before
15587 being passed to the LDD in one block. This reduces time spent in
15588 interrupt (int latency with comms loopback down to 226us).
15590 --------------------------------------------------------------------------------
15593 03-09-98: Implemented the ROM-shadowing MMU functions and ported test program
15594 T_SHADOW.CPP and accompanying LDD D_SHADOW.LDD.
15596 09-09-98: Machine coded most TEiger functions.
15598 --------------------------------------------------------------------------------
15601 02-09-98: Added iPdeBitMap to DPlatChunk. For chunks with a max size of <=32
15602 PDEs, this is simply a bit-mask showing which PDEs are present.
15603 For chunks with more than 32 PDEs, it is a pointer to a bit map of
15604 the appropriate number of words. Added functions MoveHomePdes(),
15605 MoveCurrentPdes(), AddPde() and RemovePde() to set up this bitmap
15606 and use it to determine the chunk's current PDE range.
15607 Fixed a bug in TBitMapAllocator::NotFree() which caused incorrect
15608 answers to be given in the case where a word boundary was not
15609 crossed (the easy case!).
15611 --------------------------------------------------------------------------------
15614 01-09-98: Reverted the SetPdeInfo() function to its old non-searching form.
15615 Unfortunately this introduced a bug - while decommitting RAM, even
15616 a standard E32 chunk may temporarily become 'gappy'; SetPdeInfo()
15617 would not cope with this correctly.
15619 --------------------------------------------------------------------------------
15622 01-09-98: Machine coded those Mmu and ImpMmu functions which run with the
15623 kernel locked (PageTableId(), MapRamPages(), MapPhysicalPages(),
15624 UnmapPages(), AssignPageTable(), UnassignPageTable()).
15626 --------------------------------------------------------------------------------
15629 30-08-98: Rewrite of MMU code to reduce kernel-locked time. The functions of
15630 allocation/deallocation and mapping/unmapping of pages have been
15631 separated. The allocation and deallocation, which was the more time
15632 consuming part, now runs with the kernel unlocked and the global
15633 allocators protected by RamAllocatorMutex. The actual mapping and
15634 unmapping of pages is still done with the kernel locked to prevent
15635 collision with the scheduler.
15636 Added new TBitMapAllocator class which is machine coded for speed.
15637 It also remembers the last position it allocated to avoid repeated
15638 searching over any completely full initial segment of the bitmap.
15639 Extra functions have also been provided. AllocList() allocates a
15640 list of positions more efficiently than repeated calls to Alloc().
15641 AllocConsecutive() allocates consecutive positions. Both first fit
15642 and best fit methods are supported. This is intended for use in an
15643 AllocDmaPages() function (not yet written).
15644 Modified the organisation of the RAM allocator. A separate bitmap
15645 allocator (TBitMapAllocator) is now used for each physical RAM
15646 segment. This is to make it possible to write an AllocDmaPages()
15647 function which would allocate pages with consecutive physical
15649 The system for finding which physical segment a page of RAM is in
15650 has been modified. The system now computes a shift, and EOR mask
15651 and an AND mask at boot time. The physical address is shifted right
15652 then EORed with the EOR mask and ANDed with the AND mask. If the
15653 result is zero, the EOR result is used as an index into a bank
15654 lookup table which gives the bank number. This method should be
15655 quicker than a search of the bank data array.
15656 Split MMU code into two files KP_MMU.CPP and KE_MMU.CPP. The former
15657 is intended to be processor independent. It contains the code for
15658 allocation and deallocation of physical pages and for common
15659 initialisation. The file KE_MMU.CPP contains code for actually
15660 mapping and unmapping pages and for allocation and deallocation of
15661 page tables for a given MMU.
15662 Changed the split of the Mmu class. This class is now the base for
15663 ImpMmu, which is now defined in ARM_KERN.H instead of M32KERN.H.
15664 Class Mmu has several pure virtual functions which are implemented
15665 by ImpMmu. Mmu is now by necessity a non-static class, and global
15666 PP::TheMmu has been added to store a pointer to the MMU data.
15667 The DPlatChunk code has been amended to be more MMU-aware. This is
15668 necessary since the DPlatChunk code has to ensure that the chunk
15669 state is always consistent when the kernel is unlocked.
15670 Modified DArmPlatChunk::SetPdeInfo() to check the page directory
15671 to find the first and last PDEs in a chunk. This was done to make
15672 'gappy' chunks possible - there may be gaps in the set of present
15673 PDEs. However the current SetPdeInfo is not really good enough,
15674 since its execution time is proportional to the chunk's MaxSize -
15675 it has to search every PDE in the chunks reserved range. The RAM
15676 drive chunk has a max size of 496Mb, so this will probably take too
15677 long and adversely affect thread latency. I will probably employ
15678 another bitmap allocator to keep track of which PDEs are present,
15679 and search that instead, which should be quicker.
15681 --------------------------------------------------------------------------------
15684 23-08-98: Export function K::RecordInterruptLatency() so that other latencies
15685 may be measured, eg from interrupt to millisecond callback.
15686 Changed DFC handling system. Now adding a DFC puts it on to a
15687 'pending' queue rather than on its final queue and does not signal
15688 any semaphores. This is to reduce interrupt disable time. The
15689 scheduler picks up these 'pending' DFCs and places them on their
15690 final queues, signalling the DFC thread if necessary. This code
15691 all runs with the kernel locked and interrupts enabled. This
15692 change means that interrupts may no longer access the ready list,
15693 they may only add a DFC. All ready list modification is now done
15694 with the kernel locked, rather than with interrupts disabled.
15695 In addition, final DFC queues are manipulated with the kernel
15697 A new function TDfc::Enque() has been added which puts a DFC onto
15698 its final queue and signals the thread, as opposed to TDfc::Add()
15699 which places the DFC on the pending DFC queue.
15700 TDfc::iSpare1 is now used to indicate which queue a DFC is on. If
15701 this value is 0 the DFC is either not queued or is on the pending
15702 queue. If the value is nonzero, the DFC is on its final queue.
15703 A new flag TScheduler::iDfcPendingFlag has been added. This is set
15704 when a DFC is added to the pending queue and cleared after the
15705 last pending DFC has been moved to its final queue.
15706 Removed special-case code to handle threads in state
15707 EWaitRequestSemaphore, which was required because threads in this
15708 state could be made ready by an ISR.
15709 Implemented special-case code for ExecHandler::WaitForAnyRequest()
15710 which enables this to run as a FAST executive call instead of a
15711 SLOW executive call. This makes a noticeable difference to the
15712 speed on the standard benchmark tests - I guess this is probably
15713 the most popular system call.
15714 Moved some global variables (TheCurrentThread etc.) into TScheduler
15715 member data for easier access, reducing the number of literal reads
15717 C++ Scheduler (KP_SCHED.CPP) is now out of date.
15719 --------------------------------------------------------------------------------
15722 22-08-98: Rewrote SWI handler to reduce interrupt disable time. Handle lookup
15723 now runs with the kernel locked and interrupts enabled. This means
15724 that handle lookup is only available with slow executive calls.
15725 Changed some executive calls which use handle lookup from FAST to
15726 SLOW. Changed executive calls which return a descriptor (e.g.
15727 MonthName) from FAST to SLOW to reduce interrupts-off time.
15728 Created a new header file U32ARM.H to hold processor-dependent
15729 interface data between EKERN and EUSER, such as bit masks
15730 required for SWI calls.
15732 --------------------------------------------------------------------------------
15735 20-08-98: Changed ExecHandler::WaitForAnyRequest() to run with interrupts off
15736 rather than with the kernel locked. Changed TDfcQue::ThreadFunction
15737 to call this directly rather than via User::WaitForAnyRequest().
15738 Best benchmark results ever - T_SVR 7530 T_PROC1 1608 T_CTXSW 40300.
15739 10 seconds to spell check Welcome on EIKON ROM 209.
15740 Fixed bug in KS_TIMER.CPP in TSecondQ::SystemTimeChanged() - this
15741 should acquire the timer mutex while iterating through the timer
15744 21-08-98: Made the machine reset if the window server (event thread) dies.
15745 Added debugger facility to dump out a thread's context if it causes
15746 an exception. Device driver D_DEBUG.LDD binds to the kernel debug
15747 interface, test program T_DEBUG.EXE displays the information.
15749 22-08-98: In __MEASURE_LATENCY__ build, flush the TLB and cache at the start
15750 of the IRQ and SWI handlers, to obtain more realistic worst-case
15752 Added VARMP2 variant for Protea, and bootstrap in KBARMS5. This
15753 allows a ROM image to be produced which can be downloaded onto a
15754 Series 5 using D_RTLDR.LDD/RTLDR.EXE and run. The code resides
15755 in the 0xd0000000 RAM and E32RT runs with 4Mb of available RAM
15756 in the 0xc0000000 area.
15757 P2 keyboard driver is a bit dodgy at the moment.
15759 Decided that interrupt and thread latency needed improving.
15761 --------------------------------------------------------------------------------
15764 19-08-98: Completely changed the scheduling system. Three main changes:
15765 1. Registers making up a thread's context are stored on the
15766 mode_svc stack for that thread instead of in the thread
15767 control block. Context switching takes place in the scheduler
15768 where the registers for the initial thread are pushed on the
15769 stack, then sp_svc is saved in the thread control block. At
15770 the end of the reschedule, sp_svc is restored from the new
15771 thread's control block and the registers are popped, resulting
15772 in a context switch to the new thread. This reduces interrupt
15773 latency, since less stack accesses now occur with interrupts
15774 disabled. It also simplifies the handling of SWIs, interrupts
15775 and exceptions in ke_int.cpp.
15776 2. The current thread now remains on the ready list. This means
15777 that the ECurrent state for threads is no longer needed, and
15778 the current thread simply remains in the EReady state. This
15779 reduces the time taken for preemption to occur, since once the
15780 new thread is added to the ready list, it is only necessary
15781 for the scheduler to find it; no adding or removing of entries
15782 is required. It also enables most of the ready list processing
15783 to occur with interrupts enabled, reducing interrupt latency.
15784 This also allows the timeslicing to be tightened up. Each thread
15785 now has an iTimeslice which specifies how many milliseconds it
15786 may run for before yielding to a thread of the same priority.
15787 The millisecond timer decrements the current thread's iTime
15788 count and when it reaches zero, a reschedule occurs. Setting
15789 iTimeslice to -1 will result in a FIFO scheduling policy for
15791 3. A reschedule to a moving chunk or variable access process can
15792 now be aborted after each process is moved. This means that
15793 preemption may occur after the time taken to move a single
15794 process' chunks, whereas previously it would have to wait for
15795 a maximum of 2 process moves + 1 process protect.
15798 K::SvMsgQ.iThread is set just after the initial thread is
15799 created, instead of after the kernel server priority is set.
15800 This eliminates any chance of a kernel server message being sent
15801 before K::SvMsgQ.iThread is set up.
15803 --------------------------------------------------------------------------------
15806 17-08-98: Modified VARMPD\VA_HW.CPP to set the correct wait states on the ROM
15807 (2 wait states) instead of leaving the maximum 4 wait states set by
15808 the bootstrap. This gives a considerable speed increase, with
15809 T_SVR up from 6500 to 7088 and T_PROC1 up from 1140 to 1505.
15810 Running from RAM T_SVR gives 7278 and T_PROC1 1978!
15811 Fixed scheduler bug which could leave user processes unprotected.
15812 Scheduling from a variable access process to the kernel process
15813 and then to a fixed access user process would leave the first
15814 process unprotected. Now only skips the MMU stuff if both the
15815 new current process and TheCurrentVMProcess are fixed access.
15817 --------------------------------------------------------------------------------
15820 10-08-98: Renamed DPlatProcess::iMutex to iProcessLock for easier searching.
15821 RDebug::Print now leaves the kernel locked while printing.
15822 DPlatProcess::SvKill no longer acquires the process lock before
15823 calling Release(). DPlatProcess::Release() acquires the lock after
15824 deleting the handles array.
15825 DPlatThread::Die now only acquires the process lock while unlinking
15826 the thread from the process thread list.
15827 DPlatThread::Die releases held mutexes before waiting on process
15830 12-08-98: Modified comms driver to implement a timeout on ReadOneOrMore to
15831 prevent the client just being completed immediately and using vast
15832 amounts of CPU time.
15833 Fixed bug in KE_MSTIM.CPP where a function had been interposed
15834 after a 'fall through' function.
15835 Added DLogicalChannel::GetClientDesLength, GetClientDesMaxLength
15836 and GetClientDesInfo functions.
15837 Modified comms driver to use these functions rather than accessing
15838 client descriptors directly.
15840 13-08-98: Added code to measure interrupt and kernel thread latency, enabled
15841 by the __MEASURE_LATENCY__ switch. Test program T_LATNCY is used
15842 to dump out the measurements to COM1.
15843 Latency measurements not up to spec - large variations due to cache
15844 misses. Thread latency peaked at 1.3ms running Comms loopback and
15845 3 copies of T_WRITE. Interrupt latency 326us.
15846 Modified bootstrap to copy code into RAM and run from RAM. This
15847 produced a noticeable speed and latency improvement, especially
15848 under frequent cache flushing (eg T_PROC1 nearly doubled from 995
15849 to 1870, with latency measurements active). Max thread latency
15850 with Comms loopback + 3 copies of T_WRITE down to 826us.
15851 Reduced block size for remote thread read/write from 4K to 2K and
15852 reduced RAM allocation block size from 8 pages to 4 pages to
15853 improve latency. With both improvements, Comms loopback + 3TWrite
15854 gives 207us int + 656us thread latency. Comms loopback + 2TFrag
15855 gives 220us + 628us. 3TFrag with no comms gives 44us + 332us.
15857 --------------------------------------------------------------------------------
15860 06-08-98: Modified DObject destructor to atomically replace iName with NULL
15861 before freeing the name buffer.
15862 Modified DObjectCon name searching functions (CheckUniqueFullName,
15863 FindByName, FindByFullName, OpenByFullName) to ignore objects with
15864 a zero access count.
15865 Fixed bug in Plat::ThreadEnterCS(handle,container) which attempted
15866 to panic the current thread without releasing the critical section.
15867 Changed some delete-and-clear-pointer operations to use the atomic
15868 swap routine Plat::SafeSwap.
15869 Added a check to fault the kernel if a thread panics while the
15872 07-08-98: Code chunks for RAM-loaded processes are now called $EXE[proc id]
15873 to ensure unique names for each process code chunk.