It has been a very very long time since I wrote anything last time. I Hope you still visit this site 🙂
Since I was very busy with my work at Uni, I have abandoned idea of writing new kernel by myself, only. Sure it would be nice to do something like that alone, but I’m afraid I would end up with a half-ready kernel, a patchwork which would be big enough to let exec.library work. Nothing less, nothing more.
The plans have changed. I will make a quicker amd64 port – a slightly modified x86 version for amd64 cpu. The old concept reborn. The huge disadvantage is (yes, you will be disappointed now) that the new kernel will offer almost nothing more than the x86 one. That means – all applications will still run in one huge address space common to all processes. It’s still the fastest possible approach on x86_64 architecture – some 2 MiB pages covering the very first 4 GiB address space – all of them in translation look-aside buffer (TLB) of the CPU. The SysBase pointer is still at absolute address 4, but it’s use is deprecated. One should access the CPU-local SysBase variable at address %GS:8.
What are the advantages, will you ask? Well, have a look at the screenshot. The core libraries are already there. The scheduler should work, at least in theory :). Many libraries and modules may be already compiled thanks to the enormous effort of Henning Kiel, who fights with badly written sources and let them compile. Once irq.hidd and timer.device are done, I should have AROS working on amd64. Neato, huh? Apart from that, I have avoided assembler code as much as possible. Even interrupt and exception handlers are pure C called by very small context-saving asm stub.
As soon as the x86_64 port of AROS will be ready (and bounty will be satisfied), I will start project aiming at creation of new kernel for our OS. I promise.
Stay tuned. Some interesting news are coming….