mirror of
https://github.com/reactos/reactos.git
synced 2025-03-01 03:45:16 +00:00
[TEST_KERNEL][BOOT] make a test kernel for the sake of doing paging
right
This commit is contained in:
parent
f002961da0
commit
84ce7ff4fa
7 changed files with 81 additions and 47 deletions
|
@ -367,6 +367,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||||
add_subdirectory(media)
|
add_subdirectory(media)
|
||||||
add_subdirectory(modules)
|
add_subdirectory(modules)
|
||||||
add_subdirectory(ntoskrnl)
|
add_subdirectory(ntoskrnl)
|
||||||
|
add_subdirectory(test_kernel)
|
||||||
add_subdirectory(subsystems)
|
add_subdirectory(subsystems)
|
||||||
add_subdirectory(sdk/tools/wpp)
|
add_subdirectory(sdk/tools/wpp)
|
||||||
add_subdirectory(win32ss)
|
add_subdirectory(win32ss)
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
[FREELOADER]
|
|
||||||
DefaultOS=LiveCD_Debug
|
|
||||||
TimeOut=5
|
|
||||||
|
|
||||||
[Display]
|
|
||||||
TitleText=ReactOS LiveCD
|
|
||||||
MinimalUI=Yes
|
|
||||||
|
|
||||||
[Operating Systems]
|
|
||||||
LiveCD="LiveCD"
|
|
||||||
LiveCD_Debug="LiveCD (Debug)"
|
|
||||||
LiveCD_Aacpi="LiveCD ACPI APIC (Debug)"
|
|
||||||
LiveCD_VBoxDebug="LiveCD (VBox Debug)"
|
|
||||||
LiveCD_Screen="LiveCD (Screen)"
|
|
||||||
LiveCD_LogFile="LiveCD (Log file)"
|
|
||||||
|
|
||||||
[LiveCD]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/MININT
|
|
||||||
|
|
||||||
[LiveCD_Debug]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT
|
|
||||||
|
|
||||||
[LiveCD_Aacpi]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/HAL=halaacpi.dll /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT
|
|
||||||
|
|
||||||
[LiveCD_VBoxDebug]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/DEBUG /DEBUGPORT=VBOX /SOS /MININT
|
|
||||||
|
|
||||||
[LiveCD_Screen]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT
|
|
||||||
|
|
||||||
[LiveCD_LogFile]
|
|
||||||
BootType=Windows2003
|
|
||||||
SystemPath=\reactos
|
|
||||||
Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT
|
|
|
@ -654,9 +654,9 @@ function(set_module_type MODULE TYPE)
|
||||||
if (ARCH STREQUAL "arm64")
|
if (ARCH STREQUAL "arm64")
|
||||||
# special case for kernel
|
# special case for kernel
|
||||||
if (TYPE STREQUAL kernel)
|
if (TYPE STREQUAL kernel)
|
||||||
set_image_base(${MODULE} 0x80000000)
|
set_image_base(${MODULE} 0x400000000)
|
||||||
else()
|
else()
|
||||||
set_image_base(${MODULE} 0x40000000)
|
set_image_base(${MODULE} 0x400000000)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# special case for kernel
|
# special case for kernel
|
||||||
|
|
32
test_kernel/CMakeLists.txt
Normal file
32
test_kernel/CMakeLists.txt
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
PROJECT(NTOS)
|
||||||
|
|
||||||
|
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||||
|
# Enable this again. CORE-17637
|
||||||
|
add_compile_options(-Wunused-result)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
spec2def(testkernel.exe testkernel.spec ADD_IMPORTLIB)
|
||||||
|
|
||||||
|
# Embed RTC libs
|
||||||
|
if (STACK_PROTECTOR)
|
||||||
|
target_sources(testkernel PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||||
|
# Clang optimises strcmp calls to memcmp.
|
||||||
|
target_sources(testkernel PRIVATE $<TARGET_OBJECTS:memcmp>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND PCH_SKIP_SOURCE
|
||||||
|
guid.c)
|
||||||
|
|
||||||
|
add_executable(testkernel
|
||||||
|
main.c
|
||||||
|
testkernel.rc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/testkernel.def)
|
||||||
|
set_module_type(testkernel kernel)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
target_link_libraries(testkernel cportlib csq cmlib ntlsalib ${ROSSYM_LIB} libcntpr wdmguid ioevent)
|
||||||
|
add_dependencies(testkernel psdk asm)
|
41
test_kernel/main.c
Normal file
41
test_kernel/main.c
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
/* INCLUDES ******************************************************************/
|
||||||
|
|
||||||
|
/* C Headers */
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
/* WDK HAL Compilation hack */
|
||||||
|
#include <excpt.h>
|
||||||
|
#include <ntdef.h>
|
||||||
|
#ifndef _MINIHAL_
|
||||||
|
#undef NTSYSAPI
|
||||||
|
#define NTSYSAPI __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
#undef NTSYSAPI
|
||||||
|
#define NTSYSAPI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* IFS/DDK/NDK Headers */
|
||||||
|
#include <ntifs.h>
|
||||||
|
#include <arc/arc.h>
|
||||||
|
|
||||||
|
#include <ndk/asm.h>
|
||||||
|
#include <ndk/halfuncs.h>
|
||||||
|
#include <ndk/inbvfuncs.h>
|
||||||
|
#include <ndk/iofuncs.h>
|
||||||
|
#include <ndk/kefuncs.h>
|
||||||
|
#include <ndk/rtlfuncs.h>
|
||||||
|
|
||||||
|
|
||||||
|
CODE_SEG("INIT")
|
||||||
|
DECLSPEC_NORETURN
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||||
|
{
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
5
test_kernel/testkernel.rc
Normal file
5
test_kernel/testkernel.rc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#define REACTOS_VERSION_DLL
|
||||||
|
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Kernel tetL"
|
||||||
|
#define REACTOS_STR_INTERNAL_NAME "testkernel"
|
||||||
|
#define REACTOS_STR_ORIGINAL_FILENAME "testkernel.exe"
|
||||||
|
#include <reactos/version.rc>
|
0
test_kernel/testkernel.spec
Normal file
0
test_kernel/testkernel.spec
Normal file
Loading…
Reference in a new issue