On Mon, 22 Oct 2018, Julien Grall wrote:
> Hi,
> 
> On 09/10/2018 00:37, Stefano Stabellini wrote:
> > reserved-memory regions should be mapped as normal memory.
> 
> This is already the case with p2m_mmio_direct_c. The hardware domain should
> have full control on the resulting attributes via its stage-1 mappings. So
> what's wrong with that p2m type?

Shared mappings are prevented for any types other than p2m_ram_rw, see
the p2m_is_ram checks in the implementation of XENMAPSPACE_gmfn_share.

The alternative is to remove or extend the p2m_is_ram check at
xen/arch/arm/mm.c:1283


> >  At the
> > moment, they get remapped as device memory because Xen doesn't know
> > better. Add an explicit check for it.
> > 
> > Signed-off-by: Stefano Stabellini <stefa...@xilinx.com>
> > ---
> >   xen/arch/arm/domain_build.c | 7 +++++++
> >   1 file changed, 7 insertions(+)
> > 
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index f552154..c7df4cf 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -1307,6 +1307,13 @@ static int __init handle_node(struct domain *d,
> > struct kernel_info *kinfo,
> >                  "WARNING: Path %s is reserved, skip the node as we may
> > re-use the path.\n",
> >                  path);
> >   +    /*
> > +     * reserved-memory ranges should be mapped as normal memory in the
> > +     * p2m.
> > +     */
> > +    if ( !strcmp(dt_node_name(node), "reserved-memory") )
> > +        p2mt = p2m_ram_rw;
> > +
> >       res = handle_device(d, node, p2mt);
> >       if ( res)
> >           return res;
> > 
> 
> -- 
> Julien Grall
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to