From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v5 8/9] libxc: rework of domain builder's page table handler Date: Thu, 19 Nov 2015 08:41:05 -0500 Message-ID: <564DD171.4060105@oracle.com> References: <1447335816-31772-1-git-send-email-jgross@suse.com> <1447335816-31772-9-git-send-email-jgross@suse.com> <564CA324.5040005@oracle.com> <20151118161613.GP1495@citrix.com> <564CA57D.4040702@oracle.com> <564D679F.4010003@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <564D679F.4010003@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Juergen Gross , Wei Liu Cc: roger.pau@citrix.com, stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, Ian.Campbell@citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 11/19/2015 01:09 AM, Juergen Gross wrote: > On 18/11/15 17:21, Boris Ostrovsky wrote: >> On 11/18/2015 11:16 AM, Wei Liu wrote: >>> On Wed, Nov 18, 2015 at 11:11:16AM -0500, Boris Ostrovsky wrote: >>>> On 11/12/2015 08:43 AM, Juergen Gross wrote: >>>>> In order to prepare a p2m list outside of the initial kernel mapping >>>>> do a rework of the domain builder's page table handler. The goal is >>>>> to be able to use common helpers for page table allocation and setup >>>>> for initial kernel page tables and page tables mapping the p2m list. >>>>> This is achieved by supporting multiple mapping areas. The mapped >>>>> virtual addresses of the single areas must not overlap, while the >>>>> page tables of a new area added might already be partially present. >>>>> Especially the top level page table is existing only once, of course. >>>>> >>>>> Currently restrict the number of mappings to 1 because the only mapping >>>>> now is the initial mapping created by toolstack. There should not be >>>>> behaviour change and guest visible change introduced. >>>>> >>>>> Signed-off-by: Juergen Gross >>>>> Reviewed-by: Wei Liu >>>> --- >>>>> tools/libxc/xc_dom_x86.c | 479 >>>>> ++++++++++++++++++++++++----------------------- >>>>> tools/libxc/xg_private.h | 39 +--- >>>>> 2 files changed, 252 insertions(+), 266 deletions(-) >>>> This broke PVH. I get a triple fault (somewhere in clear_page(), so the >>>> guest have run a little) >>>> >>> Is there any output? We just noticed 32 bit pvgrub is broken. Not sure >>> these two problems are related but the more information the better. >> >> Not much: >> >> (d3) mapping kernel into physical memory >> (XEN) d3v0 Triple fault - invoking HVM shutdown action 0 >> >> I then looked at RIP and it was pointing to 'mov %rax,(%rdi)' in >> clear_page_orig(). I didn't check what %rdi was. > I think I've found the bug. I dropped the special case for pvh to > map page tables writable. Can you try the attached patch, please? Yes, that fixes it. Thanks. -boris