WORK IN PROGRESS
Stuff I am doing now:
- Fixing bugs
- Implement UDI
- Implement SSH server and client
Previous listed items that are completed:
- I have two ide drivers, one for pio, the other uses the PIIX4 chip. So I am putting the common code
in a library and having the two separate drivers call the common libaray.
Consolidated into one driver and add support for AMD 768 chip and UDMA mode.
- Re-do some of the image loader. Right now, it reads the whole image header into non-paged pool, then
does all the image fixups. I want to have it just map the image header as a read-only image section.
Then maybe have a callback function to the pagefaulter that will do fixups for a page if and when they
are actually faulted in. Also, re-do the elfconv program to fill in as many of the fixups as it can
beforehand.
Created per-process pool and shared image pages. Also have elfconv program create jmp-table
style fixup table to minimize number of fixups required.
- Maybe re-do the exception handling. Right now, it pushes a 'procedure descriptor pointer' on the stack
on entry to each routine (thus the need to patch gcc). When a procedure wants an exception handler, it
modifies the procedure descriptor to include its handler. Well, only a couple routines actually use
this so it's probably a big waste of time. So I should change it to do something like call a system
service to add condition-handler info onto the OZ_Thread struct somewhere.
Removed the 'procedure descriptor pointer' from call frame. Use a try/catch paradigm that pushes
a special call frame that exception handler can easily find.