]> git.proxmox.com Git - pve-qemu.git/blobdiff - debian/patches/pve/0024-PVE-Allow-version-code-in-machine-type.patch
update submodule and patches to 7.1.0
[pve-qemu.git] / debian / patches / pve / 0024-PVE-Allow-version-code-in-machine-type.patch
diff --git a/debian/patches/pve/0024-PVE-Allow-version-code-in-machine-type.patch b/debian/patches/pve/0024-PVE-Allow-version-code-in-machine-type.patch
deleted file mode 100644 (file)
index a0ca907..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Dietmar Maurer <dietmar@proxmox.com>
-Date: Mon, 6 Apr 2020 12:16:55 +0200
-Subject: [PATCH] PVE: Allow version code in machine type
-
-E.g. pc-i440fx-4.0+pve3 would print 'pve3' as version code while
-selecting pc-i440fx-4.0 as machine type.
-
-Version is made available as 'pve-version' in query-machines (same as,
-and only if 'is-current').
-
-Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- hw/core/machine-qmp-cmds.c |  6 ++++++
- include/hw/boards.h        |  2 ++
- qapi/machine.json          |  4 +++-
- softmmu/vl.c               | 25 +++++++++++++++++++++++++
- 4 files changed, 36 insertions(+), 1 deletion(-)
-
-diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c
-index 76fff60a6b..ec9201fb9a 100644
---- a/hw/core/machine-qmp-cmds.c
-+++ b/hw/core/machine-qmp-cmds.c
-@@ -103,6 +103,12 @@ MachineInfoList *qmp_query_machines(Error **errp)
-         if (strcmp(mc->name, MACHINE_GET_CLASS(current_machine)->name) == 0) {
-             info->has_is_current = true;
-             info->is_current = true;
-+
-+            // PVE version string only exists for current machine
-+            if (mc->pve_version) {
-+                info->has_pve_version = true;
-+                info->pve_version = g_strdup(mc->pve_version);
-+            }
-         }
-         if (mc->default_cpu_type) {
-diff --git a/include/hw/boards.h b/include/hw/boards.h
-index c92ac8815c..572d911ed4 100644
---- a/include/hw/boards.h
-+++ b/include/hw/boards.h
-@@ -230,6 +230,8 @@ struct MachineClass {
-     const char *desc;
-     const char *deprecation_reason;
-+    const char *pve_version;
-+
-     void (*init)(MachineState *state);
-     void (*reset)(MachineState *state);
-     void (*wakeup)(MachineState *state);
-diff --git a/qapi/machine.json b/qapi/machine.json
-index ca133e68ce..39ba204b52 100644
---- a/qapi/machine.json
-+++ b/qapi/machine.json
-@@ -158,6 +158,8 @@
- #
- # @default-ram-id: the default ID of initial RAM memory backend (since 5.2)
- #
-+# @pve-version: custom PVE version suffix specified as 'machine+pveN'
-+#
- # Since: 1.2
- ##
- { 'struct': 'MachineInfo',
-@@ -165,7 +167,7 @@
-             '*is-default': 'bool', '*is-current': 'bool', 'cpu-max': 'int',
-             'hotpluggable-cpus': 'bool',  'numa-mem-supported': 'bool',
-             'deprecated': 'bool', '*default-cpu-type': 'str',
--            '*default-ram-id': 'str' } }
-+            '*default-ram-id': 'str', '*pve-version': 'str' } }
- ##
- # @query-machines:
-diff --git a/softmmu/vl.c b/softmmu/vl.c
-index 4208142685..37d85f1b96 100644
---- a/softmmu/vl.c
-+++ b/softmmu/vl.c
-@@ -1659,6 +1659,7 @@ static const QEMUOption *lookup_opt(int argc, char **argv,
- static MachineClass *select_machine(QDict *qdict, Error **errp)
- {
-     const char *optarg = qdict_get_try_str(qdict, "type");
-+    const char *pvever = qdict_get_try_str(qdict, "pvever");
-     GSList *machines = object_class_get_list(TYPE_MACHINE, false);
-     MachineClass *machine_class;
-     Error *local_err = NULL;
-@@ -1676,6 +1677,11 @@ static MachineClass *select_machine(QDict *qdict, Error **errp)
-         }
-     }
-+    if (machine_class) {
-+        machine_class->pve_version = g_strdup(pvever);
-+        qdict_del(qdict, "pvever");
-+    }
-+
-     g_slist_free(machines);
-     if (local_err) {
-         error_append_hint(&local_err, "Use -machine help to list supported machines\n");
-@@ -3362,12 +3368,31 @@ void qemu_init(int argc, char **argv, char **envp)
-             case QEMU_OPTION_machine:
-                 {
-                     bool help;
-+                    size_t pvever_index, name_len;
-+                    const gchar *name;
-+                    gchar *name_clean, *pvever;
-                     keyval_parse_into(machine_opts_dict, optarg, "type", &help, &error_fatal);
-                     if (help) {
-                         machine_help_func(machine_opts_dict);
-                         exit(EXIT_SUCCESS);
-                     }
-+
-+                    // PVE version is specified with '+' as seperator, e.g. pc-i440fx+pvever
-+                    name = qdict_get_try_str(machine_opts_dict, "type");
-+                    if (name != NULL) {
-+                        name_len = strlen(name);
-+                        pvever_index = strcspn(name, "+");
-+                        if (pvever_index < name_len) {
-+                            name_clean = g_strndup(name, pvever_index);
-+                            pvever = g_strndup(name + pvever_index + 1, name_len - pvever_index - 1);
-+                            qdict_put_str(machine_opts_dict, "pvever", pvever);
-+                            qdict_put_str(machine_opts_dict, "type", name_clean);
-+                            g_free(name_clean);
-+                            g_free(pvever);
-+                        }
-+                    }
-+
-                     break;
-                 }
-             case QEMU_OPTION_accel: