Commit Graph

173 Commits

Author SHA1 Message Date
57dee5c535
Reorder parameters in KeInitializeThread()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-24 22:29:38 +01:00
9c74aafe3d
Initial implementation of process initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-24 19:52:20 +01:00
c4d1f1cd0d
Initial implementation of the thread initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-23 20:11:21 +01:00
cbca1e21c6
Add missing forward reference to KeInitializeThread()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-21 22:49:13 +01:00
88c17982e4
Thread initialization stub
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-21 22:30:56 +01:00
757ab280f7
Declare variable at the beginning of routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-21 19:22:53 +01:00
d427ca20fb
Always include xtos.h in kernel sources
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-20 00:21:52 +01:00
9a27d52efe
Correct typo
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-18 00:07:12 +01:00
3354075900
Initial Asynchronous Procedure Call (APC) support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-18 00:04:51 +01:00
08405e7bdc
Ad more routines for semaphores support
Some checks failed
ci/woodpecker/push/build Pipeline failed
2023-02-17 09:40:18 +01:00
03bae53fb9
Export semaphore, spinlock and timer initialization routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 22:33:54 +01:00
ccaa28399a
Initial semaphores support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 19:29:36 +01:00
525cc116ee
Update description
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 19:27:01 +01:00
98884516a1
Implement KeInitializeSpinLock() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 18:34:46 +01:00
b2456fd18a
Implement kernel timer initialization routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 17:56:35 +01:00
92a461d1e0
Add notes for MM
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-15 23:44:10 +01:00
9ea1be96db
Implement MmZeroPages() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-15 20:48:48 +01:00
b1c2b209e3
Implement RtlGetStackLimits() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-15 20:12:58 +01:00
28b760b089
Add stubs for allocating and freeing kernel stacks
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-14 22:35:16 +01:00
d8bc45e3bb
Move HL related global variables into separate file
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-13 23:41:24 +01:00
050f24f877
Implement routines for atomically work with linked lists
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-13 22:36:03 +01:00
9e5fb84412
More routines for performing atomic bitwise AND/OR/XOR operations
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-12 23:11:23 +01:00
5a86d61b78
Implement routines for performing atomic operations
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-12 22:46:58 +01:00
b43afac326
Cleanup definitions in kernel headers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-11 22:26:13 +01:00
e4fa9bdead
CurrentPrcb is needed here
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-10 17:29:18 +01:00
d72002187d
Partially implement ArpIdentifyProcessor()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-10 17:23:47 +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
47f399e987
Set current process and thread in processor control block
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-09 00:02:45 +01:00
c4a52938d2
Implement KeGetCurrentThread() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 23:58:24 +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
929d3dfae7
Implement KeGetCurrentProcessorBlock() and KeGetCurrentProcessorControlBlock() routines for both amd64 and i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 16:39:05 +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
67768ae7a3
Mark ArpIdentifyProcessor() as unimplemented
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 16:15:24 +01:00
9c7d961c5a
Architecture specific initialization after processor init is done
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 15:53:11 +01:00
385f0e6de0
Not all AMD64 CPUs support large pages and global pages, unfortunately
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 22:14:47 +01:00
76f22fbdc4
Initialize segments and processor registers for i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 15:45:22 +01:00
911903d0eb
Add missing routine description
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:08:49 +01:00
d6aac59199
Let kernel initialize stack on it's own without relying on boot loader
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 09:55:59 +01:00
0b743a5f26
Add stub routine for identifying processor
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:42:30 +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
f181215341
Initialize segment registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-04 00:17:07 +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
b90f37dad4
Fill in Interrupt Descriptor Table (IDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:40:10 +01:00
648ad1636a
Cleanup TSS initialization code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:27:50 +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
a49d0804ce
Add trap handlers for both i686 and amd64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 23:31:32 +01:00
404f2f85c6
Cleanup the Interrupt Stack Table
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 23:47:57 +01:00
7fc1f04cd0
TSS entry is already put into GDT table, just initialize it
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 23:37:12 +01:00
cbd21ced39
Use a size of the structure, not a pointer
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 22:38:36 +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
3522539d4b
Initialize Interrupt Descriptor Table (IDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 21:56:17 +01:00
1ef205d47b
Initialize DoubleFault and NonMaskableInterrupt TSS entries
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:36:40 +01:00
e2813bcdaa
Fix entries in Global Descriptor Table (GDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:24:55 +01:00
892c9eca86
Do not hardcode I/O map base
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 22:38:41 +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
bca7ac41b8
Initialize boot CPU structures inside kernel on i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:54:52 +01:00
7ac434cb99
Move architecture specific globals to external header, as ex. there is no GDT on ARM
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 09:48:59 +01:00
ae60753e33
Add missing source files for i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:52:05 +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
8733a23b20
Include kernel top header
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:34:34 +01:00
757560ffeb
Do not use EFI RunTime Services in kernel as they are not mapped correctly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:32:52 +01:00
9cd9a1eafa
Correct typos
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:25:25 +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
d5f9b20b51
Import kernel readme
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-27 22:59:53 +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
b57e79aa7f
Proceed with architecture specific initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:37:13 +01:00
8da38af489
Rename KepInitializeBootStructures() to KepInitializeStack()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:28:12 +01:00
3c3e93afc7
Save kernel initialization block earlier
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:45:08 +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
adc6677c9d
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-23 20:04:32 +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
fb60625abc
Add more intrinsic routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-13 22:32:45 +01:00
12b8c5f539
Switch kernel stack and move boot structures initialization into separate routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-08 10:35:49 +01:00
3caca6e1bf
Set kernel subsystem to XT_NATIVE_KERNEL
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-06 19:25:21 +01:00
f2b51ff69c
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-05 22:45:52 +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
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
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
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
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
938cd175c8
Export HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 22:48:10 +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