Files
QualcommWireless/QualcommWifi/Info.plist
T
Erwan 29af992874 feat(wifi): implémenter le datapath Skywalk Ethernet, pools, queues et attachement BSD en1 (Étape 8)
- Breakthroughs & Rétro-ingénierie :
  * Analyse binaire approfondie de IOSkywalkNetworkBSDClient::start (0xffffff8002aff562) dans BootKernelExtensions.kc :
    l'appel registerService() sur fSkywalkInterface déclenche le matching du client BSD, qui déréférence fLogicalLinks (+0xc8).
  * Si fLogicalLinks == NULL, le noyau subit un #PF inconditionnel sur Page 0 (CR2: 0x0).
  * L'invocation de IOSkywalkEthernetInterface::registerEthernetInterface (0xffffff8002b0c1e0) alloue un OSOrderedSet,
    instancie un IOSkywalkLogicalLink et l'affecte à fLogicalLinks (+0xc8), satisfaisant les prérequis du client BSD.
  * Identification des exigences strictes de registerEthernetInterface : RegistrationInfo de 0x130 octets (v1, MAC à +0x108, MTU à +0x48),
    numQueues >= 1, et au moins un IOSkywalkPacketBufferPool valide.

- Modifications apportées :
  * QualcommWifi/Info.plist : Ajout de la dépendance com.apple.iokit.IOSkywalkFamily (1.0).
  * QualcommWifi/QualcommWifi.hpp : Ajout des membres fSkywalkRegInfo[0x130], fSkywalkPool, fSkywalkTxQueue, fSkywalkRxQueue, fEthernetRegistered.
  * QualcommWifi/QualcommWifi.cpp :
    - Déclarations manglées extern "C" pour initRegistrationInfo, registerEthernetInterface, deregisterEthernetInterface,
      IOSkywalkPacketBufferPool::withName, IOSkywalkTxSubmissionQueue::withPool, IOSkywalkRxCompletionQueue::withPool.
    - Implémentation des callbacks skywalkTxAction et skywalkRxAction.
    - Découpage modulaire sécurisé en sous-étapes (qcom_substep=1..5) sous qcom_step=8 :
      * s8_0/s8_1 : initRegistrationInfo + MAC 00:03:7F + MTU 1500
      * s8_2 : IOSkywalkPacketBufferPool::withName (QualcommWifi_Pool, 256 paquets, 2048B)
      * s8_3 : IOSkywalkTxSubmissionQueue & IOSkywalkRxCompletionQueue
      * s8_4 : registerEthernetInterface
      * s8_5/s8_6 : fSkywalkInterface->registerService()
    - Nettoyage et libération sécurisés dans free() et stop().
  * docs/ISSUES_AND_POSTMORTEMS.md : Rédaction du Postmortem 24 détaillant l'architecture Skywalk Datapath et l'Étape 8.

- Validation :
  * ./build_wifi.sh exécuté avec succès en Release (x86_64).
  * kmutil libraries valide à 100% contre BootKernelExtensions.kc.
  * Kext déployé sur /Volumes/EFI/EFI/OC/Kexts/QualcommWifi.kext (MD5: 96b519ce8b643281a26604604828010e).
  * /Volumes/EFI/EFI/OC/config.plist mis à jour avec qcom_step=8 qcom_substep=5 (plutil -lint OK).
2026-10-19 17:47:37 +02:00

62 lines
1.7 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>QualcommWifi</string>
<key>CFBundleIdentifier</key>
<string>com.nawrhehe.QualcommWifi</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>QualcommWifi</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.0</string>
<key>CFBundleVersion</key>
<string>1.1.0</string>
<key>IOKitPersonalities</key>
<dict>
<key>QualcommWifi_PCIe</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.nawrhehe.QualcommWifi</string>
<key>IOClass</key>
<string>QualcommWifi</string>
<key>IOMatchCategory</key>
<string>IODefaultMatchCategory</string>
<key>IOPCIPrimaryMatch</key>
<string>0x110717cb</string>
<key>IOProbeScore</key>
<integer>20000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IO80211Family</key>
<string>1.5.0</string>
<key>com.apple.iokit.IONetworkingFamily</key>
<string>1.5.0</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0.0</string>
<key>com.apple.iokit.IOSkywalkFamily</key>
<string>1.0</string>
<key>com.apple.kpi.bsd</key>
<string>16.7</string>
<key>com.apple.kpi.iokit</key>
<string>16.7</string>
<key>com.apple.kpi.libkern</key>
<string>16.7</string>
<key>com.apple.kpi.mach</key>
<string>16.7</string>
</dict>
<key>OSBundleRequired</key>
<string>Network-Root</string>
</dict>
</plist>