diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-03-05 15:35:17 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-05-13 13:21:51 +0200 |
commit | 4a92a558f49cb0693e36bd6d4f9217f298045be2 (patch) | |
tree | 931ba97c48f579e0c0abe0a45b23a0cecd816879 /target-i386 | |
parent | 7b4d915e11ae7afb2d42a8cae90db26bc0c142b8 (diff) | |
download | qemu-4a92a558f49cb0693e36bd6d4f9217f298045be2.zip qemu-4a92a558f49cb0693e36bd6d4f9217f298045be2.tar.gz qemu-4a92a558f49cb0693e36bd6d4f9217f298045be2.tar.bz2 |
cpu: make CPU_INTERRUPT_RESET available on all targets
On the x86, some devices need access to the CPU reset pin (INIT#).
Provide a generic service to do this, using one of the internal
cpu_interrupt targets. Generalize the PPC-specific code for
CPU_INTERRUPT_RESET to other targets.
Since PPC does not support migration across QEMU versions (its
machine types are not versioned yet), I picked the value that
is used on x86, CPU_INTERRUPT_TGT_INT_1. Consequently, TGT_INT_2
and TGT_INT_3 are shifted down by one while keeping their value.
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/cpu.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 5fd1e20..e9cbdab 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -606,10 +606,11 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS]; #define CPU_INTERRUPT_NMI CPU_INTERRUPT_TGT_EXT_3 #define CPU_INTERRUPT_MCE CPU_INTERRUPT_TGT_EXT_4 #define CPU_INTERRUPT_VIRQ CPU_INTERRUPT_TGT_INT_0 -#define CPU_INTERRUPT_INIT CPU_INTERRUPT_TGT_INT_1 -#define CPU_INTERRUPT_SIPI CPU_INTERRUPT_TGT_INT_2 -#define CPU_INTERRUPT_TPR CPU_INTERRUPT_TGT_INT_3 +#define CPU_INTERRUPT_SIPI CPU_INTERRUPT_TGT_INT_1 +#define CPU_INTERRUPT_TPR CPU_INTERRUPT_TGT_INT_2 +/* Use a clearer name for this. */ +#define CPU_INTERRUPT_INIT CPU_INTERRUPT_RESET typedef enum { CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */ |