Skip to content

Conversation

@a4lg
Copy link
Owner

@a4lg a4lg commented Nov 23, 2022

@a4lg a4lg added the enhancement New feature or request label Nov 23, 2022
@a4lg a4lg force-pushed the riscv-zjpm branch 14 times, most recently from 18fd6fe to 2e568b5 Compare November 30, 2022 04:15
@a4lg a4lg force-pushed the riscv-zjpm branch 2 times, most recently from 5cf1bf3 to f316596 Compare December 2, 2022 03:27
@a4lg a4lg force-pushed the riscv-zjpm branch 4 times, most recently from 9990759 to 1e82998 Compare December 11, 2022 06:32
@a4lg a4lg force-pushed the riscv-zjpm branch 5 times, most recently from 1646693 to e1df9a2 Compare December 25, 2022 02:53
@a4lg a4lg force-pushed the riscv-zjpm branch 4 times, most recently from f7966f2 to 915ba1f Compare December 29, 2022 07:50
@a4lg a4lg force-pushed the riscv-zjpm branch 8 times, most recently from bce8fb8 to be0809f Compare February 8, 2023 05:34
@a4lg a4lg force-pushed the riscv-zjpm branch 5 times, most recently from 3962347 to ee5f40e Compare August 3, 2023 05:59
@a4lg a4lg force-pushed the riscv-zjpm branch 7 times, most recently from 2f0c059 to 0086ee8 Compare August 11, 2023 03:56
a4lg added 2 commits August 15, 2023 07:26
… CSRs

[DO NOT MERGE]
Until Pointer masking extensions are frozen/ratified and the final version
number is determined, this patch should not be merged upstream.  This
commit uses unratified version 0.5(.4) as in the latest PDF documentation
(instead of possible 1.0 after ratification).

This commit adds pointer masking extensions ('Zjpm', 'Smjpm', 'Ssjpm' and
'Smjpmbare16') and its CSRs based on the latest commit of the RISC-V
Pointer Masking draft.
<riscv/riscv-j-extension@4839cc5>

Specification Notes:

'Smjpm', 'Ssjpm' and 'Zjpm' do not depend each other, allowing selection of
per-privilege pointer masking implementation.

Although pointer masking is only available (can be enabled) on RV64, pointer
masking CSRs are accessible from RV32.  That is why those extensions are
*not* RV64 only.

***Draft Note***

Because CSR addresses are not fixed yet, this commit uses tentative
addresses (a part of custom CSR space).

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_implicit_subsets) Add implications to
	'Zicsr'.  (riscv_supported_std_z_ext): Add 'Zjpm' extension to
	valid 'Z' extension list.
	(riscv_supported_std_s_ext): Add 'Smjpm', 'Ssjpm' and 'Smjpmbare16'
	extensions to valid 'S' extension list.

gas/ChangeLog:

	* config/tc-riscv.c (enum riscv_csr_class): Add CSR classes for
	pointer masking extensions.  (riscv_csr_address): Add handling for
	new CSR classes.
	* testsuite/gas/riscv/csr-dw-regnums.d: Add new CSRs.
	* testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
	* testsuite/gas/riscv/csr.s: Add new CSRs.
	* testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p9p1.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p10.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p10.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p11.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p11.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.l: Likewise.

include/ChangeLog:

	* opcode/riscv-opc.h (CSR_MPM, CSR_VSPM, CSR_SPM, CSR_UPM): New
	CSR macros.
**DEVELOPMENT ENVIRONMENT ONLY**

The attached script can be used to replace related source files when
the CSR addresses of "upm", "spm", "vspm" and "mpm" (now tentative)
are determined.
@a4lg
Copy link
Owner Author

a4lg commented Aug 16, 2023

Took over by #131.

@a4lg a4lg closed this Aug 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant