Gráfico de commits

126 Commits

Autor SHA1 Mensaje Fecha
79a5027bca Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-29 01:01:36 +01:00
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00
bf141fe25e Basic IDT setup in the bootloader
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:14:27 +01:00
3b08bcaa4f Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:39:07 +01:00
c4d53f12f2 Allocate memory for kernel startup stack
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:47:27 +01:00
b3bf613e1b Make sure paging has been successfully enabled
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:39:15 +01:00
145fc17271 Pass framebuffer pitch information to the kernel
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
bb56641e4b Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-16 21:58:30 +01:00
b8df45ab6a Map framebuffer and fill information about it into kernel parameters
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:49:54 +01:00
605597262c Initial version of EFI framebuffer module, currently support only GOP
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:41:25 +01:00
289316b43b Print hexadecimal values in uppercase
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-16 15:55:38 +01:00
87d8300c6a Remove no longer needed EfiLoaderStack global variable
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:54:31 +01:00
9a52be5ab9 Print a reason why module failed to load
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:53:09 +01:00
0c3e18fd86 Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:50:12 +01:00
0461d975e0 Check ExitBootServices() status code
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-15 16:52:02 +01:00
bff460a879 Print COM port address properly
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:29:27 +01:00
7496fa324e Map EfiLoaderData as some UEFI implementations might need this before kernel take over control
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:26:54 +01:00
42c3d4eff7 Fix NULL pointer
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:16:44 +01:00
350df87bcc Do not start services as this only slows down boot process significantly
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:55:40 +01:00
b22a76e3c4 Add XT native kernel subsystem to the PE/COFF image support
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:16:26 +01:00
b7e5f1b5c1 Use CR constants instead of hardcoded values
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +01:00
f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-03 23:04:11 +01:00
bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-03 00:10:24 +01:00
c91708034b Correct comments
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
c5a7d0fe05 Improvements in COM port support
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00
b6b25ed04d Initialize serial port only debugging enabled
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2023-01-01 19:20:34 +01:00
94e9fa1293 Allow to provide custom COM port address
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-29 23:44:52 +01:00
7f21e4f19c Dump EFI memory mappings
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-29 17:09:44 +01:00
6a27ea140b Print xtldr debug messages only when debugging enabled
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:30:03 +01:00
dec021b1ec Reorganize early debug printing; initialize kernel stacks when needed
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:11:35 +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
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-28 15:57:03 +01:00
5c5f0a6df9 Add missing routine documentation
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-27 22:13:48 +01:00
6d77ff42c5 Loop over halt; add missing calling convention
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-27 20:12:59 +01:00
5b75d005a7 Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-27 18:54:01 +01:00
8f3a4aef60 Code formatting
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-23 22:27:08 +01:00
db1b47e50e Initialize CpuRegisters variable to silence a warning
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:43:36 +01:00
3ab1695968 Common routines for reading from and writing to CPU control registers
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:30:52 +01:00
7496c7203d Add missing routines documentation
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:29:16 +01:00
4d68b93ed3 Small code formatting and refactoring
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:19:23 +01:00
8b02fb6c3f Mostly update comments in PE/COFF module
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-21 23:02:37 +01:00
d158525659 Add missing documentation for BlCreateStack() routine
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-21 22:34:59 +01:00
6c4496f839 KERNEL_STACK_SIZE should be expressed in bytes as the name suggests, calculate number of pages where needed
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-21 22:24:16 +01:00
dc2570ca8e Serial port should be working all the time, so announce that now booting the kernel
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:52:53 +01:00
cf828a6896 Fill in kernel initialization block
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:04:20 +01:00
51886a05dd Get rid of boot services code after exiting boot services
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-20 23:06:32 +01:00
7c38efc802 Update boot sequence and check PE/COFF image machine type compatibility
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-20 19:11:15 +01:00
edee9a8ec6 Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-20 18:59:36 +01:00
eb5998c58e Add a way to check PE/COFF image machine type
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-20 15:37:13 +01:00
7bcdd8562d Several changes to EFI memory mapping
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
* Move EFI memory type conversion to separate routine
 * Never map VRAM
 * Map only pages not exceeding the lowest physical page
2022-12-19 22:50:03 +01:00
6871291c9a Basic steps in XTOS boot protocol
Todas las comprobaciones han sido exitosas
ci/woodpecker/push/build Pipeline was successful
2022-12-14 22:17:17 +01:00