- 23 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp08s - If OS_AMBControl allocate is asked for a AMB node with a size > 0, but no pages can be claimed, it frees the node and returns an invalid handle (0). Make sure that the Wimp's allocateslot routine is aware of this, so that we don't try passing that bad handle back to AMBControl later on s/Iconbar - Use nullptr constant instead of -1 when checking task_slotsize (aka AMB node handle on modern machines) Admin: Tested on BB-xM Fixes abort seen when attempting to start a task with no pages in the free pool Version 5.53. Tagged as 'Wimp-5_53'
-
- 08 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp01, s/Wimp02, s/Wimp05, s/Wimp08s, s/Wimp10 - Avoid unnecessary remainder calculations in DivRem macro. Also make more use of DivRem's ability to accept a constant (not a register) as the divisor. Admin: Tested on Cortex-A15 Version 5.52. Tagged as 'Wimp-5_52'
-
- 10 Oct, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: This restores support for Wimp_ClaimFreeMemory, via having the Wimp manage a small-ish (4MB) DA that is used to satisfy Wimp_ClaimFreeMemory requests. The Wimp will only ever grow the DA, but the DA is shrinkable, so the system should shrink it as necessary should the free pool run too low. Options/s/!Default, Options/s/32, Options/s/Ursula - Add DynamicAreaWCF option to control support for the Wimp_ClaimFreeMemory DA. Enable the option for any builds of the module destined for RISC OS 5. Options/s/!Debug - New debug option for Wimp_ClaimFreeMemory debugging (mainly DynamicAreaWCF code path) Wimp/s/Wimp01 - Add calls to create/destroy DA on startup/shutdown Wimp/s/Wimp08s - DA create/destroy implementation. DA is only used if the free pool is a PMP or the Wimp expects kernel free pool locking but the kernel doesn't support it. Modify Wimp_ClaimFreeMemory to use the DA if it's present. Admin: Tested on Raspberry Pi Restores compatibility with software which relies on Wimp_ClaimFreeMemory, e.g. GDraw module (cause of "No free memory" errors reported by many) Note that Wimp_ClaimFreeMemory is still considered deprecated and support may be removed in future OS versions. Version 5.50. Tagged as 'Wimp-5_50'
-
- 01 Sep, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp08s - If the free pool is a PMP, it's fairly safe to say there'll be no logical mapping, so don't allow Wimp_ClaimFreeMemory to succeed. Also cope with OS_Memory 10 potentially being unimplemented - swallow any error it generates, and refuse to claim the free pool. Admin: Tested on Pandaboard Fixes crashes and subsequent OS_ChangeDynamicArea failures caused by software trying to claim the free pool (e.g. FileCore temp buffers). Version 5.49. Tagged as 'Wimp-5_49'
-
- 13 Apr, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp08s - Improve testapplication to detect situations where data is being stored above MemoryLimit, e.g. if a C app uses system() to issue *WimpTask Usually the CAO check will detect this kind of situation, except for the case where a single-tasking app issues *WimpTask - in which case the CAO will get reset to the Wimp module due to ModHandReason_Enter being used to get into USR mode so a temp parent task can be created Wimp_SlotSize checks MemoryLimit against ApplicationSpaceSize before allowing the wimpslot to be resized, so it seems to be a bit of an oversight that the task startup code wasn't doing the same Admin: Tested on BB-xM Fixes ticket #279: https://www.riscosopen.org/tracker/tickets/279 Version 5.39. Tagged as 'Wimp-5_39'
-
- 31 Oct, 2002 1 commit
-
-
Ben Avison authored
The application space size returned from OS_ChangeEnvironment includes the &8000 below the application slot, and our Message_MemoryMoved handler wasn't taking account of this, hence the way module tasks randomly acquired 32K wimpslots in the Task Manager! Also updates appslotsize variable on task switches, to remove some false positives. Version 4.79. Not tagged
-
- 25 Oct, 2002 1 commit
-
-
Ben Avison authored
Detail: * Default UpCall handler is installed when an application is paged out, so there is no danger of it being called by naughty people issuing UpCalls in the background. * AMBControl builds now sit on Service_MemoryMoved so that they can issue Message_SlotSize when the kernel has resized the application slot independently (eg because the memory was needed to grow a dynamic area, and nobody objected via Service_Memory or UpCall_MovingMemory). * Medusa-onwards builds no longer request Service_ValidateAddress, because we're not managing the free pool any more, and the code that was here only called an ineffectual SWI! * SafeChangeDynamic wasn't setting the CAO high enough to be free of big application slots; now it points it at itself. * The free pool wasn't being shrunk/grown enough on initfirsttask / closelast. It still can't do by more than 1GB without stiffing - bug in kernel? * Bugs in top-bit-safe changes fixed: dragbox resizing was broken, Escape state wasn't being restored for new tasks. Admin: Tested on high-ROM/stack, 48M-appslot Tungsten. Version 4.77. Tagged as 'Wimp-4_77'
-
- 23 Oct, 2002 2 commits
-
-
Ben Avison authored
Put back in a change to Service_Memory that I regressed while tracking down a bug. Retagged as 'Wimp-4_76'.
-
Ben Avison authored
Detail: All pointers passed to the Wimp (mode selectors, menus, sprite areas, palettes, pollwords, validation strings, message lists, routines etc etc) in any of its APIs can now be anywhere within the 32-bit address range. In general, whenever "<= 0" was accepted as a null condition, the value must now be either 0 or -1. It should also be tolerant of system memory areas (supervisor stack and RMA) being in the top half of memory. Also: * Default next slot now a build option - Ursula builds (eg Tungsten) use 1024K instead of 640K * Ursula builds no longer have a build variant in the help string * Autosenses ROM location * CR-LFs in *Configure messages replaced with LF-CRs * Added Iyonix resources (currently based on Morris4) * Morris4 sprites files have gained file_lxa, small_lxa, file_unf, small_unf and lo!help sprites * Ursula sprites files have gained lo!help sprites * *WimpSlot can take memory sizes in megabytes or gigabytes Admin: Tested ...
-
- 22 Aug, 2002 1 commit
-
-
Ben Avison authored
Version 4.75. Tagged as 'Wimp-4_75'
-
- 20 Oct, 2000 1 commit
-
-
Ben Avison authored
Detail: * Added new functionality for menu trees: submenus can now be opened by clicking on their parent menu item. This is particularly aimed at touchscreen devices, and is configurable via the new *Configure keyword WimpClickSubmenu. * Change to the menu inactivity timeout behaviour after auto-opening of submenus (either by hovering over the parent menu item or by the new click-to-open functionality): although all hover operations are still ignored for this period, any click operations *will* now be obeyed. * Corrected numerous misleading comments in the menu handling code. * Added some suspiciously absent ALIGNs in the *Configure keyword handlers. * Uses new ASCII case-forcing macros so there are now fewer warnings printed during assembly (and it should run faster now too). * Added an AREA directive so that objasm's -ABS switch is no longer needed. * Standardised ErrMem token across all Messages files that use English. Admin: Tested on a desktop machine. Requires HdrSrc 1.06. Version 4.57. Tagged as 'Wimp-4_57'
-
- 25 Apr, 2000 1 commit
-
-
Kevin Bracey authored
Detail: Lots of little changes throughout a lot of source. Admin: Appears to work - not stress tested with things like lots of tasks, big transfers, and all the other things that tend to go wrong. Version 4.47. Tagged as 'Wimp-4_47'
-
- 18 Sep, 1998 1 commit
-
-
Ben Avison authored
-
- 07 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 01 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 13 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 2 commits
-
-
Neil Turton authored
-
Neil Turton authored
-