This website requires JavaScript.
18c9cc1644
Remove unnecessary debug messages
Rafal Kupiec
2024-03-18 21:55:17 +01:00
12e8704ffb
Implement BlGetConfigBooleanValue() routine
Rafal Kupiec
2024-03-18 20:02:43 +01:00
bd02da30ef
Update XTLDR configuration file
Rafal Kupiec
2024-03-18 19:43:41 +01:00
1d26b81923
Store last booted OS in NVRAM and make it default one on next boot
Rafal Kupiec
2024-03-18 19:41:55 +01:00
ee23cd90cb
Implement BlGetEfiVariable() and BlSetEfiVariable() routines
Rafal Kupiec
2024-03-18 17:04:58 +01:00
713f826387
XTOS boot protocol should use builtin mapping function
Rafal Kupiec
2024-03-17 23:10:50 +01:00
db0e1d40aa
Allow boot protocols to supply own routine for converting EFI memory type into OS-specific memory type
Rafal Kupiec
2024-03-17 23:06:37 +01:00
41ebabcb09
Provide only necessary framebuffer information to the kernel
Rafal Kupiec
2024-03-15 16:46:53 +01:00
945b323606
Initialize framebuffer earlier and reset video screen mode to circumvent buggy firmwares
Rafal Kupiec
2024-03-15 15:46:45 +01:00
848731c9e6
Introduce ability to change screen resolution
Rafal Kupiec
2024-03-15 15:12:12 +01:00
662b49d96e
Remove unneeded infinite loop
Rafal Kupiec
2024-03-13 16:34:47 +01:00
e6736087ba
Corrections in printing debug messages
Rafal Kupiec
2024-03-13 15:55:03 +01:00
26d5118cea
Add forward references to bit map related routines
Rafal Kupiec
2024-03-12 22:02:24 +01:00
067a8bbade
Export bit map related routines
Rafal Kupiec
2024-03-12 19:31:32 +01:00
c3831f82e7
Initial bit maps support
Rafal Kupiec
2024-03-12 19:15:02 +01:00
3a86ab1424
Remove duplicated code
Rafal Kupiec
2024-03-10 22:51:34 +01:00
bb44caee31
Implement HlPutCharacter() routine
Rafal Kupiec
2024-03-10 17:02:30 +01:00
4bff86c570
Add SSF 2.0 font header structure
Rafal Kupiec
2024-03-10 13:03:45 +01:00
d8ebd9f202
Add font to framebuffer data
Rafal Kupiec
2024-03-10 10:04:51 +01:00
cb4292dccf
Allow to use custom framebuffer fonts
Rafal Kupiec
2024-03-10 10:02:30 +01:00
a4d9e6dd8e
Optimize HlClearScreen() routine
Rafal Kupiec
2024-03-09 15:50:05 +01:00
a4c22ab5e8
Improvements to FrameBuffer support
Rafal Kupiec
2024-03-09 15:07:33 +01:00
475561b038
Add XTOS default framebuffer font (VGA Unicode by Dmitry Yu. Bolkhovityanov)
Rafal Kupiec
2024-03-08 20:20:21 +01:00
5814775c43
Add EFI legacy BIOS protocol related structures
Rafal Kupiec
2024-03-07 21:55:58 +01:00
7c210e8818
Improvements and fixes in framebuffer module
Rafal Kupiec
2024-03-07 16:19:05 +01:00
70a52adb8b
Don't even try to load a dependency modules with invalid name set
Rafal Kupiec
2024-03-02 22:59:20 +01:00
baaa729076
Correct typo in a comment
Rafal Kupiec
2024-03-02 22:27:32 +01:00
bd6516cdf9
Reallocate memory when updating existing config entry via BlSetConfigValue()
Rafal Kupiec
2024-03-02 17:15:37 +01:00
01983ef677
Small fixes to configuration parser
Rafal Kupiec
2024-03-02 16:54:28 +01:00
d61fd4f9c7
Fix grim bug in PE/COFF image structures causing invalid data read from optional header
Rafal Kupiec
2024-03-02 00:56:38 +01:00
a57ae020fa
Implement PeGetFileSize(), PeGetImageSize() and PeUnloadImage() routines
Rafal Kupiec
2024-03-01 23:12:12 +01:00
17c50ea912
Redesign a way of storing module information; this allows to store more data in a single section, like license or a list of authors, as well as solves the problem with different module name lengths
Rafal Kupiec
2024-02-28 23:28:33 +01:00
4b34f7db4b
Update preprocessor macros
Rafal Kupiec
2024-02-28 23:11:45 +01:00
632bb30b64
Implement BlGetRandomValue() and BlInitializeEntropy() routines for future KASLR support
Rafal Kupiec
2024-02-26 23:06:44 +01:00
f9714a79e4
Add support for writing floating point values
Rafal Kupiec
2024-02-22 23:39:11 +01:00
0c7cf6f6d3
Implement RtlInfiniteDouble() and RtlNanDouble() routines
Rafal Kupiec
2024-02-21 19:55:16 +01:00
562b89e4d4
No parameters are expected, explicitly
Rafal Kupiec
2024-02-20 16:59:57 +01:00
4b2d8ded72
No parameters are expected, explicitly
Rafal Kupiec
2024-02-20 16:55:12 +01:00
c70d2e2afa
Routines with no prototype cannot use XTAPI calling convention
Rafal Kupiec
2024-02-20 16:37:57 +01:00
83a976dd3a
Implement RtlCopyString() and RtlCopyWideString() routines
Rafal Kupiec
2024-02-20 16:25:16 +01:00
015faa53a0
XTAPI calling convention is not supported on variadic routines
Rafal Kupiec
2024-02-20 16:21:28 +01:00
e409675f98
Always use RtlSetMemory() to fill a buffer with a specified pattern
Rafal Kupiec
2024-02-20 16:16:32 +01:00
477e56e294
Move RtlFillMemory() routine to ntosdrv driver
Rafal Kupiec
2024-02-20 16:08:10 +01:00
246968045a
Use flags instead of dozen variables
Rafal Kupiec
2024-02-18 13:37:17 +01:00
2dd4048416
Switch GUID specifier to %v and %V, thus allowing to write string with both lower and uppercase
Rafal Kupiec
2024-02-17 22:52:49 +01:00
430557e08f
Fix printing hard drive GUID
Rafal Kupiec
2024-02-16 23:05:24 +01:00
a70df7cbf8
Properly print status codes
Rafal Kupiec
2024-02-16 23:01:29 +01:00
70c66a5d70
Code formatting
Rafal Kupiec
2024-02-16 22:44:19 +01:00
789e9d64f4
Properly print PA & VA addresses
Rafal Kupiec
2024-02-16 22:40:36 +01:00
df627aeb42
Turn %p format compliant with POSIX, add %P XTOS extension to print pointers uppercase
Rafal Kupiec
2024-02-16 22:36:48 +01:00
98acc6f3d4
Use uppercase when printing status codes
Rafal Kupiec
2024-02-16 22:09:38 +01:00
6d66629124
Cleanup after switching to new way of printing formatted strings
Rafal Kupiec
2024-02-16 22:04:17 +01:00
c99bd73dfd
Use uppercase when printing status codes
Rafal Kupiec
2024-02-16 22:03:00 +01:00
109fd094ea
Fix NULL pointer
Rafal Kupiec
2024-02-16 19:05:53 +01:00
00cca9a1c1
Add %U XTOS extension for UUID/GUID string argument support
Rafal Kupiec
2024-02-16 19:02:44 +01:00
edd18b1dea
Add %Z MSVC extension for ANSI/Unicode string argument support
Rafal Kupiec
2024-02-16 18:14:16 +01:00
a1ec5e410d
Refactor RtlpWriteWideStringValue() and RtlpWriteWideStringStringValue() routines
Rafal Kupiec
2024-02-16 17:03:10 +01:00
8ddd6137da
XTLDR console/debug print refactor
Rafal Kupiec
2024-02-16 15:09:18 +01:00
5de4d7a7f5
Use new string formatting mechanism in the boot loader
Rafal Kupiec
2024-02-15 23:32:23 +01:00
8dd0e70dd9
Implement printf-alike wide string formatting mechanism, currently without floating point numbers support
Rafal Kupiec
2024-02-15 22:51:28 +01:00
8a62a2b367
Switch calling convention to stdcall
Rafal Kupiec
2024-02-14 14:53:32 +01:00
7e23484252
Implement RtlReverseWideString(), RtlTrimLeftWideString(), RtlTrimRightWideString() and RtlTrimWideString() routines
Rafal Kupiec
2024-02-14 14:46:34 +01:00
d964e4b408
Implement RtlConcatenateString(), RtlReverseString() and RtlTokenizeString() routines
Rafal Kupiec
2024-02-14 14:38:28 +01:00
55fb9e2eb1
Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value
Rafal Kupiec
2024-02-14 00:02:04 +01:00
c096c5d6df
Add missing BITS_PER_BYTE definition
Rafal Kupiec
2024-02-13 16:58:30 +01:00
cca2e65376
Rework 64-bit division routines to support i686 architecture
Rafal Kupiec
2024-02-13 16:56:29 +01:00
a852993842
Add missing forward references to math related routines
Rafal Kupiec
2024-02-13 16:25:41 +01:00
99bdd917d9
Add basic kernel math support
Rafal Kupiec
2024-02-13 14:05:37 +01:00
07d30e06e6
Add VA_LIST pointer type
Rafal Kupiec
2024-02-11 18:40:52 +01:00
0c6a602253
Add 64bit double type
Rafal Kupiec
2024-02-11 18:39:44 +01:00
4e7b003606
Add print context structure definition
Rafal Kupiec
2024-02-10 00:19:43 +01:00
77bc796769
Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention
Rafal Kupiec
2024-02-09 15:11:14 +01:00
73cd4bd4f2
Export runlevel related routines
Rafal Kupiec
2024-02-07 22:26:38 +01:00
0fc14f6f82
Export spinlock related routines
Rafal Kupiec
2024-02-07 22:19:34 +01:00
2d7309476a
Describe kernel executive layer
Rafal Kupiec
2024-02-07 20:05:20 +01:00
881bfbbd4d
Add missing routine description
Rafal Kupiec
2024-02-07 17:52:37 +01:00
18934ae79d
NTOS compatibility layer moved to 3rd party driver
Rafal Kupiec
2024-02-07 17:50:01 +01:00
86dcf317ab
Add NTOS compatibility driver
Rafal Kupiec
2024-02-07 17:48:33 +01:00
ba0b4c339d
Reduce virtual disk image size to save build time
Rafal Kupiec
2024-02-07 17:25:25 +01:00
460ba7c857
Fix the filename used for exports
Rafal Kupiec
2024-02-07 17:15:23 +01:00
99abcd63d1
Implement basic kernel spinlock mechanism
Rafal Kupiec
2024-02-05 22:07:39 +01:00
badb16e37d
Add lock queue to processor control block
Rafal Kupiec
2024-02-05 19:21:19 +01:00
7727888087
Implement ArFlushTlb() routine
Rafal Kupiec
2024-02-04 23:43:38 +01:00
abdb9b25db
Implement RtlAtomicBitTestAndSet() and RtlAtomicBitTestAndSet64() intrinsic routines
Rafal Kupiec
2024-02-04 22:34:13 +01:00
9ce841e957
Implement memory barriers
Rafal Kupiec
2024-02-04 22:10:37 +01:00
ec81294eba
Add spinlock queue levels
Rafal Kupiec
2024-02-04 19:27:16 +01:00
af687603d0
Add kernel stack guard pages definition
Rafal Kupiec
2024-02-04 19:21:42 +01:00
f25a233d12
Make a use of ACPI module
Rafal Kupiec
2024-02-02 23:36:51 +01:00
360ddd5405
Export new routines from ACPI module
Rafal Kupiec
2024-02-02 22:29:14 +01:00
0d4a4d3873
Link ACPI module against libxtos
Rafal Kupiec
2024-02-02 22:11:47 +01:00
1828acbc56
Implement AcGetSMBiosTable() and AcGetSMBios3Table() routines
Rafal Kupiec
2024-02-02 22:10:51 +01:00
4fa5b8f2a5
Implement AcGetApicBase()
Rafal Kupiec
2024-02-02 22:07:28 +01:00
082568ae10
Rename AcGetAcpiTable() to AcGetAcpiDescriptionPointer()
Rafal Kupiec
2024-02-02 22:04:58 +01:00
58a1fef3ad
Put other protocols routines into separate group
Rafal Kupiec
2024-02-01 19:05:34 +01:00
8a2e49ec60
Add initial version of ACPI module
Rafal Kupiec
2024-02-01 16:26:12 +01:00
f55bdb6274
Correct module description
Rafal Kupiec
2024-01-31 18:24:42 +01:00
508fd27e92
Implement BlGetConfigurationTable() routine
Rafal Kupiec
2024-01-31 16:25:43 +01:00
cd59c1e80d
Add missing routine description
Rafal Kupiec
2024-01-31 16:23:05 +01:00
f0204bf448
Enable linker map for xtoskrnl
Rafal Kupiec
2024-01-31 16:09:35 +01:00
8e61503de1
Implement RtlCompareGuids() kernel routine
Rafal Kupiec
2024-01-31 16:08:06 +01:00