feat(kernel): console cap gates DebugPutchar, no uart fast path; spawn start arg in a0; delegate returns slot
This commit is contained in:
@@ -45,10 +45,11 @@ fn start_spinner(storage: &mut Storage, scratch: &mut [u8], page: CapSlot) -> Re
|
||||
.with(Permission::Read)
|
||||
.with(Permission::Write)
|
||||
.with(Permission::Delegate);
|
||||
if !syscall::delegate(page, spinner.process_cap, rw) {
|
||||
// The page first: the spinner expects it in slot 0.
|
||||
if syscall::delegate(page, spinner.process_cap, rw).is_none() {
|
||||
return Err("cannot give the spinner its page");
|
||||
}
|
||||
syscall::spawn_thread_in(spinner.process_cap, spinner.entry_point, crate::USER_STACK_TOP);
|
||||
crate::start(&spinner, true);
|
||||
if !wait_until(3000, || counters().iter().all(|c| *c > 0)) {
|
||||
return Err("spinner threads did not all start");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user