]> xenbits.xensource.com Git - xen.git/commitdiff
xen/arm: use domain memory to allocate p2m page tables
authorCarlo Nonato <carlo.nonato@minervasys.tech>
Fri, 25 Oct 2024 09:50:11 +0000 (11:50 +0200)
committerJulien Grall <julien@xen.org>
Sun, 17 Nov 2024 18:24:23 +0000 (18:24 +0000)
Cache colored domains can benefit from having p2m page tables allocated
with the same coloring schema so that isolation can be achieved also for
those kind of memory accesses.
In order to do that, the domain struct is passed to the allocator and the
MEMF_no_owner flag is used.

This will be useful also when NUMA will be supported on Arm.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Acked-by: Julien Grall <julien@xen.org>
xen/arch/arm/mmu/p2m.c

index bfa312cc8a2db67fca5e9677be8bba93358851c7..28df6e5d034a5ee19768680ba10121767dc19ae2 100644 (file)
@@ -32,7 +32,7 @@ static struct page_info *p2m_alloc_page(struct domain *d)
      */
     if ( is_hardware_domain(d) )
     {
-        pg = alloc_domheap_page(NULL, 0);
+        pg = alloc_domheap_page(d, MEMF_no_owner);
         if ( pg == NULL )
             printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
     }
@@ -81,7 +81,7 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
         if ( d->arch.paging.p2m_total_pages < pages )
         {
             /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(NULL, 0);
+            pg = alloc_domheap_page(d, MEMF_no_owner);
             if ( pg == NULL )
             {
                 printk(XENLOG_ERR "Failed to allocate P2M pages.\n");