[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 03/16] arm/vpl011: use vuart_ prefix in vpl011 public calls
On 24/06/2025 05:55, dmkhn@xxxxxxxxx wrote: > From: Denis Mukhin <dmukhin@xxxxxxxx> > > Use generic names prefixed with 'vuart_' in public PL011 emulator data > structures and functions. > > No functional change intended. > > Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx> > --- > xen/arch/arm/dom0less-build.c | 4 ++-- > xen/arch/arm/domain.c | 3 ++- > xen/arch/arm/domctl.c | 14 +++++++------ > xen/arch/arm/include/asm/vpl011.h | 20 ------------------ > xen/arch/arm/vpl011.c | 24 +++++++++++----------- > xen/drivers/char/console.c | 6 ++---- > xen/include/xen/vuart.h | 34 ++++++++++++++++++++++++++++++- > 7 files changed, 59 insertions(+), 46 deletions(-) > > diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c > index 7c1b59750fb5..11b8498d3b22 100644 > --- a/xen/arch/arm/dom0less-build.c > +++ b/xen/arch/arm/dom0less-build.c > @@ -216,7 +216,7 @@ int __init init_vuart(struct domain *d, struct > kernel_info *kinfo, As can be seen here ... > */ > if ( kinfo->arch.vpl011 ) > { > - rc = domain_vpl011_init(d, NULL); > + rc = vuart_init(d, NULL); we end up with init_vuart() and vuart_init(). That's quite confusing. Maybe domain_vuart_init() or alike? > if ( rc < 0 ) > return rc; > } > @@ -247,7 +247,7 @@ void __init arch_create_domUs(struct dt_device_node *node, > * d->arch.vpl011.irq. So the logic to find the vIRQ has to > * be hardcoded. > * The logic here shall be consistent with the one in > - * domain_vpl011_init(). > + * vuart_init(). > */ > if ( flags & CDF_directmap ) > { > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c > index be58a23dd725..68297e619bad 100644 > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -11,6 +11,7 @@ > #include <xen/sched.h> > #include <xen/softirq.h> > #include <xen/wait.h> > +#include <xen/vuart.h> > > #include <asm/arm64/sve.h> > #include <asm/cpuerrata.h> > @@ -1072,7 +1073,7 @@ int domain_relinquish_resources(struct domain *d) > * Release the resources allocated for vpl011 which were > * allocated via a DOMCTL call XEN_DOMCTL_vuart_op. > */ > - domain_vpl011_deinit(d); > + vuart_exit(d); IMO, deinit is more meaningful here. > > #ifdef CONFIG_IOREQ_SERVER > ioreq_server_destroy_all(d); > diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c > index ad914c915f81..dde25ceff6d0 100644 > --- a/xen/arch/arm/domctl.c > +++ b/xen/arch/arm/domctl.c > @@ -14,6 +14,7 @@ > #include <xen/mm.h> > #include <xen/sched.h> > #include <xen/types.h> > +#include <xen/vuart.h> > #include <xsm/xsm.h> > #include <public/domctl.h> > > @@ -30,10 +31,11 @@ static int handle_vuart_init(struct domain *d, > struct xen_domctl_vuart_op *vuart_op) > { > int rc; > - struct vpl011_init_info info; > - > - info.console_domid = vuart_op->console_domid; > - info.gfn = _gfn(vuart_op->gfn); > + struct vuart_params params = { > + .console_domid = vuart_op->console_domid, > + .gfn = _gfn(vuart_op->gfn), > + .evtchn = 0, > + }; > > if ( d->creation_finished ) > return -EPERM; > @@ -41,10 +43,10 @@ static int handle_vuart_init(struct domain *d, > if ( vuart_op->type != XEN_DOMCTL_VUART_TYPE_VPL011 ) > return -EOPNOTSUPP; > > - rc = domain_vpl011_init(d, &info); > + rc = vuart_init(d, ¶ms); > > if ( !rc ) > - vuart_op->evtchn = info.evtchn; > + vuart_op->evtchn = params.evtchn; > > return rc; > } > diff --git a/xen/arch/arm/include/asm/vpl011.h > b/xen/arch/arm/include/asm/vpl011.h > index be64883b8628..5c308cc8c148 100644 > --- a/xen/arch/arm/include/asm/vpl011.h > +++ b/xen/arch/arm/include/asm/vpl011.h > @@ -59,26 +59,6 @@ struct vpl011 { > evtchn_port_t evtchn; > }; > > -struct vpl011_init_info { > - domid_t console_domid; > - gfn_t gfn; > - evtchn_port_t evtchn; > -}; > - > -#ifdef CONFIG_HAS_VUART_PL011 > -int domain_vpl011_init(struct domain *d, > - struct vpl011_init_info *info); > -void domain_vpl011_deinit(struct domain *d); > -int vpl011_rx_char_xen(struct domain *d, char c); > -#else > -static inline int domain_vpl011_init(struct domain *d, > - struct vpl011_init_info *info) > -{ > - return -ENOSYS; > -} > - > -static inline void domain_vpl011_deinit(struct domain *d) { } > -#endif > #endif /* _VPL011_H_ */ > > /* > diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c > index cafc532cf028..2cf88a70ecdb 100644 > --- a/xen/arch/arm/vpl011.c > +++ b/xen/arch/arm/vpl011.c > @@ -134,7 +134,7 @@ static void vpl011_write_data_xen(struct domain *d, > uint8_t data) > > /* > * vpl011_read_data_xen reads data when the backend is xen. Characters > - * are added to the vpl011 receive buffer by vpl011_rx_char_xen. > + * are added to the vpl011 receive buffer by vuart_putchar. > */ > static uint8_t vpl011_read_data_xen(struct domain *d) > { > @@ -571,9 +571,9 @@ static void vpl011_data_avail(struct domain *d, > } > > /* > - * vpl011_rx_char_xen adds a char to a domain's vpl011 receive buffer. > + * vuart_putchar adds a char to a domain's vpl011 receive buffer. > */ > -int vpl011_rx_char_xen(struct domain *d, char c) > +int vuart_putchar(struct domain *d, char c) How can putchar refer to RX? By definition putchar() is used to print data to STDOUT. Here we receive a character and put it in the RX FIFO. ~Michal
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |