Michal's bloggy

Michal@AROS, development, ideas

October 26, 2007

Welcome, Oliver!

Oliver Adam Schulz was born today, at 15:25 at the Hospital in Herzberg am Harz. He weights 3420 grams and is 53 centimeters tall. Both he and his mother are doing great. Dad tries to spend the huge caffeine dose he got today in hospital :)

Our daughters will meet Oliver tomorrow and are already excited over this meeting :)

October 6, 2007

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... :)