On 07/08/2011 07:48 AM, Michal Privoznik wrote:
This patch creates new <bios> element which, at this time has
the only
s/the only/only the/
attribute useserial='yes|no'. This attribute allow users to
use
Serial Graphics Adapter and see BIOS messages from the very first moment
domain boots up. Therefore, users can choose boot medium, set PXE, etc.
---
diff to v2:
-move from <serial> to <bios>
-include Eric's and Dan's suggestions
diff to v1:
-move from <video> to <serial> as Dan suggested:
https://www.redhat.com/archives/libvir-list/2011-July/msg00134.html
docs/formatdomain.html.in | 9 ++++++
docs/schemas/domain.rng | 14 +++++++++
src/conf/domain_conf.c | 27 ++++++++++++++++-
src/conf/domain_conf.h | 13 ++++++++
src/qemu/qemu_capabilities.c | 3 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 20 +++++++++++++
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 6 ++++
tests/qemuxml2argvdata/qemuxml2argv-bios.xml | 39 +++++++++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
10 files changed, 131 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-bios.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-bios.xml
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 10d87a9..9cc0bca 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -86,6 +86,7 @@
<boot dev='cdrom'/>
<bootmenu enable='yes'/>
<smbios mode='sysinfo'/>
+ <bios useserial='yes'/>
</os>
...</pre>
@@ -137,6 +138,14 @@
specified, the hypervisor default is used. <span class="since">
Since 0.8.7</span>
</dd>
+ <dt><code>bios</code></dt>
+ <dd>This element has attribute <code>useserial</code> with
possible
+ values <code>yes</code> or <code>no</code>. It enables
or disables
+ Serial Graphics Adapter which allows users to see BIOS messages
+ on a serial port. Therefore, one need to have
s/need to have/needs to have a/
+ <a href="#elementCharSerial">serial
port</a> defined.
+ <span class="since">Since 0.9.4</span>
+ </dd>
</dl>
+++ b/src/conf/domain_conf.h
@@ -923,6 +923,18 @@ enum virDomainLifecycleCrashAction {
VIR_DOMAIN_LIFECYCLE_CRASH_LAST
};
+enum virDomainBIOSUseserial {
+ VIR_DOMAIN_BIOS_USESERIAL_DEFAULT = 0,
+ VIR_DOMAIN_BIOS_USESERIAL_YES,
+ VIR_DOMAIN_BIOS_USESERIAL_NO
+};
+
+typedef struct _virDomainBIOSDef virDomainBIOSDef;
+typedef virDomainBIOSDef *virDomainBIOSDefPtr;
+struct _virDomainBIOSDef {
+ int useserial;
+};
+
/* Operating system configuration data & machine / arch */
typedef struct _virDomainOSDef virDomainOSDef;
typedef virDomainOSDef *virDomainOSDefPtr;
@@ -942,6 +954,7 @@ struct _virDomainOSDef {
char *bootloader;
char *bootloaderArgs;
int smbios_mode;
+ virDomainBIOSDef bios;
I'm wondering if we could just have done 'int bios_serial' here, instead
of creating the intermediate type _virDomainBIOSDef. I guess if we ever
add more attributes or subelements to <bios>, then the struct will be
nice, but until then it seems a bit heavyweight. But what you have is
not wrong, so no change necessary.
ACK.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org