Commit Graph
100 Commits
Author SHA1 Message Date
belliash 019f084e49 Allow to reboot or shutdown from XTLDR boot menu
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:03:21 +01:00
belliash c2e8e29775 Add missing forward references
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:02:14 +01:00
belliash 521006d939 Implement BlRebootSystem() and BlShutdownSystem() routines
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-12 15:59:38 +01:00
belliash 489734d5c9 Implement test function to get framebuffer address by accessing graphics adapter's BARs
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 39s
2024-01-12 15:18:36 +01:00
belliash 9501d3da36 Improvements to protocol support
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-12 15:10:27 +01:00
belliash c9b843c60f Align EFI definitions
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2024-01-11 21:43:00 +01:00
belliash 7a06b238a3 Add EFI ACPI related definitions
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-11 21:40:12 +01:00
belliash 1270c7e283 Add EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR structure and missing forward references
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-11 21:21:47 +01:00
belliash 12af27c579 Add PCI Type0 and Type1 device structure definitions
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-11 19:09:20 +01:00
belliash 11979f758b Conform BlExitBootServices() to UEFI Specification
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-10 21:59:51 +01:00
belliash a6d4f157b6 Fix i686 build
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-10 20:00:26 +01:00
belliash c98007a4a5 Do not link against libxtos if not needed
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:55:20 +01:00
belliash c4450e88ab Add common memory related routines to XTLDR protocol
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:51:27 +01:00
belliash 53cd4e0052 Cleanup PE/COFF related structures
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-10 16:05:36 +01:00
belliash e3376c181f Add agreement to pull request template
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-09 19:02:10 +01:00
belliash b78bfcd219 Update issue template
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-09 18:59:07 +01:00
belliash 878f7e3c0f Simplify codeowners path
Builds / ExectOS (amd64) (push) Successful in 49s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-09 18:58:34 +01:00
belliash 4412d4fc98 Rewrite core of the XTLDR boot loader
Builds / ExectOS (amd64) (push) Successful in 1m1s
Builds / ExectOS (i686) (push) Successful in 29s
Reviewed-on: #7
Reviewed-by: Piotr Likoski <likoski@noreply.codingworkshop.git>
Co-authored-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
Co-committed-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
2024-01-09 18:51:04 +01:00
belliash 44905bb71d Add missing whitespace character to the comment
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-07 00:18:00 +01:00
belliash 1206069882 Add ability to produce linker map file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-02 10:52:03 +01:00
belliash f00b1b620f Add SEGMENT macro for specifying a segment in which the object will be allocated
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2023-12-30 01:04:02 +01:00
belliash 493dbd0a5a Add EFI TUI definitions
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 26s
2023-12-15 20:12:30 +01:00
belliash 579b4dc970 Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines
Builds / ExectOS (amd64) (push) Successful in 5m31s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-09 20:18:02 +01:00
belliash d7fbe531fd Improvements in string and wide string support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 23:00:18 +01:00
belliash ec63fe3fa6 Retry exiting boot services if first try fails
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-02 16:02:24 +01:00
belliash 146a331c80 Let UEFI firmware load xtldr into lower half
Builds / ExectOS (amd64) (push) Successful in 3m7s
Builds / ExectOS (i686) (push) Successful in 28s
2023-12-02 09:02:04 +01:00
belliash ceee8f2c72 Correct typo
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-30 18:24:26 +01:00
belliash 1b89287667 Add CODEOWNERS file to define individuals or teams responsible for a code
Builds / ExectOS (amd64) (push) Successful in 3m26s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-30 17:14:12 +01:00
belliash 1e696258c2 Initialize framebuffer and processor
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 22:49:15 +01:00
belliash 31b8cd8d3d Update HlDisablePic() description
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 22:43:57 +01:00
belliash dddd1eb183 Rename internal kernel headers to distinguish them easily from XTDK
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
2023-11-29 20:39:59 +01:00
belliash 53d84b772a Add missing commas
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 20:17:31 +01:00
belliash 59aa62916a Include architecture specific HAL headers
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 20:15:12 +01:00
belliash 3800138f52 Move (A)PIC related forward references to arch-specific headers
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-29 20:13:03 +01:00
belliash 669b84a826 Add architecture related information to kernel startup string
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 18:32:03 +01:00
belliash 9aafa63617 Move CPU and PIC support into common for i686 and amd64 place
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-11-29 18:26:46 +01:00
belliash a90a30ff7a Move XTOS GUIDs into separate header
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 17:59:53 +01:00
belliash 7a60f46f24 Add preprocessor macro for including common headers and source files across different architectures
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-29 16:12:55 +01:00
belliash db1f693d9c Corrections to UEFI_FIRMWARE_INFORMATION and KERNEL_INITIALIZATION_BLOCK
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 15:57:09 +01:00
belliash 0d1fcde3a5 Add missing StallScaleFactor to KPROCESSOR_BLOCK
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-28 23:08:35 +01:00
belliash f6c621c2a6 Basic processor initialization code
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-28 22:31:39 +01:00
belliash d4ee87fd62 Fix function prototype
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-28 15:39:32 +01:00
belliash d17b06a180 Register interrupt handlers once the APIC initialization is done
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-28 14:20:23 +01:00
belliash c4ccf52782 Correct code formatting
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-28 14:05:08 +01:00
belliash e5adc31af7 Implement basic APIC support, including X2APIC
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-27 22:38:15 +01:00
belliash 4ca4e298f0 Add more PIC/APIC related definitions
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-26 23:35:14 +01:00
belliash e886baa0d8 Fix reading from and writting to APIC registers
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-26 16:57:40 +01:00
belliash 5b48525b1d Increase commit hash to 10 characters to match Gitea
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-26 16:26:22 +01:00
belliash 0e6844e2fa Fix page fault on accessing initial thread frame
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-26 14:14:54 +01:00
belliash 96a19d23b3 Fix i686 build by setting APIC transformation tables static
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-26 00:38:20 +01:00
belliash ba6e68e1b5 Fix a bug that caused overwritting a value read from CR8 with a default value
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-26 00:33:46 +01:00
belliash bed49fa0ac Fix function prototypes using fastcall and stdcall calling convensions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-25 23:25:44 +01:00
belliash e245754d95 Add running level management support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-11-25 23:14:15 +01:00
belliash 4701351bd7 Add missing SYNC_LEVEL definition
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-25 22:14:45 +01:00
belliash 5204d8bc2f Correct (A)PIC related source file description
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-25 19:23:18 +01:00
belliash 14a966043e Add missing Interrupt request level definitions
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 18:50:59 +01:00
belliash 0e6bf984a5 Add APIC vector definitions
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 18:33:01 +01:00
belliash 55cc62f5a0 Rename KIRQL to KRUNLEVEL type
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 00:32:55 +01:00
belliash 236927fba0 Move APIC related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-24 22:45:29 +01:00
belliash c526e63b7a Add EFI Framework MP services protocol related structures
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-23 15:38:32 +01:00
belliash 1cb21a81dd Rename HlInitializeDisplay() to HlInitializeFrameBuffer()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-22 20:36:05 +01:00
belliash f28c870192 Implement KeHaltSystem() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2023-11-22 19:24:14 +01:00
belliash d7e6d319cf Update XTOS ideas
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 19:22:51 +01:00
belliash d8403d01f5 Verify kernel and boot loader compatibility
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
belliash c66ea77a8b Enable ASM, C and CXX compilers
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 23:52:49 +01:00
belliash c4143c63f9 Enable LLVM MASM Assembly
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-20 23:30:44 +01:00
belliash d2fb0a6830 Update ideas file
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 16:44:21 +01:00
belliash 1eecad21db Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-20 15:26:03 +01:00
belliash a3c28cee73 Initial XTLDR APIC support, finds and maps base APIC address for kernel
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 15:18:22 +01:00
belliash 3d0a48df26 Give qemu direct access to the terminal
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-19 20:41:21 +01:00
belliash 575b842d05 Add APIC Registers address map (APIC_REGISTER enumeration list)
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-19 00:57:27 +01:00
belliash 0c3268acd1 Export registers read/write related routines
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-19 00:46:51 +01:00
belliash 42b7c3698c Add missing I/O register routines forward references
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:41:21 +01:00
belliash 12f946c92d Fixes to I/O registers related routines
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-19 00:39:52 +01:00
belliash 71d0608643 Implement ArGetStackPointer() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:09:16 +01:00
belliash 83c692bfcb Fix publishing artifacts
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-18 13:55:26 +01:00
belliash b2f0584cb9 Archive libraries and symbols
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-18 13:49:52 +01:00
belliash cb2ce9be83 Set libraries target directory
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-18 13:34:52 +01:00
belliash 64ffe0d7d7 Add EFI task priority levels
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-17 00:11:30 +01:00
belliash 71e7adadbd Correct typo
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-17 00:10:54 +01:00
belliash d083d00ab1 Add EFI MP services protocol structures
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-16 23:06:01 +01:00
belliash a2af4841da Move all globals into separate file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-16 17:39:12 +01:00
belliash 1a932468a2 Add some DPC related stubs
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-16 14:53:54 +01:00
belliash ec4a0fcb70 Add missing KepRetireDpcList() routine forward reference
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 23:19:20 +01:00
belliash 5b6f3b0244 Mark user mode threads as not yet supported
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 20:41:28 +01:00
belliash 35aa26e0e9 Add missing documentation comment block
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 15:50:33 +01:00
belliash 5d27473bb0 Fix i686 build
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 15:34:04 +01:00
belliash d35dd4fce3 Save processor state during kernel initialization
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
belliash ccd0514416 Implement more CPU-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-15 14:52:18 +01:00
belliash f0c20074c6 Prefer xbuild over ninja
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-14 15:35:07 +01:00
belliash e664b953a0 Take advantage of the 'xbuild' command (requires XTChain 2.8.5)
Builds / ExectOS (amd64) (push) Successful in 3m50s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-14 15:01:51 +01:00
belliash fc85e0674b Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-13 15:36:50 +01:00
belliash 1d9a79736a Allow to postpone thread startup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-11 16:30:53 +01:00
belliash 67496bef28 Add KLOCK_QUEUE_HANDLE structure definition
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-11 11:36:22 +01:00
belliash 91d65bb937 Define max ULONG type limit
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-11 09:41:44 +01:00
belliash 83c0accc5f Update EFLAGS masks
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-09 16:12:24 +01:00
belliash 38e6d950a0 Create build.arch file for xbuild
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-08 19:45:31 +01:00
belliash 641b34b119 Fixes in i686 version of KepInitializeThreadContext()
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-08 16:06:01 +01:00
belliash 07998cafd4 Update xtldr.ini to conform with changes in the code
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-08 15:37:25 +01:00
belliash 362eefc2b3 Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception
Builds / ExectOS (amd64) (push) Successful in 58s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-07 15:34:49 +01:00