1
Files
interrupt-handling-using-th…/code/apic_def.cpp
2023-03-02 17:29:30 +01:00

35 lines
1.3 KiB
C++

// Excerpt from the Apic class definition
class Apic {
public:
// Enabling the APIC subsystem
static bool isSupported();
static bool isEnabled();
static void enable();
// Enabling SMP
static bool isSmpSupported();
static void startupSmp();
// Controlling the current core's local APIC
static void initializeCurrentLocalApic();
static uint8_t getCpuCount();
static LocalApic &getCurrentLocalApic();
static void enableCurrentErrorHandler();
// Controlling the current core's APIC timer
static bool isCurrentTimerRunning();
static void startCurrentTimer();
static ApicTimer &getCurrentTimer();
// Controlling the current core's interrupts
static void allow(InterruptRequest interruptRequest);
static void forbid(InterruptRequest interruptRequest);
static bool status(InterruptRequest interruptRequest);
static void sendEndOfInterrupt(InterruptVector vector);
static bool isLocalInterrupt(InterruptVector vector);
static bool isExternalInterrupt(InterruptVector vector);
// Tracking interrupt statistics
static void mountVirtualFilesystemNodes();
static void countInterrupt(InterruptVector vector);
}