[libvirt] [PATCH V2] add console support in libxl
Jim Fehlig
jfehlig at suse.com
Thu Jul 18 21:36:51 UTC 2013
Daniel P. Berrange wrote:
> On Thu, Jul 18, 2013 at 08:14:17PM +0800, Bamvor Jian Zhang wrote:
>
>> this patch introduce the console api in libxl driver for both pv and
>> hvm guest. and import and update the libxlMakeChrdevStr function
>> which was deleted in commit dfa1e1dd.
>>
>> Signed-off-by: Bamvor Jian Zhang <bjzhang at suse.com>
>> ---
>> changes since V1:
>> 1), add virDomainOpenConsoleEnsureACL
>> 3), remove virReportOOMErrorFull when virAsprintf fail.
>> 4), change size_t for non-nagetive number in libxlDomainOpenConsole
>> size_t i;
>> size_t num = 0;
>> 5), fix for make check
>> (1), replace virAsprintf with VIR_STRDUP in two places
>> (2), delete space.
>>
>> src/libxl/libxl_conf.c | 88 ++++++++++++++++++++++++++++++++++
>> src/libxl/libxl_conf.h | 3 ++
>> src/libxl/libxl_driver.c | 122 +++++++++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 213 insertions(+)
>>
>>
>
>
>> +static int
>> libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>> {
>> libxl_domain_build_info *b_info = &d_config->b_info;
>> @@ -403,6 +487,10 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>> if (VIR_STRDUP(b_info->u.hvm.boot, bootorder) < 0)
>> goto error;
>>
>> + if (def->nserials &&
>> + (libxlMakeChrdevStr(def->serials[0], &b_info->u.hvm.serial) < 0))
>> + goto error;
>>
>
> If you're going to hardcode def->serials[0], then you should explicitly
> report an error if 'def->nserials > 1'.
>
Yes, good point. Currently libxl only supports defining one serial port,
so we should enforce that here.
> Also you should probably report an error if def->nparallels != 0, since
> you don't support that at all.
>
Right. Maybe that should be a separate patch.
Poking around a bit, I'm not even sure how to map libvirt's parallel
device config to libxl's 'num_ioports' and 'ioports' fields in
libxl_domain_build_info struct. xl.cfg(5) contains this info about the
'ioports' setting
ioports=[ "IOPORT_RANGE", "IOPORT_RANGE", ... ]
Allow guest to access specific legacy I/O ports. Each IOPORT_RANGE is
given in hexadecimal
and may either a span e.g. "2f8-2ff" (inclusive) or a single I/O port "2f8".
It is recommended to use this option only for trusted VMs under
administrator control.
Regards,
Jim
More information about the libvir-list
mailing list