1 #ifndef 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 */ 11 enum { 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" 31 int kvm_openpic_connect_vcpu(DeviceState *d, CPUState *cs); 32 33 #endif /* OPENPIC_H */ 34