[Xen-devel] Using LinuxBIOS as virtual firmware

Lu, Yinghai
Sat, 15 Jul 2006 00:40:48 -0000

OK, I did some tests on xen and LinuxBIOS.

Status:
I built special LinuxBIOS, and using ADLO as payload. (ADLO will have
bochs bios in it).
With that I could boot Linux and windows with vcpu=1, and no acpi, and
apic.

The real LinuxBIOS can create acpi tables and mptable and pirq table
dynamically. So if some cpus are not installed, these tables may be
different.

So Next I could modify the ioemu to make it more AMD like. And device
model will be amd64+amd8111. and the device model will only set
read_only pci conf. and let the LinuxBIOS to enumerate the PCI bus and
allocate the source. Also LinuxBIOS could create the acpi tables etc
according to the pci conf and msr reading. Then the driver model could
be some tide, and don''t need to do init thing for firmeare.

The good is the LinuxBIOS for amd64 platform is there already, and the
almost 99.9% LinuxBIOS is in C. we only use bochs for BIOS call. Also it
could be get more cleaned.

The drawback is that to keep consistent with qemu, I may need to update
qemu to support amd64 model. So we can share the Diskimage between Qemu
and xen.
I tried the winxp installed image with qemu and I got blue screen. I
need reinstall that in xen with LinuxBIOS.

Is it a good way?

Any comment?

Thanks

Yinghai Lu

-----Original Message-----
From: xen-devel-bounces@lists.xensource.com
[mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Lu, Yinghai
Sent: Friday, July 14, 2006 9:41 AM
To: John Levon; yhlu; rminnich@lanl.gov
Cc: Ian Pratt; Anthony Liguori; xen-devel@lists.xensource.com; Mark
Williamson; Michael Loehr
Subject: RE: Xen bootloader (was: Re: [Xen-devel] Xen Roadmap proposal)


You need to make sure the format can be handle by kexec. It could handle
elf, linux kernel, grub.exe (for multiboot?), ...

Maybe it is off topic.
I am considering to use LinuxBIOS in hvmloader...then it could only
support Linux ( with etherboot and FILO can load kernel from network or
HD then kexec ). I can reuse LinuxBIOS ACPI code ...

If the guest OS need BIOS call, we may need to use ADLO and BOCHS to
feed the OS....----for windows and BSDs...

YH