From nobody Tue Feb 10 01:32:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1566374449; cv=none; d=zoho.com; s=zohoarc; b=Qeni5H83pYbMGI2p7Scb3I2wySBZ3A1thY5bdlERbXEItbzZMt6Ue9IFPAZEs0bEQOTcY08ErkhaReNb/XY6Na/F/Pe2IJyucH0H3Yu1jQ/KPUn1Hy1GHV5fAIM/cuUn/2BIvz4vzxVUO0BMY8klTOu5uJXg40KkZfny+btiVU8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1566374449; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=qYlhQSWGH7YeXKaxieUJeElYerC5wf799qsYUZw68YE=; b=StJiG+SI2BfcbLre2EywgkkncO3SiJnP5Wu+qHXIIhOsSuHIzfceQhSeDlN5CMoQaMNPMUFuidhQK+NkOGTt4tsTFUl5xHdMH+ra3Bewax+VL6LqNu+Hjn/3BNfAI2y4Kkd5Zx9P/qlS3wg9SYy09eku2Ltng811p1dg0X6LiVM= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1566374449950321.09994304419706; Wed, 21 Aug 2019 01:00:49 -0700 (PDT) Received: from localhost ([::1]:44784 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0LY0-0003xP-8u for importer@patchew.org; Wed, 21 Aug 2019 04:00:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42586) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0L0q-0005Bg-35 for qemu-devel@nongnu.org; Wed, 21 Aug 2019 03:26:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i0L0o-0008S5-AZ for qemu-devel@nongnu.org; Wed, 21 Aug 2019 03:26:31 -0400 Received: from ozlabs.org ([2401:3900:2:1::2]:60269) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i0L0n-00087E-Qv; Wed, 21 Aug 2019 03:26:30 -0400 Received: by ozlabs.org (Postfix, from userid 1007) id 46CzjF0wFdz9sQw; Wed, 21 Aug 2019 17:25:50 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1566372353; bh=hIig2nTissNaV4C54zIncxf4ubr2zTLoxwEtdCEGU1I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aoIxHV/dADnQFl6QGTRf0DrVbigzQcJ9auJGeHn7V+KZ1/UrxH8awG2I/F0pAdUl+ zmlRLRwxeD6qWV50JoEyQvVCqbJJ6MNMz59ke+itpg46MQzlkX5H7OjC5pZAMeLwot GRq/YKvKZFE1fzHojRu3aiCWKbxtzyubLC/ufwsc= From: David Gibson To: peter.maydell@linaro.org Date: Wed, 21 Aug 2019 17:25:25 +1000 Message-Id: <20190821072542.23090-26-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190821072542.23090-1-david@gibson.dropbear.id.au> References: <20190821072542.23090-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 25/42] ppc/xive: Provide escalation support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, aik@ozlabs.ru, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater If the XIVE presenter can not find the NVT dispatched on any of the HW threads, it can not deliver the interrupt. XIVE offers an escalation mechanism to handle such scenarios and inform the hypervisor that an action should be taken. Escalation is configured by setting the 'e' bit and the EAS in word 4 & 5 to let the HW look for the escalation END on which to trigger a new event. Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20190718115420.19919-6-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/xive.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hw/intc/xive.c b/hw/intc/xive.c index f27b4e3328..12f0d09df6 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -1549,6 +1549,22 @@ static void xive_router_end_notify(XiveRouter *xrtr,= uint8_t end_blk, * On HW, follows a "Broadcast Backlog" to IVPEs */ } + + /* + * If activated, escalate notification using the ESe PQ bits and + * the EAS in w4-5 + */ + if (!xive_end_is_escalate(&end)) { + return; + } + + /* + * The END trigger becomes an Escalation trigger + */ + xive_router_end_notify(xrtr, + xive_get_field32(END_W4_ESC_END_BLOCK, end.w4), + xive_get_field32(END_W4_ESC_END_INDEX, end.w4), + xive_get_field32(END_W5_ESC_END_DATA, end.w5)); } =20 void xive_router_notify(XiveNotifier *xn, uint32_t lisn) --=20 2.21.0