Skip to content

AppleIntelWiFiMVM Startup

Aaron Mulder edited this page Mar 4, 2016 · 2 revisions

In trying to make this code more manageable, the startup process has to be conceptually streamlined, even if it ultimately ends up with just as many steps. Here's the plan:

  1. Identify the PCI device that was detected by its PCI vendor/device/subdevice IDs
  2. Find the iwl_cfg struct for that device
  3. Create and initialize the iwl_trans PCIe transport
  4. Using features of the transport, possibly override the select iwl_cfg struct (can this be done sooner?)
  5. Create and initialize the iwl_drv driver
  6. Request firmware
  7. Parse firmware
  8. Call MVM firmware start routine (turn on hardware, upload firmware, etc.)

Shutdown

  1. Call MVM firmware stop routine
  2. Free in-memory (parsed) version of firmware
  3. Free the iwl_drv driver
  4. Free the iwl_trans PCIe transport
Clone this wiki locally