Open
Conversation
ed72405 to
7f38c1e
Compare
Collaborator
Author
|
Making this change causes the issue to be exhibited (for me on zig 0.15.2). The clobbers fix the issue. diff --git i/port/wch/ch32v/src/cpus/main.zig w/port/wch/ch32v/src/cpus/main.zig
index a477503d..c1192fd2 100644
--- i/port/wch/ch32v/src/cpus/main.zig
+++ w/port/wch/ch32v/src/cpus/main.zig
@@ -236,7 +236,7 @@ pub const startup_logic = struct {
);
// NOTE: this can only be called once. Otherwise, we get a linker error for duplicate symbols
- startup_logic.initialize_system_memories();
+ microzig.utilities.initialize_system_memories(.auto);
// Configure the CPU.
switch (cpu_name) {Even though the issue is 'far away', for me this caused the |
7f38c1e to
3454a68
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I noticed that ch32v examples were broken.
git bisectgot me to #868, but some debugging with @kibels suggested something else was going on.Looks like those changes just exposed a bug where we weren't clobbering properly, so a subsequent CSR, which was using a register, had had it clobbered.
I haven't exactly tracked why this exposed the issue, since the csrwi instructions (only changed ones) are before the problematic function.