Commit Graph
42 Commits
Author SHA1 Message Date
belliash 2e7793dc2b Implement HlpGetCpuApicId() routine
Builds / ExectOS (amd64) (push) Failing after 27s
Builds / ExectOS (i686) (push) Failing after 27s
2024-07-22 23:31:20 +02:00
belliash 2c5b680426 Implement HlpSendIpi() routine
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-07-22 23:23:55 +02:00
belliash 626ece8046 HlReadApicRegister() should return and HlWriteApicRegister() should take ULONGLONG value
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-07-16 22:36:45 +02:00
belliash ef65bceccd Initialize legacy PIC and mask all interrupts
Builds / ExectOS (i686) (push) Successful in 37s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-06-05 16:08:54 +02:00
belliash b061c87fc9 Fix routines with no prototype using XTAPI calling convention compiler warnings
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-04 21:41:16 +02:00
belliash 609538b9be Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support
Builds / ExectOS (amd64) (push) Successful in 51s
Builds / ExectOS (i686) (push) Successful in 50s
2024-05-22 22:47:28 +02:00
belliash 740df726e9 Implement ArInterruptsEnabled() routine
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 39s
2024-05-17 23:19:25 +02:00
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 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
belliash 3800138f52 Move (A)PIC related forward references to arch-specific headers
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-29 20:13:03 +01:00
belliash 71d0608643 Implement ArGetStackPointer() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:09:16 +01:00
belliash d35dd4fce3 Save processor state during kernel initialization
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
belliash ccd0514416 Implement more CPU-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-15 14:52:18 +01:00
belliash 63f8dbc59b Initialize CPU power structures, idle process and idle thread
Builds / ExectOS (i686) (push) Successful in 28s
Builds / ExectOS (amd64) (push) Successful in 29s
2023-11-02 23:07:11 +01:00
belliash 6d63750fc2 Rename KepArchInitialize() routine to KepInitializeMachine()
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 10:38:23 +01:00
belliash f05a262da2 Cleanup XTDK and XTOSKRNL headers
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-10-29 09:58:47 +01:00
belliash 798e4c1d22 Cleanup MM subsystem headers
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 00:52:05 +02:00
belliash 600c86949b Cleanup RTL subsystem headers
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2023-10-29 00:14:01 +02:00
belliash ad15c55a39 Cleanup AR subsystem headers
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 13s
2023-10-28 23:35:34 +02:00
belliash 3f520c8e0f Rename xtoskrnl headers
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 27s
2023-10-28 22:35:33 +02:00
belliash dfae0b4727 Implement ArSetGdtEntryBase() routine
ci/woodpecker/push/build Pipeline was successful
2023-03-02 22:51:57 +01:00
belliash c4d1f1cd0d Initial implementation of the thread initialization
ci/woodpecker/push/build Pipeline was successful
2023-02-23 20:11:21 +01:00
belliash cbca1e21c6 Add missing forward reference to KeInitializeThread()
ci/woodpecker/push/build Pipeline was successful
2023-02-21 22:49:13 +01:00
belliash b43afac326 Cleanup definitions in kernel headers
ci/woodpecker/push/build Pipeline was successful
2023-02-11 22:26:13 +01:00
belliash d6aac59199 Let kernel initialize stack on it's own without relying on boot loader
ci/woodpecker/push/build Pipeline was successful
2023-02-05 09:55:59 +01:00
belliash 1ef205d47b Initialize DoubleFault and NonMaskableInterrupt TSS entries
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:36:40 +01:00
belliash 6f068513cd Initial processor block initialization
ci/woodpecker/push/build Pipeline was successful
2023-01-30 19:07:05 +01:00
belliash 7ac434cb99 Move architecture specific globals to external header, as ex. there is no GDT on ARM
ci/woodpecker/push/build Pipeline was successful
2023-01-29 09:48:59 +01:00