s390x/kvm: more details for SIGP handler with one destination vcpu
commit6eb8f212d2686ed9b17077d554465df7ae06f805
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Tue, 24 Feb 2015 13:15:23 +0000 (24 14:15 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 10 Mar 2015 08:26:22 +0000 (10 09:26 +0100)
tree2b8c34864f4b34f48a120dc2d658e380fdbe3c61
parent5172b780c5d2e37ae0a2b48813fda0e54ea15c38
s390x/kvm: more details for SIGP handler with one destination vcpu

Whenever a sigp order is to be executed by a target vcpu, we use run_on_cpu().
As we have only one pointer to pass all data to these sigp handlers, let's
introduce the struct sigp_info and use it as a transport container.

All orders targeting a single vcpu are now  dispatched from a separate
handler. The destination vcpu is only valid for these orders and must not be
checked for SIGP SET ARCHITECTURE.

The sigp_info is filled with life in this new handler and used to pass the
information about the sigp order to the existing handlers. The cc is set
within these handlers.

Rename sigp_cpu_start() and sigp_cpu_restart() on the way to match the SIGP
order names (in order to avoid touching affected lines several times).

Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Message-Id: <1424783731-43426-3-git-send-email-jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
target-s390x/kvm.c