From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuT18-00041n-AZ for qemu-devel@nongnu.org; Sat, 21 Dec 2013 15:19:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VuT13-00054b-Uu for qemu-devel@nongnu.org; Sat, 21 Dec 2013 15:19:22 -0500 Received: from mail-pa0-f48.google.com ([209.85.220.48]:64756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuT13-00054P-Pq for qemu-devel@nongnu.org; Sat, 21 Dec 2013 15:19:17 -0500 Received: by mail-pa0-f48.google.com with SMTP id rd3so3958080pab.21 for ; Sat, 21 Dec 2013 12:19:17 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <1387203165-5553-6-git-send-email-james.hogan@imgtec.com> References: <1387203165-5553-1-git-send-email-james.hogan@imgtec.com> <1387203165-5553-6-git-send-email-james.hogan@imgtec.com> From: Peter Maydell Date: Sat, 21 Dec 2013 20:18:56 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH v2 05/10] kvm: Set sigmask length to 16 for MIPS targets List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: James Hogan Cc: kvm-devel , Gleb Natapov , QEMU Developers , Sanjay Lal , Paolo Bonzini , Aurelien Jarno On 16 December 2013 14:12, James Hogan wrote: > From: Sanjay Lal > > 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 > Signed-off-by: James Hogan > Cc: Gleb Natapov > Cc: Paolo Bonzini > --- > 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); kvm-all.c is mostly free of TARGET_FOO ifdefs; I think maybe it would be better to have the signal mask length be something the target-specific code configures in kvm_arch_init(). thanks -- PMM