Commits (4)
-
Jeffrey Lee authored
Detail: s/Taskman - Generation of TaskWindow_Dying error within ByteV handler wasn't balancing the stack correctly, causing it to try branching to the PSR. Fix this, and tighten up the code a bit (can use R0 as temp as it'll always be set to something sensible on exit) Admin: Tested on iMx6 Fixes reported issue with machine stiffing when killing task windows containing running programs Issue was only observed on pre-PMP kernel version, where the code would have branched into the free pool (loaded PSR appeared to be &80000193), corrupted some memory, and then got stuck in a loop Presumably this has never been spotted on other systems because there would have rarely been any memory at that location, generating an immediate abort, but the error message gets swallowed because the task is exiting? (or there was memory there, but the user got lucky and the code aborts before fatally corrupting anything) Version 0.77. Tagged as 'TaskWindow-0_77'
6c68eb4b -
Jeffrey Lee authored
Detail: s/Taskman - Remove all NOPs from after PSR manipulation macros; the macros now take care of these for us. Change some RestPSR instances to the "f" variant, so that the macro won't insert ARM2 NOPs. Admin: Tested PlingSystem build on (ARM3) RISC OS 3.1 Requires HdrSrc-2_63 to be ARM2 safe Version 0.78. Tagged as 'TaskWindow-0_78'
5e279358 -
Jeffrey Lee authored
Detail: s/Taskman - As described in the ARM ARM, the local exclusive monitor is allowed to be a bit dumb when it comes to comparing addresses, and so a manual CLREX is required whenever we return to code that has been unwillingly pre-empted Admin: Tested on Raspberry Pi Version 0.79. Tagged as 'TaskWindow-0_79'
3ef9cca5 -
Jeffrey Lee authored
Detail: s/Taskman - When TaskWindow was converted to use TickerV instead of VSync events for implementing the INKEY timer, one line of code was left in the wrong place, causing all INKEY delays to be 1cs longer than they should Admin: Tested on PandaBoard 100 * OS_Byte 129,0,0 now completes instantly (was 1s), 100 * OS_Byte 129,1,0 now completes in 1s (was 2s), both now matching single-tasking behaviour Should fix issue reported on forums with OS_Byte 129,0,0 -heavy programs running unreasonably slow: https://www.riscosopen.org/forum/forums/4/topics/9317 Version 0.80. Tagged as 'TaskWindow-0_80'
42a78113
Showing