[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v2 1/2] target/s390x: Split out s390-tod.h
From: |
Thomas Huth |
Subject: |
Re: [qemu-s390x] [PATCH v2 1/2] target/s390x: Split out s390-tod.h |
Date: |
Sat, 9 Feb 2019 07:41:41 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
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 <address@hidden>
> ---
> 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 <address@hidden>
> + *
> + * 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 <address@hidden>
- [qemu-s390x] [PATCH v2 0/2] target/s390x: Implement STCK et al for CONFIG_USER_ONLY, Richard Henderson, 2019/02/09
- [qemu-s390x] [PATCH v2 1/2] target/s390x: Split out s390-tod.h, Richard Henderson, 2019/02/09
- [qemu-s390x] [PATCH v2 2/2] This is a non-privileged instruction that was only implemented for system mode. However, the stck instruction is used by glibc, so this was causing SIGILL for programs run under debian stretch., Richard Henderson, 2019/02/09
- Re: [qemu-s390x] [PATCH v2 2/2] This is a non-privileged instruction that was only implemented for system mode. However, the stck instruction is used by glibc, so this was causing SIGILL for programs run under debian stretch., Thomas Huth, 2019/02/09
- Re: [qemu-s390x] [PATCH v2 2/2] This is a non-privileged instruction that was only implemented for system mode. However, the stck instruction is used by glibc, so this was causing SIGILL for programs run under debian stretch., David Hildenbrand, 2019/02/10
- Re: [qemu-s390x] [PATCH v2 2/2] This is a non-privileged instruction that was only implemented for system mode. However, the stck instruction is used by glibc, so this was causing SIGILL for programs run under debian stretch., Cornelia Huck, 2019/02/11