From: Manuel Bouyer <bouyer@antioche.eu.org>
To: paul@xen.org
Cc: 'Andrew Cooper' <andrew.cooper3@citrix.com>,
xen-devel@lists.xenproject.org
Subject: Re: IOCTL_PRIVCMD_MMAPBATCH on Xen 4.13.0
Date: Mon, 18 May 2020 19:31:11 +0200 [thread overview]
Message-ID: <20200518173111.GA13512@antioche.eu.org> (raw)
In-Reply-To: <000a01d62ce7$093b7f50$1bb27df0$@xen.org>
On Mon, May 18, 2020 at 08:36:24AM +0100, Paul Durrant wrote:
> > -----Original Message-----
> > From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of Manuel Bouyer
> > Sent: 17 May 2020 18:56
> > To: Andrew Cooper <andrew.cooper3@citrix.com>
> > Cc: xen-devel@lists.xenproject.org
> > Subject: Re: IOCTL_PRIVCMD_MMAPBATCH on Xen 4.13.0
> >
> > On Sun, May 17, 2020 at 07:32:59PM +0200, Manuel Bouyer wrote:
> > > I've been looking a bit deeper in the Xen kernel.
> > > The mapping is failed in ./arch/x86/mm/p2m.c:p2m_get_page_from_gfn(),
> > > /* Error path: not a suitable GFN at all */
> > > if ( !p2m_is_ram(*t) && !p2m_is_paging(*t) && !p2m_is_pod(*t) ) {
> > > gdprintk(XENLOG_ERR, "p2m_get_page_from_gfn2: %d is_ram %ld is_paging %ld is_pod %ld\n", *t,
> > p2m_is_ram(*t), p2m_is_paging(*t), p2m_is_pod(*t) );
> > > return NULL;
> > > }
> > >
> > > *t is 4, which translates to p2m_mmio_dm
> > >
> > > it looks like p2m_get_page_from_gfn() is not ready to handle this case
> > > for dom0.
> >
> > And so it looks like I need to implement osdep_xenforeignmemory_map_resource()
> > for NetBSD
> >
>
> It would be a good idea but you shouldn't have to.
This is how I read the code too, it should fallback to mmapbatch.
But mmapbatch doesn't work in all cases on 4.13.0
> Also, qemu-trad won't use it even if it is there.
Looks like it still use mmapbatch for some mappings, indeeed.
But now it goes a bit further, but still end up failing to map the guest's
memory.
Also, with some fix I got qemu-xen working building on NetBSD, it starts
but fails to load the BIOS rom. Once again p2m_get_page_from_gfn() fails
to find a page, and thinks the type is p2m_mmio_dm.
From what I found it seems that all unallocated memory is tagged p2m_mmio_dm,
is it right ? That would point to some issue allocating RAM for
the domU in qemu, I would need to find where this happens in qemu.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
next prev parent reply other threads:[~2020-05-18 17:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 20:29 IOCTL_PRIVCMD_MMAPBATCH on Xen 4.13.0 Manuel Bouyer
2020-05-15 21:00 ` Andrew Cooper
2020-05-15 21:06 ` Manuel Bouyer
2020-05-15 21:38 ` Andrew Cooper
2020-05-15 21:53 ` Manuel Bouyer
2020-05-16 16:18 ` Andrew Cooper
2020-05-17 9:30 ` Manuel Bouyer
2020-05-17 17:32 ` Manuel Bouyer
2020-05-17 17:56 ` Manuel Bouyer
2020-05-18 7:36 ` Paul Durrant
2020-05-18 17:31 ` Manuel Bouyer [this message]
2020-05-19 7:34 ` Jan Beulich
2020-05-19 8:46 ` Manuel Bouyer
2020-05-19 8:51 ` Jan Beulich
2020-05-19 9:54 ` Roger Pau Monné
2020-05-19 10:28 ` Manuel Bouyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200518173111.GA13512@antioche.eu.org \
--to=bouyer@antioche.eu.org \
--cc=andrew.cooper3@citrix.com \
--cc=paul@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.