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

Questions on Release 0.9 #398

Open
hirooih opened this issue Jul 15, 2024 · 0 comments
Open

Questions on Release 0.9 #398

hirooih opened this issue Jul 15, 2024 · 0 comments
Assignees
Labels
v1.0 resolve for 1.0

Comments

@hirooih
Copy link

hirooih commented Jul 15, 2024

The following are what are unclear from reading the specifications. I hope this helps.


Chapter 7. suclic U-mode CLIC extension

Is N-extension still alive? From RISC-V Spec:

Preface to Version 20211203
...
Removed the N extension.

It was my understanding that the N extension was removed from the candidate for the extended specification.


9.3. CLICINTCTL Parameters

Only 0 or 8 level bits are currently supported, with other values currently reserved.

0 level bit cannot support the horizontal interrupt preemption which is the most important feature of CLIC. I doubt it is worth supporting.

8 level bits cannot support the interrupt priority. I guess this might be a patent issue. When will we be able to support other settings?

... xCLICINTCTLVALUES would be the set [0-255].

"[0-255]" should be "[1-255]" according to the table on the next page.

... when clicintattr[i].mode bits 7:4 are all 1s otherwise s-mode.

According to "5.4. CLIC Interrupt Attribute (clicintattr)", clicintattr[i].mode is assigned to bits "7:6" and "11" means Machine mode. I don't understand what this paragraph means.

with the lower unimplemented bits treated as hardwired to 1.

The lower unimplemented bits of clicintctl[i] should be read as 1s by a CSR instruction?

From the last paragraph:

... For example, when nmbits is 0, ... to clicintctl[i] registers.

I think this sentence should be moved to "10.1.1. CLIC Configuration (xcliccfg registers)".


9.4. Additional CLIC Parameters

CLICLEVELS 2-256

"2-256" should be "1-256" if the "0 level bit" is supported.

CLICMAXID 12-4095

From where the number "12" comes? The max ID is 2 in the example on 17.4. Only one interrupt does not require CLIC features. "1" may be the minimum number.

INTTHRESHBITS 1-8

All other parameters are prefixed by "CLIC". Is it intentional that only this parameter is not prefixed by "CLIC"?


10.1.2. Specifying Interrupt Privilege Mode

I have no idea why cliccfg.nmbits exists.
For example In the following case (and M/U-mode systems without the suclic extension) we can hardware the clicintattr[i].mode to "11".

For example, in M-mode-only systems, only M-mode exists so we do not need any extra bit to represent the supported privilege-modes. In this case, no physically implemented bits are needed in the clicintattr.mode and thus cliccfg.nmbits is 0 (i.e., cliccfg.nmbits can be hardwired to 0).


The attached includes some other typo things.

clic.patch

@jb-brelot-nxp jb-brelot-nxp self-assigned this Oct 7, 2024
@jb-brelot-nxp jb-brelot-nxp added the v1.0 resolve for 1.0 label Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v1.0 resolve for 1.0
Projects
None yet
Development

No branches or pull requests

2 participants