[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180612205619.28156-5-anchalag@amazon.com>
Date: Tue, 12 Jun 2018 20:56:11 +0000
From: Anchal Agarwal <anchalag@...zon.com>
To: <tglx@...utronix.de>, <mingo@...hat.com>, <hpa@...or.com>,
<x86@...nel.org>
CC: <boris.ostrovsky@...cle.com>, <konrad.wilk@...cle.com>,
<roger.pau@...rix.com>, <netdev@...r.kernel.org>,
<jgross@...e.com>, <xen-devel@...ts.xenproject.org>,
<linux-kernel@...r.kernel.org>, <kamatam@...zon.com>,
<anchalag@...zon.com>, <fllinden@...zon.com>, <vallish@...zon.com>,
<guruanb@...zon.com>, <eduval@...zon.com>, <rjw@...ysocki.net>,
<pavel@....cz>, <len.brown@...el.com>, <linux-pm@...r.kernel.org>,
<cyberax@...zon.com>
Subject: [RFC PATCH 04/12] x86/xen: Introduce new function to map HYPERVISOR_shared_info on Resume
Introduce a small function which re-uses shared page's PA allocated
during guest initialization time in reserve_shared_info() and not
allocate new page during resume flow.
It also does the mapping of shared_info_page by calling
xen_hvm_init_shared_info() to use the function.
Signed-off-by: Anchal Agarwal <anchalag@...zon.com>
Reviewed-by: Sebastian Biemueller <sbiemue@...zon.com>
Reviewed-by: Munehisa Kamata <kamatam@...zon.com>
Reviewed-by: Eduardo Valentin <eduval@...zon.com>
CR: https://cr.amazon.com/r/8273203/
---
arch/x86/xen/enlighten_hvm.c | 7 +++++++
arch/x86/xen/xen-ops.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index 754d5391d9fa..2c4bcf92a90a 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -24,6 +24,13 @@
static unsigned long shared_info_pfn;
+void xen_hvm_map_shared_info(void)
+{
+ xen_hvm_init_shared_info();
+ if (shared_info_pfn)
+ HYPERVISOR_shared_info = __va(PFN_PHYS(shared_info_pfn));
+}
+
void xen_hvm_init_shared_info(void)
{
struct xen_add_to_physmap xatp;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index f377e1820c6c..94c8a009ab35 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -58,6 +58,7 @@ void xen_enable_syscall(void);
void xen_vcpu_restore(void);
void xen_callback_vector(void);
+void xen_hvm_map_shared_info(void);
void xen_hvm_init_shared_info(void);
void xen_unplug_emulated_devices(void);
--
2.14.3
Powered by blists - more mailing lists