- Add X86_MSR_GSBASE, X86_MSR_KERNEL_GSBASE constants

- Add KIDT_INIT structure for the idt init table
- Add prototypes for ISRs

svn path=/branches/ros-amd64-bringup/; revision=35494
This commit is contained in:
Timo Kreuzer
2008-08-20 22:55:59 +00:00
parent bfb63a8031
commit 9576c5f7f6
@@ -43,10 +43,21 @@
#define FRAME_EDITED 0xFFF8
#define X86_MSR_GSBASE 0xC0000101
#define X86_MSR_KERNEL_GSBASE 0xC0000102
#ifndef __ASM__
#include "intrin_i.h"
typedef struct _KIDT_INIT
{
UCHAR InterruptId;
UCHAR Dpl;
UCHAR Type;
PVOID ServiceRoutine;
} KIDT_INIT, *PKIDT_INIT;
//#define KeArchFnInit() Ke386FnInit()
#define KeArchFnInit() DbgPrint("KeArchFnInit is unimplemented!\n");
#define KeArchHaltProcessor() Ke386HaltProcessor()
@@ -67,6 +78,31 @@ Ki386InitializeTss(
IN PKGDTENTRY Gdt
);
VOID KiDivideErrorFault();
VOID KiDebugTrapOrFault();
VOID KiNmiInterrupt();
VOID KiBreakpointTrap();
VOID KiOverflowTrap();
VOID KiBoundFault();
VOID KiInvalidOpcodeFault();
VOID KiNpxNotAvailableFault();
VOID KiDoubleFaultAbort();
VOID KiNpxSegmentOverrunAbort();
VOID KiInvalidTssFault();
VOID KiSegmentNotPresentFault();
VOID KiStackFault();
VOID KiGeneralProtectionFault();
VOID KiPageFault();
VOID KiFloatingErrorFault();
VOID KiAlignmentFault();
VOID KiMcheckAbort();
VOID KiXmmException();
VOID KiApcInterrupt();
VOID KiRaiseAssertion();
VOID KiDebugServiceTrap();
VOID KiDpcInterrupt();
VOID KiIpiInterrupt();
VOID
KiGdtPrepareForApplicationProcessorInit(ULONG Id);
VOID