From bb7e729397dc6e6f3147235feb8cda3b229355b0 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Sun, 12 Oct 2008 20:16:03 +0000 Subject: [PATCH] hw/apic.c: use functions from host-utils.h Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5469 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/apic.c | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/hw/apic.c b/hw/apic.c index 762852e90f..a2915f8121 100644 --- a/hw/apic.c +++ b/hw/apic.c @@ -20,7 +20,7 @@ #include "hw.h" #include "pc.h" #include "qemu-timer.h" -#include "osdep.h" +#include "host-utils.h" //#define DEBUG_APIC //#define DEBUG_IOAPIC @@ -108,45 +108,13 @@ static void apic_update_irq(APICState *s); /* Find first bit starting from msb */ static int fls_bit(uint32_t value) { -#if QEMU_GNUC_PREREQ(3, 4) - return 31 - __builtin_clz(value); -#else - unsigned int ret = 0; - - if (value > 0xffff) - value >>= 16, ret = 16; - if (value > 0xff) - value >>= 8, ret += 8; - if (value > 0xf) - value >>= 4, ret += 4; - if (value > 0x3) - value >>= 2, ret += 2; - return ret + (value >> 1); -#endif + return 31 - clz32(value); } /* Find first bit starting from lsb */ static int ffs_bit(uint32_t value) { -#if QEMU_GNUC_PREREQ(3, 4) - return __builtin_ffs(value) - 1; -#else - unsigned int ret = 0; - - if (!value) - return 0; - if (!(value & 0xffff)) - value >>= 16, ret = 16; - if (!(value & 0xff)) - value >>= 8, ret += 8; - if (!(value & 0xf)) - value >>= 4, ret += 4; - if (!(value & 0x3)) - value >>= 2, ret += 2; - if (!(value & 0x1)) - ret++; - return ret; -#endif + return ctz32(value); } static inline void set_bit(uint32_t *tab, int index)