On 5/19/20 7:25 PM, Anchal Agarwal wrote: > 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@xxxxxxxxxx> > --- > 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 e138f7de52d2..75b1ec7a0fcd 100644 > --- a/arch/x86/xen/enlighten_hvm.c > +++ b/arch/x86/xen/enlighten_hvm.c > @@ -27,6 +27,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)); > +} > + AFAICT it is only called once so I don't see a need for new routine. And is it possible for shared_info_pfn to be NULL in resume path (which is where this is called)? -boris