Commit Graph

  • dcca4870cd Move cursor before changing console attributes belliash 2024-03-28 14:06:52 +01:00
  • 1cdc1d3e54 Truncate EFI memory descriptor to 4GB and never map EFI reserved memory like PCI BAR belliash 2024-03-26 23:04:54 +01:00
  • 306891c9eb Rename XTBL_MODULE_INFO definition to XTBL_MODULE_DATA, to not confuse with structure belliash 2024-03-25 07:14:18 +01:00
  • e24c37c9b1 First page is now always present in memory map, so there is no need to map it explicitly belliash 2024-03-24 23:01:52 +01:00
  • ce8c66f93a Always map first page belliash 2024-03-24 22:52:18 +01:00
  • b3be36e23d Map BIOS ROM and VRAM belliash 2024-03-24 15:53:36 +01:00
  • 74b2c80869 RtlCountLeadingZeroes64() should take 64bit value belliash 2024-03-23 00:36:59 +01:00
  • 9aff665d1a Export RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines belliash 2024-03-22 22:49:12 +01:00
  • 715f842445 Implement RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines belliash 2024-03-22 18:53:30 +01:00
  • 7895cb0d32 Fix RtlClearBits() and RtlSetBits() belliash 2024-03-21 21:36:33 +01:00
  • 56d50ea2e8 Implement EDID support for getting the preferred screen resolution belliash 2024-03-21 15:40:09 +01:00
  • eb75a27ac2 Use common handle and properly close GOP protocol on failures belliash 2024-03-21 06:59:05 +01:00
  • b6f915c0c5 Implement RtlClearBits() and RtlSetBits() routines belliash 2024-03-19 19:53:49 +01:00
  • 3cd55260e6 Expose BlEnterFirmwareSetup() routine via XTLDR protocol belliash 2024-03-19 17:11:38 +01:00
  • e263effe13 Allow to reboot into UEFI Firmware setup interface after pressing F10 in the boot menu belliash 2024-03-19 17:04:14 +01:00
  • 94e6ca7aec Implement BlEnterFirmwareSetup() routine belliash 2024-03-19 16:50:04 +01:00
  • 7b2a2565c5 Expose BlGetEfiVariable() and BlSetEfiVariable() routines via XTLDR protocol belliash 2024-03-18 22:20:21 +01:00
  • 6accf62552 Expose BlGetConfigBooleanValue() via XTLDR protocol belliash 2024-03-18 22:16:20 +01:00
  • 18c9cc1644 Remove unnecessary debug messages belliash 2024-03-18 21:55:17 +01:00
  • 12e8704ffb Implement BlGetConfigBooleanValue() routine belliash 2024-03-18 20:02:43 +01:00
  • bd02da30ef Update XTLDR configuration file belliash 2024-03-18 19:43:41 +01:00
  • 1d26b81923 Store last booted OS in NVRAM and make it default one on next boot belliash 2024-03-18 19:41:55 +01:00
  • ee23cd90cb Implement BlGetEfiVariable() and BlSetEfiVariable() routines belliash 2024-03-18 17:04:58 +01:00
  • 713f826387 XTOS boot protocol should use builtin mapping function belliash 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 belliash 2024-03-17 23:06:37 +01:00
  • 41ebabcb09 Provide only necessary framebuffer information to the kernel belliash 2024-03-15 16:46:53 +01:00
  • 945b323606 Initialize framebuffer earlier and reset video screen mode to circumvent buggy firmwares belliash 2024-03-15 15:46:45 +01:00
  • 848731c9e6 Introduce ability to change screen resolution belliash 2024-03-15 15:12:12 +01:00
  • 662b49d96e Remove unneeded infinite loop belliash 2024-03-13 16:34:47 +01:00
  • e6736087ba Corrections in printing debug messages belliash 2024-03-13 15:55:03 +01:00
  • 26d5118cea Add forward references to bit map related routines belliash 2024-03-12 22:02:24 +01:00
  • 067a8bbade Export bit map related routines belliash 2024-03-12 19:31:32 +01:00
  • c3831f82e7 Initial bit maps support belliash 2024-03-12 19:15:02 +01:00
  • 3a86ab1424 Remove duplicated code belliash 2024-03-10 22:51:34 +01:00
  • bb44caee31 Implement HlPutCharacter() routine belliash 2024-03-10 17:02:30 +01:00
  • 4bff86c570 Add SSF 2.0 font header structure belliash 2024-03-10 13:03:45 +01:00
  • d8ebd9f202 Add font to framebuffer data belliash 2024-03-10 10:04:51 +01:00
  • cb4292dccf Allow to use custom framebuffer fonts belliash 2024-03-10 10:02:30 +01:00
  • a4d9e6dd8e Optimize HlClearScreen() routine belliash 2024-03-09 15:50:05 +01:00
  • a4c22ab5e8 Improvements to FrameBuffer support belliash 2024-03-09 15:07:33 +01:00
  • 475561b038 Add XTOS default framebuffer font (VGA Unicode by Dmitry Yu. Bolkhovityanov) belliash 2024-03-08 20:20:21 +01:00
  • 5814775c43 Add EFI legacy BIOS protocol related structures belliash 2024-03-07 21:55:58 +01:00
  • 7c210e8818 Improvements and fixes in framebuffer module belliash 2024-03-07 16:19:05 +01:00
  • 70a52adb8b Don't even try to load a dependency modules with invalid name set belliash 2024-03-02 22:59:20 +01:00
  • baaa729076 Correct typo in a comment belliash 2024-03-02 22:27:32 +01:00
  • bd6516cdf9 Reallocate memory when updating existing config entry via BlSetConfigValue() belliash 2024-03-02 17:15:37 +01:00
  • 01983ef677 Small fixes to configuration parser belliash 2024-03-02 16:54:28 +01:00
  • d61fd4f9c7 Fix grim bug in PE/COFF image structures causing invalid data read from optional header belliash 2024-03-02 00:56:38 +01:00
  • a57ae020fa Implement PeGetFileSize(), PeGetImageSize() and PeUnloadImage() routines belliash 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 belliash 2024-02-28 23:28:33 +01:00
  • 4b34f7db4b Update preprocessor macros belliash 2024-02-28 23:11:45 +01:00
  • 632bb30b64 Implement BlGetRandomValue() and BlInitializeEntropy() routines for future KASLR support belliash 2024-02-26 23:06:44 +01:00
  • f9714a79e4 Add support for writing floating point values belliash 2024-02-22 23:39:11 +01:00
  • 0c7cf6f6d3 Implement RtlInfiniteDouble() and RtlNanDouble() routines belliash 2024-02-21 19:55:16 +01:00
  • 562b89e4d4 No parameters are expected, explicitly belliash 2024-02-20 16:59:57 +01:00
  • 4b2d8ded72 No parameters are expected, explicitly belliash 2024-02-20 16:55:12 +01:00
  • c70d2e2afa Routines with no prototype cannot use XTAPI calling convention belliash 2024-02-20 16:37:57 +01:00
  • 83a976dd3a Implement RtlCopyString() and RtlCopyWideString() routines belliash 2024-02-20 16:25:16 +01:00
  • 015faa53a0 XTAPI calling convention is not supported on variadic routines belliash 2024-02-20 16:21:28 +01:00
  • e409675f98 Always use RtlSetMemory() to fill a buffer with a specified pattern belliash 2024-02-20 16:16:32 +01:00
  • 477e56e294 Move RtlFillMemory() routine to ntosdrv driver belliash 2024-02-20 16:08:10 +01:00
  • 246968045a Use flags instead of dozen variables belliash 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 belliash 2024-02-17 22:52:49 +01:00
  • 430557e08f Fix printing hard drive GUID belliash 2024-02-16 23:05:24 +01:00
  • a70df7cbf8 Properly print status codes belliash 2024-02-16 23:01:29 +01:00
  • 70c66a5d70 Code formatting belliash 2024-02-16 22:44:19 +01:00
  • 789e9d64f4 Properly print PA & VA addresses belliash 2024-02-16 22:40:36 +01:00
  • df627aeb42 Turn %p format compliant with POSIX, add %P XTOS extension to print pointers uppercase belliash 2024-02-16 22:36:48 +01:00
  • 98acc6f3d4 Use uppercase when printing status codes belliash 2024-02-16 22:09:38 +01:00
  • 6d66629124 Cleanup after switching to new way of printing formatted strings belliash 2024-02-16 22:04:17 +01:00
  • c99bd73dfd Use uppercase when printing status codes belliash 2024-02-16 22:03:00 +01:00
  • 109fd094ea Fix NULL pointer belliash 2024-02-16 19:05:53 +01:00
  • 00cca9a1c1 Add %U XTOS extension for UUID/GUID string argument support belliash 2024-02-16 19:02:44 +01:00
  • edd18b1dea Add %Z MSVC extension for ANSI/Unicode string argument support belliash 2024-02-16 18:14:16 +01:00
  • a1ec5e410d Refactor RtlpWriteWideStringValue() and RtlpWriteWideStringStringValue() routines belliash 2024-02-16 17:03:10 +01:00
  • 8ddd6137da XTLDR console/debug print refactor belliash 2024-02-16 15:09:18 +01:00
  • 5de4d7a7f5 Use new string formatting mechanism in the boot loader belliash 2024-02-15 23:32:23 +01:00
  • 8dd0e70dd9 Implement printf-alike wide string formatting mechanism, currently without floating point numbers support belliash 2024-02-15 22:51:28 +01:00
  • 8a62a2b367 Switch calling convention to stdcall belliash 2024-02-14 14:53:32 +01:00
  • 7e23484252 Implement RtlReverseWideString(), RtlTrimLeftWideString(), RtlTrimRightWideString() and RtlTrimWideString() routines belliash 2024-02-14 14:46:34 +01:00
  • d964e4b408 Implement RtlConcatenateString(), RtlReverseString() and RtlTokenizeString() routines belliash 2024-02-14 14:38:28 +01:00
  • 55fb9e2eb1 Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value belliash 2024-02-14 00:02:04 +01:00
  • c096c5d6df Add missing BITS_PER_BYTE definition belliash 2024-02-13 16:58:30 +01:00
  • cca2e65376 Rework 64-bit division routines to support i686 architecture belliash 2024-02-13 16:56:29 +01:00
  • a852993842 Add missing forward references to math related routines belliash 2024-02-13 16:25:41 +01:00
  • 99bdd917d9 Add basic kernel math support belliash 2024-02-13 14:05:37 +01:00
  • 07d30e06e6 Add VA_LIST pointer type belliash 2024-02-11 18:40:52 +01:00
  • 0c6a602253 Add 64bit double type belliash 2024-02-11 18:39:44 +01:00
  • 4e7b003606 Add print context structure definition belliash 2024-02-10 00:19:43 +01:00
  • 77bc796769 Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention belliash 2024-02-09 15:11:14 +01:00
  • 73cd4bd4f2 Export runlevel related routines belliash 2024-02-07 22:26:38 +01:00
  • 0fc14f6f82 Export spinlock related routines belliash 2024-02-07 22:19:34 +01:00
  • 2d7309476a Describe kernel executive layer belliash 2024-02-07 20:05:20 +01:00
  • 881bfbbd4d Add missing routine description belliash 2024-02-07 17:52:37 +01:00
  • 18934ae79d NTOS compatibility layer moved to 3rd party driver belliash 2024-02-07 17:50:01 +01:00
  • 86dcf317ab Add NTOS compatibility driver belliash 2024-02-07 17:48:33 +01:00
  • ba0b4c339d Reduce virtual disk image size to save build time belliash 2024-02-07 17:25:25 +01:00
  • 460ba7c857 Fix the filename used for exports belliash 2024-02-07 17:15:23 +01:00
  • 99abcd63d1 Implement basic kernel spinlock mechanism belliash 2024-02-05 22:07:39 +01:00
  • badb16e37d Add lock queue to processor control block belliash 2024-02-05 19:21:19 +01:00