diff --git a/Gopkg.lock b/Gopkg.lock index d0d7d5651..b7518ad75 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -85,7 +85,7 @@ [[projects]] name = "github.com/intel/govmm" packages = ["qemu"] - revision = "1509acf1862ae5154c5c096f9318bd3eb434d816" + revision = "9cf8ce6c6dda19d4a6d529e73714e231f6156820" [[projects]] name = "github.com/kata-containers/agent" @@ -257,6 +257,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "d8a31fdf495bbc93a234bdb9abd5250e2688e50c1c2ac88ae80d4b481cafba0d" + inputs-digest = "1d1c6e1edc48dac73618d0ce04d505e22276ad5a3e299dd0964eca608fe8e2f1" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 3055456c3..cf4e91362 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -56,7 +56,7 @@ [[constraint]] name = "github.com/intel/govmm" - revision = "1509acf1862ae5154c5c096f9318bd3eb434d816" + revision = "9cf8ce6c6dda19d4a6d529e73714e231f6156820" [[constraint]] name = "github.com/kata-containers/agent" diff --git a/vendor/github.com/intel/govmm/qemu/qemu.go b/vendor/github.com/intel/govmm/qemu/qemu.go index 4b0e41795..f2f4f5b8b 100644 --- a/vendor/github.com/intel/govmm/qemu/qemu.go +++ b/vendor/github.com/intel/govmm/qemu/qemu.go @@ -907,6 +907,9 @@ type BridgeDevice struct { // SHPC is used to enable or disable the standard hot plug controller SHPC bool + + // PCI Slot + Addr string } // Valid returns true if the BridgeDevice structure is valid and complete. @@ -941,6 +944,13 @@ func (bridgeDev BridgeDevice) QemuParams(config *Config) []string { } deviceParam := fmt.Sprintf("%s,bus=%s,id=%s,chassis_nr=%d,shpc=%s", deviceName, bridgeDev.Bus, bridgeDev.ID, bridgeDev.Chassis, shpc) + if bridgeDev.Addr != "" { + addr, err := strconv.Atoi(bridgeDev.Addr) + if err == nil && addr >= 0 { + deviceParam += fmt.Sprintf(",addr=%x", addr) + } + } + qemuParams = append(qemuParams, "-device") qemuParams = append(qemuParams, deviceParam)