feat(wifi): advance Skywalk lifecycle to step 5 (init, role, controller attach, and IORegistry attach)
- Breakthroughs & Rétro-ingénierie :
* Validation éclatante de l'Étape 1 au boot réel : zéro bootloop, chargement sans heurt de
QualcommWifi.kext sous macOS Tahoe 26.x avec CCPipe et CCLogStream actifs.
* Validation de la résilience du constructeur IO80211SkywalkInterface avec initIvars immédiat.
* Progression méthodique vers l'Étape 5 pour valider la chaîne d'attachement complète :
- Étape 2: init(this, &fMacAddress) (copie MAC et init BSD)
- Étape 3: setInterfaceRole(1) (kIO80211InterfaceRoleInfra)
- Étape 4: attachInterface(fSkywalkInterface, this) (slot 441 d'IO80211Controller)
- Étape 5: fSkywalkInterface->attach(this) (publication IORegistry)
- Modifications apportées :
* QualcommWifi/QualcommWifi.cpp : Passage du palier par défaut skywalk_step de 1 à 5.
- Validation :
* Compilation build_wifi.sh réussie à 100%.
* kmutil libraries validé sans erreur contre BootKernelExtensions.kc.
This commit is contained in:
1 parent
b7e32db90a
commit
79d772636f
1 file changed
+2
-2
@@ -783,7 +783,7 @@ bool QualcommWifi::start(IOService *provider) {
|
||||
int allow_skywalk = 1;
|
||||
PE_parse_boot_argn("qcom_skywalk", &allow_skywalk, sizeof(allow_skywalk));
|
||||
|
||||
// Étape maximale Skywalk contrôlée par boot-arg "qcom_step" (par défaut: 1 = allocation + initIvars sécurisée)
|
||||
// Étape maximale Skywalk contrôlée par boot-arg "qcom_step" (par défaut: 5 = attachement IORegistry complet)
|
||||
// 1: createSkywalkInterface (allocation + initIvars)
|
||||
// 2: init(this, &mac)
|
||||
// 3: setInterfaceRole(1)
|
||||
@@ -791,7 +791,7 @@ bool QualcommWifi::start(IOService *provider) {
|
||||
// 5: fSkywalkInterface->attach(this) [attachement IORegistry]
|
||||
// 6: fSkywalkInterface->start(this) [démarrage Skywalk, joinPMtree, workQueue, etc.]
|
||||
// 7: fSkywalkInterface->registerService() [matching IOKit / airportd]
|
||||
int skywalk_step = 1;
|
||||
int skywalk_step = 5;
|
||||
PE_parse_boot_argn("qcom_step", &skywalk_step, sizeof(skywalk_step));
|
||||
|
||||
if (allow_skywalk) {
|
||||
|
||||
Reference in new issue
Block a user