C to C++ migration and refactoring #17
@@ -419,4 +419,11 @@ typedef struct _CPUID_SIGNATURE
|
|||||||
ULONG Unused2:4;
|
ULONG Unused2:4;
|
||||||
} CPU_SIGNATURE, *PCPU_SIGNATURE;
|
} CPU_SIGNATURE, *PCPU_SIGNATURE;
|
||||||
|
|
||||||
|
/* Trampoline types */
|
||||||
|
typedef enum _TRAMPOLINE_TYPE
|
||||||
|
{
|
||||||
|
TrampolineApStartup,
|
||||||
|
TrampolineEnableXpa
|
||||||
|
} TRAMPOLINE_TYPE, *PTRAMPOLINE_TYPE;
|
||||||
|
|
||||||
#endif /* __XTDK_AMD64_ARTYPES_H */
|
#endif /* __XTDK_AMD64_ARTYPES_H */
|
||||||
|
@@ -30,6 +30,7 @@ typedef enum _PIC_I8259_ICW1_OPERATING_MODE PIC_I8259_ICW1_OPERATING_MODE, *PPIC
|
|||||||
typedef enum _PIC_I8259_ICW4_BUFFERED_MODE PIC_I8259_ICW4_BUFFERED_MODE, *PPIC_I8259_ICW4_BUFFERED_MODE;
|
typedef enum _PIC_I8259_ICW4_BUFFERED_MODE PIC_I8259_ICW4_BUFFERED_MODE, *PPIC_I8259_ICW4_BUFFERED_MODE;
|
||||||
typedef enum _PIC_I8259_ICW4_EOI_MODE PIC_I8259_ICW4_EOI_MODE, *PPIC_I8259_ICW4_EOI_MODE;
|
typedef enum _PIC_I8259_ICW4_EOI_MODE PIC_I8259_ICW4_EOI_MODE, *PPIC_I8259_ICW4_EOI_MODE;
|
||||||
typedef enum _PIC_I8259_ICW4_SYSTEM_MODE PIC_I8259_ICW4_SYSTEM_MODE, *PPIC_I8259_ICW4_SYSTEM_MODE;
|
typedef enum _PIC_I8259_ICW4_SYSTEM_MODE PIC_I8259_ICW4_SYSTEM_MODE, *PPIC_I8259_ICW4_SYSTEM_MODE;
|
||||||
|
typedef enum _TRAMPOLINE_TYPE TRAMPOLINE_TYPE, *PTRAMPOLINE_TYPE;
|
||||||
|
|
||||||
/* Architecture-specific structures forward references */
|
/* Architecture-specific structures forward references */
|
||||||
typedef struct _CONTEXT CONTEXT, *PCONTEXT;
|
typedef struct _CONTEXT CONTEXT, *PCONTEXT;
|
||||||
|
@@ -384,4 +384,10 @@ typedef struct _CPUID_SIGNATURE
|
|||||||
ULONG Unused2:4;
|
ULONG Unused2:4;
|
||||||
} CPU_SIGNATURE, *PCPU_SIGNATURE;
|
} CPU_SIGNATURE, *PCPU_SIGNATURE;
|
||||||
|
|
||||||
|
/* Trampoline types */
|
||||||
|
typedef enum _TRAMPOLINE_TYPE
|
||||||
|
{
|
||||||
|
TrampolineApStartup
|
||||||
|
} TRAMPOLINE_TYPE, *PTRAMPOLINE_TYPE;
|
||||||
|
|
||||||
#endif /* __XTDK_I686_ARTYPES_H */
|
#endif /* __XTDK_I686_ARTYPES_H */
|
||||||
|
@@ -30,6 +30,7 @@ typedef enum _PIC_I8259_ICW1_OPERATING_MODE PIC_I8259_ICW1_OPERATING_MODE, *PPIC
|
|||||||
typedef enum _PIC_I8259_ICW4_BUFFERED_MODE PIC_I8259_ICW4_BUFFERED_MODE, *PPIC_I8259_ICW4_BUFFERED_MODE;
|
typedef enum _PIC_I8259_ICW4_BUFFERED_MODE PIC_I8259_ICW4_BUFFERED_MODE, *PPIC_I8259_ICW4_BUFFERED_MODE;
|
||||||
typedef enum _PIC_I8259_ICW4_EOI_MODE PIC_I8259_ICW4_EOI_MODE, *PPIC_I8259_ICW4_EOI_MODE;
|
typedef enum _PIC_I8259_ICW4_EOI_MODE PIC_I8259_ICW4_EOI_MODE, *PPIC_I8259_ICW4_EOI_MODE;
|
||||||
typedef enum _PIC_I8259_ICW4_SYSTEM_MODE PIC_I8259_ICW4_SYSTEM_MODE, *PPIC_I8259_ICW4_SYSTEM_MODE;
|
typedef enum _PIC_I8259_ICW4_SYSTEM_MODE PIC_I8259_ICW4_SYSTEM_MODE, *PPIC_I8259_ICW4_SYSTEM_MODE;
|
||||||
|
typedef enum _TRAMPOLINE_TYPE TRAMPOLINE_TYPE, *PTRAMPOLINE_TYPE;
|
||||||
|
|
||||||
/* Architecture-specific structures forward references */
|
/* Architecture-specific structures forward references */
|
||||||
typedef struct _CONTEXT CONTEXT, *PCONTEXT;
|
typedef struct _CONTEXT CONTEXT, *PCONTEXT;
|
||||||
|
@@ -131,3 +131,17 @@ XpaTemporaryGdtDesc: .quad 0x0000000000000000, 0x00CF9A000000FFFF, 0x00AF9A00000
|
|||||||
|
|
||||||
.global ArEnableExtendedPhysicalAddressingEnd
|
.global ArEnableExtendedPhysicalAddressingEnd
|
||||||
ArEnableExtendedPhysicalAddressingEnd:
|
ArEnableExtendedPhysicalAddressingEnd:
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Starts an application processor (AP). This is just a stub.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
.global ArStartApplicationProcessor
|
||||||
|
ArStartApplicationProcessor:
|
||||||
|
|
||||||
|
.global ArStartApplicationProcessorEnd
|
||||||
|
ArStartApplicationProcessorEnd:
|
||||||
|
@@ -23,6 +23,31 @@ AR::ProcSup::GetBootStack(VOID)
|
|||||||
return (PVOID)BootStack;
|
return (PVOID)BootStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
AR::ProcSup::GetTrampolineInformation(IN TRAMPOLINE_TYPE TrampolineType,
|
||||||
|
OUT PVOID *TrampolineCode,
|
||||||
|
OUT PULONG_PTR TrampolineSize)
|
||||||
|
{
|
||||||
|
switch(TrampolineType)
|
||||||
|
{
|
||||||
|
case TrampolineApStartup:
|
||||||
|
*TrampolineCode = (PVOID)ArStartApplicationProcessor;
|
||||||
|
*TrampolineSize = (ULONG_PTR)ArStartApplicationProcessorEnd -
|
||||||
|
(ULONG_PTR)ArStartApplicationProcessor;
|
||||||
|
break;
|
||||||
|
case TrampolineEnableXpa:
|
||||||
|
*TrampolineCode = (PVOID)ArEnableExtendedPhysicalAddressing;
|
||||||
|
*TrampolineSize = (ULONG_PTR)ArEnableExtendedPhysicalAddressingEnd -
|
||||||
|
(ULONG_PTR)ArEnableExtendedPhysicalAddressing;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
*TrampolineCode = NULLPTR;
|
||||||
|
*TrampolineSize = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Identifies processor type (vendor, model, stepping) as well as looks for available CPU features and stores them
|
* Identifies processor type (vendor, model, stepping) as well as looks for available CPU features and stores them
|
||||||
* in Processor Control Block (PRCB).
|
* in Processor Control Block (PRCB).
|
||||||
|
@@ -12,3 +12,15 @@
|
|||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Starts an application processor (AP). This is just a stub.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
.global ArStartApplicationProcessor
|
||||||
|
ArStartApplicationProcessor:
|
||||||
|
|
||||||
|
.global ArStartApplicationProcessorEnd
|
||||||
|
ArStartApplicationProcessorEnd:
|
||||||
|
@@ -23,6 +23,26 @@ AR::ProcSup::GetBootStack(VOID)
|
|||||||
return (PVOID)BootStack;
|
return (PVOID)BootStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
AR::ProcSup::GetTrampolineInformation(IN TRAMPOLINE_TYPE TrampolineType,
|
||||||
|
OUT PVOID *TrampolineCode,
|
||||||
|
OUT PULONG_PTR TrampolineSize)
|
||||||
|
{
|
||||||
|
switch(TrampolineType)
|
||||||
|
{
|
||||||
|
case TrampolineApStartup:
|
||||||
|
*TrampolineCode = (PVOID)ArStartApplicationProcessor;
|
||||||
|
*TrampolineSize = (ULONG_PTR)ArStartApplicationProcessorEnd -
|
||||||
|
(ULONG_PTR)ArStartApplicationProcessor;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
*TrampolineCode = NULLPTR;
|
||||||
|
*TrampolineSize = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Identifies processor type (vendor, model, stepping) as well as looks for available CPU features and stores them
|
* Identifies processor type (vendor, model, stepping) as well as looks for available CPU features and stores them
|
||||||
* in Processor Control Block (PRCB).
|
* in Processor Control Block (PRCB).
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#include <xtos.hh>
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
#include XTOS_ARCH_HEADER(ar, assembly.hh)
|
||||||
#include XTOS_ARCH_HEADER(ar, cpufunc.hh)
|
#include XTOS_ARCH_HEADER(ar, cpufunc.hh)
|
||||||
#include XTOS_ARCH_HEADER(ar, procsup.hh)
|
#include XTOS_ARCH_HEADER(ar, procsup.hh)
|
||||||
#include XTOS_ARCH_HEADER(ar, traps.hh)
|
#include XTOS_ARCH_HEADER(ar, traps.hh)
|
||||||
|
158
xtoskrnl/includes/ar/amd64/assembly.hh
Normal file
158
xtoskrnl/includes/ar/amd64/assembly.hh
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/includes/ar/amd64/assembly.hh
|
||||||
|
* DESCRIPTION: Architecture-specific assembler routines forward references
|
||||||
|
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTOSKRNL_AR_ASSEMBLY_HH
|
||||||
|
#define __XTOSKRNL_AR_ASSEMBLY_HH
|
||||||
|
|
||||||
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
|
||||||
|
/* TrampolineEnableXpa end address to calculate trampoline size */
|
||||||
|
XTCLINK PVOID ArEnableExtendedPhysicalAddressingEnd[];
|
||||||
|
|
||||||
|
/* TrampolineApStartup end address to calculate trampoline size */
|
||||||
|
XTCLINK PVOID ArStartApplicationProcessorEnd[];
|
||||||
|
|
||||||
|
|
||||||
|
/* Forward reference for assembler code */
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArEnableExtendedPhysicalAddressing(IN ULONG_PTR PageMap);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArStartApplicationProcessor(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x00(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x01(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x02(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x03(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x04(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x05(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x06(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x07(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x08(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x09(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0A(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0B(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0C(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0D(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0E(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x10(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x11(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x12(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x13(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x1F(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2C(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2D(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2F(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0xE1(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0xFF(VOID);
|
||||||
|
|
||||||
|
#endif /* __XTOSKRNL_AR_ASSEMBLY_HH */
|
@@ -27,6 +27,9 @@ namespace AR
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
STATIC XTAPI PVOID GetBootStack(VOID);
|
STATIC XTAPI PVOID GetBootStack(VOID);
|
||||||
|
STATIC XTAPI VOID GetTrampolineInformation(IN TRAMPOLINE_TYPE TrampolineType,
|
||||||
|
OUT PVOID *TrampolineCode,
|
||||||
|
OUT PULONG_PTR TrampolineSize);
|
||||||
STATIC XTAPI VOID InitializeProcessor(IN PVOID ProcessorStructures);
|
STATIC XTAPI VOID InitializeProcessor(IN PVOID ProcessorStructures);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -52,129 +52,4 @@ namespace AR
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x00(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x01(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x02(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x03(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x04(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x05(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x06(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x07(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x08(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x09(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0A(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0B(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0C(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0D(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0E(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x10(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x11(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x12(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x13(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x1F(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2C(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2D(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2F(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0xE1(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0xFF(VOID);
|
|
||||||
|
|
||||||
#endif /* __XTOSKRNL_AR_TRAPS_HH */
|
#endif /* __XTOSKRNL_AR_TRAPS_HH */
|
||||||
|
151
xtoskrnl/includes/ar/i686/assembly.hh
Normal file
151
xtoskrnl/includes/ar/i686/assembly.hh
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/includes/ar/i686/assembly.hh
|
||||||
|
* DESCRIPTION: Architecture-specific assembler routines forward references
|
||||||
|
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTOSKRNL_AR_ASSEMBLY_HH
|
||||||
|
#define __XTOSKRNL_AR_ASSEMBLY_HH
|
||||||
|
|
||||||
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
|
||||||
|
/* TrampolineApStartup end address to calculate trampoline size */
|
||||||
|
XTCLINK PVOID ArStartApplicationProcessorEnd[];
|
||||||
|
|
||||||
|
|
||||||
|
/* Forward reference for assembler code */
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArStartApplicationProcessor(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x00(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x01(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x02(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x03(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x04(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x05(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x06(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x07(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x08(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x09(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0A(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0B(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0C(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0D(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x0E(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x10(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x11(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x12(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x13(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2A(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2B(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2C(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2D(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0x2E(VOID);
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArTrap0xFF(VOID);
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __XTOSKRNL_AR_ASSEMBLY_HH */
|
@@ -30,6 +30,9 @@ namespace AR
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
STATIC XTAPI PVOID GetBootStack(VOID);
|
STATIC XTAPI PVOID GetBootStack(VOID);
|
||||||
|
STATIC XTAPI VOID GetTrampolineInformation(IN TRAMPOLINE_TYPE TrampolineType,
|
||||||
|
OUT PVOID *TrampolineCode,
|
||||||
|
OUT PULONG_PTR TrampolineSize);
|
||||||
STATIC XTAPI VOID InitializeProcessor(IN PVOID ProcessorStructures);
|
STATIC XTAPI VOID InitializeProcessor(IN PVOID ProcessorStructures);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -49,129 +49,4 @@ namespace AR
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x00(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x01(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x02(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x03(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x04(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x05(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x06(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x07(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x08(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x09(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0A(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0B(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0C(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0D(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x0E(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x10(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x11(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x12(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x13(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2A(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2B(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2C(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2D(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0x2E(VOID);
|
|
||||||
|
|
||||||
XTCLINK
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
ArTrap0xFF(VOID);
|
|
||||||
|
|
||||||
#endif /* __XTOSKRNL_AR_TRAPS_HH */
|
#endif /* __XTOSKRNL_AR_TRAPS_HH */
|
||||||
|
Reference in New Issue
Block a user