完成e1000e驱动 (#393)

* 测试RESET

* 测试RESET

* 基于轮询的实现

* 规范化部分unsafe的使用

* 完成中断处理函数,同时去除了不必要的内存拷贝行为,准备编写napi机制

* 实现现有协议栈下的部分napi机制;修复了内存泄漏的问题;添加了一部分代码注释

* 去除部分无用代码

* 去除一些无用代码

* 适配新的驱动模型

* 完成msi中断测试

* 去除一些无用代码

* 格式化代码

* 增加了一些注释,提高代码可读性

* 去除无关文件

* 优化了读取mac地址的方式,提高可读性
This commit is contained in:
Wu Mianzhi
2023-10-30 00:08:52 +08:00
committed by GitHub
parent fbe6becd6d
commit 77799ccaac
11 changed files with 1235 additions and 14 deletions

View File

@ -4,7 +4,9 @@ use alloc::string::String;
use crate::{
arch::process::arch_switch_to_user,
driver::{disk::ahci::ahci_init, virtio::virtio::virtio_probe},
driver::{
disk::ahci::ahci_init, net::e1000e::e1000e::e1000e_init, virtio::virtio::virtio_probe,
},
filesystem::vfs::core::mount_root_fs,
kdebug, kerror,
net::net_core::net_init,
@ -22,7 +24,7 @@ pub fn initial_kernel_thread() -> i32 {
mount_root_fs().expect("Failed to mount root fs");
virtio_probe();
e1000e_init();
net_init().unwrap_or_else(|err| {
kerror!("Failed to initialize network: {:?}", err);
});