From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: [PATCH v2 9/9] qemu-kvm: hpet: Add MSI support for in-kernel irqchip mode Date: Tue, 26 Apr 2011 17:30:55 +0400 Message-ID: <4DB6C90F.4090401@msgid.tls.msk.ru> References: <3d089633897515a214af032ed633342a7001945f.1303823975.git.jan.kiszka@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , Marcelo Tosatti , kvm@vger.kernel.org, "Michael S. Tsirkin" To: Jan Kiszka Return-path: Received: from isrv.corpit.ru ([86.62.121.231]:34810 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752897Ab1DZNa5 (ORCPT ); Tue, 26 Apr 2011 09:30:57 -0400 In-Reply-To: <3d089633897515a214af032ed633342a7001945f.1303823975.git.jan.kiszka@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: 26.04.2011 17:19, Jan Kiszka wrote: > hw/hpet.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- > +static int modifying_bit(uint64_t old, uint64_t new, uint64_t mask) > +{ > + return (old ^ new) & mask; > +} Such constructs always look suspicious. I'm not even sure anymore (after using C for over 20 years ;) that this works... how about return (old ^ new) & mask ? 1 : 0; instead, or something along this? I mean, if sizeof(int)==4, how `return 1ULL<<32' will be interpreted in this context? Tiny test program tells me it will return 0... /mjt