Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Jozef Nagy 2023-11-29 18:30:19 +01:00
commit 35f1c09e8d
No known key found for this signature in database
GPG Key ID: 5F72C3BF3BD614D8
12 changed files with 100 additions and 20 deletions

View File

@ -61,6 +61,11 @@ typedef enum _SYSTEM_FIRMWARE_TYPE
SystemFirmwarePcat
} SYSTEM_FIRMWARE_TYPE, *PSYSTEM_FIRMWARE_TYPE;
/* Hardware information block */
typedef struct _HARDWARE_INFORMATION_BLOCK
{
} HARDWARE_INFORMATION_BLOCK, *PHARDWARE_INFORMATION_BLOCK;
/* PCAT Firmware information block */
typedef struct _PCAT_FIRMWARE_INFORMATION
{
@ -71,7 +76,7 @@ typedef struct _PCAT_FIRMWARE_INFORMATION
typedef struct _UEFI_FIRMWARE_INFORMATION
{
ULONG EfiVersion;
PVOID EfiRuntimeServices;
PEFI_RUNTIME_SERVICES EfiRuntimeServices;
} UEFI_FIRMWARE_INFORMATION, *PUEFI_FIRMWARE_INFORMATION;
/* Firmware information block */
@ -121,9 +126,11 @@ typedef struct _KERNEL_INITIALIZATION_BLOCK
ULONG BlockSize;
ULONG BlockVersion;
ULONG ProtocolVersion;
PCHAR KernelParameters;
LIST_ENTRY LoadOrderListHead;
LIST_ENTRY MemoryDescriptorListHead;
LIST_ENTRY BootDriverListHead;
HARDWARE_INFORMATION_BLOCK HardwareInformation;
LOADER_INFORMATION_BLOCK LoaderInformation;
FIRMWARE_INFORMATION_BLOCK FirmwareInformation;
} KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;

30
sdk/xtdk/xtguid.h Normal file
View File

@ -0,0 +1,30 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: sdk/xtdk/xtguid.h
* DESCRIPTION: XTOS Globally Unique Identifiers
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#ifndef __XTDK_XTGUID_H
#define __XTDK_XTGUID_H
/* EFI XT protocols GUIDs */
#define XT_BOOT_LOADER_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x42, 0x4F, 0x4F, 0x54, 0x4C, 0x50, 0x54}}
#define XT_ELF_IMAGE_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x45, 0x4C, 0x46, 0x49, 0x4D, 0x47, 0x50, 0x54}}
#define XT_FRAMEBUFFER_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x00, 0x46, 0x42, 0x55, 0x46, 0x50, 0x54}}
#define XT_HIVE_IMAGE_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x48, 0x49, 0x56, 0x49, 0x4D, 0x47, 0x50, 0x54}}
#define XT_PECOFF_IMAGE_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x50, 0x45, 0x49, 0x4D, 0x47, 0x50, 0x54}}
/* EFI XT boot protocols GUIDs */
#define XT_CHAIN_BOOT_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x43, 0x48, 0x41, 0x49, 0x4E, 0x50, 0x54}}
#define XT_LINUX_BOOT_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x4C, 0x49, 0x4E, 0x55, 0x58, 0x50, 0x54}}
#define XT_WINNT_BOOT_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x57, 0x49, 0x4E, 0x4E, 0x54, 0x50, 0x54}}
#define XT_XTOS_BOOT_PROTOCOL_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x00, 0x58, 0x54, 0x4F, 0x53, 0x50, 0x54}}
/* XTOS GUIDs */
#define XTOS_EXECTOS_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x45 0x58, 0x45, 0x43, 0x54, 0x4F, 0x53}}
#define XTOS_XTLDR_LOADER_GUID {0x58544F53, 0x5854, 0x4357, {0x00, 0x00 0x00, 0x58, 0x54, 0x4C, 0x44, 0x52}}
#endif /* __XTDK_XTGUID_H */

View File

@ -21,6 +21,7 @@
/* Architecture-independent XT API */
#include <xtbase.h>
#include <xtdebug.h>
#include <xtguid.h>
#include <xtfw.h>
#include <xtimage.h>
#include <xtuefi.h>

View File

@ -13,12 +13,14 @@
/* Preprocessor macros for including arch-specific headers */
#define _ARCH_STRINGIZE(x) _INCL_STRINGIZE(x)
#define _INCL_STRINGIZE(x) #x
#define ARCH_COMMON(header) _ARCH_STRINGIZE(../_ARCH_COMMON/header)
#define ARCH_HEADER(header) _ARCH_STRINGIZE(_ARCH/header)
/* Architecture specific definitions */
#if defined(__i386__) || defined(__i686__)
#define _ARCH i686
#define _ARCH_I686 1
#define _ARCH_COMMON x86
#define _ARCH_NAME "32-bit x86"
#define _ARCH_IMAGE_MACHINE_TYPE 0x014C
#define _XT32 1
@ -31,6 +33,7 @@
#elif defined(__amd64__) || defined(__x86_64__)
#define _ARCH amd64
#define _ARCH_AMD64 1
#define _ARCH_COMMON x86
#define _ARCH_NAME "64-bit x86"
#define _ARCH_IMAGE_MACHINE_TYPE 0x8664
#define _XT64 1

View File

@ -19,17 +19,4 @@
#define XT_BOOT_DEVICE_HARDDISK 0x03
#define XT_BOOT_DEVICE_RAMDISK 0x04
/* EFI XT protocols GUIDs */
#define XT_BOOT_LOADER_PROTOCOL_GUID {0x21FF49E8, 0x5854, 0x424C, {0xE9, 0x11, 0x00, 0x86, 0xE1, 0x2C, 0xD9, 0xC1}}
#define XT_ELF_IMAGE_PROTOCOL_GUID {0x9B539887, 0x5854, 0x424C, {0x42, 0xFA, 0x00, 0x90, 0xC9, 0x04, 0x66, 0xA4}}
#define XT_FRAMEBUFFER_PROTOCOL_GUID {0x99A87C23, 0x5854, 0x424C, {0xE0, 0x10, 0x00, 0xAA, 0xC0, 0x00, 0xDB, 0xFF}}
#define XT_HIVE_IMAGE_PROTOCOL_GUID {0x5A3688A2, 0x5854, 0x424C, {0xBC, 0xDF, 0x00, 0x8F, 0xAA, 0x52, 0x63, 0xD4}}
#define XT_PECOFF_IMAGE_PROTOCOL_GUID {0x85DAFF92, 0x5854, 0x424C, {0xB1, 0xBF, 0x00, 0x79, 0x39, 0xEA, 0x6E, 0xFD}}
/* EFI XT boot protocols GUIDs */
#define XT_CHAIN_BOOT_PROTOCOL_GUID {0xC4D19201, 0x5854, 0x424C, {0x3C, 0x01, 0x00, 0x64, 0x90, 0x11, 0x9E, 0xA1}}
#define XT_LINUX_BOOT_PROTOCOL_GUID {0x6B2A9841, 0x5854, 0x424C, {0x93, 0x71, 0x00, 0x3C, 0x34, 0x9B, 0x11, 0x91}}
#define XT_WINNT_BOOT_PROTOCOL_GUID {0x98A80819, 0x5854, 0x424C, {0x37, 0x17, 0x00, 0x2A, 0x55, 0xA3, 0x09, 0xDC}}
#define XT_XTOS_BOOT_PROTOCOL_GUID {0xFF8AD077, 0x5854, 0x424C, {0xA1, 0x77, 0x00, 0x92, 0xEF, 0x1C, 0x09, 0xDC}}
#endif /* __XTLDR_BLDEFS_H */

View File

@ -14,10 +14,10 @@ list(APPEND XTOSKRNL_SOURCE
${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/traps.c
${XTOSKRNL_SOURCE_DIR}/ex/rundown.c
${XTOSKRNL_SOURCE_DIR}/hl/cport.c
${XTOSKRNL_SOURCE_DIR}/hl/cpu.c
${XTOSKRNL_SOURCE_DIR}/hl/efifb.c
${XTOSKRNL_SOURCE_DIR}/hl/globals.c
${XTOSKRNL_SOURCE_DIR}/hl/pic.c
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/cpu.c
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/pic.c
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/ioport.c
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/runlevel.c
${XTOSKRNL_SOURCE_DIR}/ke/apc.c

13
xtoskrnl/hl/amd64/cpu.c Normal file
View File

@ -0,0 +1,13 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/amd64/cpu.c
* DESCRIPTION: HAL AMD64 processor support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/* Include common CPU interface */
#include ARCH_COMMON(cpu.c)

13
xtoskrnl/hl/amd64/pic.c Normal file
View File

@ -0,0 +1,13 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/amd64/pic.c
* DESCRIPTION: Programmable Interrupt Controller (PIC) for AMD64 support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/* Include common PIC interface */
#include ARCH_COMMON(pic.c)

13
xtoskrnl/hl/i686/cpu.c Normal file
View File

@ -0,0 +1,13 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/i686/cpu.c
* DESCRIPTION: HAL i686 processor support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/* Include common CPU interface */
#include ARCH_COMMON(cpu.c)

13
xtoskrnl/hl/i686/pic.c Normal file
View File

@ -0,0 +1,13 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/i686/pic.c
* DESCRIPTION: Programmable Interrupt Controller (PIC) for i686 support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/* Include common PIC interface */
#include ARCH_COMMON(pic.c)

View File

@ -1,8 +1,8 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/cpu.c
* DESCRIPTION: HAL Processor support
* FILE: xtoskrnl/hl/x86/cpu.c
* DESCRIPTION: HAL x86 (i686/AMD64) processor support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/

View File

@ -1,8 +1,8 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/hl/pic.c
* DESCRIPTION: Programmable Interrupt Controller (PIC) support
* FILE: xtoskrnl/hl/x86/pic.c
* DESCRIPTION: Programmable Interrupt Controller (PIC) for x86 (i686/AMD64) support
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Jozef Nagy <schkwve@gmail.com>
*/