mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
target-i386: add RDTSCP support
RDTSCP reads the time stamp counter and atomically also the content of a 32-bit MSR, which can be freely set by the OS. This allows CPU local data to be queried by userspace. Linux uses this to allow a fast implementation of the getcpu() syscall, which uses the vsyscall page to avoid a context switch. AMD CPUs since K8RevF and Intel CPUs since Nehalem support this instruction. RDTSCP is guarded by the RDTSCP CPUID bit (Fn8000_0001:EDX[27]). Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
d9f4bb27db
commit
1b050077d2
5 changed files with 65 additions and 18 deletions
|
@ -80,6 +80,7 @@ DEF_HELPER_1(cmpxchg16b, void, tl)
|
|||
DEF_HELPER_0(single_step, void)
|
||||
DEF_HELPER_0(cpuid, void)
|
||||
DEF_HELPER_0(rdtsc, void)
|
||||
DEF_HELPER_0(rdtscp, void)
|
||||
DEF_HELPER_0(rdpmc, void)
|
||||
DEF_HELPER_0(rdmsr, void)
|
||||
DEF_HELPER_0(wrmsr, void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue