From b22a76e3c433befe0faa4cd257c9d5b1fcd44398 Mon Sep 17 00:00:00 2001 From: belliash Date: Fri, 6 Jan 2023 16:16:26 +0100 Subject: [PATCH] Add XT native kernel subsystem to the PE/COFF image support --- sdk/xtdk/xtimage.h | 1 + xtldr/modules/xtos/xtos.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sdk/xtdk/xtimage.h b/sdk/xtdk/xtimage.h index ac59d3a..2f3ad8f 100644 --- a/sdk/xtdk/xtimage.h +++ b/sdk/xtdk/xtimage.h @@ -40,6 +40,7 @@ #define PECOFF_IMAGE_SUBSYSTEM_EFI_ROM 13 #define PECOFF_IMAGE_SUBSYSTEM_XBOX 14 #define PECOFF_IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION 16 +#define PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_KERNEL 20 #define PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_APPLICATION 21 #define PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_DRIVER 22 #define PECOFF_IMAGE_SUBSYSTEM_XT_DYNAMIC_LIBRARY 23 diff --git a/xtldr/modules/xtos/xtos.c b/xtldr/modules/xtos/xtos.c index 015fbf3..40edc52 100644 --- a/xtldr/modules/xtos/xtos.c +++ b/xtldr/modules/xtos/xtos.c @@ -385,7 +385,8 @@ XtpLoadModule(IN PEFI_FILE_HANDLE SystemDir, /* Check PE/COFF image subsystem */ XtPeCoffProtocol->GetSubSystem(*ImageContext, &SubSystem); - if(SubSystem != PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_APPLICATION && + if(SubSystem != PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_KERNEL && + SubSystem != PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_APPLICATION && SubSystem != PECOFF_IMAGE_SUBSYSTEM_XT_NATIVE_DRIVER) { XtLdrProtocol->DbgPrint(L"WARNING: Loaded PE/COFF image with non-XT subsystem set\n");