Commit Graph

  • 5d27473bb0 Fix i686 build belliash 2023-11-15 15:34:04 +01:00
  • d35dd4fce3 Save processor state during kernel initialization belliash 2023-11-15 15:00:38 +01:00
  • ccd0514416 Implement more CPU-related routines belliash 2023-11-15 14:52:18 +01:00
  • f0c20074c6 Prefer xbuild over ninja belliash 2023-11-14 15:35:07 +01:00
  • e664b953a0 Take advantage of the 'xbuild' command (requires XTChain 2.8.5) belliash 2023-11-14 15:01:51 +01:00
  • fc85e0674b Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments belliash 2023-11-13 15:36:50 +01:00
  • 1d9a79736a Allow to postpone thread startup belliash 2023-11-11 16:30:53 +01:00
  • 67496bef28 Add KLOCK_QUEUE_HANDLE structure definition belliash 2023-11-11 11:36:22 +01:00
  • 91d65bb937 Define max ULONG type limit belliash 2023-11-11 09:41:44 +01:00
  • 83c0accc5f Update EFLAGS masks belliash 2023-11-09 16:12:24 +01:00
  • 38e6d950a0 Create build.arch file for xbuild belliash 2023-11-08 19:45:31 +01:00
  • 641b34b119 Fixes in i686 version of KepInitializeThreadContext() belliash 2023-11-08 16:06:01 +01:00
  • 07998cafd4 Update xtldr.ini to conform with changes in the code belliash 2023-11-08 15:37:25 +01:00
  • 362eefc2b3 Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception belliash 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 belliash 2023-11-05 20:07:13 +01:00
  • ba833422b0 Implement ExCompleteRundownProtection() and ExReInitializeRundownProtection() routines and add stub for ExWaitForRundownProtectionRelease() belliash 2023-11-05 09:50:04 +01:00
  • d9918f0380 Small correction in the readme belliash 2023-11-03 19:51:01 +01:00
  • 02f35dbd8c Try to allocate new stack for a thread if needed belliash 2023-11-03 16:04:10 +01:00
  • a6c3924b56 Initialize Idle thread for i686 architecture belliash 2023-11-03 15:29:01 +01:00
  • 63f8dbc59b Initialize CPU power structures, idle process and idle thread belliash 2023-11-02 23:07:11 +01:00
  • e11ef2f008 Use correct calling convention for a deferred routine belliash 2023-10-30 15:28:00 +01:00
  • 2621cb6d8a Turn atomic routines architecture independent belliash 2023-10-29 21:43:05 +01:00
  • 783a4a2aa0 Finish PoInitializeProcessorControlBlock() routine implementation belliash 2023-10-29 20:14:10 +01:00
  • aa17be6eb3 Implement KeSetTargetProcessorDpc() routine belliash 2023-10-29 19:59:21 +01:00
  • be7981f614 Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc() belliash 2023-10-29 19:45:45 +01:00
  • a359c9b2e8 Keep only atomic routines belliash 2023-10-29 18:22:11 +01:00
  • 3f2baa5b50 Rename RtlInterlockedDecrementLongPtr() to follow routines naming convention belliash 2023-10-29 12:21:19 +01:00
  • cf7c467637 Implement RtlInterlockedExchangePointer() routine belliash 2023-10-29 11:48:31 +01:00
  • 6d63750fc2 Rename KepArchInitialize() routine to KepInitializeMachine() belliash 2023-10-29 10:38:23 +01:00
  • f05a262da2 Cleanup XTDK and XTOSKRNL headers belliash 2023-10-29 09:58:47 +01:00
  • 841a6b304b Cleanup KE subsystem headers belliash 2023-10-29 09:14:46 +01:00
  • 798e4c1d22 Cleanup MM subsystem headers belliash 2023-10-29 00:52:05 +02:00
  • cc3e9eb5e6 Add routines used by XTLDR belliash 2023-10-29 00:31:57 +02:00
  • 600c86949b Cleanup RTL subsystem headers belliash 2023-10-29 00:14:01 +02:00
  • d920cae481 Fix build by defining more routines used by XTLDR belliash 2023-10-28 23:41:52 +02:00
  • 4ea54859f2 Add missing HL routine definitions belliash 2023-10-28 23:36:21 +02:00
  • ad15c55a39 Cleanup AR subsystem headers belliash 2023-10-28 23:35:34 +02:00
  • 598b34acf7 AR subsystem is architecture dependant, thus there should be no generic routines belliash 2023-10-28 23:08:08 +02:00
  • d55946c3cf Cleanup HL subsystem headers belliash 2023-10-28 22:56:04 +02:00
  • 3f520c8e0f Rename xtoskrnl headers belliash 2023-10-28 22:35:33 +02:00
  • a2e3e3d9a9 Compile rundown routines belliash 2023-10-28 01:37:27 +02:00
  • 7f8618d2c0 Export ExAcquireRundownProtection(), ExInitializeRundownProtection() and ExReleaseRundownProtection() kernel routines belliash 2023-10-28 00:02:18 +02:00
  • 6f5e7f63f3 Include xtver.h to access version related definitions belliash 2023-10-27 15:43:37 +02:00
  • 4e553b5570 Remove unused variables to satisfy compiler belliash 2023-10-27 15:37:31 +02:00
  • d26b3d9e83 Add missing contributing information belliash 2023-10-25 19:01:05 +02:00
  • e2ef0899d9 Add missing links belliash 2023-10-25 18:29:31 +02:00
  • f3f6c64a05 Add Codeium badge belliash 2023-10-17 15:01:13 +02:00
  • 653481e7b6 Update CI/CD badge for Gitea Actions belliash 2023-07-19 20:28:27 +02:00
  • b9f1aaa033 Migrate to Gitea Actions belliash 2023-07-19 20:26:07 +02:00
  • efcb8c8a73 Update Discord invitation belliash 2023-07-18 07:03:50 +02:00
  • ebb740b0e7 Add more readmes to describe XTOS components and source code tree directories belliash 2023-05-18 21:24:26 +02:00
  • e11d9dcfad Make a place for XTBK belliash 2023-05-18 21:11:36 +02:00
  • 42669bcfb3 Import readme for XTDK belliash 2023-05-18 21:00:35 +02:00
  • 89718213b8 Remove no longer needed dummy module belliash 2023-05-17 15:13:10 +02:00
  • 9a059b407e The declspec 'naked' attribute is not supported on 'x86_64', use attribute instead belliash 2023-04-12 20:50:42 +02:00
  • f549ca54a1 Implement I/O registers related routines belliash 2023-04-05 00:04:11 +02:00
  • 358b20f1a1 Reorder routines belliash 2023-04-04 22:35:06 +02:00
  • 4073b1589d Rename endian conversion routines to match naming convention belliash 2023-04-04 21:02:14 +02:00
  • 2257ad1567 Add XTASSEMBLY routine modifier to instruct compiler to generate code without prolog and epilog belliash 2023-03-28 17:33:38 +02:00
  • bf3d56385f Add missing forward declarations belliash 2023-03-24 15:39:07 +01:00
  • d5dd87b889 Add initial kernel panic mechanism belliash 2023-03-23 22:34:28 +01:00
  • 6402a0d0a4 Update EDK2 OVMF firmware belliash 2023-03-20 22:28:43 +01:00
  • 2827bb400f Implement ExAcquireRundownProtection() and ExReleaseRundownProtection() routines belliash 2023-03-18 11:11:06 +01:00
  • 1f8026db2f Implement RtlInterlockedCompareExchangePointer() and RtlInterlockedDecrementLongPtr() atomic routines belliash 2023-03-17 18:06:53 +01:00
  • 33903c4374 Another task to do belliash 2023-03-17 17:02:01 +01:00
  • 934dba37a1 Initial kernel events support belliash 2023-03-17 16:46:18 +01:00
  • e0778d0a12 Introduce kernel executive belliash 2023-03-16 23:40:38 +01:00
  • e6b64b741a Initialize thread context for i686 belliash 2023-03-15 23:05:18 +01:00
  • e05366815a NpxFrame is filled with zeroes, so there is no need to set all these stuff belliash 2023-03-15 22:48:26 +01:00
  • 84c8bc98ae Update ideas belliash 2023-03-15 22:23:46 +01:00
  • 3afbc7e419 Introduce SIMD save area in place of FN/FX and use anonymous union inside FX_SAVE_AREA structure belliash 2023-03-15 22:19:18 +01:00
  • a8fa702b05 Unify KSWITCH_FRAME naming with AMD64 belliash 2023-03-15 19:15:31 +01:00
  • 10ccf67e8e Add missing forward declarations belliash 2023-03-14 22:50:32 +01:00
  • cec8a13e4c Add context control flags and thread frames for i686 architecture belliash 2023-03-14 22:47:32 +01:00
  • 5677719038 Initialize thread context for AMD64 belliash 2023-03-14 17:37:20 +01:00
  • 8f653c47dc Initial Deferred Procedure Call (DPC) support belliash 2023-03-05 22:56:16 +01:00
  • fd8eec1d86 Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for amd64 belliash 2023-03-05 19:03:34 +01:00
  • 70795ae57a Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for x86 belliash 2023-03-05 18:11:57 +01:00
  • c5a9253ea8 Implement ArLoadLocalDescriptorTable() routine belliash 2023-03-02 23:04:36 +01:00
  • dfae0b4727 Implement ArSetGdtEntryBase() routine belliash 2023-03-02 22:51:57 +01:00
  • 9f311db9fc Describe PO subsystem belliash 2023-03-02 19:27:52 +01:00
  • e81fb68357 Initial support processor idle functionality belliash 2023-03-02 16:25:41 +01:00
  • 870a6680b0 Add thread information block belliash 2023-03-01 00:14:06 +01:00
  • 3d42fcc0f5 Add KSWITCH_FRAME definition for i686 architecture belliash 2023-03-01 00:03:20 +01:00
  • e8e6cf1192 Set calling convention in each routine callback belliash 2023-02-28 19:41:58 +01:00
  • d57cdba56c Remove undefined extra token from the end of #include directive belliash 2023-02-27 20:18:50 +01:00
  • ef23acc3bc Add Deferred Procedure Call (DPC) and processor power state related structures belliash 2023-02-27 19:58:47 +01:00
  • e41de62dab Implement ArYieldProcessor() routine belliash 2023-02-27 17:28:20 +01:00
  • 286fc76577 First attempt on SEH usage; currently this does not take an effect due to missing exception dispatcher belliash 2023-02-26 22:08:02 +01:00
  • 2f1c5a22a5 Add __C_specific_handler() and _except_handler3() stubs allowing to use '__try {} __except() {}' (SEH) constructions belliash 2023-02-25 23:01:13 +01:00
  • 57dee5c535 Reorder parameters in KeInitializeThread() belliash 2023-02-24 22:29:38 +01:00
  • 9c74aafe3d Initial implementation of process initialization belliash 2023-02-24 19:52:20 +01:00
  • c4d1f1cd0d Initial implementation of the thread initialization belliash 2023-02-23 20:11:21 +01:00
  • 9c083dc050 Map zero page, like e820 does belliash 2023-02-23 00:44:21 +01:00
  • e2c7d0f919 Zero fill memory map before fetching it once again belliash 2023-02-23 00:39:13 +01:00
  • aace0f39c4 Allow stripped PE/COFF images to be loaded, just warn about it belliash 2023-02-22 15:20:00 +01:00
  • cbca1e21c6 Add missing forward reference to KeInitializeThread() belliash 2023-02-21 22:49:13 +01:00
  • 88c17982e4 Thread initialization stub belliash 2023-02-21 22:30:56 +01:00
  • 757ab280f7 Declare variable at the beginning of routine belliash 2023-02-21 19:22:53 +01:00
  • 9e264e5327 Update kernel related structures belliash 2023-02-21 16:49:44 +01:00