Revision 1b050077
ID | 1b050077d2d72b15c73257c13e2e46932786f7e2 |
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:EDX27).
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Files
- added
- modified
- copied
- renamed
- deleted
- target-i386
- cpu.h (diff)
- helper.h (diff)
- machine.c (diff)
- op_helper.c (diff)
- translate.c (diff)