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 :)
Labels: x86-64