The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/7517

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===

From f8de3180632a1e8de675b1ba943de017881882b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Thu, 11 Jun 2020 15:51:51 -0400
Subject: [PATCH 1/4] lxd/vm: Separate template keys in global/local
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 lxd/instance/drivers/driver_qemu.go | 33 +++++++++++++++++------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/lxd/instance/drivers/driver_qemu.go 
b/lxd/instance/drivers/driver_qemu.go
index 78ecde039b..de69b3f3db 100644
--- a/lxd/instance/drivers/driver_qemu.go
+++ b/lxd/instance/drivers/driver_qemu.go
@@ -1726,8 +1726,9 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
                "bus":           bus,
                "devBus":        devBus,
                "devAddr":       devAddr,
-               "vsockID":       vm.vsockID(),
                "multifunction": multi,
+
+               "vsockID": vm.vsockID(),
        })
        if err != nil {
                return "", err
@@ -1735,11 +1736,12 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
 
        devBus, devAddr, multi = allocateBusAddr("generic")
        err = qemuSerial.Execute(sb, map[string]interface{}{
-               "bus":              bus,
-               "devBus":           devBus,
-               "devAddr":          devAddr,
+               "bus":           bus,
+               "devBus":        devBus,
+               "devAddr":       devAddr,
+               "multifunction": multi,
+
                "ringbufSizeBytes": qmp.RingbufSize,
-               "multifunction":    multi,
        })
        if err != nil {
                return "", err
@@ -1761,8 +1763,9 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
                "bus":           bus,
                "devBus":        devBus,
                "devAddr":       devAddr,
-               "path":          filepath.Join(vm.Path(), "config"),
                "multifunction": multi,
+
+               "path": filepath.Join(vm.Path(), "config"),
        })
        if err != nil {
                return "", err
@@ -1989,11 +1992,12 @@ func (vm *qemu) addDriveDirConfig(sb *strings.Builder, 
bus string, allocateBusAd
                        "bus":           bus,
                        "devBus":        devBus,
                        "devAddr":       devAddr,
-                       "devName":       driveConf.DevName,
-                       "mountTag":      mountTag,
-                       "path":          driveConf.DevPath,
-                       "readonly":      true,
                        "multifunction": multi,
+
+                       "devName":  driveConf.DevName,
+                       "mountTag": mountTag,
+                       "path":     driveConf.DevPath,
+                       "readonly": true,
                })
        }
 
@@ -2003,11 +2007,12 @@ func (vm *qemu) addDriveDirConfig(sb *strings.Builder, 
bus string, allocateBusAd
                "bus":           bus,
                "devBus":        devBus,
                "devAddr":       devAddr,
-               "devName":       driveConf.DevName,
-               "mountTag":      mountTag,
-               "proxyFD":       proxyFD,
-               "readonly":      false,
                "multifunction": multi,
+
+               "devName":  driveConf.DevName,
+               "mountTag": mountTag,
+               "proxyFD":  proxyFD,
+               "readonly": false,
        })
 }
 

From 3d1dca4c57363666ba53ce758d550390f125b528 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Thu, 11 Jun 2020 15:46:45 -0400
Subject: [PATCH 2/4] lxd/vm: Use virtio-gpu-pci on non-x86
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 lxd/instance/drivers/driver_qemu.go           | 2 ++
 lxd/instance/drivers/driver_qemu_templates.go | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/lxd/instance/drivers/driver_qemu.go 
b/lxd/instance/drivers/driver_qemu.go
index de69b3f3db..a83560aabd 100644
--- a/lxd/instance/drivers/driver_qemu.go
+++ b/lxd/instance/drivers/driver_qemu.go
@@ -1777,6 +1777,8 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
                "devBus":        devBus,
                "devAddr":       devAddr,
                "multifunction": multi,
+
+               "architecture": vm.architectureName,
        })
        if err != nil {
                return "", err
diff --git a/lxd/instance/drivers/driver_qemu_templates.go 
b/lxd/instance/drivers/driver_qemu_templates.go
index ed2cd9397f..7aa900e8e4 100644
--- a/lxd/instance/drivers/driver_qemu_templates.go
+++ b/lxd/instance/drivers/driver_qemu_templates.go
@@ -169,7 +169,11 @@ var qemuVGA = template.Must(template.New("qemuVGA").Parse(`
 # VGA
 [device "qemu_vga"]
 {{- if eq .bus "pci" "pcie"}}
+{{if eq .architecture "x86_64" -}}
 driver = "virtio-vga"
+{{- else}}
+driver = "virtio-gpu-pci"
+{{- end}}
 bus = "{{.devBus}}"
 addr = "{{.devAddr}}"
 {{- end}}

From e209429bbf852678fb95fad4b02a022db54a6817 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Thu, 11 Jun 2020 16:06:09 -0400
Subject: [PATCH 3/4] lxd/vm: Rename qemuVGA to qemuGPU
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 lxd/instance/drivers/driver_qemu.go           | 2 +-
 lxd/instance/drivers/driver_qemu_templates.go | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lxd/instance/drivers/driver_qemu.go 
b/lxd/instance/drivers/driver_qemu.go
index a83560aabd..b8d1dad622 100644
--- a/lxd/instance/drivers/driver_qemu.go
+++ b/lxd/instance/drivers/driver_qemu.go
@@ -1772,7 +1772,7 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
        }
 
        devBus, devAddr, multi = allocateBusAddr("")
-       err = qemuVGA.Execute(sb, map[string]interface{}{
+       err = qemuGPU.Execute(sb, map[string]interface{}{
                "bus":           bus,
                "devBus":        devBus,
                "devAddr":       devAddr,
diff --git a/lxd/instance/drivers/driver_qemu_templates.go 
b/lxd/instance/drivers/driver_qemu_templates.go
index 7aa900e8e4..a9777d0c87 100644
--- a/lxd/instance/drivers/driver_qemu_templates.go
+++ b/lxd/instance/drivers/driver_qemu_templates.go
@@ -165,9 +165,9 @@ multifunction = "on"
 {{- end }}
 `))
 
-var qemuVGA = template.Must(template.New("qemuVGA").Parse(`
-# VGA
-[device "qemu_vga"]
+var qemuGPU = template.Must(template.New("qemuGPU").Parse(`
+# GPU
+[device "qemu_gpu"]
 {{- if eq .bus "pci" "pcie"}}
 {{if eq .architecture "x86_64" -}}
 driver = "virtio-vga"

From b9b023d4aef75a878d4935ca076ec256738b538a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Thu, 11 Jun 2020 16:24:29 -0400
Subject: [PATCH 4/4] lxd/vm: Add virtio-input keyboard/mouse
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 lxd/instance/drivers/driver_qemu.go           | 22 +++++++++++++
 lxd/instance/drivers/driver_qemu_templates.go | 32 +++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/lxd/instance/drivers/driver_qemu.go 
b/lxd/instance/drivers/driver_qemu.go
index b8d1dad622..c2a81f479f 100644
--- a/lxd/instance/drivers/driver_qemu.go
+++ b/lxd/instance/drivers/driver_qemu.go
@@ -1721,6 +1721,28 @@ func (vm *qemu) generateQemuConfigFile(bus string, 
devConfs []*deviceConfig.RunC
                return "", err
        }
 
+       devBus, devAddr, multi = allocateBusAddr("generic")
+       err = qemuKeyboard.Execute(sb, map[string]interface{}{
+               "bus":           bus,
+               "devBus":        devBus,
+               "devAddr":       devAddr,
+               "multifunction": multi,
+       })
+       if err != nil {
+               return "", err
+       }
+
+       devBus, devAddr, multi = allocateBusAddr("generic")
+       err = qemuTablet.Execute(sb, map[string]interface{}{
+               "bus":           bus,
+               "devBus":        devBus,
+               "devAddr":       devAddr,
+               "multifunction": multi,
+       })
+       if err != nil {
+               return "", err
+       }
+
        devBus, devAddr, multi = allocateBusAddr("generic")
        err = qemuVsock.Execute(sb, map[string]interface{}{
                "bus":           bus,
diff --git a/lxd/instance/drivers/driver_qemu_templates.go 
b/lxd/instance/drivers/driver_qemu_templates.go
index a9777d0c87..f4a6c3f1ca 100644
--- a/lxd/instance/drivers/driver_qemu_templates.go
+++ b/lxd/instance/drivers/driver_qemu_templates.go
@@ -185,6 +185,38 @@ multifunction = "on"
 {{- end }}
 `))
 
+var qemuKeyboard = template.Must(template.New("qemuKeyboard").Parse(`
+# Input
+[device "qemu_keyboard"]
+{{- if eq .bus "pci" "pcie"}}
+driver = "virtio-keyboard-pci"
+bus = "{{.devBus}}"
+addr = "{{.devAddr}}"
+{{- end}}
+{{if eq .bus "ccw" -}}
+driver = "virtio-keyboard-ccw"
+{{- end}}
+{{if .multifunction -}}
+multifunction = "on"
+{{- end }}
+`))
+
+var qemuTablet = template.Must(template.New("qemuTablet").Parse(`
+# Input
+[device "qemu_tablet"]
+{{- if eq .bus "pci" "pcie"}}
+driver = "virtio-tablet-pci"
+bus = "{{.devBus}}"
+addr = "{{.devAddr}}"
+{{- end}}
+{{if eq .bus "ccw" -}}
+driver = "virtio-tablet-ccw"
+{{- end}}
+{{if .multifunction -}}
+multifunction = "on"
+{{- end }}
+`))
+
 var qemuCPU = template.Must(template.New("qemuCPU").Parse(`
 # CPU
 [smp-opts]
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to