Kevin Lawton wrote:
>
> Hey folks,
>
> It's been awhile. Sorry, I've been busy working on other
> fronts, but I did have time to put together a first go
> at the virtualization framework we need for FreeMWare.
>
> ftp://ftp.freemware.org/pub/freemware/fmw-990817b.tar.gz
>
> Which if you're having problems, is really just:
>
> ftp://bochs.com/pub/freemware/fmw-990817b.tar.gz
>
> Attached is the "fmw-990817b.README" that goes along with it.
Kevin,
Once again, it looks great !!! Nice base for further coding.
Only, C++ comments are so ugly :) (never mind, I'm a bit
weird ;)).
I would have tried to debug the interrupt problem tonight,
but it all went wrong. The problem is that my base development
PC (this one) is an SMP box, and your kernel module made it go
all wrong with the IPIs, because you don't forward those
to the kernel ! eek, aargh, etc. I'll need to compile a
non-SMP kernel one of these days, but that'll probably have
to wait until the weekend.
I did spot one bug fairly rapidly:
In host-linux.c, line 240, I'm quite sure that should be
soft_int_vector = SLAVE_PIC_BASE_VECTOR + monitor_info.vector - 8;
Without the -8, you're calling wrong interrupts !!!
Another thing, it may be that linux expects interrupts to be
on when an interrupt occurs --- I don't know whether it really
matters, but I wouldn't hestitate to make such an assumption
in MY OS code, if I needed to :). So it may be nice to
sti() BEFORE forwarding the interrupt to the host kernel.
Do you mind if I go through your code and clean it up a bit ?
By that I mean putting #defines in header files, and adding
large amounts of documentation where your code is a bit cryptic.
Better have documentation right from the start, and hey,
there's no better way to learn how a piece of code works than
trying to document it (except, of course, writing it yourself :))
Also, I don't want to whine too much about this but I think
that we need to make some kind of arrangement about coding style
(nothing fixed, just general guidelines --- that's always useful
if multiple people need to work on the same piece of code.) On
my wishlist are bigger tabstops than Kevin uses, and to get rid
of C++-style comments (but that's probably not going to be ;))
Ramon