From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v3 07/13] x86: Add functions for 64-bit integer arithmetic Date: Mon, 4 Jan 2016 13:26:52 -0500 Message-ID: <568AB96C.9010008@oracle.com> References: <1451531020-29964-1-git-send-email-haozhong.zhang@intel.com> <1451531020-29964-8-git-send-email-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1451531020-29964-8-git-send-email-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Haozhong Zhang , xen-devel@lists.xen.org, Jan Beulich , Kevin Tian Cc: Jun Nakajima , Andrew Cooper , Keir Fraser , Aravind Gopalakrishnan , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org On 12/30/2015 10:03 PM, Haozhong Zhang wrote: > This patch adds several functions to take multiplication, division and > shifting involving 64-bit integers. Those functions are derived from > Linux kernel and will be used by later patches to calculate scaling > ratio and scaled TSC. > > Signed-off-by: Haozhong Zhang Reviewed-by: Boris Ostrovsky (although I not sure why you decided to change Linux' code in mul64() below) > + c = (u64)rl.l.high + rm.l.low + rn.l.low; > + rl.l.high = c; > + c >>= 32; > + c = c + rm.l.high + rn.l.high + rh.l.low; > + rh.l.low = c; > + rh.l.high += (u32)(c >> 32);