diff options
| author | Olivier Certner <olce@FreeBSD.org> | 2026-01-22 14:22:01 +0000 |
|---|---|---|
| committer | Olivier Certner <olce@FreeBSD.org> | 2026-02-03 14:02:55 +0000 |
| commit | 7acd7ac6385c783699a64216198d7f2e244cc3b4 (patch) | |
| tree | 629ddc4cd2a82e8ffc4da8b87452e54ec3cf6b20 | |
| parent | cd8d44173adc375b59a24b1363476c086a7c86b4 (diff) | |
x86: x86_msr_op(): Move setting mode up, delineate logical blocks
No functional changes (intended).
Reviewed by: kib
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54996
| -rw-r--r-- | sys/x86/x86/cpu_machdep.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/x86/x86/cpu_machdep.c b/sys/x86/x86/cpu_machdep.c index 067374be4941..b0763d7bd98e 100644 --- a/sys/x86/x86/cpu_machdep.c +++ b/sys/x86/x86/cpu_machdep.c @@ -161,16 +161,18 @@ x86_msr_op(u_int msr, u_int op, uint64_t arg1, uint64_t *res) u_int exmode; int bound_cpu, cpu, i, is_bound; - a.op = op & MSR_OP_OP_MASK; - MPASS(a.op == MSR_OP_ANDNOT || a.op == MSR_OP_OR || - a.op == MSR_OP_WRITE || a.op == MSR_OP_READ); exmode = op & MSR_OP_EXMODE_MASK; MPASS(exmode == MSR_OP_LOCAL || exmode == MSR_OP_SCHED_ALL || exmode == MSR_OP_SCHED_ONE || exmode == MSR_OP_RENDEZVOUS_ALL || exmode == MSR_OP_RENDEZVOUS_ONE); + + a.op = op & MSR_OP_OP_MASK; + MPASS(a.op == MSR_OP_ANDNOT || a.op == MSR_OP_OR || + a.op == MSR_OP_WRITE || a.op == MSR_OP_READ); a.msr = msr; a.arg1 = arg1; a.res = res; + switch (exmode) { case MSR_OP_LOCAL: x86_msr_op_one(&a); |
