Files
2026-06-23 19:11:14 +00:00

34 lines
645 B
C

/*
* Copyright (c) 2026, Chloe M.
* Provided under the BSD-3 clause.
*
* Description: Interrupt gate management
* Author: Chloe M.
*/
#ifndef _MACHINE_IDT_H_
#define _MACHINE_IDT_H_ 1
#define IDT_INT_GATE 0x8E
#define IDT_TRAP_GATE 0x8F
#define IDT_USER_GATE 0xEE
#ifndef __ASSEMBLER__
/*
* Set an IDT entry
*
* @Vector: Interrupt vector to set
* @IsrBase: ISR base to set
* @Type: Gate type
* @Ist: Interrupt stack table index
*/
VOID MdIdtSetEntry(UCHAR Vector, UPTR IsrBase, UCHAR Type, UCHAR Ist);
/*
* Load the IDT
*/
VOID MdIdtLoad(VOID);
#endif /* !__ASSEMBLER__ */
#endif /* !_MACHINE_IDT_H_ */