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

Re: [Xen-devel] [PATCH] x86: drop setup_idle_pagetable()



On 12/06/13 15:59, Jan Beulich wrote:
> With vcpu->domain->arch.perdomain_l3_pg no longer getting set up for
> the idle domain, this creates an invalid L4 entry (due to translating
> a NULL struct page_info pointer to a physical address).
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Is it perhaps prudent to extend some of the $FOO_from_page() macros to
guard against NULL pointers in debug builds?

~Andrew

>
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -185,7 +185,6 @@ static void __init init_idle_domain(void
>      scheduler_init();
>      set_current(idle_vcpu[0]);
>      this_cpu(curr_vcpu) = current;
> -    setup_idle_pagetable();
>  }
>  
>  void __devinit srat_detect_node(int cpu)
> --- a/xen/arch/x86/x86_64/mm.c
> +++ b/xen/arch/x86/x86_64/mm.c
> @@ -810,14 +810,6 @@ void __init paging_init(void)
>      panic("Not enough memory for m2p table\n");    
>  }
>  
> -void __init setup_idle_pagetable(void)
> -{
> -    /* Install per-domain mappings for idle domain. */
> -    l4e_write(&idle_pg_table[l4_table_offset(PERDOMAIN_VIRT_START)],
> -              l4e_from_page(idle_vcpu[0]->domain->arch.perdomain_l3_pg,
> -                            __PAGE_HYPERVISOR));
> -}
> -
>  void __init zap_low_mappings(void)
>  {
>      BUG_ON(num_online_cpus() != 1);
> --- a/xen/include/asm-x86/page.h
> +++ b/xen/include/asm-x86/page.h
> @@ -286,7 +286,6 @@ extern l2_pgentry_t l2_identmap[4*L2_PAG
>  extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
>      l1_fixmap[L1_PAGETABLE_ENTRIES];
>  void paging_init(void);
> -void setup_idle_pagetable(void);
>  #endif /* !defined(__ASSEMBLY__) */
>  
>  #define _PAGE_PRESENT  _AC(0x001,U)
>
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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