Commit Graph
100 Commits
Author SHA1 Message Date
belliash d3376ce33b This is no longer an idea
ci/woodpecker/push/build Pipeline was successful
2023-01-29 22:33:12 +01:00
belliash 2bf15a5bb8 Fix pointer offset in PE relocation code
ci/woodpecker/push/build Pipeline was successful
2023-01-29 20:38:05 +01:00
belliash ddffd0c582 Temporary kernel stack is no longer used
ci/woodpecker/push/build Pipeline was successful
2023-01-29 11:08:51 +01:00
belliash df11473eac Cleanup xtldr code as it no longer need to initialize CPU structures
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:59:22 +01:00
belliash bca7ac41b8 Initialize boot CPU structures inside kernel on i686 architecture
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:54:52 +01:00
belliash 7ac434cb99 Move architecture specific globals to external header, as ex. there is no GDT on ARM
ci/woodpecker/push/build Pipeline was successful
2023-01-29 09:48:59 +01:00
belliash 79a5027bca Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel
ci/woodpecker/push/build Pipeline was successful
2023-01-29 01:01:36 +01:00
belliash ce4e590347 Add missing forward declaration of ArInitializeProcessor() routine
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:57:06 +01:00
belliash 900e71459a Add missing x86 descriptor sizes
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:54:36 +01:00
belliash ae60753e33 Add missing source files for i686 architecture
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:52:05 +01:00
belliash 7bf4a9ab8d Initialize boot CPU structures inside kernel on AMD64
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:45:17 +01:00
belliash 8733a23b20 Include kernel top header
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:34:34 +01:00
belliash 757560ffeb Do not use EFI RunTime Services in kernel as they are not mapped correctly
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:32:52 +01:00
belliash 9cd9a1eafa Correct typos
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:25:25 +01:00
belliash 29ec28fafe Update ideas and known issues markdown
ci/woodpecker/push/build Pipeline was successful
2023-01-28 19:22:02 +01:00
belliash 27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00
belliash 651113c4e8 Update Discord invitation link
ci/woodpecker/push/build Pipeline was successful
2023-01-27 23:37:20 +01:00
belliash d5f9b20b51 Import kernel readme
ci/woodpecker/push/build Pipeline was successful
2023-01-27 22:59:53 +01:00
belliash bf141fe25e Basic IDT setup in the bootloader
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:14:27 +01:00
belliash e94e50b5d9 Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:08:57 +01:00
belliash 6613fdd32c Correct markdown
ci/woodpecker/push/build Pipeline was successful
2023-01-26 16:55:34 +01:00
belliash efe0b45ae4 Import ideas and known issues
ci/woodpecker/push/build Pipeline was successful
2023-01-26 16:43:51 +01:00
belliash b57e79aa7f Proceed with architecture specific initialization
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:37:13 +01:00
belliash 8da38af489 Rename KepInitializeBootStructures() to KepInitializeStack()
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:28:12 +01:00
belliash 3c3e93afc7 Save kernel initialization block earlier
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:45:08 +01:00
belliash 3b08bcaa4f Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:39:07 +01:00
belliash 3ad3149f80 Add descriptor structure definition
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:42:35 +01:00
belliash bfc9db8b6d Unify KGDTENTRY and KIDTENTRY between architectures as much as possible
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:35:03 +01:00
belliash 3ee759cc27 i686 Interrupt request levels definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:18:27 +01:00
belliash 7bd67d6210 Add GDT and Segments related definitions for i686
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:13:24 +01:00
belliash a366de618f AMD64 Interrupt request levels definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:08:42 +01:00
belliash 8f348c3954 Add GDT and Segments related definitions for AMD64
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:05:15 +01:00
belliash c4d53f12f2 Allocate memory for kernel startup stack
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:47:27 +01:00
belliash b3bf613e1b Make sure paging has been successfully enabled
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:39:15 +01:00
belliash 707dc37868 Fix type of Source parameter in HlLoadSegment() routine
ci/woodpecker/push/build Pipeline was successful
2023-01-24 23:08:48 +01:00
belliash 35aa514f95 Implement HlLoadSegment() intrinsics routine
ci/woodpecker/push/build Pipeline was successful
2023-01-24 19:27:18 +01:00
belliash d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic
ci/woodpecker/push/build Pipeline was successful
2023-01-23 20:13:51 +01:00
belliash adc6677c9d Code formatting
ci/woodpecker/push/build Pipeline was successful
2023-01-23 20:04:32 +01:00
belliash c81b858757 Implement HlReadGSQuadWord() intrinsic
ci/woodpecker/push/build Pipeline was successful
2023-01-23 19:59:54 +01:00
belliash 9fd21a8820 Update badges
ci/woodpecker/push/build Pipeline was successful
2023-01-23 15:33:33 +01:00
belliash f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register
ci/woodpecker/push/build Pipeline was successful
2023-01-23 15:26:35 +01:00
belliash 9cbe2d458c Initial support for EFI framebuffer 2023-01-23 15:26:35 +01:00
belliash fb60724710 Add link to CI/CD artifacts
ci/woodpecker/push/build Pipeline was successful
2023-01-18 22:29:43 +01:00
belliash 145fc17271 Pass framebuffer pitch information to the kernel
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
belliash 41a0a2b37c Shorter and longer version of the build timestamp
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:10:03 +01:00
belliash 42af53c190 Add publishing task to the pipeline
ci/woodpecker/push/build Pipeline was successful
2023-01-18 00:23:14 +01:00
belliash bb56641e4b Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway
ci/woodpecker/push/build Pipeline was successful
2023-01-16 21:58:30 +01:00
belliash 1a93c198ed Add missing forward reference to _LOADER_GRAPHICS_INFORMATION_BLOCK structure
ci/woodpecker/push/build Pipeline was successful
2023-01-16 19:51:19 +01:00
belliash b8df45ab6a Map framebuffer and fill information about it into kernel parameters
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:49:54 +01:00
belliash 605597262c Initial version of EFI framebuffer module, currently support only GOP
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:41:25 +01:00
belliash 289316b43b Print hexadecimal values in uppercase
ci/woodpecker/push/build Pipeline was successful
2023-01-16 15:55:38 +01:00
belliash e3f0782053 Add enumeration of efi supported graphics protocols
ci/woodpecker/push/build Pipeline was successful
2023-01-16 00:10:44 +01:00
belliash 5d74fb2bb5 Add UGA related structures
ci/woodpecker/push/build Pipeline was successful
2023-01-16 00:03:35 +01:00
belliash 87d8300c6a Remove no longer needed EfiLoaderStack global variable
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:54:31 +01:00
belliash 9a52be5ab9 Print a reason why module failed to load
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:53:09 +01:00
belliash 0c3e18fd86 Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:50:12 +01:00
belliash 0461d975e0 Check ExitBootServices() status code
ci/woodpecker/push/build Pipeline was successful
2023-01-15 16:52:02 +01:00
belliash fb60625abc Add more intrinsic routines
ci/woodpecker/push/build Pipeline was successful
2023-01-13 22:32:45 +01:00
belliash bff460a879 Print COM port address properly
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:29:27 +01:00
belliash 7496fa324e Map EfiLoaderData as some UEFI implementations might need this before kernel take over control
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:26:54 +01:00
belliash 42c3d4eff7 Fix NULL pointer
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:16:44 +01:00
belliash 21abe0553a Code formatting
ci/woodpecker/push/build Pipeline was successful
2023-01-11 15:39:36 +01:00
belliash beed5e0b51 More architecture specific definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-11 15:29:43 +01:00
belliash 350df87bcc Do not start services as this only slows down boot process significantly
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:55:40 +01:00
belliash 025e05013d Partially revert last changes
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:51:38 +01:00
belliash bac7af8a33 Cleanup data types
ci/woodpecker/push/build Pipeline was successful
2023-01-09 23:07:21 +01:00
belliash 12b8c5f539 Switch kernel stack and move boot structures initialization into separate routine
ci/woodpecker/push/build Pipeline was successful
2023-01-08 10:35:49 +01:00
belliash 6255165f10 Add missing EFI enumeration lists forward references
ci/woodpecker/push/build Pipeline was successful
2023-01-08 09:31:40 +01:00
belliash fd6e273d8a Add missing forward references
ci/woodpecker/push/build Pipeline was successful
2023-01-07 23:44:00 +01:00
belliash ca1d7ddfe8 Basic context, frames and exceptions definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-07 23:36:50 +01:00
belliash f74ba62f24 Add GDT, IDT and TSS related structures
ci/woodpecker/push/build Pipeline was successful
2023-01-07 13:33:16 +01:00
belliash cdef64d1e6 Update shields
ci/woodpecker/push/build Pipeline was successful
2023-01-07 10:02:37 +01:00
belliash 3caca6e1bf Set kernel subsystem to XT_NATIVE_KERNEL
ci/woodpecker/push/build Pipeline was successful
2023-01-06 19:25:21 +01:00
belliash 3f54c9b37e Allow to set XT subsystem when producing binaries
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:18:04 +01:00
belliash b22a76e3c4 Add XT native kernel subsystem to the PE/COFF image support
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:16:26 +01:00
belliash 674e69da0e Cleanup useless externals
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:38:58 +01:00
belliash 712de4e4e4 XTDK contains headers uniquely identified
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:28:43 +01:00
belliash 3250ad67aa Rename header file
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:09:54 +01:00
belliash f2b51ff69c Code formatting
ci/woodpecker/push/build Pipeline was successful
2023-01-05 22:45:52 +01:00
belliash 2920c1042a Suppress error caused by including recursively when building a preamble
ci/woodpecker/push/build Pipeline was successful
2023-01-05 19:55:17 +01:00
belliash 3131aac7a9 Move serial ports I/O address to architecture specific header
ci/woodpecker/push/build Pipeline was successful
2023-01-05 15:58:36 +01:00
belliash 5730e8692e Reorganisation of KeStartXtSystem() routine and early debug printing
ci/woodpecker/push/build Pipeline was successful
2023-01-04 23:08:59 +01:00
belliash b7e5f1b5c1 Use CR constants instead of hardcoded values
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +01:00
belliash a5b3350559 Add _M128 structure definition
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:16:17 +01:00
belliash f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack
ci/woodpecker/push/build Pipeline was successful
2023-01-03 23:04:11 +01:00
belliash b22303003c Add architecture name
ci/woodpecker/push/build Pipeline was successful
2023-01-03 16:28:14 +01:00
belliash bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers
ci/woodpecker/push/build Pipeline was successful
2023-01-03 00:10:24 +01:00
belliash d8f2135ac6 Add more PCI(E) related definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-02 23:59:32 +01:00
belliash c91708034b Correct comments
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
belliash c5a7d0fe05 Improvements in COM port support
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00
belliash e8e7d7b905 Add missing forward declaration
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:11:50 +01:00
belliash 4c031f4075 Add I/O related type definitions
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:10:43 +01:00
belliash b6b25ed04d Initialize serial port only debugging enabled
ci/woodpecker/push/build Pipeline was successful
2023-01-01 19:20:34 +01:00
belliash 94e9fa1293 Allow to provide custom COM port address
ci/woodpecker/push/build Pipeline was successful
2022-12-29 23:44:52 +01:00
belliash feabac2d98 Set XTOS NT compatibility version
ci/woodpecker/push/build Pipeline was successful
2022-12-29 22:39:39 +01:00
belliash 58527ce5cb Set correct image version
ci/woodpecker/push/build Pipeline was successful
2022-12-29 22:37:39 +01:00
belliash 7f21e4f19c Dump EFI memory mappings
ci/woodpecker/push/build Pipeline was successful
2022-12-29 17:09:44 +01:00
belliash 6a27ea140b Print xtldr debug messages only when debugging enabled
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:30:03 +01:00
belliash e6a7918bac Fix release build
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:28:49 +01:00
belliash dec021b1ec Reorganize early debug printing; initialize kernel stacks when needed
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:11:35 +01:00