Commit Graph

111 Commits

Author SHA1 Message Date
6176ca38a8 Cleanup hardware allocation memory pool related code
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Failing after 32s
2024-06-02 17:29:31 +02:00
abb65b99fe HlPool manages hardware related memory
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m39s
Builds / ExectOS (i686) (push) Successful in 1m36s
2024-06-02 17:01:45 +02:00
4a275b3dec Just skip unsupported system resources
All checks were successful
Builds / ExectOS (i686) (push) Successful in 50s
Builds / ExectOS (amd64) (push) Successful in 52s
2024-05-26 00:09:31 +02:00
5221db2e63 Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR
All checks were successful
Builds / ExectOS (i686) (push) Successful in 2m8s
Builds / ExectOS (amd64) (push) Successful in 2m11s
2024-05-23 19:00:50 +02:00
609538b9be Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 51s
Builds / ExectOS (i686) (push) Successful in 50s
2024-05-22 22:47:28 +02:00
03727a61d3 Implement hardware layer pool memory management
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 46s
Builds / ExectOS (i686) (push) Failing after 44s
2024-05-22 18:51:09 +02:00
d2014a5e82 Use HlpRGBColor() internally
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-17 23:29:03 +02:00
740df726e9 Implement ArInterruptsEnabled() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 39s
2024-05-17 23:19:25 +02:00
74c1b03a6b Implement a system resources management routines
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 10m17s
Builds / ExectOS (i686) (push) Failing after 10m15s
2024-05-16 23:08:59 +02:00
2a8cc7397e Implement ArGetCpuFlags() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 38s
2024-05-14 16:26:02 +02:00
78424385fc Convert RGB colors to FrameBuffer format
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 54s
2024-05-13 08:51:27 +02:00
e311cad8f7 Allow to clear framebuffer screen with any, custom background color
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 42s
2024-05-12 22:43:06 +02:00
c34b6ff6c1 Take CPU number from processor block
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 50s
Builds / ExectOS (i686) (push) Successful in 48s
2024-05-08 21:59:18 +02:00
38b0b2ac7d Use correct stack when using preallocated processor structures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 49s
Builds / ExectOS (amd64) (push) Successful in 50s
2024-05-08 15:57:24 +02:00
3c3a756771 Allow to initialize CPU with allocated processor structures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-05-08 00:02:47 +02:00
fb099a1988 Preallocate buffer for all supported CPUs
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-05-07 23:47:58 +02:00
b65ff2a767 Implement MmAllocateProcessorStructures() routine as a temporary hack to get a buffer for AP initialization
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 44s
2024-05-07 23:30:11 +02:00
8d6d27651c Implement KeGetCurrentProcessorNumber() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 34s
2024-05-07 18:52:43 +02:00
ac0b8ab36a Allow to specify CPU number when initializing (A)PIC
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-07 16:16:49 +02:00
22693a48d3 Rework trap handling assembly code
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 32s
2024-04-23 15:07:08 +02:00
30a2cb9849 Update timers support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 46s
2024-04-21 13:57:55 +02:00
331c5bfeda Rework initial timer support
All checks were successful
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-04-20 23:15:57 +02:00
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