[PATCH 12/22] vl: move bios_name out of softmmu/vl.c

Paolo Bonzini posted 22 patches 5 years, 3 months ago
There is a newer version of this series
[PATCH 12/22] vl: move bios_name out of softmmu/vl.c
Posted by Paolo Bonzini 5 years, 3 months ago
bios_name is a legacy variable used by machine code.  Hide it
from softmmu/vl.c.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/core/machine.c | 5 +++++
 softmmu/vl.c      | 2 --
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 3c674bb05e..e4dac350d4 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -212,6 +212,8 @@ GlobalProperty hw_compat_2_1[] = {
 };
 const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
 
+const char *bios_name = NULL;
+
 static char *machine_get_kernel(Object *obj, Error **errp)
 {
     MachineState *ms = MACHINE(obj);
@@ -396,6 +398,9 @@ static void machine_set_firmware(Object *obj, const char *value, Error **errp)
 
     g_free(ms->firmware);
     ms->firmware = g_strdup(value);
+
+    /* HACK */
+    bios_name = ms->firmware;
 }
 
 static void machine_set_suppress_vmdesc(Object *obj, bool value, Error **errp)
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 52e7d317d7..e32e209a82 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -123,7 +123,6 @@ static int data_dir_idx;
 static const char *mem_path;
 static const char *boot_order;
 static const char *boot_once;
-const char *bios_name = NULL;
 enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 int display_opengl;
 const char* keyboard_layout = NULL;
@@ -4314,7 +4313,6 @@ void qemu_init(int argc, char **argv, char **envp)
     kernel_filename = qemu_opt_get(machine_opts, "kernel");
     initrd_filename = qemu_opt_get(machine_opts, "initrd");
     kernel_cmdline = qemu_opt_get(machine_opts, "append");
-    bios_name = qemu_opt_get(machine_opts, "firmware");
 
     opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL);
     if (opts) {
-- 
2.26.2



Re: [PATCH 12/22] vl: move bios_name out of softmmu/vl.c
Posted by Philippe Mathieu-Daudé 5 years, 3 months ago
On 10/21/20 10:57 PM, Paolo Bonzini wrote:
> bios_name is a legacy variable used by machine code.  Hide it
> from softmmu/vl.c.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   hw/core/machine.c | 5 +++++
>   softmmu/vl.c      | 2 --
>   2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 3c674bb05e..e4dac350d4 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -212,6 +212,8 @@ GlobalProperty hw_compat_2_1[] = {
>   };
>   const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
>   
> +const char *bios_name = NULL;

I expect checkpatch.pl to complain "do not zero-initialize global".

> +
>   static char *machine_get_kernel(Object *obj, Error **errp)
>   {
>       MachineState *ms = MACHINE(obj);
> @@ -396,6 +398,9 @@ static void machine_set_firmware(Object *obj, const char *value, Error **errp)
>   
>       g_free(ms->firmware);
>       ms->firmware = g_strdup(value);
> +
> +    /* HACK */

With a slightly better rationale explanation:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> +    bios_name = ms->firmware;
>   }
>   
>   static void machine_set_suppress_vmdesc(Object *obj, bool value, Error **errp)
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 52e7d317d7..e32e209a82 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -123,7 +123,6 @@ static int data_dir_idx;
>   static const char *mem_path;
>   static const char *boot_order;
>   static const char *boot_once;
> -const char *bios_name = NULL;
>   enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
>   int display_opengl;
>   const char* keyboard_layout = NULL;
> @@ -4314,7 +4313,6 @@ void qemu_init(int argc, char **argv, char **envp)
>       kernel_filename = qemu_opt_get(machine_opts, "kernel");
>       initrd_filename = qemu_opt_get(machine_opts, "initrd");
>       kernel_cmdline = qemu_opt_get(machine_opts, "append");
> -    bios_name = qemu_opt_get(machine_opts, "firmware");
>   
>       opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL);
>       if (opts) {
>