C to C++ migration and refactoring #17
@@ -994,123 +994,3 @@ ArWriteControlRegister(IN USHORT ControlRegister,
|
||||
{
|
||||
AR::CpuFunc::WriteControlRegister(ControlRegister, Value);
|
||||
}
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArYieldProcessor(VOID)
|
||||
{
|
||||
AR::CpuFunc::YieldProcessor();
|
||||
}
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArReadWriteBarrier(VOID)
|
||||
{
|
||||
AR::CpuFunc::ReadWriteBarrier();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
BOOLEAN
|
||||
ArInterruptsEnabled(VOID)
|
||||
{
|
||||
return AR::CpuFunc::InterruptsEnabled();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArSetInterruptFlag(VOID)
|
||||
{
|
||||
AR::CpuFunc::SetInterruptFlag();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
ArReadGSQuadWord(ULONG Offset)
|
||||
{
|
||||
return AR::CpuFunc::ReadGSQuadWord(Offset);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG_PTR
|
||||
ArReadDebugRegister(IN USHORT DebugRegister)
|
||||
{
|
||||
return AR::CpuFunc::ReadDebugRegister(DebugRegister);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
UINT
|
||||
ArReadMxCsrRegister(VOID)
|
||||
{
|
||||
return AR::CpuFunc::ReadMxCsrRegister();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreGlobalDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreGlobalDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreInterruptDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreInterruptDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreLocalDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreLocalDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreTaskRegister(OUT PVOID Destination)
|
||||
{
|
||||
AR::CpuFunc::StoreTaskRegister(Destination);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArFlushTlb(VOID)
|
||||
{
|
||||
AR::CpuFunc::FlushTlb();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArWriteModelSpecificRegister(IN ULONG Register,
|
||||
IN ULONGLONG Value)
|
||||
{
|
||||
AR::CpuFunc::WriteModelSpecificRegister(Register, Value);
|
||||
}
|
||||
|
@@ -945,121 +945,3 @@ ArWriteControlRegister(IN USHORT ControlRegister,
|
||||
{
|
||||
AR::CpuFunc::WriteControlRegister(ControlRegister, Value);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArYieldProcessor(VOID)
|
||||
{
|
||||
AR::CpuFunc::YieldProcessor();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArReadWriteBarrier(VOID)
|
||||
{
|
||||
AR::CpuFunc::ReadWriteBarrier();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
BOOLEAN
|
||||
ArInterruptsEnabled(VOID)
|
||||
{
|
||||
return AR::CpuFunc::InterruptsEnabled();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArSetInterruptFlag(VOID)
|
||||
{
|
||||
AR::CpuFunc::SetInterruptFlag();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG
|
||||
ArReadFSDualWord(ULONG Offset)
|
||||
{
|
||||
return AR::CpuFunc::ReadFSDualWord(Offset);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
ULONG_PTR
|
||||
ArReadDebugRegister(IN USHORT DebugRegister)
|
||||
{
|
||||
return AR::CpuFunc::ReadDebugRegister(DebugRegister);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
UINT
|
||||
ArReadMxCsrRegister(VOID)
|
||||
{
|
||||
return AR::CpuFunc::ReadMxCsrRegister();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreGlobalDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreGlobalDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreInterruptDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreInterruptDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreLocalDescriptorTable(IN PVOID Source)
|
||||
{
|
||||
AR::CpuFunc::StoreLocalDescriptorTable(Source);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArStoreTaskRegister(OUT PVOID Destination)
|
||||
{
|
||||
AR::CpuFunc::StoreTaskRegister(Destination);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArFlushTlb(VOID)
|
||||
{
|
||||
AR::CpuFunc::FlushTlb();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
ArWriteModelSpecificRegister(IN ULONG Register,
|
||||
IN ULONGLONG Value)
|
||||
{
|
||||
AR::CpuFunc::WriteModelSpecificRegister(Register, Value);
|
||||
}
|
||||
|
@@ -591,45 +591,3 @@ HL::FrameBuffer::ScrollRegion(VOID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
XTSTATUS
|
||||
HlDisplayCharacter(IN WCHAR Character)
|
||||
{
|
||||
return HL::FrameBuffer::DisplayCharacter(Character);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
HlGetFrameBufferResolution(OUT PULONG Width,
|
||||
OUT PULONG Height)
|
||||
{
|
||||
HL::FrameBuffer::GetFrameBufferResolution(Width, Height);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
HlInitializeFrameBuffer(VOID)
|
||||
{
|
||||
return HL::FrameBuffer::InitializeFrameBuffer();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
HlInitializeScrollRegion(IN ULONG Left,
|
||||
IN ULONG Top,
|
||||
IN ULONG Right,
|
||||
IN ULONG Bottom,
|
||||
IN ULONG FontColor)
|
||||
{
|
||||
HL::FrameBuffer::InitializeScrollRegion(Left, Top, Right, Bottom, FontColor);
|
||||
}
|
||||
|
@@ -37,15 +37,3 @@ KE::Irq::SetInterruptHandler(IN ULONG Vector,
|
||||
ProcessorBlock->IdtBase[(UCHAR) Vector].OffsetMiddle = (((ULONG_PTR)Handler >> 16) & 0xFFFF);
|
||||
ProcessorBlock->IdtBase[(UCHAR) Vector].OffsetHigh = (ULONG_PTR)Handler >> 32;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeSetInterruptHandler(IN ULONG Vector,
|
||||
IN PVOID Handler)
|
||||
{
|
||||
KE::Irq::SetInterruptHandler(Vector, Handler);
|
||||
}
|
||||
|
@@ -112,46 +112,3 @@ KE::Processor::SaveProcessorState(OUT PKPROCESSOR_STATE CpuState)
|
||||
AR::CpuFunc::StoreLocalDescriptorTable(&CpuState->SpecialRegisters.Ldtr);
|
||||
AR::CpuFunc::StoreTaskRegister(&CpuState->SpecialRegisters.Tr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKPROCESSOR_BLOCK
|
||||
KeGetCurrentProcessorBlock(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorBlock();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKPROCESSOR_CONTROL_BLOCK
|
||||
KeGetCurrentProcessorControlBlock(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorControlBlock();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
ULONG
|
||||
KeGetCurrentProcessorNumber(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorNumber();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKTHREAD
|
||||
KeGetCurrentThread(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentThread();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
VOID
|
||||
KepSaveProcessorState(OUT PKPROCESSOR_STATE CpuState)
|
||||
{
|
||||
KE::Processor::SaveProcessorState(CpuState);
|
||||
}
|
||||
|
@@ -9,6 +9,13 @@
|
||||
#include <xtos.hh>
|
||||
|
||||
|
||||
/**
|
||||
* Retrieves a pointer to the DebugPrint routine provided by the bootloader.
|
||||
*
|
||||
* @return This routine returns a pointer to the DebugPrint routine.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
PKD_PRINT_ROUTINE
|
||||
KE::BootInformation::GetDebugPrint(VOID)
|
||||
@@ -146,25 +153,3 @@ KE::BootInformation::InitializeInitializationBlock(IN PKERNEL_INITIALIZATION_BLO
|
||||
InitializationBlock = Block;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeGetKernelParameter(IN PCWSTR ParameterName,
|
||||
OUT PCWSTR *Parameter)
|
||||
{
|
||||
return KE::BootInformation::GetKernelParameter(ParameterName, Parameter);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
PKERNEL_INITIALIZATION_BLOCK
|
||||
KeGetInitializationBlock(VOID)
|
||||
{
|
||||
return KE::BootInformation::GetInitializationBlock();
|
||||
}
|
||||
|
@@ -79,23 +79,3 @@ KE::Crash::PanicEx(IN ULONG Code,
|
||||
KD::DebugIo::KdPrint(L"Fatal System Error: 0x%08lx\nKernel Panic!\n\n", Code);
|
||||
HaltSystem();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeHaltSystem(VOID)
|
||||
{
|
||||
KE::Crash::HaltSystem();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KePanic(ULONG Code)
|
||||
{
|
||||
KE::Crash::Panic(Code);
|
||||
}
|
||||
|
@@ -85,6 +85,21 @@ KeCancelTimer(IN PKTIMER Timer)
|
||||
return KE::Timer::CancelTimer(Timer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current running level of the current processor.
|
||||
*
|
||||
* @return This routine returns the current running level.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeGetCurrentRunLevel(VOID)
|
||||
{
|
||||
return KE::RunLevel::GetCurrentRunLevel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Looks for an unacquired system resource of the specified type and returns it without acquiring an ownership.
|
||||
*
|
||||
@@ -291,6 +306,42 @@ KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock)
|
||||
KE::SpinLock::InitializeSpinLock(SpinLock);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lowers the running level of the current processor.
|
||||
*
|
||||
* @param RunLevel
|
||||
* Supplies the new running level to lower to.
|
||||
*
|
||||
* @return This routine does not return any value.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeLowerRunLevel(KRUNLEVEL RunLevel)
|
||||
{
|
||||
KE::RunLevel::LowerRunLevel(RunLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Raises the running level of the current processor.
|
||||
*
|
||||
* @param RunLevel
|
||||
* Supplies the new running level to raise to.
|
||||
*
|
||||
* @return This routine returns the old running level.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeRaiseRunLevel(KRUNLEVEL RunLevel)
|
||||
{
|
||||
return KE::RunLevel::RaiseRunLevel(RunLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads semaphore's current signal state.
|
||||
*
|
||||
|
@@ -36,16 +36,3 @@ KE::Irq::SetInterruptHandler(IN ULONG Vector,
|
||||
ProcessorBlock->IdtBase[(UCHAR) Vector].Offset = (USHORT)((ULONG)Handler & 0xFFFF);
|
||||
ProcessorBlock->IdtBase[(UCHAR) Vector].ExtendedOffset = (USHORT)((ULONG)Handler >> 16);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
VOID
|
||||
KeSetInterruptHandler(IN ULONG Vector,
|
||||
IN PVOID Handler)
|
||||
{
|
||||
KE::Irq::SetInterruptHandler(Vector, Handler);
|
||||
}
|
||||
|
@@ -100,46 +100,3 @@ KE::Processor::SaveProcessorState(OUT PKPROCESSOR_STATE CpuState)
|
||||
AR::CpuFunc::StoreLocalDescriptorTable(&CpuState->SpecialRegisters.Ldtr);
|
||||
AR::CpuFunc::StoreTaskRegister(&CpuState->SpecialRegisters.Tr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKPROCESSOR_BLOCK
|
||||
KeGetCurrentProcessorBlock(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorBlock();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKPROCESSOR_CONTROL_BLOCK
|
||||
KeGetCurrentProcessorControlBlock(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorControlBlock();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
ULONG
|
||||
KeGetCurrentProcessorNumber(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentProcessorNumber();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
PKTHREAD
|
||||
KeGetCurrentThread(VOID)
|
||||
{
|
||||
return KE::Processor::GetCurrentThread();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
VOID
|
||||
KepSaveProcessorState(OUT PKPROCESSOR_STATE CpuState)
|
||||
{
|
||||
KE::Processor::SaveProcessorState(CpuState);
|
||||
}
|
@@ -74,18 +74,3 @@ KE::KProcess::InitializeProcess(IN OUT PKPROCESS Process,
|
||||
/* Set initial process state */
|
||||
Process->State = ProcessInMemory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeProcess(IN OUT PKPROCESS Process,
|
||||
IN KPRIORITY Priority,
|
||||
IN KAFFINITY Affinity,
|
||||
IN PULONG_PTR DirectoryTable,
|
||||
IN BOOLEAN Alignment)
|
||||
{
|
||||
KE::KProcess::InitializeProcess(Process, Priority, Affinity, DirectoryTable, Alignment);
|
||||
}
|
||||
|
@@ -292,24 +292,3 @@ KE::KThread::SuspendThread(IN PVOID NormalContext,
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeInitializeThread(IN PKPROCESS Process,
|
||||
IN OUT PKTHREAD Thread,
|
||||
IN PKSYSTEM_ROUTINE SystemRoutine,
|
||||
IN PKSTART_ROUTINE StartRoutine,
|
||||
IN PVOID StartContext,
|
||||
IN PCONTEXT Context,
|
||||
IN PVOID EnvironmentBlock,
|
||||
IN PVOID Stack,
|
||||
IN BOOLEAN RunThread)
|
||||
{
|
||||
return KE::KThread::InitializeThread(Process, Thread, SystemRoutine, StartRoutine, StartContext, Context, EnvironmentBlock, Stack, RunThread);
|
||||
}
|
@@ -703,10 +703,6 @@ KE::KUbsan::LeaveFrame()
|
||||
ActiveFrame = FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Handles the addition overflow error. This is internal routine implementing ABI defined by CLANG UBSAN.
|
||||
*
|
||||
@@ -783,6 +779,7 @@ __ubsan_handle_divrem_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_float_cast_overflow(IN PKUBSAN_FLOAT_CAST_OVERFLOW_DATA Data,
|
||||
@@ -808,6 +805,7 @@ __ubsan_handle_float_cast_overflow(IN PKUBSAN_FLOAT_CAST_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_function_type_mismatch(IN PKUBSAN_FUNCTION_TYPE_MISMATCH_DATA Data,
|
||||
@@ -829,6 +827,7 @@ __ubsan_handle_function_type_mismatch(IN PKUBSAN_FUNCTION_TYPE_MISMATCH_DATA Dat
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_invalid_builtin(IN PKUBSAN_INVALID_BUILTIN_DATA Data)
|
||||
@@ -855,6 +854,7 @@ __ubsan_handle_invalid_builtin(IN PKUBSAN_INVALID_BUILTIN_DATA Data)
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_mul_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
@@ -880,6 +880,7 @@ __ubsan_handle_mul_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_negate_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
@@ -904,6 +905,7 @@ __ubsan_handle_negate_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_out_of_bounds(IN PKUBSAN_OUT_OF_BOUNDS_DATA Data,
|
||||
@@ -931,6 +933,7 @@ __ubsan_handle_out_of_bounds(IN PKUBSAN_OUT_OF_BOUNDS_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_pointer_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
@@ -959,6 +962,7 @@ __ubsan_handle_pointer_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_shift_out_of_bounds(IN PKUBSAN_SHIFT_OUT_OF_BOUNDS_DATA Data,
|
||||
@@ -987,6 +991,7 @@ __ubsan_handle_shift_out_of_bounds(IN PKUBSAN_SHIFT_OUT_OF_BOUNDS_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_sub_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
@@ -1012,6 +1017,7 @@ __ubsan_handle_sub_overflow(IN PKUBSAN_OVERFLOW_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_type_mismatch(IN PKUBSAN_TYPE_MISMATCH_DATA Data,
|
||||
@@ -1036,6 +1042,7 @@ __ubsan_handle_type_mismatch(IN PKUBSAN_TYPE_MISMATCH_DATA Data,
|
||||
*
|
||||
* @see https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CodeGenFunction.h#L113
|
||||
*/
|
||||
XTCLINK
|
||||
XTCDECL
|
||||
VOID
|
||||
__ubsan_handle_type_mismatch_v1(IN PKUBSAN_TYPE_MISMATCH_DATA_V1 Data,
|
||||
|
@@ -79,32 +79,3 @@ KE::RunLevel::RaiseRunLevel(IN KRUNLEVEL RunLevel)
|
||||
/* Return old run level */
|
||||
return OldRunLevel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeGetCurrentRunLevel(VOID)
|
||||
{
|
||||
return KE::RunLevel::GetCurrentRunLevel();
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
VOID
|
||||
KeLowerRunLevel(KRUNLEVEL RunLevel)
|
||||
{
|
||||
KE::RunLevel::LowerRunLevel(RunLevel);
|
||||
}
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
XTCLINK
|
||||
XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeRaiseRunLevel(KRUNLEVEL RunLevel)
|
||||
{
|
||||
return KE::RunLevel::RaiseRunLevel(RunLevel);
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ KE::Semaphore::InitializeSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
Semaphore->Limit = Limit;
|
||||
|
||||
/* Initialize semaphore wait list */
|
||||
RtlInitializeListHead(&Semaphore->Header.WaitListHead);
|
||||
RTL::LinkedList::InitializeListHead(&Semaphore->Header.WaitListHead);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -161,10 +161,10 @@ KE::SystemResources::InitializeResources(VOID)
|
||||
|
||||
/* Initialize system resources spin lock and resource list */
|
||||
SpinLock::InitializeSpinLock(&ResourcesLock);
|
||||
RtlInitializeListHead(&ResourcesListHead);
|
||||
RTL::LinkedList::InitializeListHead(&ResourcesListHead);
|
||||
|
||||
/* Make sure there are some system resources available */
|
||||
if(!RtlListEmpty(BootInformation::GetSystemResources()))
|
||||
if(!RTL::LinkedList::ListEmpty(BootInformation::GetSystemResources()))
|
||||
{
|
||||
/* Iterate through system resources list */
|
||||
ListEntry = BootInformation::GetSystemResources()->Flink;
|
||||
@@ -195,8 +195,8 @@ KE::SystemResources::InitializeResources(VOID)
|
||||
if(ResourceSize != 0 && ResourceSize == ResourceHeader->ResourceSize)
|
||||
{
|
||||
/* Move valid resource to the internal kernel list of system resources */
|
||||
RtlRemoveEntryList(&ResourceHeader->ListEntry);
|
||||
RtlInsertTailList(&ResourcesListHead, &ResourceHeader->ListEntry);
|
||||
RTL::LinkedList::RemoveEntryList(&ResourceHeader->ListEntry);
|
||||
RTL::LinkedList::InsertTailList(&ResourcesListHead, &ResourceHeader->ListEntry);
|
||||
}
|
||||
|
||||
/* Go to the next list entry */
|
||||
|
@@ -30,7 +30,7 @@ KE::Timer::CancelTimer(IN PKTIMER Timer)
|
||||
Result = FALSE;
|
||||
|
||||
/* Raise run level and acquire dispatcher lock */
|
||||
RunLevel = KeRaiseRunLevel(SYNC_LEVEL);
|
||||
RunLevel = KE::RunLevel::RaiseRunLevel(SYNC_LEVEL);
|
||||
SpinLock::AcquireQueuedSpinLock(DispatcherLock);
|
||||
|
||||
/* Check timer status */
|
||||
@@ -113,8 +113,8 @@ KE::Timer::InitializeTimer(OUT PKTIMER Timer,
|
||||
Timer->Period = 0;
|
||||
|
||||
/* Initialize linked lists */
|
||||
RtlInitializeListHead(&Timer->Header.WaitListHead);
|
||||
RtlInitializeListHead(&Timer->TimerListEntry);
|
||||
RTL::LinkedList::InitializeListHead(&Timer->Header.WaitListHead);
|
||||
RTL::LinkedList::InitializeListHead(&Timer->TimerListEntry);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,7 +138,7 @@ KE::Timer::QueryTimer(IN PKTIMER Timer)
|
||||
DueTime = 0;
|
||||
|
||||
/* Raise run level and acquire dispatcher lock */
|
||||
RunLevel = KeRaiseRunLevel(SYNC_LEVEL);
|
||||
RunLevel = KE::RunLevel::RaiseRunLevel(SYNC_LEVEL);
|
||||
SpinLock::AcquireQueuedSpinLock(DispatcherLock);
|
||||
|
||||
/* Check timer status */
|
||||
@@ -201,5 +201,5 @@ KE::Timer::RemoveTimer(IN OUT PKTIMER Timer)
|
||||
{
|
||||
/* Remove the timer from the list */
|
||||
Timer->Header.Inserted = FALSE;
|
||||
RtlRemoveEntryList(&Timer->TimerListEntry);
|
||||
RTL::LinkedList::RemoveEntryList(&Timer->TimerListEntry);
|
||||
}
|
||||
|
@@ -3064,7 +3064,7 @@ RTL::WideString::WriteValue(PRTL_PRINT_CONTEXT Context,
|
||||
|
||||
|
||||
|
||||
/* TEMPORARY FOR COMPATIBILITY WITH C CODE */
|
||||
/* XTLDR API */
|
||||
XTCLINK
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
|
Reference in New Issue
Block a user