Fix virtio compile errors on various gcc versions.
authorKevin O'Connor <kevin@koconnor.net>
Tue, 11 May 2010 01:51:38 +0000 (21:51 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Tue, 11 May 2010 01:51:38 +0000 (21:51 -0400)
Gcc 3.4 doesn't like __FUNCTION__ for some reason - use __func__
instead.

Gcc 4.5 compiles each .c file independently, so make sure includes are
correct for each .c file.

src/smbios.c
src/virtio-blk.c
src/virtio-blk.h
src/virtio-pci.c
src/virtio-pci.h
src/virtio-ring.c
src/virtio-ring.h

index 7bcdcb36c65f3db0a4d2190b8706e3e54c9fc1c5..e19a62d273e3f848b9b40453b3a370d31de19859 100644 (file)
@@ -420,7 +420,7 @@ smbios_init(void)
                       : 16384);
         add_struct(17, p, dev_mb, i);
     }
-        
+
     add_struct(19, p, 0, RamSize >> 20, 0);
     if (RamSizeOver4G)
         add_struct(19, p, 4096, RamSizeOver4G >> 20, 1);
index f106bdfb675c1e9d0b259f8ca15943f72f4d1591..6c3f8a5aff57bbbfbee49df973e646d7df26e048 100644 (file)
 #include "util.h" // dprintf
 #include "pci.h" // foreachpci
 #include "config.h" // CONFIG_*
+#include "biosvar.h" // GET_GLOBAL
+#include "pci_ids.h" // PCI_DEVICE_ID_VIRTIO_BLK
+#include "pci_regs.h" // PCI_VENDOR_ID
+#include "boot.h" // add_bcv_internal
 #include "virtio-pci.h"
+#include "virtio-ring.h"
 #include "virtio-blk.h"
 #include "disk.h"
 
index 3369ea4b5d8b73a04bcc7ad1317d54454e28b56c..8095d5b080498ca663625a855d7acd8b99f41b98 100644 (file)
@@ -34,6 +34,7 @@ struct virtio_blk_outhdr {
 #define VIRTIO_BLK_S_IOERR     1
 #define VIRTIO_BLK_S_UNSUPP    2
 
+struct disk_op_s;
 int process_virtio_op(struct disk_op_s *op);
 void virtio_blk_setup(void);
 
index e171ea353fa758e268f3b54294a90b96b476a375..db19e974a8560b5aae4b8cd8943145723aa39c3c 100644 (file)
@@ -17,6 +17,8 @@
 
 #include "virtio-ring.h"
 #include "virtio-pci.h"
+#include "config.h" // CONFIG_DEBUG_LEVEL
+#include "util.h" // dprintf
 
 int vp_find_vq(unsigned int ioaddr, int queue_index,
                struct vring_virtqueue *vq)
index 6932036ab148b01c10a2640b33abdf36968400c3..9da761dccfd9172da12c54d48033556a3146dbdf 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _VIRTIO_PCI_H
 #define _VIRTIO_PCI_H
 
+#include "ioport.h" // inl
+
 /* A 32-bit r/o bitmask of the features supported by the host */
 #define VIRTIO_PCI_HOST_FEATURES        0
 
@@ -92,6 +94,7 @@ static inline void vp_del_vq(unsigned int ioaddr, int queue_index)
    outl(0, ioaddr + VIRTIO_PCI_QUEUE_PFN);
 }
 
+struct vring_virtqueue;
 int vp_find_vq(unsigned int ioaddr, int queue_index,
                struct vring_virtqueue *vq);
 #endif /* _VIRTIO_PCI_H_ */
index f4a2efe3274ae95e0e1e64b0518b9d2ce04bbf69..7565688998379cd0e59e49cf772e67754ea02096 100644 (file)
 
 #include "virtio-ring.h"
 #include "virtio-pci.h"
+#include "biosvar.h" // GET_GLOBAL
+#include "util.h" // dprintf
 
 #define BUG() do {                                      \
         dprintf(1, "BUG: failure at %s:%d/%s()!\n",     \
-                __FILE__, __LINE__, __FUNCTION__);      \
+                __FILE__, __LINE__, __func__);          \
                 while(1);                               \
         } while (0)
 #define BUG_ON(condition) do { if (condition) BUG(); } while (0)
index b97d5721ebdda87dd82863e4c5ef1575085cef3b..95ae85b5055bde3dd2607cb1e1d3d3edb3dfd3fb 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef _VIRTIO_RING_H
 #define _VIRTIO_RING_H
 
+#include "types.h" // u64
+#include "memmap.h" // PAGE_SIZE
+
 #define PAGE_SHIFT 12
 #define PAGE_MASK  (PAGE_SIZE-1)