Supported devices
A device entry is a pair of repositories and the values that make the generic stack run on that board. The table records the ports with a public repository. Boards with a similar SoC need their own port and their own entry.
| Device | SoC | Support | Device repository | Firmware |
|---|---|---|---|---|
| Xiaomi Pad 6S Pro (sheng) | SM8550 | Display, Touch | UniXNU-sheng | uefi-sheng |
What a device page records
| Item | Example |
|---|---|
| Board identity | Product name, SoC, codename |
| IPSW | Product, version, build, device class, chip and board ID |
| Partition geometry | first_lba, last_lba, block size |
| Kernel prelink | Slide, roots, early security initializer, kernelcache pin |
| Firmware | Mu-Silicium config, DSC, firmware volume path, defines |
| Payload | Volume label, size, DRAM size, kernel arguments |
| ADT | Generator script, identity, CPU registers, PSCI method |
| Device tree additions | Reserved memory nodes for the stock bootloader |
| Build commands | The exact driver commands |
| Boot commands | The exact fastboot commands |
| Observed state | Which stages have run on the device |
Adding a device
- Follow Porting.
- Create the device repository and the UEFI repository.
- Build and bring up in stages.
- Add a page under
docs/devices/with the values and commands. - Add the device to the table above.
Device pages are the place for board specific values. The general guide uses placeholders and links here.
sheng
The sheng page records the Xiaomi Pad 6S Pro port. It is one device entry. The touch driver example uses the sheng touch driver as a worked example of a built-in XNU driver.