* [PATCH v3] xen/common: add keyhandler to show Xen command line
@ 2026-08-10 23:04 dmukhin
2026-08-11 8:05 ` Roger Pau Monné
0 siblings, 1 reply; 2+ messages in thread
From: dmukhin @ 2026-08-10 23:04 UTC (permalink / raw)
To: xen-devel
Cc: andrew.cooper3, anthony.perard, jbeulich, julien, michal.orzel,
roger, sstabellini, dmukhin
From: Denis Mukhin <dmukhin@ford.com>
Currently there's no way to print Xen command line on the emergency
console for debugging purposes when 'xl' is not unavailable.
Add new keyhander 'X' to do command line printout.
Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v2:
- account for CONFIG_CMDLINE_OVERRIDE case
- use IS_ENABLED()
v2: https://lore.kernel.org/xen-devel/20260803070047.3097846-3-dmukhin@ford.com/
CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2748655201
---
xen/common/kernel.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index d1bef9ac2b2b..54a7ee6f68e5 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -5,6 +5,7 @@
*/
#include <xen/init.h>
+#include <xen/keyhandler.h>
#include <xen/lib.h>
#include <xen/errno.h>
#include <xen/param.h>
@@ -505,6 +506,25 @@ static int __init cf_check param_init(void)
__initcall(param_init);
#endif
+static void cf_check show_hypervisor_info(unsigned char key)
+{
+ printk("'%c' pressed -> showing hypervisor information\n", key);
+
+ if ( IS_ENABLED(CONFIG_CMDLINE_OVERRIDE) )
+ printk("Bootloader command line ignored (CONFIG_CMDLINE_OVERRIDE=y)\n");
+ else
+ printk("Command line: %s\n", saved_cmdline);
+}
+
+static int __init cf_check misc_init(void)
+{
+ register_keyhandler('X', show_hypervisor_info,
+ "show hypervisor information", 0);
+
+ return 0;
+}
+__initcall(misc_init);
+
static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xen_varbuf user_str;
--
2.54.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v3] xen/common: add keyhandler to show Xen command line
2026-08-10 23:04 [PATCH v3] xen/common: add keyhandler to show Xen command line dmukhin
@ 2026-08-11 8:05 ` Roger Pau Monné
0 siblings, 0 replies; 2+ messages in thread
From: Roger Pau Monné @ 2026-08-11 8:05 UTC (permalink / raw)
To: dmukhin
Cc: xen-devel, andrew.cooper3, anthony.perard, jbeulich, julien,
michal.orzel, sstabellini
On Mon, Aug 10, 2026 at 04:04:01PM -0700, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
>
> Currently there's no way to print Xen command line on the emergency
> console for debugging purposes when 'xl' is not unavailable.
>
> Add new keyhander 'X' to do command line printout.
>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v2:
> - account for CONFIG_CMDLINE_OVERRIDE case
> - use IS_ENABLED()
>
> v2: https://lore.kernel.org/xen-devel/20260803070047.3097846-3-dmukhin@ford.com/
> CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2748655201
> ---
> xen/common/kernel.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index d1bef9ac2b2b..54a7ee6f68e5 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -5,6 +5,7 @@
> */
>
> #include <xen/init.h>
> +#include <xen/keyhandler.h>
> #include <xen/lib.h>
> #include <xen/errno.h>
> #include <xen/param.h>
> @@ -505,6 +506,25 @@ static int __init cf_check param_init(void)
> __initcall(param_init);
> #endif
>
> +static void cf_check show_hypervisor_info(unsigned char key)
> +{
> + printk("'%c' pressed -> showing hypervisor information\n", key);
> +
> + if ( IS_ENABLED(CONFIG_CMDLINE_OVERRIDE) )
> + printk("Bootloader command line ignored (CONFIG_CMDLINE_OVERRIDE=y)\n");
Since we are there already, why not print the builtin command line
using CONFIG_CMDLINE?
> + else
> + printk("Command line: %s\n", saved_cmdline);
> +}
> +
> +static int __init cf_check misc_init(void)
> +{
> + register_keyhandler('X', show_hypervisor_info,
> + "show hypervisor information", 0);
"show hypervisor information" seems too generic to me, almost all
debug keys could be defined by this sentence TBH. I think this needs
to be more specific, but I'm not sure what's the plan regarding this
key. Is there an intention to print more stuff here, or just the
command line? Knowing the full set of information to be printed might
help come up with a better name.
Thanks, Roger.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-11 8:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-10 23:04 [PATCH v3] xen/common: add keyhandler to show Xen command line dmukhin
2026-08-11 8:05 ` Roger Pau Monné
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.