Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0acf10d8 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Thomas Gleixner
Browse files

xen: add raw console write functions for debug



Add a couple of functions which can write directly to the Xen console
for debugging.  This output ends up on the host's dom0 console
(assuming it allows the domain to write there).

Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 3843fc25
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -157,3 +157,29 @@ struct console xenboot_console = {
	.write		= xenboot_write_console,
	.flags		= CON_PRINTBUFFER | CON_BOOT,
};

void xen_raw_console_write(const char *str)
{
	int len = strlen(str);

	while(len > 0) {
		int rc = HYPERVISOR_console_io(CONSOLEIO_write, len, (char *)str);
		if (rc <= 0)
			break;

		str += rc;
		len -= rc;
	}
}

void xen_raw_printk(const char *fmt, ...)
{
	static char buf[512];
	va_list ap;

	va_start(ap, fmt);
	vsnprintf(buf, sizeof(buf), fmt, ap);
	va_end(ap);

	xen_raw_console_write(buf);
}
+3 −0
Original line number Diff line number Diff line
@@ -3,4 +3,7 @@

extern struct console xenboot_console;

void xen_raw_console_write(const char *str);
void xen_raw_printk(const char *fmt, ...);

#endif	/* XEN_HVC_CONSOLE_H */