Commit Graph

71 Commits

Author SHA1 Message Date
Tim Snyder
b00c4e8bad disable all the boosts for spike
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.
2022-05-19 16:21:33 +00:00
Tim Snyder
497a559287 still need workaround for linking QEMU with newer toolchains 2022-04-11 22:24:17 +00:00
Tim Snyder
bdf8f4f461 Revert "tweak build-toolchains.sh to work with conda env"
This reverts commit 9aee0abe0c.
2022-04-11 19:53:17 +00:00
Tim Snyder
7783e6eb80 add comment about spike autoconf issue w/ boost 2022-03-14 17:48:46 +00:00
Tim Snyder
9aee0abe0c tweak build-toolchains.sh to work with conda env
* 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
2022-03-14 17:44:35 +00:00
Tim Snyder
c223d09cb6 explicitly disable boost for spike build
because https://github.com/riscv-software-src/riscv-isa-sim/issues/834 and we don't need the debug socket
2022-03-14 17:44:35 +00:00
Abraham Gonzalez
15a6b9f9cf Merge pull request #1021 from quyleanh/patch-1
Add define for MAKE variable
2021-11-01 14:49:52 -07:00
Quy Le Anh
f7ab5d6260 Add define for MAKE variable
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))
2021-10-24 10:22:23 +07:00
Tynan McAuley
4516e906b3 Use GNU readlink on macOS
BSD readlink is quite different from GNU readlink, so DIR was not being
filled in with the absolute path to the 'scripts' directory on macOS.
2021-09-21 17:57:02 -07:00
Kevin Läufer
17272e3e0b qemu: build without -Werror
While -Werror is nice for developer builds,
it can easily lead to breakage when people
use newer compilers which add new warnings.
2021-08-10 12:28:02 -07:00
David Biancolin
e1965400f6 Use a ZSH-compatible version of BASH_SOURCE[0] 2021-06-11 05:18:01 +00:00
Tim Snyder
d9900e56c1 test whether git.qemu.org rewrite still needed (#877)
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>
2021-05-04 19:14:45 -05:00
Tim Snyder
c4e2e1246d avoid git.qemu.org (#876)
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>
2021-05-04 08:06:18 -05:00
Chick Markley
70afebae9f Runs make clean after make-install to reduce used disk (#855)
* 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`
2021-04-19 14:57:34 -07:00
Darius Rad
8cd104ddc2 Support specifying architecture when building tools.
Add --arch option to build-toolchains.sh to support building
other toolchain variants (e.g., rv32gc).
2021-02-22 17:49:28 -05:00
Albert Ou
025d43cc08 scripts: Fix parsing of --ignore-qemu option 2021-02-09 13:04:09 -08:00
Albert Ou
0754c1e52b toolchains: Disable CC and CXX overrides for libgloss build 2020-12-14 15:10:24 -08:00
Abraham Gonzalez
9052b41328 Re-ignore QEMU from gnu-toolchain | Avoid piping make version in toolchain build 2020-11-04 20:59:14 -08:00
Abraham Gonzalez
94eceeb624 Use empty variable instead of t/f 2020-11-04 15:54:09 -08:00
Abraham Gonzalez
5e3d1a605d Add --ignore-qemu flag to toolchains | Prepare QEMU when it builds 2020-11-04 11:57:23 -08:00
Abraham Gonzalez
d402825e7f Change eval. strategy 2020-08-17 17:15:05 -07:00
abejgonzalez
d2060947b6 bump toolchain version | fix git submodule update 2020-05-19 21:21:10 -07:00
abejgonzalez
0d087b6d32 add auto-gen comments | git init dromajo dir 2020-05-19 19:42:13 -07:00
Jerry Zhao
3f5a204fd0 BOOM Bump w. Fromajo (#523)
* [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>
2020-05-16 00:21:24 -07:00
David Biancolin
9d45a2711e Fix generation of env.sh for ZSH (#435) 2020-02-14 23:41:14 -08:00
Nathan Pemberton
ccd6ecd418 Marhsal in chipyard (#415)
* Move firemarshal into chipyard (was in firesim)
2020-02-09 17:58:56 -08:00
Albert Ou
7059ac3f0f toolchains: Add libgloss replacement 2019-12-21 12:11:49 -08:00
Albert Ou
f71d976114 toolchains: Build libraries with medany code model
This enables bare-metal programs to link against newlib and libgcc at
addresses above 0x80000000.
2019-12-21 12:11:48 -08:00
Jerry Zhao
72f9730cbd Allow user to specify toolchain install prefix (#334) 2019-12-13 11:40:47 -08:00
abejgonzalez
112fe43f60 add -f flag 2019-10-14 10:36:15 -07:00
abejgonzalez
33664cf11e add a specific toolchain env 2019-10-13 08:24:57 -07:00
Albert Ou
14d2cfc751 Fix SRCDIR for qemu build
RDIR (the initial working directory) is not necessarily the top of the
chipyard source tree.
2019-10-08 02:33:28 -07:00
abejgonzalez
73252f323b Merge remote-tracking branch 'origin/dev' into alon-docs-dev 2019-10-07 19:54:12 -07:00
Nathan Pemberton
8e8ce09ce9 Move qemu to chipyard from firesim 2019-10-04 19:04:08 -04:00
alonamid
1e7c57f36c fix toolchains usage 2019-10-04 00:17:12 -07:00
Albert Ou
c7b252aa09 toolchains: Check for GNU make 4.x
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.
2019-10-02 13:16:04 -07:00
Albert Ou
2f1e5e994b toolchains: Flatten riscv-tools submodule
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.
2019-10-02 13:14:05 -07:00
Albert Ou
4963792e98 scripts: Scale number of make jobs by hardware thread count
If the hardware thread/core count cannot be determined successfully,
avoid setting the '-j' option for make.
2019-09-01 00:03:08 -07:00
Albert Ou
9e9e7dd442 scripts: Fix latent issues with env.sh
* Ensure shell metacharacters are quoted in RISCV variable assignment.
* Avoid unnecessary expansion of $RISCV and $LD_LIBRARY_PATH at
  generation time.
* Remove undefined usage of $DTCversion.
* Simplify output redirection.
2019-09-01 00:00:50 -07:00
Albert Ou
2c2f5a76e3 scripts: Fix quoting to prevent unintended word splitting 2019-08-31 15:00:32 -07:00
Albert Ou
10b708d173 scripts: Ensure non-zero exit code on error 2019-08-31 03:18:34 -07:00
Albert Ou
40a94dd08e scripts: Parse options with getopts builtin 2019-08-31 03:18:34 -07:00
Abraham Gonzalez
60f603e7c8 Safer LD_LIBRARY_PATH 2019-07-25 15:19:59 -07:00
Abraham Gonzalez
495e9d2668 Do not clobber LD_LIBRARY_PATH in env.sh 2019-07-24 23:19:18 -07:00
alonamid
72b5df057a Return to main dir 2019-07-22 17:43:51 +00:00
alonamid
e177fcd414 try to fix openocd path 2019-07-22 17:41:31 +00:00
alonamid
9e5ed591b9 try to fix CI 2019-07-22 16:54:23 +00:00
alonamid
8646283a17 colin comments 2019-07-22 16:35:15 +00:00
alonamid
265380d960 fix install path 2019-07-19 16:59:40 +00:00
alonamid
121c572d72 pr comments 2019-07-19 00:54:34 +00:00