Implement spurious interrupt handler
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 39s

This commit is contained in:
2026-04-01 13:03:46 +02:00
parent d88f9f0a15
commit 232b92fd7e
4 changed files with 33 additions and 0 deletions

View File

@@ -4,6 +4,7 @@
* FILE: xtoskrnl/ar/amd64/archsup.S * FILE: xtoskrnl/ar/amd64/archsup.S
* DESCRIPTION: Provides AMD64 architecture features not implementable in C * DESCRIPTION: Provides AMD64 architecture features not implementable in C
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org> * DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Aiken Harris <harraiken91@gmail.com>
*/ */
#include <ar/amd64/asmsup.h> #include <ar/amd64/asmsup.h>
@@ -224,3 +225,14 @@ ArTrapEntry:
.quad ArTrap0x\i\j .quad ArTrap0x\i\j
.endr .endr
.endr .endr
/**
* Handles a spurious interrupt allowing it to end up.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
.global ArHandleSpuriousInterrupt
ArHandleSpuriousInterrupt:
iretq

View File

@@ -213,3 +213,14 @@ _ArTrapEntry:
.endif .endif
.endr .endr
.endr .endr
/**
* Handles a spurious interrupt allowing it to end up.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
.global _ArHandleSpuriousInterrupt
_ArHandleSpuriousInterrupt:
iret

View File

@@ -25,6 +25,11 @@ XTCLINK PVOID ArStartApplicationProcessorEnd[];
XTCLINK ULONG_PTR ArTrapEntry[256]; XTCLINK ULONG_PTR ArTrapEntry[256];
/* Forward reference for assembler code */ /* Forward reference for assembler code */
XTCLINK
XTCDECL
VOID
ArHandleSpuriousInterrupt(VOID);
XTCLINK XTCLINK
XTCDECL XTCDECL
VOID VOID

View File

@@ -22,6 +22,11 @@ XTCLINK PVOID ArStartApplicationProcessorEnd[];
XTCLINK ULONG_PTR ArTrapEntry[256]; XTCLINK ULONG_PTR ArTrapEntry[256];
/* Forward reference for assembler code */ /* Forward reference for assembler code */
XTCLINK
XTCDECL
VOID
ArHandleSpuriousInterrupt(VOID);
XTCLINK XTCLINK
XTCDECL XTCDECL
VOID VOID