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 /docs/devel | |
| parent | 53b9b4cc9fb956279c6494bfa7d7ea61f07bb214 (diff) | |
| download | qemu-6750485bf42a9917a29487aec899687669104e07.zip qemu-6750485bf42a9917a29487aec899687669104e07.tar.gz qemu-6750485bf42a9917a29487aec899687669104e07.tar.bz2 | |
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 'docs/devel')
0 files changed, 0 insertions, 0 deletions
