Skip to content

Conversation

@cap2k4-rivos
Copy link
Collaborator

No description provided.

dhaval-rivos and others added 8 commits April 23, 2025 13:38
Going forward we would like to make use of DT as much as possible.
Going forward this Lib function will be used to retrieve Timer
freq instead of PCD.

Signed-off-by: Dhaval Sharma <[email protected]>
@cap2k4-rivos cap2k4-rivos force-pushed the dev/dhaval/upstream-dt-hob branch 2 times, most recently from a377032 to d34942a Compare June 12, 2025 09:46
@cap2k4-rivos cap2k4-rivos force-pushed the dev/dhaval/upstream-dt-hob branch 4 times, most recently from 4bcef7a to 998eef0 Compare July 2, 2025 08:58
@cap2k4-rivos cap2k4-rivos force-pushed the dev/dhaval/upstream-dt-hob branch from 998eef0 to eb5f7cb Compare July 8, 2025 05:37
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 11, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 14, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 21, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 29, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 30, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Jul 30, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 4, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 5, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 5, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 6, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 28, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Aug 29, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Sep 2, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Sep 3, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Sep 3, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
cap2k4-rivos referenced this pull request in cap2k4-rivos/edk2 Sep 3, 2025
Implementation is based on
https://github.com/riscv-non-isa/riscv-rpmi/tree/main
and works in the following way:
1. MM initialization is successful -> call REQFWD_COMPLETE_CURRENT_MESSAGE
   to yield. (this API will change once we have properly defined the init
   API for MM)
2. NS domain calls MM_COMMUNICATE, OpenSBI performs context switch
   (if channel is not capable of SSE) -> MM resumes loop from
   REQFWD_COMPLETE_CURRENT_MESSAGE.
3. Calls REQFWD_RETRIEVE_CURRENT_MESSAGE.
4. MM handles the request contained in the message.
5. MM calls REQFWD_COMPLETE_CURRENT_MESSAGE.
6. OpenSBI switches to the non-secure domain (as there are no more
   messages in the queue && SSE is not supported)
7. Go to #2

Signed-off-by: Dhaval Sharma <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants