From: Kevin O'Connor Date: Tue, 11 May 2010 01:51:38 +0000 (-0400) Subject: Fix virtio compile errors on various gcc versions. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=7d09d0e3ba11310e973d4302c7fcc3fc2184e04c;p=seabios.git Fix virtio compile errors on various gcc versions. 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. --- diff --git a/src/smbios.c b/src/smbios.c index 7bcdcb3..e19a62d 100644 --- a/src/smbios.c +++ b/src/smbios.c @@ -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); diff --git a/src/virtio-blk.c b/src/virtio-blk.c index f106bdf..6c3f8a5 100644 --- a/src/virtio-blk.c +++ b/src/virtio-blk.c @@ -10,7 +10,12 @@ #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" diff --git a/src/virtio-blk.h b/src/virtio-blk.h index 3369ea4..8095d5b 100644 --- a/src/virtio-blk.h +++ b/src/virtio-blk.h @@ -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); diff --git a/src/virtio-pci.c b/src/virtio-pci.c index e171ea3..db19e97 100644 --- a/src/virtio-pci.c +++ b/src/virtio-pci.c @@ -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) diff --git a/src/virtio-pci.h b/src/virtio-pci.h index 6932036..9da761d 100644 --- a/src/virtio-pci.h +++ b/src/virtio-pci.h @@ -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_ */ diff --git a/src/virtio-ring.c b/src/virtio-ring.c index f4a2efe..7565688 100644 --- a/src/virtio-ring.c +++ b/src/virtio-ring.c @@ -18,10 +18,12 @@ #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) diff --git a/src/virtio-ring.h b/src/virtio-ring.h index b97d572..95ae85b 100644 --- a/src/virtio-ring.h +++ b/src/virtio-ring.h @@ -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)