Hi,
This should be submitted to upstream (but not to kvm-devel list), but
this is only the test code that I want to quickly send out for
comments. In case it looks OK, I will send it to upstream later.
Inspired by extboot and conversations with Anthony and HPA, this
linuxboot option ROM is a simple option ROM that intercepts int19 in
order to execute linux setup code. This approach eliminates the need
to manipulate the boot sector for this purpose.
To test it, just load linux kernel with your KVM/QEMU image using
-kernel option in normal way.
I succesfully compiled and tested it with kvm-66 on Ubuntu 7.10, guest
Ubuntu 8.04.
Thanks,
Quynh
# diffstat linuxboot1.diff
Makefile | 13 ++++-
linuxboot/Makefile | 40 +++++++++++++++
linuxboot/boot.S | 54 +++++++++++++++++++++
linuxboot/farvar.h | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++
linuxboot/rom.c | 104 ++++++++++++++++++++++++++++++++++++++++
linuxboot/signrom |binary
linuxboot/signrom.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++
linuxboot/util.h | 69 +++++++++++++++++++++++++++
qemu/Makefile | 3 -
qemu/Makefile.target | 2
qemu/hw/linuxboot.c | 39 +++++++++++++++
qemu/hw/pc.c | 22 +++++++-
qemu/hw/pc.h | 5 +
13 files changed, 600 insertions(+), 9 deletions(-)