I'm currently writing another blog post about the TLB, and came across a Intel instruction for invalidating specific TLB entries based upon the current PCID (Process Context Identifier) if the bit was enabled in the CR4 register. I've read that PCID is supported by Intel, but need to check for AMD.
Here's my output from WinDbg with a AMD CPU, and the bit doesn't seem to be enabled or isn't supported.
0: kd> .formats @cr4
Binary: 00000000 00000000 00000110 11111001 <-- 17th Bit
Time: Thu Jan 01 00:29:45 1970
Float: low 2.50132e-042 high 0
This command should also work:
0: kd> j ((@cr4 & 0y00000000000000010000000000000000) != 0)'.echo PCID Flag Enabled';'.echo PCID Flag Disabled'
The current output:
Thanks for any feedback!