Skip to content

Conversation

nazar-codethink
Copy link
Contributor

@nazar-codethink nazar-codethink commented Jul 15, 2025

Add ability to work in big endian mode.

This adds big endian support for Load/Store unit, MMU, and atomic operations. For atomic operations we had to change axi_riscv_atomics submodule, the changes are in this branch https://github.com/CodethinkLabs/axi_riscv_atomics/commits/be_amo/

With these changes we can boot big endian Linux.

What do you think?

Copy link
Contributor

❌ failed run, report available here.

@nazar-codethink nazar-codethink force-pushed the nazar/lsu_be branch 2 times, most recently from fe7fe86 to 73b43f2 Compare July 15, 2025 15:33
Copy link
Contributor

❌ failed run, report available here.

4 similar comments
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

@nazar-codethink nazar-codethink changed the title Add big endian support for Load/Store unit Add big endian support Jul 22, 2025
Copy link
Contributor

❌ failed run, report available here.

1 similar comment
Copy link
Contributor

❌ failed run, report available here.

@nazar-codethink nazar-codethink marked this pull request as ready for review July 22, 2025 12:58
Copy link
Contributor

❌ failed run, report available here.

2 similar comments
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

2 similar comments
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

@nazar-codethink nazar-codethink force-pushed the nazar/lsu_be branch 2 times, most recently from 71f4809 to 11eb038 Compare July 24, 2025 13:39
Copy link
Contributor

❌ failed run, report available here.

1 similar comment
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

3 similar comments
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

@JeanRochCoulon
Copy link
Contributor

Hello @nazar-codethink
Sorry for the delay. Your proposal is interesting. But I think the compilers currently do not support big endian. This will limit the use of your contribution.

@LawrenceHunter
Copy link
Contributor

Hello @nazar-codethink Sorry for the delay. Your proposal is interesting. But I think the compilers currently do not support big endian. This will limit the use of your contribution.

Hello, the riscv-gnu-toolchain supports big endian compilation with -mbig-endian. As part of our work to test this we booted a big endian Linux and played Tetris! We also have some other tests we have written here
CVA6_big_endian_console

@LawrenceHunter
Copy link
Contributor

@JeanRochCoulon any additional feedback? We'd like to work to get this support

@JeanRochCoulon
Copy link
Contributor

Could you rebase ?

@JeanRochCoulon
Copy link
Contributor

@nazar-codethink I cannot merge without rebase, and I do not have the rights to do it because your branch is protected

@nazar-codethink
Copy link
Contributor Author

Sorry, forgot about it :/

Rebased now

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.

4 participants