wip: async BT firmware download attempt — DO NOT MERGE, breaks AX211 bring-up
Deferring the Intel BT firmware download off the boot path made the AX211 bootloader stop answering after the first FC05; even the final synchronous revert freezes boot, so one of the 'neutral' fixes kept in this diff breaks the bring-up on its own (candidates: BT-TRACE logging inside TransferCallback, unconditional interrupt-IN re-queue after error completions on a halted EP, xHCI interrupt-IN ZLP len fix interacting with HID, InPollContext owner check). Full history + next experiments in memory notes, 2026-07-05/06. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,14 @@ namespace Smp {
|
||||
Hal::TSS64* tss; // pointer to this CPU's TSS
|
||||
bool hasMwait; // CPU supports MONITOR/MWAIT
|
||||
|
||||
// When set, the scheduler tick must NOT pull this (idle) CPU away to
|
||||
// run a ready process: its idle context is busy with long-running
|
||||
// kernel work whose wall-clock-bounded waits would spuriously expire
|
||||
// if the context only ran when nothing else is ready (observed: the
|
||||
// deferred Bluetooth firmware download racing login-screen startup).
|
||||
// Other CPUs schedule normally while this is held.
|
||||
volatile bool reservedForKernelWork = false;
|
||||
|
||||
// Per-CPU GDT and TSS (APs use these; BSP uses globals)
|
||||
Hal::BasicGDT cpuGdt __attribute__((aligned(16)));
|
||||
Hal::TSS64 cpuTss __attribute__((aligned(16)));
|
||||
|
||||
Reference in New Issue
Block a user