September 16, 2007

Hey! Where is my dos.library??


I have been fighting with 64-bit world and our build system again :) Cannot tell which of them is better or worse in terms of debugging and hunting for undefined behavior ;)

I have provided you another log (well, call this debug output a screenshot if you like). What you may see here is a list of modules present in kernel (remember, some of them have been loaded separately, by GRUB) and a very early startup process of whole AROS. The new and interesting things are timer.device, irq.hidd and ata.device.

The timer.device is a straight recompilation of x86 version. It still does not use the local APIC driven by at least 66MHz source, but uses an ancient 1193180Hz timer. It will change very soon since the new APIC timer has been proven to work properly on AROS. I need some spare time to implement it in timer.device now. There were two more "cosmetic" changes - the timer.device checks the SysBase->Elapsed field and reports forced reschedule if needed. Additionally, timer.device uses kernel resource to add/remove it's interrupt handlers.

The irq.hidd is a simple wrapper for kernel.resource. Used to add and remove IRQ handlers. Nothing less and nothing more. Boring, huh?

The ata.device compiled with some minor issues. First of all, the MakeDosNode function of expansion.library has been changed. The input packet is an array of IPTSs now (it was array of ULONGs previously, which are not suitable for 64-bit system). The other change was the way ata's internal tasks were initialized. I have sent them some parameters through the stack, which is not valid on x86_64 system anymore. Therefore, I have had to change the AddTask calls to the NewAddTask variants, with parameters passed through a TagList. You may see the result on screenshot - two internal tasks of ata.device are added and started. They do something and then wait for input...

Yes, you're right. 64-bit AROS multitask already :)

PS. You may ask about this nasty GURU down the screen. Well, it puzzled me a bit until I've found it. It's a BootStrap which cries loud that it could not open the dos.library :-) So, where's my dos.library, dude???

1 Comments:

Blogger HRH King Arthure Pendragone said...

Well it cant multitask or be 64bhit as long as this on this type of archtiecture. That beuing x86 -hence the name x86-64=8bit

7:09 AM  

Post a Comment

<< Home