[SeaBIOS] [PATCH 00/10] Xenstore communication support for Seabios
Daniel Castro
evil.dani at gmail.com
Thu Aug 18 18:08:57 CEST 2011
As part of Google Summer of Code we are in the process to add Block PV-drivers to
Seabios, in order to this, first we have to be able to communicate with xenstore
so we can exchange information before the front and back ends connect. To communicate
with xenstore we need to make seabios Xen-friendly so support for hypercalls has been
added to Seabios. In the next month, Seabios will become a front-end for the block devices,
connecting to dom0 back-end block device when used with Xen.
There is an issue, if you issue a query and the ring did not prepare the answer
fast enough, after the event signal hypercall, the ring will force a ring wait for
an event that will never arrive. For now this is solved by doing a dprintf after the
hypercall, this gives enough time to the ring.
This patch should be applied to Seabios and must be used with qemu-upstream with
xen4.1, please follow this guide for this:
http://wiki.xensource.com/xenwiki/QEMUUpstream
Some more documentation on this can be found here:
http://wiki.xensource.com/xenwiki/SeaBIOS
Daniel Castro (10):
Xen: Guest Handlers and Copyrights
Move PAGE_SHIFT to memmap.h
Xen: Use PAGE_SHIFT as a constant
Xen: Support for interdomain event channel
Xen: Support for HVM_op Hypercall
Xen: Support for memory_op Hypercall
Xen: Support for sched_op hypercall
Xen: Shared info for CPU yield support and xenbus protocol
Xen: Xenstore communication via xenbus
Xen: Xenstore example -do not apply
Makefile | 2 +-
src/bitops.h | 14 ++
src/memmap.h | 2 +
src/post.c | 2 +
src/virtio-ring.h | 2 +-
src/xen-xs.c | 251 +++++++++++++++++++++++++++++++++++++
src/xen-xs.h | 9 ++
src/xen.c | 20 +++-
src/xen.h | 357 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
9 files changed, 653 insertions(+), 6 deletions(-)
create mode 100644 src/bitops.h
create mode 100644 src/xen-xs.c
create mode 100644 src/xen-xs.h
--
1.7.4.1
More information about the SeaBIOS
mailing list