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

dummy_timer.c (931B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 *  linux/drivers/clocksource/dummy_timer.c
      4 *
      5 *  Copyright (C) 2013 ARM Ltd.
      6 *  All Rights Reserved
      7 */
      8#include <linux/clockchips.h>
      9#include <linux/cpu.h>
     10#include <linux/init.h>
     11#include <linux/percpu.h>
     12#include <linux/cpumask.h>
     13
     14static DEFINE_PER_CPU(struct clock_event_device, dummy_timer_evt);
     15
     16static int dummy_timer_starting_cpu(unsigned int cpu)
     17{
     18	struct clock_event_device *evt = per_cpu_ptr(&dummy_timer_evt, cpu);
     19
     20	evt->name	= "dummy_timer";
     21	evt->features	= CLOCK_EVT_FEAT_PERIODIC |
     22			  CLOCK_EVT_FEAT_ONESHOT |
     23			  CLOCK_EVT_FEAT_DUMMY;
     24	evt->rating	= 100;
     25	evt->cpumask	= cpumask_of(cpu);
     26
     27	clockevents_register_device(evt);
     28	return 0;
     29}
     30
     31static int __init dummy_timer_register(void)
     32{
     33	return cpuhp_setup_state(CPUHP_AP_DUMMY_TIMER_STARTING,
     34				 "clockevents/dummy_timer:starting",
     35				 dummy_timer_starting_cpu, NULL);
     36}
     37early_initcall(dummy_timer_register);