[tip:x86/boot] x86/xen: Supply RSDP address in boot params for PVH guests

From: tip-bot for Juergen Gross
Date: Tue Dec 12 2017 - 05:58:41 EST


Commit-ID: 930ba49b2ce7b09a5eddc21385fd944ba6b4e829
Gitweb: https://git.kernel.org/tip/930ba49b2ce7b09a5eddc21385fd944ba6b4e829
Author: Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Fri, 8 Dec 2017 16:11:39 +0100
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Mon, 11 Dec 2017 15:14:21 +0100

x86/xen: Supply RSDP address in boot params for PVH guests

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.

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: corbet@xxxxxxx
Cc: lenb@xxxxxxxxxx
Cc: linux-acpi@xxxxxxxxxxxxxxx
Cc: rjw@xxxxxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/20171208151139.30213-5-jgross@xxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
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 6e6430c..e85e6da 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;
}

/*