[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XTF v2 v2 3/4] Enabled serial writing for hvm guests
From: Paul Semel <phentex@xxxxxxxxx> setup.c: PV console writing is not working in Xen 4.2 for hvm guests, so we make xtf write to COM1 serial port to get its output Signed-off-by: Paul Semel <phentex@xxxxxxxxx> Signed-off-by: Pawel Wieczorkiewicz <wipawel@xxxxxxxxx> --- Changed since v1: * Increase callbacks array arch/x86/setup.c | 14 ++++++++++++++ common/console.c | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/x86/setup.c b/arch/x86/setup.c index 3c84e96..f6fa4df 100644 --- a/arch/x86/setup.c +++ b/arch/x86/setup.c @@ -238,6 +238,13 @@ static void qemu_console_write(const char *buf, size_t len) : "d" (0x12)); } +static void com1_write(const char *buf, size_t len) +{ + asm volatile("rep; outsb" + : "+S" (buf), "+c" (len) + : "d" (0x3f8)); +} + static void xen_console_write(const char *buf, size_t len) { hypercall_console_write(buf, len); @@ -246,7 +253,14 @@ static void xen_console_write(const char *buf, size_t len) void arch_setup(void) { if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info ) + { register_console_callback(qemu_console_write); + } + + if ( IS_DEFINED(CONFIG_HVM) ) + { + register_console_callback(com1_write); + } register_console_callback(xen_console_write); diff --git a/common/console.c b/common/console.c index 0724fc9..00dbbca 100644 --- a/common/console.c +++ b/common/console.c @@ -13,8 +13,9 @@ * - Xen hypervisor console * - PV console * - Qemu debug console + * - COM1 serial console */ -static cons_output_cb output_fns[3]; +static cons_output_cb output_fns[4]; static unsigned int nr_cons_cb; /* Guest PV console details. */ -- 2.16.6 Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |