-
Notifications
You must be signed in to change notification settings - Fork 18
Implement the compressed instructions #5
Conversation
Remove the generated files and rework!
CSRs.h
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The range from Line 1 to 68 is not necessary. Remove these lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sor, I may forget about it.
Hint: use git rebase -i
to rework these Git commits.
Sorry, I have a question.
Do I need to rework all the commit messages?
Sorry, I have a question.
Do I need to rework all the commit messages?
Yes, all commits should be reworked. You shall squash the similar changes and make the commits clear.
Hello, Jserv
I have reworked these commit messages.
Please check, thank you~
After reworking Git commits with git rebase -i
, you should perform git push --force
for this branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Send another pull request for adding RISC-V test cases.
Ensure no generated files such as ELF, log, dump files in Git repository.
64abd89
to
e429a5c
Compare
You have to rebase master
branch of upstream. And then, force push.
Don't use git merge
. Use git rebase
instead.
Reference instructions:
- set upstream:
git remote add upstream https://github.com/sysprog21/rv32emu && git fetch upstream
- Perform rebase:
git rebase upstream/master
- Fix the conflicts.
CSRs.h
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you introduce a dedicated structure for preserving the following fields?
emu-rv32i.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the range from Line 1 to Line 35.
emu-rv32i.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't do that.
emu-rv32i.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RV32C
should be assigned via Makefile
emu-rv32i.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to use the following:
char statnames[STATS_NUM + C_STATS_NUM][16] = { ... /* RV32I instructions */ #if defined(RV32C) ... /* RV32C specific instructions */ #endif }
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK! It's more structural.
emu-rv32i.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto. You can define macro for the range. Thus, we don't have to duplicate the loops.
Before submitting the changes, ensure the completion of executing clang-format -i *.[ch]
Reworked yet?
Add the method of how to test file
Add the C.JAL and C.ADDIW insn
Delete the unnecessary file
086c008
to
ce9f330
Compare
Hello Jserv,
Sorry about the absence a few days ago.
I have rebased all commits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CSR.h
was tracked in GIT repository.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't have to mention the contributor name inside source file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't do that. Let's minimize the changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto. Minimize the changes.
Thank @kksweet8845 again for contributing to this project. However, we shall always merge commits with better Git commit messages for further development. Please split this pull request into the following:
- New pull request for rv32i conformance tests;
- Once the above is merged, modify the pull request to concentrate on RV32C;
Changes regarding CSR
instructions should be addressed in part 1.
Some modification of rv32emu to support C ext.
insn_type
to distinguish the 16-bit and 32-bit instruction.unsigned char get_insn32(uint32_t, uint32_t*)
to return the type of instruction and then assign the pointer the machine code of the instruction.Future work