Re: [ARMini-support] ARMX6 OS Upgrade 3 released

  • From: Andrew Pinder <Andrew.Pinder@xxxxxxxxxxxxx>
  • To: armini-support@xxxxxxxxxxxxx
  • Date: Sun, 11 Oct 2015 21:10:40 +0100

In message <561A8DF3.3070700@xxxxxxxxxxxxxxxxxxx>
on 11 Oct 2015 David Pilling <david@xxxxxxxxxxxxxxxxxxx> wrote:

Hi,

On 11/10/2015 16:45, Andrew Pinder wrote:
"Stone age" = Model B vintage?

Perhaps it would be more use to quote Jeffrey's explanation [1].

"Stone age" turns out to be a description of the thinking not the
chronology.




[1]

I've had a quick look at the issue and it looks like the problem is
caused by GDraw's reliance on Wimp_ClaimFreeMemory. With recent ROMs
(the ones containing 'physical memory pool' support) the free pool is no
longer mapped to the logical address space. This solves the problems
that new machines have been having with logical address space
exhaustion, but it's also caused some issues with Wimp_ClaimFreeMemory.
On older OS versions the call would return a pointer to the base of the
free pool - obviously this can't work if the free pool isn't mapped into
the address space!

Wimp_ClaimFreeMemory has been marked as deprecated since RISC OS 3.5
(and for good reason - the call would have the effect of locking the
free pool, preventing OS_ChangeDynamicArea from being used until the
memory was released again), so I figured that it was worth seeing what
would happen if I just disabled it rather than implement some kind of
compatibility mode. On new OS versions the call exists, but it will
always report that there's 0 bytes available, and will return a length
of 0 on any claim.

PRM 5A recommends that instead of using Wimp_ClaimFreeMemory you should
create your own dynamic area.

This is an excellent clear explanation.

I won't be surprised if some software continues to fall over due to
the author not checking whether the free memory actually claimed is
zero.


Regards

Andrew
--
Andrew Pinder
---
To alter your preferences or leave the group,
visit //www.freelists.org/list/armini-support
List-related queries to info@xxxxxxxxxxxx

Other related posts: