实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)

* 添加“统一初始化”的过程宏,并把SystemError独立成crate

* 使用unified-init来初始化fbmem

* 更新workflow,增加内核自动化静态测试
This commit is contained in:
LoGin
2023-12-25 23:12:27 +08:00
committed by GitHub
parent f110d330d5
commit 91e9d4ab55
158 changed files with 1102 additions and 610 deletions

View File

@ -7,11 +7,11 @@ use crate::{
},
libs::{spinlock::SpinLock, wait_queue::WaitQueue},
process::ProcessState,
syscall::SystemError,
time::TimeSpec,
};
use alloc::sync::{Arc, Weak};
use system_error::SystemError;
/// 我们设定pipe_buff的总大小为1024字节
const PIPE_BUFF_SIZE: usize = 1024;
@ -93,7 +93,7 @@ impl IndexNode for LockedPipeInode {
len: usize,
buf: &mut [u8],
data: &mut FilePrivateData,
) -> Result<usize, crate::syscall::SystemError> {
) -> Result<usize, SystemError> {
// 获取mode
let mode: FileMode;
if let FilePrivateData::Pipefs(pdata) = data {
@ -243,7 +243,7 @@ impl IndexNode for LockedPipeInode {
len: usize,
buf: &[u8],
data: &mut FilePrivateData,
) -> Result<usize, crate::syscall::SystemError> {
) -> Result<usize, SystemError> {
// 获取mode
let mode: FileMode;
if let FilePrivateData::Pipefs(pdata) = data {

View File

@ -1,6 +1,7 @@
use core::sync::atomic::compiler_fence;
use alloc::sync::Arc;
use system_error::SystemError;
use crate::{
arch::ipc::signal::{SigCode, SigFlags, SigSet, Signal},
@ -8,7 +9,6 @@ use crate::{
kwarn,
libs::spinlock::SpinLockGuard,
process::{pid::PidType, Pid, ProcessControlBlock, ProcessFlags, ProcessManager},
syscall::SystemError,
};
use super::signal_types::{

View File

@ -1,6 +1,7 @@
use core::{ffi::c_void, mem::size_of, sync::atomic::AtomicI64};
use alloc::vec::Vec;
use system_error::SystemError;
use crate::{
arch::{
@ -10,7 +11,7 @@ use crate::{
},
mm::VirtAddr,
process::Pid,
syscall::{user_access::UserBufferWriter, SystemError},
syscall::user_access::UserBufferWriter,
};
/// 用户态程序传入的SIG_DFL的值

View File

@ -3,6 +3,8 @@ use core::{
sync::atomic::compiler_fence,
};
use system_error::SystemError;
use crate::{
arch::ipc::signal::{SigCode, SigFlags, SigSet, Signal},
filesystem::vfs::{
@ -12,7 +14,7 @@ use crate::{
kerror, kwarn,
mm::VirtAddr,
process::{Pid, ProcessManager},
syscall::{user_access::UserBufferWriter, Syscall, SystemError},
syscall::{user_access::UserBufferWriter, Syscall},
};
use super::{