x BlueRobot Administrator Staff member Joined May 7, 2013 Posts 10,265 Location %systemroot% Dec 19, 2013 #1 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. Code: 0: kd> .formats @cr4 Evaluate expression: Hex: 000006f9 Decimal: 1785 Octal: 00000003371 Binary: 00000000 00000000 00000110 11111001 <-- 17th Bit Chars: .... Time: Thu Jan 01 00:29:45 1970 Float: low 2.50132e-042 high 0 Double: 8.81907e-321 This command should also work: Code: 0: kd> j ((@cr4 & 0y00000000000000010000000000000000) != 0)'.echo PCID Flag Enabled';'.echo PCID Flag Disabled' The current output: Code: PCID Flag Disabled Thanks for any feedback!
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. Code: 0: kd> .formats @cr4 Evaluate expression: Hex: 000006f9 Decimal: 1785 Octal: 00000003371 Binary: 00000000 00000000 00000110 11111001 <-- 17th Bit Chars: .... Time: Thu Jan 01 00:29:45 1970 Float: low 2.50132e-042 high 0 Double: 8.81907e-321 This command should also work: Code: 0: kd> j ((@cr4 & 0y00000000000000010000000000000000) != 0)'.echo PCID Flag Enabled';'.echo PCID Flag Disabled' The current output: Code: PCID Flag Disabled Thanks for any feedback!