History log of /seL4-l4v-master/seL4/include/arch/riscv/arch/machine/registerset.h
Revision Date Author Comments
# 4006310e 18-Nov-2019 Yanyan Shen <yanyan.shen@data61.csiro.au>

riscv: Add FPU state in TCB

Add FPU state storage in TCB and increase TCB size bits when FPU
is enabled.

Signed-off-by: Yanyan Shen <yanyan.shen@data61.csiro.au>


# 9f5733e1 14-Apr-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

riscv: Fixup EXCEPTION_MESSAGE definition

The seL4_UserException_Number field of the seL4_UserException_Msg is set
explicitly in setMRs_fault with the saved value of scause from when the
exceptioin was taken.

Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


# f438fa0f 23-Mar-2020 Siwei Zhuang <siwei.zhuang@data61.csiro.au>

riscv: Remove encoding.h

encoding.h was for ISA simulators originally. It's copied from
riscv-tools which is deprecated. It becomes difficult to maintain the
file. Besides, we merely need 6 lines of code out of this large file. So
redefine what we need in hardware.h and remove encoding.h


# 512a0200 19-Mar-2020 Qian Ge <qian.ge@data61.csiro.au>

replacing all ifndef with pargma once

All the kernel header files now use pargma once rather than the ifndef,
as the pre-processed C files do not change while header files
are protected with pargma once. This will also solve any naming issues
caused by ifndef.


# 79da0792 01-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert license tags to SPDX identifiers

This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.


# d869b3ad 17-Jul-2019 Curtis Millar <curtis.millar@data61.csiro.au>

mcs: Timeout fault and reply for RISC-V

Add fault and reply for timeout faults on RISC-V.


# 449dcd50 16-Jul-2019 Curtis Millar <curtis.millar@data61.csiro.au>

mcs: Select additional registers for RISC-V

mcs requires an additional 2 registers for performing system calls to
pass information regarding the reply capability and the destination of a
nbsend/recv.


# 09d5e245 20-Mar-2019 Curtis Millar <curtis.millar@data61.csiro.au>

Fix RISC-V registers to reflect calling convention


# 01b73622 27-May-2019 Curtis Millar <curtis.millar@data61.csiro.au>

Consistent naming of FaultIP and NextIP in kernel

Always refer to the virtual register that stores the address of a fault
as FaultIP and the register that stores the return for a fault NextIP.


# d0930f67 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently attach return type

Add attach-return-type to astyle


# 761006e0 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently align pointer with name

Run astyle with align-pointer=name


# c06f9dba 05-Dec-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

riscv: make register size equal to word size

RISCV32 registers aren't 64 bits wide, after all.


# b9522d87 05-Dec-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: fix incorrect register index

s4 should be 19, not 10


# 4ea62e51 04-Dec-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

riscv: add remaining registers to user context.

The registers a7, s2-11, and t3-6 were missing from seL4_UserContext.
We also add these to frameRegisters and gpRegisters, which are used
to implement the TCB invocations for reading and writing these
registers.

Zero-length arrays aren't valid expressions or types in ISO C, so
to keep the c parser happy we need to either remove gpRegisters or
provide some contents for it.

In the past, frameRegisters and gpRegisters distinguished between
those registers preserved across a syscall and those that weren't.
TCB_CopyRegisters allows the caller to choose which set to copy.

Since we preserve all non-return registers, this distinction isn't
relevant anymore and there's no easy way to justify the members of
frameRegisters and gpRegisters.

We arbitrarily choose to put the 'last' register t6 in gpRegisters,
for consistency with the register list in registerset.h and with the
order that registers are restored.


# f40c0797 04-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: Define TLS_BASE

Defines TLS_BASE to the be the TP register. Currently the TP register is already used to
place the location of the IPC buffer into it and so a user thread should not set a value
for TLS_BASE unless they have their own way to find their IPC buffer.


# cc1da130 13-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: Remove unused register arrays

These arrays use to exist but are no longer used and array definitions such as
SYSCALL_MESSAGE are the new norm. As these have no meaning they are being deleted
to reduce confusion.


# eccaed9f 10-Apr-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: Remove currently unsupported FPU


# 99d93ebe 09-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: correct typo in comment


# 9b0056da 03-Apr-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: remove HARTID


# aafa5942 27-Mar-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

RISCV: Place TODOs in the source


# 83ba0847 20-Feb-2018 Hesham Almatary <hesham.almatary@unsw.edu.au>

[SELFOUR-1156] RISC-V Port

Experimental release that supports both RV32 and RV64