Nova 32 bits on older Pentium 4 computer.

Udo Steinberg udo at ...121...
Mon Jan 21 20:30:36 CET 2013

On Mon, 21 Jan 2013 13:46:53 -0500 Paul Dufresne (PD) wrote:

PD> Well, this old Pentium 4 computer does seems to have an IOAPIC [...]
PD> Although "[    0.031997] ..MP-BIOS bug: 8254 timer not connected to
PD> IO-APIC" suggest some problem with it.

Interesting. Let's see...

PD>     // Create root task
PD>     if (Cpu::bsp) {
PD>         Hip::add_check();
PD>         Ec *root_ec = new Ec (&Pd::root, NUM_EXC + 1, &Pd::root, Ec::root_invoke, Cpu::id, 0, USER_ADDR - 2 * PAGE_SIZE, 0);
PD>         Sc *root_sc = new Sc (&Pd::root, NUM_EXC + 2, root_ec, Cpu::id, Sc::default_prio, Sc::default_quantum);
PD>         root_sc->remote_enqueue();
PD>     }
PD>     Console::print("Scheduling");
PD>     Sc::schedule();
PD> }
PD> I do see my "Scheduling" when booting. But I don't understand which
PD> code is executed next.

Sc::schedule() invokes the scheduler and selects the next thread to run. In
this case, execution should continue in Ec::root_invoke(), and if you hit
ret_user_sysexit() at the bottom of that function, then you're entering user
mode, indicating the hypervisor has successfully booted.

PD> Ok... I understand it is not a interesting computer to use Nova on.

It could be that after returning to user mode, we're never getting an
interrupt that takes us back into the hypervisor. You can verify that, by
booting just the hypervisor without any other modules. You should see one
message saying the bootstrap EC died ("No ELF").

Furthermore, if you enabled "spinner" on the hypervisor command line, you
should see blue spinner activity once every second. If the blue spinner
doesn't increment, you have an interrupt problem.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <>

More information about the users mailing list