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

Re: [PATCH v1 0/8] xen/console: cleanup console input switch logic



On Tuesday, March 18th, 2025 at 4:36 PM, dmkhn@xxxxxxxxx <dmkhn@xxxxxxxxx> 
wrote:

> 
> 
> Currently, on x86, console input can be rotated in round-robin manner
> only between dom0, PV shim, and Xen itself. On Arm the input rotation
> can include domUs with vpl011.
> 
> The patch series introduces the concept of "console focus", which is
> defined as the ID of the domain that currently owns the physical console
> input.
> 
> The patch series originates from the NS16550 UART emulator series [1]
> for x86, which requires ability to switch physical console input to a
> PVH/HVM domain with an emulated UART.
> 
> The main idea is introducing a per-domain permission flag that is set
> during domain initialization and used by the console driver to switch
> the input across permitted domains.
> 
> Patch 0 removes all the trailing white spaces in the console driver code.
> 
> Patch 1 introduces a new domain permission flag to mark ownership of the
> console input for the console driver.
> 
> Patches 2-4 prepare console driver to allow console input rotation
> across multiple domains based on the new permission flag.
> 
> Patches 5-6 perform mechanical renames to fit the usage in the code.
> 
> Patch 7 cleans up the console input switch logic.
> 
> Patch 8 simplifies the existing vUART code by using newly introduced APIs.

Corrected series explanation:

Patch 1 removes all the trailing white spaces in the console driver code.

Patch 2 introduces a new domain permission flag to mark ownership of the
console input for the console driver.
 
Patches 3, 4 prepare console driver to allow console input rotation
across multiple domains based on the new permission flag.

Patches 5, 6 perform mechanical renames to fit the usage in the code.
 
Patch 7 cleans up the console input switch logic.

Patch 8 simplifies the existing vUART code by using newly introduced APIs.


> 
> CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/1723361248
> 
> [1]: 
> https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-0-c5d36b31d66c@xxxxxxxx/
> 
> Denis Mukhin (8):
> xen/console: fix trailing whitespaces
> xen/console: introduce console input permission
> xen/domain: introduce domid_top
> xen/domain: introduce domid_alloc()
> xen/console: rename switch_serial_input() to console_switch_focus()
> xen/console: rename console_rx to console_focus
> xen/console: introduce console_set_focus()
> xen/console: introduce console_get_focus()
> 
> xen/arch/arm/dom0less-build.c | 15 ++-
> xen/arch/arm/domain_build.c | 19 +++-
> xen/arch/arm/include/asm/setup.h | 2 -
> xen/arch/arm/setup.c | 2 -
> xen/arch/arm/vpl011.c | 7 +-
> xen/arch/ppc/include/asm/setup.h | 2 -
> xen/arch/riscv/include/asm/setup.h | 2 -
> xen/arch/x86/include/asm/setup.h | 2 -
> xen/arch/x86/pv/shim.c | 2 +
> xen/common/domain.c | 5 +
> xen/common/domctl.c | 71 +++++++++------
> xen/common/kernel.c | 8 ++
> xen/drivers/char/console.c | 142 +++++++++++++++++------------
> xen/include/xen/console.h | 3 +-
> xen/include/xen/domain.h | 5 +
> xen/include/xen/sched.h | 8 +-
> 16 files changed, 180 insertions(+), 115 deletions(-)
> 
> --
> 2.34.1



 


Rackspace

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