On March 20, 2022 2:04:02 PM UTC, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: >So this is what I squashed in: > >diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c >index f321abb9a4a8..e86d610dc6b7 100644 >--- a/arch/x86/kvm/emulate.c >+++ b/arch/x86/kvm/emulate.c >@@ -430,7 +430,19 @@ static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop); > > /* Special case for SETcc - 1 instruction per cc */ > >-#define SETCC_ALIGN (4 * (1 + IS_ENABLED(CONFIG_SLS))) >+/* >+ * Depending on .config the SETcc functions look like: >+ * >+ * SETcc %al [3 bytes] >+ * RET [1 byte] >+ * INT3 [1 byte; CONFIG_SLS] >+ * >+ * Which gives possible sizes 4 or 5. When rounded up to the >+ * next power-of-two alignment they become 4 or 8. >+ */ >+#define SETCC_LENGTH (4 + IS_ENABLED(CONFIG_SLS)) >+#define SETCC_ALIGN (4 << IS_ENABLED(CONFIG_SLS)) >+static_assert(SETCC_LENGTH <= SETCC_ALIGN); > > #define FOP_SETCC(op) \ > ".align " __stringify(SETCC_ALIGN) " \n\t" \ > >Paolo Ack. Thanks. -- Sent from a small device: formatting sux and brevity is inevitable.