tools headers UAPI: Synch KVM's svm.h header with the kernel
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 21 Dec 2020 23:04:45 +0000 (20:04 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 24 Dec 2020 12:24:20 +0000 (09:24 -0300)
To pick up the changes from:

  d1949b93c60504b3 ("KVM: SVM: Add support for CR8 write traps for an SEV-ES guest")
  5b51cb13160ae0ba ("KVM: SVM: Add support for CR4 write traps for an SEV-ES guest")
  f27ad38aac23263c ("KVM: SVM: Add support for CR0 write traps for an SEV-ES guest")
  2985afbcdbb1957a ("KVM: SVM: Add support for EFER write traps for an SEV-ES guest")
  291bd20d5d88814a ("KVM: SVM: Add initial support for a VMGEXIT VMEXIT")

Picking these new SVM exit reasons:

  + { SVM_EXIT_EFER_WRITE_TRAP, "write_efer_trap" }, \
  + { SVM_EXIT_CR0_WRITE_TRAP, "write_cr0_trap" }, \
  + { SVM_EXIT_CR4_WRITE_TRAP, "write_cr4_trap" }, \
  + { SVM_EXIT_CR8_WRITE_TRAP, "write_cr8_trap" }, \
  + { SVM_EXIT_VMGEXIT, "vmgexit" }, \
  + { SVM_VMGEXIT_MMIO_READ, "vmgexit_mmio_read" }, \
  + { SVM_VMGEXIT_MMIO_WRITE, "vmgexit_mmio_write" }, \
  + { SVM_VMGEXIT_NMI_COMPLETE, "vmgexit_nmi_complete" }, \
  + { SVM_VMGEXIT_AP_HLT_LOOP, "vmgexit_ap_hlt_loop" }, \
  + { SVM_VMGEXIT_AP_JUMP_TABLE, "vmgexit_ap_jump_table" }, \

And address this perf build warning:

  Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/svm.h' differs from latest version at 'arch/x86/include/uapi/asm/svm.h'
  diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/arch/x86/include/uapi/asm/svm.h

index f1d8307..554f75f 100644 (file)
 #define SVM_EXIT_MWAIT_COND    0x08c
 #define SVM_EXIT_XSETBV        0x08d
 #define SVM_EXIT_RDPRU         0x08e
+#define SVM_EXIT_EFER_WRITE_TRAP               0x08f
+#define SVM_EXIT_CR0_WRITE_TRAP                        0x090
+#define SVM_EXIT_CR1_WRITE_TRAP                        0x091
+#define SVM_EXIT_CR2_WRITE_TRAP                        0x092
+#define SVM_EXIT_CR3_WRITE_TRAP                        0x093
+#define SVM_EXIT_CR4_WRITE_TRAP                        0x094
+#define SVM_EXIT_CR5_WRITE_TRAP                        0x095
+#define SVM_EXIT_CR6_WRITE_TRAP                        0x096
+#define SVM_EXIT_CR7_WRITE_TRAP                        0x097
+#define SVM_EXIT_CR8_WRITE_TRAP                        0x098
+#define SVM_EXIT_CR9_WRITE_TRAP                        0x099
+#define SVM_EXIT_CR10_WRITE_TRAP               0x09a
+#define SVM_EXIT_CR11_WRITE_TRAP               0x09b
+#define SVM_EXIT_CR12_WRITE_TRAP               0x09c
+#define SVM_EXIT_CR13_WRITE_TRAP               0x09d
+#define SVM_EXIT_CR14_WRITE_TRAP               0x09e
+#define SVM_EXIT_CR15_WRITE_TRAP               0x09f
 #define SVM_EXIT_INVPCID       0x0a2
 #define SVM_EXIT_NPF           0x400
 #define SVM_EXIT_AVIC_INCOMPLETE_IPI           0x401
 #define SVM_EXIT_AVIC_UNACCELERATED_ACCESS     0x402
+#define SVM_EXIT_VMGEXIT       0x403
 
 /* SEV-ES software-defined VMGEXIT events */
 #define SVM_VMGEXIT_MMIO_READ                  0x80000001
        { SVM_EXIT_MONITOR,     "monitor" }, \
        { SVM_EXIT_MWAIT,       "mwait" }, \
        { SVM_EXIT_XSETBV,      "xsetbv" }, \
+       { SVM_EXIT_EFER_WRITE_TRAP,     "write_efer_trap" }, \
+       { SVM_EXIT_CR0_WRITE_TRAP,      "write_cr0_trap" }, \
+       { SVM_EXIT_CR4_WRITE_TRAP,      "write_cr4_trap" }, \
+       { SVM_EXIT_CR8_WRITE_TRAP,      "write_cr8_trap" }, \
        { SVM_EXIT_INVPCID,     "invpcid" }, \
        { SVM_EXIT_NPF,         "npf" }, \
        { SVM_EXIT_AVIC_INCOMPLETE_IPI,         "avic_incomplete_ipi" }, \
        { SVM_EXIT_AVIC_UNACCELERATED_ACCESS,   "avic_unaccelerated_access" }, \
+       { SVM_EXIT_VMGEXIT,             "vmgexit" }, \
+       { SVM_VMGEXIT_MMIO_READ,        "vmgexit_mmio_read" }, \
+       { SVM_VMGEXIT_MMIO_WRITE,       "vmgexit_mmio_write" }, \
+       { SVM_VMGEXIT_NMI_COMPLETE,     "vmgexit_nmi_complete" }, \
+       { SVM_VMGEXIT_AP_HLT_LOOP,      "vmgexit_ap_hlt_loop" }, \
+       { SVM_VMGEXIT_AP_JUMP_TABLE,    "vmgexit_ap_jump_table" }, \
        { SVM_EXIT_ERR,         "invalid_guest_state" }