aboutsummaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2013-01-17 04:23:46 +0000
committerAlexander Graf <agraf@suse.de>2013-01-18 19:07:47 +0100
commit28e942f86d46ccd46bf1f4836389abb3ff706dff (patch)
tree7febe9c29172fa7ff2ee3a61a2be26e941c4b2ff /target-s390x
parentd5627ce8a4fd8dd6d7afd3d4d1ff7e9f1fb86d45 (diff)
s390: Add a hypercall registration interface.
Allow virtio machines to register for different diag500 function codes and convert s390-virtio to use it. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/cpu.h2
-rw-r--r--target-s390x/kvm.c2
-rw-r--r--target-s390x/misc_helper.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index 23d8b44f0a..1f2d94218a 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -305,7 +305,7 @@ int cpu_s390x_handle_mmu_fault (CPUS390XState *env, target_ulong address, int rw
void s390x_tod_timer(void *opaque);
void s390x_cpu_timer(void *opaque);
-int s390_virtio_hypercall(CPUS390XState *env, uint64_t mem, uint64_t hypercall);
+int s390_virtio_hypercall(CPUS390XState *env);
#ifdef CONFIG_KVM
void kvm_s390_interrupt(S390CPU *cpu, int type, uint32_t code);
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index a63ee46504..add6a58f9c 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -397,7 +397,7 @@ static int handle_priv(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
static int handle_hypercall(CPUS390XState *env, struct kvm_run *run)
{
cpu_synchronize_state(env);
- env->regs[2] = s390_virtio_hypercall(env, env->regs[2], env->regs[1]);
+ env->regs[2] = s390_virtio_hypercall(env);
return 0;
}
diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c
index 78d2c0e762..09301d0a6f 100644
--- a/target-s390x/misc_helper.c
+++ b/target-s390x/misc_helper.c
@@ -188,7 +188,7 @@ uint64_t HELPER(diag)(CPUS390XState *env, uint32_t num, uint64_t mem,
switch (num) {
case 0x500:
/* KVM hypercall */
- r = s390_virtio_hypercall(env, mem, code);
+ r = s390_virtio_hypercall(env);
break;
case 0x44:
/* yield */