-
c6cadbd655
Initialize MXCSR register
belliash
2023-02-05 00:30:12 +0100
-
5eaf7d63a3
Initialize Page Attribute Table
belliash
2023-02-05 00:14:34 +0100
-
55cdae7c83
Initialize AMD64 processor registers
belliash
2023-02-04 23:40:03 +0100
-
f181215341
Initialize segment registers
belliash
2023-02-04 00:17:07 +0100
-
f37722b6e6
Distinguish ProcessorBlock and ProcessorControlBlock
belliash
2023-02-03 19:28:03 +0100
-
b90f37dad4
Fill in Interrupt Descriptor Table (IDT)
belliash
2023-02-03 18:40:10 +0100
-
648ad1636a
Cleanup TSS initialization code
belliash
2023-02-03 18:27:50 +0100
-
269214ed34
Another improvements to GDT
belliash
2023-02-03 18:00:37 +0100
-
a49d0804ce
Add trap handlers for both i686 and amd64
belliash
2023-02-02 23:31:32 +0100
-
19f34d4b17
Cleanup the code
belliash
2023-02-02 19:42:57 +0100
-
715f875c4f
Set alignment and packing properly
belliash
2023-02-02 17:01:18 +0100
-
2e2b01742a
Definitions for setting structures alignment and packing
belliash
2023-02-02 15:47:21 +0100
-
73fc7607cd
There is no need to specify alignment of the structure in the forward reference
belliash
2023-02-02 15:37:57 +0100
-
404f2f85c6
Cleanup the Interrupt Stack Table
belliash
2023-02-01 23:47:57 +0100
-
7fc1f04cd0
TSS entry is already put into GDT table, just initialize it
belliash
2023-02-01 23:37:12 +0100
-
cbd21ced39
Use a size of the structure, not a pointer
belliash
2023-02-01 22:38:36 +0100
-
dc1a94b982
This is 'Processor Block'
belliash
2023-02-01 22:02:07 +0100
-
3522539d4b
Initialize Interrupt Descriptor Table (IDT)
belliash
2023-02-01 21:56:17 +0100
-
1ef205d47b
Initialize DoubleFault and NonMaskableInterrupt TSS entries
belliash
2023-02-01 20:36:40 +0100
-
e2813bcdaa
Fix entries in Global Descriptor Table (GDT)
belliash
2023-02-01 20:24:55 +0100
-
21fbe6febe
Add IDT related definitions
belliash
2023-02-01 20:14:10 +0100
-
5bbda188c6
IDT access levels and gate types
belliash
2023-02-01 00:51:13 +0100
-
9a1e9b1084
Define TSS offsets
belliash
2023-01-30 23:43:10 +0100
-
892c9eca86
Do not hardcode I/O map base
belliash
2023-01-30 22:38:41 +0100
-
a761d3125a
Architecture specific initialization prior to processor structures initialization
belliash
2023-01-30 20:34:05 +0100
-
6f068513cd
Initial processor block initialization
belliash
2023-01-30 19:07:05 +0100
-
ebe6792f2b
Add MSR (Model Specific Registers) values
belliash
2023-01-30 17:59:00 +0100
-
d3376ce33b
This is no longer an idea
belliash
2023-01-29 22:33:12 +0100
-
2bf15a5bb8
Fix pointer offset in PE relocation code
belliash
2023-01-29 20:38:05 +0100
-
ddffd0c582
Temporary kernel stack is no longer used
belliash
2023-01-29 11:08:44 +0100
-
df11473eac
Cleanup xtldr code as it no longer need to initialize CPU structures
belliash
2023-01-29 10:59:22 +0100
-
bca7ac41b8
Initialize boot CPU structures inside kernel on i686 architecture
belliash
2023-01-29 10:54:52 +0100
-
7ac434cb99
Move architecture specific globals to external header, as ex. there is no GDT on ARM
belliash
2023-01-29 09:48:59 +0100
-
79a5027bca
Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel
belliash
2023-01-29 01:01:36 +0100
-
ce4e590347
Add missing forward declaration of ArInitializeProcessor() routine
belliash
2023-01-29 00:57:06 +0100
-
900e71459a
Add missing x86 descriptor sizes
belliash
2023-01-29 00:54:36 +0100
-
ae60753e33
Add missing source files for i686 architecture
belliash
2023-01-29 00:52:05 +0100
-
7bf4a9ab8d
Initialize boot CPU structures inside kernel on AMD64
belliash
2023-01-29 00:45:17 +0100
-
8733a23b20
Include kernel top header
belliash
2023-01-29 00:34:34 +0100
-
757560ffeb
Do not use EFI RunTime Services in kernel as they are not mapped correctly
belliash
2023-01-29 00:32:52 +0100
-
9cd9a1eafa
Correct typos
belliash
2023-01-29 00:25:25 +0100
-
29ec28fafe
Update ideas and known issues markdown
belliash
2023-01-28 19:22:02 +0100
-
27e2fdf4f2
Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
belliash
2023-01-28 10:34:55 +0100
-
651113c4e8
Update Discord invitation link
belliash
2023-01-27 23:37:20 +0100
-
d5f9b20b51
Import kernel readme
belliash
2023-01-27 22:59:53 +0100
-
bf141fe25e
Basic IDT setup in the bootloader
belliash
2023-01-26 20:14:27 +0100
-
e94e50b5d9
Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT
belliash
2023-01-26 20:08:57 +0100
-
6613fdd32c
Correct markdown
belliash
2023-01-26 16:55:34 +0100
-
efe0b45ae4
Import ideas and known issues
belliash
2023-01-26 16:43:51 +0100
-
b57e79aa7f
Proceed with architecture specific initialization
belliash
2023-01-25 19:37:13 +0100
-
8da38af489
Rename KepInitializeBootStructures() to KepInitializeStack()
belliash
2023-01-25 19:28:12 +0100
-
3c3e93afc7
Save kernel initialization block earlier
belliash
2023-01-25 18:45:08 +0100
-
3b08bcaa4f
Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS
belliash
2023-01-25 18:39:07 +0100
-
3ad3149f80
Add descriptor structure definition
belliash
2023-01-25 17:42:35 +0100
-
bfc9db8b6d
Unify KGDTENTRY and KIDTENTRY between architectures as much as possible
belliash
2023-01-25 17:35:03 +0100
-
3ee759cc27
i686 Interrupt request levels definitions
belliash
2023-01-25 17:18:27 +0100
-
7bd67d6210
Add GDT and Segments related definitions for i686
belliash
2023-01-25 17:13:24 +0100
-
a366de618f
AMD64 Interrupt request levels definitions
belliash
2023-01-25 17:08:42 +0100
-
8f348c3954
Add GDT and Segments related definitions for AMD64
belliash
2023-01-25 17:05:15 +0100
-
c4d53f12f2
Allocate memory for kernel startup stack
belliash
2023-01-25 16:47:27 +0100
-
b3bf613e1b
Make sure paging has been successfully enabled
belliash
2023-01-25 16:39:15 +0100
-
707dc37868
Fix type of Source parameter in HlLoadSegment() routine
belliash
2023-01-24 23:08:48 +0100
-
35aa514f95
Implement HlLoadSegment() intrinsics routine
belliash
2023-01-24 19:27:18 +0100
-
d3d8d144a0
Implement HlLoadGlobalDescriptorTable() intrinsic
belliash
2023-01-23 20:13:51 +0100
-
adc6677c9d
Code formatting
belliash
2023-01-23 20:04:32 +0100
-
c81b858757
Implement HlReadGSQuadWord() intrinsic
belliash
2023-01-23 19:59:54 +0100
-
9fd21a8820
Update badges
belliash
2023-01-23 15:33:33 +0100
-
f20ab3e52e
Implement HlLoadTaskRegister() for loading TSS segment selector into task register
belliash
2023-01-20 20:24:05 +0100
-
9cbe2d458c
Initial support for EFI framebuffer
belliash
2023-01-19 16:23:39 +0100
-
fb60724710
Add link to CI/CD artifacts
belliash
2023-01-18 22:29:43 +0100
-
145fc17271
Pass framebuffer pitch information to the kernel
belliash
2023-01-18 20:15:41 +0100
-
41a0a2b37c
Shorter and longer version of the build timestamp
belliash
2023-01-18 20:10:03 +0100
-
42af53c190
Add publishing task to the pipeline
belliash
2023-01-18 00:23:14 +0100
-
bb56641e4b
Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway
belliash
2023-01-16 21:58:30 +0100
-
1a93c198ed
Add missing forward reference to _LOADER_GRAPHICS_INFORMATION_BLOCK structure
belliash
2023-01-16 19:51:19 +0100
-
b8df45ab6a
Map framebuffer and fill information about it into kernel parameters
belliash
2023-01-16 18:49:54 +0100
-
605597262c
Initial version of EFI framebuffer module, currently support only GOP
belliash
2023-01-16 18:41:25 +0100
-
289316b43b
Print hexadecimal values in uppercase
belliash
2023-01-16 15:55:38 +0100
-
e3f0782053
Add enumeration of efi supported graphics protocols
belliash
2023-01-16 00:10:44 +0100
-
5d74fb2bb5
Add UGA related structures
belliash
2023-01-16 00:03:35 +0100
-
87d8300c6a
Remove no longer needed EfiLoaderStack global variable
belliash
2023-01-15 18:54:31 +0100
-
9a52be5ab9
Print a reason why module failed to load
belliash
2023-01-15 18:53:09 +0100
-
0c3e18fd86
Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated
belliash
2023-01-15 18:50:12 +0100
-
0461d975e0
Check ExitBootServices() status code
belliash
2023-01-15 16:52:02 +0100
-
fb60625abc
Add more intrinsic routines
belliash
2023-01-13 22:32:45 +0100
-
bff460a879
Print COM port address properly
belliash
2023-01-11 23:29:27 +0100
-
7496fa324e
Map EfiLoaderData as some UEFI implementations might need this before kernel take over control
belliash
2023-01-11 23:26:54 +0100
-
42c3d4eff7
Fix NULL pointer
belliash
2023-01-11 23:16:44 +0100
-
21abe0553a
Code formatting
belliash
2023-01-11 15:39:36 +0100
-
beed5e0b51
More architecture specific definitions
belliash
2023-01-11 15:29:43 +0100
-
350df87bcc
Do not start services as this only slows down boot process significantly
belliash
2023-01-10 22:55:40 +0100
-
025e05013d
Partially revert last changes
belliash
2023-01-10 22:51:38 +0100
-
bac7af8a33
Cleanup data types
belliash
2023-01-09 23:07:21 +0100
-
12b8c5f539
Switch kernel stack and move boot structures initialization into separate routine
belliash
2023-01-08 10:35:49 +0100
-
6255165f10
Add missing EFI enumeration lists forward references
belliash
2023-01-08 09:31:40 +0100
-
fd6e273d8a
Add missing forward references
belliash
2023-01-07 23:44:00 +0100
-
ca1d7ddfe8
Basic context, frames and exceptions definitions
belliash
2023-01-07 23:31:37 +0100
-
f74ba62f24
Add GDT, IDT and TSS related structures
belliash
2023-01-07 13:33:16 +0100
-
cdef64d1e6
Update shields
belliash
2023-01-07 10:02:37 +0100
-
3caca6e1bf
Set kernel subsystem to XT_NATIVE_KERNEL
belliash
2023-01-06 19:25:21 +0100