diff --git a/xtoskrnl/ar/amd64/archsup.S b/xtoskrnl/ar/amd64/archsup.S index d9ce63d..2ffd67a 100644 --- a/xtoskrnl/ar/amd64/archsup.S +++ b/xtoskrnl/ar/amd64/archsup.S @@ -4,6 +4,7 @@ * FILE: xtoskrnl/ar/amd64/archsup.S * DESCRIPTION: Provides AMD64 architecture features not implementable in C * DEVELOPERS: Rafal Kupiec + * Aiken Harris */ #include @@ -224,3 +225,14 @@ ArTrapEntry: .quad ArTrap0x\i\j .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 diff --git a/xtoskrnl/ar/i686/archsup.S b/xtoskrnl/ar/i686/archsup.S index 7d02b61..f1afc38 100644 --- a/xtoskrnl/ar/i686/archsup.S +++ b/xtoskrnl/ar/i686/archsup.S @@ -213,3 +213,14 @@ _ArTrapEntry: .endif .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 diff --git a/xtoskrnl/includes/ar/amd64/assembly.hh b/xtoskrnl/includes/ar/amd64/assembly.hh index 69355f9..01cddac 100644 --- a/xtoskrnl/includes/ar/amd64/assembly.hh +++ b/xtoskrnl/includes/ar/amd64/assembly.hh @@ -25,6 +25,11 @@ XTCLINK PVOID ArStartApplicationProcessorEnd[]; XTCLINK ULONG_PTR ArTrapEntry[256]; /* Forward reference for assembler code */ +XTCLINK +XTCDECL +VOID +ArHandleSpuriousInterrupt(VOID); + XTCLINK XTCDECL VOID diff --git a/xtoskrnl/includes/ar/i686/assembly.hh b/xtoskrnl/includes/ar/i686/assembly.hh index 1fab319..6ecc1a5 100644 --- a/xtoskrnl/includes/ar/i686/assembly.hh +++ b/xtoskrnl/includes/ar/i686/assembly.hh @@ -22,6 +22,11 @@ XTCLINK PVOID ArStartApplicationProcessorEnd[]; XTCLINK ULONG_PTR ArTrapEntry[256]; /* Forward reference for assembler code */ +XTCLINK +XTCDECL +VOID +ArHandleSpuriousInterrupt(VOID); + XTCLINK XTCDECL VOID