log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- R-Comp updates RISC OS Hexen port to v1.08 (News:)
- APDL make their PD catalogue available for free download (News:74)
- WROCC October 2024 meeting - Andy Marks and RISCOSbits (News:)
- WROCC October 2024 talk on wednesday - RISCOSbits (News:)
- September 2024 News Summary (News:2)
- London Show is 4 weeks away (News:)
- ROOL updates DDE to issue 31e (News:4)
- WROCC Newsletter Volume 41:12 reviewed (News:)
- WROCC September 2024 talk on wednesday - Amcog (News:2)
- Rougol September 2024 meeting on monday (News:)
Related articles
- R-Comp updates RISC OS Hexen port to v1.08
- London Show is 4 weeks away
- September 2024 News Summary
- ROOL updates DDE to issue 31e
- September developer 'fireside' chat is on saturday night
- August 2024 News Summary
- CloudFS re-evaluated with new 0.35 release
- Drag'n'Drop 13i4 edition reviewed
- WROCC August 2024 meeting on wednesday - Paul Reuvers
- 'Live Coding with Gerph" session on sunday
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: News and features: August Rougol report - Gerph goes 64 bit
 

August Rougol report - Gerph goes 64 bit

Posted by Mark Stephens on 08:27, 20/8/2024 |
 

The July 2024 talk was a hybrid meeting featuring Gerph (who knows a few things about RISC OS) looking at the 64 bit issues which RISC OS faces with the disappearance of 32 bit chips. It was a very well attended talk with 50 people on or offline.

Gerph worked for RISC OS Select (did most of the 32 bit port), wrote RISC OS Pyromaniac.

The structure of the talk was the differences between 32 and 64 bit, what problems it causes us and some personal thoughts on what can be done.

64 bit has been around for some time (since ARMv8) but had 32bit backwards compatibility. 64 bit refers to size of memory, register size and a set of new features. AArch32 and AArch 64 another to refer to them.

New ARM chips do not offer 32 bit and RISC OS is a 32bit OS... Could still be run in emulation and old chips still likely to be around (you can still buy a 6502) but will not run on new hardware.

Big change on instructions which are not backwards compatible.

ARM64 has a choice of 64 or 32 bit register access. Floating point is more 'reliable' - it's all there or not. Registers work differently. Different modes of operation (privilege model).

The problems all this raises is that any ARM code will not run. Assembler needs rewriting or some emulation. C code will need to be recompiled and probably tweaked. New version of  BASIC will be needed. Norcroft does not support 64 bit. SWI numbers are 24 bits but SVC 'replacement' is only 16 bit.

Any API which uses descriptors in memory will need to be changed. RISC OS APIs will need work and a good chance to clean up some bad design (like bouncing in and out of privileged modes). LImited number of RISC OS developers and small user base.

The final part of the talk looked at some possible solutions. Will need to be done gradually in small steps. Converting modules to C will take time but helps.

Gerph's suggestions are:-

  • stop writing assembler - just C.
  • Use a register for SWI number
  • Stick to 32bit logical address space for memory
  • Adopt AAPCS as only register mapping
  • Assume Frame Pointer will always be used
  • Get rid of multiple instantiation of modules
  • Write Tests for APIs
  • Redesign APIs to avoid flags
  • Make modules easier to work with in C
  • Update AIF headers to show not 32 bit and remove decompression entry
  • Only use ELF in future
  • Feature flags for modules to show system
  • Modules start on page boundary +4
  • Special module area rather than just using RMA (becomes Random Memory Area)
  • Rewrite the assembler modules in C (having written the tests)

Gerph had some nice demos running some ARM and C 64 bit code on RISC OS Pyromaniac (code on GitHub), including the game Chucky Egg.

In a nice plot reveal, the whole talk was running on Pyromaniac using a 64bit version of Gerph's presentation tool.

Full talk slides are at http://presentation.riscos.online/64bit/

After the talk there was time for Q and A.

Many thanks to Gerph for making a complex topic very clear and understandable.

As usual, details on talks available on the Rougol website.


 
  August Rougol report - Gerph goes 64 bit
  gerph (13:55 20/8/2024)
  arawnsley (14:39 21/8/2024)
  timber (18:49 22/8/2024)
  gerph (23:02 22/8/2024)
 
Charles Justin Ferguson Message #125674, posted by gerph at 13:55, 20/8/2024
Member
Posts: 48
Slides really are now available at https://presentation.riscos.online/64bit/.

I hadn't got them up last night as it was so late.

Thanks to all for a great reception and lots of good discussion!
  ^[ Log in to reply ]
 
Andrew Rawnsley Message #125675, posted by arawnsley at 14:39, 21/8/2024, in reply to message #125674
R-Comp chap
Posts: 598
Thanks for a superb talk, Charles - lots of detail and some brilliant demos at the end. I really felt you provided a roadmap for what is needed and how a 64bit version of the OS could work.
  ^[ Log in to reply ]
 
André Timmermans Message #125676, posted by timber at 18:49, 22/8/2024, in reply to message #125674
Member
Posts: 5
I checked the slides, interesting and the keeping the logical pointers as 32-bit to keep the API unchanged is a good idea.

I would make an exception though for the FS related stuff. Not only does some of the API uses processor flags and needs replacement but also, we still cannot handle files larger than 4GB. I would thus first define a new clean sheet API abd module, use it in the SharedCLibrary, and for compatibility on 32-bit systems, modify FileSwitch to call the new API.
  ^[ Log in to reply ]
 
Charles Justin Ferguson Message #125677, posted by gerph at 23:02, 22/8/2024, in reply to message #125674
Member
Posts: 48
Video can now be found here: https://www.youtube.com/watch?v=gTdezolPYI0.
  ^[ Log in to reply ]
 

The Icon Bar: News and features: August Rougol report - Gerph goes 64 bit