From 307ec1794c58f047a9655985ea0ed51ec83b4134 Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Tue, 16 Sep 2025 14:20:20 +0200 Subject: [PATCH] Clean up after migration to C++ --- xtoskrnl/ar/amd64/cpufunc.cc | 120 ----------------------------------- xtoskrnl/ar/i686/cpufunc.cc | 118 ---------------------------------- xtoskrnl/hl/fbdev.cc | 42 ------------ xtoskrnl/ke/amd64/irq.cc | 12 ---- xtoskrnl/ke/amd64/proc.cc | 43 ------------- xtoskrnl/ke/bootinfo.cc | 29 ++------- xtoskrnl/ke/crash.cc | 20 ------ xtoskrnl/ke/exports.cc | 51 +++++++++++++++ xtoskrnl/ke/i686/irq.cc | 13 ---- xtoskrnl/ke/i686/proc.cc | 43 ------------- xtoskrnl/ke/kprocess.cc | 15 ----- xtoskrnl/ke/kthread.cc | 21 ------ xtoskrnl/ke/kubsan.cc | 15 +++-- xtoskrnl/ke/runlevel.cc | 29 --------- xtoskrnl/ke/semphore.cc | 2 +- xtoskrnl/ke/sysres.cc | 8 +-- xtoskrnl/ke/timer.cc | 10 +-- xtoskrnl/rtl/widestr.cc | 2 +- 18 files changed, 80 insertions(+), 513 deletions(-) diff --git a/xtoskrnl/ar/amd64/cpufunc.cc b/xtoskrnl/ar/amd64/cpufunc.cc index 17aa43a..8bb9423 100644 --- a/xtoskrnl/ar/amd64/cpufunc.cc +++ b/xtoskrnl/ar/amd64/cpufunc.cc @@ -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); -} diff --git a/xtoskrnl/ar/i686/cpufunc.cc b/xtoskrnl/ar/i686/cpufunc.cc index 4ff49c5..d76c470 100644 --- a/xtoskrnl/ar/i686/cpufunc.cc +++ b/xtoskrnl/ar/i686/cpufunc.cc @@ -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); -} diff --git a/xtoskrnl/hl/fbdev.cc b/xtoskrnl/hl/fbdev.cc index 8b05ded..5b7d42d 100644 --- a/xtoskrnl/hl/fbdev.cc +++ b/xtoskrnl/hl/fbdev.cc @@ -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); -} diff --git a/xtoskrnl/ke/amd64/irq.cc b/xtoskrnl/ke/amd64/irq.cc index 58061ab..0d39623 100644 --- a/xtoskrnl/ke/amd64/irq.cc +++ b/xtoskrnl/ke/amd64/irq.cc @@ -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); -} diff --git a/xtoskrnl/ke/amd64/proc.cc b/xtoskrnl/ke/amd64/proc.cc index 5176a64..3666888 100644 --- a/xtoskrnl/ke/amd64/proc.cc +++ b/xtoskrnl/ke/amd64/proc.cc @@ -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); -} diff --git a/xtoskrnl/ke/bootinfo.cc b/xtoskrnl/ke/bootinfo.cc index bd01a5c..fcdd342 100644 --- a/xtoskrnl/ke/bootinfo.cc +++ b/xtoskrnl/ke/bootinfo.cc @@ -9,6 +9,13 @@ #include +/** + * 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(); -} diff --git a/xtoskrnl/ke/crash.cc b/xtoskrnl/ke/crash.cc index db7c873..50172b4 100644 --- a/xtoskrnl/ke/crash.cc +++ b/xtoskrnl/ke/crash.cc @@ -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); -} diff --git a/xtoskrnl/ke/exports.cc b/xtoskrnl/ke/exports.cc index 5502932..040b2be 100644 --- a/xtoskrnl/ke/exports.cc +++ b/xtoskrnl/ke/exports.cc @@ -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. * diff --git a/xtoskrnl/ke/i686/irq.cc b/xtoskrnl/ke/i686/irq.cc index 5f74d19..556d006 100644 --- a/xtoskrnl/ke/i686/irq.cc +++ b/xtoskrnl/ke/i686/irq.cc @@ -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); -} diff --git a/xtoskrnl/ke/i686/proc.cc b/xtoskrnl/ke/i686/proc.cc index 322b257..c405675 100644 --- a/xtoskrnl/ke/i686/proc.cc +++ b/xtoskrnl/ke/i686/proc.cc @@ -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); -} \ No newline at end of file diff --git a/xtoskrnl/ke/kprocess.cc b/xtoskrnl/ke/kprocess.cc index ad67909..d04a620 100644 --- a/xtoskrnl/ke/kprocess.cc +++ b/xtoskrnl/ke/kprocess.cc @@ -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); -} diff --git a/xtoskrnl/ke/kthread.cc b/xtoskrnl/ke/kthread.cc index 24160b8..5da2a7b 100644 --- a/xtoskrnl/ke/kthread.cc +++ b/xtoskrnl/ke/kthread.cc @@ -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); -} \ No newline at end of file diff --git a/xtoskrnl/ke/kubsan.cc b/xtoskrnl/ke/kubsan.cc index 1719b39..f054784 100644 --- a/xtoskrnl/ke/kubsan.cc +++ b/xtoskrnl/ke/kubsan.cc @@ -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, diff --git a/xtoskrnl/ke/runlevel.cc b/xtoskrnl/ke/runlevel.cc index b13180e..7e447d3 100644 --- a/xtoskrnl/ke/runlevel.cc +++ b/xtoskrnl/ke/runlevel.cc @@ -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); -} diff --git a/xtoskrnl/ke/semphore.cc b/xtoskrnl/ke/semphore.cc index 1f5e246..ff0c44c 100644 --- a/xtoskrnl/ke/semphore.cc +++ b/xtoskrnl/ke/semphore.cc @@ -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); } /** diff --git a/xtoskrnl/ke/sysres.cc b/xtoskrnl/ke/sysres.cc index 7739b6b..24aa5fd 100644 --- a/xtoskrnl/ke/sysres.cc +++ b/xtoskrnl/ke/sysres.cc @@ -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 */ diff --git a/xtoskrnl/ke/timer.cc b/xtoskrnl/ke/timer.cc index b505f43..b556067 100644 --- a/xtoskrnl/ke/timer.cc +++ b/xtoskrnl/ke/timer.cc @@ -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); } diff --git a/xtoskrnl/rtl/widestr.cc b/xtoskrnl/rtl/widestr.cc index 7051ebc..a78e502 100644 --- a/xtoskrnl/rtl/widestr.cc +++ b/xtoskrnl/rtl/widestr.cc @@ -3064,7 +3064,7 @@ RTL::WideString::WriteValue(PRTL_PRINT_CONTEXT Context, -/* TEMPORARY FOR COMPATIBILITY WITH C CODE */ +/* XTLDR API */ XTCLINK XTAPI XTSTATUS