diff options
author | David Hildenbrand <david@redhat.com> | 2017-09-28 22:36:41 +0200 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2017-10-20 13:32:10 +0200 |
commit | 14ca122e753c7bc925e6cedc4f16588bc154090d (patch) | |
tree | 289c4be39f20c20f69cd02d51f51199e6347b97e /target/s390x/cpu.h | |
parent | d516f74c99b1a2c289cfba0bacf125cbc9b681e3 (diff) |
s390x/tcg: injection of emergency signals and external calls
Preparation for new TCG SIGP code. Especially also prepare for
indicating that another external call is already pending.
Take care of interrupt priority.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20170928203708.9376-4-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/cpu.h')
-rw-r--r-- | target/s390x/cpu.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 7bea97a2d7..f0f5ff0359 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -126,6 +126,8 @@ struct CPUS390XState { int pending_int; uint32_t service_param; + uint16_t external_call_addr; + DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS); int io_index[8]; int mchk_index; @@ -401,9 +403,13 @@ static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc, #define INTERRUPT_EXT_SERVICE (1 << 2) #define INTERRUPT_EXT_CPU_TIMER (1 << 3) #define INTERRUPT_EXT_CLOCK_COMPARATOR (1 << 4) +#define INTERRUPT_EXTERNAL_CALL (1 << 5) +#define INTERRUPT_EMERGENCY_SIGNAL (1 << 6) #define INTERRUPT_EXT (INTERRUPT_EXT_SERVICE | \ INTERRUPT_EXT_CPU_TIMER | \ - INTERRUPT_EXT_CLOCK_COMPARATOR) + INTERRUPT_EXT_CLOCK_COMPARATOR | \ + INTERRUPT_EXTERNAL_CALL | \ + INTERRUPT_EMERGENCY_SIGNAL) /* Program Status Word. */ #define S390_PSWM_REGNUM 0 |