diff mbox series

[kvm-unit-tests,v3,4/9] s390x: export the clock get_clock_ms() utility

Message ID 1575649588-6127-5-git-send-email-pmorel@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series s390x: Testing the Channel Subsystem I/O | expand

Commit Message

Pierre Morel Dec. 6, 2019, 4:26 p.m. UTC
To serve multiple times, the function get_clock_ms() is moved
from intercept.c test to the new file asm/time.h.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
 lib/s390x/asm/time.h | 27 +++++++++++++++++++++++++++
 s390x/intercept.c    | 11 +----------
 2 files changed, 28 insertions(+), 10 deletions(-)
 create mode 100644 lib/s390x/asm/time.h

Comments

Thomas Huth Dec. 9, 2019, 11:42 a.m. UTC | #1
On 06/12/2019 17.26, Pierre Morel wrote:
> To serve multiple times, the function get_clock_ms() is moved
> from intercept.c test to the new file asm/time.h.
> 
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> Reviewed-by: David Hildenbrand <david@redhat.com>
> ---
>  lib/s390x/asm/time.h | 27 +++++++++++++++++++++++++++
>  s390x/intercept.c    | 11 +----------
>  2 files changed, 28 insertions(+), 10 deletions(-)
>  create mode 100644 lib/s390x/asm/time.h
> 
> diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
> new file mode 100644
> index 0000000..b07ccbd
> --- /dev/null
> +++ b/lib/s390x/asm/time.h
> @@ -0,0 +1,27 @@
> +/*
> + * Clock utilities for s390
> + *
> + * Authors:
> + *  Thomas Huth <thuth@redhat.com>
> + *
> + * Copied from the s390/intercept test by:
> + *  Pierre Morel <pmorel@linux.ibm.com>
> + *
> + * This code is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2.
> + */
> +#ifndef _ASM_S390X_TIME_H_
> +#define _ASM_S390X_TIME_H_
> +
> +static inline uint64_t get_clock_ms(void)
> +{
> +	uint64_t clk;
> +
> +	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
> +
> +	/* Bit 51 is incrememented each microsecond */
> +	return (clk >> (63 - 51)) / 1000;
> +}
> +
> +

Please remove one of the two empty lines.

With that cosmetic nit fixed:
Reviewed-by: Thomas Huth <thuth@redhat.com>
David Hildenbrand Dec. 9, 2019, 11:49 a.m. UTC | #2
On 09.12.19 12:42, Thomas Huth wrote:
> On 06/12/2019 17.26, Pierre Morel wrote:
>> To serve multiple times, the function get_clock_ms() is moved
>> from intercept.c test to the new file asm/time.h.
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> Reviewed-by: David Hildenbrand <david@redhat.com>
>> ---
>>  lib/s390x/asm/time.h | 27 +++++++++++++++++++++++++++
>>  s390x/intercept.c    | 11 +----------
>>  2 files changed, 28 insertions(+), 10 deletions(-)
>>  create mode 100644 lib/s390x/asm/time.h
>>
>> diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
>> new file mode 100644
>> index 0000000..b07ccbd
>> --- /dev/null
>> +++ b/lib/s390x/asm/time.h
>> @@ -0,0 +1,27 @@
>> +/*
>> + * Clock utilities for s390
>> + *
>> + * Authors:
>> + *  Thomas Huth <thuth@redhat.com>
>> + *
>> + * Copied from the s390/intercept test by:
>> + *  Pierre Morel <pmorel@linux.ibm.com>
>> + *
>> + * This code is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU General Public License version 2.
>> + */
>> +#ifndef _ASM_S390X_TIME_H_
>> +#define _ASM_S390X_TIME_H_
>> +
>> +static inline uint64_t get_clock_ms(void)
>> +{
>> +	uint64_t clk;
>> +
>> +	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
>> +
>> +	/* Bit 51 is incrememented each microsecond */
>> +	return (clk >> (63 - 51)) / 1000;
>> +}
>> +
>> +
> 
> Please remove one of the two empty lines.
> 
> With that cosmetic nit fixed:
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 
Reviewed-by: David Hildenbrand <david@redhat.com>
Pierre Morel Dec. 9, 2019, 4:43 p.m. UTC | #3
On 2019-12-09 12:49, David Hildenbrand wrote:
> On 09.12.19 12:42, Thomas Huth wrote:
>> On 06/12/2019 17.26, Pierre Morel wrote:
>>> To serve multiple times, the function get_clock_ms() is moved
>>> from intercept.c test to the new file asm/time.h.
>>>
>>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>>> Reviewed-by: David Hildenbrand <david@redhat.com>
>>> ---
>>>   lib/s390x/asm/time.h | 27 +++++++++++++++++++++++++++
>>>   s390x/intercept.c    | 11 +----------
>>>   2 files changed, 28 insertions(+), 10 deletions(-)
>>>   create mode 100644 lib/s390x/asm/time.h
>>>
>>> diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
>>> new file mode 100644
>>> index 0000000..b07ccbd
>>> --- /dev/null
>>> +++ b/lib/s390x/asm/time.h
>>> @@ -0,0 +1,27 @@
>>> +/*
>>> + * Clock utilities for s390
>>> + *
>>> + * Authors:
>>> + *  Thomas Huth <thuth@redhat.com>
>>> + *
>>> + * Copied from the s390/intercept test by:
>>> + *  Pierre Morel <pmorel@linux.ibm.com>
>>> + *
>>> + * This code is free software; you can redistribute it and/or modify it
>>> + * under the terms of the GNU General Public License version 2.
>>> + */
>>> +#ifndef _ASM_S390X_TIME_H_
>>> +#define _ASM_S390X_TIME_H_
>>> +
>>> +static inline uint64_t get_clock_ms(void)
>>> +{
>>> +	uint64_t clk;
>>> +
>>> +	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
>>> +
>>> +	/* Bit 51 is incrememented each microsecond */
>>> +	return (clk >> (63 - 51)) / 1000;
>>> +}
>>> +
>>> +
>>
>> Please remove one of the two empty lines.
>>
>> With that cosmetic nit fixed:
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
> Reviewed-by: David Hildenbrand <david@redhat.com>
> 

Thanks,
Pierre
Pierre Morel Dec. 9, 2019, 4:44 p.m. UTC | #4
On 2019-12-09 12:42, Thomas Huth wrote:
> On 06/12/2019 17.26, Pierre Morel wrote:
>> To serve multiple times, the function get_clock_ms() is moved
>> from intercept.c test to the new file asm/time.h.
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> Reviewed-by: David Hildenbrand <david@redhat.com>
>> ---
>>   lib/s390x/asm/time.h | 27 +++++++++++++++++++++++++++
>>   s390x/intercept.c    | 11 +----------
>>   2 files changed, 28 insertions(+), 10 deletions(-)
>>   create mode 100644 lib/s390x/asm/time.h
>>
>> diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
>> new file mode 100644
>> index 0000000..b07ccbd
>> --- /dev/null
>> +++ b/lib/s390x/asm/time.h
>> @@ -0,0 +1,27 @@
>> +/*
>> + * Clock utilities for s390
>> + *
>> + * Authors:
>> + *  Thomas Huth <thuth@redhat.com>
>> + *
>> + * Copied from the s390/intercept test by:
>> + *  Pierre Morel <pmorel@linux.ibm.com>
>> + *
>> + * This code is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU General Public License version 2.
>> + */
>> +#ifndef _ASM_S390X_TIME_H_
>> +#define _ASM_S390X_TIME_H_
>> +
>> +static inline uint64_t get_clock_ms(void)
>> +{
>> +	uint64_t clk;
>> +
>> +	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
>> +
>> +	/* Bit 51 is incrememented each microsecond */
>> +	return (clk >> (63 - 51)) / 1000;
>> +}
>> +
>> +
> 
> Please remove one of the two empty lines.

yes, of course, thanks.

> 
> With that cosmetic nit fixed:
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 

Thanks,
Pierre
diff mbox series

Patch

diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
new file mode 100644
index 0000000..b07ccbd
--- /dev/null
+++ b/lib/s390x/asm/time.h
@@ -0,0 +1,27 @@ 
+/*
+ * Clock utilities for s390
+ *
+ * Authors:
+ *  Thomas Huth <thuth@redhat.com>
+ *
+ * Copied from the s390/intercept test by:
+ *  Pierre Morel <pmorel@linux.ibm.com>
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2.
+ */
+#ifndef _ASM_S390X_TIME_H_
+#define _ASM_S390X_TIME_H_
+
+static inline uint64_t get_clock_ms(void)
+{
+	uint64_t clk;
+
+	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
+
+	/* Bit 51 is incrememented each microsecond */
+	return (clk >> (63 - 51)) / 1000;
+}
+
+
+#endif
diff --git a/s390x/intercept.c b/s390x/intercept.c
index 404b4c6..18aa60d 100644
--- a/s390x/intercept.c
+++ b/s390x/intercept.c
@@ -13,6 +13,7 @@ 
 #include <asm/asm-offsets.h>
 #include <asm/interrupt.h>
 #include <asm/page.h>
+#include <asm/time.h>
 
 static uint8_t pagebuf[PAGE_SIZE * 2] __attribute__((aligned(PAGE_SIZE * 2)));
 
@@ -159,16 +160,6 @@  static void test_testblock(void)
 	check_pgm_int_code(PGM_INT_CODE_ADDRESSING);
 }
 
-static uint64_t get_clock_ms(void)
-{
-	uint64_t clk;
-
-	asm volatile(" stck %0 " : : "Q"(clk) : "memory");
-
-	/* Bit 51 is incrememented each microsecond */
-	return (clk >> (63 - 51)) / 1000;
-}
-
 struct {
 	const char *name;
 	void (*func)(void);