Skip to content

Commit

Permalink
devices: add per-device VFIO ids
Browse files Browse the repository at this point in the history
Adds per-device VFIO ids allowing IOMMU groups with
multiple devices to be passed to qemu.

Fixes kata-containers#708

Signed-off-by: Edward Guzman <eguzman@nvidia.com>
  • Loading branch information
eguzman3 committed Sep 11, 2018
1 parent e02695b commit e21cdf1
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions virtcontainers/device/drivers/vfio.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"fmt"
"io/ioutil"
"path/filepath"
"strconv"
"strings"

"github.com/sirupsen/logrus"
Expand Down Expand Up @@ -64,14 +65,14 @@ func (device *VFIODevice) Attach(devReceiver api.DeviceReceiver) error {
}

// Pass all devices in iommu group
for _, deviceFile := range deviceFiles {
for i, deviceFile := range deviceFiles {
//Get bdf of device eg 0000:00:1c.0
deviceBDF, err := getBDF(deviceFile.Name())
if err != nil {
return err
}
vfio := &config.VFIODev{
ID: utils.MakeNameID("vfio", device.DeviceInfo.ID, maxDevIDSize),
ID: utils.MakeNameID("vfio", device.DeviceInfo.ID+strconv.Itoa(i), maxDevIDSize),
BDF: deviceBDF,
}
device.vfioDevs = append(device.vfioDevs, vfio)
Expand Down

0 comments on commit e21cdf1

Please sign in to comment.