Commit Graph

698 Commits

Author SHA1 Message Date
d7e6d319cf
Update XTOS ideas 2023-11-22 19:22:51 +01:00
d8403d01f5
Verify kernel and boot loader compatibility 2023-11-22 17:22:57 +01:00
c66ea77a8b
Enable ASM, C and CXX compilers 2023-11-20 23:52:49 +01:00
c4143c63f9
Enable LLVM MASM Assembly 2023-11-20 23:30:44 +01:00
d2fb0a6830
Update ideas file 2023-11-20 16:44:21 +01:00
1eecad21db
Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support 2023-11-20 15:26:03 +01:00
a3c28cee73
Initial XTLDR APIC support, finds and maps base APIC address for kernel 2023-11-20 15:18:22 +01:00
3d0a48df26
Give qemu direct access to the terminal 2023-11-19 20:41:21 +01:00
575b842d05
Add APIC Registers address map (APIC_REGISTER enumeration list) 2023-11-19 00:57:27 +01:00
0c3268acd1
Export registers read/write related routines 2023-11-19 00:46:51 +01:00
42b7c3698c
Add missing I/O register routines forward references 2023-11-19 00:41:21 +01:00
12f946c92d
Fixes to I/O registers related routines 2023-11-19 00:39:52 +01:00
71d0608643
Implement ArGetStackPointer() routine 2023-11-19 00:09:16 +01:00
83c692bfcb
Fix publishing artifacts 2023-11-18 13:55:26 +01:00
b2f0584cb9
Archive libraries and symbols 2023-11-18 13:49:52 +01:00
cb2ce9be83
Set libraries target directory 2023-11-18 13:34:52 +01:00
64ffe0d7d7
Add EFI task priority levels 2023-11-17 00:11:30 +01:00
71e7adadbd
Correct typo 2023-11-17 00:10:54 +01:00
d083d00ab1
Add EFI MP services protocol structures 2023-11-16 23:06:01 +01:00
a2af4841da
Move all globals into separate file 2023-11-16 17:39:12 +01:00
1a932468a2
Add some DPC related stubs 2023-11-16 14:53:54 +01:00
ec4a0fcb70
Add missing KepRetireDpcList() routine forward reference 2023-11-15 23:19:20 +01:00
5b6f3b0244
Mark user mode threads as not yet supported 2023-11-15 20:41:28 +01:00
35aa26e0e9
Add missing documentation comment block 2023-11-15 15:50:33 +01:00
5d27473bb0
Fix i686 build 2023-11-15 15:34:04 +01:00
d35dd4fce3
Save processor state during kernel initialization 2023-11-15 15:00:38 +01:00
ccd0514416
Implement more CPU-related routines 2023-11-15 14:52:18 +01:00
f0c20074c6
Prefer xbuild over ninja 2023-11-14 15:35:07 +01:00
e664b953a0
Take advantage of the 'xbuild' command (requires XTChain 2.8.5) 2023-11-14 15:01:51 +01:00
fc85e0674b
Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments 2023-11-13 15:36:50 +01:00
1d9a79736a
Allow to postpone thread startup 2023-11-11 16:30:53 +01:00
67496bef28
Add KLOCK_QUEUE_HANDLE structure definition 2023-11-11 11:36:22 +01:00
91d65bb937
Define max ULONG type limit 2023-11-11 09:41:44 +01:00
83c0accc5f
Update EFLAGS masks 2023-11-09 16:12:24 +01:00
38e6d950a0
Create build.arch file for xbuild 2023-11-08 19:45:31 +01:00
641b34b119
Fixes in i686 version of KepInitializeThreadContext() 2023-11-08 16:06:01 +01:00
07998cafd4
Update xtldr.ini to conform with changes in the code 2023-11-08 15:37:25 +01:00
362eefc2b3
Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception 2023-11-07 15:34:49 +01:00
91ce0f9947
Compensate missing return address, which is a 4-byte on i686 and an 8-byte on amd64 2023-11-05 20:07:13 +01:00
ba833422b0
Implement ExCompleteRundownProtection() and ExReInitializeRundownProtection() routines and add stub for ExWaitForRundownProtectionRelease() 2023-11-05 09:50:04 +01:00
d9918f0380
Small correction in the readme 2023-11-03 19:51:01 +01:00
02f35dbd8c
Try to allocate new stack for a thread if needed 2023-11-03 16:04:10 +01:00
a6c3924b56
Initialize Idle thread for i686 architecture 2023-11-03 15:29:01 +01:00
63f8dbc59b
Initialize CPU power structures, idle process and idle thread 2023-11-02 23:07:11 +01:00
e11ef2f008
Use correct calling convention for a deferred routine 2023-10-30 15:28:00 +01:00
2621cb6d8a
Turn atomic routines architecture independent 2023-10-29 21:43:05 +01:00
783a4a2aa0
Finish PoInitializeProcessorControlBlock() routine implementation 2023-10-29 20:14:10 +01:00
aa17be6eb3
Implement KeSetTargetProcessorDpc() routine 2023-10-29 19:59:21 +01:00
be7981f614
Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc() 2023-10-29 19:45:45 +01:00
a359c9b2e8
Keep only atomic routines 2023-10-29 18:22:11 +01:00