[PATCH] hw/core/null-machine: Do not initialize unused chardev backends

Philippe Mathieu-Daudé posted 1 patch 3 years, 10 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200624105611.1049-1-f4bug@amsat.org
hw/core/null-machine.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
The MachineClass uses an inverted logic (inherited from the
PC machines [*]) to create the chardev backends for the default
devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).

As the none-machine doesn't have any hardware device, it is
pointless to initialize chardev backends. Fix by setting the
'no_defaults' bits in its MachineClass.

Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/core/null-machine.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c
index cb47d9d4f8..7e693523d7 100644
--- a/hw/core/null-machine.c
+++ b/hw/core/null-machine.c
@@ -50,6 +50,11 @@ static void machine_none_machine_init(MachineClass *mc)
     mc->max_cpus = 1;
     mc->default_ram_size = 0;
     mc->default_ram_id = "ram";
+    mc->no_serial = 1;
+    mc->no_parallel = 1;
+    mc->no_floppy = 1;
+    mc->no_cdrom = 1;
+    mc->no_sdcard = 1;
 }
 
 DEFINE_MACHINE("none", machine_none_machine_init)
-- 
2.21.3


Re: [PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Thomas Huth 3 years, 10 months ago
On 24/06/2020 12.56, Philippe Mathieu-Daudé wrote:
> The MachineClass uses an inverted logic (inherited from the
> PC machines [*]) to create the chardev backends for the default
> devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).
> 
> As the none-machine doesn't have any hardware device, it is
> pointless to initialize chardev backends. Fix by setting the
> 'no_defaults' bits in its MachineClass.
> 
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   hw/core/null-machine.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c
> index cb47d9d4f8..7e693523d7 100644
> --- a/hw/core/null-machine.c
> +++ b/hw/core/null-machine.c
> @@ -50,6 +50,11 @@ static void machine_none_machine_init(MachineClass *mc)
>       mc->max_cpus = 1;
>       mc->default_ram_size = 0;
>       mc->default_ram_id = "ram";
> +    mc->no_serial = 1;
> +    mc->no_parallel = 1;
> +    mc->no_floppy = 1;
> +    mc->no_cdrom = 1;
> +    mc->no_sdcard = 1;
>   }
>   
>   DEFINE_MACHINE("none", machine_none_machine_init)
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>


Re: [PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Laurent Vivier 3 years, 9 months ago
Le 24/06/2020 à 13:01, Thomas Huth a écrit :
> On 24/06/2020 12.56, Philippe Mathieu-Daudé wrote:
>> The MachineClass uses an inverted logic (inherited from the
>> PC machines [*]) to create the chardev backends for the default
>> devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).
>>
>> As the none-machine doesn't have any hardware device, it is
>> pointless to initialize chardev backends. Fix by setting the
>> 'no_defaults' bits in its MachineClass.
>>
>> Suggested-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>   hw/core/null-machine.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c
>> index cb47d9d4f8..7e693523d7 100644
>> --- a/hw/core/null-machine.c
>> +++ b/hw/core/null-machine.c
>> @@ -50,6 +50,11 @@ static void machine_none_machine_init(MachineClass
>> *mc)
>>       mc->max_cpus = 1;
>>       mc->default_ram_size = 0;
>>       mc->default_ram_id = "ram";
>> +    mc->no_serial = 1;
>> +    mc->no_parallel = 1;
>> +    mc->no_floppy = 1;
>> +    mc->no_cdrom = 1;
>> +    mc->no_sdcard = 1;
>>   }
>>     DEFINE_MACHINE("none", machine_none_machine_init)
>>
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 
> 

Applied to my trivial-patches-for-5.1 branch.

Thanks,
Laurent


Re: [PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Laurent Vivier 3 years, 9 months ago
Le 06/07/2020 à 18:24, Laurent Vivier a écrit :
> Le 24/06/2020 à 13:01, Thomas Huth a écrit :
>> On 24/06/2020 12.56, Philippe Mathieu-Daudé wrote:
>>> The MachineClass uses an inverted logic (inherited from the
>>> PC machines [*]) to create the chardev backends for the default
>>> devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).
>>>
>>> As the none-machine doesn't have any hardware device, it is
>>> pointless to initialize chardev backends. Fix by setting the
>>> 'no_defaults' bits in its MachineClass.
>>>
>>> Suggested-by: Thomas Huth <thuth@redhat.com>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>>   hw/core/null-machine.c | 5 +++++
>>>   1 file changed, 5 insertions(+)
>>>
>>> diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c
>>> index cb47d9d4f8..7e693523d7 100644
>>> --- a/hw/core/null-machine.c
>>> +++ b/hw/core/null-machine.c
>>> @@ -50,6 +50,11 @@ static void machine_none_machine_init(MachineClass
>>> *mc)
>>>       mc->max_cpus = 1;
>>>       mc->default_ram_size = 0;
>>>       mc->default_ram_id = "ram";
>>> +    mc->no_serial = 1;
>>> +    mc->no_parallel = 1;
>>> +    mc->no_floppy = 1;
>>> +    mc->no_cdrom = 1;
>>> +    mc->no_sdcard = 1;
>>>   }
>>>     DEFINE_MACHINE("none", machine_none_machine_init)
>>>
>>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
>>
> 
> Applied to my trivial-patches-for-5.1 branch.

Removed as it is in Paolo's PR.

Thanks,
Laurent


Re: [PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Richard Henderson 3 years, 10 months ago
On 6/24/20 3:56 AM, Philippe Mathieu-Daudé wrote:
> The MachineClass uses an inverted logic (inherited from the
> PC machines [*]) to create the chardev backends for the default
> devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).
> 
> As the none-machine doesn't have any hardware device, it is
> pointless to initialize chardev backends. Fix by setting the
> 'no_defaults' bits in its MachineClass.
> 
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/core/null-machine.c | 5 +++++
>  1 file changed, 5 insertions(+)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

Re: [PATCH] hw/core/null-machine: Do not initialize unused chardev backends
Posted by Paolo Bonzini 3 years, 10 months ago
On 24/06/20 12:56, Philippe Mathieu-Daudé wrote:
> The MachineClass uses an inverted logic (inherited from the
> PC machines [*]) to create the chardev backends for the default
> devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).
> 
> As the none-machine doesn't have any hardware device, it is
> pointless to initialize chardev backends. Fix by setting the
> 'no_defaults' bits in its MachineClass.
> 
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/core/null-machine.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c
> index cb47d9d4f8..7e693523d7 100644
> --- a/hw/core/null-machine.c
> +++ b/hw/core/null-machine.c
> @@ -50,6 +50,11 @@ static void machine_none_machine_init(MachineClass *mc)
>      mc->max_cpus = 1;
>      mc->default_ram_size = 0;
>      mc->default_ram_id = "ram";
> +    mc->no_serial = 1;
> +    mc->no_parallel = 1;
> +    mc->no_floppy = 1;
> +    mc->no_cdrom = 1;
> +    mc->no_sdcard = 1;
>  }
>  
>  DEFINE_MACHINE("none", machine_none_machine_init)
> 

Queued, thanks.

Paolo