direct-io.hg

changeset 12825:e4213aa1b98d

[IA64] MCA support - Add lid and percpu paddr table

Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
author awilliam@xenbuild.aw
date Sun Oct 29 09:27:19 2006 -0700 (2006-10-29)
parents 44119a4b46bd
children 6da8ccfa61d3
files xen/arch/ia64/xen/mm_init.c
line diff
     1.1 --- a/xen/arch/ia64/xen/mm_init.c	Sun Oct 29 09:27:18 2006 -0700
     1.2 +++ b/xen/arch/ia64/xen/mm_init.c	Sun Oct 29 09:27:19 2006 -0700
     1.3 @@ -10,6 +10,11 @@
     1.4  
     1.5  #include <xen/sched.h>
     1.6  #include <asm/vhpt.h>
     1.7 +#include <asm/xenmca.h>
     1.8 +#include <asm/meminit.h>
     1.9 +#include <asm/page.h>
    1.10 +
    1.11 +struct ia64_mca_tlb_info ia64_mca_tlb_list[NR_CPUS];
    1.12  
    1.13  extern void ia64_tlb_init (void);
    1.14  
    1.15 @@ -93,11 +98,13 @@ ia64_mmu_init (void *my_cpu_data)
    1.16  
    1.17  	cpu = smp_processor_id();
    1.18  
    1.19 -#ifndef XEN
    1.20  	/* mca handler uses cr.lid as key to pick the right entry */
    1.21  	ia64_mca_tlb_list[cpu].cr_lid = ia64_getreg(_IA64_REG_CR_LID);
    1.22  
    1.23  	/* insert this percpu data information into our list for MCA recovery purposes */
    1.24 +#ifdef XEN
    1.25 +	ia64_mca_tlb_list[cpu].percpu_paddr = __pa(my_cpu_data);
    1.26 +#else
    1.27  	ia64_mca_tlb_list[cpu].percpu_paddr = pte_val(mk_pte_phys(__pa(my_cpu_data), PAGE_KERNEL));
    1.28  	/* Also save per-cpu tlb flush recipe for use in physical mode mca handler */
    1.29  	ia64_mca_tlb_list[cpu].ptce_base = local_cpu_data->ptce_base;