Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932813AbdCaIDZ (ORCPT ); Fri, 31 Mar 2017 04:03:25 -0400 Received: from mx2.suse.de ([195.135.220.15]:37585 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932545AbdCaIDX (ORCPT ); Fri, 31 Mar 2017 04:03:23 -0400 Subject: Re: [PATCH] xen,kdump: handle pv domain in paddr_vmcoreinfo_note() To: Boris Ostrovsky , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org References: <20170330141824.4113-1-jgross@suse.com> Cc: ptesarik@suse.com From: Juergen Gross Message-ID: <1de1fa53-faa4-3d6d-2bf9-f786dbaebd3d@suse.com> Date: Fri, 31 Mar 2017 10:03:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1652 Lines: 51 On 30/03/17 16:51, Boris Ostrovsky wrote: > On 03/30/2017 10:18 AM, Juergen Gross wrote: >> For kdump to work correctly it needs the physical address of >> vmcoreinfo_note. When running as dom0 this means the virtual address >> has to be translated to the related machine address. >> >> paddr_vmcoreinfo_note() is meant to do the translation via __pa() only, >> but being attributed "weak" it can be replaced easily in Xen case. >> >> Signed-off-by: Juergen Gross >> --- >> This patch needs to be rebased on top of Vitaly's series to split >> pv- and hvm-code. I'll do this as soon as his series is in the Xen >> tree in its final form. >> --- >> arch/x86/xen/mmu.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c >> index 37cb5aa..0e2b8d7 100644 >> --- a/arch/x86/xen/mmu.c >> +++ b/arch/x86/xen/mmu.c >> @@ -49,6 +49,9 @@ >> #include >> #include >> #include >> +#ifdef CONFIG_KEXEC_CORE >> +#include >> +#endif >> >> #include >> >> @@ -2903,3 +2906,13 @@ int xen_unmap_domain_gfn_range(struct vm_area_struct *vma, >> return -EINVAL; >> } >> EXPORT_SYMBOL_GPL(xen_unmap_domain_gfn_range); >> + >> +#ifdef CONFIG_KEXEC_CORE >> +phys_addr_t paddr_vmcoreinfo_note(void) >> +{ >> + if (xen_pv_domain()) >> + return virt_to_machine(&vmcoreinfo_note).maddr; >> + else >> + return __pa((unsigned long)(char *)&vmcoreinfo_note); > > Why not __pa_symbol(), just like in the weak version? Hmm, you are right. This patch originated from a 4.4 based one. Juergen