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

accel-cpu.h (1143B)


      1/*
      2 * Accelerator interface, specializes CPUClass
      3 * This header is used only by target-specific code.
      4 *
      5 * Copyright 2021 SUSE LLC
      6 *
      7 * This work is licensed under the terms of the GNU GPL, version 2 or later.
      8 * See the COPYING file in the top-level directory.
      9 */
     10
     11#ifndef ACCEL_CPU_H
     12#define ACCEL_CPU_H
     13
     14/*
     15 * This header is used to define new accelerator-specific target-specific
     16 * accelerator cpu subclasses.
     17 * It uses CPU_RESOLVING_TYPE, so this is clearly target-specific.
     18 *
     19 * Do not try to use for any other purpose than the implementation of new
     20 * subclasses in target/, or the accel implementation itself in accel/
     21 */
     22
     23#define TYPE_ACCEL_CPU "accel-" CPU_RESOLVING_TYPE
     24#define ACCEL_CPU_NAME(name) (name "-" TYPE_ACCEL_CPU)
     25typedef struct AccelCPUClass AccelCPUClass;
     26DECLARE_CLASS_CHECKERS(AccelCPUClass, ACCEL_CPU, TYPE_ACCEL_CPU)
     27
     28typedef struct AccelCPUClass {
     29    /*< private >*/
     30    ObjectClass parent_class;
     31    /*< public >*/
     32
     33    void (*cpu_class_init)(CPUClass *cc);
     34    void (*cpu_instance_init)(CPUState *cpu);
     35    bool (*cpu_realizefn)(CPUState *cpu, Error **errp);
     36} AccelCPUClass;
     37
     38#endif /* ACCEL_CPU_H */