Software compatibility and ‘zero page relocation’

posted in: General | 0

RevillRISC OS Open have introduced the use of ‘zero page relocation’ into the development ROM images of OMAP3, OMAP4 and Raspberry Pi with a view towards the changes being rolled into future stable versions.

Zero page relocation is a change to the RISC OS memory map that effectively moves the kernal’s ‘zero page’ workspace up to the high end of the memory map rather than address zero, which had been used up until now. This improvement increases the system’s resilience to common software bug the ‘null pointer dereference’.

There is one problem however, RISC OS has always memory mapped to address zero, which will result in a very large amount of exisiting RISC OS software, especially older/legacy programs being rendered unusable by RISC OS goingforward as their code contain cases of null pointless dereferences – from what I gather, the code will read from page zero where as the OS is expecting to execute from the high end, giving a data abort error and dying completely in the process.

RISC OS Open’s Steve Revill commented on the benefits of this move towards zero page relocation on ROOL’s online press statement: “Since relocating zero page is very beneficial to the stability and security of the OS, the goal is to have the feature enabled for all future stable releases, starting with RISC OS 5.24.

“But due to the large amount of buggy software out there we can’t simply turn it on and be done with it – we need to have a transition period in which developers can fix their code without worrying about the fact their compilers, text editors, etc. are buggy too. We also need a way for regular users to get involved with the testing process.

For a full rundown, check out Steve’s statement on the RISC OS Open website – very important for any coders reading.

Leave a Reply

Your email address will not be published. Required fields are marked *