Update bind.sh to bind nvme/ioat to uio_pci_generic driver
This patch is used to detect the nvme and ioat devices in the tested platform and bind it to uio_pci_generic driver. Thus, when we can smoothly use pci device functions provided by DPDK instead of using libpciaccess. Change-Id: Ibfe504fd2864c9b4980eacd0adc5ff2a029b5eaf Signed-off-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
parent
8aa497f083
commit
2c94318f92
@ -2,9 +2,44 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
function prep_nvme {
|
||||||
|
TMP=`mktemp`
|
||||||
|
# Get vendor_id:device_id by nvme's class_id and subcalss_id
|
||||||
|
lspci -n | awk -F " " '{if ($2 == "0108:") {print $3}}' \
|
||||||
|
| awk -F ":" '{print $1" "$2}' > $TMP
|
||||||
|
|
||||||
|
cat $TMP | while read device
|
||||||
|
do
|
||||||
|
echo $device > /sys/bus/pci/drivers/uio_pci_generic/new_id
|
||||||
|
done
|
||||||
|
rm $TMP
|
||||||
|
}
|
||||||
|
|
||||||
|
function prep_ioat {
|
||||||
|
TMP=`mktemp`
|
||||||
|
#collect all the device_id info of ioat devices.
|
||||||
|
grep "PCI_DEVICE_ID_INTEL_IOAT" $rootdir/lib/ioat/ioat_pci.h \
|
||||||
|
| awk -F"x" '{print $2}' > $TMP
|
||||||
|
vendor=8086
|
||||||
|
|
||||||
|
for device in `cat $TMP`
|
||||||
|
do
|
||||||
|
result=`lspci -n | grep "$vendor:$device"`
|
||||||
|
if [ "$result" ]
|
||||||
|
then
|
||||||
|
echo $vendor $device > /sys/bus/pci/drivers/uio_pci_generic/new_id
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm $TMP
|
||||||
|
}
|
||||||
|
|
||||||
function configure_linux {
|
function configure_linux {
|
||||||
rmmod nvme || true
|
rmmod nvme || true
|
||||||
|
rmmod uio_pci_generic || true
|
||||||
rmmod ioatdma || true
|
rmmod ioatdma || true
|
||||||
|
modprobe uio_pci_generic || true
|
||||||
|
prep_nvme
|
||||||
|
prep_ioat
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_freebsd {
|
function configure_freebsd {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user