Skip to content

Commit 2eab6dd

Browse files
authored
feat(log): 将内核日志统一为新的logger (#814)
1 parent 92deae6 commit 2eab6dd

File tree

181 files changed

+1321
-1261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

181 files changed

+1321
-1261
lines changed

docs/kernel/locking/mutex.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ let x :Mutex<Vec<i32>>= Mutex::new(Vec::new());
5959
g.push(2);
6060
assert!(g.as_slice() == [1, 2, 2] || g.as_slice() == [2, 2, 1]);
6161
// 在此处,Mutex是加锁的状态
62-
kdebug!("x={:?}", x);
62+
debug!("x={:?}", x);
6363
}
6464
// 由于上方的变量`g`,也就是Mutex守卫的生命周期结束,自动释放了Mutex。因此,在此处,Mutex是放锁的状态
65-
kdebug!("x={:?}", x);
65+
debug!("x={:?}", x);
6666
```
6767

6868
&emsp;&emsp;对于结构体内部的变量,我们可以使用Mutex进行细粒度的加锁,也就是使用Mutex包裹需要细致加锁的成员变量,比如这样:

docs/kernel/locking/spinlock.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ let x :SpinLock<Vec<i32>>= SpinLock::new(Vec::new());
6565
g.push(2);
6666
assert!(g.as_slice() == [1, 2, 2] || g.as_slice() == [2, 2, 1]);
6767
// 在此处,SpinLock是加锁的状态
68-
kdebug!("x={:?}", x);
68+
debug!("x={:?}", x);
6969
}
7070
// 由于上方的变量`g`,也就是SpinLock守卫的生命周期结束,自动释放了SpinLock。因此,在此处,SpinLock是放锁的状态
71-
kdebug!("x={:?}", x);
71+
debug!("x={:?}", x);
7272
```
7373

7474
&emsp;&emsp;对于结构体内部的变量,我们可以使用SpinLock进行细粒度的加锁,也就是使用SpinLock包裹需要细致加锁的成员变量,比如这样:

kernel/crates/unified-init/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ macro_rules! define_unified_initializer_slice {
4040
static $name: [::unified_init::UnifiedInitializer] = [..];
4141
};
4242
() => {
43-
compile_error!(
43+
compile_kerror!(
4444
"define_unified_initializer_slice! requires at least one argument: slice_name"
4545
);
4646
};
@@ -54,7 +54,7 @@ macro_rules! define_public_unified_initializer_slice {
5454
pub static $name: [::unified_init::UnifiedInitializer] = [..];
5555
};
5656
() => {
57-
compile_error!(
57+
compile_kerror!(
5858
"define_unified_initializer_slice! requires at least one argument: slice_name"
5959
);
6060
};
@@ -66,7 +66,7 @@ macro_rules! unified_init {
6666
($initializer_slice:ident) => {
6767
for initializer in $initializer_slice.iter() {
6868
initializer.call().unwrap_or_else(|e| {
69-
kerror!("Failed to call initializer {}: {:?}", initializer.name(), e);
69+
log::error!("Failed to call initializer {}: {:?}", initializer.name(), e);
7070
});
7171
}
7272
};

kernel/src/arch/riscv64/driver/of.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ impl OpenFirmwareFdtDriver {
1717
let offset = fdt_paddr.data() & crate::arch::MMArch::PAGE_OFFSET_MASK;
1818
let map_size = page_align_up(fdt_size + offset);
1919
let map_paddr = PhysAddr::new(fdt_paddr.data() & crate::arch::MMArch::PAGE_MASK);
20-
// kdebug!(
20+
// debug!(
2121
// "map_fdt paddr: {:?}, map_pa: {:?},fdt_size: {}, size: {:?}",
2222
// fdt_paddr,
2323
// map_paddr,
@@ -28,7 +28,7 @@ impl OpenFirmwareFdtDriver {
2828

2929
// drop the boot params guard in order to avoid deadlock
3030
drop(bp_guard);
31-
// kdebug!("map_fdt: map fdt to {:?}, size: {}", map_paddr, map_size);
31+
// debug!("map_fdt: map fdt to {:?}, size: {}", map_paddr, map_size);
3232
mmio_guard.map_phys(map_paddr, map_size)?;
3333
let mut bp_guard = boot_params().write();
3434
let vaddr = mmio_guard.vaddr() + offset;

kernel/src/arch/riscv64/init/mod.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
use fdt::node::FdtNode;
2+
use log::{debug, info};
23
use system_error::SystemError;
34

45
use crate::{
56
arch::{driver::sbi::SbiDriver, mm::init::mm_early_init},
67
driver::{firmware::efi::init::efi_init, open_firmware::fdt::open_firmware_fdt_driver},
78
init::{boot_params, init::start_kernel},
8-
kdebug, kinfo,
99
mm::{memblock::mem_block_manager, PhysAddr, VirtAddr},
1010
print, println,
1111
smp::cpu::ProcessorId,
@@ -112,13 +112,12 @@ pub fn early_setup_arch() -> Result<(), SystemError> {
112112
arch_boot_params_guard.arch.fdt_paddr = fdt_paddr;
113113
arch_boot_params_guard.arch.fdt_size = fdt.total_size();
114114
arch_boot_params_guard.arch.boot_hartid = ProcessorId::new(hartid);
115-
// kdebug!("fdt_paddr: {:?}, fdt_size: {}", fdt_paddr, fdt.total_size());
115+
// debug!("fdt_paddr: {:?}, fdt_size: {}", fdt_paddr, fdt.total_size());
116116
drop(arch_boot_params_guard);
117117

118-
kinfo!(
118+
info!(
119119
"DragonOS kernel is running on hart {}, fdt address:{:?}",
120-
hartid,
121-
fdt_paddr
120+
hartid, fdt_paddr
122121
);
123122
mm_early_init();
124123

@@ -127,7 +126,7 @@ pub fn early_setup_arch() -> Result<(), SystemError> {
127126
unsafe { parse_dtb() };
128127

129128
for x in mem_block_manager().to_iter() {
130-
kdebug!("before efi: {x:?}");
129+
debug!("before efi: {x:?}");
131130
}
132131

133132
efi_init();

kernel/src/arch/riscv64/interrupt/handle.rs

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
//! 架构相关的处理逻辑参考: https://code.dragonos.org.cn/xref/linux-6.6.21/arch/riscv/kernel/traps.c
44
use core::hint::spin_loop;
55

6+
use log::error;
67
use system_error::SystemError;
78

8-
use crate::{arch::syscall::syscall_handler, driver::irqchip::riscv_intc::riscv_intc_irq, kerror};
9+
use crate::{arch::syscall::syscall_handler, driver::irqchip::riscv_intc::riscv_intc_irq};
910

1011
use super::TrapFrame;
1112

@@ -52,7 +53,7 @@ fn riscv64_do_exception(trap_frame: &mut TrapFrame) {
5253
let handler = EXCEPTION_HANDLERS[code];
5354
handler(trap_frame).ok();
5455
} else {
55-
kerror!("riscv64_do_irq: exception code out of range");
56+
error!("riscv64_do_irq: exception code out of range");
5657
loop {
5758
// kernel die
5859
spin_loop();
@@ -61,71 +62,71 @@ fn riscv64_do_exception(trap_frame: &mut TrapFrame) {
6162
}
6263

6364
fn default_handler(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
64-
kerror!("riscv64_do_irq: handler not found");
65+
error!("riscv64_do_irq: handler not found");
6566
loop {
6667
spin_loop();
6768
}
6869
}
6970

7071
/// 处理指令地址不对齐异常 #0
7172
fn do_trap_insn_misaligned(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
72-
kerror!("riscv64_do_irq: do_trap_insn_misaligned");
73+
error!("riscv64_do_irq: do_trap_insn_misaligned");
7374
loop {
7475
spin_loop();
7576
}
7677
}
7778

7879
/// 处理指令访问异常 #1
7980
fn do_trap_insn_access_fault(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
80-
kerror!("riscv64_do_irq: do_trap_insn_access_fault");
81+
error!("riscv64_do_irq: do_trap_insn_access_fault");
8182
loop {
8283
spin_loop();
8384
}
8485
}
8586

8687
/// 处理非法指令异常 #2
8788
fn do_trap_insn_illegal(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
88-
kerror!("riscv64_do_irq: do_trap_insn_illegal");
89+
error!("riscv64_do_irq: do_trap_insn_illegal");
8990
loop {
9091
spin_loop();
9192
}
9293
}
9394

9495
/// 处理断点异常 #3
9596
fn do_trap_break(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
96-
kerror!("riscv64_do_irq: do_trap_break");
97+
error!("riscv64_do_irq: do_trap_break");
9798
loop {
9899
spin_loop();
99100
}
100101
}
101102

102103
/// 处理加载地址不对齐异常 #4
103104
fn do_trap_load_misaligned(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
104-
kerror!("riscv64_do_irq: do_trap_load_misaligned");
105+
error!("riscv64_do_irq: do_trap_load_misaligned");
105106
loop {
106107
spin_loop();
107108
}
108109
}
109110

110111
/// 处理加载访问异常 #5
111112
fn do_trap_load_access_fault(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
112-
kerror!("riscv64_do_irq: do_trap_load_access_fault");
113+
error!("riscv64_do_irq: do_trap_load_access_fault");
113114
loop {
114115
spin_loop();
115116
}
116117
}
117118

118119
/// 处理存储地址不对齐异常 #6
119120
fn do_trap_store_misaligned(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
120-
kerror!("riscv64_do_irq: do_trap_store_misaligned");
121+
error!("riscv64_do_irq: do_trap_store_misaligned");
121122
loop {
122123
spin_loop();
123124
}
124125
}
125126

126127
/// 处理存储访问异常 #7
127128
fn do_trap_store_access_fault(_trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
128-
kerror!("riscv64_do_irq: do_trap_store_access_fault");
129+
error!("riscv64_do_irq: do_trap_store_access_fault");
129130
loop {
130131
spin_loop();
131132
}
@@ -151,11 +152,9 @@ fn do_trap_insn_page_fault(trap_frame: &mut TrapFrame) -> Result<(), SystemError
151152
let vaddr = trap_frame.badaddr;
152153
let cause = trap_frame.cause;
153154
let epc = trap_frame.epc;
154-
kerror!(
155+
error!(
155156
"riscv64_do_irq: do_insn_page_fault vaddr: {:#x}, cause: {:?} epc: {:#x}",
156-
vaddr,
157-
cause,
158-
epc
157+
vaddr, cause, epc
159158
);
160159
loop {
161160
spin_loop();
@@ -167,10 +166,9 @@ fn do_trap_load_page_fault(trap_frame: &mut TrapFrame) -> Result<(), SystemError
167166
let vaddr = trap_frame.badaddr;
168167
let cause = trap_frame.cause;
169168
let epc = trap_frame.epc;
170-
kerror!(
169+
error!(
171170
"riscv64_do_irq: do_trap_load_page_fault: epc: {epc:#x}, vaddr={:#x}, cause={:?}",
172-
vaddr,
173-
cause
171+
vaddr, cause
174172
);
175173

176174
loop {
@@ -182,11 +180,9 @@ fn do_trap_load_page_fault(trap_frame: &mut TrapFrame) -> Result<(), SystemError
182180

183181
/// 处理页存储错误异常 #15
184182
fn do_trap_store_page_fault(trap_frame: &mut TrapFrame) -> Result<(), SystemError> {
185-
kerror!(
183+
error!(
186184
"riscv64_do_irq: do_trap_store_page_fault: epc: {:#x}, vaddr={:#x}, cause={:?}",
187-
trap_frame.epc,
188-
trap_frame.badaddr,
189-
trap_frame.cause
185+
trap_frame.epc, trap_frame.badaddr, trap_frame.cause
190186
);
191187
loop {
192188
spin_loop();

kernel/src/arch/riscv64/ipc/signal.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
use log::error;
2+
13
use crate::{
24
arch::{sched::sched, CurrentIrqArch},
35
exception::InterruptArch,
4-
kerror,
56
process::ProcessManager,
67
};
78

@@ -68,7 +69,7 @@ impl From<usize> for Signal {
6869
let ret: Signal = unsafe { core::mem::transmute(value) };
6970
return ret;
7071
} else {
71-
kerror!("Try to convert an invalid number to Signal");
72+
error!("Try to convert an invalid number to Signal");
7273
return Signal::INVALID;
7374
}
7475
}
@@ -83,7 +84,7 @@ impl Into<usize> for Signal {
8384
impl From<i32> for Signal {
8485
fn from(value: i32) -> Self {
8586
if value < 0 {
86-
kerror!("Try to convert an invalid number to Signal");
87+
error!("Try to convert an invalid number to Signal");
8788
return Signal::INVALID;
8889
} else {
8990
return Self::from(value as usize);
@@ -127,7 +128,7 @@ impl Signal {
127128
pub fn handle_default(&self) {
128129
match self {
129130
Signal::INVALID => {
130-
kerror!("attempting to handler an Invalid");
131+
error!("attempting to handler an Invalid");
131132
}
132133
Signal::SIGHUP => sig_terminate(self.clone()),
133134
Signal::SIGINT => sig_terminate(self.clone()),
@@ -312,7 +313,7 @@ fn sig_terminate_dump(sig: Signal) {
312313
fn sig_stop(sig: Signal) {
313314
let guard = unsafe { CurrentIrqArch::save_and_disable_irq() };
314315
ProcessManager::mark_stop().unwrap_or_else(|e| {
315-
kerror!(
316+
error!(
316317
"sleep error :{:?},failed to sleep process :{:?}, with signal :{:?}",
317318
e,
318319
ProcessManager::current_pcb(),
@@ -327,7 +328,7 @@ fn sig_stop(sig: Signal) {
327328
/// 信号默认处理函数——继续进程
328329
fn sig_continue(sig: Signal) {
329330
ProcessManager::wakeup_stop(&ProcessManager::current_pcb()).unwrap_or_else(|_| {
330-
kerror!(
331+
error!(
331332
"Failed to wake up process pid = {:?} with signal :{:?}",
332333
ProcessManager::current_pcb().pid(),
333334
sig

0 commit comments

Comments
 (0)