Home
last modified time | relevance | path

Searched refs:cpu (Results 1 – 25 of 48) sorted by relevance

12

/DragonOS/kernel/src/libs/
H A Dcpumask.rs5 use crate::{mm::percpu::PerCpu, smp::cpu::ProcessorId};
28 pub fn from_cpu(cpu: ProcessorId) -> Self { in from_cpu()
30 mask.set(cpu, true); in from_cpu()
56 pub fn next_index(&self, cpu: ProcessorId) -> Option<ProcessorId> { in next_index()
58 .next_index(cpu.data() as usize) in next_index()
63 pub fn next_zero_index(&self, cpu: ProcessorId) -> Option<ProcessorId> { in next_zero_index()
65 .next_false_index(cpu.data() as usize) in next_zero_index()
69 pub fn set(&mut self, cpu: ProcessorId, value: bool) -> Option<bool> { in set()
70 self.bmp.set(cpu.data() as usize, value) in set()
73 pub fn get(&self, cpu: ProcessorId) -> Option<bool> { in get()
[all …]
/DragonOS/kernel/src/sched/
H A Dcputime.rs11 pub fn irq_time_read(cpu: usize) -> u64 { in irq_time_read()
13 let irqtime = cpu_irq_time(cpu); in irq_time_read()
52 let cpu = smp_get_processor_id().data() as usize; in irqtime_start() localVariable
53 let irq_time = cpu_irq_time(cpu); in irqtime_start()
55 irq_time.irq_start_time = SchedClock::sched_clock_cpu(cpu) as u64; in irqtime_start()
61 let cpu = smp_get_processor_id().data() as usize; in irqtime_account_irq() localVariable
62 let irq_time = cpu_irq_time(cpu); in irqtime_account_irq()
64 let delta = SchedClock::sched_clock_cpu(cpu) as u64 - irq_time.irq_start_time; in irqtime_account_irq()
H A Dmod.rs36 smp::{core::smp_get_processor_id, cpu::ProcessorId},
66 pub fn cpu_irq_time(cpu: usize) -> &'static mut IrqTime { in cpu_irq_time()
67 unsafe { CPU_IRQ_TIME.as_mut().unwrap()[cpu] } in cpu_irq_time()
71 pub fn cpu_rq(cpu: usize) -> Arc<CpuRunQueue> { in cpu_rq()
76 .force_get(ProcessorId::new(cpu as u32)) in cpu_rq()
292 cpu: usize, field
332 pub fn new(cpu: usize) -> Self { in new()
336 cpu, in new()
516 let clock = SchedClock::sched_clock_cpu(self.cpu); in update_rq_clock()
529 let mut irq_delta = irq_time_read(self.cpu) - self.prev_irq_time; in update_rq_clock_task()
[all …]
H A Dsyscall.rs3 use crate::arch::cpu::current_cpu_id;
/DragonOS/kernel/src/smp/
H A Dcore.rs1 use super::cpu::ProcessorId;
6 return crate::arch::cpu::current_cpu_id(); in smp_get_processor_id()
H A Dmod.rs10 cpu::{smp_cpu_manager, smp_cpu_manager_init, CpuHpCpuState, ProcessorId},
14 pub mod cpu; module
H A Dsyscall.rs6 use super::cpu::smp_cpu_manager;
H A Dinit.rs8 smp::{core::smp_get_processor_id, cpu::smp_cpu_manager},
/DragonOS/kernel/src/arch/riscv64/
H A Dcpu.rs7 smp::cpu::{ProcessorId, SmpCpuManager},
67 pub fn new(cpu: ProcessorId) -> Self { in new()
69 current_cpu: cpu, in new()
78 pub fn set_current_cpu(&mut self, cpu: ProcessorId) { in set_current_cpu()
79 self.current_cpu = cpu; in set_current_cpu()
H A Dmod.rs2 pub mod cpu; module
/DragonOS/docs/kernel/core_api/
H A Dsoftirq.md7 &emsp;&emsp;每个cpu都有自己的pending,软中断是“哪个cpu发起,就哪个cpu执行”,每个cpu的pending不共享。同一个软中断向量可以在多核上同时运行。
/DragonOS/kernel/src/arch/x86_64/smp/
H A Dmod.rs19 cpu::{smp_cpu_manager, CpuHpCpuState, ProcessorId, SmpCpuManager},
171 for cpu in 1..SMP_BOOT_DATA.cpu_count() { in build_cpu_map()
173 smp_cpu_manager().set_possible_cpu(ProcessorId::new(cpu as u32), true); in build_cpu_map()
174 smp_cpu_manager().set_present_cpu(ProcessorId::new(cpu as u32), true); in build_cpu_map()
186 for cpu in mask.iter_cpu() { in print_cpus()
187 v.push(cpu.data()); in print_cpus()
/DragonOS/kernel/src/arch/x86_64/driver/apic/
H A Dlapic_vector.rs30 smp::{core::smp_get_processor_id, cpu::ProcessorId},
108 IpiTarget::Specified(inner.cpu), in retrigger()
135 cpu: ProcessorId, in new()
143 cpu, in new()
162 cpu: ProcessorId, field
/DragonOS/kernel/src/driver/irqchip/
H A Driscv_sifive_plic.rs53 smp::cpu::{smp_cpu_manager, ProcessorId},
190 cpumask.iter_cpu().for_each(|cpu| { in plic_irq_toggle()
192 let handler = unsafe { plic_handlers().force_get(cpu) }; in plic_irq_toggle()
366 let cpu = if force { in irq_set_affinity() localVariable
375 if cpu.data() > smp_cpu_manager().present_cpus_count() { in irq_set_affinity()
382 .set_effective_affinity(CpuMask::from_cpu(cpu)); in irq_set_affinity()
507 let cpu = ProcessorId::new(i as u32); in do_riscv_sifive_plic_init() localVariable
508 let handler = unsafe { plic_handlers().force_get(cpu) }; in do_riscv_sifive_plic_init()
517 priv_data.lmask().set(cpu, true); in do_riscv_sifive_plic_init()
527 .force_get_mut(cpu) in do_riscv_sifive_plic_init()
/DragonOS/kernel/src/driver/base/
H A Dmod.rs4 pub mod cpu; module
H A Dinit.rs6 cpu::cpu_device_manager,
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/
H A Dept.rs7 use crate::smp::cpu::AtomicProcessorId;
8 use crate::smp::cpu::ProcessorId;
/DragonOS/kernel/src/arch/x86_64/
H A Dcpu.rs5 use crate::smp::cpu::ProcessorId;
H A Dmod.rs4 pub mod cpu; module
H A Dacpi.rs2 use crate::{driver::acpi::acpi_manager, mm::percpu::PerCpu, smp::cpu::ProcessorId};
/DragonOS/kernel/src/arch/riscv64/smp/
H A Dmod.rs5 cpu::{CpuHpCpuState, ProcessorId},
/DragonOS/kernel/src/time/
H A Dtick_common.rs4 smp::{core::smp_get_processor_id, cpu::ProcessorId},
/DragonOS/kernel/src/smp/cpu/
H A Dmod.rs115 pub unsafe fn set_possible_cpu(&self, cpu: ProcessorId, value: bool) { in set_possible_cpu()
119 if let Some(prev) = p.possible_cpus.set(cpu, value) { in set_possible_cpu()
146 pub unsafe fn set_present_cpu(&self, cpu: ProcessorId, value: bool) { in set_present_cpu()
150 if let Some(prev) = p.present_cpus.set(cpu, value) { in set_present_cpu()
/DragonOS/kernel/src/arch/riscv64/mm/
H A Dmod.rs19 smp::cpu::ProcessorId,
48 cpu: ProcessorId, in remote_invalidate_page()
52 let r = sbi_rt::remote_sfence_vma(Into::into(cpu), address.data(), size); in remote_invalidate_page()
62 pub fn remote_invalidate_all(cpu: ProcessorId) -> Result<(), SbiRet> { in remote_invalidate_all()
64 cpu, in remote_invalidate_all()
/DragonOS/kernel/src/arch/riscv64/init/
H A Dmod.rs15 smp::cpu::ProcessorId,
18 use super::{cpu::init_local_context, interrupt::entry::handle_exception};

12