cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

bcm2835_systmr.h (895B)


      1/*
      2 * BCM2835 SYS timer emulation
      3 *
      4 * Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
      5 *
      6 * SPDX-License-Identifier: GPL-2.0-or-later
      7 */
      8
      9#ifndef BCM2835_SYSTIMER_H
     10#define BCM2835_SYSTIMER_H
     11
     12#include "hw/sysbus.h"
     13#include "hw/irq.h"
     14#include "qemu/timer.h"
     15#include "qom/object.h"
     16
     17#define TYPE_BCM2835_SYSTIMER "bcm2835-sys-timer"
     18OBJECT_DECLARE_SIMPLE_TYPE(BCM2835SystemTimerState, BCM2835_SYSTIMER)
     19
     20#define BCM2835_SYSTIMER_COUNT 4
     21
     22typedef struct {
     23    unsigned id;
     24    QEMUTimer timer;
     25    qemu_irq irq;
     26    BCM2835SystemTimerState *state;
     27} BCM2835SystemTimerCompare;
     28
     29struct BCM2835SystemTimerState {
     30    /*< private >*/
     31    SysBusDevice parent_obj;
     32
     33    /*< public >*/
     34    MemoryRegion iomem;
     35    struct {
     36        uint32_t ctrl_status;
     37        uint32_t compare[BCM2835_SYSTIMER_COUNT];
     38    } reg;
     39    BCM2835SystemTimerCompare tmr[BCM2835_SYSTIMER_COUNT];
     40};
     41
     42#endif