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

[xen staging] xen/arm: use domain memory to allocate p2m page tables



commit 891f077a71aa1ce45adc43f114a02768565dc14b
Author:     Carlo Nonato <carlo.nonato@xxxxxxxxxxxxxxx>
AuthorDate: Fri Oct 25 11:50:11 2024 +0200
Commit:     Julien Grall <julien@xxxxxxx>
CommitDate: Sun Nov 17 18:24:23 2024 +0000

    xen/arm: use domain memory to allocate p2m page tables
    
    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@xxxxxxxxxxxxxxx>
    Acked-by: Julien Grall <julien@xxxxxxx>
---
 xen/arch/arm/mmu/p2m.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index bfa312cc8a..28df6e5d03 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -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");
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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