mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-26 17:54:24 +01:00
runtime: change govmm package
Change govmm package name from github.com/intel/govmm to github.com/kata-containers/govmm Fixes: #859 Signed-off-by: bin liu <bin@hyper.sh>
This commit is contained in:
22
src/runtime/vendor/github.com/intel/govmm/CONTRIBUTORS.md
generated
vendored
22
src/runtime/vendor/github.com/intel/govmm/CONTRIBUTORS.md
generated
vendored
@@ -1,22 +0,0 @@
|
||||
This file is a partial list of contributors to the Virtual Machine
|
||||
Manager for Go project. To see the full list of contributors, see the
|
||||
revision history in source control.
|
||||
|
||||
Contributors who wish to be recognized in this file should add
|
||||
themselves (or their employer, as appropriate).
|
||||
|
||||
- afrosi@de.ibm.com
|
||||
- archana.m.shinde@intel.com
|
||||
- caoruidong@huawei.com
|
||||
- clare.chenhui@huawei.com
|
||||
- eric.ernst@intel.com
|
||||
- james.o.hunt@intel.com
|
||||
- jose.carlos.venegas.munoz@intel.com
|
||||
- julio.montes@intel.com
|
||||
- manohar.r.castelino@intel.com
|
||||
- mark.d.ryan@intel.com
|
||||
- robert.bradford@intel.com
|
||||
- sameo@linux.intel.com
|
||||
- sebastien.boeuf@intel.com
|
||||
- teawater@hyper.sh
|
||||
- xinda.zhao@intel.com
|
||||
@@ -1084,6 +1084,8 @@ func (blkdev BlockDevice) QemuParams(config *Config) []string {
|
||||
deviceParams = append(deviceParams, fmt.Sprintf(",share-rw=on"))
|
||||
}
|
||||
|
||||
deviceParams = append(deviceParams, fmt.Sprintf(",serial=%s", blkdev.ID))
|
||||
|
||||
blkParams = append(blkParams, fmt.Sprintf("id=%s", blkdev.ID))
|
||||
blkParams = append(blkParams, fmt.Sprintf(",file=%s", blkdev.File))
|
||||
blkParams = append(blkParams, fmt.Sprintf(",aio=%s", blkdev.AIO))
|
||||
@@ -1118,6 +1120,24 @@ func (blkdev BlockDevice) deviceName(config *Config) string {
|
||||
return string(blkdev.Driver)
|
||||
}
|
||||
|
||||
// PVPanicDevice represents a qemu pvpanic device.
|
||||
type PVPanicDevice struct {
|
||||
NoShutdown bool
|
||||
}
|
||||
|
||||
// Valid always returns true for pvpanic device
|
||||
func (dev PVPanicDevice) Valid() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// QemuParams returns the qemu parameters built out of this serial device.
|
||||
func (dev PVPanicDevice) QemuParams(config *Config) []string {
|
||||
if dev.NoShutdown {
|
||||
return []string{"-device", "pvpanic", "-no-shutdown"}
|
||||
}
|
||||
return []string{"-device", "pvpanic"}
|
||||
}
|
||||
|
||||
// VhostUserDevice represents a qemu vhost-user device meant to be passed
|
||||
// in to the guest
|
||||
type VhostUserDevice struct {
|
||||
@@ -2103,6 +2123,56 @@ type Kernel struct {
|
||||
Params string
|
||||
}
|
||||
|
||||
// FwCfg allows QEMU to pass entries to the guest
|
||||
// File and Str are mutually exclusive
|
||||
type FwCfg struct {
|
||||
Name string
|
||||
File string
|
||||
Str string
|
||||
}
|
||||
|
||||
// Valid returns true if the FwCfg structure is valid and complete.
|
||||
func (fwcfg FwCfg) Valid() bool {
|
||||
if fwcfg.Name == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
if fwcfg.File != "" && fwcfg.Str != "" {
|
||||
return false
|
||||
}
|
||||
|
||||
if fwcfg.File == "" && fwcfg.Str == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// QemuParams returns the qemu parameters built out of the FwCfg object
|
||||
func (fwcfg FwCfg) QemuParams(config *Config) []string {
|
||||
var fwcfgParams []string
|
||||
var qemuParams []string
|
||||
|
||||
for _, f := range config.FwCfg {
|
||||
if f.Name != "" {
|
||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf("name=%s", f.Name))
|
||||
|
||||
if f.File != "" {
|
||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",file=%s", f.File))
|
||||
}
|
||||
|
||||
if f.Str != "" {
|
||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",string=%s", f.Str))
|
||||
}
|
||||
}
|
||||
|
||||
qemuParams = append(qemuParams, "-fw_cfg")
|
||||
qemuParams = append(qemuParams, strings.Join(fwcfgParams, ""))
|
||||
}
|
||||
|
||||
return qemuParams
|
||||
}
|
||||
|
||||
// Knobs regroups a set of qemu boolean settings
|
||||
type Knobs struct {
|
||||
// NoUserConfig prevents qemu from loading user config files.
|
||||
@@ -2236,6 +2306,9 @@ type Config struct {
|
||||
// fds is a list of open file descriptors to be passed to the spawned qemu process
|
||||
fds []*os.File
|
||||
|
||||
// FwCfg is the -fw_cfg parameter
|
||||
FwCfg []FwCfg
|
||||
|
||||
IOThreads []IOThread
|
||||
|
||||
// PidFile is the -pidfile parameter
|
||||
@@ -2568,6 +2641,21 @@ func (config *Config) appendLogFile() {
|
||||
}
|
||||
}
|
||||
|
||||
func (config *Config) appendFwCfg(logger QMPLog) {
|
||||
if logger == nil {
|
||||
logger = qmpNullLogger{}
|
||||
}
|
||||
|
||||
for _, f := range config.FwCfg {
|
||||
if !f.Valid() {
|
||||
logger.Errorf("fw_cfg is not valid: %+v", config.FwCfg)
|
||||
continue
|
||||
}
|
||||
|
||||
config.qemuParams = append(config.qemuParams, f.QemuParams(config)...)
|
||||
}
|
||||
}
|
||||
|
||||
// LaunchQemu can be used to launch a new qemu instance.
|
||||
//
|
||||
// The Config parameter contains a set of qemu parameters and settings.
|
||||
@@ -2595,6 +2683,7 @@ func LaunchQemu(config Config, logger QMPLog) (string, error) {
|
||||
config.appendIncoming()
|
||||
config.appendPidFile()
|
||||
config.appendLogFile()
|
||||
config.appendFwCfg(logger)
|
||||
|
||||
if err := config.appendCPUs(); err != nil {
|
||||
return "", err
|
||||
@@ -268,7 +268,7 @@ func (q *QMP) readLoop(fromVMCh chan<- []byte) {
|
||||
for scanner.Scan() {
|
||||
line := scanner.Bytes()
|
||||
if q.cfg.Logger.V(1) {
|
||||
q.cfg.Logger.Infof("%s", string(line))
|
||||
q.cfg.Logger.Infof("read from QMP: %s", string(line))
|
||||
}
|
||||
|
||||
// Since []byte channel type transfer slice info(include slice underlying array pointer, len, cap)
|
||||
@@ -1639,3 +1639,29 @@ func (q *QMP) ExecQomSet(ctx context.Context, path, property string, value uint6
|
||||
|
||||
return q.executeCommand(ctx, "qom-set", args, nil)
|
||||
}
|
||||
|
||||
// ExecQomGet qom-get path property
|
||||
func (q *QMP) ExecQomGet(ctx context.Context, path, property string) (interface{}, error) {
|
||||
args := map[string]interface{}{
|
||||
"path": path,
|
||||
"property": property,
|
||||
}
|
||||
|
||||
response, err := q.executeCommandWithResponse(ctx, "qom-get", args, nil, nil)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
// ExecuteDumpGuestMemory dump guest memory to host
|
||||
func (q *QMP) ExecuteDumpGuestMemory(ctx context.Context, protocol string, paging bool, format string) error {
|
||||
args := map[string]interface{}{
|
||||
"protocol": protocol,
|
||||
"paging": paging,
|
||||
"format": format,
|
||||
}
|
||||
|
||||
return q.executeCommand(ctx, "dump-guest-memory", args, nil)
|
||||
}
|
||||
Reference in New Issue
Block a user