diff options
-rwxr-xr-x | kvmx | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -411,9 +411,18 @@ function kvmx_up { # See http://wiki.qemu-project.org/Documentation/9psetup local shared="-fsdev local,id=shared,path=$shared_folder,security_model=none -device virtio-9p-pci,fsdev=shared,mount_tag=shared" elif [ ! -z "$shared_folders" ]; then + # Add a PCI bus for shared filesystems + # See https://www.qemu.org/docs/master/system/device-emulation.html + # https://www.suse.com/support/kb/doc/?id=000019383 + # https://unix.stackexchange.com/questions/588912/add-more-pci-slots-to-virtual-machine + # + # Perhaps could also be implemented with the PXB (PCI Expander Bridge): + # https://github.com/qemu/qemu/blob/master/docs/pci_expander_bridge.txt + local shared_bus="-device pci-bridge,bus=pci.0,addr=5,chassis_nr=1,id=shared.0" + local old_ifs="$IFS" local shared_item - local shared + local shared="$shared_bus" IFS="," for shared_item in $shared_folders; do local id="`echo $shared_item | cut -d ':' -f 1`" @@ -431,7 +440,7 @@ function kvmx_up { mkdir -p $shared_folder shared_folder="`cd $KVMX_PROJECT_FOLDER && cd $shared_folder &> /dev/null && pwd`" - shared="$shared -fsdev local,id=$id,path=$shared_folder,security_model=none${shared_folder_mode} -device virtio-9p-pci,fsdev=$id,mount_tag=$id" + shared="$shared -fsdev local,id=$id,path=$shared_folder,security_model=none${shared_folder_mode} -device virtio-9p-pci,fsdev=$id,mount_tag=$id,bus=shared.0" unset shared_folder unset shared_folder_mountpoint |