Messages in this thread | | | Date | Wed, 23 Nov 2022 10:46:07 +0100 | From | Sebastian Andrzej Siewior <> | Subject | RDTSCP | IA32_TSC_AUX on x86-32 |
| |
Hi,
the RDTSCP opcode is translated as "Read Time-Stamp Counter and Processor ID". It does not read the Processor ID is merely returns the value of IA32_TSC_AUX which has been previously written by the OS. This is documented but is misleading if you never made it past the headline.
Now. On 64bit there is __vdso_getcpu and IA32_TSC_AUX is setup (it also contains the node number but…) for its purpose. On 32bit there is no __vdso_getcpu and IA32_TSC_AUX is not setup. RDTSCP is not privileged and returns the proper timestamp but the "CPU" field is always zero.
Is the format OS specific and not for user purpose or could IA32_TSC_AUX be setup on 32bit?
Sebastian
| |