From 232570ae98cbd1d618cd1208deaef4c220ab41dd Mon Sep 17 00:00:00 2001 From: LoGin Date: Thu, 29 Aug 2024 22:58:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E5=A4=9A=E4=B8=AAvirtio=E8=AE=BE=E5=A4=87=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E5=8F=B7=E5=86=B2=E7=AA=81=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20(#904)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/src/driver/pci/pci_irq.rs | 4 ++-- kernel/src/init/initial_kthread.rs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/src/driver/pci/pci_irq.rs b/kernel/src/driver/pci/pci_irq.rs index e31082dd..ea11a25b 100644 --- a/kernel/src/driver/pci/pci_irq.rs +++ b/kernel/src/driver/pci/pci_irq.rs @@ -369,7 +369,7 @@ pub trait PciInterrupt: PciDeviceStructure { irq_num, common_msg.irq_name.clone(), common_msg.irq_hander, - IrqHandleFlags::empty(), + IrqHandleFlags::IRQF_SHARED, Some(common_msg.dev_id.clone()), ); @@ -532,7 +532,7 @@ pub trait PciInterrupt: PciDeviceStructure { irq_num, common_msg.irq_name.clone(), common_msg.irq_hander, - IrqHandleFlags::empty(), + IrqHandleFlags::IRQF_SHARED, Some(common_msg.dev_id.clone()), ); diff --git a/kernel/src/init/initial_kthread.rs b/kernel/src/init/initial_kthread.rs index 0f7056a4..7c70ad8c 100644 --- a/kernel/src/init/initial_kthread.rs +++ b/kernel/src/init/initial_kthread.rs @@ -33,9 +33,11 @@ fn kernel_init() -> Result<(), SystemError> { // 由于目前加锁,速度过慢,所以先不开启双缓冲 // scm_enable_double_buffer().expect("Failed to enable double buffer"); - #[cfg(target_arch = "x86_64")] - crate::driver::disk::ahci::ahci_init().expect("Failed to initialize AHCI"); virtio_probe(); + #[cfg(target_arch = "x86_64")] + crate::driver::disk::ahci::ahci_init() + .inspect_err(|e| log::warn!("Failed to initialize AHCI: {e:?}")) + .ok(); mount_root_fs().expect("Failed to mount root fs"); e1000e_init(); net_init().unwrap_or_else(|err| {