mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
s390/time: introduce union tod_clock
Introduce union tod_clock which is supposed to be used to decode and access various fields of the result of STORE CLOCK EXTENDED. Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
96c0a6a72d
commit
e4101be56c
@ -21,6 +21,25 @@
|
|||||||
|
|
||||||
extern u64 clock_comparator_max;
|
extern u64 clock_comparator_max;
|
||||||
|
|
||||||
|
union tod_clock {
|
||||||
|
__uint128_t val;
|
||||||
|
struct {
|
||||||
|
__uint128_t ei : 8; /* epoch index */
|
||||||
|
__uint128_t tod : 64; /* bits 0-63 of tod clock */
|
||||||
|
__uint128_t : 40;
|
||||||
|
__uint128_t pf : 16; /* programmable field */
|
||||||
|
};
|
||||||
|
struct {
|
||||||
|
__uint128_t eitod : 72; /* epoch index + bits 0-63 tod clock */
|
||||||
|
__uint128_t : 56;
|
||||||
|
};
|
||||||
|
struct {
|
||||||
|
__uint128_t us : 60; /* micro-seconds */
|
||||||
|
__uint128_t sus : 12; /* sub-microseconds */
|
||||||
|
__uint128_t : 56;
|
||||||
|
};
|
||||||
|
} __packed;
|
||||||
|
|
||||||
/* Inline functions for clock register access. */
|
/* Inline functions for clock register access. */
|
||||||
static inline int set_tod_clock(__u64 time)
|
static inline int set_tod_clock(__u64 time)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user