Migrate AR subsystem to C++
This commit is contained in:
@@ -16,30 +16,37 @@
|
||||
|
||||
|
||||
/* Routines used by XTLDR */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArClearInterruptFlag(VOID);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
BOOLEAN
|
||||
ArCpuId(IN OUT PCPUID_REGISTERS Registers);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArEnableExtendedPhysicalAddressing(IN ULONG_PTR PageMap);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArHalt(VOID);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG_PTR
|
||||
ArReadControlRegister(IN USHORT ControlRegister);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
ArReadModelSpecificRegister(IN ULONG Register);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArWriteControlRegister(IN USHORT ControlRegister,
|
||||
|
@@ -16,28 +16,34 @@
|
||||
|
||||
|
||||
/* HAL library routines forward references */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
UCHAR
|
||||
HlIoPortInByte(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG
|
||||
HlIoPortInLong(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
USHORT
|
||||
HlIoPortInShort(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutByte(IN USHORT Port,
|
||||
IN UCHAR Data);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutLong(IN USHORT Port,
|
||||
IN ULONG Value);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutShort(IN USHORT Port,
|
||||
|
@@ -14,6 +14,7 @@
|
||||
|
||||
|
||||
/* XT BootLoader routines forward references */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
EFI_STATUS
|
||||
BlGetXtLdrProtocol(IN PEFI_SYSTEM_TABLE SystemTable,
|
||||
|
@@ -14,26 +14,32 @@
|
||||
|
||||
|
||||
/* Kernel Executive routines forward references */
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
BOOLEAN
|
||||
ExAcquireRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
ExCompleteRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
ExInitializeRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
ExReInitializeRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
ExReleaseRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REFERENCE Descriptor);
|
||||
|
@@ -15,11 +15,13 @@
|
||||
|
||||
|
||||
/* Routines used by XTLDR */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
XTSTATUS
|
||||
HlComPortPutByte(IN PCPPORT Port,
|
||||
IN UCHAR Byte);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
XTSTATUS
|
||||
HlInitializeComPort(IN OUT PCPPORT Port,
|
||||
|
@@ -16,26 +16,32 @@
|
||||
|
||||
|
||||
/* Routines used by XTLDR */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArClearInterruptFlag(VOID);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
BOOLEAN
|
||||
ArCpuId(IN OUT PCPUID_REGISTERS Registers);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArHalt(VOID);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG_PTR
|
||||
ArReadControlRegister(IN USHORT ControlRegister);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
ArReadModelSpecificRegister(IN ULONG Register);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArWriteControlRegister(IN USHORT ControlRegister,
|
||||
|
@@ -16,28 +16,34 @@
|
||||
|
||||
|
||||
/* HAL library routines forward references */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
UCHAR
|
||||
HlIoPortInByte(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG
|
||||
HlIoPortInLong(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
USHORT
|
||||
HlIoPortInShort(IN USHORT Port);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutByte(IN USHORT Port,
|
||||
IN UCHAR Data);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutLong(IN USHORT Port,
|
||||
IN ULONG Value);
|
||||
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
HlIoPortOutShort(IN USHORT Port,
|
||||
|
@@ -16,36 +16,44 @@
|
||||
|
||||
|
||||
/* Kernel services routines forward references */
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeAcquireSpinLock(IN OUT PKSPIN_LOCK SpinLock);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeAcquireSystemResource(IN SYSTEM_RESOURCE_TYPE ResourceType,
|
||||
OUT PSYSTEM_RESOURCE_HEADER *ResourceHeader);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
BOOLEAN
|
||||
KeCancelTimer(IN PKTIMER Timer);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeGetCurrentRunLevel(VOID);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeGetSystemResource(IN SYSTEM_RESOURCE_TYPE ResourceType,
|
||||
OUT PSYSTEM_RESOURCE_HEADER *ResourceHeader);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
BOOLEAN
|
||||
KeGetTimerState(IN PKTIMER Timer);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeApc(IN PKAPC Apc,
|
||||
@@ -57,45 +65,54 @@ KeInitializeApc(IN PKAPC Apc,
|
||||
IN KPROCESSOR_MODE ApcMode,
|
||||
IN PVOID Context);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeDpc(IN PKDPC Dpc,
|
||||
IN PKDEFERRED_ROUTINE DpcRoutine,
|
||||
IN PVOID DpcContext);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
IN LONG Count,
|
||||
IN LONG Limit);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeThreadedDpc(IN PKDPC Dpc,
|
||||
IN PKDEFERRED_ROUTINE DpcRoutine,
|
||||
IN PVOID DpcContext);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeTimer(OUT PKTIMER Timer,
|
||||
IN KTIMER_TYPE Type);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeLowerRunLevel(IN KRUNLEVEL RunLevel);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeRaiseRunLevel(IN KRUNLEVEL RunLevel);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
LONG
|
||||
KeReadSemaphoreState(IN PKSEMAPHORE Semaphore);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
LONG
|
||||
KeReleaseSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
@@ -103,23 +120,28 @@ KeReleaseSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
IN LONG Adjustment,
|
||||
IN BOOLEAN Wait);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel);
|
||||
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeReleaseSpinLock(IN OUT PKSPIN_LOCK SpinLock);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeReleaseSystemResource(IN PSYSTEM_RESOURCE_HEADER ResourceHeader);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeSetTargetProcessorDpc(IN PKDPC Dpc,
|
||||
IN CCHAR Number);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeSetTimer(IN PKTIMER Timer,
|
||||
@@ -127,10 +149,12 @@ KeSetTimer(IN PKTIMER Timer,
|
||||
IN LONG Period,
|
||||
IN PKDPC Dpc);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeSignalCallDpcDone(IN PVOID SystemArgument);
|
||||
|
||||
XTCLINK
|
||||
XTAPI
|
||||
BOOLEAN
|
||||
KeSignalCallDpcSynchronize(IN PVOID SystemArgument);
|
||||
|
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
/* Base XT headers */
|
||||
#include <xtcompat.h>
|
||||
#include <xtdefs.h>
|
||||
#include <xtstatus.h>
|
||||
#include <xttarget.h>
|
||||
|
21
sdk/xtdk/xtcompat.h
Normal file
21
sdk/xtdk/xtcompat.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/xtcompat.h
|
||||
* DESCRIPTION: C/C++ compatibility macros
|
||||
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_XTCOMPAT_H
|
||||
#define __XTDK_XTCOMPAT_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define XTCLINK extern "C"
|
||||
typedef wchar_t wchar;
|
||||
#else
|
||||
#define XTCLINK
|
||||
typedef unsigned short wchar;
|
||||
#endif
|
||||
|
||||
#endif /* __XTDK_XTCOMPAT_H */
|
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
/* Base XT headers */
|
||||
#include <xtcompat.h>
|
||||
#include <xtdefs.h>
|
||||
#include <xtstatus.h>
|
||||
#include <xttarget.h>
|
||||
|
@@ -10,6 +10,7 @@
|
||||
#define __XTDK_XTTYPES_H
|
||||
|
||||
#include <xttarget.h>
|
||||
#include <xtcompat.h>
|
||||
|
||||
|
||||
/* Standard C types */
|
||||
@@ -128,7 +129,7 @@ typedef CHAR SZ, *PSZ;
|
||||
typedef const CHAR CSZ, *PCSZ;
|
||||
|
||||
/* UNICODE character types */
|
||||
typedef USHORT WCHAR, *PWCHAR;
|
||||
typedef wchar WCHAR, *PWCHAR;
|
||||
typedef WCHAR *PWCH, *LPWCH;
|
||||
typedef const WCHAR *PCWCH, *LPCWCH;
|
||||
typedef WCHAR *PWSTR, *LPWSTR, *NWPSTR;
|
||||
|
Reference in New Issue
Block a user