Disable legacy 8259 PIC before enabling APIC
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s

Reviewed-on: #5
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: Jozef Nagy <schkwve@gmail.com>
Co-committed-by: Jozef Nagy <schkwve@gmail.com>
This commit is contained in:
Jozef Nagy 2023-11-29 20:07:16 +01:00 committed by CodingWorkshop Signing Team
parent 669b84a826
commit c8a54e602b
Signed by: CodingWorkshop Signing Team
GPG Key ID: 6DC88369C82795D2
4 changed files with 25 additions and 1 deletions

View File

@ -4,10 +4,25 @@
* FILE: xtoskrnl/hl/x86/pic.c
* DESCRIPTION: Programmable Interrupt Controller (PIC) for x86 (i686/AMD64) support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Jozef Nagy <schkwve@gmail.com>
*/
#include <xtos.h>
/**
* Disables the 8259 PIC.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
HlDisablePic(VOID)
{
HlIoPortOutByte(PIC1_DATA_PORT, 0xFF);
HlIoPortOutByte(PIC2_DATA_PORT, 0xFF);
}
/**
* Reads from the APIC register.

View File

@ -11,8 +11,11 @@
#include <xtos.h>
/* HAL library routines forward references */
XTCDECL
VOID
HlDisablePic(VOID);
XTAPI
VOID
HlClearScreen(VOID);

View File

@ -69,6 +69,9 @@ KepInitializeMachine(VOID)
/* Re-enable IDE interrupts */
HlIoPortOutByte(0x376, 0);
HlIoPortOutByte(0x3F6, 0);
/* Disable the legacy PIC */
HlDisablePic();
}
/**

View File

@ -69,6 +69,9 @@ KepInitializeMachine(VOID)
/* Re-enable IDE interrupts */
HlIoPortOutByte(0x376, 0);
HlIoPortOutByte(0x3F6, 0);
/* Disable the legacy PIC */
HlDisablePic();
}
/**