It's configure script is weird and you have to set three options to 'no' to disable
boost otherwise it will fail to configure in the presence of conda's boost.
We don't want or need the boost optional features of spike, so really disable it.
* more env vars need to be cleared when using the RISCV cross compiler
* use LD_GOLD to link QEMU because QEMU's LDFLAGS_NOPIC uses incorrect format for the version
of bfd ld
Currently there is no define for MAKE. Running script always throws `obsolete make version; need GNU make 4.x or later` error.
This config is from [`build-util.sh` script](9d055fdac6/scripts/build-util.sh (L17-L19))
In https://github.com/ucb-bar/chipyard/pull/876#issuecomment-831639151
it was requested that we add a note to build-toolchains.sh saying that the
url rewrites can be removed. I went a step further and made it self-checking.
Once qemu is bumped far enough that none of it's submodules come from
git.qemu.org, then the test added in this commit will fail CI during the bump PR
and everyone will be reminded to remove the url renaming rules and change
module_build back to module_all for qemu.
Co-authored-by: Tim Snyder <snyder.tim@gmail.com>
git.qemu.org seems to be down or under heavy load. Latest qemu
seems to have changed it's .gitmodules to use gitlab. Since we're
using a github.com mirror, when cloning qemu use rewrite rules to
use github instead of git.qemu.org. Also install the rewrite rules
recursively into the local config of qemu and it's submodules so
that any further git commands done interactively by the user
will also use github.
Co-authored-by: Tim Snyder <snyder.tim@gmail.com>
* Runs `make clean` after `make-install` to reduce used disk
Make install leaves many .o and other files
Fixes problems with disk space on github actions runner
* Create a flag --clean-after-install that can be passed as the second argument to `make_build` function.
* Create a flag --clean-after-install that can be passed as the second argument to `make_build` function.
Ups tools-cache-version to v7
* Now running clean after install just depends on adding an environment variable when using scripts
that call `module_make` or `module_build`. Those two bash functions will check CLEANAFTERINSTALL and if
it is non-empty, they will call `make clean` after other `make` calls.
* build-toolchains.sh gets new flag
--clean-after-install to turn enable
`make clean` in `module_make` and `module_run`
* [uart] add uart adapter | add uart + adapter to all configs
* [uart] change pty define name | add uart to all configs that need it
* [uart] default to 115200 baudrate
* [dromajo] first working commit
* [dromajo] bump boom for commit-width > 1 fix
* [dromajo] adjust dromajo commits
* [dromajo] bump boom
* commit dromajo changes
* extra
* [dromajo] add block device to configs
* rebump older modules
* bump firesim
* [chipyard] enable dromajo in midas level simulation
* [testchipip] forgot to bump
* get rid of breaking things
* bump firesim
* bump boom
* Bump BOOM to ifu3 WIP
* bump firesim
* fix how memory is passed to dromajo
* bump boom and firesim
* fix merge issues
* add dromajo cosim bridge in chipyard
* move traceio back into testchipip (#488)
* refer to testchipip traceio in firechip (#490)
* Move TraceIO fragment to chipyard (#492)
* fix chipyard dromajo bridge (#493)
* Sboom dromajo bump (#501)
* [FireChip] Use clock in BridgeBinders
* [firesim] Update TraceGen BridgeBinder
* [Firechip] Add support for Tile <-> Uncore rational division
* [firesim] Update the multiclock test
* [firechip] Commit some Eagle X-related mock configs
* [firechip] Instantiate multiple TracerV bridges
* [Firechip] Include reset in tracerv tokens
* [TracerV] Drop the first token in comparison tests
* [Firechip] Make reverse instruction order in trace printf
* WARNING: Point at a fork of boom @ davidbiancolin
* [firesim] Update ClockBridge API
* Add Gemmini to README [ci skip] (#487)
* [firechip] Isolate all firesim-multiclock stuff in a single file
* add documentation on ring network and system bus
* Bump firesim for CI
* Bump FireSim
* Bump testchipip to dev
[ci skip]
* Bump FireSim
* [make] split up specific make vars/targets into frags (#499)
* [make] split up specific make vars/targets into frags
* [make] move dramsim and max-cycles into SIM_FLAGS
* [misc] move ariane configs to configs/ folder
* [dromajo] add dromajo
* [dromajo] bump for new traceio changes
* bump firesim
* bump firesim
* point to chipyard traceio
* bump boom
Co-authored-by: David Biancolin <david.biancolin@gmail.com>
Co-authored-by: Howard Mao <zhehao.mao@gmail.com>
* Support Dromajo + TracerV configurations
* [docs] add documentation for Dromajo in FireSim + Chipyard
* add a bit more docs
* [docs] bump docs
* [firesim] dump artefacts in firesim
* [firesim] update firesim
* [testchipip] remove extraneous items in testchipip
* [dromajo] prevent dromajo from breaking when params unset
* update firesim, dromajo, and testchipip
* [firesim] bump firesim
* [firesim] bump firesim
* [misc] bump firesim and testchipip for reviewer comments
* remove WithNoGPIO fragment
* bump firesim
* bump dromajo boom config
* bump firesim
* generate artefacts in firesim testsuite
Co-authored-by: abejgonzalez <abe.j.gonza@gmail.com>
Co-authored-by: Abraham Gonzalez <abe.gonzalez@berkeley.edu>
Co-authored-by: David Biancolin <david.biancolin@gmail.com>
Co-authored-by: Howard Mao <zhehao.mao@gmail.com>
GNU make 4.x is needed to cross-compile glibc 2.28 and newer.
This ensures the problem is caught earlier on CentOS release 7.6, whose
default make version remains 3.82.
This allows individual components to be better maintained following the
deprecation of riscv-tools. Eliminate non-essential submodules.
build-static-libfesvr.sh is no longer necessary since libfesvr.a is
built as part of the riscv-isa-sim build.
For simplicity, only riscv-gnu-toolchain is now pre-built instead of the
entirety of riscv-tools.