Home
last modified time | relevance | path

Searched refs:regs (Results 1 – 17 of 17) sorted by relevance

/DragonOS/kernel/src/arch/x86_64/interrupt/
H A Dtrap.rs114 unsafe extern "C" fn do_divide_error(regs: &'static TrapFrame, error_code: u64) { in do_divide_error()
118 regs.rsp, in do_divide_error()
119 regs.rip, in do_divide_error()
128 unsafe extern "C" fn do_debug(regs: &'static TrapFrame, error_code: u64) { in do_debug()
132 regs.rsp, in do_debug()
133 regs.rip, in do_debug()
142 unsafe extern "C" fn do_nmi(regs: &'static TrapFrame, error_code: u64) { in do_nmi()
146 regs.rsp, in do_nmi()
147 regs.rip, in do_nmi()
156 unsafe extern "C" fn do_int3(regs: &'static TrapFrame, error_code: u64) { in do_int3()
[all …]
/DragonOS/kernel/src/debug/traceback/
H A Dtraceback.c34 void traceback(struct pt_regs *regs) in traceback() argument
37 if (verify_area(regs->rbp, 0)) in traceback()
39 …K, "Kernel traceback: Fault in userland. pid=%ld, rbp=%#018lx\n", rs_current_pcb_pid(), regs->rbp); in traceback()
43 uint64_t *rbp = (uint64_t *)regs->rbp; in traceback()
50 uint64_t ret_addr = regs->rip; in traceback()
59 if ((uint64_t)(rbp) >= rs_current_pcb_thread_rbp() || ((uint64_t)rbp < regs->rsp)) in traceback()
H A Dtraceback.h17 void traceback(struct pt_regs *regs);
/DragonOS/kernel/src/arch/x86_64/process/
H A Dsyscall.rs24 regs: &mut TrapFrame, in do_execve()
101 regs.rdi = param.init_info().args.len() as u64; in do_execve()
102 regs.rsi = argv_ptr.data() as u64; in do_execve()
106 regs.rsp = user_sp.data() as u64; in do_execve()
107 regs.rbp = user_sp.data() as u64; in do_execve()
108 regs.rip = load_result.entry_point().data() as u64; in do_execve()
110 regs.cs = USER_CS.bits() as u64; in do_execve()
111 regs.ds = USER_DS.bits() as u64; in do_execve()
112 regs.ss = USER_DS.bits() as u64; in do_execve()
113 regs.es = 0; in do_execve()
[all …]
/DragonOS/kernel/src/arch/riscv64/process/
H A Dsyscall.rs21 regs: &mut TrapFrame, in do_execve()
96 regs.a0 = param.init_info().args.len(); in do_execve()
97 regs.a1 = argv_ptr.data(); in do_execve()
100 regs.sp = user_sp.data(); in do_execve()
102 regs.epc = load_result.entry_point().data(); in do_execve()
103 regs.status.update_spp(SPP::User); in do_execve()
104 regs.status.update_fs(FS::Clean); in do_execve()
105 regs.status.update_sum(true); in do_execve()
H A Dmod.rs428 fn save(&mut self, regs: &mut TrapFrame) { in save()
429 if regs.status.fs() == riscv::register::sstatus::FS::Dirty { in save()
431 self.do_clean(regs); in save()
435 fn restore(&mut self, regs: &mut TrapFrame) { in restore()
436 if regs.status.fs() != riscv::register::sstatus::FS::Off { in restore()
438 self.do_clean(regs); in restore()
442 fn do_clean(&mut self, regs: &mut TrapFrame) { in do_clean()
443 regs.status.update_fs(riscv::register::sstatus::FS::Clean); in do_clean()
/DragonOS/kernel/src/arch/x86_64/driver/
H A Dhpet.rs122 let (inner_guard, regs) = unsafe { self.hpet_regs_mut() }; in hpet_enable()
123 let freq = regs.frequency(); in hpet_enable()
130 if unlikely(regs.timers_num() == 0) { in hpet_enable()
134 unsafe { regs.write_main_counter_value(0) }; in hpet_enable()
159 let (inner_guard, regs) = unsafe { self.hpet_regs_mut() }; in hpet_enable()
162 unsafe { regs.write_general_config(3) }; in hpet_enable()
218 let regs = unsafe { inner.registers_ptr.as_ref() }; in hpet_regs() localVariable
219 return (inner, regs); in hpet_regs()
224 let regs = unsafe { inner.registers_ptr.as_mut() }; in hpet_regs_mut() localVariable
225 return (inner, regs); in hpet_regs_mut()
[all …]
/DragonOS/user/apps/test_kvm/
H A Dmain.c104 struct kvm_regs regs = {0}; in main() local
105 regs.rip = user_entry; in main()
106 regs.rsp = 0x3000; // stack address in main()
107 regs.rflags = 0x2; // in x86 the 0x2 bit should always be set in main()
108 ioctl(vcpufd, KVM_SET_REGS, &regs); // set registers in main()
/DragonOS/kernel/src/arch/x86_64/mm/
H A Dfault.rs71 regs: &'static TrapFrame, in show_fault_oops()
88 if address.data() < X86_64MMArch::PAGE_SIZE && !regs.is_from_user() { in show_fault_oops()
114 if regs.is_from_user() { in show_fault_oops()
136 regs: &'static TrapFrame, in page_fault_oops()
140 if regs.is_from_user() { in page_fault_oops()
141 Self::show_fault_oops(regs, error_code, address); in page_fault_oops()
176 regs: &'static TrapFrame, in do_user_addr_fault()
180 let rflags = RFlags::from_bits_truncate(regs.rflags); in do_user_addr_fault()
188 Self::page_fault_oops(regs, error_code, address); in do_user_addr_fault()
199 Self::page_fault_oops(regs, error_code, address); in do_user_addr_fault()
[all …]
/DragonOS/kernel/src/process/
H A Dptrace.h39 static inline int user_mode(struct pt_regs *regs) in user_mode() argument
41 return !!(regs->cs & 3); in user_mode()
/DragonOS/docs/kernel/debug/
H A Dtraceback.md11 ### `void traceback(struct pt_regs * regs)`
19 ##### regs l4subsection
/DragonOS/kernel/src/arch/riscv64/syscall/
H A Dmod.rs15 ($val:expr, $regs:expr, $show:expr) => {{
17 $regs.a0 = ret;
/DragonOS/kernel/src/driver/irqchip/
H A Driscv_sifive_plic.rs76 regs: VirtAddr, field
83 regs: VirtAddr, in new()
90 regs, in new()
269 (plic_chip_data.regs in irq_unmask()
292 (plic_chip_data.regs in irq_mask()
494 (priv_data.regs + PlicIrqChip::PRIORITY_BASE + x * PlicIrqChip::PRIORITY_PER_ID) in do_riscv_sifive_plic_init()
520 priv_data.regs + PlicIrqChip::CONTEXT_BASE + i * PlicIrqChip::CONTEXT_SIZE; in do_riscv_sifive_plic_init()
521 handler_inner.enable_base = priv_data.regs in do_riscv_sifive_plic_init()
/DragonOS/kernel/src/arch/x86_64/syscall/
H A Dmod.rs50 ($val:expr, $regs:expr, $show:expr) => {{
52 $regs.rax = ret as u64;
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/
H A Dvcpu.rs64 pub regs: [usize; NR_VCPU_REGS], // 通用寄存器 field
160 regs: [0; NR_VCPU_REGS], in new()
254 self.vcpu_ctx.regs[VcpuRegIndex::Rsp as usize] as u64, in vmcs_init_guest()
260 self.vcpu_ctx.regs[VcpuRegIndex::Rsp as usize] as u64 in vmcs_init_guest()
410 pub fn set_regs(&mut self, regs: VcpuContextFrame) -> Result<(), SystemError> { in set_regs()
411 self.vcpu_ctx = regs; in set_regs()
/DragonOS/kernel/src/virt/kvm/
H A Dvcpu_dev.rs183 kvm_regs.rip, kvm_regs.rflags, kvm_regs.regs[6], kvm_regs.regs[0], in ioctl()
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.9.md1468 * refactor segment regs initialization