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'
Showing with 42 additions and 16 deletions