From nobody Sat May 4 08:26:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.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=1594028764; cv=none; d=zohomail.com; s=zohoarc; b=FJgkmK2fMFqcDEN7qa2Rt0u1y85kaAdaQU50nxsVhowag4K9UAMF9YKwsHjnHMsvXO4aaHptg4ogy224/GzlRmH+NQfKbGva56N/6h9jpKRcgoFCnduLIxcLC586EpDuHGVgW95eGNW6hR6mjQGao6iyJFV1x6S5AFkddHFbCGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594028764; h=Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:Sender:Subject:To; bh=Djt1gr0/S2tGtCGU7xh8b2ka2pC16hBw7TSjsoH+kGI=; b=ZGsFr1J7cBcYaZxibs2M5dgbcLgFnEFITgN3Zr0XyqNDVxkMCJeHweK5y5UECrgX1b3HB+E3YbkwaZGH+qjImwkChsz0K3eTCQ+Ls7JScuGinpApb48apbTS551xbEeuZOwkMNRcZlSMHOJZ79mf5nnytL1fvWqYkET6Vp9rODk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1594028764712269.8207841583006; Mon, 6 Jul 2020 02:46:04 -0700 (PDT) Received: from localhost ([::1]:46172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsNhL-0007sw-8k for importer@patchew.org; Mon, 06 Jul 2020 05:46:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsMld-0005w4-3q for qemu-devel@nongnu.org; Mon, 06 Jul 2020 04:46:25 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:32810) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jsMla-0000tb-Ld for qemu-devel@nongnu.org; Mon, 06 Jul 2020 04:46:24 -0400 Received: by mail-wr1-x442.google.com with SMTP id f18so31824156wrs.0 for ; Mon, 06 Jul 2020 01:46:21 -0700 (PDT) Received: from pop-os.baylibre.local (158.73.152.77.rev.sfr.net. [77.152.73.158]) by smtp.googlemail.com with ESMTPSA id h13sm22786439wml.42.2020.07.06.01.46.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jul 2020 01:46:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=Djt1gr0/S2tGtCGU7xh8b2ka2pC16hBw7TSjsoH+kGI=; b=BOfUxphEMAp3HLd4ceoMc9DVRiHLqfMuWbvT0IBmN1kjNH6aTXOlvIbw0Upi1wWtNT H05LbpTi+rji6h824ZuCj4oPtBYdO7WGJbEtYzAG6lcPp13L5psm/OBrBBFN7YWsjrjp KM10yImtoTlXaT2l5op5I0Z8plc0aMJnemIblPKa6V6XZYiK2sT9+HZrSDbHeHv2XMBX BHI/HhNvXfnfAGl+T08bamUaRxC2ogBeYmyKcuyNjmXAHno4xTh+lja+LkEkT8ICLuty cbE4cqqiQ5Ysr5OIsNHW8nyAFQekQjI283wUzCFWLNjwg+JOdEc9qxsT7so81t6+Jn5S MRiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Djt1gr0/S2tGtCGU7xh8b2ka2pC16hBw7TSjsoH+kGI=; b=ZLo2NHyJoCdE4jZ7Aa9NCQ1QXBnz+jJyiCFhhNe4bOpuwNQJDneRYEG2LpCgT2CX0X i99h9vMHm9XBiNdr98ChzKPxjDcsrnvAzZPKu5D20VWzWRsVrCGcutYyXJtpZo/Ex5sF jGxKNkQxZANzJUkbS0DKOd8hUgmw22c2MnubEEwfhGZGhO8yhals9CLI7SJ2rvNSsM6C 6FZu/XVK44qEIo6RKpy0WK8Bu+jIHl5pK9Gw2ljueLIgGEOs2bQt58z2ddrL7SA6R4Ja 4rlI4wSz35kw2S4MiYskj6KHzuoeGL/uh9WwzyHWfAAGXEUIm1yS791iHmFIXjBJLVZF 3ZJQ== X-Gm-Message-State: AOAM531DHFRpBgHVpTljXnClg8uv3/r6XtrgofEj3/IaUavo89kf+Rb4 DCst2ROZOPHQVzzA5ZYciqvQ5g+1zdw= X-Google-Smtp-Source: ABdhPJxUX+HA7GAigFKfS+MUke35EFH3CmMi6xbwzGrcwVAyCLoMRsqyjqC0VgbgDvUFlRCgv19oeQ== X-Received: by 2002:adf:e948:: with SMTP id m8mr48775025wrn.398.1594025179341; Mon, 06 Jul 2020 01:46:19 -0700 (PDT) From: Alexandre Mergnat To: palmer@dabbelt.com, Alistair.Francis@wdc.com, sagark@eecs.berkeley.edu, kbastian@mail.uni-paderborn.de Subject: [PATCH v1] target/riscv: fix pmp implementation Date: Mon, 6 Jul 2020 10:45:50 +0200 Message-Id: <20200706084550.24117-1-amergnat@baylibre.com> X-Mailer: git-send-email 2.17.1 Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=amergnat@baylibre.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Mailman-Approved-At: Mon, 06 Jul 2020 05:43:09 -0400 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: baylibre-upstreaming@groups.io, nroyer@baylibre.com, qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Alexandre Mergnat Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The end address calculation for NA4 mode is wrong because the address used isn't shifted. That imply all NA4 setup are not applied by the PMP. The solution is to use the shifted address calculated for start address variable. Modifications are tested on Zephyr OS userspace test suite which works for other RISC-V boards (E31 and E34 core). Signed-off-by: Alexandre Mergnat Reviewed-by: Alistair Francis --- target/riscv/pmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 9418660f1b..2a2b9f5363 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -171,7 +171,7 @@ static void pmp_update_rule(CPURISCVState *env, uint32_= t pmp_index) =20 case PMP_AMATCH_NA4: sa =3D this_addr << 2; /* shift up from [xx:0] to [xx+2:2] */ - ea =3D (this_addr + 4u) - 1u; + ea =3D (sa + 4u) - 1u; break; =20 case PMP_AMATCH_NAPOT: --=20 2.17.1