mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-23 05:58:04 +00:00
Make fw_cfg a slice
Signed-off-by: Salvatore Mazzarino <dev@mazzarino.cz>
This commit is contained in:
parent
546cc55ea4
commit
8cb8b24c05
24
qemu/qemu.go
24
qemu/qemu.go
@ -2133,20 +2133,22 @@ func (fwcfg FwCfg) QemuParams(config *Config) []string {
|
|||||||
var fwcfgParams []string
|
var fwcfgParams []string
|
||||||
var qemuParams []string
|
var qemuParams []string
|
||||||
|
|
||||||
if config.FwCfg.Name != "" {
|
for _, f := range config.FwCfg {
|
||||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf("name=%q", config.FwCfg.Name))
|
if f.Name != "" {
|
||||||
|
fwcfgParams = append(fwcfgParams, fmt.Sprintf("name=%s", f.Name))
|
||||||
|
|
||||||
if config.FwCfg.File != "" {
|
if f.File != "" {
|
||||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",file=%q", config.FwCfg.File))
|
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",file=%s", f.File))
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.FwCfg.Str != "" {
|
if f.Str != "" {
|
||||||
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",string=%q", config.FwCfg.Str))
|
fwcfgParams = append(fwcfgParams, fmt.Sprintf(",string=%s", f.Str))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qemuParams = append(qemuParams, "-fw_cfg")
|
qemuParams = append(qemuParams, "-fw_cfg")
|
||||||
qemuParams = append(qemuParams, strings.Join(fwcfgParams, ""))
|
qemuParams = append(qemuParams, strings.Join(fwcfgParams, ""))
|
||||||
|
}
|
||||||
|
|
||||||
return qemuParams
|
return qemuParams
|
||||||
}
|
}
|
||||||
@ -2285,7 +2287,7 @@ type Config struct {
|
|||||||
fds []*os.File
|
fds []*os.File
|
||||||
|
|
||||||
// FwCfg is the -fw_cfg parameter
|
// FwCfg is the -fw_cfg parameter
|
||||||
FwCfg FwCfg
|
FwCfg []FwCfg
|
||||||
|
|
||||||
IOThreads []IOThread
|
IOThreads []IOThread
|
||||||
|
|
||||||
@ -2624,12 +2626,14 @@ func (config *Config) appendFwCfg(logger QMPLog) {
|
|||||||
logger = qmpNullLogger{}
|
logger = qmpNullLogger{}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !config.FwCfg.Valid() {
|
for _, f := range config.FwCfg {
|
||||||
|
if !f.Valid() {
|
||||||
logger.Errorf("fw_cfg is not valid: %+v", config.FwCfg)
|
logger.Errorf("fw_cfg is not valid: %+v", config.FwCfg)
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
config.qemuParams = append(config.qemuParams, config.FwCfg.QemuParams(config)...)
|
config.qemuParams = append(config.qemuParams, f.QemuParams(config)...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LaunchQemu can be used to launch a new qemu instance.
|
// LaunchQemu can be used to launch a new qemu instance.
|
||||||
|
@ -45,7 +45,7 @@ func testConfigAppend(config *Config, structure interface{}, expected string, t
|
|||||||
config.Machine = s
|
config.Machine = s
|
||||||
config.appendMachine()
|
config.appendMachine()
|
||||||
case FwCfg:
|
case FwCfg:
|
||||||
config.FwCfg = s
|
config.FwCfg = []FwCfg{s}
|
||||||
config.appendFwCfg(nil)
|
config.appendFwCfg(nil)
|
||||||
|
|
||||||
case Device:
|
case Device:
|
||||||
@ -1152,11 +1152,13 @@ func TestBadFwcfg(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
c = &Config{
|
c = &Config{
|
||||||
FwCfg: FwCfg{
|
FwCfg: []FwCfg{
|
||||||
|
{
|
||||||
Name: "name=opt/com.mycompany/blob",
|
Name: "name=opt/com.mycompany/blob",
|
||||||
File: "./my_blob.bin",
|
File: "./my_blob.bin",
|
||||||
Str: "foo",
|
Str: "foo",
|
||||||
},
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
c.appendFwCfg(nil)
|
c.appendFwCfg(nil)
|
||||||
if len(c.qemuParams) != 0 {
|
if len(c.qemuParams) != 0 {
|
||||||
@ -1189,14 +1191,14 @@ func TestIommu(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestAppendFwcfg(t *testing.T) {
|
func TestAppendFwcfg(t *testing.T) {
|
||||||
fwcfgString := "-fw_cfg name=\"opt/com.mycompany/blob\",file=\"./my_blob.bin\""
|
fwcfgString := "-fw_cfg name=opt/com.mycompany/blob,file=./my_blob.bin"
|
||||||
fwcfg := FwCfg{
|
fwcfg := FwCfg{
|
||||||
Name: "opt/com.mycompany/blob",
|
Name: "opt/com.mycompany/blob",
|
||||||
File: "./my_blob.bin",
|
File: "./my_blob.bin",
|
||||||
}
|
}
|
||||||
testAppend(fwcfg, fwcfgString, t)
|
testAppend(fwcfg, fwcfgString, t)
|
||||||
|
|
||||||
fwcfgString = "-fw_cfg name=\"opt/com.mycompany/blob\",string=\"foo\""
|
fwcfgString = "-fw_cfg name=opt/com.mycompany/blob,string=foo"
|
||||||
fwcfg = FwCfg{
|
fwcfg = FwCfg{
|
||||||
Name: "opt/com.mycompany/blob",
|
Name: "opt/com.mycompany/blob",
|
||||||
Str: "foo",
|
Str: "foo",
|
||||||
|
Loading…
Reference in New Issue
Block a user