This website requires JavaScript.
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