From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUL5X-0004KA-Hg for qemu-devel@nongnu.org; Tue, 25 Aug 2015 16:45:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUL5T-0000ED-W1 for qemu-devel@nongnu.org; Tue, 25 Aug 2015 16:44:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54511) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUL5T-0000D1-Q0 for qemu-devel@nongnu.org; Tue, 25 Aug 2015 16:44:55 -0400 From: Laurent Vivier Date: Tue, 25 Aug 2015 22:44:44 +0200 Message-Id: <1440535491-4511-1-git-send-email-lvivier@redhat.com> Subject: [Qemu-devel] [PATCH 0/7] remove useless muldiv64() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi , "Michael S . Tsirkin" , Paolo Bonzini , Aurelien Jarno , Leon Alrae , Jia Liu , Jason Wang Originally, timers were ticks based, and it made sense to add ticks to current time to know when to trigger an alarm. But since commit: 7447545 change all other clock references to use nanosecond resolution accessors All timers use nanoseconds and we need to convert ticks to nanoseconds, by doing something like: y = muldiv64(x, get_ticks_per_sec(), TIMER_FREQ) where x is the number of device ticks and y the number of system ticks. y is used as nanoseconds in timer functions, it works because 1 tick is 1 nanosecond. (get_ticks_per_sec() is 10^9) But if get_ticks_per_sec() / TIMER_FREQ is an integer, we can do: y = x * TIMER_PERIOD; Laurent Vivier (7): PCI: remove muldiv64() mips: remove muldiv64() openrisc: remove muldiv64() arm: remove muldiv64() hpet: remove muldiv64() bt: remove muldiv64() net: remove muldiv64() hw/bt/hci.c | 4 ++-- hw/mips/cputimer.c | 19 ++++++++----------- hw/net/pcnet.c | 3 +-- hw/net/rtl8139.c | 14 ++++++-------- hw/openrisc/cputimer.c | 7 +++---- hw/timer/hpet.c | 6 +++--- hw/watchdog/wdt_i6300esb.c | 11 +++-------- include/hw/timer/hpet.h | 4 ++-- net/dump.c | 2 +- target-arm/helper.c | 9 +++------ tests/rtl8139-test.c | 2 +- 11 files changed, 33 insertions(+), 48 deletions(-) -- 2.1.0