Add NTOS compatibility driver
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 19s

This commit is contained in:
Rafal Kupiec 2024-02-07 17:48:33 +01:00
parent ba0b4c339d
commit 86dcf317ab
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
5 changed files with 50 additions and 0 deletions

View File

@ -70,5 +70,6 @@ set_disk_image_size(32)
# Build all subprojects
add_subdirectory(bootdata)
add_subdirectory(drivers)
add_subdirectory(xtldr)
add_subdirectory(xtoskrnl)

1
drivers/CMakeLists.txt Normal file
View File

@ -0,0 +1 @@
add_subdirectory(ntosdrv)

View File

@ -0,0 +1,29 @@
# NTOS compatibility driver
PROJECT(NTOSDRV)
# Specify include directories
include_directories(
${EXECTOS_SOURCE_DIR}/sdk/xtdk)
# Specify list of source code files
list(APPEND NTOSDRV_SOURCE
${NTOSDRV_SOURCE_DIR}/ntosdrv.c)
# Set module definition SPEC file
set_specfile(ntosdrv.spec ntosdrv.sys)
# Link bootloader executable
add_executable(ntosdrv ${NTOSDRV_SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/ntosdrv.def)
# Add linker libraries
target_link_libraries(ntosdrv xtoskrnl)
# Set proper binary name and install target
set_target_properties(ntosdrv PROPERTIES SUFFIX .sys)
set_install_target(ntosdrv "exectos/drivers")
# Set loader entrypoint and subsystem
set_entrypoint(ntosdrv "XtDriverEntry")
set_linker_map(ntosdrv TRUE)
set_ordinals(ntosdrv TRUE)
set_subsystem(ntosdrv native xt_native_driver)

17
drivers/ntosdrv/ntosdrv.c Normal file
View File

@ -0,0 +1,17 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: drivers/ntosdrv/ntosdrv.c
* DESCRIPTION: NTOS compatibility driver
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtkmapi.h>
XTAPI
XTSTATUS
XtDriverEntry()
{
/* Return success */
return STATUS_SUCCESS;
}

View File

@ -0,0 +1,2 @@
# NT compatibilty layer exports
@ fastcall ExRundownCompleted(ptr) ExCompleteRundownProtection