[PATCH v3 1/4] RISC-V: Update the CSR to privilege spec 1.12.
Palmer Dabbelt via binutils
binutils@sourceware.org
Mon Feb 10 18:12:00 GMT 2020
More information about the Binutils mailing list
Mon Feb 10 18:12:00 GMT 2020
- Previous message (by thread): [PATCH v3 1/4] RISC-V: Update the CSR to privilege spec 1.12.
- Next message (by thread): [PATCH v3 1/4] RISC-V: Update the CSR to privilege spec 1.12.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, 31 Jan 2020 16:24:29 PST (-0800), Andrew Waterman wrote: > On Fri, Jan 31, 2020 at 4:19 PM Jim Wilson <jimw@sifive.com> wrote: >> >> On Sun, Dec 15, 2019 at 9:22 PM Nelson Chu <nelson.chu@sifive.com> wrote: >> > gas/ >> > * testsuite/gas/riscv/priv-reg.s: Rename to priv-reg-all.s Update >> > the CSR to privilege spec 1.12. >> > * testsuite/gas/riscv/priv-reg.d: Likewise. >> > * testsuite/gas/riscv/bad-csr.s: Rename to priv-reg-fail-nonexistent. >> > * testsuite/gas/riscv/bad-csr.d: Likewise. >> > * testsuite/gas/riscv/bad-csr.l: Likewise. >> > * testsuite/gas/riscv/satp.s: Deleted. Duplicate of priv-reg-all.s >> > * testsuite/gas/riscv/satp.d: Likewise. >> > * testsuite/gas/riscv/csr-dw-regnums.s: Updated. >> > * testsuite/gas/riscv/csr-dw-regnums.d: Likewise. >> > >> > include/ >> > * opcode/riscv-opc.h: Update the CSR to privilege spec 1.12. >> > >> > gdb/ >> > * features/riscv/32bit-csr.xml: Regenerated. >> > * features/riscv/64bit-csr.xml: Regenerated. >> >> Privilege spec 1.11 is ratified, and spec 1.12 is in draft form. Do >> we want to implement a draft? > > It seems inadvisable to incorporate draft standards into the FSF > binutils port. In particular, the hypervisor ISA is virtually certain > to change in backwards-incompatible ways prior to being frozen. It > seems to me that pushing this stuff upstream at this time will cause > more problems than it solves. > > We could consider maintaining these patches on branches in the RISC-V > github repositories, and push them to the FSF tree at the appropriate > time. That way, we can support software development against these > draft standards while reducing the scope of backwards > incompatibilities. That's the approach we're taking everywhere else, and I think it's the right way to go here. Sorry, I must have been off by one when I was looking. > >> >> >> I see some hypervisor registers missing, e.g. hgeie and hgeip which >> were added to the 1.12 draft on November 20. Hie was added Oct 29, >> and is listed as dropped in your patch. It isn't clear to me which >> version of the 1.12 draft you are using, but it seems to be an old >> one. If we are implementing >> 1.12 draft we should probably implement the current one. >> >> Overall it looks reasonable, but we need to be clear which spec we are >> implementing, so we can verify that the patch matches the spec. >> >> I see that the csr-dw-regnums.s test doesn't have any of the csr >> aliases, but that seems OK. priv-reg-all.s is the important one and >> does have all of them. >> >> You are modifying gdb xml files. These need to be sent to gdb-patches >> for approval instead of the binutils list, and I don't have gdb patch >> approval permission. These are shared with qemu, and ideally should >> be kept in sync. As a practical matter though, gdb doesn't use the >> csr xml files as yet. And updating qemu means adding priv spec 1.12 >> draft support to qemu which is probably non-trivial, unless we can >> ignore the as yet unsupported registers in the gdb stub which should >> work. I believe WDC is working on the qemu hypervisor support, so it >> might actually be tracking the 1.12 draft already. It is probably OK >> to submit the gdb xml changes, and then file a bug somewhere asking >> for gdb and qemu xml support to be synchronized. >> >> Jim
- Previous message (by thread): [PATCH v3 1/4] RISC-V: Update the CSR to privilege spec 1.12.
- Next message (by thread): [PATCH v3 1/4] RISC-V: Update the CSR to privilege spec 1.12.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list