elks-enhanced
public
Read
Owner: themaster
Branch: master
Commits: 6893
Updated: 2026-04-19 00:15
Git CLI clone URL
git clone https://www.xt-emporium.com/git/elks-enhanced.git
Fullscreen desktop URL
Code
Commits
History
Branches
Bug Reports
Discussions
Compare
Settings
elks-enhanced
/
elks
/
arch
/
i86
/
kernel
/
irq-solo86.c
File editor
/* * Interrupt Handling for Solo/86 * * Ferry Hendrikx, April 2025 */ #include <linuxmt/config.h> #include <linuxmt/errno.h> #include <linuxmt/sched.h> #include <linuxmt/types.h> #include <arch/io.h> #include <arch/irq.h> #include <arch/ports.h> /* * Low level interrupt handling for the Solo/86 platform */ void initialize_irq(void) { // disable all IRQs outb(0x00, INT_CMDS_PORT); } void enable_irq(unsigned int irq) { if (irq > 3) return; unsigned char mask = 1 << irq; unsigned char state = inb(INT_CMDS_PORT); state |= mask; outb(state, INT_CMDS_PORT); } int remap_irq(int irq) { return (irq); } // Get interrupt vector from IRQ int irq_vector (int irq) { // IRQ 0-7 are mapped to vectors INT 20h-27h return (irq + 0x20); } void disable_irq(unsigned int irq) { if (irq > 3) return; flag_t flags; save_flags(flags); clr_irq(); unsigned char mask = ~(1 << irq); unsigned char state = inb(INT_CMDS_PORT); state &= mask; outb(state, INT_CMDS_PORT); restore_flags(flags); }
Commit message
This repository is read-only for this account.
Repository snapshot
Current branch
master
Visibility
public
Your access
Read
Remote
Configured
File activity
View file history