Открыть боковую панель
Агарков Михаил Романович
ReactOS
Коммиты
17cf47df
Коммит
17cf47df
создал
Окт 02, 2024
по автору
Timo Kreuzer
Просмотр файлов
[ROSLOAD] Add rosload.exe target as 2nd stage loader
владелец
ebcf3f23
Изменения
3
Скрыть пробелы
Построчно
Рядом
boot/freeldr/freeldr/CMakeLists.txt
Просмотр файла @
17cf47df
...
@@ -135,6 +135,7 @@ if(ARCH STREQUAL "i386")
...
@@ -135,6 +135,7 @@ if(ARCH STREQUAL "i386")
endif
()
endif
()
include
(
pcat.cmake
)
include
(
pcat.cmake
)
include
(
rosload.cmake
)
if
(
NOT ARCH STREQUAL
"i386"
OR
NOT
(
SARCH STREQUAL
"pc98"
OR SARCH STREQUAL
"xbox"
))
if
(
NOT ARCH STREQUAL
"i386"
OR
NOT
(
SARCH STREQUAL
"pc98"
OR SARCH STREQUAL
"xbox"
))
include
(
uefi.cmake
)
include
(
uefi.cmake
)
endif
()
endif
()
boot/freeldr/freeldr/rosload.cmake
0 → 100644
Просмотр файла @
17cf47df
##
## PROJECT: FreeLoader
## LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
## PURPOSE: Build definitions for rosload 2nd stage loader
## COPYRIGHT: Copyright 2024 Timo Kreuzer <timo.kreuzer@reactos.org>
##
spec2def
(
rosload.exe rosload.spec
)
list
(
APPEND ROSLOAD_SOURCE
include/freeldr.h
bootmgr.c
custom.c
linuxboot.c
miscboot.c
options.c
oslist.c
lib/rtl/libsupp.c
${
REACTOS_SOURCE_DIR
}
/ntoskrnl/config/cmboot.c
ntldr/conversion.c
ntldr/inffile.c
ntldr/registry.c
ntldr/setupldr.c
ntldr/winldr.c
ntldr/wlmemory.c
ntldr/wlregistry.c
)
if
(
ARCH STREQUAL
"i386"
)
list
(
APPEND ROSLOAD_SOURCE
arch/i386/halstub.c
arch/i386/ntoskrnl.c
disk/scsiport.c
ntldr/arch/i386/winldr.c
ntldr/headless.c
)
if
(
SARCH STREQUAL
"pc98"
OR SARCH STREQUAL
"xbox"
)
# These machine types require built-in bitmap font
list
(
APPEND ROSLOAD_SOURCE
arch/vgafont.c
)
endif
()
list
(
APPEND ROSLOAD_ASM_SOURCE
arch/i386/drvmap.S
arch/i386/linux.S
)
elseif
(
ARCH STREQUAL
"amd64"
)
list
(
APPEND ROSLOAD_SOURCE
ntldr/arch/amd64/winldr.c
)
list
(
APPEND ROSLOAD_ASM_SOURCE
arch/amd64/misc.S
arch/amd64/linux.S
)
elseif
(
ARCH STREQUAL
"arm"
)
list
(
APPEND ROSLOAD_SOURCE
ntldr/arch/arm/winldr.c
)
list
(
APPEND ROSLOAD_ASM_SOURCE
arch/arm/boot.S
)
else
()
#TBD
endif
()
add_asm_files
(
rosload_asm
${
ROSLOAD_ASM_SOURCE
}
)
add_executable
(
rosload
${
ROSLOAD_SOURCE
}
${
rosload_asm
}
${
CMAKE_CURRENT_BINARY_DIR
}
/rosload.def
)
set_target_properties
(
rosload
PROPERTIES
ENABLE_EXPORTS TRUE
DEFINE_SYMBOL
""
)
set_image_base
(
rosload 0x10000
)
# 0x200000
set_subsystem
(
rosload native
)
set_entrypoint
(
rosload RunLoader
)
if
(
ARCH STREQUAL
"i386"
)
target_link_libraries
(
rosload mini_hal
)
endif
()
target_link_libraries
(
rosload blcmlib blrtl libcntpr
)
add_importlibs
(
rosload freeldr
)
# dynamic analysis switches
if
(
STACK_PROTECTOR
)
target_sources
(
rosload PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>
)
endif
()
if
(
RUNTIME_CHECKS
)
target_link_libraries
(
rosload runtmchk
)
endif
()
add_dependencies
(
rosload bugcodes asm xdk
)
add_cd_file
(
TARGET rosload DESTINATION loader NO_CAB FOR bootcd regtest livecd hybridcd
)
boot/freeldr/freeldr/rosload.spec
0 → 100644
Просмотр файла @
17cf47df
@ stdcall RtlAssert(ptr ptr long ptr)
@ 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 -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)
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать