Good Morning Oliver, I had a vague memory that the first bit of the BusID is 00 for ISA, and 01 for PCI. It's probably also 01 for PCI-E. I DO have to admit that I thought it was just a filler for a while, but I asked in IRC about it a few years ago when Shao wrote the first patch for it for gPXE. Thinking logically, 0x00 would probably make better "filler" anyway :)
To double check, a quick google against "site:dox.ipxe.org busid" reveals this: http://dox.ipxe.org/netdev__settings_8c_source.html On line 112 you can see how the parameter is assembled, and it says "bus_type." Some clicking around the highlighted arguments and variable names in the doxygen could be very helpful, depending on how much info you need. I'm not quite sure where the "subsystem" information you're looking for sits in the PCI/PNP hierarchy, but you've given me a good excuse to dust off my Windows Internals book. There was a really nice table in there... but I digress! Just out of curiosity, what's your application for the subsystem info? Also! As a side note, if you've any experience wrangling code, you might want to check out HDT: http://hdt-project.org/ It doesn't, to my knowledge, provide any API through which you can extract the information you seek, but is handy for adding to boot menus in case you want to inspect the PCI layout or all kinds of wonders about the underlying hardware that you're booting from. Cheers, Andrew Bobulsky On Tue, Mar 20, 2012 at 7:15 AM, Oliver Rath <r...@mglug.de> wrote: > Hi list, > > as far i knows, the ${busid} in ipxe are 5 bytes > > A miracle number (what is it?) > vendor-id part 1 > vendor-id part 2 > dev-id part 1 > dev-id part 2 > > I.e. 01:80:86:10:9a shows an intel e1000pl nic > > 01 I dont know what is good for. Primary card? > 80:86 ist the vendor (must have been very expensive getting this number ;-) > ) > 10:9a the dev-id > > Now it would be a great thing for me getting the subsys id useable in > ipxe-scripts. I.e. in my case i have a machine with the following nic: > > root@PartedMagic:~# lspci -nnv -s 02:00.0 > 02:00.0 Ethernet controller [0200]: Intel Corporation 82573L Gigabit > Ethernet Controller [8086:109a] > Subsystem: AOPEN Inc. Device [a0a0:0632] > Flags: bus master, fast devsel, latency 0, IRQ 42 > Memory at fdde0000 (32-bit, non-prefetchable) [size=128K] > I/O ports at ef00 [size=32] > Capabilities: [c8] Power Management version 2 > Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > Capabilities: [e0] Express Endpoint, MSI 00 > Capabilities: [100] Advanced Error Reporting > Capabilities: [140] Device Serial Number 00-01-80-ff-ff-65-dc-c9 > Kernel driver in use: e1000e > Kernel modules: e1000e > > > Here you see the additional subsys-id from aopen, which is a0a0:0632. > > My question: Is it possible to get this subsys-id at ipxe-time in a > variable? > > Tfh! > > Oliver > > > _______________________________________________ > ipxe-devel mailing list > ipxe-devel@lists.ipxe.org > https://lists.ipxe.org/mailman/listinfo/ipxe-devel > _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel