[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 20/23] xen: support console_switching between Dom0 and DomUs on ARM
>>> On 05.10.18 at 20:47, <sstabellini@xxxxxxxxxx> wrote: > @@ -391,31 +394,73 @@ static void dump_console_ring_key(unsigned char key) > free_xenheap_pages(buf, order); > } > > -/* CTRL-<switch_char> switches input direction between Xen and DOM0. */ > +/* > + * CTRL-<switch_char> switches input direction between Xen, Dom0 and > + * DomUs. > + */ Just like the title, this comment makes it sound as if any DomU could participate in this switching. > #define switch_code (opt_conswitch[0]-'a'+1) > -static int __read_mostly xen_rx = 1; /* FALSE => input passed to domain 0. */ > +/* > + * console_rx=0 => input to xen > + * console_rx=1 => input to dom0 > + * console_rx=N => input dom(N-1) > + */ > +static unsigned int __read_mostly console_rx = 0; > > static void switch_serial_input(void) > { > - static char *input_str[2] = { "DOM0", "Xen" }; > - xen_rx = !xen_rx; > - printk("*** Serial input -> %s", input_str[xen_rx]); > + if ( console_rx++ == max_init_domid + 1 ) > + console_rx = 0; > + > + if ( !console_rx ) Please be consistent ... > + printk("*** Serial input to Xen"); > + else > + printk("*** Serial input to DOM%d", console_rx - 1); > + > if ( switch_code ) > - printk(" (type 'CTRL-%c' three times to switch input to %s)", > - opt_conswitch[0], input_str[!xen_rx]); > + printk(" (type 'CTRL-%c' three times to switch input)", > + opt_conswitch[0]); > printk("\n"); > } > > static void __serial_rx(char c, struct cpu_user_regs *regs) > { > - if ( xen_rx ) > + if ( console_rx == 0 ) ... in style. But perhaps ... > return handle_keypress(c, regs); > > - /* Deliver input to guest buffer, unless it is already full. */ > - if ( (serial_rx_prod-serial_rx_cons) != SERIAL_RX_SIZE ) > - 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 ( console_rx == 1 ) ... switch() would be better to use here anyway. > + { > + /* Deliver input to hardware domain, unless it is already full. */ Looks like you've mis-edited the original comment. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |