stos/amd64: lapic: Add IPI def groundwork

Signed-off-by: Chloe M. <chloe@mensia.org>
This commit is contained in:
Chloe M.
2026-06-26 22:03:31 +00:00
parent 9a85d25f5e
commit 9f040b7eed
+44
View File
@@ -12,6 +12,50 @@
#include <stdef.h> #include <stdef.h>
#include <hal/kpcr.h> #include <hal/kpcr.h>
/*
* Destination shorthand values for inter-processor
* interrupts.
*
* @IPI_XND_NONE: No shorthand
* @IPI_XND_SELF: Self shorthand
* @IPI_XND_AIS: All including self shorthand
* @IPI_XND_AES: All exclduing self shorthand
*/
typedef enum {
IPI_XND_NONE,
IPI_XND_SELF,
IPI_XND_AIS,
IPI_XND_AES
} IPI_SHORTHAND;
/*
* Delivery mode values for inter-processor
* interrupts.
*
* @IPI_DELMOD_FIXED: Deliver a specific interrupt vector to a slutty core~
* @IPI_LOWPRI: Equivalent to a FIXED IPI but lowest priority
* @IPI_DELMOD_SMI: Sends an SMI, we don't use this
* @IPI_DELMOD_RESERVED: Reserved
* @IPI_DELMOD_NMI: Deliver a non-maskable interrupt
* @IPI_DELMOD_INIT: Deliver an INIT IPI to a processor
* @IPI_DELMOD_STARTUP: Deliver a STARTUP IPI to a processor
*/
typedef enum {
IPI_DELMOD_FIXED,
IPI_DELMOD_LOWPRI,
IPI_DELMOD_SMI,
IPI_DELMOD_RESERVED,
IPI_DELMOD_NMI,
IPI_DEMOD_INIT,
IPI_DELMOD_STARTUP
} IPI_DELMOD;
/* IPI Delivery status bits */
#define IPI_DELSTAT_PENDING BIT(0)
/* IPI Destination mode */
#define IPI_DELMOD_LOGICAL BIT(0)
/* /*
* Initialize the Local APIC unit for the current * Initialize the Local APIC unit for the current
* processor. * processor.