ReactOS 0.4.16-dev-340-g0540c21
i386idt.c
Go to the documentation of this file.
1
2#include <freeldr.h>
3
4
5KIDTENTRY DECLSPEC_ALIGN(4) i386Idt[32];
6KDESCRIPTOR i386IdtDescriptor = {0, 255, (ULONG)i386Idt};
7
8static
9void
13 USHORT Access)
14{
15 i386Idt[Vector].Offset = (ULONG)ServiceHandler & 0xffff;
16 i386Idt[Vector].ExtendedOffset = (ULONG)ServiceHandler >> 16;
17 i386Idt[Vector].Selector = PMODE_CS;
18 i386Idt[Vector].Access = Access;
19}
20
21void
24{
28 InitIdtVector(3, i386Breakpoint, 0x8e00);
29 InitIdtVector(4, i386Overflow, 0x8e00);
35 InitIdtVector(10, i386InvalidTSS, 0x8e00);
39 InitIdtVector(14, i386PageFault, 0x8e00);
43}
#define __cdecl
Definition: accygwin.h:79
static DWORD WINAPI ServiceHandler(DWORD ctrl, DWORD event_type, LPVOID event_data, LPVOID context)
Definition: service.c:57
void __cdecl i386GeneralProtectionFault(void)
void __cdecl i386SegmentNotPresent(void)
void __cdecl i386MachineCheck(void)
void __cdecl i386AlignmentCheck(void)
void __cdecl i386NMIException(void)
void __cdecl i386Overflow(void)
void __cdecl i386PageFault(void)
void __cdecl i386InvalidOpcode(void)
void __cdecl i386InvalidTSS(void)
void __cdecl i386DebugException(void)
void __cdecl i386CoprocessorError(void)
void __cdecl i386Breakpoint(void)
void __cdecl i386StackException(void)
void __cdecl i386CoprocessorSegment(void)
void __cdecl i386BoundException(void)
void __cdecl i386DivideByZero(void)
void __cdecl i386FPUNotAvailable(void)
void __cdecl i386DoubleFault(void)
static void InitIdtVector(UCHAR Vector, PVOID ServiceHandler, USHORT Access)
Definition: i386idt.c:10
void __cdecl InitIdt(void)
Definition: i386idt.c:23
#define DECLSPEC_ALIGN(x)
Definition: ntbasedef.h:259
unsigned short USHORT
Definition: pedump.c:61
uint32_t ULONG
Definition: typedefs.h:59
#define PMODE_CS
Definition: x86common.h:70
unsigned char UCHAR
Definition: xmlstorage.h:181