#[repr(C)]pub struct EnvData {
pub trap_frame: TrapFrame,
_place_holder_env_link: [u32; 2],
pub id: u32,
pub asid: u32,
pub parent_id: u32,
pub status: EnvStatus,
pub pgdir: *mut Pde,
_place_holder_env_sched_link: [u32; 2],
pub priority: u32,
pub ipc_data: IpcData,
pub user_tlb_mod_entry: u32,
pub env_runs: u32,
}Expand description
The PCB struct. Compatible with the C-Like memory structure and the MOS.
Fields§
§trap_frame: TrapFrameTrap Frame stored in the PCB.
_place_holder_env_link: [u32; 2]Unused placeholder item.
id: u32The env id.
asid: u32The asid for TLB.
parent_id: u32The env’s parent env’s id;
status: EnvStatusThe running status of this env.
pgdir: *mut PdeThe page directory address of this env.
_place_holder_env_sched_link: [u32; 2]Unused placeholder item.
priority: u32The priority of this env.
ipc_data: IpcDataThe IPC data collected.
user_tlb_mod_entry: u32The entry of the tlb mod handler in user space.
env_runs: u32Used in Lab 6. ///
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EnvData
impl RefUnwindSafe for EnvData
impl !Send for EnvData
impl !Sync for EnvData
impl Unpin for EnvData
impl UnwindSafe for EnvData
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut u8)
unsafe fn clone_to_uninit(&self, dst: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)