Hi Stefano,
On 6/12/19 11:25 PM, Stefano Stabellini wrote:
On Tue, 14 May 2019, Julien Grall wrote:
Currently, the virtual address of the 3rd level page-tables is obtained
using mfn_to_virt().
On Arm32, mfn_to_virt can only work on xenheap page. While in practice
all the page-tables updated will reside in xenheap, in practive the
^ in theory ?
The first one should to be "theory" and the second "practice". Because
some of the bootstrap page-tables (e.g xen_fixmap/xen_mapping) are part
of Xen binary.
page-tables covering Xen memory (e.g xen_mapping) is part of Xen binary.
Furthermore, a follow-up change will update xen_pt_update_entry() to
walk all the levels and therefore be more generic. Some of the
page-tables will also part of Xen memory and therefore will not be
reachable using mfn_to_virt().
The easiest way to reach those pages is to use {, un}map_domain_page().
While on arm32 this means an extra mapping in the normal cases, this is not
very important as xen page-tables are not updated often.
In order to allow future change in the way Xen page-tables are mapped,
two new helpers are introduced to map/unmap the page-tables.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Reviewed-by: Andrii Anisov <andrii_ani...@epam.com>
aside from the typo above:
Let me know if my suggestion makes sense above.
Acked-by: Stefano Stabellini <sstabell...@kernel.org>
Thank you.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel