Commit Graph

  • b57e79aa7f Proceed with architecture specific initialization belliash 2023-01-25 19:37:13 +01:00
  • 8da38af489 Rename KepInitializeBootStructures() to KepInitializeStack() belliash 2023-01-25 19:28:12 +01:00
  • 3c3e93afc7 Save kernel initialization block earlier belliash 2023-01-25 18:45:08 +01:00
  • 3b08bcaa4f Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS belliash 2023-01-25 18:39:07 +01:00
  • 3ad3149f80 Add descriptor structure definition belliash 2023-01-25 17:42:35 +01:00
  • bfc9db8b6d Unify KGDTENTRY and KIDTENTRY between architectures as much as possible belliash 2023-01-25 17:35:03 +01:00
  • 3ee759cc27 i686 Interrupt request levels definitions belliash 2023-01-25 17:18:27 +01:00
  • 7bd67d6210 Add GDT and Segments related definitions for i686 belliash 2023-01-25 17:13:24 +01:00
  • a366de618f AMD64 Interrupt request levels definitions belliash 2023-01-25 17:08:42 +01:00
  • 8f348c3954 Add GDT and Segments related definitions for AMD64 belliash 2023-01-25 17:05:15 +01:00
  • c4d53f12f2 Allocate memory for kernel startup stack belliash 2023-01-25 16:47:27 +01:00
  • b3bf613e1b Make sure paging has been successfully enabled belliash 2023-01-25 16:39:15 +01:00
  • 707dc37868 Fix type of Source parameter in HlLoadSegment() routine belliash 2023-01-24 23:08:48 +01:00
  • 35aa514f95 Implement HlLoadSegment() intrinsics routine belliash 2023-01-24 19:27:18 +01:00
  • d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic belliash 2023-01-23 20:13:51 +01:00
  • adc6677c9d Code formatting belliash 2023-01-23 20:04:32 +01:00
  • c81b858757 Implement HlReadGSQuadWord() intrinsic belliash 2023-01-23 19:59:54 +01:00
  • 9fd21a8820 Update badges belliash 2023-01-23 15:33:33 +01:00
  • f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register belliash 2023-01-20 20:24:05 +01:00
  • 9cbe2d458c Initial support for EFI framebuffer belliash 2023-01-19 16:23:39 +01:00
  • fb60724710 Add link to CI/CD artifacts belliash 2023-01-18 22:29:43 +01:00
  • 145fc17271 Pass framebuffer pitch information to the kernel belliash 2023-01-18 20:15:41 +01:00
  • 41a0a2b37c Shorter and longer version of the build timestamp belliash 2023-01-18 20:10:03 +01:00
  • 42af53c190 Add publishing task to the pipeline belliash 2023-01-18 00:23:14 +01:00
  • bb56641e4b Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway belliash 2023-01-16 21:58:30 +01:00
  • 1a93c198ed Add missing forward reference to _LOADER_GRAPHICS_INFORMATION_BLOCK structure belliash 2023-01-16 19:51:19 +01:00
  • b8df45ab6a Map framebuffer and fill information about it into kernel parameters belliash 2023-01-16 18:49:54 +01:00
  • 605597262c Initial version of EFI framebuffer module, currently support only GOP belliash 2023-01-16 18:41:25 +01:00
  • 289316b43b Print hexadecimal values in uppercase belliash 2023-01-16 15:55:38 +01:00
  • e3f0782053 Add enumeration of efi supported graphics protocols belliash 2023-01-16 00:10:44 +01:00
  • 5d74fb2bb5 Add UGA related structures belliash 2023-01-16 00:03:35 +01:00
  • 87d8300c6a Remove no longer needed EfiLoaderStack global variable belliash 2023-01-15 18:54:31 +01:00
  • 9a52be5ab9 Print a reason why module failed to load belliash 2023-01-15 18:53:09 +01:00
  • 0c3e18fd86 Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated belliash 2023-01-15 18:50:12 +01:00
  • 0461d975e0 Check ExitBootServices() status code belliash 2023-01-15 16:52:02 +01:00
  • fb60625abc Add more intrinsic routines belliash 2023-01-13 22:32:45 +01:00
  • bff460a879 Print COM port address properly belliash 2023-01-11 23:29:27 +01:00
  • 7496fa324e Map EfiLoaderData as some UEFI implementations might need this before kernel take over control belliash 2023-01-11 23:26:54 +01:00
  • 42c3d4eff7 Fix NULL pointer belliash 2023-01-11 23:16:44 +01:00
  • 21abe0553a Code formatting belliash 2023-01-11 15:39:36 +01:00
  • beed5e0b51 More architecture specific definitions belliash 2023-01-11 15:29:43 +01:00
  • 350df87bcc Do not start services as this only slows down boot process significantly belliash 2023-01-10 22:55:40 +01:00
  • 025e05013d Partially revert last changes belliash 2023-01-10 22:51:38 +01:00
  • bac7af8a33 Cleanup data types belliash 2023-01-09 23:07:21 +01:00
  • 12b8c5f539 Switch kernel stack and move boot structures initialization into separate routine belliash 2023-01-08 10:35:49 +01:00
  • 6255165f10 Add missing EFI enumeration lists forward references belliash 2023-01-08 09:31:40 +01:00
  • fd6e273d8a Add missing forward references belliash 2023-01-07 23:44:00 +01:00
  • ca1d7ddfe8 Basic context, frames and exceptions definitions belliash 2023-01-07 23:31:37 +01:00
  • f74ba62f24 Add GDT, IDT and TSS related structures belliash 2023-01-07 13:33:16 +01:00
  • cdef64d1e6 Update shields belliash 2023-01-07 10:02:37 +01:00
  • 3caca6e1bf Set kernel subsystem to XT_NATIVE_KERNEL belliash 2023-01-06 19:25:21 +01:00
  • 3f54c9b37e Allow to set XT subsystem when producing binaries belliash 2023-01-06 16:18:04 +01:00
  • b22a76e3c4 Add XT native kernel subsystem to the PE/COFF image support belliash 2023-01-06 16:16:26 +01:00
  • 674e69da0e Cleanup useless externals belliash 2023-01-05 23:38:58 +01:00
  • 712de4e4e4 XTDK contains headers uniquely identified belliash 2023-01-05 23:28:29 +01:00
  • 3250ad67aa Rename header file belliash 2023-01-05 23:09:54 +01:00
  • f2b51ff69c Code formatting belliash 2023-01-05 22:45:52 +01:00
  • 2920c1042a Suppress error caused by including recursively when building a preamble belliash 2023-01-05 19:55:17 +01:00
  • 3131aac7a9 Move serial ports I/O address to architecture specific header belliash 2023-01-05 15:58:36 +01:00
  • 5730e8692e Reorganisation of KeStartXtSystem() routine and early debug printing belliash 2023-01-04 23:08:59 +01:00
  • b7e5f1b5c1 Use CR constants instead of hardcoded values belliash 2023-01-04 16:33:28 +01:00
  • a5b3350559 Add _M128 structure definition belliash 2023-01-04 16:16:17 +01:00
  • f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack belliash 2023-01-03 23:04:11 +01:00
  • b22303003c Add architecture name belliash 2023-01-03 16:28:14 +01:00
  • bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers belliash 2023-01-03 00:10:24 +01:00
  • d8f2135ac6 Add more PCI(E) related definitions belliash 2023-01-02 23:59:32 +01:00
  • c91708034b Correct comments belliash 2023-01-02 18:06:54 +01:00
  • c5a7d0fe05 Improvements in COM port support belliash 2023-01-02 16:14:00 +01:00
  • e8e7d7b905 Add missing forward declaration belliash 2023-01-02 16:11:50 +01:00
  • 4c031f4075 Add I/O related type definitions belliash 2023-01-02 16:10:43 +01:00
  • b6b25ed04d Initialize serial port only debugging enabled belliash 2023-01-01 19:20:34 +01:00
  • 94e9fa1293 Allow to provide custom COM port address belliash 2022-12-29 23:44:52 +01:00
  • feabac2d98 Set XTOS NT compatibility version belliash 2022-12-29 22:39:39 +01:00
  • 58527ce5cb Set correct image version belliash 2022-12-29 22:37:39 +01:00
  • 7f21e4f19c Dump EFI memory mappings belliash 2022-12-29 17:09:44 +01:00
  • 6a27ea140b Print xtldr debug messages only when debugging enabled belliash 2022-12-28 23:30:03 +01:00
  • e6a7918bac Fix release build belliash 2022-12-28 23:28:49 +01:00
  • dec021b1ec Reorganize early debug printing; initialize kernel stacks when needed belliash 2022-12-28 23:11:35 +01:00
  • 75ac59f48a Fix DEBUG/RELEASE building options belliash 2022-12-28 17:15:21 +01:00
  • 9dc0e60f28 We support EFI-enabled systems only and such machines should support PAE, so there is no need for XTLDR to support non-PAE x86 hardware belliash 2022-12-28 15:57:03 +01:00
  • fcfa575bff Implement HlReadTimeStampCounter() routine belliash 2022-12-27 23:28:27 +01:00
  • f46615f92c Implement HlInvalidateTlbEntry(), HlReadModelSpecificRegister() and HlWriteModelSpecificRegister() routines belliash 2022-12-27 23:19:33 +01:00
  • 938cd175c8 Export HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines belliash 2022-12-27 22:48:10 +01:00
  • 602d89ef27 Fixes in HlIoPortInShort() and HlIoPortInLong() routines belliash 2022-12-27 22:43:19 +01:00
  • 9828b23400 Implement HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines belliash 2022-12-27 22:26:45 +01:00
  • 5c5f0a6df9 Add missing routine documentation belliash 2022-12-27 22:13:48 +01:00
  • bffb93b58c Add missing calling convention belliash 2022-12-27 22:05:46 +01:00
  • 6d77ff42c5 Loop over halt; add missing calling convention belliash 2022-12-27 20:12:59 +01:00
  • 5b75d005a7 Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines belliash 2022-12-27 18:54:01 +01:00
  • 8f3a4aef60 Code formatting belliash 2022-12-23 22:27:08 +01:00
  • db1b47e50e Initialize CpuRegisters variable to silence a warning belliash 2022-12-23 14:43:36 +01:00
  • 93ad0b4ea0 Set valid calling convention for HAL routines belliash 2022-12-23 14:41:11 +01:00
  • 3ab1695968 Common routines for reading from and writing to CPU control registers belliash 2022-12-23 14:30:52 +01:00
  • 3e8bdfe9fe Add missing forward routines definitions belliash 2022-12-23 00:09:33 +01:00
  • df8de3f85f Add missing routines documentation belliash 2022-12-22 23:41:19 +01:00
  • 7496c7203d Add missing routines documentation belliash 2022-12-22 23:29:16 +01:00
  • 4d68b93ed3 Small code formatting and refactoring belliash 2022-12-22 23:19:23 +01:00
  • e9d30a0fd9 Add missing forward structures definitions belliash 2022-12-22 22:58:52 +01:00
  • 8b02fb6c3f Mostly update comments in PE/COFF module belliash 2022-12-21 23:02:37 +01:00
  • d158525659 Add missing documentation for BlCreateStack() routine belliash 2022-12-21 22:34:59 +01:00