Saturday, July 2, 2011

More math bugs

 Why would one file system work, and another one - not?

Because the fs driver is buggy? Of course not! The ones who read this blog on a regular basis, know that inability to read the file has to do with a bug in a math emulation.
Thanks to Jakub's test case, I fixed two bugs with carry flag handling (yes, again). Now HelenOS/sparc64 boot looks like this:


My impressions of HelenOS - it's neat, the sources are good documented and easy readable. Also I needed just a few minutes to set up cross compiling under Linux/x86_64. So, if you need a small, micro-kernel(!) and multi-arch (amd64, arm32, ia32, ia64, mips32, ppc32, sparc64) OS to play with, HelenOS is definitely worth looking at.

7 comments:

jermar said...

A truly interesting blog entry :-) Btw, how come you only get that far with the bug fixed? In my case, I get to the userspace shell prompt.

atar said...

In your case do you use the released 0.4.3 iso, or -current? Last time I checked, the -current definitely made it up to the command prompt. Don't remeber whether 0.4.3 release did.

I might have picked this screen shot because of aesthetical reasons - here it's possible to see the output messages from all the loaded drivers.

Will take a look tonight.

jermar said...

Yes, that's possible that mainline behaves differently from 0.4.3. There have been changes related to introducing the USB framework and the following synergy effect of streamlining the console and input code. Still no generic support for serial though :-)

atar said...

So, you've seen the shell prompt in the mainline, not in 0.4.3 too, right?

jermar said...

The last time I checked with anything as old as 0.4.3, the bug preventing it to reach the prompt was still there. So I only saw mainline can get there.

atar said...

What bug? Qemu or HelenOS? I checked 0.4.3 - and it hangs exactly as on the screen shot. Then I took tick.c from the mainline, and it still didn't change anything. Do you think we may have a further test case?

jermar said...

I meant the Qemu math bug: I only tested with mainline after it was fixed in Qemu, so I don't know how 0.4.3 behaved.

The tick problem was observed on my Ultra 5 and was fixed after 0.4.3. With that bug in effect, you wouldn't see the kernel's blue console.