History log of /seL4-test-master/tools/riscv-pk/machine/mtrap.c
Revision Date Author Comments
# d3293c7c 10-Jul-2019 Yanyan Shen <yanyan.shen@data61.csiro.au>

bbl: redirect traps to HS mode


# f4c34d86 14-May-2019 Siwei Zhuang <siwei.zhuang@data61.csiro.au>

Add ns16750 driver for ariane.


# 16476bd8 09-Jul-2018 Andrew Waterman <andrew@sifive.com>

Properly license all nontrivial files


# 2bbd8e1a 05-Mar-2018 Wesley W. Terpstra <wesley@sifive.com>

mtrap: add a halt IPI used for poweroff (#86)

Otherwise, linux complains the moment an interrupt arrives and
wakes up one of the not-looping cores.


# e94752f4 22-Jan-2018 Wesley W. Terpstra <wesley@sifive.com>

mtrap: loop forever, really

gcc sometimes takes liberties with optimizing away our important halt function!


# 132c6292 12-Dec-2017 Palmer Dabbelt <palmer@dabbelt.com>

Add a 16550 UART driver to back the SBI console

QEMU currently provides the console via HTIF and the SBI. That's a bit
messy because BBL polls for serial input, which means that typing too
quickly loses characters. While QEMU has a standard 16550 device model,
there's no way to have two consoles share the console in QEMU (as they'd
step all over each other) so that means we can't have both the HTIF
console and the 16550 console.

With this patch, QEMU can be changed to use a 16650 instead of the HTIF
for serial output. Linux will use the SBI for early printk support
(which is fine, polling for output is stable) and then swap over as soon
as it detects the UART. When Linux swaps it prints out the whole
history, but there's probably a way to get around that. There's a few
lines that are output to both, but it appears the Linux driver is close
enough to ours that nothing catastrophic happens -- there's not much to
the device, so hopefully that pans out on real hardware too.

Once Linux swaps over to natively using the driver we get reliable
console input. If you don't have the in-kernel driver then Linux never
swaps over and keeps using the SBI console just like before.


# d1849cb5 03-Nov-2017 Palmer Dabbelt <palmer@dabbelt.com>

Remove the platform interface

We now automatically detect everything that the platform interface used
to be used for, so it's now obsolete!


# 92047850 02-Nov-2017 Palmer Dabbelt <palmer@dabbelt.com>

Detect harts that can't boot Linux instead of hard-coding them

This checks to see if a hart can't boot Linux by looking for a
compatible "mmu-type" field. If the hart can't boot Linux, then bbl
masks it off.


# 3f20915e 14-Aug-2017 Wesley W. Terpstra <wesley@sifive.com>

finisher: support terminating sifive devices simulation (#61)


# ca24f3c9 03-Aug-2017 Palmer Dabbelt <palmer@dabbelt.com>

Add the '--enable-print-device-tree' argument

I'm trying to debug some device tree problems while booting Linux and
figured it would be really nice to have access to the device tree while
trying to debug these problems. I think this might be useful for lots
of people, so I went ahead and cleaned up the code enough that it should
actaully work in most cases.


# 298984cb 02-Aug-2017 Palmer Dabbelt <palmer@dabbelt.com>

Move DISABLED_HART_MASK to the platform

Some platforms can't boot Linux on all the harts. This commit allows
platforms to define the set of harts that should be prevented from
booting past BBL. This is essentially just a new mechanism for defining
the DISABLED_HART_MASK.


# 62effc6b 28-Jul-2017 Palmer Dabbelt <palmer@dabbelt.com>

Allow the platform to disable HTIF


# 5f736b9a 11-Apr-2017 Andrew Waterman <andrew@sifive.com>

Always write sbadaddr on trap redirection


# a2c8937e 05-Apr-2017 Andrew Waterman <andrew@sifive.com>

Remove num_harts; use hart_mask exclusively


# dce2b7dd 05-Apr-2017 Andrew Waterman <andrew@sifive.com>

Rename HART_MASK to DISABLED_HART_MASK to clarify polarity


# 8b4421ba 05-Apr-2017 Wesley W. Terpstra <wesley@sifive.com>

bbl: prevent named cores from booting


# 9fa7b308 27-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

uart: add physical device driver


# 3473915b 27-Mar-2017 Andrew Waterman <andrew@sifive.com>

Separate page faults from physical memory access exceptions


# cfc4554b 16-Mar-2017 Andrew Waterman <andrew@sifive.com>

Simplify interrupt-stack discipline

https://github.com/riscv/riscv-isa-manual/commit/f2ed45b1791bb602657adc2ea9ab5fc409c62542


# 59484c94 20-Feb-2017 Andrew Waterman <andrew@sifive.com>

WIP on SBI


# 7c476502 19-Feb-2017 Andrew Waterman <andrew@sifive.com>

Handle IPIs and timer interrupts more quickly


# 926b3606 17-Feb-2017 Andrew Waterman <andrew@sifive.com>

WIP towards ECALL interface for SBI


# 611290cc 15-Feb-2017 Andrew Waterman <andrew@sifive.com>

Cleanly separate HTIF code; don't poll keyboard on timer interrupt


# 4678e84c 15-Feb-2017 Andrew Waterman <andrew@sifive.com>

Incorporate sptbr/sfence.vma changes


# f6b2274a 06-Dec-2016 Andrew Waterman <andrew@sifive.com>

avoid non-standard predefined macros


# 7a710688 04-Nov-2016 Andrew Waterman <andrew@sifive.com>

Acquire lock before attempting tohost/fromhost sequences


# f73dee6f 16-Aug-2016 Sagar Karandikar <sagark@eecs.berkeley.edu>

add htif section in linker script, with ALIGNs to prevent MMIO and data from being placed on same page (#32)


# 748eee73 16-Jul-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Improve trap redirection code


# 771c1163 01-Jun-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Clear IPIs using MMIO, not mip CSR


# 1bcab787 05-May-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Poll HTIF console on timer interrupt


# ee610c0f 03-May-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Find IPI address in configuration string


# 20016321 02-May-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Don't use tohost/fromhost registers; communicate with host via memory


# 66776bbc 29-Apr-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Remove mtime/mtimecmp


# f16e9311 10-Mar-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Remove dead code


# 82382a12 10-Mar-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Set time comparator correctly on RV32

The old code truncated the upper 32 bits, and even if it got that right,
it would have generated spurious interrupts.


# b94c7a4b 10-Mar-2016 Andrew Waterman <waterman@cs.berkeley.edu>

Refactor pk, bbl, machine into separate libraries

Yuck.