Home
last modified time | relevance | path

Searched refs:ArchPCBInfo (Results 1 – 3 of 3) sorted by relevance

/DragonOS/kernel/src/arch/riscv64/process/
H A Dmod.rs185 let next_arch = SpinLockGuard::leak(next.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
186 let prev_arch = SpinLockGuard::leak(prev.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
226 unsafe extern "C" fn switch_to_inner(prev: *mut ArchPCBInfo, next: *mut ArchPCBInfo) { in switch_to_inner() argument
289 off_ra = const(offset_of!(ArchPCBInfo, ra)), in switch_to_inner()
290 off_sstatus = const(offset_of!(ArchPCBInfo, sstatus)), in switch_to_inner()
291 off_sp = const(offset_of!(ArchPCBInfo, ksp)), in switch_to_inner()
292 off_s0 = const(offset_of!(ArchPCBInfo, s0)), in switch_to_inner()
293 off_s1 = const(offset_of!(ArchPCBInfo, s1)), in switch_to_inner()
294 off_s2 = const(offset_of!(ArchPCBInfo, s2)), in switch_to_inner()
295 off_s3 = const(offset_of!(ArchPCBInfo, s3)), in switch_to_inner()
[all …]
/DragonOS/kernel/src/arch/x86_64/process/
H A Dmod.rs61 pub struct ArchPCBInfo { struct
83 impl ArchPCBInfo { implementation
393 let next_arch = SpinLockGuard::leak(next.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
394 let prev_arch = SpinLockGuard::leak(prev.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
427 unsafe extern "sysv64" fn switch_to_inner(prev: *mut ArchPCBInfo, next: *mut ArchPCBInfo) { in switch_to_inner() argument
487 off_rflags = const(offset_of!(ArchPCBInfo, rflags)), in switch_to_inner()
489 off_rbx = const(offset_of!(ArchPCBInfo, rbx)), in switch_to_inner()
490 off_r12 = const(offset_of!(ArchPCBInfo, r12)), in switch_to_inner()
491 off_r13 = const(offset_of!(ArchPCBInfo, r13)), in switch_to_inner()
492 off_r14 = const(offset_of!(ArchPCBInfo, r14)), in switch_to_inner()
[all …]
/DragonOS/kernel/src/process/
H A Dmod.rs25 process::ArchPCBInfo,
634 arch_info: SpinLock<ArchPCBInfo>,
726 let arch_info = SpinLock::new(ArchPCBInfo::new(&kstack)); in do_create_pcb()
852 pub fn arch_info_irqsave(&self) -> SpinLockGuard<ArchPCBInfo> { in arch_info_irqsave() argument
865 pub unsafe fn arch_info(&self) -> SpinLockGuard<ArchPCBInfo> { in arch_info() argument