Sunday, May 31, 2009

VADs, stack guards, signals, libraries

VADs are now working, this means that pagefaults can now be sorted based on cause and handled thusly. Thereforw non-committed stacks now work, stack guards work, and user processes are notified of pagefaults and are given a chance to handle them.

Also some more work was done on library support, and unloading now works too, as well ask keeping track of all such actions.

Friday, May 29, 2009


usrCallback module was just added to the kernel. It allows the kernel to call a function in a user app and get back some results, just like a normal callback, but while respecting all kernel-user boundaries.

DBF update2

RtLib is now a DBF library and loads well.

Thursday, May 28, 2009

DBF format and loader

DBF is the binary format used by DGOS. It is simple, and almost any ARM compiler cna be made to emit it. It allows for libraries and executables that may or may not be compiler as position-independent code. All libraries and applications always have read-write access to their globals, and code is write-protected, as any good OS should so.

The kernel DBF loader code is now written and works.
RtLib work is proceeding.

Wednesday, May 27, 2009

Kernel fixes

A few kernel bugs were fixed (a serious kernel stack corruption by a stray DMA was a fun one to track down).

The SD/SDHC/SDXC/MMC driver in the kernel now works very well, and integrated with the block device manager and the FS manager gladly mounts volumes on it.

Now back to working on RtLib

[also the GDB stub in kernel is almost complete, so debugging RtLib and user apps will be nice and easy]