### Breakthroughs & Rétro-ingénierie
- Analyse du désassemblage de IO80211Controller::start dans BootKernelExtensions.kc :
1. IO80211Controller::start() invoque directement le slot 399 (getWorkQueue) et le passe immédiatement à IO80211PostOffice::allocWithParams et IO80211TimerSource::allocWithParams.
2. Si getWorkQueue renvoie NULL, le noyau déréférence un pointeur nul ou saute vers une branche d'échec critique.
3. L'invocation préalable de createWorkQueue() avant super::start(provider) garantit que IO80211WorkQueue est immédiatement disponible et valide.
- Suppression du piège d'écriture NVRAM (SetVariable en early boot) :
Sur chipset AMD AM4/AM5, l'appel à AppleEFINVRAM::setProperty lors de l'initialisation de kext déclenche un appel RT->SetVariable en SMM. Sans mapping d'adresses virtuelles 1:1 pour le contrôleur SPI sous firmware AMD AGESA, cela provoque un Machine Check instantané réinitialisant la carte mère sans panic log.
- Sécurisation de l'alimentation PCIe :
Suppression de enablePCIPowerManagement(kPCIPMCSPowerStateD0) susceptible d'entrer en conflit avec ACPI D-states sur les ports racines PCIe AMD.
- Normalisation OSBundleRequired :
Passage de 'Network-Root' à 'Root' dans Info.plist (identique à QualcommWireless.kext).
### Modifications apportées
- QualcommWifi/QualcommWifi.cpp :
- Suppression des écritures NVRAM dans logNvramStage, conservation de IOLog console directe.
- Inscription de createWorkQueue() avant l'appel à super::start(provider) dans start().
- Retrait du changement manuel d'état D0 via enablePCIPowerManagement.
- QualcommWifi/Info.plist :
- Remplacement de OSBundleRequired par Root.
### Validation
- Compilation réussie avec clang 17 et SDK macOS Tahoe 26.x.
- Validation 100% kmutil libraries contre BootKernelExtensions.kc.