From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753599AbdJME2A (ORCPT ); Fri, 13 Oct 2017 00:28:00 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:44778 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750733AbdJME16 (ORCPT ); Fri, 13 Oct 2017 00:27:58 -0400 X-Google-Smtp-Source: AOwi7QC1uhidLOsrtiWNzfgC8aUFh7DN5GG36PTU4S5idPWmW9/CgnrgQYu5hPQZXRkRGBAOxn2Spg== From: Wanpeng Li X-Google-Original-From: Wanpeng Li To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Wanpeng Li Subject: [PATCH] KVM: LAPIC: Level-sensitive interrupts are not support for LINT1 Date: Thu, 12 Oct 2017 21:27:53 -0700 Message-Id: <1507868873-6756-1-git-send-email-wanpeng.li@hotmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wanpeng Li SDM 10.5.1 mentioned: Software should always set the trigger mode in the LVT LINT1 register to 0 (edge sensitive). Level-sensitive interrupts are not supported from LINT1. I can intercept both Linux/windows 7/windows 2016 guests on my hand will set Level-sensitive trigger mode to LVT LINT1 register during boot. This patch avoids the software too fool to set the level-sensitive trigger mode to LVT LINT1 register. Cc: Paolo Bonzini Cc: Radim Krčmář Signed-off-by: Wanpeng Li --- arch/x86/kvm/lapic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index a778f1a..26593c7 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -1758,6 +1758,8 @@ int kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val) val |= APIC_LVT_MASKED; val &= apic_lvt_mask[(reg - APIC_LVTT) >> 4]; + if (reg == APIC_LVT1) + val &= ~APIC_LVT_LEVEL_TRIGGER; kvm_lapic_set_reg(apic, reg, val); break; -- 2.7.4