[Qemu-devel] [PATCH v2 1/2] target/s390x: Split out s390-tod.h

Richard Henderson posted 2 patches 7 years ago
Maintainers: Halil Pasic <pasic@linux.ibm.com>, David Hildenbrand <david@redhat.com>, Richard Henderson <rth@twiddle.net>, Cornelia Huck <cohuck@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>
There is a newer version of this series
[Qemu-devel] [PATCH v2 1/2] target/s390x: Split out s390-tod.h
Posted by Richard Henderson 7 years ago
We will need these from CONFIG_USER_ONLY as well,
which cannot access include/hw/.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/hw/s390x/tod.h  | 16 +---------------
 target/s390x/s390-tod.h | 29 +++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 15 deletions(-)
 create mode 100644 target/s390x/s390-tod.h

diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
index 47ef9de869..9c4a6000c3 100644
--- a/include/hw/s390x/tod.h
+++ b/include/hw/s390x/tod.h
@@ -12,6 +12,7 @@
 #define HW_S390_TOD_H
 
 #include "hw/qdev.h"
+#include "s390-tod.h"
 
 typedef struct S390TOD {
     uint8_t high;
@@ -50,21 +51,6 @@ typedef struct S390TODClass {
     void (*set)(S390TODState *td, const S390TOD *tod, Error **errp);
 } S390TODClass;
 
-/* The value of the TOD clock for 1.1.1970. */
-#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
-
-/* Converts ns to s390's clock format */
-static inline uint64_t time2tod(uint64_t ns)
-{
-    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
-}
-
-/* Converts s390's clock format to ns */
-static inline uint64_t tod2time(uint64_t t)
-{
-    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
-}
-
 void s390_init_tod(void);
 S390TODState *s390_get_todstate(void);
 
diff --git a/target/s390x/s390-tod.h b/target/s390x/s390-tod.h
new file mode 100644
index 0000000000..8b74d6a6d8
--- /dev/null
+++ b/target/s390x/s390-tod.h
@@ -0,0 +1,29 @@
+/*
+ * TOD (Time Of Day) clock
+ *
+ * Copyright 2018 Red Hat, Inc.
+ * Author(s): David Hildenbrand <david@redhat.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef TARGET_S390_TOD_H
+#define TARGET_S390_TOD_H
+
+/* The value of the TOD clock for 1.1.1970. */
+#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
+
+/* Converts ns to s390's clock format */
+static inline uint64_t time2tod(uint64_t ns)
+{
+    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
+}
+
+/* Converts s390's clock format to ns */
+static inline uint64_t tod2time(uint64_t t)
+{
+    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
+}
+
+#endif
-- 
2.17.2


Re: [Qemu-devel] [PATCH v2 1/2] target/s390x: Split out s390-tod.h
Posted by Thomas Huth 7 years ago
On 2019-02-09 07:31, Richard Henderson wrote:
> We will need these from CONFIG_USER_ONLY as well,
> which cannot access include/hw/.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  include/hw/s390x/tod.h  | 16 +---------------
>  target/s390x/s390-tod.h | 29 +++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 15 deletions(-)
>  create mode 100644 target/s390x/s390-tod.h
> 
> diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
> index 47ef9de869..9c4a6000c3 100644
> --- a/include/hw/s390x/tod.h
> +++ b/include/hw/s390x/tod.h
> @@ -12,6 +12,7 @@
>  #define HW_S390_TOD_H
>  
>  #include "hw/qdev.h"
> +#include "s390-tod.h"
>  
>  typedef struct S390TOD {
>      uint8_t high;
> @@ -50,21 +51,6 @@ typedef struct S390TODClass {
>      void (*set)(S390TODState *td, const S390TOD *tod, Error **errp);
>  } S390TODClass;
>  
> -/* The value of the TOD clock for 1.1.1970. */
> -#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
> -
> -/* Converts ns to s390's clock format */
> -static inline uint64_t time2tod(uint64_t ns)
> -{
> -    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
> -}
> -
> -/* Converts s390's clock format to ns */
> -static inline uint64_t tod2time(uint64_t t)
> -{
> -    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
> -}
> -
>  void s390_init_tod(void);
>  S390TODState *s390_get_todstate(void);
>  
> diff --git a/target/s390x/s390-tod.h b/target/s390x/s390-tod.h
> new file mode 100644
> index 0000000000..8b74d6a6d8
> --- /dev/null
> +++ b/target/s390x/s390-tod.h
> @@ -0,0 +1,29 @@
> +/*
> + * TOD (Time Of Day) clock
> + *
> + * Copyright 2018 Red Hat, Inc.
> + * Author(s): David Hildenbrand <david@redhat.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef TARGET_S390_TOD_H
> +#define TARGET_S390_TOD_H
> +
> +/* The value of the TOD clock for 1.1.1970. */
> +#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
> +
> +/* Converts ns to s390's clock format */
> +static inline uint64_t time2tod(uint64_t ns)
> +{
> +    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
> +}
> +
> +/* Converts s390's clock format to ns */
> +static inline uint64_t tod2time(uint64_t t)
> +{
> +    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
> +}
> +
> +#endif
> 

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

Re: [Qemu-devel] [qemu-s390x] [PATCH v2 1/2] target/s390x: Split out s390-tod.h
Posted by David Hildenbrand 6 years, 12 months ago
On 09.02.19 07:31, Richard Henderson wrote:
> We will need these from CONFIG_USER_ONLY as well,
> which cannot access include/hw/.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  include/hw/s390x/tod.h  | 16 +---------------
>  target/s390x/s390-tod.h | 29 +++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 15 deletions(-)
>  create mode 100644 target/s390x/s390-tod.h
> 
> diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
> index 47ef9de869..9c4a6000c3 100644
> --- a/include/hw/s390x/tod.h
> +++ b/include/hw/s390x/tod.h
> @@ -12,6 +12,7 @@
>  #define HW_S390_TOD_H
>  
>  #include "hw/qdev.h"
> +#include "s390-tod.h"
>  
>  typedef struct S390TOD {
>      uint8_t high;
> @@ -50,21 +51,6 @@ typedef struct S390TODClass {
>      void (*set)(S390TODState *td, const S390TOD *tod, Error **errp);
>  } S390TODClass;
>  
> -/* The value of the TOD clock for 1.1.1970. */
> -#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
> -
> -/* Converts ns to s390's clock format */
> -static inline uint64_t time2tod(uint64_t ns)
> -{
> -    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
> -}
> -
> -/* Converts s390's clock format to ns */
> -static inline uint64_t tod2time(uint64_t t)
> -{
> -    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
> -}
> -
>  void s390_init_tod(void);
>  S390TODState *s390_get_todstate(void);
>  
> diff --git a/target/s390x/s390-tod.h b/target/s390x/s390-tod.h
> new file mode 100644
> index 0000000000..8b74d6a6d8
> --- /dev/null
> +++ b/target/s390x/s390-tod.h
> @@ -0,0 +1,29 @@
> +/*
> + * TOD (Time Of Day) clock
> + *
> + * Copyright 2018 Red Hat, Inc.
> + * Author(s): David Hildenbrand <david@redhat.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef TARGET_S390_TOD_H
> +#define TARGET_S390_TOD_H
> +
> +/* The value of the TOD clock for 1.1.1970. */
> +#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
> +
> +/* Converts ns to s390's clock format */
> +static inline uint64_t time2tod(uint64_t ns)
> +{
> +    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
> +}
> +
> +/* Converts s390's clock format to ns */
> +static inline uint64_t tod2time(uint64_t t)
> +{
> +    return ((t >> 9) * 125) + (((t & 0x1ff) * 125) >> 9);
> +}
> +
> +#endif
> 

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

-- 

Thanks,

David / dhildenb