temp interrupt fix, problem with sds_search_service

This commit is contained in:
koniifer 2024-11-27 12:52:48 +00:00
parent 9d1c59b65d
commit fd26ec734b
3 changed files with 41 additions and 43 deletions

View file

@ -83,31 +83,29 @@ extern "x86-interrupt" fn spurious(_: InterruptStackFrame) {
} }
} }
#[allow(unused_imports)]
fn interrupt(interrupt_type: Interrupt) { fn interrupt(interrupt_type: Interrupt) {
use crate::arch::INTERRUPT_LIST; use crate::{arch::INTERRUPT_LIST, kmain::EXECUTOR};
use crate::kmain::EXECUTOR; // let il = INTERRUPT_LIST.lock();
let il = INTERRUPT_LIST.lock(); // let val = il.list.get(&interrupt_type).unwrap();
let val = il.list.get(&interrupt_type).unwrap();
use crate::holeybytes::kernel_services::service_definition_service::sds_search_service; // use crate::holeybytes::kernel_services::service_definition_service::sds_search_service;
let buffer = sds_search_service(val); // let buffer = sds_search_service(val);
if buffer != 0 { // if buffer != 0 {
use {crate::kmain::IPC_BUFFERS, alloc::vec::Vec}; // use {crate::kmain::IPC_BUFFERS, alloc::vec::Vec};
let mut buffs = IPC_BUFFERS.lock(); // let mut buffs = IPC_BUFFERS.lock();
match buffs.get_mut(&buffer) { // match buffs.get_mut(&buffer) {
Some(buff) => { // Some(buff) => {
let mut msg_vec = Vec::new(); // let mut msg_vec = Vec::new();
msg_vec.push(0xFF); // msg_vec.push(0xFF);
buff.push(msg_vec.to_vec()); // buff.push(msg_vec.to_vec());
log::debug!("Sent Message {:?} to Buffer({})", msg_vec, buffer); // log::debug!("Sent Message {:?} to Buffer({})", msg_vec, buffer);
} // }
None => { // None => {
log::error!("Access of non-existent buffer {}", buffer) // log::error!("Access of non-existent buffer {}", buffer)
} // }
} // }
// }
// log::info!("{}", buffer);
}
unsafe { unsafe {
EXECUTOR.send_interrupt(interrupt_type as u8); EXECUTOR.send_interrupt(interrupt_type as u8);

View file

@ -28,26 +28,26 @@ resolution = "1024x768x24"
# [boot.limine.ableos.modules.horizon] # [boot.limine.ableos.modules.horizon]
# path = "boot:///horizon.hbf" # path = "boot:///horizon.hbf"
# path = "boot:///ps2_mouse_driver.hbf" [boot.limine.ableos.modules.ps2_mouse_driver]
# [boot.limine.ableos.modules.ps2_mouse_driver] path = "boot:///ps2_mouse_driver.hbf"
# [boot.limine.ableos.modules.ps2_keyboard_driver] # [boot.limine.ableos.modules.ps2_keyboard_driver]
# path = "boot:///ps2_keyboard_driver.hbf" # path = "boot:///ps2_keyboard_driver.hbf"
# [boot.limine.ableos.modules.sunset_client] # [boot.limine.ableos.modules.sunset_client]
# path = "boot:///sunset_client.hbf" # path = "boot:///sunset_client.hbf"
#
# [boot.limine.ableos.modules.sunset_client_2] # [boot.limine.ableos.modules.sunset_client_2]
# path = "boot:///sunset_client_2.hbf" # path = "boot:///sunset_client_2.hbf"
#
# [boot.limine.ableos.modules.sdoom] [boot.limine.ableos.modules.sdoom]
# path = "boot:///sdoom.hbf" path = "boot:///sdoom.hbf"
#
# [boot.limine.ableos.modules.sunset_server] [boot.limine.ableos.modules.sunset_server]
# path = "boot:///sunset_server.hbf" path = "boot:///sunset_server.hbf"
# [boot.limine.ableos.modules.pcspkr] # [boot.limine.ableos.modules.pcspkr]
# path = "boot:///pcspkr.hbf" # path = "boot:///pcspkr.hbf"
[boot.limine.ableos.modules.test] # [boot.limine.ableos.modules.test]
path = "boot:///test.hbf" # path = "boot:///test.hbf"