diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1821,12 +1821,12 @@ for (int i = 0; i < nitems(user_regs); i++) { if (user_regs[i].reg == reg) { val = CPU_DESC_FIELD(kern_cpu_desc, i); - *valp = 0; fields = user_regs[i].fields; for (int j = 0; fields[j].type != 0; j++) { - *valp |= update_lower_register(mask, val, + mask = update_lower_register(mask, val, fields[j].shift, 4, fields[j].sign); } + *valp = mask; return (true); } }