summaryrefslogtreecommitdiffstats
path: root/hw/s390x/css.c
diff options
context:
space:
mode:
authorPeter Maydell2014-03-07 16:58:27 +0100
committerPeter Maydell2014-03-07 16:58:28 +0100
commitc3f8d28e455bff9bde2b81bd0c9b1d437b88c159 (patch)
tree971283ecdb6318e37aaef8efce195b78ce27917b /hw/s390x/css.c
parentconfigure: Always build with -fno-common (diff)
parents390x/virtio-ccw: Adapter interrupt support. (diff)
downloadqemu-c3f8d28e455bff9bde2b81bd0c9b1d437b88c159.tar.gz
qemu-c3f8d28e455bff9bde2b81bd0c9b1d437b88c159.tar.xz
qemu-c3f8d28e455bff9bde2b81bd0c9b1d437b88c159.zip
Merge remote-tracking branch 'remotes/cohuck/tags/virtio-ccw-20140305' into staging
One patch introducing support for adapter interrupts in virtio-ccw. This improves performance for those guests that issue the new CCW_CMD_SET_IND_ADAPTER channel command. # gpg: Signature made Wed 05 Mar 2014 08:48:18 GMT using RSA key ID C6F02FAF # gpg: Can't check signature: public key not found * remotes/cohuck/tags/virtio-ccw-20140305: s390x/virtio-ccw: Adapter interrupt support. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/s390x/css.c')
-rw-r--r--hw/s390x/css.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 75b04b45af..7074d2b3d5 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -116,6 +116,15 @@ void css_conditional_io_interrupt(SubchDev *sch)
}
}
+void css_adapter_interrupt(uint8_t isc)
+{
+ S390CPU *cpu = s390_cpu_addr2state(0);
+ uint32_t io_int_word = (isc << 27) | IO_INT_WORD_AI;
+
+ trace_css_adapter_interrupt(isc);
+ s390_io_interrupt(cpu, 0, 0, 0, io_int_word);
+}
+
static void sch_handle_clear_func(SubchDev *sch)
{
PMCW *p = &sch->curr_status.pmcw;
@@ -1259,6 +1268,7 @@ void css_reset_sch(SubchDev *sch)
sch->channel_prog = 0x0;
sch->last_cmd_valid = false;
sch->orb = NULL;
+ sch->thinint_active = false;
}
void css_reset(void)