Commit Graph

229 Commits

Author SHA1 Message Date
6411fc3ae9
Simplify single linked list header
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-11 12:41:00 +01:00
4cae0447c1
Add single linked list definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-11 00:27:36 +01:00
e94cb2d3a7
Processor identification structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-10 17:14:12 +01:00
e645cf664c
Set process and thread information in processor control block
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-09 17:30:24 +01:00
e3a900088c
Initial process and thread related structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 23:56:29 +01:00
9132c47cd9
Initial process and thread related structures
Some checks failed
ci/woodpecker/push/build Pipeline failed
2023-02-08 23:40:58 +01:00
d8c68ed003
Add endian conversion routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 16:33:57 +01:00
a32e18b237
Implement ArReadFSDualWord() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-07 23:19:22 +01:00
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