Commit Graph

  • e2eb784eef Enter idle loop instead of halting system harraiken 2026-06-09 09:39:17 +02:00
  • 6078a5ba29 Implement idle thread loop harraiken 2026-06-09 08:36:39 +02:00
  • 663f5cd048 Drop obsolete IPI exception dispatch path harraiken 2026-06-08 20:55:17 +02:00
  • 5999906bf0 Switch CPU exception IDT entries to interrupt gates to mask interrupts on entry harraiken 2026-06-08 20:46:51 +02:00
  • 1e0c1490fb Remove redundant IDT gate initialization for vector 0xE1 harraiken 2026-06-08 20:41:02 +02:00
  • 5b0eebdb43 Initialize system interrupt handlers harraiken 2026-06-08 20:15:18 +02:00
  • 9e64939de4 Add XTCLINK linkage to KeStartXtSystem harraiken 2026-06-08 20:06:23 +02:00
  • b911670121 Freeze secondary processors during kernel panic harraiken 2026-06-08 15:02:55 +02:00
  • d175a817a5 Add IPI service routines for APC, DPC, and freeze request handling harraiken 2026-06-08 14:49:02 +02:00
  • b285bc7312 Implement multi-processor freeze and thaw execution for SMP crash state synchronization harraiken 2026-06-08 14:38:17 +02:00
  • c8cd198c4e Fix Task Register restoration by clearing busy bit in TSS descriptor harraiken 2026-06-08 13:40:20 +02:00
  • 95d45f5a0a Do not restore Task Register during AMD64 processor control state restoration harraiken 2026-06-08 13:05:24 +02:00
  • 766e4d9603 Register BSP in processor block array during initialization harraiken 2026-06-08 11:21:53 +02:00
  • a601fd0afa Mark BSP processor as started harraiken 2026-06-08 10:22:41 +02:00
  • cc23e459e0 Move SwitchProcessor to architecture-specific implementations harraiken 2026-06-07 22:53:00 +02:00
  • d36b678ba1 Add kd/debug.cc to xtoskrnl source list harraiken 2026-06-07 22:41:31 +02:00
  • 43265bcddb Bypass debug I/O locks during kernel panic or debugger session harraiken 2026-06-07 22:37:59 +02:00
  • 47d4069d6f Add functions to save and restore processor context and control state harraiken 2026-06-07 20:33:02 +02:00
  • 904df63198 Remove duplicate context flag definitions harraiken 2026-06-07 19:40:29 +02:00
  • 1df971a71e Extend CONTEXT and PRCB structures with context flags and IPI state fields harraiken 2026-06-07 18:47:48 +02:00
  • 2a413d5717 Update processor state save calls harraiken 2026-06-07 13:11:04 +02:00
  • 9c2357dfe6 Expose installed CPU count and rename state save function harraiken 2026-06-07 13:05:31 +02:00
  • f82562f450 Rename SwitchCpu to SwitchProcessor harraiken 2026-06-07 12:33:56 +02:00
  • a33b63842a Add IPI definitions and frozen states, change KAFFINITY_MAP to flexible array harraiken 2026-06-07 12:13:55 +02:00
  • 4256a312ae Implement kernel debugger entry point harraiken 2026-06-07 02:04:27 +02:00
  • 678a0f4f48 Add static member definitions for kernel debugger active flag and kernel panic state harraiken 2026-06-06 19:00:49 +02:00
  • 7344c5ed4a Add function to query kernel debugger active state harraiken 2026-06-06 18:57:32 +02:00
  • 537fbc8af4 Track kernel panic state harraiken 2026-06-06 18:52:05 +02:00
  • cf25af23d1 Add conditional acquisition parameter to RAII guard classes harraiken 2026-06-06 17:26:39 +02:00
  • f680830b53 Implement resource cleanup for failed allocations during idle thread setup harraiken 2026-06-04 14:36:43 +02:00
  • 53a239958f Propagate allocation failures from idle process and thread setup harraiken 2026-06-04 14:30:01 +02:00
  • f13326ffaf Add PS subsystem overview to kernel documentation harraiken 2026-06-04 13:18:33 +02:00
  • 75e7760d04 Delegate idle process and thread setup to PS subsystem harraiken 2026-06-04 13:14:21 +02:00
  • 02d0f3f538 Introduce PS subsystem with IDLE process and thread creation harraiken 2026-06-04 13:09:09 +02:00
  • e2a78389f2 Fix incorrect namespace comment harraiken 2026-06-04 12:58:59 +02:00
  • 81fdf1f77a Allocate executive thread structure for idle thread and assign PRCB pointers harraiken 2026-06-04 11:51:01 +02:00
  • 631f58bf72 Update InitializeProcess doxygen harraiken 2026-06-04 11:27:07 +02:00
  • 1d2d66fc83 Dedicated Idle process and thread initialization with dynamic affinity allocation harraiken 2026-06-04 11:23:47 +02:00
  • 34aba8c7c7 Remove software interrupt 0x2F trap handler harraiken 2026-06-03 15:57:12 +02:00
  • 5e764a0d17 Fix IDT entry for vector 0x2F to use interrupt entry point harraiken 2026-06-03 15:43:11 +02:00
  • 65e86db731 Migrate thread affinity from GROUP_AFFINITY to KAFFINITY_MAP harraiken 2026-06-01 22:28:21 +02:00
  • 615d253bb4 Update initial thread and process affinity assignment to use group-aware structures harraiken 2026-06-01 20:40:34 +02:00
  • 2fcbc7bee8 Implement processor affinity search functions harraiken 2026-06-01 01:10:40 +02:00
  • 2c14da997d Convert process affinity assignment to KAFFINITY_MAP harraiken 2026-06-01 01:06:13 +02:00
  • a7c2182d4a Extend processor affinity structures to support group affinity harraiken 2026-06-01 01:03:18 +02:00
  • 0aabc206a1 Add BSF and BSR instruction wrappers harraiken 2026-06-01 00:36:52 +02:00
  • 7d8b33390a Add runtime accounting and DPC throttling harraiken 2026-05-30 23:53:47 +02:00
  • 5a5604c35d Register dispatch interrupt handler harraiken 2026-05-28 23:50:02 +02:00
  • addf9addab Verify system timer expiration on every clock interrupt harraiken 2026-05-28 00:38:49 +02:00
  • f562aa0874 Implement timer table list and check for expired timers harraiken 2026-05-28 00:36:25 +02:00
  • 19a9dfe7c6 Add PrcbLock and runtime counters to KPROCESSOR_CONTROL_BLOCK harraiken 2026-05-27 23:15:19 +02:00
  • 46594f1fc3 Introduce KWAIT_REASON enumeration for thread wait reasons harraiken 2026-05-27 20:23:18 +02:00
  • a93ebbfb5b Populate pool tracking table with common allocation tags harraiken 2026-05-23 17:40:40 +02:00
  • 53726b5743 Correct pool tag registration size harraiken 2026-05-22 23:55:02 +02:00
  • 71870cd178 Remove per-CPU pool tracking tables harraiken 2026-05-22 23:45:32 +02:00
  • 6f3b5b5e51 Clean up whitespace alignment harraiken 2026-05-22 19:29:55 +02:00
  • 6b689baa7a Rename initial stack reserve macro to KTHREAD_STACK_OFFSET harraiken 2026-05-22 19:21:28 +02:00
  • 9ac64605d3 Reserve initial thread frame space in AP startup stack harraiken 2026-05-22 18:59:43 +02:00
  • 102b357a75 Simplify thread frame setup using pointer arithmetic harraiken 2026-05-22 18:42:41 +02:00
  • 6eb0b4d982 Unify initial stack reservation size calculation harraiken 2026-05-22 18:40:07 +02:00
  • d8cb7c9242 Initialize per-CPU spin lock queues during AP bootstrap harraiken 2026-05-22 15:27:59 +02:00
  • 9002ac8b5c Implement red-black tree algorithm harraiken 2026-05-21 14:56:44 +02:00
  • 72a03f641d Update doxygen comments and formatting harraiken 2026-05-20 20:52:52 +02:00
  • fe2e78f3c7 Extend AP bootstrap code harraiken 2026-05-19 12:40:23 +02:00
  • 6e4f0ba6e4 Implement per-processor local clock initialization harraiken 2026-05-19 09:45:17 +02:00
  • 19092eda2e Rename architecture CPU functions class harraiken 2026-05-19 06:45:48 +02:00
  • b03cca65d8 Rename ProcSup class to ProcessorSupport and update all callers harraiken 2026-05-18 22:55:54 +02:00
  • fec5bf65f1 Standardize doxygen in KD module harraiken 2026-05-18 22:40:41 +02:00
  • 7836dbe147 Fix parameter alignment and improve return value documentation harraiken 2026-05-18 22:37:36 +02:00
  • 297aba248b Correct doxygen tags to reflect XT kernel harraiken 2026-05-18 20:27:05 +02:00
  • d41c90f541 Standardize doxygen return descriptions across HL layer harraiken 2026-05-18 20:22:19 +02:00
  • f2c70d582a Update doxygen comments for RTC and timer functions harraiken 2026-05-18 20:16:49 +02:00
  • 24c9ae321c Update doxygen comments for AllocateSystemInterrupt and IOAPIC lookup routines harraiken 2026-05-18 20:14:46 +02:00
  • 7a18a2602f Merge pull request 'Add support for Symmetric Multiprocessing (SMP)' (#26) from smp into master harraiken 2026-05-18 18:44:53 +02:00
  • a39835493a Enable multi-processor support harraiken 2026-05-17 20:45:01 +02:00
  • 4e7113a079 Implement HL::Cpu::StartAllProcessors to bootstrap all application processors harraiken 2026-05-17 17:33:35 +02:00
  • 8080e07281 Fix stack pointer miscalculation caused by adding KERNEL_STACK_SIZE twice harraiken 2026-05-17 14:38:44 +02:00
  • fc0e1384c4 Fix debug log message harraiken 2026-05-17 14:33:01 +02:00
  • 9603453334 Implement Application Processor bootstrap function harraiken 2026-05-17 14:29:45 +02:00
  • 29368a0dd8 Implement string to number conversion functions harraiken 2026-05-15 15:02:22 +02:00
  • 8ee97ac0ae Add NOX2APIC boot parameter to bypass hardware detection harraiken 2026-05-15 12:00:50 +02:00
  • 6bbeb657ea Merge branch 'master' into smp harraiken 2026-05-15 11:43:45 +02:00
  • c824e15cdb Fix stack allocation documentation and remove redundant parameter harraiken 2026-05-15 11:42:19 +02:00
  • 38b2e7a1ed Read previously identified CPU features from PRCB harraiken 2026-05-15 11:33:23 +02:00
  • efff262fb5 Replace CPUID queries with cached PRCB feature bits harraiken 2026-05-15 09:13:56 +02:00
  • 8da6fefdc0 Describe CLOCK and TIMER kernel options harraiken 2026-05-14 22:43:22 +02:00
  • 14cbd63b01 Remove premature SetRunLevel call from InitializeProcessor before APIC initialization harraiken 2026-05-14 21:52:42 +02:00
  • 63d18aad1e Add ExtendedFeatureBits field harraiken 2026-05-14 21:37:11 +02:00
  • ed52d421ea Implement processor feature enumeration mapping harraiken 2026-05-14 21:35:43 +02:00
  • 6df6a012d2 Partially revert ca4f3acc0e harraiken 2026-05-14 21:12:09 +02:00
  • ac675b037e Add FeatureBits field to CPU identification structure harraiken 2026-05-14 19:28:45 +02:00
  • ca4f3acc0e Properly identify CPU vendor harraiken 2026-05-14 18:59:00 +02:00
  • 5b7761fe7d Expose InitializeProcessorStructures as a public method harraiken 2026-05-14 18:10:29 +02:00
  • 7a2a27b1b9 Consolidate ProcessorBlock and ProcessorNumber into ProcessorStructures harraiken 2026-05-14 18:00:56 +02:00
  • 1cff58c106 Refactor processor block initialization and add registration function harraiken 2026-05-14 13:15:55 +02:00
  • 9185ceade6 Decouple processor block initialization from AllocateProcessorStructures harraiken 2026-05-14 11:07:42 +02:00
  • 908bc87b06 Add NULL checks to InitializeProcessorStructures and reorder TSS allocation harraiken 2026-05-14 11:06:00 +02:00
  • 6b852556a5 Replace magic numbers with architectural defines harraiken 2026-05-13 22:01:49 +02:00
  • ae18468bad Add AP startup assembly trampoline for AMD64 harraiken 2026-05-13 21:48:42 +02:00
  • 42bbdc9b26 Fix AP trampoline stack setup harraiken 2026-05-13 21:24:27 +02:00