Hi David, The pcitools facility in Solaris kernel provides the functionality what we need. User level applications access via opening [EMAIL PROTECTED],0 device and issuing ioctl() against it. However, we still need to make some change in libpci.
On Thu, Jun 19, 2008 at 10:43 AM, Lu Baolu <[EMAIL PROTECTED]> wrote: > On Wed, Jun 18, 2008 at 5:46 PM, David Edmondson <[EMAIL PROTECTED]> wrote: >> >> On 18 Jun 2008, at 10:12am, Lu Baolu wrote: >>> >>> I know pciutils (lspci, setpci, pcilib) has been ported to >>> OpenSolaris. pcilib read/write pci configure spaces via direct port >>> access which bypasses the OpenSolaris kernel. I don't think this kind >>> of implementation is good when security and race condition come to >>> mind. Is there any plan to create a kernel path to let libpci utilize >>> (something like /sys/bus/pci and /proc/bus/pci exist in Linux)? >>> >>> I also post this on xen-discuss list since when we try to implement >>> Intel vt-d in xVM, qemu (a device simulator running in user space) >>> will find a way to access pci configure space, which call for such >>> kernel path. >> >> Given that the PCI backend driver for PV guests will need to provide similar >> functionality (config space get/set), it would make some sense to have the >> PCI backend driver provide the same interface to user level applications. >> >> What specific requirements does QEmu have? Is it limited to read/write >> config space? >> >> > > Qemu need to read/write the configure space of the pci devices which > are exported to > HVM guest via vt-d. Current qemu implementation only exports CMD > register and xen > developers are finding ways to export as much as they can. > > PCI backend driver can provide such functionality to user level > applications. But question > here is does qemu-dm in xvm use libpci? If so, this will make libpci > unportable since pci > backend driver only exists in Solaris dom0. The maintainers of libpci > may don't want to > see this. As I wrote above, Solaris doesn't provide interface for user > level application to > access the pci configure spaces, so libpci uses direct port access > (put bdf+offset to cf8 > and get the result from cfc). > _______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
