summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/enlighten_pvh.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-03-13 15:45:48 +0100
committerJuergen Gross <jgross@suse.com>2023-03-14 15:20:51 +0100
commit934ef33ee75c3846f605f18b65048acd147e3918 (patch)
tree5b5b2fd04466a3c1528176ad31982a9fec68615e /arch/x86/xen/enlighten_pvh.c
parent99a7bcafbd0d04555074554573019096a8c10450 (diff)
downloadlinux-934ef33ee75c3846f605f18b65048acd147e3918.tar.gz
linux-934ef33ee75c3846f605f18b65048acd147e3918.tar.bz2
linux-934ef33ee75c3846f605f18b65048acd147e3918.zip
x86/PVH: obtain VGA console info in Dom0
A new platform-op was added to Xen to allow obtaining the same VGA console information PV Dom0 is handed. Invoke the new function and have the output data processed by xen_init_vga(). Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'arch/x86/xen/enlighten_pvh.c')
-rw-r--r--arch/x86/xen/enlighten_pvh.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index bcae606bbc5c..1da44aca896c 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -43,6 +43,19 @@ void __init xen_pvh_init(struct boot_params *boot_params)
x86_init.oem.banner = xen_banner;
xen_efi_init(boot_params);
+
+ if (xen_initial_domain()) {
+ struct xen_platform_op op = {
+ .cmd = XENPF_get_dom0_console,
+ };
+ long ret = HYPERVISOR_platform_op(&op);
+
+ if (ret > 0)
+ xen_init_vga(&op.u.dom0_console,
+ min(ret * sizeof(char),
+ sizeof(op.u.dom0_console)),
+ &boot_params->screen_info);
+ }
}
void __init mem_map_via_hcall(struct boot_params *boot_params_p)