Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1866683ybv; Fri, 14 Feb 2020 07:21:39 -0800 (PST) X-Google-Smtp-Source: APXvYqwlQXnzO91QmoG4XHUxrDub7hiF4X2grpuaSXx52rxZO54YmNx5NhR6zGP+eDolwisc6rf4 X-Received: by 2002:a9d:5885:: with SMTP id x5mr2656790otg.132.1581693699641; Fri, 14 Feb 2020 07:21:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581693699; cv=none; d=google.com; s=arc-20160816; b=09mgpk3Efa1EfLnnZMFXJWzN5MfQ/voV1Vb7eWkt9RoSEMEQq7jvF5GOr5xbWzJL/3 nYmdI2DnT1YI0YL3iry2eheyK/vAtxzBLMK6tH0A/EtjeYJbcvUA3hBzOhaxl6TqA33u 6x4FDHci8Cz+C/L7kP06UendXbFQ3GKKLUpzmhMBZ7NXAyTDs6WNhywkv8kOOxgCi7lg uTr/W9ck0pxViveUujc8HXtNUujCNQs5uIFe1A0UX2lAmrrJQyG2mrQEMUF30XNE10lg Ed4OpIxlkWHGF+xzBcAR423Fr44GXLWEgGpzZdqlFrzo6yC1MKFTTATqJXB27nR6cErJ caSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ExD3Q2MbLfGN96eTtGKm5UxRZ1cym2FzTWTOAK0EmPk=; b=NbAz0vgGlSCfSqYwQWaSEQodyWkoj2dyugcEp/z9ERfNWmeXNC/oOIKnR+10SfErPc /1OOO84hJD1ItqQ82wAhzvUX2JL23Q8J1SpDRUkg+Km3ib2sd2DQgrfeGu9re3PYHZTv YX+76AYq13EEvv8foLKOKZxQc993kmn/agH2w9rIZCDQdMsxYnGesCsMJ0k6KhEHh9Uw z+XeC9/aqlIRRrZCHUBGYbZ8b4hqq/lf5djPo297P8B7VUd0jpJSFS92y10aLoa0yDIR undJ7J/tZnNMuXGoDwoNIXfQ4yXTxCgUmUh8rurFGtgEJ59zzxYwZqHys3sSdH7kag2h A+ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FcIq9xxR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f5si2966028otp.129.2020.02.14.07.21.27; Fri, 14 Feb 2020 07:21:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FcIq9xxR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387537AbgBNPVN (ORCPT + 99 others); Fri, 14 Feb 2020 10:21:13 -0500 Received: from mail.kernel.org ([198.145.29.99]:34212 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387500AbgBNPVK (ORCPT ); Fri, 14 Feb 2020 10:21:10 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DB4AC2467C; Fri, 14 Feb 2020 15:21:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581693670; bh=OU3i052ZF//Wu4rkWcKgh+KLFM8jnoqZQPBXrJ+hcAM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FcIq9xxR596Ms+iMP+w7cYCAq+GGR/SV3k/b6TnemUnUtm/+crWs5BsINrqli26fB 6A508Us+oDAOvvP/WNocCdoGlSNStsgK4bYcQ0flnrjiBkZYMxNqYz3THWcnuZ0Sza qEYHtLiRhRYknoW2EaQvIGNqAdoUwtlOe+C2u1Z4= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j2cPq-0057sw-74; Fri, 14 Feb 2020 14:58:02 +0000 From: Marc Zyngier To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Lorenzo Pieralisi , Jason Cooper , Robert Richter , Thomas Gleixner , Zenghui Yu , Eric Auger , James Morse , Julien Thierry , Suzuki K Poulose Subject: [PATCH v4 20/20] KVM: arm64: GICv4.1: Expose HW-based SGIs in debugfs Date: Fri, 14 Feb 2020 14:57:36 +0000 Message-Id: <20200214145736.18550-21-maz@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200214145736.18550-1-maz@kernel.org> References: <20200214145736.18550-1-maz@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, lorenzo.pieralisi@arm.com, jason@lakedaemon.net, rrichter@marvell.com, tglx@linutronix.de, yuzenghui@huawei.com, eric.auger@redhat.com, james.morse@arm.com, julien.thierry.kdev@gmail.com, suzuki.poulose@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The vgic-state debugfs file could do with showing the pending state of the HW-backed SGIs. Plug it into the low-level code. Signed-off-by: Marc Zyngier --- virt/kvm/arm/vgic/vgic-debug.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/virt/kvm/arm/vgic/vgic-debug.c b/virt/kvm/arm/vgic/vgic-debug.c index cc12fe9b2df3..b13a9e3f99dd 100644 --- a/virt/kvm/arm/vgic/vgic-debug.c +++ b/virt/kvm/arm/vgic/vgic-debug.c @@ -178,6 +178,8 @@ static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, struct kvm_vcpu *vcpu) { char *type; + bool pending; + if (irq->intid < VGIC_NR_SGIS) type = "SGI"; else if (irq->intid < VGIC_NR_PRIVATE_IRQS) @@ -190,6 +192,16 @@ static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, if (irq->intid ==0 || irq->intid == VGIC_NR_PRIVATE_IRQS) print_header(s, irq, vcpu); + pending = irq->pending_latch; + if (irq->hw && vgic_irq_is_sgi(irq->intid)) { + int err; + + err = irq_get_irqchip_state(irq->host_irq, + IRQCHIP_STATE_PENDING, + &pending); + WARN_ON_ONCE(err); + } + seq_printf(s, " %s %4d " " %2d " "%d%d%d%d%d%d%d " @@ -201,7 +213,7 @@ static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, "\n", type, irq->intid, (irq->target_vcpu) ? irq->target_vcpu->vcpu_id : -1, - irq->pending_latch, + pending, irq->line_level, irq->active, irq->enabled, -- 2.20.1