mirror of
https://github.com/panpaul/tiny_os
synced 2024-09-20 01:35:19 +08:00
chore: root: log object slot
This commit is contained in:
parent
2bf8e2341d
commit
eb70cd7b73
@ -33,6 +33,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
pub const PAGE_SIZE: usize = 4 * KIB;
|
||||
pub const PAGE_BITS: usize = PAGE_SIZE.ilog2() as usize;
|
||||
pub const PAGE_LAYOUT: Layout = unsafe { Layout::from_size_align_unchecked(PAGE_SIZE, PAGE_SIZE) };
|
||||
|
||||
#[inline(always)]
|
||||
|
@ -86,10 +86,11 @@ fn create_untyped_memory(cnode_obj: &mut CNodeObject) -> usize {
|
||||
}
|
||||
|
||||
trace!(
|
||||
"[root] creating untyped memory: {}: {:?} -> {:?}",
|
||||
"[root] creating untyped memory: {}: {:?} -> {:?}, slot #{}",
|
||||
memory_idx,
|
||||
start,
|
||||
start + (1 << bits)
|
||||
start + (1 << bits),
|
||||
memory_idx
|
||||
);
|
||||
|
||||
let cap = UntypedCap::mint(0, bits, false, start);
|
||||
@ -132,10 +133,11 @@ fn create_untyped_device(cnode_obj: &mut CNodeObject, fdt: &Fdt, memory_idx: usi
|
||||
}
|
||||
|
||||
trace!(
|
||||
"[root] creating untyped device: {}: {:?} -> {:?}",
|
||||
"[root] creating untyped device: {}: {:?} -> {:?}, slot #{}",
|
||||
device_idx,
|
||||
start,
|
||||
start + (1 << bits)
|
||||
start + (1 << bits),
|
||||
device_idx
|
||||
);
|
||||
|
||||
let cap = UntypedCap::mint(0, bits, true, start);
|
||||
@ -190,19 +192,17 @@ fn create_objects(cnode_obj: &mut CNodeObject, end_idx: usize) -> usize {
|
||||
|
||||
// tcb
|
||||
{
|
||||
trace!("[root] allocating tcb object");
|
||||
let tcb_idx = CNodeSlot::TcbCap as usize;
|
||||
alloc::<TcbObject>(cnode_obj, end_idx, 0, tcb_idx..tcb_idx + 1);
|
||||
trace!("[root] allocating tcb object at slot #{}", tcb_idx);
|
||||
alloc_objects::<TcbObject>(cnode_obj, end_idx, 0, tcb_idx..tcb_idx + 1);
|
||||
}
|
||||
|
||||
// vspace
|
||||
{
|
||||
trace!("[root] allocating vspace object");
|
||||
let pagetable_bits = PAGE_SIZE.ilog2() as usize;
|
||||
|
||||
// root
|
||||
let vspace_idx = CNodeSlot::VSpaceCap as usize;
|
||||
alloc::<TableObject>(cnode_obj, end_idx, pagetable_bits, vspace_idx..vspace_idx + 1);
|
||||
trace!("[root] allocating vspace object at slot #{}", vspace_idx);
|
||||
alloc_objects::<TableObject>(cnode_obj, end_idx, PAGE_BITS, vspace_idx..vspace_idx + 1);
|
||||
|
||||
// copy pagetable
|
||||
let root = &cnode_obj[vspace_idx];
|
||||
|
Loading…
Reference in New Issue
Block a user