[RFC v2 03/13] hw/s390x: tod: make explicit checks for accelerators when initializing

Claudio Fontana posted 13 patches 4 years, 9 months ago
There is a newer version of this series
[RFC v2 03/13] hw/s390x: tod: make explicit checks for accelerators when initializing
Posted by Claudio Fontana 4 years, 9 months ago
replace general "else" with specific checks for each possible accelerator.

Handle qtest as a NOP,
and error out for an unknown accelerator used in combination with tod.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
---
 hw/s390x/tod.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/tod.c b/hw/s390x/tod.c
index 3c2979175e..fd5a36bf24 100644
--- a/hw/s390x/tod.c
+++ b/hw/s390x/tod.c
@@ -14,6 +14,8 @@
 #include "qemu/error-report.h"
 #include "qemu/module.h"
 #include "sysemu/kvm.h"
+#include "sysemu/tcg.h"
+#include "sysemu/qtest.h"
 #include "migration/qemu-file-types.h"
 #include "migration/register.h"
 
@@ -23,8 +25,13 @@ void s390_init_tod(void)
 
     if (kvm_enabled()) {
         obj = object_new(TYPE_KVM_S390_TOD);
-    } else {
+    } else if (tcg_enabled()) {
         obj = object_new(TYPE_QEMU_S390_TOD);
+    } else if (qtest_enabled()) {
+        return;
+    } else {
+        error_report("current accelerator not handled in s390_init_tod!");
+        abort();
     }
     object_property_add_child(qdev_get_machine(), TYPE_S390_TOD, obj);
     object_unref(obj);
-- 
2.26.2


Re: [RFC v2 03/13] hw/s390x: tod: make explicit checks for accelerators when initializing
Posted by David Hildenbrand 4 years, 9 months ago
On 20.04.21 12:36, Claudio Fontana wrote:
> replace general "else" with specific checks for each possible accelerator.
> > Handle qtest as a NOP,

^ weird line break


Reviewed-by: David Hildenbrand <david@redhat.com>

> and error out for an unknown accelerator used in combination with tod.
> 
> Signed-off-by: Claudio Fontana <cfontana@suse.de>
> ---
>   hw/s390x/tod.c | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/tod.c b/hw/s390x/tod.c
> index 3c2979175e..fd5a36bf24 100644
> --- a/hw/s390x/tod.c
> +++ b/hw/s390x/tod.c
> @@ -14,6 +14,8 @@
>   #include "qemu/error-report.h"
>   #include "qemu/module.h"
>   #include "sysemu/kvm.h"
> +#include "sysemu/tcg.h"
> +#include "sysemu/qtest.h"
>   #include "migration/qemu-file-types.h"
>   #include "migration/register.h"
>   
> @@ -23,8 +25,13 @@ void s390_init_tod(void)
>   
>       if (kvm_enabled()) {
>           obj = object_new(TYPE_KVM_S390_TOD);
> -    } else {
> +    } else if (tcg_enabled()) {
>           obj = object_new(TYPE_QEMU_S390_TOD);
> +    } else if (qtest_enabled()) {
> +        return;
> +    } else {
> +        error_report("current accelerator not handled in s390_init_tod!");
> +        abort();
>       }
>       object_property_add_child(qdev_get_machine(), TYPE_S390_TOD, obj);
>       object_unref(obj);
> 


-- 
Thanks,

David / dhildenb