Lines Matching refs:pair
85 static void hwprobe_arch_id(struct riscv_hwprobe *pair,
95 switch (pair->key) {
122 pair->value = id;
125 static void hwprobe_isa_ext0(struct riscv_hwprobe *pair,
131 pair->value = 0;
133 pair->value |= RISCV_HWPROBE_IMA_FD;
136 pair->value |= RISCV_HWPROBE_IMA_C;
139 pair->value |= RISCV_HWPROBE_IMA_V;
149 pair->value |= RISCV_HWPROBE_EXT_ZBA;
154 pair->value |= RISCV_HWPROBE_EXT_ZBB;
159 pair->value |= RISCV_HWPROBE_EXT_ZBS;
165 pair->value &= ~missing;
191 static void hwprobe_one_pair(struct riscv_hwprobe *pair,
194 switch (pair->key) {
198 hwprobe_arch_id(pair, cpus);
207 pair->value = RISCV_HWPROBE_BASE_BEHAVIOR_IMA;
211 hwprobe_isa_ext0(pair, cpus);
215 pair->value = hwprobe_misaligned(cpus);
224 pair->key = -1;
225 pair->value = 0;
269 struct riscv_hwprobe pair;
271 if (get_user(pair.key, &pairs->key))
274 pair.value = 0;
275 hwprobe_one_pair(&pair, &cpus);
276 ret = put_user(pair.key, &pairs->key);
278 ret = put_user(pair.value, &pairs->value);
294 struct riscv_hwprobe pair;
302 pair.key = key;
303 hwprobe_one_pair(&pair, cpu_online_mask);
305 WARN_ON_ONCE(pair.key < 0);
307 avd->all_cpu_hwprobe_values[key] = pair.value;
313 id_bitsmash |= pair.value;