diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-06-21 00:47:31 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-06-26 10:23:56 +0200 |
commit | 6750485bf42a9917a29487aec899687669104e07 (patch) | |
tree | f3041f5dcd012248e81091fb384e28767fe12195 /bsd-user/i386 | |
parent | 53b9b4cc9fb956279c6494bfa7d7ea61f07bb214 (diff) |
target/i386: implement RDPID in TCG
RDPID corresponds to a RDMSR(TSC_AUX); however, it is unprivileged
so for user-mode emulation we must provide the value that the kernel
places in the MSR. For Linux, it is a combination of the current CPU
and the current NUMA node, both of which can be retrieved with getcpu(2).
Also try sched_getcpu(), which might be there on the BSDs. If there is
no portable way to retrieve the current CPU id from userspace, return 0.
RDTSCP is reimplemented as RDTSC + RDPID ECX; the differences in terms
of serializability are not relevant to QEMU.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'bsd-user/i386')
0 files changed, 0 insertions, 0 deletions