Spdk/test/setup/driver.sh
Michal Berger 4f857ce593 scripts/setup: Stop checking for broken uio_pci_generic driver
This check was put in place as a workaround for some specific kernel
builds which were mainly shipped under centos8. Since we already
dropped centos8 in the CI and replaced it with rocky8 (where kernel
is actually stable) there's no value in maintaining that anymore.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: Idd39b5bae888a991d7d628a19bc18acac6570f81
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15819
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2022-12-14 08:03:17 +00:00

72 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2020 Intel Corporation
# All rights reserved.
#
testdir=$(readlink -f "$(dirname "$0")")
rootdir=$(readlink -f "$testdir/../../")
source "$testdir/common.sh"
shopt -s nullglob extglob
dep() { modprobe --show-depends "$1"; }
mod() { [[ $(dep "$1") == *".ko"* ]]; }
bui() { [[ $(dep "$1") == "builtin $1" ]]; }
is_driver() { mod "$1" || bui "$1"; }
uio() {
is_driver uio_pci_generic
}
vfio() {
local iommu_grups
local unsafe_vfio
[[ -e /sys/module/vfio/parameters/enable_unsafe_noiommu_mode ]] \
&& unsafe_vfio=$(< /sys/module/vfio/parameters/enable_unsafe_noiommu_mode)
iommu_groups=(/sys/kernel/iommu_groups/*)
if ((${#iommu_groups[@]} > 0)) || [[ $unsafe_vfio == Y ]]; then
is_driver vfio_pci && return 0
fi
return 1
}
pick_driver() {
if vfio; then
echo "vfio-pci"
elif uio; then
echo "uio_pci_generic"
else
echo "No valid driver found"
fi
}
guess_driver() {
local driver setup_driver marker
local fail=0
driver=$(pick_driver)
if [[ $driver == "No valid driver found" ]]; then
[[ $(setup output config) == "$driver"* ]]
return 0
fi
echo "Looking for driver=$driver"
while read -r _ _ _ _ marker setup_driver; do
[[ $marker == "->" ]] || continue
# Allow for more open matching
# shellcheck disable=SC2053
[[ $setup_driver == $driver ]] || fail=1
done < <(setup output config)
((fail == 0))
setup reset
}
setup reset
run_test "guess_driver" "guess_driver"