On Tue, Nov 10, 2009 at 09:30:47AM +0100, Magnus Christensson wrote:
I'm not sure how work is divided between Coreboot and Seabios. Does Coreboot do all the machine specific initialization? Then the LINT LVTs should already have been initialized.
Yes. Coreboot is tasked with initializing machine specific hardware (eg, cpus, memory controllers, pci). Coreboot also provides the bios tables (eg, mptable, acpi).
Is KVM also using the QEMU port interface from paravirt.c?
Yes.
If so, we could do the following:
if (qemu_cfg_use_cmos_smp_count()) { u8 cmos_smp_count = inb_cmos(CMOS_BIOS_SMP_COUNT); while (cmos_smp_count + 1 != readl(&CountCPUs)) ; } else { msleep(10); }
That's okay with me, but it would require patching qemu to reserve a new qemu_cfg id for QEMU_CFG_SKIP_CMOS_SMP_COUNT.
What does the QEMU paravirt device return for an unknown request?
I believe it does.
-Kevin