[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH 2/3] arch, arm32: add the XEN_DOMCTL_memory_mapping hypercall

Hello Arianna,

On 07/03/14 08:56, Arianna Avanzini wrote:
Beware:  I found that map_mmio_regions was off by one page unless I changed
"gfn + nr_mfns - 1" to "gfn + nr_mfns".
This may have been fixed in more recent upstream code.

That makes me think, map_mmio_regions is buggy if the range is not correctly
aligned. For instance:

start_gaddr = 0x1001 and end_gaddr = 0x2001, we only map 0x1000-0x2000 to the

The problem is the same with p2m_populate_ram (even if I doubt that RAM range is
not page-aligned).

I see 2 solutions to fix it:
     - Change map_mmio_regions prototype to use frame is instead address.
         - Aligned the input addresses.

IHMO, the former seems to be better, at least it avoid developer to discover
that some bits was mapped under his feet.

Sorry if I intrude here, thank you for pointing that out. As of now I have tried
to simply pass aligned addresses to map_mmio_regions() when it is invoked by the
memory_mapping hypercall.

FYI, the end address should be PAGE-aligned minus 1. Otherwise you will map a spurious page to the guest.

Sorry for the additional question, do you think that it would be appropriate to
add to the series a patch implementing one of the above-described solutions (the
one believed to be better)?

I'd like to have some input from Ian before. I think for now it's fine to stay with the current implementation.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.