Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft Extension: Ssqosid #127

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Draft Extension: Ssqosid #127

wants to merge 2 commits into from

Conversation

a4lg
Copy link
Owner

@a4lg a4lg commented Aug 8, 2023

@a4lg a4lg force-pushed the riscv-ssqosid branch 2 times, most recently from 0b4fb79 to 1c413fe Compare August 11, 2023 03:56
@a4lg a4lg added the enhancement New feature or request label Aug 12, 2023
@a4lg a4lg force-pushed the riscv-ssqosid branch 4 times, most recently from 591d6bf to 9161754 Compare September 7, 2023 09:35
@a4lg a4lg force-pushed the riscv-ssqosid branch 2 times, most recently from 2ff081d to 5d2bbbb Compare October 19, 2023 03:17
a4lg added 2 commits October 19, 2023 06:58
[DO NOT MERGE]
Until the 'Ssqosid' extension is frozen/ratified and the final version
number is determined, this patch should not be merged upstream.  This
commit uses version 0.1 as the placeholder, not version 0.0.0 in the latest
PDF documentation (since 0.0 is invalid).

This commit adds QoS registration interface for S-mode ('Ssqosid' extension)
support based on the specification:
<riscv-non-isa/riscv-cbqri@3e06bc5>

***Draft Note***

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

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_implicit_subsets): Add implications to
	'Zicsr'.  (riscv_supported_std_s_ext): Add 'Ssqosid' extension to
	valid 'S' extension list.

gas/ChangeLog:

	* config/tc-riscv.c (enum riscv_csr_class): Add CSR class for
	the 'Ssqosid' extension.  (riscv_csr_address): Add handling for
	new CSR class.
	* testsuite/gas/riscv/csr-dw-regnums.d: Add new CSR.
	* testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
	* testsuite/gas/riscv/csr.s: Add new CSR.
	* 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_SQOSCFG): New.
**DEVELOPMENT ENVIRONMENT ONLY**

The attached script can be used to replace related source files when
the CSR addresse of "sqoscfg" (now tentative) is determined.

Usage (when "sqoscfg" is allocated to 0x5ad):
    ./instantiate-ssqosid.sh 0x5ad
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