mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-19 07:49:17 +00:00
Merge pull request #5996 from dcantah/vfw-initial
virtcontainers: Introduce hypervisor_darwin
This commit is contained in:
@@ -49,6 +49,9 @@ const (
|
||||
// DragonballHypervisor is the Dragonball hypervisor.
|
||||
DragonballHypervisor HypervisorType = "dragonball"
|
||||
|
||||
// VirtFrameworkHypervisor is the Darwin Virtualization.framework hypervisor
|
||||
VirtframeworkHypervisor HypervisorType = "virtframework"
|
||||
|
||||
// MockHypervisor is a mock hypervisor for testing purposes
|
||||
MockHypervisor HypervisorType = "mock"
|
||||
|
||||
@@ -84,6 +87,8 @@ var (
|
||||
)
|
||||
|
||||
// In some architectures the maximum number of vCPUs depends on the number of physical cores.
|
||||
// TODO (dcantah): Find a suitable value for darwin/vfw. Seems perf degrades if > number of host
|
||||
// cores.
|
||||
var defaultMaxVCPUs = govmm.MaxVCPUs()
|
||||
|
||||
// agnostic list of kernel root parameters for NVDIMM
|
||||
@@ -177,6 +182,9 @@ func (hType *HypervisorType) Set(value string) error {
|
||||
case "dragonball":
|
||||
*hType = DragonballHypervisor
|
||||
return nil
|
||||
case "virtframework":
|
||||
*hType = VirtframeworkHypervisor
|
||||
return nil
|
||||
case "mock":
|
||||
*hType = MockHypervisor
|
||||
return nil
|
||||
|
26
src/runtime/virtcontainers/hypervisor_darwin.go
Normal file
26
src/runtime/virtcontainers/hypervisor_darwin.go
Normal file
@@ -0,0 +1,26 @@
|
||||
// Copyright (c) 2023 Apple Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
package virtcontainers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// NewHypervisor returns a hypervisor from a hypervisor type.
|
||||
func NewHypervisor(hType HypervisorType) (Hypervisor, error) {
|
||||
switch hType {
|
||||
case VirtframeworkHypervisor:
|
||||
return &virtFramework{}, nil
|
||||
case MockHypervisor:
|
||||
return &mockHypervisor{}, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("Unknown hypervisor type %s", hType)
|
||||
}
|
||||
}
|
||||
|
||||
func availableGuestProtection() (guestProtection, error) {
|
||||
return noneProtection, nil
|
||||
}
|
@@ -27,7 +27,6 @@ func generateVMSocket(id string, vmStogarePath string) (interface{}, error) {
|
||||
|
||||
// NewHypervisor returns an hypervisor from a hypervisor type.
|
||||
func NewHypervisor(hType HypervisorType) (Hypervisor, error) {
|
||||
|
||||
switch hType {
|
||||
case QemuHypervisor:
|
||||
return &qemu{}, nil
|
||||
|
Reference in New Issue
Block a user