qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

mips_gictimer.h (1550B)


      1 /*
      2  * This file is subject to the terms and conditions of the GNU General Public
      3  * License.  See the file "COPYING" in the main directory of this archive
      4  * for more details.
      5  *
      6  * Copyright (C) 2016 Imagination Technologies
      7  *
      8  */
      9 
     10 #ifndef MIPS_GICTIMER_H
     11 #define MIPS_GICTIMER_H
     12 
     13 typedef struct MIPSGICTimerVPState MIPSGICTimerVPState;
     14 typedef struct MIPSGICTimerState MIPSGICTimerState;
     15 
     16 typedef void MIPSGICTimerCB(void *opaque, uint32_t vp_index);
     17 
     18 struct MIPSGICTimerVPState {
     19     QEMUTimer *qtimer;
     20     uint32_t vp_index;
     21     uint32_t comparelo;
     22     MIPSGICTimerState *gictimer;
     23 };
     24 
     25 struct MIPSGICTimerState {
     26     void *opaque;
     27     uint8_t countstop;
     28     uint32_t sh_counterlo;
     29     int32_t num_vps;
     30     MIPSGICTimerVPState *vptimers;
     31     MIPSGICTimerCB *cb;
     32 };
     33 
     34 uint32_t mips_gictimer_get_freq(MIPSGICTimerState *gic);
     35 uint32_t mips_gictimer_get_sh_count(MIPSGICTimerState *gic);
     36 void mips_gictimer_store_sh_count(MIPSGICTimerState *gic, uint64_t count);
     37 uint32_t mips_gictimer_get_vp_compare(MIPSGICTimerState *gictimer,
     38                                       uint32_t vp_index);
     39 void mips_gictimer_store_vp_compare(MIPSGICTimerState *gic, uint32_t vp_index,
     40                                     uint64_t compare);
     41 uint8_t mips_gictimer_get_countstop(MIPSGICTimerState *gic);
     42 void mips_gictimer_start_count(MIPSGICTimerState *gic);
     43 void mips_gictimer_stop_count(MIPSGICTimerState *gic);
     44 MIPSGICTimerState *mips_gictimer_init(void *opaque, uint32_t nvps,
     45                                       MIPSGICTimerCB *cb);
     46 
     47 #endif /* MIPS_GICTIMER_H */