From: Ian Campbell Date: Fri, 22 Feb 2013 08:58:08 +0000 (+0000) Subject: xen: arm64: percpu variable support. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~7197 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f7aa5f0657199e41dcf0703d4ebac394b017e260;p=xen.git xen: arm64: percpu variable support. Signed-off-by: Ian Campbell Acked-by: Tim Deegan --- diff --git a/xen/include/asm-arm/cpregs.h b/xen/include/asm-arm/cpregs.h index ccd8335ba6..80768d9665 100644 --- a/xen/include/asm-arm/cpregs.h +++ b/xen/include/asm-arm/cpregs.h @@ -244,6 +244,7 @@ #define ID_PFR0_EL1 ID_PFR0 #define ID_PFR1_EL1 ID_PFR1 #define SCTLR_EL2 HSCTLR +#define TPIDR_EL2 HTPIDR #define TTBR0_EL2 HTTBR #define VBAR_EL2 HVBAR #define VTCR_EL2 VTCR diff --git a/xen/include/asm-arm/percpu.h b/xen/include/asm-arm/percpu.h index 3a2ba11f6d..a0c38cebf4 100644 --- a/xen/include/asm-arm/percpu.h +++ b/xen/include/asm-arm/percpu.h @@ -11,18 +11,17 @@ void percpu_init_areas(void); __section(".bss.percpu" #suffix) \ __typeof__(type) per_cpu_##name - #define per_cpu(var, cpu) \ (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu])) #define __get_cpu_var(var) \ - (*RELOC_HIDE(&per_cpu__##var, READ_CP32(HTPIDR))) + (*RELOC_HIDE(&per_cpu__##var, READ_SYSREG(TPIDR_EL2))) #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name DECLARE_PER_CPU(unsigned int, cpu_id); #define get_processor_id() (this_cpu(cpu_id)) #define set_processor_id(id) do { \ - WRITE_CP32(__per_cpu_offset[id], HTPIDR); \ + WRITE_SYSREG(__per_cpu_offset[id], TPIDR_EL2); \ this_cpu(cpu_id) = (id); \ } while(0) #endif