x86/svm: Remove the pdpe fields from struct vmcb
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 5 Oct 2018 17:02:15 +0000 (17:02 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 17 Oct 2018 16:50:14 +0000 (17:50 +0100)
commit00b1b8ed737376aaa9cb842dd5bbf759e54fd86e
tree4ed93cabab7da3935e43c49804f32ffa31c89a0e
parent2442519adf57344e4d0dc5fdc3bf1d4feae50824
x86/svm: Remove the pdpe fields from struct vmcb

These fields have existed since the SVM code was first introduced.

The earliest reference I can find is c/s d1bd157fbc9 which is unforunately a
rebase & squash of a separate dev tree.  Looking a the commit message, I'm
guessing it was introduced by:

  > user:        twoller@xen-trw1.site
  > date:        Tue Dec 13 19:49:53 2005 -0500
  > files:       ... xen/include/asm-x86/svm_vmcb.h ...
  > description:
  > Add SVM base files to repository.

Anyway, the AMD SDM has no mention of PDPE fields in the VMCB and marks this
part of the VMCB as reserved.  The manual does explicitly say that 32bit PAE
paging may read the PDPE fields from memory rather from the CPU registers.

Chances are very good that this is a vestigial remnent of an early design.
Xen doesn't use the fields at all, except to copy them on virtual
vmentry/vmexit.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
xen/arch/x86/hvm/svm/nestedsvm.c
xen/include/asm-x86/hvm/svm/vmcb.h