Searched refs:ArchPCBInfo (Results 1 – 3 of 3) sorted by relevance
/DragonOS/kernel/src/arch/riscv64/process/ |
H A D | mod.rs | 185 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 D | mod.rs | 61 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 D | mod.rs | 25 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
|