Max OS 0.3
Loading...
Searching...
No Matches
interrupts.h File Reference

Defines a InterruptManager and InterruptHandler for managing hardware and software interrupts. More...

#include <cstdint>
#include <hardwarecommunication/port.h>
#include <system/gdt.h>
#include <common/inputStream.h>
#include <common/outputStream.h>
#include <common/map.h>
#include <system/cpu.h>
#include <hardwarecommunication/apic.h>

Go to the source code of this file.

Classes

class  MaxOS::hardwarecommunication::InterruptHandler
 Handles a certain interrupt number. More...
 
struct  MaxOS::hardwarecommunication::IDTR
 A struct that holds the Interrupt Descriptor Table Register (IDTR) More...
 
struct  MaxOS::hardwarecommunication::InterruptDescriptor
 An entry in the Interrupt Descriptor Table (IDT) More...
 
class  MaxOS::hardwarecommunication::InterruptManager
 Handles all interrupts and passes them to the correct handler. More...
 

Typedefs

typedef struct PACKED MaxOS::hardwarecommunication::IDTR MaxOS::hardwarecommunication::idtr_t
 Alias for IDTR struct.
 
typedef struct PACKED MaxOS::hardwarecommunication::InterruptDescriptor MaxOS::hardwarecommunication::interrupt_descriptor_t
 Alias for InterruptDescriptor struct.
 

Variables

constexpr uint16_t MaxOS::hardwarecommunication::HARDWARE_INTERRUPT_OFFSET = 0x20
 The offset in the IDT where interrupts from hardware start.
 
constexpr uint16_t MaxOS::hardwarecommunication::MAX_INTERRUPT_HANDLERS = 256
 The maximum number of interrupt handlers.
 

Detailed Description

Defines a InterruptManager and InterruptHandler for managing hardware and software interrupts.

Date
10th July 2022
Author
Max Tyson

Definition in file interrupts.h.

Variable Documentation

◆ HARDWARE_INTERRUPT_OFFSET

constexpr uint16_t MaxOS::hardwarecommunication::HARDWARE_INTERRUPT_OFFSET = 0x20
constexpr

The offset in the IDT where interrupts from hardware start.

Definition at line 74 of file interrupts.h.

Referenced by MaxOS::hardwarecommunication::InterruptManager::handle_interrupt_request(), and MaxOS::hardwarecommunication::InterruptManager::InterruptManager().

◆ MAX_INTERRUPT_HANDLERS

constexpr uint16_t MaxOS::hardwarecommunication::MAX_INTERRUPT_HANDLERS = 256
constexpr

The maximum number of interrupt handlers.

Definition at line 75 of file interrupts.h.