mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 13:13:40 +00:00
[FREELDR] Export functions for a 2nd stage loader
This commit is contained in:
parent
2f9dde09e1
commit
f81c1910ee
5 changed files with 226 additions and 47 deletions
|
@ -131,7 +131,7 @@ list(APPEND FREELDR_BASE_SOURCE
|
|||
if(ARCH STREQUAL "i386")
|
||||
# Must be included together with disk/scsiport.c
|
||||
list(APPEND FREELDR_BASE_SOURCE
|
||||
${CMAKE_CURRENT_BINARY_DIR}/freeldr_pe.def)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/freeldr.def)
|
||||
endif()
|
||||
|
||||
include(pcat.cmake)
|
||||
|
|
|
@ -1,47 +1,184 @@
|
|||
@ stdcall RtlAssert(ptr ptr long ptr)
|
||||
@ varargs ScsiDebugPrint(long str)
|
||||
@ stdcall ScsiPortCompleteRequest(ptr long long long long)
|
||||
@ stdcall ScsiPortConvertPhysicalAddressToUlong(long long)
|
||||
@ varargs -arch=i386 ScsiDebugPrint(long str)
|
||||
@ stdcall -arch=i386 ScsiPortCompleteRequest(ptr long long long long)
|
||||
@ stdcall -arch=i386 ScsiPortConvertPhysicalAddressToUlong(long long)
|
||||
@ stdcall -arch=i386 ScsiPortConvertUlongToPhysicalAddress(long)
|
||||
@ stdcall -arch=x86_64 ScsiPortConvertUlongToPhysicalAddress(long)
|
||||
@ stdcall ScsiPortFlushDma(ptr)
|
||||
@ stdcall ScsiPortFreeDeviceBase(ptr ptr)
|
||||
@ stdcall ScsiPortGetBusData(ptr long long long ptr long)
|
||||
@ stdcall ScsiPortGetDeviceBase(ptr long long long long long long)
|
||||
@ stdcall ScsiPortGetLogicalUnit(ptr long long long)
|
||||
@ stdcall ScsiPortGetPhysicalAddress(ptr ptr ptr long)
|
||||
@ stdcall ScsiPortGetSrb(ptr long long long long)
|
||||
@ stdcall ScsiPortGetUncachedExtension(ptr ptr long)
|
||||
@ stdcall ScsiPortGetVirtualAddress(ptr long long)
|
||||
@ stdcall ScsiPortInitialize(ptr ptr ptr ptr)
|
||||
@ stdcall ScsiPortIoMapTransfer(ptr ptr long long)
|
||||
@ stdcall ScsiPortLogError(ptr ptr long long long long long)
|
||||
@ stdcall ScsiPortMoveMemory(ptr ptr long)
|
||||
@ cdecl ScsiPortNotification()
|
||||
@ stdcall ScsiPortReadPortBufferUchar(ptr ptr long)
|
||||
@ stdcall ScsiPortReadPortBufferUshort(ptr ptr long)
|
||||
@ stdcall ScsiPortReadPortBufferUlong(ptr ptr long)
|
||||
@ stdcall ScsiPortReadPortUchar(ptr)
|
||||
@ stdcall ScsiPortReadPortUshort(ptr)
|
||||
@ stdcall ScsiPortReadPortUlong(ptr)
|
||||
@ stdcall ScsiPortReadRegisterBufferUchar(ptr ptr long)
|
||||
@ stdcall ScsiPortReadRegisterBufferUshort(ptr ptr long)
|
||||
@ stdcall ScsiPortReadRegisterBufferUlong(ptr ptr long)
|
||||
@ stdcall ScsiPortReadRegisterUchar(ptr)
|
||||
@ stdcall ScsiPortReadRegisterUshort(ptr)
|
||||
@ stdcall ScsiPortReadRegisterUlong(ptr)
|
||||
@ stdcall ScsiPortSetBusDataByOffset(ptr long long long ptr long long)
|
||||
@ stdcall ScsiPortStallExecution(long)
|
||||
@ stdcall ScsiPortValidateRange(ptr long long long long long long)
|
||||
@ stdcall ScsiPortWritePortBufferUchar(ptr ptr long)
|
||||
@ stdcall ScsiPortWritePortBufferUshort(ptr ptr long)
|
||||
@ stdcall ScsiPortWritePortBufferUlong(ptr ptr long)
|
||||
@ stdcall ScsiPortWritePortUchar(ptr long)
|
||||
@ stdcall ScsiPortWritePortUshort(ptr long)
|
||||
@ stdcall ScsiPortWritePortUlong(ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterBufferUchar(ptr ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterBufferUshort(ptr ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterBufferUlong(ptr ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterUchar(ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterUshort(ptr long)
|
||||
@ stdcall ScsiPortWriteRegisterUlong(ptr long)
|
||||
#@ stdcall -arch=x86_64 ScsiPortConvertUlongToPhysicalAddress(long)
|
||||
@ stdcall -arch=i386 ScsiPortFlushDma(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortFreeDeviceBase(ptr ptr)
|
||||
@ stdcall -arch=i386 ScsiPortGetBusData(ptr long long long ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortGetDeviceBase(ptr long long long long long long)
|
||||
@ stdcall -arch=i386 ScsiPortGetLogicalUnit(ptr long long long)
|
||||
@ stdcall -arch=i386 ScsiPortGetPhysicalAddress(ptr ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortGetSrb(ptr long long long long)
|
||||
@ stdcall -arch=i386 ScsiPortGetUncachedExtension(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortGetVirtualAddress(ptr long long)
|
||||
@ stdcall -arch=i386 ScsiPortInitialize(ptr ptr ptr ptr)
|
||||
@ stdcall -arch=i386 ScsiPortIoMapTransfer(ptr ptr long long)
|
||||
@ stdcall -arch=i386 ScsiPortLogError(ptr ptr long long long long long)
|
||||
@ stdcall -arch=i386 ScsiPortMoveMemory(ptr ptr long)
|
||||
@ cdecl -arch=i386 ScsiPortNotification()
|
||||
@ stdcall -arch=i386 ScsiPortReadPortBufferUchar(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadPortBufferUshort(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadPortBufferUlong(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadPortUchar(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortReadPortUshort(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortReadPortUlong(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterBufferUchar(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterBufferUshort(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterBufferUlong(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterUchar(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterUshort(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortReadRegisterUlong(ptr)
|
||||
@ stdcall -arch=i386 ScsiPortSetBusDataByOffset(ptr long long long ptr long long)
|
||||
@ stdcall -arch=i386 ScsiPortStallExecution(long)
|
||||
@ stdcall -arch=i386 ScsiPortValidateRange(ptr long long long long long long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortBufferUchar(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortBufferUshort(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortBufferUlong(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortUchar(ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortUshort(ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWritePortUlong(ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterBufferUchar(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterBufferUshort(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterBufferUlong(ptr ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterUchar(ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterUshort(ptr long)
|
||||
@ stdcall -arch=i386 ScsiPortWriteRegisterUlong(ptr long)
|
||||
|
||||
# ARC
|
||||
@ cdecl ArcClose()
|
||||
@ cdecl ArcGetDiskCount()
|
||||
@ cdecl ArcGetDiskInfo()
|
||||
@ cdecl ArcGetFileInformation()
|
||||
@ cdecl ArcGetTime()
|
||||
@ cdecl ArcOpen()
|
||||
@ cdecl ArcRead()
|
||||
@ cdecl ArcSeek()
|
||||
|
||||
# Debug
|
||||
@ cdecl DbgParseDebugChannels()
|
||||
@ cdecl DbgPrint(str)
|
||||
@ cdecl DbgPrint2(long long str long str)
|
||||
@ cdecl DebugDumpBuffer()
|
||||
@ cdecl DebugInit()
|
||||
@ cdecl FrLdrBugCheckWithMessage()
|
||||
@ stdcall KeBugCheckEx(long long long long long)
|
||||
|
||||
# Heap
|
||||
@ cdecl FrLdrHeapAllocateEx()
|
||||
@ cdecl FrLdrHeapFreeEx()
|
||||
@ cdecl FrLdrHeapAlloc()
|
||||
@ cdecl FrLdrHeapFree()
|
||||
@ cdecl FrLdrTempAlloc()
|
||||
@ cdecl FrLdrTempFree()
|
||||
@ cdecl FrLdrHeapCleanupAll()
|
||||
|
||||
# INI (check if we can move this to rosload)
|
||||
@ cdecl IniAddSection()
|
||||
@ cdecl IniAddSettingValueToSection()
|
||||
@ cdecl IniCleanup()
|
||||
@ cdecl IniGetFileSectionListHead()
|
||||
@ cdecl IniGetNumSectionItems()
|
||||
@ cdecl IniGetSectionSettingNameSize()
|
||||
@ cdecl IniGetSectionSettingValueSize()
|
||||
@ cdecl IniFileInitialize()
|
||||
@ cdecl IniModifySettingValue()
|
||||
@ cdecl IniOpenSection()
|
||||
@ cdecl IniReadSettingByName()
|
||||
@ cdecl IniReadSettingByNumber()
|
||||
|
||||
# Mm
|
||||
@ cdecl AddMemoryDescriptor()
|
||||
@ cdecl MmAllocateHighestMemoryBelowAddress()
|
||||
@ cdecl MmAllocateMemoryAtAddress()
|
||||
@ cdecl MmAllocateMemoryWithType()
|
||||
@ cdecl MmFreeMemory()
|
||||
@ cdecl MmGetBiosMemoryMap()
|
||||
@ cdecl MmGetHighestPhysicalPage()
|
||||
@ cdecl MmGetLoaderPagesSpanned()
|
||||
@ cdecl MmGetMemoryMap()
|
||||
@ cdecl MmGetSystemMemoryMapTypeString()
|
||||
@ cdecl MmGetTotalPagesInLookupTable()
|
||||
|
||||
# NtLdr options
|
||||
@ cdecl NtLdrGetNextOption()
|
||||
@ cdecl NtLdrGetOption()
|
||||
@ cdecl NtLdrGetOptionEx()
|
||||
@ cdecl NtLdrGetOptionExN()
|
||||
@ cdecl NtLdrAddOptions()
|
||||
|
||||
# PeLdr
|
||||
@ cdecl PeLdrAllocateDataTableEntry()
|
||||
@ cdecl PeLdrCheckForLoadedDll()
|
||||
@ cdecl PeLdrFreeDataTableEntry()
|
||||
@ cdecl PeLdrImportDllLoadCallback()
|
||||
@ cdecl PeLdrInitSecurityCookie()
|
||||
@ cdecl PeLdrLoadBootImage()
|
||||
@ cdecl PeLdrLoadImage()
|
||||
@ cdecl PeLdrLoadImageEx()
|
||||
@ cdecl PeLdrScanImportDescriptorTable()
|
||||
|
||||
# UI
|
||||
@ cdecl UiDisplayMenu()
|
||||
@ cdecl UiDrawBackdrop()
|
||||
@ cdecl UiDrawProgressBarCenter()
|
||||
@ cdecl UiDrawStatusText()
|
||||
@ cdecl UiDrawText()
|
||||
@ cdecl UiEditBox()
|
||||
@ cdecl UiGetMenuBgColor()
|
||||
@ cdecl UiGetScreenHeight()
|
||||
@ cdecl UiIndicateProgress()
|
||||
@ cdecl UiInitialize()
|
||||
@ cdecl UiMessageBox()
|
||||
@ cdecl UiMessageBoxCritical()
|
||||
@ cdecl UiResetForSOS()
|
||||
@ cdecl UiSetProgressBarSubset()
|
||||
@ cdecl UiSetProgressBarText()
|
||||
@ cdecl UiShowMessageBoxesInArgv()
|
||||
@ cdecl UiShowMessageBoxesInSection()
|
||||
@ cdecl UiUnInitialize()
|
||||
@ cdecl UiUpdateProgressBar()
|
||||
@ cdecl TuiPrintf()
|
||||
|
||||
# Other
|
||||
@ cdecl ChainLoadBiosBootSectorCode()
|
||||
@ cdecl ConstructArcPath()
|
||||
@ cdecl DissectArcPath()
|
||||
@ cdecl DiskStopFloppyMotor()
|
||||
@ cdecl DriveMapGetBiosDriveNumber()
|
||||
@ cdecl FrldrGetBootDrive()
|
||||
@ cdecl FrldrGetBootPartition()
|
||||
@ cdecl FrLdrGetBootPath()
|
||||
@ cdecl FsGetServiceName()
|
||||
@ cdecl FsOpenFile() # Why not ArcOpen?
|
||||
@ cdecl GetArgumentValue()
|
||||
@ cdecl GetBootMgrInfo()
|
||||
@ cdecl IsAcpiPresent()
|
||||
@ cdecl LoadSettings()
|
||||
@ cdecl MachHwDetect()
|
||||
@ cdecl MachPrepareForReactOS()
|
||||
@ cdecl MachGetExtendedBIOSData()
|
||||
@ cdecl MachVideoGetFontsFromFirmware()
|
||||
@ cdecl PxeCallApi()
|
||||
@ cdecl RamDiskInitialize()
|
||||
@ cdecl Reboot()
|
||||
@ cdecl Relocator16Boot()
|
||||
@ cdecl StallExecutionProcessor()
|
||||
|
||||
# Additional stuff for scsiport
|
||||
@ stdcall CpDoesPortExist(ptr)
|
||||
@ stdcall CpEnableFifo(ptr long)
|
||||
@ stdcall CpGetByte(ptr ptr long long)
|
||||
@ stdcall CpInitialize(ptr ptr long)
|
||||
@ stdcall CpPutByte(ptr long)
|
||||
@ cdecl DissectArcPath2()
|
||||
@ cdecl -i386 DriveMapMapDrivesInSection()
|
||||
@ cdecl FsRegisterDevice()
|
||||
@ cdecl FsGetDeviceSpecific()
|
||||
@ cdecl FsSetDeviceSpecific()
|
||||
@ stdcall ExAllocatePool(long long)
|
||||
@ stdcall ExAllocatePoolWithTag(long long long)
|
||||
@ stdcall ExFreePool(ptr)
|
||||
@ stdcall ExFreePoolWithTag(ptr long)
|
||||
@ cdecl MmSetMemoryType()
|
||||
|
|
|
@ -424,12 +424,46 @@ DbgParseDebugChannels(PCHAR Value)
|
|||
|
||||
#else
|
||||
|
||||
#undef DebugInit
|
||||
VOID
|
||||
DebugInit(
|
||||
_In_ PCSTR DebugString)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DebugString);
|
||||
}
|
||||
|
||||
ULONG
|
||||
DbgPrint(PCCH Format, ...)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(Format);
|
||||
return 0;
|
||||
}
|
||||
|
||||
VOID
|
||||
DbgPrint2(ULONG Mask, ULONG Level, const char *File, ULONG Line, char *Format, ...)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(Mask);
|
||||
UNREFERENCED_PARAMETER(Level);
|
||||
UNREFERENCED_PARAMETER(File);
|
||||
UNREFERENCED_PARAMETER(Line);
|
||||
UNREFERENCED_PARAMETER(Format);
|
||||
}
|
||||
|
||||
VOID
|
||||
DebugDumpBuffer(ULONG Mask, PVOID Buffer, ULONG Length)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(Mask);
|
||||
UNREFERENCED_PARAMETER(Buffer);
|
||||
UNREFERENCED_PARAMETER(Length);
|
||||
}
|
||||
|
||||
#undef DbgParseDebugChannels
|
||||
VOID
|
||||
DbgParseDebugChannels(PCHAR Value)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(Value);
|
||||
}
|
||||
|
||||
#endif // DBG
|
||||
|
||||
ULONG
|
||||
|
|
|
@ -109,6 +109,14 @@ DbgDumpMemoryMap(
|
|||
}
|
||||
DbgPrint("\n");
|
||||
}
|
||||
#else
|
||||
/* Dummy, so we can export it */
|
||||
PCSTR
|
||||
MmGetSystemMemoryMapTypeString(
|
||||
TYPE_OF_MEMORY Type)
|
||||
{
|
||||
return "-";
|
||||
}
|
||||
#endif
|
||||
|
||||
ULONG
|
||||
|
|
|
@ -22,7 +22,7 @@ elseif(ARCH STREQUAL "amd64")
|
|||
endif()
|
||||
|
||||
|
||||
spec2def(freeldr_pe.exe freeldr.spec)
|
||||
spec2def(freeldr.sys freeldr.spec ADD_IMPORTLIB)
|
||||
|
||||
list(APPEND PCATLDR_ARC_SOURCE
|
||||
${FREELDR_ARC_SOURCE}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue