mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 00:30:52 +07:00
d54853ef8c
This patch adds support for clock synchronization to an external time reference (ETR). The external time reference sends an oscillator signal and a synchronization signal every 2^20 microseconds to keep the TOD clocks of all connected servers in sync. For availability two ETR units can be connected to a machine. If the clock deviates for more than the sync-check tolerance all cpus get a machine check that indicates that the clock is out of sync. For the lovely details how to get the clock back in sync see the code below. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
38 lines
931 B
C
38 lines
931 B
C
/*
|
|
* include/asm-s390/hardirq.h
|
|
*
|
|
* S390 version
|
|
* Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
|
|
* Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
|
|
* Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
|
|
*
|
|
* Derived from "include/asm-i386/hardirq.h"
|
|
*/
|
|
|
|
#ifndef __ASM_HARDIRQ_H
|
|
#define __ASM_HARDIRQ_H
|
|
|
|
#include <linux/threads.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/cache.h>
|
|
#include <linux/interrupt.h>
|
|
#include <asm/lowcore.h>
|
|
|
|
/* irq_cpustat_t is unused currently, but could be converted
|
|
* into a percpu variable instead of storing softirq_pending
|
|
* on the lowcore */
|
|
typedef struct {
|
|
unsigned int __softirq_pending;
|
|
} irq_cpustat_t;
|
|
|
|
#define local_softirq_pending() (S390_lowcore.softirq_pending)
|
|
|
|
#define __ARCH_IRQ_STAT
|
|
#define __ARCH_HAS_DO_SOFTIRQ
|
|
|
|
#define HARDIRQ_BITS 8
|
|
|
|
extern void account_ticks(u64 time);
|
|
|
|
#endif /* __ASM_HARDIRQ_H */
|