From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by sourceware.org (Postfix) with ESMTPS id C0A71389040E for ; Tue, 16 Jun 2020 17:15:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C0A71389040E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andrew.burgess@embecosm.com Received: by mail-wr1-x444.google.com with SMTP id x14so21592656wrp.2 for ; Tue, 16 Jun 2020 10:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AuuqaxkSn5HMP+njixW0gNcgzmS5NCMGQPPuQIATrV8=; b=f65d2c/ChWprp5z+EH5hcc7os9ULiAhvMA5NB0gQjfJlkKH/t6bQwWqUsbSiRaW2dB rTW4WGgMoDzfCCuRiEGdRvgA4/cqMtnmGTsC/SKLDNriV2QuxgL2SyFSeyX02OiqMcdv gn3uphQfcFg0bxkFA/2tM3bAG5QtNMZKXYsyTMgE3EdDTjHQ0/+l28Ez1nOV6KRz3l5W PQotc0dsJ0BwUtxjRut8/qyFcCPZqPCWFoPbpyPvBFgYkGtuGOYS3afU304a6N1HBYVL MObyKwAU19ngtWn0G/NzXU+0NoC0QNKtF4jCzaC5n6VbE+ro+VNklxWMD3crdbJEpN/p sQPg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=AuuqaxkSn5HMP+njixW0gNcgzmS5NCMGQPPuQIATrV8=; b=i6O20A2eZQ+wNYHX9NuvH339Xr9nvg6U2O4rbnm9Gw3dMnBe4+mXU2zi1JT+YCcz4c WNpc3WFEfKkWglYuoqmuXKWvvoQJUEjPV5q1gU4nJpn33OFWMHglUmuoX43nJCF1Rwvt 7slQMGhVJLroNMCIJGmyoIga96FGfoqMO8bdjPWF2hhksn6ZaGHw8h2VMb/oakWRdCXB j/GhGiPo3tsqlxKFmkV9cHJUYWT7OUWfKesGfF2P9m6Vu/u9nNoSWirX5KhLW6L+Mddu AwzgIti0eAKrfpP9hbTDJoDczckfoxMDEcZUTHhSRDjRbPvq9/X5wsHzAVPXk2RwUQY+ enBA== X-Gm-Message-State: AOAM533SIRMeSiL3T2kj5wyRDItrrIVz8gsZabx84fgR0u0eJabFKkiB /hEDffsALZbwRG6cdIo5FZ2EK/0ncqo= X-Google-Smtp-Source: ABdhPJxykXir1bKZ3j0+oFM4u+imqTEev4+Q/ZNIFyTK5Za8uFUNcWd2OyV6QrQkNi1xKVNZMlvGlw== X-Received: by 2002:a5d:5261:: with SMTP id l1mr4235990wrc.246.1592327698205; Tue, 16 Jun 2020 10:14:58 -0700 (PDT) Received: from localhost (host86-128-12-16.range86-128.btcentralplus.com. [86.128.12.16]) by smtp.gmail.com with ESMTPSA id n204sm5144654wma.5.2020.06.16.10.14.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2020 10:14:57 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Nelson Chu , Jim Wilson , Tom Tromey , palmer@dabbelt.com, Andrew Burgess Subject: [PATCH 4/8] gdb/riscv: Remove CSR feature file Date: Tue, 16 Jun 2020 18:14:43 +0100 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 17:15:06 -0000 There is currently a bug in the RISC-V CSR/FPU feature files. The CSRs containing the FPU status registers are mentioned in both the FPU feature file and the CSR feature file. My original thinking when adding the FPU feature file was that it made more sense to group the FPU status registers with the other FPU state. This opened up the possibility of debugging very simple (possibly simulator only) targets that had little more than CPU and FPU available for GDB to access. When I then added code to automatically generate the CSR XML file I forgot to filter out the FPU status CSRs, so these registers were mentioned twice. Now for GDB's default RISC-V target descriptions this doesn't actually matter. I did consider adding the CSRs to the default target description, but in the end I didn't bother. The reasoning again was simplicity; the default target description is only to be used when the target doesn't supply its own description, and NOT supplying the CSRs actually serves to encourage targets to supply an accurate description. Combine this with the fact that the CSRs change from revision to revision, sometimes in non-backward compatible ways, then having a "default" set of CSRs just feels like a path to confusion and complaints. However, having a broken CSR XML file in the GDB source tree has had one negative effect, QEMU has copied this file into its source tree, and is using this as its description that it passes to GDB. That is QEMU announces the FPU status registers twice, once in the FPU feature, and once in the CSR feature. This commit starts along the path back to sanity by deleting the default CSR XML files from within GDB. These files were not used in any way by current GDB, so there is absolutely no loss of functionality with this change. gdb/ChangeLog: * features/Makefile: Remove all references to the deleted files below. * features/riscv/32bit-csr.c: Deleted. * features/riscv/32bit-csr.xml: Deleted. * features/riscv/64bit-csr.c: Deleted. * features/riscv/64bit-csr.xml: Deleted. * features/riscv/rebuild-csr-xml.sh: Deleted. --- gdb/ChangeLog | 10 + gdb/features/Makefile | 6 - gdb/features/riscv/32bit-csr.c | 253 -------------------------- gdb/features/riscv/32bit-csr.xml | 251 ------------------------- gdb/features/riscv/64bit-csr.c | 253 -------------------------- gdb/features/riscv/64bit-csr.xml | 186 ------------------- gdb/features/riscv/rebuild-csr-xml.sh | 37 ---- 7 files changed, 10 insertions(+), 986 deletions(-) delete mode 100644 gdb/features/riscv/32bit-csr.c delete mode 100644 gdb/features/riscv/32bit-csr.xml delete mode 100644 gdb/features/riscv/64bit-csr.c delete mode 100644 gdb/features/riscv/64bit-csr.xml delete mode 100755 gdb/features/riscv/rebuild-csr-xml.sh diff --git a/gdb/features/Makefile b/gdb/features/Makefile index cc65baa6eda..88236e5e946 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -232,10 +232,8 @@ FEATURE_XMLFILES = aarch64-core.xml \ i386/64bit-sse.xml \ i386/x32-core.xml \ riscv/32bit-cpu.xml \ - riscv/32bit-csr.xml \ riscv/32bit-fpu.xml \ riscv/64bit-cpu.xml \ - riscv/64bit-csr.xml \ riscv/64bit-fpu.xml \ rx.xml \ tic6x-c6xp.xml \ @@ -268,10 +266,6 @@ $(FEATURE_CFILES): %.c: %.xml.tmp echo "" >> $@.tmp sh ../../move-if-change $@.tmp $@ -# Regenerate RISC-V CSR feature lists. -riscv/32bit-csr.xml riscv/64bit-csr.xml: ../../include/opcode/riscv-opc.h - ./riscv/rebuild-csr-xml.sh ../../include/opcode/riscv-opc.h ./riscv - # 'all' doesn't build the C files, so don't delete them in 'clean' # either. clean-cfiles: diff --git a/gdb/features/riscv/32bit-csr.c b/gdb/features/riscv/32bit-csr.c deleted file mode 100644 index d306bc8d293..00000000000 --- a/gdb/features/riscv/32bit-csr.c +++ /dev/null @@ -1,253 +0,0 @@ -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: - Original: 32bit-csr.xml */ - -#include "gdbsupport/tdesc.h" - -static int -create_feature_riscv_32bit_csr (struct target_desc *result, long regnum) -{ - struct tdesc_feature *feature; - - feature = tdesc_create_feature (result, "org.gnu.gdb.riscv.csr"); - tdesc_create_reg (feature, "ustatus", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "uie", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "utvec", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "uscratch", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "uepc", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "ucause", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "utval", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "uip", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "fflags", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "frm", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "fcsr", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "cycle", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "time", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "instret", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter4", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter5", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter6", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter7", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter8", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter9", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter10", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter11", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter12", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter13", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter14", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter15", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter16", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter17", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter18", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter19", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter20", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter21", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter22", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter23", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter24", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter25", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter26", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter27", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter28", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter29", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter30", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter31", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "cycleh", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "timeh", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "instreth", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter3h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter4h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter5h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter6h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter7h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter8h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter9h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter10h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter11h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter12h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter13h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter14h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter15h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter16h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter17h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter18h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter19h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter20h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter21h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter22h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter23h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter24h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter25h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter26h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter27h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter28h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter29h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter30h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hpmcounter31h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sstatus", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sedeleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sideleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sie", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "stvec", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "scounteren", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sscratch", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sepc", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "scause", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "stval", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "sip", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "satp", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mvendorid", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "marchid", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mimpid", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhartid", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mstatus", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "misa", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "medeleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mideleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mie", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mtvec", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mcounteren", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mscratch", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mepc", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mcause", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mtval", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mip", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpcfg0", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpcfg1", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpcfg2", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpcfg3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr0", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr1", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr2", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr4", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr5", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr6", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr7", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr8", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr9", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr10", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr11", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr12", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr13", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr14", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "pmpaddr15", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mcycle", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "minstret", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter4", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter5", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter6", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter7", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter8", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter9", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter10", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter11", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter12", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter13", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter14", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter15", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter16", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter17", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter18", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter19", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter20", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter21", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter22", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter23", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter24", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter25", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter26", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter27", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter28", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter29", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter30", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter31", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mcycleh", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "minstreth", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter3h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter4h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter5h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter6h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter7h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter8h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter9h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter10h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter11h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter12h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter13h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter14h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter15h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter16h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter17h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter18h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter19h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter20h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter21h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter22h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter23h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter24h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter25h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter26h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter27h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter28h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter29h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter30h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmcounter31h", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent4", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent5", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent6", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent7", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent8", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent9", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent10", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent11", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent12", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent13", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent14", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent15", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent16", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent17", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent18", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent19", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent20", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent21", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent22", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent23", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent24", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent25", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent26", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent27", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent28", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent29", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent30", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhpmevent31", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "tselect", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "tdata1", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "tdata2", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "tdata3", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "dcsr", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "dpc", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "dscratch", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hstatus", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hedeleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hideleg", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hie", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "htvec", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hscratch", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hepc", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hcause", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hbadaddr", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "hip", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mbase", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mbound", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mibase", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mibound", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mdbase", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mdbound", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mucounteren", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mscounteren", regnum++, 1, NULL, 32, "int"); - tdesc_create_reg (feature, "mhcounteren", regnum++, 1, NULL, 32, "int"); - return regnum; -} diff --git a/gdb/features/riscv/32bit-csr.xml b/gdb/features/riscv/32bit-csr.xml deleted file mode 100644 index 8173eebda1c..00000000000 --- a/gdb/features/riscv/32bit-csr.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb/features/riscv/64bit-csr.c b/gdb/features/riscv/64bit-csr.c deleted file mode 100644 index e46a77f3051..00000000000 --- a/gdb/features/riscv/64bit-csr.c +++ /dev/null @@ -1,253 +0,0 @@ -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: - Original: 64bit-csr.xml */ - -#include "gdbsupport/tdesc.h" - -static int -create_feature_riscv_64bit_csr (struct target_desc *result, long regnum) -{ - struct tdesc_feature *feature; - - feature = tdesc_create_feature (result, "org.gnu.gdb.riscv.csr"); - tdesc_create_reg (feature, "ustatus", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "uie", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "utvec", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "uscratch", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "uepc", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "ucause", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "utval", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "uip", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "fflags", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "frm", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "fcsr", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "cycle", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "time", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "instret", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter4", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter5", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter6", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter7", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter8", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter9", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter10", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter11", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter12", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter13", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter14", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter15", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter16", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter17", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter18", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter19", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter20", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter21", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter22", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter23", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter24", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter25", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter26", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter27", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter28", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter29", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter30", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter31", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "cycleh", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "timeh", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "instreth", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter3h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter4h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter5h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter6h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter7h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter8h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter9h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter10h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter11h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter12h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter13h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter14h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter15h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter16h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter17h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter18h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter19h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter20h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter21h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter22h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter23h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter24h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter25h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter26h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter27h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter28h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter29h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter30h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hpmcounter31h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sstatus", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sedeleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sideleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sie", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "stvec", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "scounteren", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sscratch", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sepc", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "scause", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "stval", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "sip", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "satp", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mvendorid", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "marchid", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mimpid", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhartid", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mstatus", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "misa", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "medeleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mideleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mie", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mtvec", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mcounteren", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mscratch", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mepc", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mcause", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mtval", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mip", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpcfg0", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpcfg1", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpcfg2", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpcfg3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr0", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr1", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr2", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr4", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr5", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr6", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr7", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr8", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr9", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr10", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr11", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr12", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr13", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr14", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "pmpaddr15", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mcycle", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "minstret", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter4", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter5", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter6", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter7", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter8", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter9", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter10", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter11", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter12", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter13", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter14", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter15", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter16", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter17", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter18", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter19", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter20", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter21", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter22", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter23", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter24", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter25", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter26", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter27", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter28", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter29", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter30", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter31", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mcycleh", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "minstreth", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter3h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter4h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter5h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter6h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter7h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter8h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter9h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter10h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter11h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter12h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter13h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter14h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter15h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter16h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter17h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter18h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter19h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter20h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter21h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter22h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter23h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter24h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter25h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter26h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter27h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter28h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter29h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter30h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmcounter31h", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent4", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent5", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent6", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent7", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent8", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent9", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent10", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent11", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent12", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent13", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent14", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent15", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent16", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent17", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent18", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent19", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent20", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent21", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent22", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent23", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent24", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent25", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent26", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent27", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent28", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent29", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent30", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhpmevent31", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "tselect", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "tdata1", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "tdata2", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "tdata3", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "dcsr", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "dpc", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "dscratch", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hstatus", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hedeleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hideleg", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hie", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "htvec", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hscratch", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hepc", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hcause", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hbadaddr", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "hip", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mbase", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mbound", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mibase", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mibound", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mdbase", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mdbound", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mucounteren", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mscounteren", regnum++, 1, NULL, 64, "int"); - tdesc_create_reg (feature, "mhcounteren", regnum++, 1, NULL, 64, "int"); - return regnum; -} diff --git a/gdb/features/riscv/64bit-csr.xml b/gdb/features/riscv/64bit-csr.xml deleted file mode 100644 index ed28964ac35..00000000000 --- a/gdb/features/riscv/64bit-csr.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb/features/riscv/rebuild-csr-xml.sh b/gdb/features/riscv/rebuild-csr-xml.sh deleted file mode 100755 index bff79b0371f..00000000000 --- a/gdb/features/riscv/rebuild-csr-xml.sh +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/bash - -RISCV_OPC_FILE=$1 -RISCV_FEATURE_DIR=$2 - -function gen_csr_xml () -{ - bitsize=$1 - - cat < - - - - -EOF - -if [ "$bitsize" = "64" ]; then - grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \ - | sed /CSR_CLASS_.*_32/d \ - | sed -e "s!DECLARE_CSR(\(.*\), .*, .*, .*, .*! !" - - echo "" -else - grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \ - | sed -e "s!DECLARE_CSR(\(.*\), .*, .*, .*, .*! !" - - echo "" -fi -} - -gen_csr_xml 32 > ${RISCV_FEATURE_DIR}/32bit-csr.xml -gen_csr_xml 64 > ${RISCV_FEATURE_DIR}/64bit-csr.xml -- 2.25.4