From: Sanjay Lal <[email protected]>

MIPS/Linux is unusual in having 128 signals rather than just 64 like
most other architectures. This means its sigmask is 16 bytes instead of
8, so correct kvm_set_signal_mask to pass the correct sigmask->len to
KVM_SET_SIGNAL_MASK.

Signed-off-by: Sanjay Lal <[email protected]>
Signed-off-by: James Hogan <[email protected]>
Cc: Gleb Natapov <[email protected]>
Cc: Paolo Bonzini <[email protected]>
---
Changes in v2:
 - Expand commit message
 - Reword comment
---
 kvm-all.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kvm-all.c b/kvm-all.c
index 4478969..c831326 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -2044,7 +2044,12 @@ int kvm_set_signal_mask(CPUState *cpu, const sigset_t 
*sigset)
 
     sigmask = g_malloc(sizeof(*sigmask) + sizeof(*sigset));
 
+#ifdef TARGET_MIPS
+    /* MIPS has 128 signals */
+    sigmask->len = 16;
+#else
     sigmask->len = 8;
+#endif
     memcpy(sigmask->sigset, sigset, sizeof(*sigset));
     r = kvm_vcpu_ioctl(cpu, KVM_SET_SIGNAL_MASK, sigmask);
     g_free(sigmask);
-- 
1.8.1.2


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to