In practice the subsystem vendor IDs are quite arbitrary and definitely not the same for all PCI devices per mainboard
They aren't even allowed to be the same for all devices on a mainboard: the subsystem IDs should uniquely identify the device, without having to look at the "regular" IDs as well.
Again, mind me asking. Where did you find this definition?
In my memory, of course. It turns out that the actual PCI spec isn't so very precise, sigh. Must be hardware engineers who wrote that thing ;-)
Anyway, it turns out this problem isn't new (well obviously, duh), I found this (accepted) proposal for the Open Firmware PCI binding:
http://playground.sun.com/1275/proposals/Closed/Accepted/430-it.txt
It describes the situation nicely, I think (search for "poll" if you're in a hurry and want to skip to the juicy bits).
In any case, I hope we can all agree that certainly nothing in the PCI spec requires all devices on a mainboard to have the same subsystem (vendor) ID (some might not even have that register implmented!)
Segher