From fbe2980b3decccfb0e144dc178d2e17462401da1 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 25 Feb 2024 14:42:49 +0100 Subject: [PATCH] Share interrupt/ipi.rs between x86 and x86_64 --- src/arch/x86/interrupt/ipi.rs | 26 ------------------- src/arch/x86/interrupt/mod.rs | 1 - src/arch/x86_64/interrupt/mod.rs | 1 - .../{x86_64 => x86_shared}/interrupt/ipi.rs | 0 src/arch/x86_shared/interrupt/mod.rs | 1 + 5 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 src/arch/x86/interrupt/ipi.rs rename src/arch/{x86_64 => x86_shared}/interrupt/ipi.rs (100%) diff --git a/src/arch/x86/interrupt/ipi.rs b/src/arch/x86/interrupt/ipi.rs deleted file mode 100644 index a26f8dbd55..0000000000 --- a/src/arch/x86/interrupt/ipi.rs +++ /dev/null @@ -1,26 +0,0 @@ -use x86::tlb; - -use crate::{context, device::local_apic::LOCAL_APIC}; - -interrupt!(wakeup, || { - LOCAL_APIC.eoi(); -}); - -interrupt!(tlb, || { - LOCAL_APIC.eoi(); - - tlb::flush_all(); -}); - -interrupt!(switch, || { - LOCAL_APIC.eoi(); - - let _ = context::switch(); -}); - -interrupt!(pit, || { - LOCAL_APIC.eoi(); - - // Switch after a sufficent amount of time since the last switch. - context::switch::tick(); -}); diff --git a/src/arch/x86/interrupt/mod.rs b/src/arch/x86/interrupt/mod.rs index 9748274425..04b7ae9e44 100644 --- a/src/arch/x86/interrupt/mod.rs +++ b/src/arch/x86/interrupt/mod.rs @@ -6,7 +6,6 @@ pub use crate::arch::x86_shared::interrupt::*; pub mod handler; pub mod exception; -pub mod ipi; pub mod irq; pub mod syscall; diff --git a/src/arch/x86_64/interrupt/mod.rs b/src/arch/x86_64/interrupt/mod.rs index 9748274425..04b7ae9e44 100644 --- a/src/arch/x86_64/interrupt/mod.rs +++ b/src/arch/x86_64/interrupt/mod.rs @@ -6,7 +6,6 @@ pub use crate::arch::x86_shared::interrupt::*; pub mod handler; pub mod exception; -pub mod ipi; pub mod irq; pub mod syscall; diff --git a/src/arch/x86_64/interrupt/ipi.rs b/src/arch/x86_shared/interrupt/ipi.rs similarity index 100% rename from src/arch/x86_64/interrupt/ipi.rs rename to src/arch/x86_shared/interrupt/ipi.rs diff --git a/src/arch/x86_shared/interrupt/mod.rs b/src/arch/x86_shared/interrupt/mod.rs index 2e71b7a398..28cdf38f9a 100644 --- a/src/arch/x86_shared/interrupt/mod.rs +++ b/src/arch/x86_shared/interrupt/mod.rs @@ -1,5 +1,6 @@ //! Interrupt instructions +pub mod ipi; pub mod trace; pub use self::trace::stack_trace;