Skip to content

feat(riscv): add module to reduce code duplicates between rv32 and rv64 - #708

Open
romancardenas wants to merge 1 commit into
tier4:mainfrom
romancardenas:rv_common
Open

romancardenas wants to merge 1 commit into
tier4:mainfrom
romancardenas:rv_common

Conversation

@romancardenas

Copy link
Copy Markdown

Description

While navigating through awkernel's source code, I noticed that there are a lot of duplicates between rv32 and rv64 targets.

This PR includes a rv_common module that will encapsulate all the common logic between rv32 and rv64 targets. I started with the implementation of the Interrupt trait, as it was a fairly simple modification.

Let me know if you like this structure. If so, I will keep porting the common logic gradually so PR reviews are bearable.

How was this PR tested?

The project compiles for both rv64 and rv32 backends. As no console is available, it is difficult to verify the correct behavior yet.

Notes for reviewers

I also used the riscv dependency for reducing the inline assembly code. This crate contains a lot of register access bindings etc., and is developed under the umbrella of Rust's embedded working group. I thought it would be a good practice to use it when possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant