Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump clash-vexriscv for new openocd #701

Draft
wants to merge 9 commits into
base: staging
Choose a base branch
from

Conversation

lmbollen
Copy link
Contributor

@lmbollen lmbollen commented Jan 8, 2025

Previously vexriscv used a custom debug plugin with a custom openocd version openocd-vexriscv.

The new version of clash-vexriscv uses the official EmbeddedJtag plugin that is compatible with openocd-riscv

@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch 10 times, most recently from 08f797f to aa0c001 Compare January 10, 2025 09:01
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from f75c128 to edc1aa6 Compare January 10, 2025 16:27
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch 12 times, most recently from da649c0 to 92921ed Compare January 17, 2025 09:20
@martijnbastiaan
Copy link
Contributor

martijnbastiaan commented Jan 17, 2025

@lmbollen I think the unit tests are failing due to memory pressure, at least that's what the socket code implies.. Looking at the changes I'd say the FFI changes in clash-vexriscv are most likely to be the root cause of this (though I don't see why it would).

@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch 3 times, most recently from 58f5bb1 to a5de09a Compare January 23, 2025 10:23
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from 6d401b8 to 7bd65b5 Compare January 24, 2025 16:09
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from 7bd65b5 to 488758b Compare January 24, 2025 16:19
@lmbollen lmbollen enabled auto-merge January 24, 2025 16:20
@lmbollen lmbollen disabled auto-merge January 24, 2025 16:20
@lmbollen lmbollen enabled auto-merge January 24, 2025 16:20
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch 2 times, most recently from 37a2311 to 9433beb Compare January 28, 2025 15:50
da3b01a2 Set cache path to Cabal store set in `shell.nix` (#65)
3f9758a1 Check whether Nix shell works on CI (#61)
9363f8d4 Merge pull request #63 from clash-lang/improve-expect-functions
79c5e34a Add timeout to expect functions
ed39928d Add call stack to `waitForLine`
f1d76ead Use `tail` instead of `streaming` to follow files (#64)
e86580bf Remove enable from `cpu` (#58)
c69899c2 Drop register on wishbone bus (#59)
1715fc73 Print `JTAG bridge ready` and wait for it to prevent race conditions (#57)
1ca5a69d Merge pull request #53 from clash-lang/add-fourmolu
5e11a6f6 Add `.git-blame-ignore-revs`
2bd141e6 Add fourmolu formatting
96ad7244 Use `HasCallStack` instead of manual source line tracking (#52)
3900cb07 Bump OpenOCD (#54)
3a26b8bd Correcetly simulate passed time before first clock edge in verilator (#50)
51239127 Add post fetch step that removes `.git` (#48)
ca418fcb Merge pull request #47 from clash-lang/lucas/move-stoptime-ndmreset
27c82690 Move `ndmreset` and `stoptime` from `JtagOut` to `CpuOut`
68886c88 Merge pull request #46 from clash-lang/run-clang-format
a32dbc98 Add `clang-format-check` to ci
68ca4d0e Format with `clang-format`
9a676aa6 Add `clang` to nix shell
0d4be0e0 Merge pull request #45 from clash-lang/lucas/bump-jtag-interface
61c7719d Bump GHC versions on Docker images and rebuild
5f9a53c9 Add `.scala-build` to `.gitignore`
2c1ec3a3 Remove `openocd-vexriscv` from `nix` and `docker`
deabc085 Switch to `openocd-vexriscv` and use `remote-bitbang`
d987e396 Replace `DebugPlugin` with `EmbeddedRiscvJtag`
59298429 Add `nix` derivation for `openocv-riscv`
2dfda13f Add `.metals` to `.gitignore`
554f4af1 Bump scala and spinal version
720e5d44 Add execute permissions to `update-vexriscv.pu`
ad6edb75 Merge pull request #44 from clash-lang/lucas/add-docker-readme
636ac968 Extend readme with CI info
ac10433d Bump GHA actions (#43)
59215117 Merge pull request #42 from clash-lang/add-all-check
e697bfdd Fix typo: ouput -> output
e7e8e29c Add all check to CI

git-subtree-dir: clash-vexriscv
git-subtree-split: da3b01a2fc91f55cec7fa33c1f07f88631d02ecf
`clash-vexriscv` now uses the official EmbeddedJtag plugin and `openocd-riscv` instead of `openocd-vexriscv`
New image contains `openocd-riscv`
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from ceb97bc to 01c6f8e Compare February 19, 2025 08:27
@martijnbastiaan martijnbastiaan self-requested a review February 19, 2025 10:52
Copy link
Contributor

@martijnbastiaan martijnbastiaan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to check the plots before we merge this. I've retracted my approval for now to make sure we don't forget.

@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from a289804 to 9b307f2 Compare February 19, 2025 12:48
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from 361a865 to da607a6 Compare February 19, 2025 13:48
openocd-vexriscv is required because openocd-riscv does not allow the CPU to be reset while openocd is connected. This is unfortunately required for the current state of swCcTopologyTest and is non-trivial to fix.

We intend to at some point remove this test case and get rid of the custom openocd version in favor of the "official" riscv version.
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch 4 times, most recently from ca872da to 7e96240 Compare February 20, 2025 11:14
@lmbollen lmbollen force-pushed the lucas/use-openocd-riscv branch from 7e96240 to 7b089e3 Compare February 20, 2025 12:37
@martijnbastiaan martijnbastiaan marked this pull request as draft March 4, 2025 08:17
auto-merge was automatically disabled March 4, 2025 08:17

Pull request was converted to draft

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants