Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp4882523ybf; Wed, 4 Mar 2020 12:37:35 -0800 (PST) X-Google-Smtp-Source: ADFU+vs+iXmWwQIzcS9S1wpiVmOIQfT0OwiamzBwf5fZAfBSMCWVe98XMD4SW6m9jbhp/0URK96J X-Received: by 2002:a05:6830:1098:: with SMTP id y24mr3906267oto.197.1583354255360; Wed, 04 Mar 2020 12:37:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583354255; cv=none; d=google.com; s=arc-20160816; b=g+aYu8jvW3jNiB4Oqn1VQv61yE3ocybCa4BhoQA5jf7qmG6SfkbhF0bOPBtpVaBK2z TZc2FYEp/7/18+VHGu9MwWAzbUC3pqipMCFqZxqJxzFRK58VbBhlkiqKIHN5JP3bxwes Y5WmSE6ks8clVJ2V7YBPqDEx/8cKtU9MWq2xLyCqDlkkz3bVEIeHGPi4UbheEZoAgM0z LpRrgXuHDZCfVWQ0DP5CujxY0SGqXGlW5D8QvqlaVewvO35VjAqoq/8Dns87oKTsO0pG w6+jq1yN0QnFd7MMedewtz7JWiOHmJyFz9oLhE6RI0jNKWJ5QZQtuR8n4AkjgwoyordC DQCg== 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=DDaT2B/hJql3XUkdn9SdaXxrYaRbZ2it1L9E9xJbwzu1X/m4F9jDwnl/5FMV9NsguD XPpqsx9iTVTlGumckFsNmQgV40nOlptjcRyRxkZEbS3PVIkG702k1rXDqcGtyM0F0Xo3 7aD8ERSqeyt4KQ608X2vAwbJAKMrwoIazecJwAg7H4RbQkVAXQ/ln2NgEYqn5Pyju+68 X4TrBCbpbUI0xt+xMitMvZ7OqCBEHxzQ6HWVLTLG4Z1LDaUHH2I/Mo/aaxhK10TyepPY BpomjOzjAfo8HdWsWa1Y4v3halz2CmaE9DWzSSp15xqlL/drhSti6v/kNB7iDwVQ0nxb LUKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0Jhvd8kx; 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 x14si1875495oto.221.2020.03.04.12.37.23; Wed, 04 Mar 2020 12:37:35 -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=0Jhvd8kx; 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 S2388597AbgCDUgx (ORCPT + 99 others); Wed, 4 Mar 2020 15:36:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:37210 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388554AbgCDUgw (ORCPT ); Wed, 4 Mar 2020 15:36:52 -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 95AED217F4; Wed, 4 Mar 2020 20:36:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583354211; bh=OU3i052ZF//Wu4rkWcKgh+KLFM8jnoqZQPBXrJ+hcAM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0Jhvd8kxjNkju6TNqDSNuCKrKKciiz92bT23FNGEVTPadWV6dJBNR1kJ4hGWdVe1E GzPOU0auVatnNwWa1XWLUSHiwyvne8c3zAXunFIQnAZbxdPWow/axR4k+996mYW0/U BDNDJDg8kgli6w1zhhNwwKkwiyL0DFbRpZzyPN8Q= 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 1j9ajJ-00A59R-6u; Wed, 04 Mar 2020 20:34:57 +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 v5 23/23] KVM: arm64: GICv4.1: Expose HW-based SGIs in debugfs Date: Wed, 4 Mar 2020 20:33:30 +0000 Message-Id: <20200304203330.4967-24-maz@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200304203330.4967-1-maz@kernel.org> References: <20200304203330.4967-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