From nobody Wed Apr 29 22:19:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1751628257; cv=none; d=zohomail.com; s=zohoarc; b=JWartVcg98/REZDKQ1gTkMkmszPf45x1op6SJ3QqLJwbz5RHvVgYIjMnKB5u30G0PNmf/2WgTe8X3OeKL9jQ1rpxDe8L/oUa9KVRycVp8D5CgiTG09N3KmVUek99nPhVGEmADdMfFjcb+m43YEwFCauB+rY1u9VHTDslfJK3CgU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751628257; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KIB6W+/i6ZPM8armFh2cEM7Exu8V9Bmkl+w0LJdjQRw=; b=e8DAa6nGZMbdW859/XI1I4SKfwi0MhXczHevsO5V2qT6fEaNwICjWKMTJ5WE6lYVdwOOQ1S7OfQAb8Tpclv8JtwzZYf1R/gVIDiT/yzT5OnCcl9oPUPhgQkgtYX2BMGjNCujuVXq+2qoDau+AUlrRbbpMdAn4ZEImWO+ZLSIxxM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751628257340231.2169133204295; Fri, 4 Jul 2025 04:24:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXeLr-00023O-Qo; Fri, 04 Jul 2025 07:13:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uXeLp-0001z6-9Y for qemu-devel@nongnu.org; Fri, 04 Jul 2025 07:13:05 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXeLk-0002wg-6r for qemu-devel@nongnu.org; Fri, 04 Jul 2025 07:13:04 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-235e1d710d8so11775705ad.1 for ; Fri, 04 Jul 2025 04:12:59 -0700 (PDT) Received: from toolbx.alistair23.me (2403-580b-97e8-0-82ce-f179-8a79-69f4.ip6.aussiebb.net. [2403:580b:97e8:0:82ce:f179:8a79:69f4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23c8431a206sm18002655ad.28.2025.07.04.04.12.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Jul 2025 04:12:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751627579; x=1752232379; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KIB6W+/i6ZPM8armFh2cEM7Exu8V9Bmkl+w0LJdjQRw=; b=UIFeu5Ha1Ejm2lE4e2SxxrYMvGR8ZENJYDJnjxl2Qa5v8EBWfVpHRFmHMUB3abfMQS usUQ291YFm8wPt5YPcmqjGqM+ShXl7T4sYHQLbdEfCFZ1rrHOed7v6UFgixyR9ayg6Bx yX4s1Cj+xI36Rn/qeOwkhkhEEvV7Njz1w4kw9IxXqQ+y8PfQogE6MHk6EFW1U0Dotfz1 2mW5HLm0al/sPUTbxJWM0qTRV768+caVPLuHIOpB+TPJYgm7y8NR6Lyg1IydpA1wkjRY lhr9wUcLjxhXeLriy8QW8hsWLRzAhut4YMlPt1HOPH16SwAimqL1KTthdJfKgQsIFDRJ eZCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751627579; x=1752232379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KIB6W+/i6ZPM8armFh2cEM7Exu8V9Bmkl+w0LJdjQRw=; b=jNP+X31zn5VryJ7blIsQZIuj78QxIv6Wvomx7FvrCGYcwpCLdfm0ckGoLyouMUfmma 3QcdfeAcdy5w/mWDp1EFLtBN7+RM78qfqlVjr0jZVHZXf1Dy5jP9otWUKhMLH8e3l36R q/UkLfBWtu5BTEJ2VvB8ev2QpyZs1kXdRkKQYAYmkrYhjQ8xoSjNfu3cAYdYBp2MFBPR VhT8jk5bsFmBPoQvQRbbAxXEqXsCTFwttUiDjYxXbGuvWlLPelDXxwYYCWZBqRndrfP0 nuXsPFB8PUR+tSf9OJ4tPDY/wamz9NVq7+21JMueX6n184o6I6Fs4+mDPnRIrgdaqjIq 2/yg== X-Gm-Message-State: AOJu0YykJVswVSscbYXEFFyk5TJE2MfHPYTc9syn3V7DfYGa9g/2JxYK TuJTMypYEEXQpzme3MdynBNoo5glPSw9B3G4/WKxWSGwg2t09QbjX4zdUo9VPA== X-Gm-Gg: ASbGncuBmVi9+vzcltS8zio8uFy3rpBauaDWNhRS0y9APeQhC3M8lZUHz7208U4B4Oy NuvfkDK6maibLI70ZjT6KcomVzRFsDezvlAgeaCBZZ6T5F7GYIxb6/tbrEKaYSJ7mPsavjdR9+n bXzqLvdpvaMoViskdLvEoGVkeEsTJtHWu+FiinPpPAo8g9djuxvoBI00gUWr2/Yaogc6Ll+ltyw l6USMCGnQ8YsNgDprhmdRDX58hsskhHasDaIxDFDnGW021hx2vM9HohJ9PhO/gPTWa2dRNJRP9/ TKkcsUqqS3jCjaxYnUCdJFXC7xtzCkuip+yydCYveT+Ur304TE1KEi1paK575LWLeFODRbtErWy W5r+CKOs5LC6bC2aVnzdkjEjAUbJp2v5Ti96qlDnCZ0VgKMgliBYQljcIw77/C8PV/Ok= X-Google-Smtp-Source: AGHT+IFQSWjP5dxtJBDqBfIF2GlpZHhPvHFJAu4De18job89aDFPZu89f8Stl9lDHRWiGiX6WiJHqg== X-Received: by 2002:a17:902:cccb:b0:234:a992:96d8 with SMTP id d9443c01a7336-23c86074854mr40665575ad.19.1751627578576; Fri, 04 Jul 2025 04:12:58 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jay Chang , Frank Chang , Alistair Francis , Daniel Henrique Barboza Subject: [PULL 09/40] target/riscv: Extend PMP region up to 64 Date: Fri, 4 Jul 2025 21:11:36 +1000 Message-ID: <20250704111207.591994-10-alistair.francis@wdc.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250704111207.591994-1-alistair.francis@wdc.com> References: <20250704111207.591994-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::62b; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1751628258687116600 From: Jay Chang According to the RISC-V Privileged Specification (version >1.12), RV32 supports 16 CSRs (pmpcfg0=E2=80=93pmpcfg15) to configure 64 PMP regions (pmpaddr0=E2=80=93pmpaddr63). Signed-off-by: Jay Chang Reviewed-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Message-ID: <20250522081236.4050-2-jay.chang@sifive.com> Signed-off-by: Alistair Francis --- target/riscv/cpu_bits.h | 60 +++++++++++++++++++ target/riscv/csr.c | 124 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 182 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index a30317c617..e6b3e28386 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -372,6 +372,18 @@ #define CSR_PMPCFG1 0x3a1 #define CSR_PMPCFG2 0x3a2 #define CSR_PMPCFG3 0x3a3 +#define CSR_PMPCFG4 0x3a4 +#define CSR_PMPCFG5 0x3a5 +#define CSR_PMPCFG6 0x3a6 +#define CSR_PMPCFG7 0x3a7 +#define CSR_PMPCFG8 0x3a8 +#define CSR_PMPCFG9 0x3a9 +#define CSR_PMPCFG10 0x3aa +#define CSR_PMPCFG11 0x3ab +#define CSR_PMPCFG12 0x3ac +#define CSR_PMPCFG13 0x3ad +#define CSR_PMPCFG14 0x3ae +#define CSR_PMPCFG15 0x3af #define CSR_PMPADDR0 0x3b0 #define CSR_PMPADDR1 0x3b1 #define CSR_PMPADDR2 0x3b2 @@ -388,6 +400,54 @@ #define CSR_PMPADDR13 0x3bd #define CSR_PMPADDR14 0x3be #define CSR_PMPADDR15 0x3bf +#define CSR_PMPADDR16 0x3c0 +#define CSR_PMPADDR17 0x3c1 +#define CSR_PMPADDR18 0x3c2 +#define CSR_PMPADDR19 0x3c3 +#define CSR_PMPADDR20 0x3c4 +#define CSR_PMPADDR21 0x3c5 +#define CSR_PMPADDR22 0x3c6 +#define CSR_PMPADDR23 0x3c7 +#define CSR_PMPADDR24 0x3c8 +#define CSR_PMPADDR25 0x3c9 +#define CSR_PMPADDR26 0x3ca +#define CSR_PMPADDR27 0x3cb +#define CSR_PMPADDR28 0x3cc +#define CSR_PMPADDR29 0x3cd +#define CSR_PMPADDR30 0x3ce +#define CSR_PMPADDR31 0x3cf +#define CSR_PMPADDR32 0x3d0 +#define CSR_PMPADDR33 0x3d1 +#define CSR_PMPADDR34 0x3d2 +#define CSR_PMPADDR35 0x3d3 +#define CSR_PMPADDR36 0x3d4 +#define CSR_PMPADDR37 0x3d5 +#define CSR_PMPADDR38 0x3d6 +#define CSR_PMPADDR39 0x3d7 +#define CSR_PMPADDR40 0x3d8 +#define CSR_PMPADDR41 0x3d9 +#define CSR_PMPADDR42 0x3da +#define CSR_PMPADDR43 0x3db +#define CSR_PMPADDR44 0x3dc +#define CSR_PMPADDR45 0x3dd +#define CSR_PMPADDR46 0x3de +#define CSR_PMPADDR47 0x3df +#define CSR_PMPADDR48 0x3e0 +#define CSR_PMPADDR49 0x3e1 +#define CSR_PMPADDR50 0x3e2 +#define CSR_PMPADDR51 0x3e3 +#define CSR_PMPADDR52 0x3e4 +#define CSR_PMPADDR53 0x3e5 +#define CSR_PMPADDR54 0x3e6 +#define CSR_PMPADDR55 0x3e7 +#define CSR_PMPADDR56 0x3e8 +#define CSR_PMPADDR57 0x3e9 +#define CSR_PMPADDR58 0x3ea +#define CSR_PMPADDR59 0x3eb +#define CSR_PMPADDR60 0x3ec +#define CSR_PMPADDR61 0x3ed +#define CSR_PMPADDR62 0x3ee +#define CSR_PMPADDR63 0x3ef =20 /* RNMI */ #define CSR_MNSCRATCH 0x740 diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 1151ebb6ad..d6cd441133 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -6164,6 +6164,30 @@ riscv_csr_operations csr_ops[CSR_TABLE_SIZE] =3D { [CSR_PMPCFG1] =3D { "pmpcfg1", pmp, read_pmpcfg, write_pmpcfg }, [CSR_PMPCFG2] =3D { "pmpcfg2", pmp, read_pmpcfg, write_pmpcfg }, [CSR_PMPCFG3] =3D { "pmpcfg3", pmp, read_pmpcfg, write_pmpcfg }, + [CSR_PMPCFG4] =3D { "pmpcfg4", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG5] =3D { "pmpcfg5", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG6] =3D { "pmpcfg6", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG7] =3D { "pmpcfg7", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG8] =3D { "pmpcfg8", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG9] =3D { "pmpcfg9", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG10] =3D { "pmpcfg10", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG11] =3D { "pmpcfg11", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG12] =3D { "pmpcfg12", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG13] =3D { "pmpcfg13", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG14] =3D { "pmpcfg14", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPCFG15] =3D { "pmpcfg15", pmp, read_pmpcfg, write_pmpcfg, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, [CSR_PMPADDR0] =3D { "pmpaddr0", pmp, read_pmpaddr, write_pmpaddr }, [CSR_PMPADDR1] =3D { "pmpaddr1", pmp, read_pmpaddr, write_pmpaddr }, [CSR_PMPADDR2] =3D { "pmpaddr2", pmp, read_pmpaddr, write_pmpaddr }, @@ -6178,8 +6202,104 @@ riscv_csr_operations csr_ops[CSR_TABLE_SIZE] =3D { [CSR_PMPADDR11] =3D { "pmpaddr11", pmp, read_pmpaddr, write_pmpaddr }, [CSR_PMPADDR12] =3D { "pmpaddr12", pmp, read_pmpaddr, write_pmpaddr }, [CSR_PMPADDR13] =3D { "pmpaddr13", pmp, read_pmpaddr, write_pmpaddr }, - [CSR_PMPADDR14] =3D { "pmpaddr14", pmp, read_pmpaddr, write_pmpaddr }, - [CSR_PMPADDR15] =3D { "pmpaddr15", pmp, read_pmpaddr, write_pmpaddr }, + [CSR_PMPADDR14] =3D { "pmpaddr14", pmp, read_pmpaddr, write_pmpaddr }, + [CSR_PMPADDR15] =3D { "pmpaddr15", pmp, read_pmpaddr, write_pmpaddr }, + [CSR_PMPADDR16] =3D { "pmpaddr16", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR17] =3D { "pmpaddr17", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR18] =3D { "pmpaddr18", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR19] =3D { "pmpaddr19", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR20] =3D { "pmpaddr20", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR21] =3D { "pmpaddr21", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR22] =3D { "pmpaddr22", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR23] =3D { "pmpaddr23", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR24] =3D { "pmpaddr24", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR25] =3D { "pmpaddr25", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR26] =3D { "pmpaddr26", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR27] =3D { "pmpaddr27", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR28] =3D { "pmpaddr28", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR29] =3D { "pmpaddr29", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR30] =3D { "pmpaddr30", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR31] =3D { "pmpaddr31", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR32] =3D { "pmpaddr32", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR33] =3D { "pmpaddr33", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR34] =3D { "pmpaddr34", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR35] =3D { "pmpaddr35", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR36] =3D { "pmpaddr36", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR37] =3D { "pmpaddr37", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR38] =3D { "pmpaddr38", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR39] =3D { "pmpaddr39", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR40] =3D { "pmpaddr40", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR41] =3D { "pmpaddr41", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR42] =3D { "pmpaddr42", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR43] =3D { "pmpaddr43", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR44] =3D { "pmpaddr44", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR45] =3D { "pmpaddr45", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR46] =3D { "pmpaddr46", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR47] =3D { "pmpaddr47", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR48] =3D { "pmpaddr48", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR49] =3D { "pmpaddr49", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR50] =3D { "pmpaddr50", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR51] =3D { "pmpaddr51", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR52] =3D { "pmpaddr52", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR53] =3D { "pmpaddr53", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR54] =3D { "pmpaddr54", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR55] =3D { "pmpaddr55", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR56] =3D { "pmpaddr56", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR57] =3D { "pmpaddr57", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR58] =3D { "pmpaddr58", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR59] =3D { "pmpaddr59", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR60] =3D { "pmpaddr60", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR61] =3D { "pmpaddr61", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR62] =3D { "pmpaddr62", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, + [CSR_PMPADDR63] =3D { "pmpaddr63", pmp, read_pmpaddr, write_pmpaddr, + .min_priv_ver =3D PRIV_VERSION_1_12_0 }, =20 /* Debug CSRs */ [CSR_TSELECT] =3D { "tselect", debug, read_tselect, write_tselect= }, --=20 2.50.0