xen: arm64: percpu variable support.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
This commit is contained in:
Ian Campbell committed 2013-02-22 12:14:54 +00:00
1 parent 2ab89f356c
commit f7aa5f0657
2 files changed
+3 -3

No files matched your search

+1
View File
@@ -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
+2 -3
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.