feat(kernel): console cap gates DebugPutchar, no uart fast path; spawn start arg in a0; delegate returns slot
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
use crate::hw::uart::Uart;
|
||||
use types::address::VirtualAddress;
|
||||
use types::bootinfo::{BOOT_INFO_VA, BootDevice, BootInfo, MAGIC, MAX_BOOT_DEVICES, NO_SLOT};
|
||||
use types::bounded::CapSlot;
|
||||
use types::id::ProcessId;
|
||||
use types::mapping::PagePerms;
|
||||
|
||||
@@ -29,7 +28,7 @@ pub(crate) fn boot_info(
|
||||
board: &[kernel::BoardDevice],
|
||||
kinds: &[u64],
|
||||
placed: &[Option<kernel::BoardCaps>],
|
||||
system_control: CapSlot,
|
||||
boot_caps: kernel::BootCaps,
|
||||
) {
|
||||
let empty = BootDevice {
|
||||
kind: 0,
|
||||
@@ -42,7 +41,8 @@ pub(crate) fn boot_info(
|
||||
let mut info = BootInfo {
|
||||
magic: MAGIC,
|
||||
device_count: 0,
|
||||
system_control_slot: system_control.value() as u64,
|
||||
system_control_slot: boot_caps.system_control.value() as u64,
|
||||
console_slot: boot_caps.console.value() as u64,
|
||||
devices: [empty; MAX_BOOT_DEVICES],
|
||||
};
|
||||
for (((d, kind), caps), out) in board
|
||||
|
||||
Reference in New Issue
Block a user