cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

threshold.c (728B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Common corrected MCE threshold handler code:
      4 */
      5#include <linux/interrupt.h>
      6#include <linux/kernel.h>
      7
      8#include <asm/irq_vectors.h>
      9#include <asm/traps.h>
     10#include <asm/apic.h>
     11#include <asm/mce.h>
     12#include <asm/trace/irq_vectors.h>
     13
     14#include "internal.h"
     15
     16static void default_threshold_interrupt(void)
     17{
     18	pr_err("Unexpected threshold interrupt at vector %x\n",
     19		THRESHOLD_APIC_VECTOR);
     20}
     21
     22void (*mce_threshold_vector)(void) = default_threshold_interrupt;
     23
     24DEFINE_IDTENTRY_SYSVEC(sysvec_threshold)
     25{
     26	trace_threshold_apic_entry(THRESHOLD_APIC_VECTOR);
     27	inc_irq_stat(irq_threshold_count);
     28	mce_threshold_vector();
     29	trace_threshold_apic_exit(THRESHOLD_APIC_VECTOR);
     30	ack_APIC_irq();
     31}