History log of /seL4-l4v-10.1.1/seL4/include/arch/riscv/arch/machine.h
Revision Date Author Comments
# 9a3449a4 12-Sep-2018 Chris Guikema <chris.guikema@dornerworks.com>

riscv: move virtual memory fence after address space switch

While the RISC-V ISA says to that a VMFENCE before a write to the
satp may be necessary, vm faults occur with this ordering when
running on the Rocket Chip. Placing the VMFENCE after the satp write
resolves these faults.

This is also the ordering used in the RISC-V port of Linux when
switching MMU contexts.

Change-Id: I1ec794651d080a5e7a987fa8b2062dc01daeb683


# 9f8d0795 25-Jul-2018 Chris Guikema <chris.guikema@dornerworks.com>

riscv: Order read/writes before writing sptbr

This instruction is required when more than one thread exists with
different ASIDs. The system will lock up after the first context
switch when running on hardware.

Issue first noticed and fixed by Hesham Almatary
<Hesham.Almatary@cl.cam.ac.uk>

Change-Id: I6eb64df6b584ff7de79c8af30b28bbc7bb234643


# 4cb1d5df 17-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: Define explicit functions for registers

Replaces (read|write|set|clear)_csr macros with explicit functions. This provides a boundary
for verification to reason about the operation.


# 1b68590b 11-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: use one definition of page bits


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

riscv: Remove currently unuspported SMP code


# 308e8bf4 09-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: move machine functions to machine.h

And add memory barriers while we are at it.


# 0b3f9e2d 03-Apr-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

riscv: Correct implementation and usage of setVSpaceRoot

setVSpaceRoot is declared in its function signature as taking a paddr, but neither
its implementation nor its usage respected this. The setVSpaceRoot signature was not
changed as its declared as a machine function and should be a minimal wrapper around
register manipulations and so it does make sense for it to take a paddr


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

[SELFOUR-1156] RISC-V Port

Experimental release that supports both RV32 and RV64