From patchwork Fri Feb 9 14:39:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 127813 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp679434ljc; Fri, 9 Feb 2018 06:41:48 -0800 (PST) X-Google-Smtp-Source: AH8x2276Y1zSyfqQGlvN7BUiBdZnShjmrcWciT1Fg7aIgi4IJBoaqZF7booml1dIWBpw2ipM76Nr X-Received: by 10.107.133.75 with SMTP id h72mr3429057iod.227.1518187308441; Fri, 09 Feb 2018 06:41:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518187308; cv=none; d=google.com; s=arc-20160816; b=h2P0YJzZw8gxnqeh+kOlRkIFyGWJr6EuX8/xv/D+hrl0TlnU9vr9YIYK0qnO0lc/f3 uRcOTeK7Kp4v1hZnvyhc8SjVnM8pTUp7RTcEuFghr7jrLIfUwKVlpmTo3FgNaBfBXCFs a3qx/Gnscctj2YBpyq198kV6PAuDszRElZhTXu5FFRU/UpgJGTYbIZVBLQK43M2s1eak JxAqfQGn3HEpByXPu90tHBDvTotgBjE6q1WUlSx18oCkHW+B0TeygY3udh/PtZH3GLpE o3z9zyzrmJrnz1GofTjX/TMkl9+j56wMowT172fY+CC6y+BN/JT2dFU9QHku9FIRZaDA J15g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:references:in-reply-to:message-id:date:to:from :dkim-signature:arc-authentication-results; bh=WruNtd5/JyrwsSpHf9giOv21US0JKHZAKsTKG9ZZMNA=; b=j+BQMBmhWtqMrw9qH6gmN6PzZVuakJ33AMSOaarKfpDL5bCEwNQPnObog+OePwaG5G nmrrmixBhQm4gRcNmC498295Q3b8ZF3w0bbQExHKYULF5Xx1vTcbiumfi6Ue0U5opdEx yc7Or6MgmIMBIa/OgI7EkaT5wp+g/v6J8pQgjUgioQPXfiemEsmzr0A1wQPQsd8qXKz/ InQczZCZsJESvb7zuLWx8NJnRu0vZF10pwNkOf+iBsPntuUTiDuxXD2T6867T5kbVsrS Y2ovh6tDx7TPQ2lmkXJjgX30Y89qBl06+rcRjhI7emHF+5pLlJi7NkitXzEtq+vMkjJ9 YUqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=TWhwXWn0; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id z7si1670357itd.151.2018.02.09.06.41.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Feb 2018 06:41:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=TWhwXWn0; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ek9qR-0000WS-RF; Fri, 09 Feb 2018 14:40:07 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ek9qR-0000Tw-7A for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:40:07 +0000 X-Inumbo-ID: 0d8af4ae-0da7-11e8-ba59-bc764e045a96 Received: from mail-wr0-x242.google.com (unknown [2a00:1450:400c:c0c::242]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 0d8af4ae-0da7-11e8-ba59-bc764e045a96; Fri, 09 Feb 2018 15:39:38 +0100 (CET) Received: by mail-wr0-x242.google.com with SMTP id k32so1971055wrk.4 for ; Fri, 09 Feb 2018 06:40:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=vVdWJdNMMBLFVI+0CKxyCz6QAp5Zo8pegUpPuzn8pcA=; b=TWhwXWn0ofQmc6Nk3m12IlYQefCe6M96+rOKfjy6WNZUyg/o5vok4KLSphu1dGjRe1 3YmMQwJNbLg1twXWzo8Gw2Skl/6FG/CrzCTQe/roOaqPwuBXC7nfTNwFQp0Jyxw9r4pR QatLBGYFcG2zKr3PttJPmGTSNbPuF87YNaLSg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=vVdWJdNMMBLFVI+0CKxyCz6QAp5Zo8pegUpPuzn8pcA=; b=tZ4DE3NizkGR9zYX8Ank77FnFEa3fyEMujN3SW3EUJwHnq2ydG/yAxiTVwg8wAU8uD q71vopaGqxgh8ev2IKmvocy/8kLKiuOVA/HRN8/ikYjUk9WEoXhW0vxO0si3RROZMXuh IWV/Mvru8YapvBquqsPjSbl/+h/Z7bdqy/lsWjqBE0w9z/AS+0+wnxqr9BgRB0aPT+r2 1L76BnTC4/o3zDfz74sDpItJCE1HH/gP47onLouLNtidJjAba6cuod5XU7RVYbYbZ/al DR+uVs41kYU5uDWXgoHeQlh7qBwYEtEFyvRlCmsEJ5Z/VTD1o1+kLQKacT5xuLE/FUEw FXoA== X-Gm-Message-State: APf1xPBAD+Q2aDDV8Q1oe5h2z/Cu0ipMhAB8t/lyKiSQco0NXk66OBFf 1v0CpUP4vyYCTW7unuLwWrf0Nw== X-Received: by 10.223.172.116 with SMTP id v107mr2618544wrc.269.1518187205061; Fri, 09 Feb 2018 06:40:05 -0800 (PST) Received: from e104803-lin.lan (mail.andrep.de. [217.160.17.100]) by smtp.gmail.com with ESMTPSA id b35sm2552229wra.13.2018.02.09.06.40.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 09 Feb 2018 06:40:04 -0800 (PST) From: Andre Przywara To: Stefano Stabellini , Julien Grall , xen-devel@lists.xenproject.org Date: Fri, 9 Feb 2018 14:39:07 +0000 Message-Id: <20180209143937.28866-20-andre.przywara@linaro.org> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180209143937.28866-1-andre.przywara@linaro.org> References: <20180209143937.28866-1-andre.przywara@linaro.org> Subject: [Xen-devel] [RFC PATCH 19/49] ARM: vPL011: Use the VGIC's level triggered IRQs handling if available X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" The emulated ARM SBSA UART is using level triggered IRQ semantics, however the current VGIC can only handle edge triggered IRQs, really. Disable the existing workaround for this problem in case we have the new VGIC in place, which can properly handle level triggered IRQs. Signed-off-by: Andre Przywara --- xen/arch/arm/vpl011.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c index 5dcf4bec18..197ece8873 100644 --- a/xen/arch/arm/vpl011.c +++ b/xen/arch/arm/vpl011.c @@ -54,6 +54,7 @@ static void vpl011_update_interrupt_status(struct domain *d) */ ASSERT(spin_is_locked(&vpl011->lock)); +#ifndef CONFIG_NEW_VGIC /* * TODO: PL011 interrupts are level triggered which means * that interrupt needs to be set/clear instead of being @@ -71,6 +72,9 @@ static void vpl011_update_interrupt_status(struct domain *d) vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, true); vpl011->shadow_uartmis = uartmis; +#else + vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, !!uartmis); +#endif } static uint8_t vpl011_read_data(struct domain *d)