Commit Graph

139 Commits

Author SHA1 Message Date
51df6c3acb Update trap handler to allow access to the registers
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 24s
Builds / ExectOS (i686) (push) Failing after 25s
2024-04-19 16:54:55 +02:00
7193e698f1 Store page map level
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 33s
2024-04-07 17:49:24 +02:00
e82c3cbf18 Fix function prototypes
Some checks failed
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Successful in 30s
2024-04-07 10:37:27 +02:00
04e22c127e Initial memory manager initialization code
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 23s
Builds / ExectOS (i686) (push) Failing after 22s
2024-04-07 10:26:12 +02:00
74b2c80869 RtlCountLeadingZeroes64() should take 64bit value
All checks were successful
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-23 00:36:59 +01:00
715f842445 Implement RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-22 18:53:30 +01:00
26d5118cea Add forward references to bit map related routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 42s
2024-03-12 22:02:24 +01:00
bb44caee31 Implement HlPutCharacter() routine
All checks were successful
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 30s
2024-03-10 17:02:30 +01:00
f9714a79e4 Add support for writing floating point values
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 51s
Builds / ExectOS (i686) (push) Successful in 48s
2024-02-22 23:39:11 +01:00
0c7cf6f6d3 Implement RtlInfiniteDouble() and RtlNanDouble() routines
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
All checks were successful
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
Some checks failed
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
Some checks failed
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()
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
Some checks failed
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
All checks were successful
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
All checks were successful
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
All checks were successful
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()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 10:38:23 +01:00