From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50197) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUf50-0004LJ-9s for qemu-devel@nongnu.org; Wed, 26 Aug 2015 14:05:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUf4x-0000du-3c for qemu-devel@nongnu.org; Wed, 26 Aug 2015 14:05:46 -0400 From: Laurent Vivier Date: Wed, 26 Aug 2015 20:05:31 +0200 Message-Id: <1440612338-5912-1-git-send-email-lvivier@redhat.com> Subject: [Qemu-devel] [PATCH v2 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 , crosthwaitepeter@gmail.com, qemu-trivial@nongnu.org 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; v2: 4/4 For target-arm, don't remove muldiv64() but clarify the use of the values. 7/7 Replace qemu_clock_get_ns()/1000 by qemu_clock_get_us() Laurent Vivier (7): PCI: remove muldiv64() mips: remove muldiv64() openrisc: remove muldiv64() arm: clarify the use of 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 | 14 ++++++++------ tests/rtl8139-test.c | 2 +- 11 files changed, 38 insertions(+), 48 deletions(-) -- 2.1.0