mirror of
https://github.com/Fishwaldo/opensbi.git
synced 2025-03-15 19:31:32 +00:00
lib: sbi: check A2 register in ecall_dbcn_handler.
Do not ignore register A2 (high bits of physical address) in the dbcn handler (RV64). Signed-off-by: Gianluca Guida <gianluca@rivosinc.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
parent
27c957a43b
commit
8bd666a25b
1 changed files with 5 additions and 2 deletions
|
@ -34,11 +34,14 @@ static int sbi_ecall_dbcn_handler(unsigned long extid, unsigned long funcid,
|
|||
* Based on above, we simply fail if the upper 32bits of
|
||||
* the physical address (i.e. a2 register) is non-zero on
|
||||
* RV32.
|
||||
*
|
||||
* Analogously, we fail if the upper 64bit of the
|
||||
* physical address (i.e. a2 register) is non-zero on
|
||||
* RV64.
|
||||
*/
|
||||
#if __riscv_xlen == 32
|
||||
if (regs->a2)
|
||||
return SBI_ERR_FAILED;
|
||||
#endif
|
||||
|
||||
if (!sbi_domain_check_addr_range(sbi_domain_thishart_ptr(),
|
||||
regs->a1, regs->a0, smode,
|
||||
SBI_DOMAIN_READ|SBI_DOMAIN_WRITE))
|
||||
|
|
Loading…
Add table
Reference in a new issue