Add IPI service routines for APC, DPC, and freeze request handling
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 46s

This commit is contained in:
2026-06-08 14:49:02 +02:00
parent b285bc7312
commit d175a817a5
4 changed files with 280 additions and 0 deletions

View File

@@ -19,6 +19,7 @@
#include <ke/dpc.hh>
#include <ke/event.hh>
#include <ke/guard.hh>
#include <ke/ipi.hh>
#include <ke/kprocess.hh>
#include <ke/krnlinit.hh>
#include <ke/kthread.hh>

View File

@@ -0,0 +1,31 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/ke/ipi.hh
* DESCRIPTION: Interprocessor interrupt support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_KE_IPI_HH
#define __XTOSKRNL_KE_IPI_HH
#include <xtos.hh>
/* Kernel Library */
namespace KE
{
class Ipi
{
public:
STATIC XTCDECL VOID HandleIpiInterrupt(IN PKTRAP_FRAME TrapFrame);
STATIC XTAPI BOOLEAN HandleIpiService(IN PKTRAP_FRAME TrapFrame,
IN PKEXCEPTION_FRAME ExceptionFrame);
STATIC XTAPI VOID SendBroadcastIpi(IN ULONG Request,
IN BOOLEAN Self);
STATIC XTAPI VOID SendIpi(IN ULONG Request,
IN PKAFFINITY_MAP TargetSet);
};
}
#endif /* __XTOSKRNL_KE_IPI_HH */