KVM: emulate: Comment on difference between RDPMC implementation and manual
authorWanpeng Li <wanpengli@tencent.com>
Wed, 20 Oct 2021 10:13:56 +0000 (03:13 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Oct 2021 09:19:29 +0000 (05:19 -0400)
commit9ae7f6c9b51e297a7f5c2eb8ff5de42f8402eb71
tree7aac238a46e4265bec44e4f909aa41ad88ee5307
parent9dadfc4a6145e163cd18fb4bdea5ca4f44f3c1ad
KVM: emulate: Comment on difference between RDPMC implementation and manual

SDM mentioned that, RDPMC:

  IF (((CR4.PCE = 1) or (CPL = 0) or (CR0.PE = 0)) and (ECX indicates a supported counter))
      THEN
          EAX := counter[31:0];
          EDX := ZeroExtend(counter[MSCB:32]);
      ELSE (* ECX is not valid or CR4.PCE is 0 and CPL is 1, 2, or 3 and CR0.PE is 1 *)
          #GP(0);
  FI;

Let's add a comment why CR0.PE isn't tested since it's impossible for CPL to be >0 if
CR0.PE=0.

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1634724836-73721-1-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c