[PATCH v3 4/4] x86/xen: supply rsdp address in boot params for pvh guests

From: Juergen Gross
Date: Fri Dec 08 2017 - 10:11:57 EST


When booted via the special PVH entry save the RSDP address set in the
boot information block in struct boot_params. This will enable Xen to
locate the RSDP at an arbitrary address.

Set the boot loader version to 2.14 (0x020e) replacing the wrong 0x0212
which should have been 0x020c.

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
V2: set bootloader version to 2.14 (Roger Pau MonnÃ)
---
arch/x86/xen/enlighten_pvh.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index 6e6430cb5e3f..e85e6dafe4bc 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -68,9 +68,12 @@ static void __init init_pvh_bootparams(void)
*
* Version 2.12 supports Xen entry point but we will use default x86/PC
* environment (i.e. hardware_subarch 0).
+ * The RSDP address is available from version 2.14 on.
*/
- pvh_bootparams.hdr.version = (2 << 8) | 12;
+ pvh_bootparams.hdr.version = (2 << 8) | 14;
pvh_bootparams.hdr.type_of_loader = (9 << 4) | 0; /* Xen loader */
+
+ pvh_bootparams.hdr.acpi_rsdp_addr = pvh_start_info.rsdp_paddr;
}

/*
--
2.12.3