123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/sh
- . "${PM_FUNCTIONS}"
- get_domain_pci_devs()
- {
- VM=$1
- TMPFILE=$(mktemp -p /var/run/qubes/)
- xm pci-list $VM > $TMPFILE
- if grep -i -q vslt $TMPFILE ; then
- slt=valid_identifier
- else
- slt=""
- fi
- cat $TMPFILE | grep -v domain | sed 's/0x//g'| \
- while read $slt a b c d; do echo $a:$b:$c.$d ; done > /var/run/qubes/$VM.pcidevs
- rm -f $TMPFILE
- }
- detach_pcis()
- {
- NETVM=$(qvm-get-default-netvm)
- if [ "X"$NETVM = "X""dom0" -o "X"$NETVM = "X" -o "X"$NETVM = "X""none"] ; then
- exit 0
- fi
- get_domain_pci_devs $NETVM
- for dev in $(cat /var/run/qubes/$NETVM.pcidevs) ; do
- xm pci-detach $NETVM $dev
- done
- }
- attach_pcis()
- {
- NETVM=$(qvm-get-default-netvm)
- if [ "X"$NETVM = "X""dom0" -o "X"$NETVM = "X" -o "X"$NETVM = "X""none"] ; then
- exit 0
- fi
- for dev in $(cat /var/run/qubes/$NETVM.pcidevs) ; do
- xm pci-attach $NETVM $dev
- done
- }
-
- case "$1" in
- resume) attach_pcis ;;
- suspend) detach_pcis ;;
- *) exit 0 ;;
- esac
|