1#if !defined(__OPENPIC_H__) 2#define __OPENPIC_H__ 3 4#include "qemu-common.h" 5#include "hw/qdev-core.h" 6#include "qom/cpu.h" 7 8#define TYPE_OPENPIC "openpic" 9 10/* OpenPIC have 5 outputs per CPU connected and one IRQ out single output */ 11enum { 12 OPENPIC_OUTPUT_INT = 0, /* IRQ */ 13 OPENPIC_OUTPUT_CINT, /* critical IRQ */ 14 OPENPIC_OUTPUT_MCK, /* Machine check event */ 15 OPENPIC_OUTPUT_DEBUG, /* Inconditional debug event */ 16 OPENPIC_OUTPUT_RESET, /* Core reset event */ 17 OPENPIC_OUTPUT_NB, 18}; 19 20#define OPENPIC_MODEL_RAVEN 0 21#define OPENPIC_MODEL_FSL_MPIC_20 1 22#define OPENPIC_MODEL_FSL_MPIC_42 2 23 24#define OPENPIC_MAX_SRC 256 25#define OPENPIC_MAX_TMR 4 26#define OPENPIC_MAX_IPI 4 27#define OPENPIC_MAX_IRQ (OPENPIC_MAX_SRC + OPENPIC_MAX_IPI + \ 28 OPENPIC_MAX_TMR) 29 30#define TYPE_KVM_OPENPIC "kvm-openpic" 31int kvm_openpic_connect_vcpu(DeviceState *d, CPUState *cs); 32 33#endif /* __OPENPIC_H__ */ 34