github.com/containers/podman/v4@v4.9.4/pkg/machine/applehv/vfkit.go (about) 1 //go:build darwin 2 // +build darwin 3 4 package applehv 5 6 import ( 7 "github.com/containers/podman/v4/pkg/machine" 8 vfConfig "github.com/crc-org/vfkit/pkg/config" 9 ) 10 11 func getDefaultDevices(imagePath, logPath, readyPath string) ([]vfConfig.VirtioDevice, error) { 12 var devices []vfConfig.VirtioDevice 13 14 disk, err := vfConfig.VirtioBlkNew(imagePath) 15 if err != nil { 16 return nil, err 17 } 18 rng, err := vfConfig.VirtioRngNew() 19 if err != nil { 20 return nil, err 21 } 22 23 serial, err := vfConfig.VirtioSerialNew(logPath) 24 if err != nil { 25 return nil, err 26 } 27 28 readyDevice, err := vfConfig.VirtioVsockNew(1025, readyPath, true) 29 if err != nil { 30 return nil, err 31 } 32 devices = append(devices, disk, rng, serial, readyDevice) 33 return devices, nil 34 } 35 36 func getDebugDevices() ([]vfConfig.VirtioDevice, error) { 37 var devices []vfConfig.VirtioDevice 38 gpu, err := vfConfig.VirtioGPUNew() 39 if err != nil { 40 return nil, err 41 } 42 mouse, err := vfConfig.VirtioInputNew(vfConfig.VirtioInputPointingDevice) 43 if err != nil { 44 return nil, err 45 } 46 kb, err := vfConfig.VirtioInputNew(vfConfig.VirtioInputKeyboardDevice) 47 if err != nil { 48 return nil, err 49 } 50 return append(devices, gpu, mouse, kb), nil 51 } 52 53 func getIgnitionVsockDevice(path string) (vfConfig.VirtioDevice, error) { 54 return vfConfig.VirtioVsockNew(1024, path, true) 55 } 56 57 func VirtIOFsToVFKitVirtIODevice(fs machine.VirtIoFs) vfConfig.VirtioFs { 58 return vfConfig.VirtioFs{ 59 DirectorySharingConfig: vfConfig.DirectorySharingConfig{ 60 MountTag: fs.Tag, 61 }, 62 SharedDir: fs.Source, 63 } 64 }