aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-02-19Rely on __riscv_muldiv and __riscv_hard_float macrosAndrew Waterman1-4/+8
2016-02-19Fix MULW/DIVW/etc. emulation codeAndrew Waterman3-6/+14
2016-02-19Remove --disable-atomics flag; rely on -march setting insteadAndrew Waterman4-24/+1
2016-02-19WIP on priv spec v1.9Andrew Waterman12-607/+346
2016-02-19Simplify status register reloading in pkAndrew Waterman1-8/+4
2016-02-19Avoid needless IRQ enable/disableAndrew Waterman1-2/+3
2016-02-19Add SBI calls for IRQ mask/unmaskAndrew Waterman4-0/+33
2016-02-19Fix struct stat size mismatch for RV32Andrew Waterman4-6/+55
2016-02-19Remove incorrect code supporting ELF32 on RV64 and vice-versaAndrew Waterman6-54/+25
This is technically possible by running an RV32 supervisor on an RV64 machine, but the M-mode and S-mode code would need to be compiled and linked separately.
2016-01-18add renameat syscallColin Schmidt2-0/+14
2016-01-12Write 1 to MIPI, not 0Andrew Waterman1-1/+1
2015-11-28Change boot procedure to not rely on IPIsAndrew Waterman4-18/+32
That procedure doesn't work correctly if hart 0 comes out of reset while hart 1 is still in reset.
2015-11-25Don't rely on arpa/inet.h; newlib doesn't provide itAndrew Waterman1-1/+2
2015-11-18Merge pull request #15 from darius-bluespec/fix-disable-fp-emulationAndrew Waterman1-0/+20
Fix --disable-fp-emulation.
2015-11-18Merge pull request #14 from darius-bluespec/fix-disable-atomicsAndrew Waterman2-4/+4
Fix macros for emulating atomic operations (--disable-atomics).
2015-11-18Merge pull request #13 from darius-bluespec/bbl-include-configAndrew Waterman1-0/+1
Add missing #include for config.h
2015-11-18Fix --disable-fp-emulation.Darius Rad1-0/+20
2015-11-18Fix macros for emulating atomic operations (--disable-atomics).Darius Rad2-4/+4
2015-11-18Add missing #include for config.hDarius Rad1-0/+1
2015-11-16Use IPIs to wake up hartsAndrew Waterman4-37/+31
This has the side effect of testing the IPI mechanism. Still not sure this is the best approach to booting, but it works...
2015-11-12Read and use devicetree -- THIS BREAKS ROCKET FOR NOWAndrew Waterman12-558/+804
2015-11-12print PC of failed assertionsAndrew Waterman2-87/+2
2015-10-20fix pte_create to deal with protection bits correctlyYunsup Lee2-6/+25
2015-09-16Initialize FCSR on bootAndrew Waterman1-0/+1
2015-09-14Initialize mtimecmp for debuggabilityAndrew Waterman1-0/+1
2015-09-14Increase VMR limit for SPECAndrew Waterman1-6/+11
2015-09-14Add ftruncate syscallAndrew Waterman4-0/+22
2015-09-14Zero-initialize x-registers for debuggabilityAndrew Waterman1-0/+33
2015-09-11Stub out a few system callsAndrew Waterman2-0/+8
2015-09-11Fix single-precision FP emulationAndrew Waterman1-1/+1
2015-09-08Disable RVC in fixed-size assembly blocksAndrew Waterman3-27/+44
2015-09-03Fix RVC buildAndrew Waterman2-2/+2
2015-09-02Don't automatically run autoconfAndrew Waterman1-9/+0
Run it yourself if you modify configure.ac, and commit the configure script.
2015-07-28Fix DECLARE_CAUSE macrosAndrew Waterman1-66/+12
2015-07-24Store RV logo in rodata, rather than making it on the flyAndrew Waterman1-44/+25
This works around a stack overflow.
2015-07-24Undo last commitAndrew Waterman3-4/+5
It breaks programs that rely on ELF program headers.
2015-07-23Avoid stack overflow with -msoft-floatAndrew Waterman4-5/+8
2015-07-22Don't let brk stomp on mmap'd regionsAndrew Waterman1-1/+1
We were already trying to handle this case, but we got it wrong.
2015-07-05New M-mode timer and SBI call to use itAndrew Waterman8-42/+100
2015-06-24Use sbadaddr (not sepc) to resolve instruction page faultsAndrew Waterman2-6/+6
2015-06-11Fully initialize page tables to zeroAndrew Waterman1-1/+2
Previously, a bug caused only some page tables to be zeroed on RV64.
2015-06-02Fix regression causing sbrk to fail spuriouslyAndrew Waterman1-3/+3
2015-05-31Assume RTC frequency of 10 MHzAndrew Waterman1-1/+1
Of course, this should probably be read from a CSR or platform register.
2015-05-29Make boot loader/SBI changes to support SMP LinuxAndrew Waterman13-61/+183
2015-05-28"Fix" mremap bug by returning -ENOSYSAndrew Waterman1-29/+1
mremap was badly broken, and maybe it's not worth the time to fix it. glibc still seems to work ok, because the malloc implementation handles mremap failure gracefully (though at a performance cost).
2015-05-18Merge pull request #9 from palmer-dabbelt/destdirAndrew Waterman1-5/+5
Change the behavior of the DESTDIR make variable
2015-05-18Change the behavior of the DESTDIR make variablePalmer Dabbelt1-5/+5
DESTDIR is a common make idiom. As per the GNU coding standards https://www.gnu.org/prep/standards/html_node/DESTDIR.html "DESTDIR is a variable prepended to each installed target file, like this: $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a The DESTDIR variable is specified by the user on the make command line as an absolute file name. For example: make DESTDIR=/tmp/stage install DESTDIR should be supported only in the install* and uninstall* targets, as those are the only targets where it is useful. If your installation step would normally install /usr/local/bin/foo and /usr/local/lib/libfoo.a, then an installation invoked as in the example above would install /tmp/stage/usr/local/bin/foo and /tmp/stage/usr/local/lib/libfoo.a instead." The current Makefile.in uses DESTDIR, but has a slightly non-standard behavior: the target install location doesn't include "$prefix". This breaks package managers, because stuff ends up getting installed to the wrong location. Unfortunately the only way I can think of to fix this involves silently changing the behavior of DESTDIR. Hopefully nobody is using it...? [port of 8a2088b59162fe16c16d26ddc1cfcaaaa8c4156f in riscv-fesvr]
2015-05-14Add sbi_shutdown callAndrew Waterman5-10/+27
2015-05-14Fix VM, MIP encodingAndrew Waterman1-6/+6
2015-05-10Update READMEAndrew Waterman1-5/+15