On Fri, 2014-04-25 at 11:24 -0600, Jim Fehlig wrote:
Jim Fehlig wrote:
> Ian Campbell wrote:
>
>> Currently the driver only exposes the ability to connect to the serial console
>> of a Xen guest, which doesn't work for a PV guest. Since for an HVM guest
the
>> serial devices are duplicated as consoles it is sufficient to just use the
>> console devices unconditionally.
>>
>> Tested with the following bit of config XML:
>>
>> <domain type='xen'>
>> ...
>> <devices>
>> <console type='pty'>
>> <target type='xen'/>
>> </console>
>> </devices>
>> </domain>
>>
>> I have observed and tested this on ARM but I believe it also applies to x86 PV
>> guests.
>>
>>
>
> Yep, I think you are right.
>
> ACK to the patch. I'll push it, after a bit of testing.
>
> Regards,
> Jim
>
>
>> Signed-off-by: Ian Campbell <ian.campbell(a)citrix.com>
>> Cc: Jim Fehlig <jfehlig(a)suse.com>
>> Cc: Dario Faggioli <dario.faggioli(a)citrix.com>
>> Cc: Clark Laughlin <clark.laughlin(a)linaro.org>
>> ---
>> v2: Just use nconsoles unconditionally, they contain serial too
>> ---
>> src/libxl/libxl_driver.c | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
>> index a6ae8a1..535e7da 100644
>> --- a/src/libxl/libxl_driver.c
>> +++ b/src/libxl/libxl_driver.c
>> @@ -3780,6 +3780,7 @@ libxlDomainOpenConsole(virDomainPtr dom,
>> {
>> virDomainObjPtr vm = NULL;
>> int ret = -1;
>> + libxl_console_type console_type = LIBXL_CONSOLE_TYPE_UNKNOWN;
>>
This doesn't compile with Xen 4.2.x
libxl/libxl_driver.c: In function 'libxlDomainOpenConsole':
libxl/libxl_driver.c:3783:39: error: 'LIBXL_CONSOLE_TYPE_UNKNOWN'
undeclared (first use in this function)
libxl/libxl_driver.c:3783:39: note: each undeclared identifier is
reported only once for each function it appears in
xen.git commit 166bb0fe introduced UNKNOWN in the enum. I suppose it is
best to initialize console_type with 0, along with a comment?
Yes, I think that would be appropriate. Or possibly not initialising the
variable at all will work, in any code path which uses it it is
initialised (it is set iff chr is set I think).
Ian.