Commit Graph
92 Commits
Author SHA1 Message Date
belliash c60a46967f Copy module path; this fixes modules loading on i686 2022-10-16 23:49:40 +02:00
belliash 3894d4fd75 Move blproto.c and add missing header file 2022-10-12 23:14:33 +02:00
belliash 3fa2ec90aa Refactor code and fix loader protocol support 2022-10-12 23:09:19 +02:00
belliash 09e58d0b67 Implement BlEfiGetSecureBootStatus() to get SecureBoot status 2022-10-12 15:47:41 +02:00
belliash da37ceaa0f Add missing global variable guid 2022-10-11 23:25:25 +02:00
belliash 9e7c041f41 Implement XTLDR modules support 2022-10-11 23:03:29 +02:00
belliash 649974b733 BlOpenVolume() now correctly opens a Simple File System protocol 2022-10-05 19:57:46 +02:00
belliash 6a0a1eab23 Add missing IN/OUT indicators 2022-10-02 14:09:29 +02:00
belliash b21f9c199f Add missing EFI end device path subtypes 2022-10-02 14:05:37 +02:00
belliash 6c6e5fe70a Implement RtlListLoop() routine for detecting loops in linked lists 2022-09-27 19:30:19 +02:00
belliash bf9171b66a Check for OVMF and prevent doubled messages on serial console 2022-09-27 18:39:26 +02:00
belliash 67acacf528 Use SIZE_T for length limiter 2022-09-26 23:02:38 +02:00
belliash 252eb5c825 Export RtlWideStringConcatenate() and RtlWideStringLength() routines 2022-09-26 23:01:17 +02:00
belliash dd0c86003d Set correct calling convention for RtlWideStringCompare() and RtlWideStringTokenize() routines 2022-09-26 22:54:21 +02:00
belliash a0f359bcf7 Implement RtlWideStringConcatenate() routine 2022-09-26 17:26:00 +02:00
belliash c7f53e193a Implement RtlWideStringLength() routine 2022-09-26 16:53:58 +02:00
belliash 58847c2fea Implement BlCloseVolume() and BlOpenVolume() routines 2022-09-18 18:56:39 +02:00
belliash 5fe22b5d6c Fix build by setting project name first 2022-09-17 00:22:45 +02:00
belliash 109c24f389 Initial support for xtldr modules and bootloader protocol 2022-09-17 00:14:09 +02:00
belliash 33ff15e1db Add EFI XT protocols GUIDs 2022-09-06 17:55:07 +02:00
belliash 41f1aee6e3 Implemented RtlCompareMemory() for better compatibility with NT and made use of it in RtlSameMemory(), implemented RtlFillMemory(), RtlMoveMemory(), RtlSetMemory() and RtlZeroMemory() as well 2022-09-06 17:51:44 +02:00
belliash d56b10f252 Various fixes to the existing routines:
* Export RtlWideStringTokenize()
 * Allow to compare whole strings in RtlWideStringCompare() when no length specified
 * RtlSameMemory() returns boolean now
 * Source bytes can be constant value in RtlCopyMemory()
2022-09-05 15:17:12 +02:00
belliash 8a91412ec4 Export existing kernel routines 2022-09-01 22:05:35 +02:00
belliash 033447f759 Calling convention goes first 2022-09-01 22:04:07 +02:00
belliash a7d07e7ecb Integrate xtklib with the kernel 2022-08-30 23:23:02 +02:00
belliash 6ef36cbd26 Add macros for defining signatures built from ASCII characters 2022-08-30 21:56:55 +02:00
belliash 94273292c5 Correct typo in README 2022-08-22 20:18:48 +02:00
belliash f03b79ee2f Implement BlGetVolumeDevicePath() and BlpDissectVolumeArcPath() 2022-08-22 20:09:50 +02:00
belliash 6d135ce209 Define system-wide GUID structure 2022-08-22 18:31:04 +02:00
belliash d9b60aaa11 Add missing IN/OUT modifiers to routine declarations 2022-08-22 18:24:15 +02:00
belliash 756763d8ca Discover and enumerate EFI block devices 2022-08-21 19:44:49 +02:00
belliash 510bd8dc99 Add missing comments 2022-08-21 17:28:14 +02:00
belliash d369a5e163 Implement BlEfiMemoryAllocatePool() and BlEfiMemoryFreePool() 2022-08-21 17:05:05 +02:00
belliash e61108d9b5 Implement RtlCopyMemory() and RtlSameMemory(), no inline functions in static library 2022-08-21 16:27:57 +02:00
belliash 18d5a6d794 Insert new lines in every debug message 2022-08-19 23:46:08 +02:00
belliash 8a23f6ba0e Unify capsule naming convensions and add EFI_BLOCK_DEVICE_DATA structure 2022-08-19 23:42:04 +02:00
belliash a17c4f2435 Add VSCode workspace 2022-08-17 19:19:57 +02:00
belliash 14fafa2517 Implement RtlInsertHeadList() and RtlInsertTailList() 2022-08-16 19:01:23 +02:00
belliash ba8b9684ff Coding style 2022-08-16 18:57:49 +02:00
belliash 73f4538a62 Boolean cannot be used in EFI, because specification says it is of UINT8 (UCHAR), while XT specifies BOOLEAN as enumerated type 2022-08-16 11:38:24 +02:00
belliash ea2de4d5a1 Add missing forward reference and missing fields to the EFI_BLOCK_DEVICE structure 2022-08-15 19:24:47 +02:00
belliash 72a235fb27 Add ramdisk device path id 2022-08-15 19:17:19 +02:00
belliash 780038901e Add missing device path types and block device structure 2022-08-15 19:09:14 +02:00
belliash 31ae4c248b Correct the Javadoc style 2022-08-14 11:22:54 +02:00
belliash c0b5e2271e Correct typo 2022-08-13 23:17:26 +02:00
belliash f67bc808cc Basic support for double linked lists 2022-08-13 23:15:06 +02:00
belliash 96871fd042 Correct data types 2022-08-13 17:24:22 +02:00
belliash a6d892bf08 Initialize console without error reporting and allow serial port configuration to be passed via EFI shell 2022-08-13 13:25:29 +02:00
belliash 35b3c59270 Update source structure table 2022-08-13 13:21:36 +02:00
belliash 3f372f19e3 Implement RtlWideStringCompare() and RtlWideStringTokenize() routines 2022-08-13 13:18:52 +02:00
belliash ba1efee47e Disable watchdog timer 2022-08-11 19:19:55 +02:00
belliash 5a56959333 Consider EFI as unsupported implementation when console initialization fails 2022-08-11 18:32:43 +02:00
belliash e6aaa1a83c Mark serial port as fully initialized and always check that before printing anything to the serial console 2022-08-10 17:56:41 +02:00
belliash a9171bd512 Enable wide string printing 2022-08-10 17:52:19 +02:00
belliash 075c85d0ff Add missing comments 2022-08-10 16:31:09 +02:00
belliash a961ac1e69 Implement BlDbgPrint() for printing debug messages to the serial console and rename loader entry point 2022-08-09 22:27:15 +02:00
belliash fa8fa99d6f Add XT status codes used by xtklib 2022-08-09 16:49:14 +02:00
belliash 319e4eaade Import XT kernel mode library 2022-08-09 16:44:30 +02:00
belliash 63d927cdb7 Clear default LDFLAGS 2022-08-09 16:12:47 +02:00
belliash f403fbaaec Correct the target 2022-08-08 21:47:42 +02:00
belliash 3e4f0b8aff Add support for formatting and printing strings 2022-08-05 15:00:34 +02:00
belliash 93fde419a3 Import Open Virtual Machine Firmware (OVMF) 2022-08-05 14:52:48 +02:00
belliash 9d7491c732 EFI default console support 2022-08-03 22:36:31 +02:00
belliash 09e4edc026 Add EFI bootloader subproject 2022-08-03 10:45:22 +02:00
belliash 0a7b105d96 Use relative paths in PDB debug files 2022-08-03 10:13:05 +02:00
belliash d98ef4fbf4 Import clangd configuration 2022-08-03 07:42:57 +02:00
belliash 15502d8be5 Reorder forward references 2022-08-02 15:25:19 +02:00
belliash ebf4dc71d9 Add .gitignore 2022-08-02 08:33:39 +02:00
belliash 9788f37cf8 Network and PXE related structures 2022-08-02 08:20:40 +02:00
belliash 4bead0ead0 Put all structures forward references into single place 2022-08-01 15:03:26 +02:00
belliash f5b85a72e7 Network interface identifier protocol and missing definitions 2022-08-01 12:47:45 +02:00
belliash 4afc8e1cbf EFI file system structures 2022-08-01 08:57:58 +02:00
belliash 66e0f0cba4 Support for universal asynchronous receiver-transmitter (UART) port 2022-07-31 23:55:16 +02:00
belliash 231938766c GPT & MBR EFI support 2022-07-31 23:29:53 +02:00
belliash 9ba3c6a348 More EFI protocols and fix formatting 2022-07-31 23:16:36 +02:00
belliash 5615440df5 Add EFI console extension protocol 2022-07-31 18:54:00 +02:00
belliash 4d49c37447 Add EFI Capsule Block Descriptor structure 2022-07-31 18:38:19 +02:00
belliash c6da867996 Some fixes to EFI routines forward references 2022-07-31 14:48:30 +02:00
belliash e686206b84 EFI PCI I/O protocol related structures 2022-07-31 13:39:50 +02:00
belliash a8d1fab287 Add missing forward references and correct formatting 2022-07-31 12:57:18 +02:00
belliash dbded1e5e4 Add EFI device path structures 2022-07-31 12:05:40 +02:00
belliash d1fff10c15 Add basic EFI-related structures 2022-07-31 10:54:03 +02:00
belliash 35f2c67138 Basic XT structures 2022-07-29 16:31:59 +02:00
belliash 0fb2c6875a Do not use DWORD in kernel mode 2022-07-29 16:23:08 +02:00
belliash c2eea0e6b5 Add EFI-related status codes and definitions 2022-07-29 08:49:52 +02:00
belliash 075c4650cf Add union definition 2022-07-29 08:16:44 +02:00
belliash 39195f7275 Update build commands 2022-07-28 17:41:02 +02:00
belliash 3da8106c02 Import basic part of XTDK 2022-07-28 17:02:15 +02:00
belliash f01fe7ed92 Import pipeline 2022-07-27 09:27:21 +02:00
belliash 6f33629b85 Import build scripts and xtldr bootdata 2022-07-27 09:20:41 +02:00
belliash 35c7796527 Import readme and license 2022-07-27 07:25:19 +02:00
belliash afbc08faed Initialize repository 2022-07-20 14:40:31 +02:00