summaryrefslogtreecommitdiffstats
path: root/sys/dev/cpuctl/cpuctl.c
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2012-11-04 13:46:28 +0000
committeravg <avg@FreeBSD.org>2012-11-04 13:46:28 +0000
commitbf1c7077b5d9262d437678469096e98bb3082563 (patch)
treebce90d01cd9180ee570fea1dd2bb187d375ff85a /sys/dev/cpuctl/cpuctl.c
parent58ab2ca2eb887d7b629107d491de73eb43b2e14b (diff)
downloadFreeBSD-src-bf1c7077b5d9262d437678469096e98bb3082563.zip
FreeBSD-src-bf1c7077b5d9262d437678469096e98bb3082563.tar.gz
cpuctl_do_cpuid: explicitly use ecx=0 for cpuid call
... instead of whatever random value may happen to be in the register. ecx is important to some cpuid leaves. To do: extend cpuctl interface to provide for ecx value parameter. MFC after: 5 days
Diffstat (limited to 'sys/dev/cpuctl/cpuctl.c')
-rw-r--r--sys/dev/cpuctl/cpuctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/cpuctl/cpuctl.c b/sys/dev/cpuctl/cpuctl.c
index 1553457..742fa10 100644
--- a/sys/dev/cpuctl/cpuctl.c
+++ b/sys/dev/cpuctl/cpuctl.c
@@ -204,7 +204,7 @@ cpuctl_do_cpuid(int cpu, cpuctl_cpuid_args_t *data, struct thread *td)
oldcpu = td->td_oncpu;
is_bound = cpu_sched_is_bound(td);
set_cpu(cpu, td);
- do_cpuid(data->level, data->data);
+ cpuid_count(data->level, 0, data->data);
restore_cpu(oldcpu, is_bound, td);
return (0);
}
OpenPOWER on IntegriCloud