Lines Matching +full:per +full:- +full:processor
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * arch/arm/include/asm/proc-fns.h
5 * Copyright (C) 1997-1999 Russell King
13 #include <asm/glue-proc.h>
21 * Don't change this structure - ASM code relies on it.
23 struct processor { struct
33 * Set up any processor specifics argument
37 * Check for processor bugs argument
41 * Disable any processor specifics argument
49 * Idle the processor argument
53 * Processor architecture specific
57 * D-cache without flushing the cache.
66 * Set a possibly extended PTE. Non-extended PTEs should
82 static inline void init_proc_vtable(const struct processor *p) in init_proc_vtable() argument
103 extern struct processor processor;
107 * This can't be a per-cpu variable because we need to access it before
108 * per-cpu has been initialised. We have a couple of functions that are
109 * called in a pre-emptible context, and so can't use smp_processor_id()
113 extern struct processor *cpu_vtable[];
114 #define PROC_VTABLE(f) cpu_vtable[smp_processor_id()]->f
115 #define PROC_TABLE(f) cpu_vtable[0]->f
116 static inline void init_proc_vtable(const struct processor *p) in init_proc_vtable()
120 WARN_ON_ONCE(cpu_vtable[cpu]->dcache_clean_area != in init_proc_vtable()
121 cpu_vtable[0]->dcache_clean_area); in init_proc_vtable()
122 WARN_ON_ONCE(cpu_vtable[cpu]->set_pte_ext != in init_proc_vtable()
123 cpu_vtable[0]->set_pte_ext); in init_proc_vtable()
126 #define PROC_VTABLE(f) processor.f
127 #define PROC_TABLE(f) processor.f
128 static inline void init_proc_vtable(const struct processor *p) in init_proc_vtable()
130 processor = *p; in init_proc_vtable()
167 pg &= ~(PTRS_PER_PGD*sizeof(pgd_t)-1); \