0c7cf6f6d3
Implement RtlInfiniteDouble() and RtlNanDouble() routines
Builds / ExectOS (amd64) (push) Successful in 59s
Builds / ExectOS (i686) (push) Successful in 21s
2024-02-21 19:55:16 +01:00
4b2d8ded72
No parameters are expected, explicitly
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-20 16:55:12 +01:00
c70d2e2afa
Routines with no prototype cannot use XTAPI calling convention
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 29s
2024-02-20 16:37:57 +01:00
015faa53a0
XTAPI calling convention is not supported on variadic routines
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 31s
2024-02-20 16:21:28 +01:00
00cca9a1c1
Add %U XTOS extension for UUID/GUID string argument support
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 19:02:44 +01:00
a1ec5e410d
Refactor RtlpWriteWideStringValue() and RtlpWriteWideStringStringValue() routines
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 17:03:10 +01:00
8dd0e70dd9
Implement printf-alike wide string formatting mechanism, currently without floating point numbers support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-15 23:01:13 +01:00
55fb9e2eb1
Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-14 00:02:04 +01:00
a852993842
Add missing forward references to math related routines
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Failing after 16s
2024-02-13 16:25:41 +01:00
77bc796769
Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-09 15:11:14 +01:00
73cd4bd4f2
Export runlevel related routines
Builds / ExectOS (amd64) (push) Successful in 20s
Builds / ExectOS (i686) (push) Successful in 18s
2024-02-07 22:26:38 +01:00
0fc14f6f82
Export spinlock related routines
Builds / ExectOS (amd64) (push) Successful in 21s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-07 22:19:34 +01:00
99abcd63d1
Implement basic kernel spinlock mechanism
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-05 22:07:39 +01:00
7727888087
Implement ArFlushTlb() routine
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-04 23:43:38 +01:00
abdb9b25db
Implement RtlAtomicBitTestAndSet() and RtlAtomicBitTestAndSet64() intrinsic routines
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-04 22:34:22 +01:00
9ce841e957
Implement memory barriers
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-04 22:10:37 +01:00
dddd1eb183
Rename internal kernel headers to distinguish them easily from XTDK
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
2023-11-29 20:39:59 +01:00
59aa62916a
Include architecture specific HAL headers
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 20:15:12 +01:00
3800138f52
Move (A)PIC related forward references to arch-specific headers
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-29 20:13:03 +01:00
Jozef Nagy
c8a54e602b
Disable legacy 8259 PIC before enabling APIC
...
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
Reviewed-on: #5
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: Jozef Nagy <schkwve@gmail.com>
Co-committed-by: Jozef Nagy <schkwve@gmail.com>
2023-11-29 20:07:16 +01:00
f6c621c2a6
Basic processor initialization code
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-28 22:31:39 +01:00
d4ee87fd62
Fix function prototype
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-28 15:39:32 +01:00
d17b06a180
Register interrupt handlers once the APIC initialization is done
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-28 14:20:23 +01:00
e5adc31af7
Implement basic APIC support, including X2APIC
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-27 22:38:15 +01:00
bed49fa0ac
Fix function prototypes using fastcall and stdcall calling convensions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-25 23:25:44 +01:00
e245754d95
Add running level management support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-11-25 23:14:15 +01:00
1cb21a81dd
Rename HlInitializeDisplay() to HlInitializeFrameBuffer()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-22 20:36:05 +01:00
f28c870192
Implement KeHaltSystem() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2023-11-22 19:24:14 +01:00
1eecad21db
Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-20 15:26:03 +01:00
71d0608643
Implement ArGetStackPointer() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:09:16 +01:00
ec4a0fcb70
Add missing KepRetireDpcList() routine forward reference
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 23:19:20 +01:00
d35dd4fce3
Save processor state during kernel initialization
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
ccd0514416
Implement more CPU-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-15 14:52:18 +01:00
1d9a79736a
Allow to postpone thread startup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-11 16:30:53 +01:00
63f8dbc59b
Initialize CPU power structures, idle process and idle thread
Builds / ExectOS (i686) (push) Successful in 28s
Builds / ExectOS (amd64) (push) Successful in 29s
2023-11-02 23:07:11 +01:00
2621cb6d8a
Turn atomic routines architecture independent
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-10-29 21:43:05 +01:00
783a4a2aa0
Finish PoInitializeProcessorControlBlock() routine implementation
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Failing after 17s
2023-10-29 20:14:10 +01:00
a359c9b2e8
Keep only atomic routines
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2023-10-29 18:22:11 +01:00
3f2baa5b50
Rename RtlInterlockedDecrementLongPtr() to follow routines naming convention
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 12:21:19 +01:00
cf7c467637
Implement RtlInterlockedExchangePointer() routine
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 11:48:31 +01:00
6d63750fc2
Rename KepArchInitialize() routine to KepInitializeMachine()
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 10:38:23 +01:00
f05a262da2
Cleanup XTDK and XTOSKRNL headers
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-10-29 09:58:47 +01:00
841a6b304b
Cleanup KE subsystem headers
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2023-10-29 09:14:46 +01:00
798e4c1d22
Cleanup MM subsystem headers
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 00:52:05 +02:00
600c86949b
Cleanup RTL subsystem headers
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2023-10-29 00:14:01 +02:00
4ea54859f2
Add missing HL routine definitions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-10-28 23:36:21 +02:00
ad15c55a39
Cleanup AR subsystem headers
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 13s
2023-10-28 23:35:34 +02:00
598b34acf7
AR subsystem is architecture dependant, thus there should be no generic routines
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 28s
2023-10-28 23:08:08 +02:00
d55946c3cf
Cleanup HL subsystem headers
Builds / ExectOS (i686) (push) Successful in 26s
Builds / ExectOS (amd64) (push) Successful in 29s
2023-10-28 22:56:04 +02:00
3f520c8e0f
Rename xtoskrnl headers
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 27s
2023-10-28 22:35:33 +02:00
6f5e7f63f3
Include xtver.h to access version related definitions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-10-27 15:43:37 +02:00
dfae0b4727
Implement ArSetGdtEntryBase() routine
ci/woodpecker/push/build Pipeline was successful
2023-03-02 22:51:57 +01:00
e81fb68357
Initial support processor idle functionality
ci/woodpecker/push/build Pipeline was successful
2023-03-02 16:25:41 +01:00
57dee5c535
Reorder parameters in KeInitializeThread()
ci/woodpecker/push/build Pipeline was successful
2023-02-24 22:29:38 +01:00
9c74aafe3d
Initial implementation of process initialization
ci/woodpecker/push/build Pipeline was successful
2023-02-24 19:52:20 +01:00
c4d1f1cd0d
Initial implementation of the thread initialization
ci/woodpecker/push/build Pipeline was successful
2023-02-23 20:11:21 +01:00
cbca1e21c6
Add missing forward reference to KeInitializeThread()
ci/woodpecker/push/build Pipeline was successful
2023-02-21 22:49:13 +01:00
b43afac326
Cleanup definitions in kernel headers
ci/woodpecker/push/build Pipeline was successful
2023-02-11 22:26:13 +01:00
c4a52938d2
Implement KeGetCurrentThread() routine
ci/woodpecker/push/build Pipeline was successful
2023-02-08 23:58:24 +01:00
9132c47cd9
Initial process and thread related structures
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
ci/woodpecker/push/build Pipeline was successful
2023-02-08 16:39:05 +01:00
75c519a70c
Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized
ci/woodpecker/push/build Pipeline was successful
2023-02-07 19:37:44 +01:00
d6aac59199
Let kernel initialize stack on it's own without relying on boot loader
ci/woodpecker/push/build Pipeline was successful
2023-02-05 09:55:59 +01:00
0b743a5f26
Add stub routine for identifying processor
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:42:30 +01:00
55cdae7c83
Initialize AMD64 processor registers
ci/woodpecker/push/build Pipeline was successful
2023-02-04 23:40:03 +01:00
f181215341
Initialize segment registers
ci/woodpecker/push/build Pipeline was successful
2023-02-04 00:17:07 +01:00
a49d0804ce
Add trap handlers for both i686 and amd64
ci/woodpecker/push/build Pipeline was successful
2023-02-02 23:31:32 +01:00
3522539d4b
Initialize Interrupt Descriptor Table (IDT)
ci/woodpecker/push/build Pipeline was successful
2023-02-01 21:56:17 +01:00
1ef205d47b
Initialize DoubleFault and NonMaskableInterrupt TSS entries
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:36:40 +01:00
e2813bcdaa
Fix entries in Global Descriptor Table (GDT)
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:24:55 +01:00
6f068513cd
Initial processor block initialization
ci/woodpecker/push/build Pipeline was successful
2023-01-30 19:07:05 +01:00
7ac434cb99
Move architecture specific globals to external header, as ex. there is no GDT on ARM
ci/woodpecker/push/build Pipeline was successful
2023-01-29 09:48:59 +01:00
7bf4a9ab8d
Initialize boot CPU structures inside kernel on AMD64
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:45:17 +01:00
9cd9a1eafa
Correct typos
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:25:25 +01:00
b57e79aa7f
Proceed with architecture specific initialization
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:37:13 +01:00
8da38af489
Rename KepInitializeBootStructures() to KepInitializeStack()
ci/woodpecker/push/build Pipeline was successful
2023-01-25 19:28:12 +01:00
9cbe2d458c
Initial support for EFI framebuffer
2023-01-23 15:26:35 +01:00
12b8c5f539
Switch kernel stack and move boot structures initialization into separate routine
ci/woodpecker/push/build Pipeline was successful
2023-01-08 10:35:49 +01:00
5730e8692e
Reorganisation of KeStartXtSystem() routine and early debug printing
ci/woodpecker/push/build Pipeline was successful
2023-01-04 23:08:59 +01:00
dec021b1ec
Reorganize early debug printing; initialize kernel stacks when needed
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:11:35 +01:00