Fix mingw32 and OpenBSD warnings
authorBlue Swirl <blauwirbel@gmail.com>
Sat, 4 Dec 2010 17:37:35 +0000 (17:37 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 4 Dec 2010 18:36:22 +0000 (18:36 +0000)
ffsl() is not universally available, so there are these warnings
on both mingw32 and OpenBSD:
/src/qemu/hw/pcie_aer.c: In function 'pcie_aer_update_log':
/src/qemu/hw/pcie_aer.c:399: warning: implicit declaration of function 'ffsl'

Since status field in PCIEAERErr is uint32_t, we can just use ffs() instead.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/pcie_aer.c

index 235ac534d715cd1ce75340f44a325502d46b3ae5..47d64003fc53bc8c9967e6fff655fb01ed2d636a 100644 (file)
@@ -396,7 +396,7 @@ static void pcie_aer_msg(PCIDevice *dev, const PCIEAERMsg *msg)
 static void pcie_aer_update_log(PCIDevice *dev, const PCIEAERErr *err)
 {
     uint8_t *aer_cap = dev->config + dev->exp.aer_cap;
-    uint8_t first_bit = ffsl(err->status) - 1;
+    uint8_t first_bit = ffs(err->status) - 1;
     uint32_t errcap = pci_get_long(aer_cap + PCI_ERR_CAP);
     int i;