8a15d46198
Initialize system resource as soon as possible
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 46s
2024-05-17 22:31:29 +02:00
74c1b03a6b
Implement a system resources management routines
Builds / ExectOS (amd64) (push) Failing after 10m17s
Builds / ExectOS (i686) (push) Failing after 10m15s
2024-05-16 23:08:59 +02:00
9f1a4f0ced
Compose the AMD family and model IDs according to the AMD CPUID manual, section 2
Builds / ExectOS (i686) (push) Successful in 39s
Builds / ExectOS (amd64) (push) Successful in 41s
2024-05-14 19:39:07 +02:00
2a8cc7397e
Implement ArGetCpuFlags() routine
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 38s
2024-05-14 16:26:02 +02:00
01d127f49e
Consider not initialized list as empty, what prevents page faults
Builds / ExectOS (amd64) (push) Successful in 57s
Builds / ExectOS (i686) (push) Successful in 55s
2024-05-14 15:53:21 +02:00
60a9e4b534
Rename source file with fb-related stuff, fix build
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-13 15:59:24 +02:00
086d9ed7e2
Rename source file with fb-related stuff
Builds / ExectOS (amd64) (push) Failing after 33s
Builds / ExectOS (i686) (push) Failing after 32s
2024-05-13 15:55:39 +02:00
78424385fc
Convert RGB colors to FrameBuffer format
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
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 42s
2024-05-12 22:43:06 +02:00
3d08be4fac
Refactor kernel startup code
Builds / ExectOS (amd64) (push) Successful in 1m7s
Builds / ExectOS (i686) (push) Successful in 1m4s
2024-05-12 09:06:24 +02:00
eeeb9d6ed7
Update PoInitializeProcessorControlBlock() routine and corresponding structures
Builds / ExectOS (i686) (push) Successful in 50s
Builds / ExectOS (amd64) (push) Successful in 53s
2024-05-09 22:12:50 +02:00
c34b6ff6c1
Take CPU number from processor block
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
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
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
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
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
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 34s
2024-05-07 18:52:43 +02:00
f66e9aea9e
Store CPU number and mask interrupts in processor block
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-05-07 16:21:38 +02:00
ac0b8ab36a
Allow to specify CPU number when initializing (A)PIC
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-07 16:16:49 +02:00
2c384d780f
Fix storing CPU vendor name in PRCB
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 45s
2024-05-06 20:01:19 +02:00
243aacc9c1
Cleanup thread context initialization code
Builds / ExectOS (i686) (push) Successful in 38s
Builds / ExectOS (amd64) (push) Successful in 40s
2024-05-06 16:57:29 +02:00
cf0d23b6fe
Correct a typo causing page fault during int handling after switching to new kernel stack
Builds / ExectOS (amd64) (push) Successful in 53s
Builds / ExectOS (i686) (push) Successful in 50s
2024-05-06 16:47:12 +02:00
e4155ee008
Lower runlevel to APC before initializing idle process
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 39s
2024-05-05 21:48:58 +02:00
c98ad3862b
Use kernel boot stack for the idle thread
Builds / ExectOS (i686) (push) Successful in 43s
Builds / ExectOS (amd64) (push) Successful in 46s
2024-05-05 21:47:48 +02:00
40e0dd8c5e
Mask LVTERR first to prevent local APIC errors
Builds / ExectOS (amd64) (push) Successful in 58s
Builds / ExectOS (i686) (push) Successful in 57s
2024-05-05 15:24:17 +02:00
a6b8f97fbb
Remove empty line
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-04-29 08:40:07 +02:00
22693a48d3
Rework trap handling assembly code
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
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
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-04-20 23:15:57 +02:00
12ce7aae3f
Correct formatting
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 33s
2024-04-19 23:59:21 +02:00
9f2279f28f
Use common way of setting initial runlevel across architectures
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-04-19 23:56:33 +02:00
5539d98572
Raise to HIGH runlevel before switching the stack
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 33s
2024-04-19 23:55:26 +02:00
3aa0413756
Use common routine to set runlevel
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 32s
2024-04-19 23:52:21 +02:00
28c89986fb
Tweaks to AMD64 architecture support
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 34s
2024-04-19 23:37:39 +02:00
b30d15719c
Temporarily comment out thread code related to trap frame
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 34s
2024-04-19 16:59:57 +02:00
51df6c3acb
Update trap handler to allow access to the registers
Builds / ExectOS (amd64) (push) Failing after 24s
Builds / ExectOS (i686) (push) Failing after 25s
2024-04-19 16:54:55 +02:00
92ee74b494
Rework trap handling to access registers
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Failing after 29s
2024-04-19 16:52:37 +02:00
cf408519ad
Initialize AMD64 segments properly
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-04-17 20:02:27 +02:00
8aa33874ff
Initialize CS segment on i686 architecture
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 31s
2024-04-17 18:27:57 +02:00
7011d456e9
Fix loading CS segment for AMD64 architecture
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 33s
2024-04-17 16:48:18 +02:00
b31aa82872
Fix loading CS segment for i686 architecture
Builds / ExectOS (i686) (push) Successful in 48s
Builds / ExectOS (amd64) (push) Successful in 50s
2024-04-17 16:46:03 +02:00
7193e698f1
Store page map level
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 33s
2024-04-07 17:49:24 +02:00
7c9233c9a2
Copy memory descriptor to fix i686 compiler error
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-04-07 10:51:14 +02:00
e82c3cbf18
Fix function prototypes
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Successful in 30s
2024-04-07 10:37:27 +02:00
cf8bac9fbe
Initial memory manager initialization code
Builds / ExectOS (amd64) (push) Failing after 25s
Builds / ExectOS (i686) (push) Failing after 25s
2024-04-07 10:27:30 +02:00
04e22c127e
Initial memory manager initialization code
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
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-23 00:36:59 +01:00
9aff665d1a
Export RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-22 22:49:12 +01:00
715f842445
Implement RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-22 18:53:30 +01:00
7895cb0d32
Fix RtlClearBits() and RtlSetBits()
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 32s
2024-03-21 21:36:33 +01:00
b6f915c0c5
Implement RtlClearBits() and RtlSetBits() routines
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-19 19:53:49 +01:00
26d5118cea
Add forward references to bit map related routines
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 42s
2024-03-12 22:02:24 +01:00
067a8bbade
Export bit map related routines
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 32s
2024-03-12 19:31:32 +01:00
c3831f82e7
Initial bit maps support
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-03-12 19:15:02 +01:00
3a86ab1424
Remove duplicated code
Builds / ExectOS (i686) (push) Successful in 42s
Builds / ExectOS (amd64) (push) Successful in 44s
2024-03-10 22:51:34 +01:00
bb44caee31
Implement HlPutCharacter() routine
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 30s
2024-03-10 17:02:30 +01:00
cb4292dccf
Allow to use custom framebuffer fonts
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Failing after 30s
2024-03-10 10:02:30 +01:00
a4d9e6dd8e
Optimize HlClearScreen() routine
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-03-09 15:50:05 +01:00
a4c22ab5e8
Improvements to FrameBuffer support
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-03-09 15:07:33 +01:00
f9714a79e4
Add support for writing floating point values
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
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
83a976dd3a
Implement RtlCopyString() and RtlCopyWideString() routines
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-20 16:25:16 +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
e409675f98
Always use RtlSetMemory() to fill a buffer with a specified pattern
Builds / ExectOS (amd64) (push) Successful in 23s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-20 16:16:32 +01:00
477e56e294
Move RtlFillMemory() routine to ntosdrv driver
Builds / ExectOS (i686) (push) Failing after 42s
Builds / ExectOS (amd64) (push) Successful in 49s
2024-02-20 16:08:10 +01:00
246968045a
Use flags instead of dozen variables
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-18 13:37:17 +01:00
2dd4048416
Switch GUID specifier to %v and %V, thus allowing to write string with both lower and uppercase
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 41s
2024-02-17 22:52:49 +01:00
df627aeb42
Turn %p format compliant with POSIX, add %P XTOS extension to print pointers uppercase
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-16 22:36:48 +01:00
109fd094ea
Fix NULL pointer
Builds / ExectOS (amd64) (push) Successful in 23s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 19:05:53 +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
edd18b1dea
Add %Z MSVC extension for ANSI/Unicode string argument support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-16 18:14:16 +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
8a62a2b367
Switch calling convention to stdcall
Builds / ExectOS (amd64) (push) Successful in 59s
Builds / ExectOS (i686) (push) Successful in 56s
2024-02-14 14:53:32 +01:00
7e23484252
Implement RtlReverseWideString(), RtlTrimLeftWideString(), RtlTrimRightWideString() and RtlTrimWideString() routines
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-14 14:46:34 +01:00
d964e4b408
Implement RtlConcatenateString(), RtlReverseString() and RtlTokenizeString() routines
Builds / ExectOS (amd64) (push) Successful in 22s
Builds / ExectOS (i686) (push) Successful in 20s
2024-02-14 14:38:28 +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
cca2e65376
Rework 64-bit division routines to support i686 architecture
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 14s
2024-02-13 16:56:29 +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
99bdd917d9
Add basic kernel math support
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Failing after 16s
2024-02-13 14:05:37 +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
2d7309476a
Describe kernel executive layer
Builds / ExectOS (amd64) (push) Successful in 20s
Builds / ExectOS (i686) (push) Successful in 21s
2024-02-07 20:05:20 +01:00
18934ae79d
NTOS compatibility layer moved to 3rd party driver
Builds / ExectOS (amd64) (push) Successful in 19s
Builds / ExectOS (i686) (push) Successful in 19s
2024-02-07 17:50:01 +01:00
460ba7c857
Fix the filename used for exports
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 25s
2024-02-07 17:15:23 +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
cd59c1e80d
Add missing routine description
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-31 16:23:05 +01:00
f0204bf448
Enable linker map for xtoskrnl
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-31 16:09:35 +01:00
8e61503de1
Implement RtlCompareGuids() kernel routine
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-31 16:08:06 +01:00
579b4dc970
Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines
Builds / ExectOS (amd64) (push) Successful in 5m31s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-09 20:18:02 +01:00
d7fbe531fd
Improvements in string and wide string support
...
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 23:00:18 +01:00
1e696258c2
Initialize framebuffer and processor
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 22:49:15 +01:00
31b8cd8d3d
Update HlDisablePic() description
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 22:43:57 +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