<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/opensbi.git/lib/sbi/sbi_trap.c, branch debug</title>
<subtitle>StarFive Tech OpenSBI for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/opensbi.git/atom?h=debug</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/opensbi.git/atom?h=debug'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/'/>
<updated>2021-01-07T04:23:17+00:00</updated>
<entry>
<title>lib: sbi: Introduce sbi_trap_exit() API</title>
<updated>2021-01-07T04:23:17+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-12-29T06:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=b7df5e4392d34d8b8d5290d5b857676e672d4c96'/>
<id>urn:sha1:b7df5e4392d34d8b8d5290d5b857676e672d4c96</id>
<content type='text'>
We introduce sbi_trap_exit() API which can help non-firmware
(i.e. generic or platform) code to force exit trap/interrupt
handling and resume execution at context pointed by parameter
"const struct sbi_trap_regs *regs".

This new sbi_trap_exit() API will help Keystone Enclave project
to resume execution of enclave from custom SBI call handler.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi_trap: Allow M-mode to M-mode ECALLs</title>
<updated>2020-09-09T04:02:04+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-09-04T11:09:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=c1c7c3ee9eb70e5c25914621f0363bfe244ebc79'/>
<id>urn:sha1:c1c7c3ee9eb70e5c25914621f0363bfe244ebc79</id>
<content type='text'>
We should allow M-mode to M-mode ECALLs because:
1. No other mode can handle M-mode ECALLs
2. In future, we can allow M-mode baremetal application (not
   linked to OpenSBI) running independently and cooperatively
   without corrupting OpenSBI M-mode state (CSRs and memory).

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>include: Rename ECALL defines to match latest RISC-V spec</title>
<updated>2020-09-09T04:02:02+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-09-01T12:24:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=bef63d68489a3026f2fdf4c07a8915d3dcdf14cd'/>
<id>urn:sha1:bef63d68489a3026f2fdf4c07a8915d3dcdf14cd</id>
<content type='text'>
We rename CAUSE_HYPERVISOR_ECALL to CAUSE_SUPERVISOR_ECALL and
CAUSE_SUPERVISOR_ECALL to CAUSE_VIRTUAL_SUPERVISOR_ECALL so that
it matches latest RISC-V privilege spec.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Don't handle VS-mode ecall in sbi_trap_handler()</title>
<updated>2020-09-09T04:02:00+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-09-01T12:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=dcb10c0056f37d3de6ce2794b8e6f7c322ac4d46'/>
<id>urn:sha1:dcb10c0056f37d3de6ce2794b8e6f7c322ac4d46</id>
<content type='text'>
The VS-mode ecall is supposed to be handled by HS-mode so
sbi_trap_handler() should fallback to default case for
VS-mode ecall trap.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi_trap: Fix hstatus.SPVP update in sbi_trap_redirect()</title>
<updated>2020-08-17T12:47:42+00:00</updated>
<author>
<name>Georg Kotheimer</name>
<email>georg.kotheimer@tu-dresden.de</email>
</author>
<published>2020-08-14T21:01:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=9d56961b2314f31f9d66e53204c02e01fada7c32'/>
<id>urn:sha1:9d56961b2314f31f9d66e53204c02e01fada7c32</id>
<content type='text'>
When redirecting from VS/VU-mode to HS-mode, hstatus.SPVP was set
to the value of mstatus.SPP, as according to the specification both
flags should be set to the same value.
However, the assignment of SPVP takes place before SPP itself is
updated, which results in SPVP having an outdated value.

Signed-off-by: Georg Kotheimer &lt;georg.kotheimer@tu-dresden.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: Add RISC-V hypervisor v0.6.1 support</title>
<updated>2020-06-08T10:11:23+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-05-28T03:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=1b8c0128f1d79d69ea0a46b758fef4be8dc0a73e'/>
<id>urn:sha1:1b8c0128f1d79d69ea0a46b758fef4be8dc0a73e</id>
<content type='text'>
To support RISC-V hypervisor v0.6.1, we:
1. Don't need to explicitly forward WFI traps from VS/VU-mode
2. Have to delegate virtual instruction trap to HS-mode
3. Have to update trap redirection for changes in HSTATUS CSR

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>include: sbi_timer: Remove scratch parameter from most funcitons</title>
<updated>2020-03-28T08:02:55+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-03-27T06:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=0a28ea54dce4140593a55dd61606437595ebe53d'/>
<id>urn:sha1:0a28ea54dce4140593a55dd61606437595ebe53d</id>
<content type='text'>
This patch removes scratch parameter from most sbi_timer functions.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>include: sbi_ipi: Remove scratch parameter from most functions</title>
<updated>2020-03-28T08:02:47+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-03-27T05:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=9e52a45f4be89df7000dcc1009af669e2e30d850'/>
<id>urn:sha1:9e52a45f4be89df7000dcc1009af669e2e30d850</id>
<content type='text'>
This patch removes scratch parameter from most sbi_ipi functions.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi_trap: Simplify sbi_trap_handler() API</title>
<updated>2020-03-28T08:02:23+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-03-20T03:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=40b221baffd6bb348b63367784d4f6fcff53c24a'/>
<id>urn:sha1:40b221baffd6bb348b63367784d4f6fcff53c24a</id>
<content type='text'>
This patch simplify sbi_trap_handler() API as follows:
1. Remove current hartid local variable because sbi_trap_handler()
   itself does not need it.
2. Remove scratch parameter because none of the functions directly
   called by sbi_trap_handler() require it.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi_ecall: Remove mcause, scratch and hartid parameters</title>
<updated>2020-03-28T08:02:20+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-03-19T16:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=7487116b41e6c06d3903b600a2231d2a68d0c4a4'/>
<id>urn:sha1:7487116b41e6c06d3903b600a2231d2a68d0c4a4</id>
<content type='text'>
We remove mcause, scratch and hartid parameters from various
functions for ecall handling because we can always get current
HART id and current scratch pointer using just one CSR access.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
</feed>
