实现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

@ -8,6 +8,7 @@ use alloc::{
sync::{Arc, Weak},
vec::Vec,
};
use system_error::SystemError;
use crate::{
arch::sched::sched,
@ -23,7 +24,6 @@ use crate::{
wait_queue::WaitQueue,
},
process::ProcessManager,
syscall::SystemError,
time::{
timer::{next_n_us_timer_jiffies, Timer, WakeUpHelper},
TimeSpec,
@ -147,7 +147,7 @@ impl IndexNode for EPollInode {
_len: usize,
_buf: &mut [u8],
_data: &mut crate::filesystem::vfs::FilePrivateData,
) -> Result<usize, crate::syscall::SystemError> {
) -> Result<usize, SystemError> {
Err(SystemError::ENOSYS)
}
@ -157,11 +157,11 @@ impl IndexNode for EPollInode {
_len: usize,
_buf: &[u8],
_data: &mut crate::filesystem::vfs::FilePrivateData,
) -> Result<usize, crate::syscall::SystemError> {
) -> Result<usize, SystemError> {
Err(SystemError::ENOSYS)
}
fn poll(&self) -> Result<usize, crate::syscall::SystemError> {
fn poll(&self) -> Result<usize, SystemError> {
// 需要实现epoll嵌套epoll时需要实现这里
todo!()
}
@ -174,7 +174,7 @@ impl IndexNode for EPollInode {
self
}
fn list(&self) -> Result<Vec<alloc::string::String>, crate::syscall::SystemError> {
fn list(&self) -> Result<Vec<alloc::string::String>, SystemError> {
Err(SystemError::ENOSYS)
}

View File

@ -1,3 +1,5 @@
use system_error::SystemError;
use crate::{
arch::ipc::signal::SigSet,
filesystem::vfs::file::FileMode,
@ -5,7 +7,7 @@ use crate::{
mm::VirtAddr,
syscall::{
user_access::{UserBufferReader, UserBufferWriter},
Syscall, SystemError,
Syscall,
},
time::TimeSpec,
};