[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] vixen: port of shadow PV console's page for L2 DomU



Hi Sarah

On Wed, Jan 10, 2018 at 09:15:52AM -0800, Sarah Newman wrote:
> The current version of vixen handles console output from the guest
> but not console input to the guest. This adds guest input as in
> 
> 0d50a85f x86/pv-shim: shadow PV console's page for L2 DomU,
> 
> but with read_smb moved up in guest_tx.
> 
> Signed-off-by: Sarah Newman <srn@xxxxxxxxx>

I was wrong about Ian's script would make the console work for guest
input.

This patch looks OK, but please add back Sergey's SoB on the patch when
you submit it the next time.

Note that this patch has been since updated, but the meat of the
guest_tx should be the same, so you shouldn't worry about that.

> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index a83aeb2..be5875e 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -30,6 +30,7 @@
>  #include <xen/hypercall.h> /* for do_console_io */
>  #include <xen/early_printk.h>
>  #include <xen/warning.h>
> +#include <asm/guest/vixen.h>
>  
>  /* console: comma-separated list of console outputs. */
>  static char __initdata opt_console[30] = OPT_CONSOLE_STR;
> @@ -406,13 +407,16 @@ static void __serial_rx(char c, struct cpu_user_regs 
> *regs)
>          serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;
>      /* Always notify the guest: prevents receive path from getting stuck. */
>      send_global_virq(VIRQ_CONSOLE);
> +
> +    if ( is_vixen())
> +        vixen_guest_tx(c);
>  }
>  
>  static void serial_rx(char c, struct cpu_user_regs *regs)
>  {
>      static int switch_code_count = 0;
>  
> -    if ( switch_code && (c == switch_code) )
> +    if (!is_vixen() && switch_code && (c == switch_code) )

Oh... :-)

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.