Now we have a branch named v6.6.y-rros-rebase, which rebases the v5.13-rros code onto linux 6.6.23.
What i did on this branch:
Use v6.6.y from the linux-stable kernel tree as codebase
Set the code's HEAD to Linux 6.6.23
Apply the v6.6.y-linux-dovetail patch set
Apply the Enable Rust support for AArch64 patchset
Port rros kernel to Linux 6.6.23
Add rros kernel code
Add placeholder code in dovetail interface
Add rust wrapper code used in rros but not in the v6.6.y. For the rust wrapper code whose API used by rros has changed, I also copied the old version of the wrapper code and compiled them conditionally through CONFIG_RROS, including SpinLock, Mutex, WorkQueue, CondVar, Arc, Box, Error, ARef, module::module. All rust wrapper code not in linux-stable is also conditionally compiled with CONFIG_RROS(there may be omissions).
Add some features used in rros on Makefile.build
Make rust-analyzer parse rros code
Conditional compilation helper function
Fixed some code issues caused by Linux C code changes
Changes of the sb_buff structure and related functions
Some functions have been made inline
Changes of vm_area_struct
What we should do next
[ ] Port rros kernel onto new r4l wrapper, including SpinLock, Mutex, WorkQueue, Arc
[ ] Add a devops approach to get daily updates of r4l code and automatically rebase. Email alerts to community members when rebase fails (https://github.com/BUPT-OS/RROS/issues/65)
Guidelines about how to port rros kernel onto new r4l wrapper
NOTE: Ensure that each commit code is compilable and that the functionality of the entire PR passes the test
Add a new config for which wrapper you want to port
e.g. for SpinLock, add a CONFIG_RROS_SPINLOCK to replace CONFIG_RROS
Remove the CONFIG_RROS_XXX and the unstable wrapper, and make the rros kernel compile
v6.6.y-rros-rebase tracing issue
What we have done
Now we have a branch named
v6.6.y-rros-rebase
, which rebases the v5.13-rros code onto linux 6.6.23.What i did on this branch:
Use v6.6.y from the linux-stable kernel tree as codebase
Set the code's HEAD to Linux 6.6.23
Apply the v6.6.y-linux-dovetail patch set
Apply the
Enable Rust support for AArch64
patchsetPort rros kernel to Linux 6.6.23
Add rros kernel code
Add placeholder code in dovetail interface
Add rust wrapper code used in rros but not in the v6.6.y. For the rust wrapper code whose API used by rros has changed, I also copied the old version of the wrapper code and compiled them conditionally through
CONFIG_RROS
, includingSpinLock
,Mutex
,WorkQueue
,CondVar
,Arc
,Box
,Error
,ARef
,module::module
. All rust wrapper code not in linux-stable is also conditionally compiled withCONFIG_RROS
(there may be omissions).Add some features used in rros on
Makefile.build
Make rust-analyzer parse rros code
Conditional compilation helper function
Fixed some code issues caused by Linux C code changes
vm_area_struct
What we should do next
SpinLock
,Mutex
,WorkQueue
,Arc
Guidelines about how to port rros kernel onto new r4l wrapper
NOTE: Ensure that each commit code is compilable and that the functionality of the entire PR passes the test
SpinLock
, add aCONFIG_RROS_SPINLOCK
to replaceCONFIG_RROS
CONFIG_RROS_XXX
and the unstable wrapper, and make the rros kernel compileAdditional Information
I think we can use the code after this issue is closed as the codebase for the https://github.com/BUPT-OS/RROS/issues/48