Re: [RFC/PATCH 1/2] kvm tools, seabios: Add "--bios" option to "vm run"

Gleb Natapov
2012-02-27T17:26:02Z

On Mon, Feb 27, 2012 at 08:46:10AM -0800, ron minnich wrote:
> On Mon, Feb 27, 2012 at 8:38 AM, Gleb Natapov <gleb@redhat.com> wrote:
>
> > Then make kvm-tool set it. Why do you need coreboot/seabios for that?
>
> First thing we looked at. For a number of reasons it seems ugly.
That is not "ugly", this is by design. Isn't it.

> Either we can pick a bunch of fixed base addresses for the kvm-tool
> resources, and track them all as new devices are added to kvm-tool
> over time (yuck), or we can replicate some of the pci BAR code in
> kvm-tool that already exists in seabios/coreboot, which also seems
> yucky.
kvm-tool design goal, as far as I can tell, was to be as much self
contained as possible. kvm-tool should be usable without seabios at
all if legacy bios functionality is not needed. To achieve that some
firmware functionality (mostly HW initialization related) is already
replicated in kvm-tool. Again, this is by design. Coreboot, when used
in conjunction with seabios on real HW, takes care of HW initialization,
so if kvm-tool want to follow its design direction it should assume role
of the coreboot and load Seabios only when legacy bios functionality is
needed.

BTW there is code duplication between coreboot and seabios too. Both of
them can be used to init QEMU HW.

>
> kvm-tool provides a more realistic environment in some ways for guests
> than qemu.
How is kvm-tool provides a more realistic environment? You get it
opposite.

> Less is initialized.
Nothing is initialized in QEMU. Every single bit of initialization is
done by a guest code. Be it Seabios/coreboot/openfirmware/tianocore or
guest OS itself. And yes, qemu can run all of the firmwares above
without single line of code to support any of them.

> Given that coreboot does the things we
> need done, and it's easy to build, I don't see a reason not to use it.
I am not very familiar with coreboot, but I think you will have to write
kvm-tool platform support for coreboot before you can run it in
kvm-tool.

--
Gleb.