mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-14 10:46:07 +07:00
caab277b1d
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not see http www gnu org licenses extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 503 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Enrico Weigelt <info@metux.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190602204653.811534538@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Adapted from arm64 version.
|
|
*
|
|
* Copyright (C) 2012 ARM Limited
|
|
*/
|
|
#ifndef __ASM_VDSO_DATAPAGE_H
|
|
#define __ASM_VDSO_DATAPAGE_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <asm/page.h>
|
|
|
|
/* Try to be cache-friendly on systems that don't implement the
|
|
* generic timer: fit the unconditionally updated fields in the first
|
|
* 32 bytes.
|
|
*/
|
|
struct vdso_data {
|
|
u32 seq_count; /* sequence count - odd during updates */
|
|
u16 tk_is_cntvct; /* fall back to syscall if false */
|
|
u16 cs_shift; /* clocksource shift */
|
|
u32 xtime_coarse_sec; /* coarse time */
|
|
u32 xtime_coarse_nsec;
|
|
|
|
u32 wtm_clock_sec; /* wall to monotonic offset */
|
|
u32 wtm_clock_nsec;
|
|
u32 xtime_clock_sec; /* CLOCK_REALTIME - seconds */
|
|
u32 cs_mult; /* clocksource multiplier */
|
|
|
|
u64 cs_cycle_last; /* last cycle value */
|
|
u64 cs_mask; /* clocksource mask */
|
|
|
|
u64 xtime_clock_snsec; /* CLOCK_REALTIME sub-ns base */
|
|
u32 tz_minuteswest; /* timezone info for gettimeofday(2) */
|
|
u32 tz_dsttime;
|
|
};
|
|
|
|
union vdso_data_store {
|
|
struct vdso_data data;
|
|
u8 page[PAGE_SIZE];
|
|
};
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
#endif /* __ASM_VDSO_DATAPAGE_H */
|