mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-30 17:22:33 +00:00
runtime: add appendBridges for arm64
since generic func genericAppendBridges and genericBridges is also applied for machine type QemuVirt, we use it as implementation for appendBridges and bridges on aarch64. since const defaultPCBridgeBus is used in generic func genericAppendBridges for pc machine, we should define it once in generic file, instead of redefining it in different arch-specific files. Fixes: #1200 Signed-off-by: Penny Zheng <penny.zheng@arm.com>
This commit is contained in:
parent
e93fb0b3a0
commit
3ec56eaf9f
@ -24,8 +24,6 @@ const defaultQemuMachineType = QemuPC
|
||||
|
||||
const defaultQemuMachineOptions = "accel=kvm,kernel_irqchip,nvdimm"
|
||||
|
||||
const defaultPCBridgeBus = "pci.0"
|
||||
|
||||
var qemuPaths = map[string]string{
|
||||
QemuPCLite: "/usr/bin/qemu-lite-system-x86_64",
|
||||
QemuPC: defaultQemuPath,
|
||||
|
@ -116,12 +116,13 @@ type qemuArchBase struct {
|
||||
}
|
||||
|
||||
const (
|
||||
defaultCores uint32 = 1
|
||||
defaultThreads uint32 = 1
|
||||
defaultCPUModel = "host"
|
||||
defaultBridgeBus = "pcie.0"
|
||||
maxDevIDSize = 31
|
||||
defaultMsize9p = 8192
|
||||
defaultCores uint32 = 1
|
||||
defaultThreads uint32 = 1
|
||||
defaultCPUModel = "host"
|
||||
defaultBridgeBus = "pcie.0"
|
||||
defaultPCBridgeBus = "pci.0"
|
||||
maxDevIDSize = 31
|
||||
defaultMsize9p = 8192
|
||||
)
|
||||
|
||||
// This is the PCI start address assigned to the first bridge that
|
||||
|
@ -11,6 +11,7 @@ import (
|
||||
"strings"
|
||||
|
||||
govmmQemu "github.com/intel/govmm/qemu"
|
||||
"github.com/kata-containers/runtime/virtcontainers/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@ -25,9 +26,6 @@ const defaultQemuMachineType = QemuVirt
|
||||
|
||||
var defaultQemuMachineOptions = "usb=off,accel=kvm,gic-version=" + getGuestGICVersion()
|
||||
|
||||
// Not used
|
||||
const defaultPCBridgeBus = ""
|
||||
|
||||
var qemuPaths = map[string]string{
|
||||
QemuVirt: defaultQemuPath,
|
||||
}
|
||||
@ -153,3 +151,12 @@ func newQemuArch(config HypervisorConfig) qemuArch {
|
||||
|
||||
return q
|
||||
}
|
||||
|
||||
func (q *qemuArm64) bridges(number uint32) []types.PCIBridge {
|
||||
return genericBridges(number, q.machineType)
|
||||
}
|
||||
|
||||
// appendBridges appends to devices the given bridges
|
||||
func (q *qemuArm64) appendBridges(devices []govmmQemu.Device, bridges []types.PCIBridge) []govmmQemu.Device {
|
||||
return genericAppendBridges(devices, bridges, q.machineType)
|
||||
}
|
||||
|
@ -98,3 +98,30 @@ func TestMaxQemuVCPUs(t *testing.T) {
|
||||
assert.Equal(d.expectedResult, vCPUs)
|
||||
}
|
||||
}
|
||||
|
||||
func TestQemuArm64AppendBridges(t *testing.T) {
|
||||
var devices []govmmQemu.Device
|
||||
assert := assert.New(t)
|
||||
|
||||
arm64 := newTestQemu(QemuVirt)
|
||||
|
||||
bridges := arm64.bridges(1)
|
||||
assert.Len(bridges, 1)
|
||||
|
||||
devices = []govmmQemu.Device{}
|
||||
devices = arm64.appendBridges(devices, bridges)
|
||||
assert.Len(devices, 1)
|
||||
|
||||
expectedOut := []govmmQemu.Device{
|
||||
govmmQemu.BridgeDevice{
|
||||
Type: govmmQemu.PCIEBridge,
|
||||
Bus: defaultBridgeBus,
|
||||
ID: bridges[0].ID,
|
||||
Chassis: 1,
|
||||
SHPC: true,
|
||||
Addr: "2",
|
||||
},
|
||||
}
|
||||
|
||||
assert.Equal(expectedOut, devices)
|
||||
}
|
||||
|
@ -27,8 +27,6 @@ const defaultQemuMachineType = QemuPseries
|
||||
|
||||
const defaultQemuMachineOptions = "accel=kvm,usb=off"
|
||||
|
||||
const defaultPCBridgeBus = "pci.0"
|
||||
|
||||
const defaultMemMaxPPC64le = 32256 // Restrict MemMax to 32Gb on PPC64le
|
||||
|
||||
var qemuPaths = map[string]string{
|
||||
|
@ -23,8 +23,6 @@ const defaultQemuMachineType = QemuCCWVirtio
|
||||
|
||||
const defaultQemuMachineOptions = "accel=kvm"
|
||||
|
||||
const defaultPCBridgeBus = "pci.0"
|
||||
|
||||
const VirtioSerialCCW = "virtio-serial-ccw"
|
||||
|
||||
var qemuPaths = map[string]string{
|
||||
|
Loading…
Reference in New Issue
Block a user