mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
2ab89f356c
commit
f7aa5f0657
2 files changed
+3
-3
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||