Commit Graph
100 Commits
Author SHA1 Message Date
belliash a359c9b2e8 Keep only atomic routines 2023-10-29 18:22:11 +01:00
belliash 3f2baa5b50 Rename RtlInterlockedDecrementLongPtr() to follow routines naming convention 2023-10-29 12:21:19 +01:00
belliash cf7c467637 Implement RtlInterlockedExchangePointer() routine 2023-10-29 11:48:31 +01:00
belliash 6d63750fc2 Rename KepArchInitialize() routine to KepInitializeMachine() 2023-10-29 10:38:23 +01:00
belliash f05a262da2 Cleanup XTDK and XTOSKRNL headers 2023-10-29 09:58:47 +01:00
belliash 841a6b304b Cleanup KE subsystem headers 2023-10-29 09:14:46 +01:00
belliash 798e4c1d22 Cleanup MM subsystem headers 2023-10-29 00:52:05 +02:00
belliash cc3e9eb5e6 Add routines used by XTLDR 2023-10-29 00:31:57 +02:00
belliash 600c86949b Cleanup RTL subsystem headers 2023-10-29 00:14:01 +02:00
belliash d920cae481 Fix build by defining more routines used by XTLDR 2023-10-28 23:41:52 +02:00
belliash 4ea54859f2 Add missing HL routine definitions 2023-10-28 23:36:21 +02:00
belliash ad15c55a39 Cleanup AR subsystem headers 2023-10-28 23:35:34 +02:00
belliash 598b34acf7 AR subsystem is architecture dependant, thus there should be no generic routines 2023-10-28 23:08:08 +02:00
belliash d55946c3cf Cleanup HL subsystem headers 2023-10-28 22:56:04 +02:00
belliash 3f520c8e0f Rename xtoskrnl headers 2023-10-28 22:35:33 +02:00
belliash a2e3e3d9a9 Compile rundown routines 2023-10-28 01:37:27 +02:00
belliash 7f8618d2c0 Export ExAcquireRundownProtection(), ExInitializeRundownProtection() and ExReleaseRundownProtection() kernel routines 2023-10-28 00:02:18 +02:00
belliash 6f5e7f63f3 Include xtver.h to access version related definitions 2023-10-27 15:43:37 +02:00
belliash 4e553b5570 Remove unused variables to satisfy compiler 2023-10-27 15:37:31 +02:00
belliash d26b3d9e83 Add missing contributing information 2023-10-25 19:01:05 +02:00
belliash e2ef0899d9 Add missing links 2023-10-25 18:29:31 +02:00
belliash f3f6c64a05 Add Codeium badge 2023-10-17 15:01:13 +02:00
belliash 653481e7b6 Update CI/CD badge for Gitea Actions 2023-07-19 20:28:27 +02:00
belliash b9f1aaa033 Migrate to Gitea Actions 2023-07-19 20:26:07 +02:00
belliash efcb8c8a73 Update Discord invitation 2023-07-18 07:03:50 +02:00
belliash ebb740b0e7 Add more readmes to describe XTOS components and source code tree directories 2023-05-18 21:24:33 +02:00
belliash e11d9dcfad Make a place for XTBK 2023-05-18 21:11:36 +02:00
belliash 42669bcfb3 Import readme for XTDK 2023-05-18 21:00:35 +02:00
belliash 89718213b8 Remove no longer needed dummy module 2023-05-17 15:13:10 +02:00
belliash 9a059b407e The declspec 'naked' attribute is not supported on 'x86_64', use attribute instead 2023-04-12 20:50:42 +02:00
belliash f549ca54a1 Implement I/O registers related routines 2023-04-05 00:04:11 +02:00
belliash 358b20f1a1 Reorder routines 2023-04-04 22:35:06 +02:00
belliash 4073b1589d Rename endian conversion routines to match naming convention 2023-04-04 21:02:14 +02:00
belliash 2257ad1567 Add XTASSEMBLY routine modifier to instruct compiler to generate code without prolog and epilog 2023-03-28 17:33:38 +02:00
belliash bf3d56385f Add missing forward declarations 2023-03-24 15:39:07 +01:00
belliash d5dd87b889 Add initial kernel panic mechanism 2023-03-23 22:34:28 +01:00
belliash 6402a0d0a4 Update EDK2 OVMF firmware 2023-03-20 22:28:43 +01:00
belliash 2827bb400f Implement ExAcquireRundownProtection() and ExReleaseRundownProtection() routines 2023-03-18 11:11:06 +01:00
belliash 1f8026db2f Implement RtlInterlockedCompareExchangePointer() and RtlInterlockedDecrementLongPtr() atomic routines 2023-03-17 18:06:53 +01:00
belliash 33903c4374 Another task to do 2023-03-17 17:02:01 +01:00
belliash 934dba37a1 Initial kernel events support 2023-03-17 16:46:18 +01:00
belliash e0778d0a12 Introduce kernel executive 2023-03-16 23:40:38 +01:00
belliash e6b64b741a Initialize thread context for i686 2023-03-15 23:05:18 +01:00
belliash e05366815a NpxFrame is filled with zeroes, so there is no need to set all these stuff 2023-03-15 22:48:26 +01:00
belliash 84c8bc98ae Update ideas 2023-03-15 22:23:46 +01:00
belliash 3afbc7e419 Introduce SIMD save area in place of FN/FX and use anonymous union inside FX_SAVE_AREA structure 2023-03-15 22:19:18 +01:00
belliash a8fa702b05 Unify KSWITCH_FRAME naming with AMD64 2023-03-15 19:15:31 +01:00
belliash 10ccf67e8e Add missing forward declarations 2023-03-14 22:50:32 +01:00
belliash cec8a13e4c Add context control flags and thread frames for i686 architecture 2023-03-14 22:47:32 +01:00
belliash 5677719038 Initialize thread context for AMD64 2023-03-14 17:37:20 +01:00
belliash 8f653c47dc Initial Deferred Procedure Call (DPC) support 2023-03-05 22:56:16 +01:00
belliash fd8eec1d86 Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for amd64 2023-03-05 19:03:34 +01:00
belliash 70795ae57a Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for x86 2023-03-05 18:11:57 +01:00
belliash c5a9253ea8 Implement ArLoadLocalDescriptorTable() routine 2023-03-02 23:04:36 +01:00
belliash dfae0b4727 Implement ArSetGdtEntryBase() routine 2023-03-02 22:51:57 +01:00
belliash 9f311db9fc Describe PO subsystem 2023-03-02 19:27:52 +01:00
belliash e81fb68357 Initial support processor idle functionality 2023-03-02 16:25:41 +01:00
belliash 870a6680b0 Add thread information block 2023-03-01 00:14:06 +01:00
belliash 3d42fcc0f5 Add KSWITCH_FRAME definition for i686 architecture 2023-03-01 00:03:20 +01:00
belliash e8e6cf1192 Set calling convention in each routine callback 2023-02-28 19:41:58 +01:00
belliash d57cdba56c Remove undefined extra token from the end of #include directive 2023-02-27 20:18:50 +01:00
belliash ef23acc3bc Add Deferred Procedure Call (DPC) and processor power state related structures 2023-02-27 19:58:47 +01:00
belliash e41de62dab Implement ArYieldProcessor() routine 2023-02-27 17:28:20 +01:00
belliash 286fc76577 First attempt on SEH usage; currently this does not take an effect due to missing exception dispatcher 2023-02-26 22:08:02 +01:00
belliash 2f1c5a22a5 Add __C_specific_handler() and _except_handler3() stubs allowing to use '__try {} __except() {}' (SEH) constructions 2023-02-25 23:01:13 +01:00
belliash 57dee5c535 Reorder parameters in KeInitializeThread() 2023-02-24 22:29:38 +01:00
belliash 9c74aafe3d Initial implementation of process initialization 2023-02-24 19:52:20 +01:00
belliash c4d1f1cd0d Initial implementation of the thread initialization 2023-02-23 20:11:21 +01:00
belliash 9c083dc050 Map zero page, like e820 does 2023-02-23 00:44:21 +01:00
belliash e2c7d0f919 Zero fill memory map before fetching it once again 2023-02-23 00:39:13 +01:00
belliash aace0f39c4 Allow stripped PE/COFF images to be loaded, just warn about it 2023-02-22 15:20:00 +01:00
belliash cbca1e21c6 Add missing forward reference to KeInitializeThread() 2023-02-21 22:49:13 +01:00
belliash 88c17982e4 Thread initialization stub 2023-02-21 22:30:56 +01:00
belliash 757ab280f7 Declare variable at the beginning of routine 2023-02-21 19:22:53 +01:00
belliash 9e264e5327 Update kernel related structures 2023-02-21 16:49:44 +01:00
belliash c8428241dd Add missing headers containing forward references of MM routines 2023-02-20 22:22:32 +01:00
belliash d427ca20fb Always include xtos.h in kernel sources 2023-02-20 00:21:52 +01:00
belliash 9a27d52efe Correct typo 2023-02-18 00:07:12 +01:00
belliash 3354075900 Initial Asynchronous Procedure Call (APC) support 2023-02-18 00:04:51 +01:00
belliash 3ba3a57881 Add missing KPRIORITY definition 2023-02-17 09:41:53 +01:00
belliash 08405e7bdc Ad more routines for semaphores support 2023-02-17 09:40:18 +01:00
belliash 03bae53fb9 Export semaphore, spinlock and timer initialization routines 2023-02-16 22:33:54 +01:00
belliash ccaa28399a Initial semaphores support 2023-02-16 19:29:36 +01:00
belliash 525cc116ee Update description 2023-02-16 19:27:01 +01:00
belliash 98884516a1 Implement KeInitializeSpinLock() routine 2023-02-16 18:34:46 +01:00
belliash b2456fd18a Implement kernel timer initialization routines 2023-02-16 17:56:35 +01:00
belliash 91e4176e45 Include more headers to satisfy clang 2023-02-16 17:52:55 +01:00
belliash 4a737d0472 Remove kertptr header file 2023-02-16 17:48:59 +01:00
belliash feff0d9b7b More core kernel library structures 2023-02-16 17:46:51 +01:00
belliash 92a461d1e0 Add notes for MM 2023-02-15 23:44:10 +01:00
belliash 785c515e36 Add dispatcher object header definition 2023-02-15 22:49:59 +01:00
belliash 9ea1be96db Implement MmZeroPages() routine 2023-02-15 20:48:48 +01:00
belliash b1c2b209e3 Implement RtlGetStackLimits() routine 2023-02-15 20:12:58 +01:00
belliash d28687631b Add thread stack information to the structure 2023-02-15 20:08:19 +01:00
belliash 18a39f95bc Add floating save area structure definitions 2023-02-15 20:07:17 +01:00
belliash 28b760b089 Add stubs for allocating and freeing kernel stacks 2023-02-14 22:35:16 +01:00
belliash d8bc45e3bb Move HL related global variables into separate file 2023-02-13 23:41:24 +01:00
belliash 2e790bd9b2 Add pages related macros and definitions 2023-02-13 23:01:20 +01:00
belliash 050f24f877 Implement routines for atomically work with linked lists 2023-02-13 22:36:03 +01:00
belliash 9e5fb84412 More routines for performing atomic bitwise AND/OR/XOR operations 2023-02-12 23:11:23 +01:00