#
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.
|