Files
Jake Correnti 02eb907db0 machine: change getDefaultDevices signature
Changes the signature for `getDefaultDevices` to take
a `vmconfigs.MachineConfig`.

[NO NEW TESTS NEEDED]

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-02-08 20:27:33 -05:00

77 lines
1.9 KiB
Go

//go:build darwin
package applehv
import (
"github.com/containers/podman/v5/pkg/machine/define"
"github.com/containers/podman/v5/pkg/machine/vmconfigs"
vfConfig "github.com/crc-org/vfkit/pkg/config"
)
func getDefaultDevices(mc *vmconfigs.MachineConfig) ([]vfConfig.VirtioDevice, *define.VMFile, error) {
var devices []vfConfig.VirtioDevice
disk, err := vfConfig.VirtioBlkNew(mc.ImagePath.GetPath())
if err != nil {
return nil, nil, err
}
rng, err := vfConfig.VirtioRngNew()
if err != nil {
return nil, nil, err
}
logfile, err := mc.LogFile()
if err != nil {
return nil, nil, err
}
serial, err := vfConfig.VirtioSerialNew(logfile.GetPath())
if err != nil {
return nil, nil, err
}
readySocket, err := mc.ReadySocket()
if err != nil {
return nil, nil, err
}
readyDevice, err := vfConfig.VirtioVsockNew(1025, readySocket.GetPath(), true)
if err != nil {
return nil, nil, err
}
devices = append(devices, disk, rng, serial, readyDevice)
return devices, readySocket, nil
}
func getDebugDevices() ([]vfConfig.VirtioDevice, error) {
var devices []vfConfig.VirtioDevice
gpu, err := vfConfig.VirtioGPUNew()
if err != nil {
return nil, err
}
mouse, err := vfConfig.VirtioInputNew(vfConfig.VirtioInputPointingDevice)
if err != nil {
return nil, err
}
kb, err := vfConfig.VirtioInputNew(vfConfig.VirtioInputKeyboardDevice)
if err != nil {
return nil, err
}
return append(devices, gpu, mouse, kb), nil
}
func getIgnitionVsockDevice(path string) (vfConfig.VirtioDevice, error) {
return vfConfig.VirtioVsockNew(1024, path, true)
}
func virtIOFsToVFKitVirtIODevice(mounts []*vmconfigs.Mount) ([]vfConfig.VirtioDevice, error) {
var virtioDevices []vfConfig.VirtioDevice
for _, vol := range mounts {
virtfsDevice, err := vfConfig.VirtioFsNew(vol.Source, vol.Tag)
if err != nil {
return nil, err
}
virtioDevices = append(virtioDevices, virtfsDevice)
}
return virtioDevices, nil
}