Very close!

A lot of things and commits have happened since my last blog entry. There was so much to do, that I have forgotten (and actually didn’t have had any time to) to blog here 🙂

There are already filesystems in the AROS64 which may be used to boot the system – the cdvdfs is a good example. As practically everything – it has had some issues visible on 64-bit architectures only, but everything is fixable, of course 🙂 The standard keyboard and PS/2 are supported together with vesa and vga video drivers.

I have added one long awaited “feature” to the AROS64 – partial MMU support. The kernel is partially protected (the .text and .rodata sections) against accidental writes caused by buggy applications. Moreover, the address range 0 – 0x0fff is excluded completely in both user and supervisor modes. Every write and almost every read to/from address in this range will cause immediate page fault. *Almost*? Yes, the page fault handler looks at the instruction which caused the fault. If it is a 64-bit read from address 4UL into any of the registers, then the SysBase value is saved into the requested register and the faulty instruction is omitted. It is a very simplistic emulation of legacy SysBase. Nevertheless, one should use this feature with care – it’s significantly slower.

What will be next? The Zune/Wanderer fixes in order to make this pair completely usable. Then the rest of the standard AROS tree – most programs have not yet been checked in AROS64. Fixing it all will take some time, of course, but it will not take long. Apart from this fixes, I will try to move as much architecture dependences into kernel.resource as possible. Once this target is achieved, it will be possible to replace the kernel and it’s userland interface – the kernel.resource, with something completely different… 🙂

Stay tuned for more news from the new virgin 64-bit AROS-land 🙂