Closed JamesKenneyImperas closed 1 year ago
Additionally, can you please clarify the behavior of the xcliccfg.nlbits
fields; specifically:
xcliccfg.nlbits
fields independent of each other, or are they aliases of the same thing? and:xcliccfg.nlbits
fields are independent, is it the case that mcliccfg.nlbits
is used to determine the level of interrupts targeting M-mode, scliccfg.nlbits
is used to determine the level of interrupts targeting S-mode and ucliccfg.nlbits
is used to determine the level of interrupts targeting U-mode?Thanks.
notes from TG meeting 2/28/23: will split into 2 issues to separate cliccfg.nlbits question (issue #311). will try to re-write how mem-mapped registers . platform can mandate to 4k boundaries if it is virtual memory but spec can leave it open. use same language as in m-mode. for cliccfg could put fields in different places in the word. put in one word with the byte for each priv mode. high byte is m mode, low byte is u-mode. byte 1 is s-mode.
closed with pull #312 and text updates
I've got some questions about the recent changes to the CLIC memory-mapped register definition. Can you help?
In section 4.1.1 (CLIC Memory Map), talking about M-mode, it still says this:
I think it would be worth reworking these two paragraphs in the light of the other changes here. The first paragraph above is talking about "each privilege mode", but now all memory-mapped registers here are relevant to M-mode only, aren't they? In the same way, the second paragraph is talking about memory-mapped registers split between privilege regions. It feels like these two paragraphs are a bit stale and reflecting an earlier implementation.
Moving on to section 5.1.1. (ssclic CLIC Memory Map), it says:
Given that each privilege level now has its own
cliccfg
register, is the second statement about aliasing still true? If this was done, thecliccfg
registers would not be independent.There are also inconsistencies between M-mode, S-mode and U-mode definitions. For S-mode and U-mode, it states the blocks must be aligned to 4k boundaries. For M-mode, this is an option but not mandated. Is this inconsistency intentional?
Thanks.