Commit Graph

221 Commits

Author SHA1 Message Date
75c519a70c
Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-07 19:37:44 +01:00
f8d2ccc0d0
Add more debugging macros
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 16:10:32 +01:00
707c92e08a
Boot loader no longer needs to do anything related to the stack
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:03:21 +01:00
c6cadbd655
Initialize MXCSR register
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:30:12 +01:00
5eaf7d63a3
Initialize Page Attribute Table
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:14:34 +01:00
55cdae7c83
Initialize AMD64 processor registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-04 23:40:03 +01:00
f37722b6e6
Distinguish ProcessorBlock and ProcessorControlBlock
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 19:28:03 +01:00
269214ed34
Another improvements to GDT
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:00:37 +01:00
19f34d4b17
Cleanup the code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 19:42:57 +01:00
715f875c4f
Set alignment and packing properly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 17:01:18 +01:00
2e2b01742a
Definitions for setting structures alignment and packing
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 15:47:21 +01:00
73fc7607cd
There is no need to specify alignment of the structure in the forward reference
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 15:37:57 +01:00
dc1a94b982
This is 'Processor Block'
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 22:02:07 +01:00
21fbe6febe
Add IDT related definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:14:10 +01:00
5bbda188c6
IDT access levels and gate types
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 00:51:13 +01:00
9a1e9b1084
Define TSS offsets
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 23:43:10 +01:00
a761d3125a
Architecture specific initialization prior to processor structures initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 20:34:05 +01:00
6f068513cd
Initial processor block initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 19:07:05 +01:00
ebe6792f2b
Add MSR (Model Specific Registers) values
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 17:59:00 +01:00
ce4e590347
Add missing forward declaration of ArInitializeProcessor() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:57:06 +01:00
900e71459a
Add missing x86 descriptor sizes
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:54:36 +01:00
7bf4a9ab8d
Initialize boot CPU structures inside kernel on AMD64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:45:17 +01:00
27e2fdf4f2
Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00
e94e50b5d9
Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:08:57 +01:00
3ad3149f80
Add descriptor structure definition
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:42:35 +01:00
bfc9db8b6d
Unify KGDTENTRY and KIDTENTRY between architectures as much as possible
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:35:03 +01:00
3ee759cc27
i686 Interrupt request levels definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:18:27 +01:00
7bd67d6210
Add GDT and Segments related definitions for i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:13:24 +01:00
a366de618f
AMD64 Interrupt request levels definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:08:42 +01:00
8f348c3954
Add GDT and Segments related definitions for AMD64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 17:05:15 +01:00
707dc37868
Fix type of Source parameter in HlLoadSegment() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-24 23:08:48 +01:00
35aa514f95
Implement HlLoadSegment() intrinsics routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-24 19:27:18 +01:00
d3d8d144a0
Implement HlLoadGlobalDescriptorTable() intrinsic
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-23 20:13:51 +01:00
c81b858757
Implement HlReadGSQuadWord() intrinsic
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-23 19:59:54 +01:00
f20ab3e52e
Implement HlLoadTaskRegister() for loading TSS segment selector into task register
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-23 15:26:35 +01:00
9cbe2d458c
Initial support for EFI framebuffer 2023-01-23 15:26:35 +01:00
145fc17271
Pass framebuffer pitch information to the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
41a0a2b37c
Shorter and longer version of the build timestamp
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:10:03 +01:00
1a93c198ed
Add missing forward reference to _LOADER_GRAPHICS_INFORMATION_BLOCK structure
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 19:51:19 +01:00
605597262c
Initial version of EFI framebuffer module, currently support only GOP
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:41:25 +01:00
e3f0782053
Add enumeration of efi supported graphics protocols
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 00:10:44 +01:00
5d74fb2bb5
Add UGA related structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 00:03:35 +01:00
fb60625abc
Add more intrinsic routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-13 22:32:45 +01:00
21abe0553a
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-11 15:39:36 +01:00
beed5e0b51
More architecture specific definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-11 15:29:43 +01:00
025e05013d
Partially revert last changes
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:51:38 +01:00
bac7af8a33
Cleanup data types
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-09 23:07:21 +01:00
6255165f10
Add missing EFI enumeration lists forward references
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-08 09:31:40 +01:00
fd6e273d8a
Add missing forward references
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-07 23:44:00 +01:00
ca1d7ddfe8
Basic context, frames and exceptions definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-07 23:36:50 +01:00
f74ba62f24
Add GDT, IDT and TSS related structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-07 13:33:16 +01:00
3f54c9b37e
Allow to set XT subsystem when producing binaries
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:18:04 +01:00
b22a76e3c4
Add XT native kernel subsystem to the PE/COFF image support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:16:26 +01:00
674e69da0e
Cleanup useless externals
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:38:58 +01:00
712de4e4e4
XTDK contains headers uniquely identified
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:28:43 +01:00
3250ad67aa
Rename header file
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-05 23:09:54 +01:00
3131aac7a9
Move serial ports I/O address to architecture specific header
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-05 15:58:36 +01:00
5730e8692e
Reorganisation of KeStartXtSystem() routine and early debug printing
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-04 23:08:59 +01:00
b7e5f1b5c1
Use CR constants instead of hardcoded values
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +01:00
a5b3350559
Add _M128 structure definition
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:16:17 +01:00
b22303003c
Add architecture name
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-03 16:28:14 +01:00
d8f2135ac6
Add more PCI(E) related definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 23:59:32 +01:00
c5a7d0fe05
Improvements in COM port support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00
e8e7d7b905
Add missing forward declaration
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:11:50 +01:00
4c031f4075
Add I/O related type definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:10:43 +01:00
94e9fa1293
Allow to provide custom COM port address
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-29 23:44:52 +01:00
feabac2d98
Set XTOS NT compatibility version
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-29 22:39:39 +01:00
58527ce5cb
Set correct image version
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-29 22:37:39 +01:00
e6a7918bac
Fix release build
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:28:49 +01:00
dec021b1ec
Reorganize early debug printing; initialize kernel stacks when needed
All checks were successful
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
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-28 15:57:03 +01:00
fcfa575bff
Implement HlReadTimeStampCounter() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 23:28:27 +01:00
f46615f92c
Implement HlInvalidateTlbEntry(), HlReadModelSpecificRegister() and HlWriteModelSpecificRegister() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 23:19:33 +01:00
602d89ef27
Fixes in HlIoPortInShort() and HlIoPortInLong() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 22:43:19 +01:00
9828b23400
Implement HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines
Some checks failed
ci/woodpecker/push/build Pipeline failed
2022-12-27 22:26:45 +01:00
bffb93b58c
Add missing calling convention
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 22:05:46 +01:00
5b75d005a7
Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 18:54:01 +01:00
8f3a4aef60
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 22:27:08 +01:00
93ad0b4ea0
Set valid calling convention for HAL routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:41:11 +01:00
3ab1695968
Common routines for reading from and writing to CPU control registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:30:52 +01:00
3e8bdfe9fe
Add missing forward routines definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 00:09:33 +01:00
e9d30a0fd9
Add missing forward structures definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-22 22:58:52 +01:00
6c4496f839
KERNEL_STACK_SIZE should be expressed in bytes as the name suggests, calculate number of pages where needed
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 22:24:16 +01:00
652e3293b1
Get rid of EfiImageHandle and EfiSystemTable in UEFI_FIRMWARE_INFORMATION
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 23:08:28 +01:00
7c38efc802
Update boot sequence and check PE/COFF image machine type compatibility
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 19:11:15 +01:00
acda7aa37c
Add EFI_MEMORY_MAP structure definition
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 15:52:15 +01:00
eb5998c58e
Add a way to check PE/COFF image machine type
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 15:37:13 +01:00
b2b6cd7e0f
Add targets for testing ExectOS inside QEMU VM
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-13 20:07:15 +01:00
03ebd3d273
Add missing EFI memory definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-13 15:49:44 +01:00
0b9f398761
Tell the linker that ExectOS can handle addresses larger than 2GB
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 23:31:19 +01:00
9f4db475bb
Implement HlHalt() intrinsic routine and add basic definitions for kernel services
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 23:09:35 +01:00
0572b208f1
Add full paging support for AMD64 and i686 architectures, including PAE support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 20:14:04 +01:00
324a88cc01
Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 17:40:56 +01:00
900e86c9da
Create new stack and then boot XTOS, export more routines with the loader protocol
Some checks failed
ci/woodpecker/push/build Pipeline failed
2022-12-07 20:34:16 +01:00
93fa2aed67
Implement BlMapVirtualMemory() routine for recursive mapping
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-06 23:32:31 +01:00
3876414a48
Implement BlAddVirtualMemoryMapping() and BlInitializeVirtualMemory() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-06 17:49:00 +01:00
6b2f34f287
Store physical address as well in the image context
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-04 22:46:33 +01:00
b89121fded
Implement routines for accessing and manipulating CPU control registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-02 23:03:42 +01:00
b275caf161
Implement RtlRemoveEntryList() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-28 23:00:20 +01:00
131275e788
Import loader structures definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-15 20:16:23 +01:00