-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VSpace aarch64 相关方法移植 #23
Comments
rust_map_kernel_window 存在bug尚未修复 |
在 vspace 中的 rel4_kernel/sel4_vspace/src/arch/aarch64/interface.rs Lines 18 to 41 in 56d97aa
rel4_kernel/sel4_vspace/src/arch/aarch64/interface.rs Lines 20 to 68 in 27d930e
|
新的vspace.c 分工如下:
|
支持 aarch64 启动到第一个 user 程序相关的 commit
|
aarch64 和 riscv64 的 exception 处理不太一样,在 fastpath 的情况下是不保存 tls 的,需要在进入 slowpath 之前保存 tls 寄存器 |
支持aarch64 seltest的各仓库commit id:
|
* start add some of the mcs features * add lot's of mcs todo codes and add the new pbf of aarch64 * add the no mcs case framework * pass the rel4_complier * put in all the symbols * update the fastpath_reply_recv * try to add the riscv pbf support * fill in the real riscv pbf * adjust the archtecture of the timer * add the time functions for the qemu-arm-virt and spike * add some timer functions * add the framework of the sched_context * update some of the mcs functions * continue add the sched_context part * fix previous bugs * try to add some code but have bugs * fill in some of the code again * add some boot code,but have some panics * add the alloc root task sched context part * update the schedule and fix the previous bug * finish the boot part code, start debug * update the syscall num * add some necessery mcs codes * continue add mcs code * add some thing about the interrupt entry * fix one assert * use is_schedulable to replace the is_runable * try to fix the handle_fault on mcs and no mcs * fix sysgetclock bug * successfully go into the tests * add the framework of handle syscall * complete the handlesyscall * add the reply * finish the functions of reply * add the do reply part * update the ci * add the some functions * finish fill in sched control code * add some of the mcs feature in the handlesyscall * pass the tcb set space function * finish the TCBSetTimeoutEndpoint part * update the decode sched context invocation * try to add the decodeSchedContext_Bind code * fix bugs * update the rece code * add restart part * add the handle yield * fix some bugs * fix the cnode bug * try to fix more bugs of convert * fix bugs * fix some bugs * fix another bug * add the invoke sc unbind and pass all bind tests * fix some bugs * add something but seems cannot fix the bugsd * fix the bug of cancelallipc * try to fix version * try to fix bugs * fix the no mcs feature bugs * try to fix * change dir * Adapt dependencies * fix a bug that might fail in riscv of cancel all ipc * add some of the code but still cannot fix the bug * fix the ksconsumed counting bug * try to fix bug but fail * try to fix more * update * try to fix bugs * fix the call stack new parameter order bug * fix another bug * fix another bug * try to fix bugs * continue fix bugs * fix the bug of sc control judge and add mcs code of cancel badged sends * update the sc yieldto codes * add the timeout fault data structure and code * fix previous bug * add complete signal mcs code, but cannot fix bugs * update the tcb enqueue, add the mcs ep append and handle unknown syscall * fix the do_fault_reply_transfer position bug * seems fix the bugs * update the ci timeout time --------- Co-authored-by: jackhu <[email protected]>
可以参考:src/arch/arm/64/kernel/vspace.c
已实现,可能存在bug:
map_kernel_window
write_it_asid_pool
lookup_pt_slot
findVSpaceForASID
pte_t中实现了一些功能性函数,可以具体看
即将写:
setCurrentUserVSpaceRoot
set_vm_root
@Huzhiwen1208 完成
The text was updated successfully, but these errors were encountered: