tools lib traceevent: Add more SVM exit reasons
authorJan Kiszka <jan.kiszka@siemens.com>
Thu, 2 Jul 2020 18:53:53 +0000 (14:53 -0400)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 6 Jul 2020 12:00:42 +0000 (09:00 -0300)
Exceptions require individual decoding (only feasible intercepts
listed), XSETBV was missing and the AVIC brought in two new exit codes.

Link: http://lkml.kernel.org/r/5741D822.3030203@web.de
Link: http://lore.kernel.org/linux-trace-devel/20200625100516.365338-10-tz.stoyanov@gmail.com
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
[ Ported from trace-cmd.git ]
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: linux-trace-devel@vger.kernel.org
Link: http://lore.kernel.org/lkml/20200702185704.844582602@goodmis.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/plugins/plugin_kvm.c

index c8e623065a7e4bc515d127660ef2bde07e883da5..768c658f5904de99ad5e35b399cec77ecf8aa77d 100644 (file)
@@ -155,7 +155,23 @@ static const char *disassemble(unsigned char *insn, int len, uint64_t rip,
        _ER(EXIT_WRITE_DR5,     0x035)          \
        _ER(EXIT_WRITE_DR6,     0x036)          \
        _ER(EXIT_WRITE_DR7,     0x037)          \
-       _ER(EXIT_EXCP_BASE,     0x040)          \
+       _ER(EXIT_EXCP_DE,       0x040)          \
+       _ER(EXIT_EXCP_DB,       0x041)          \
+       _ER(EXIT_EXCP_BP,       0x043)          \
+       _ER(EXIT_EXCP_OF,       0x044)          \
+       _ER(EXIT_EXCP_BR,       0x045)          \
+       _ER(EXIT_EXCP_UD,       0x046)          \
+       _ER(EXIT_EXCP_NM,       0x047)          \
+       _ER(EXIT_EXCP_DF,       0x048)          \
+       _ER(EXIT_EXCP_TS,       0x04a)          \
+       _ER(EXIT_EXCP_NP,       0x04b)          \
+       _ER(EXIT_EXCP_SS,       0x04c)          \
+       _ER(EXIT_EXCP_GP,       0x04d)          \
+       _ER(EXIT_EXCP_PF,       0x04e)          \
+       _ER(EXIT_EXCP_MF,       0x050)          \
+       _ER(EXIT_EXCP_AC,       0x051)          \
+       _ER(EXIT_EXCP_MC,       0x052)          \
+       _ER(EXIT_EXCP_XF,       0x053)          \
        _ER(EXIT_INTR,          0x060)          \
        _ER(EXIT_NMI,           0x061)          \
        _ER(EXIT_SMI,           0x062)          \
@@ -201,7 +217,10 @@ static const char *disassemble(unsigned char *insn, int len, uint64_t rip,
        _ER(EXIT_MONITOR,       0x08a)          \
        _ER(EXIT_MWAIT,         0x08b)          \
        _ER(EXIT_MWAIT_COND,    0x08c)          \
-       _ER(EXIT_NPF,           0x400)          \
+       _ER(EXIT_XSETBV,        0x08d)          \
+       _ER(EXIT_NPF,           0x400)          \
+       _ER(EXIT_AVIC_INCOMPLETE_IPI,           0x401)  \
+       _ER(EXIT_AVIC_UNACCELERATED_ACCESS,     0x402)  \
        _ER(EXIT_ERR,           -1)
 
 #define _ER(reason, val)       { #reason, val },