Commit Graph
100 Commits
Author SHA1 Message Date
belliash 98acc6f3d4 Use uppercase when printing status codes
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 22:09:38 +01:00
belliash 6d66629124 Cleanup after switching to new way of printing formatted strings
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-02-16 22:04:17 +01:00
belliash c99bd73dfd Use uppercase when printing status codes
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-02-16 22:03:00 +01:00
belliash 109fd094ea Fix NULL pointer
Builds / ExectOS (amd64) (push) Successful in 23s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 19:05:53 +01:00
belliash 00cca9a1c1 Add %U XTOS extension for UUID/GUID string argument support
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 19:02:44 +01:00
belliash edd18b1dea Add %Z MSVC extension for ANSI/Unicode string argument support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-16 18:14:16 +01:00
belliash a1ec5e410d Refactor RtlpWriteWideStringValue() and RtlpWriteWideStringStringValue() routines
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 17:03:10 +01:00
belliash 8ddd6137da XTLDR console/debug print refactor
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 39s
2024-02-16 15:09:18 +01:00
belliash 5de4d7a7f5 Use new string formatting mechanism in the boot loader
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-15 23:32:23 +01:00
belliash 8dd0e70dd9 Implement printf-alike wide string formatting mechanism, currently without floating point numbers support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-15 23:01:13 +01:00
belliash 8a62a2b367 Switch calling convention to stdcall
Builds / ExectOS (amd64) (push) Successful in 59s
Builds / ExectOS (i686) (push) Successful in 56s
2024-02-14 14:53:32 +01:00
belliash 7e23484252 Implement RtlReverseWideString(), RtlTrimLeftWideString(), RtlTrimRightWideString() and RtlTrimWideString() routines
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-14 14:46:34 +01:00
belliash d964e4b408 Implement RtlConcatenateString(), RtlReverseString() and RtlTokenizeString() routines
Builds / ExectOS (amd64) (push) Successful in 22s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-14 14:38:28 +01:00
belliash 55fb9e2eb1 Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-14 00:02:04 +01:00
belliash c096c5d6df Add missing BITS_PER_BYTE definition
Builds / ExectOS (amd64) (push) Successful in 18s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-13 16:58:30 +01:00
belliash cca2e65376 Rework 64-bit division routines to support i686 architecture
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 14s
2024-02-13 16:56:29 +01:00
belliash a852993842 Add missing forward references to math related routines
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Failing after 16s
2024-02-13 16:25:41 +01:00
belliash 99bdd917d9 Add basic kernel math support
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Failing after 16s
2024-02-13 14:05:37 +01:00
belliash 07d30e06e6 Add VA_LIST pointer type
Builds / ExectOS (amd64) (push) Successful in 20s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-11 18:40:52 +01:00
belliash 0c6a602253 Add 64bit double type
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-11 18:39:44 +01:00
belliash 4e7b003606 Add print context structure definition
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 21s
2024-02-10 00:19:43 +01:00
belliash 77bc796769 Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-09 15:11:14 +01:00
belliash 73cd4bd4f2 Export runlevel related routines
Builds / ExectOS (amd64) (push) Successful in 20s
Builds / ExectOS (i686) (push) Successful in 18s
2024-02-07 22:26:38 +01:00
belliash 0fc14f6f82 Export spinlock related routines
Builds / ExectOS (amd64) (push) Successful in 21s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-07 22:19:34 +01:00
belliash 2d7309476a Describe kernel executive layer
Builds / ExectOS (amd64) (push) Successful in 20s
Builds / ExectOS (i686) (push) Successful in 21s
2024-02-07 20:05:20 +01:00
belliash 881bfbbd4d Add missing routine description
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-07 17:52:37 +01:00
belliash 18934ae79d NTOS compatibility layer moved to 3rd party driver
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-07 17:50:01 +01:00
belliash 86dcf317ab Add NTOS compatibility driver
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-07 17:48:33 +01:00
belliash ba0b4c339d Reduce virtual disk image size to save build time
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 18s
2024-02-07 17:25:25 +01:00
belliash 460ba7c857 Fix the filename used for exports
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 25s
2024-02-07 17:15:23 +01:00
belliash 99abcd63d1 Implement basic kernel spinlock mechanism
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-05 22:07:39 +01:00
belliash badb16e37d Add lock queue to processor control block
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-05 19:21:19 +01:00
belliash 7727888087 Implement ArFlushTlb() routine
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-04 23:43:38 +01:00
belliash abdb9b25db Implement RtlAtomicBitTestAndSet() and RtlAtomicBitTestAndSet64() intrinsic routines
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-04 22:34:22 +01:00
belliash 9ce841e957 Implement memory barriers
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-04 22:10:37 +01:00
belliash ec81294eba Add spinlock queue levels
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-04 19:27:16 +01:00
belliash af687603d0 Add kernel stack guard pages definition
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-04 19:21:42 +01:00
belliash f25a233d12 Make a use of ACPI module
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
2024-02-02 23:36:51 +01:00
belliash 360ddd5405 Export new routines from ACPI module
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-02 22:29:14 +01:00
belliash 0d4a4d3873 Link ACPI module against libxtos
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-02 22:11:47 +01:00
belliash 1828acbc56 Implement AcGetSMBiosTable() and AcGetSMBios3Table() routines
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
2024-02-02 22:10:51 +01:00
belliash 4fa5b8f2a5 Implement AcGetApicBase()
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2024-02-02 22:07:28 +01:00
belliash 082568ae10 Rename AcGetAcpiTable() to AcGetAcpiDescriptionPointer()
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-02 22:04:58 +01:00
belliash 58a1fef3ad Put other protocols routines into separate group
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-01 19:05:34 +01:00
belliash 8a2e49ec60 Add initial version of ACPI module
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-01 16:26:12 +01:00
belliash f55bdb6274 Correct module description
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2024-01-31 18:24:42 +01:00
belliash 508fd27e92 Implement BlGetConfigurationTable() routine
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-31 16:25:43 +01:00
belliash cd59c1e80d Add missing routine description
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-31 16:23:05 +01:00
belliash f0204bf448 Enable linker map for xtoskrnl
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-31 16:09:35 +01:00
belliash 8e61503de1 Implement RtlCompareGuids() kernel routine
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-31 16:08:06 +01:00
belliash 48d1e7f04c Properly copy kernel parameters into the loader block
Builds / ExectOS (amd64) (push) Successful in 59s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-29 19:41:52 +01:00
belliash 8f7641d91f Pass memory mapping information to the kernel
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-29 19:40:05 +01:00
belliash a72f87e731 Update memory mapping related structures for i686 architecture
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-29 19:35:30 +01:00
belliash 0c691a40e3 Update memory mapping related structures
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Failing after 16s
2024-01-29 19:31:20 +01:00
belliash d27a4cde4b Implement BlGetVirtualAddress() and BlPhysicalListToVirtual() routines
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-29 18:03:58 +01:00
belliash 8115ae07b6 Unify variable types across project; use common type for storing numer of pages
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 31s
2024-01-29 16:17:51 +01:00
belliash bfe2e3899a Kernel parameters should be stored in wide char
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-29 15:19:48 +01:00
belliash 8e61e95cc2 Implement BlPhysicalAddressToVirtual() routine
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 23:16:01 +01:00
belliash 170d1c71c9 Map EfiReservedMemoryType to LoaderSpecialMemory
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 22:10:21 +01:00
belliash b8acfe1b66 Implement BlGetMappingsCount() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-28 17:26:20 +01:00
belliash 670a812649 Store number of mappings when mapping virtual memory
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 17:01:44 +01:00
belliash 2e12d30aa4 Cleanup old XTOS boot protocol module
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 31s
2024-01-28 15:54:01 +01:00
belliash 4f657b4574 Add missing routine descriptions
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-28 15:46:26 +01:00
belliash d6b207052b Add 9 characters to switch to next dependency as it was increased in 4a67bc1230
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 15:22:26 +01:00
belliash 3c0a43d55a Rework of EFI FrameBuffer module
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 15:03:55 +01:00
belliash 4a67bc1230 Add one more character to dependency segment array for '\0' character
Builds / ExectOS (amd64) (push) Successful in 58s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-27 20:31:04 +01:00
belliash 767ed21288 Correct module description
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-25 22:26:02 +01:00
belliash 73bd43d16d Unify naming convention
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 45s
2024-01-25 22:25:23 +01:00
belliash 9ab4328c9d Update XTBL_EXECUTABLE_IMAGE_PROTOCOL structure
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-25 22:06:24 +01:00
belliash 7a65b37f96 Implement new module providing a basic support for PE/COFF executables
Builds / ExectOS (amd64) (push) Failing after 24s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-25 22:04:30 +01:00
belliash 96b5826ea6 Update XTLDR configuration
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-23 22:34:26 +01:00
belliash 33e25f881e Update debug message
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-23 22:20:31 +01:00
belliash 9421eee002 Implement chain loader module
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 22:04:57 +01:00
belliash 269858f5a1 Implement and use BlGetEfiPath() routine to get valid EFI path
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-23 20:56:58 +01:00
belliash 9f739df595 There is no need to allocate so much memory
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 20:53:26 +01:00
belliash eec318a362 Reformat code
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-23 15:38:52 +01:00
belliash f2887dba1f Rename XtLdrProtocol variable
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 15:17:39 +01:00
belliash f2ab4894a5 Use correct paths in debug messages
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-23 15:14:50 +01:00
belliash 825c3b6f9a Keep all paths in single place
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 15:12:26 +01:00
belliash 435ee66ce1 Implement BlLoadEfiImage() and BlStartEfiImage() routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 23:04:24 +01:00
belliash 6733e092ba Add missing comment
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-22 20:47:49 +01:00
belliash 9fe347fd0a Correct comments
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 20:42:29 +01:00
belliash af400920d0 Make a use of BlBuildPageMap()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:20:22 +01:00
belliash 0c3aee829a Add missing forward reference
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:16:39 +01:00
belliash 7128159c42 Implement BlBuildPageMap() routine
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
2024-01-22 15:15:21 +01:00
belliash 85d43e54b8 Add missing forward reference
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-22 15:14:07 +01:00
belliash 22a7676b9b Store boot loader image information and close EFI_LOADED_IMAGE_PROTOCOL afterwards
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-22 15:11:56 +01:00
belliash 8580557985 Check if new mapping is a subset of an already existing mapping
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:09:03 +01:00
belliash c24745d233 Allow to specify virtual address during EFI memory mapping only
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-19 23:16:45 +01:00
belliash 88321b5f4d Pass virtual memory area address by reference
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-18 23:10:47 +01:00
belliash 9f5018abf0 Update BlInitializePageMap() description
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 15:10:32 +01:00
belliash c716ad81f0 i686 supports switching to huge pages mode with 2MB or 4MB page size only
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-18 14:48:43 +01:00
belliash 0a47d43644 Move target specific code
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-18 14:32:40 +01:00
belliash 02f0e34b83 Allow to provide page size during initialization
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 14:30:58 +01:00
belliash 5acf8b4abd Add page size enumeration list
Builds / ExectOS (amd64) (push) Successful in 39s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 14:22:51 +01:00
belliash 0e4575b278 Use new paging implementation
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 41s
2024-01-17 22:24:55 +01:00
belliash 89c18bbce6 Initial paging support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-17 14:42:07 +01:00
belliash 8f40683270 Rename memory related routines to follow naming convention
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-15 15:13:34 +01:00
belliash e64cf4d0aa Add CR4_LA57 definition
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-14 21:06:02 +01:00
belliash 93340936d3 Update XTLDR help
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-12 16:04:25 +01:00