lspci.ipxe.j2 728 B

12345678910111213141516171819202122232425262728293031323334
  1. #!ipxe
  2. # gather pci devices and list them
  3. clear addr
  4. pciscan addr && goto pciscan_found ||
  5. echo No pci devices found...
  6. exit
  7. :pciscan_found
  8. set spaces2:hex 20:20
  9. set spaces4:hex 20:20:20:20
  10. imgfetch pciids.ipxe
  11. iseq ${sigs_enabled} true && goto verify_sigs || goto skip_verify
  12. :verify_sigs
  13. imgverify pciids.ipxe ${sigs}pciids.ipxe.sig ||
  14. :skip_verify
  15. clear addr
  16. menu PCI device list
  17. :scan pciscan addr || goto scan_done
  18. clear ven
  19. clear dev
  20. set vendor ${pci/${addr}.0.2}
  21. set device ${pci/${addr}.2.2}
  22. chain pciids.ipxe
  23. item --gap ${addr:busdevfn} ${spaces4:string} ${ven}
  24. item b${addr:busdevfn} ${spaces2:string} ${vendor}:${device} ${dev}
  25. goto scan
  26. :scan_done
  27. choose press_enter ||
  28. imgfree pciids.ipxe
  29. exit