I found the annoying bug that sometimes prevented any disk access. This was because the IOMMU page table alignment restriction (32k) was satisfied in virtual memory level, but not physical. Depending on the compilation options, phase of moon etc. ESP memory access didn't work. Now I tried several compilers, switches and debug options and every version produced works.
The rest of the patch fixes some warnings (GCC 4.1) and changes over to switch_context method at boot. Some newly enabled filesystem code needed more bits from libgcc.
No progress with Linux.
_________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/