/* * COPYRIGHT: See COPYING.ARM in the top level directory * PROJECT: ReactOS UEFI Boot Manager * FILE: boot/environ/lib/misc/rtlcompat.c * PURPOSE: RTL Library Compatibility Routines * PROGRAMMER: Alex Ionescu (alex.ionescu@reactos.org) */ /* INCLUDES ******************************************************************/ #include "bl.h" /* FUNCTIONS *****************************************************************/ #if DBG VOID FASTCALL CHECK_PAGED_CODE_RTL ( char *file, int line ) { // boot-code is always ok } #endif #ifdef _WIN64 PVOID MmHighestUserAddress = (PVOID)0xFFFFFFFFULL; // CHECKME #else PVOID MmHighestUserAddress = (PVOID)0xFFFFFFFF; #endif PVOID NTAPI RtlpAllocateMemory ( _In_ ULONG Bytes, _In_ ULONG Tag ) { UNREFERENCED_PARAMETER(Tag); return BlMmAllocateHeap(Bytes); } VOID NTAPI RtlpFreeMemory ( _In_ PVOID Mem, _In_ ULONG Tag ) { UNREFERENCED_PARAMETER(Tag); BlMmFreeHeap(Mem); } NTSTATUS NTAPI RtlpSafeCopyMemory ( _Out_writes_bytes_all_(Length) VOID UNALIGNED *Destination, _In_reads_bytes_(Length) CONST VOID UNALIGNED *Source, _In_ SIZE_T Length ) { RtlCopyMemory(Destination, Source, Length); return STATUS_SUCCESS; } VOID NTAPI RtlAssert ( IN PVOID FailedAssertion, IN PVOID FileName, IN ULONG LineNumber, IN PCHAR Message OPTIONAL ) { if (Message != NULL) { EfiPrintf(L"*** ASSERTION \'%S\' FAILED AT line %lu in %S (%S) ***\r\n", (PCHAR)FailedAssertion, LineNumber, (PCHAR)FileName, Message); } else { EfiPrintf(L"*** ASSERTION \'%S\' FAILED AT line %lu in %S ***\r\n", (PCHAR)FailedAssertion, LineNumber, (PCHAR)FileName); } /* Issue a breakpoint */ __debugbreak(); } ULONG DbgPrint ( const char *Format, ... ) { EfiPrintf(L"%S\r\n", Format); return 0; } // FIXME: DECLSPEC_NORETURN VOID NTAPI KeBugCheckEx( _In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4) { __assume(0); }