Patchwork [2/2] ivshmem: Fix compilation without kvm

login
register
mail settings
Submitter Stefan Weil
Date Aug. 11, 2010, 7:38 a.m.
Message ID <1281512334-4268-2-git-send-email-weil@mail.berlios.de>
Download mbox | patch
Permalink /patch/61458/
State New
Headers show

Comments

Stefan Weil - Aug. 11, 2010, 7:38 a.m.
kvm_set_ioeventfd_mmio_long is only available with CONFIG_KVM.

Cc: Anthony Liguori <aliguori@us.ibm.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 hw/ivshmem.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

Patch

diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index ec894e9..63562e1 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -385,8 +385,10 @@  static void close_guest_eventfds(IVShmemState *s, int posn)
     guest_curr_max = s->peers[posn].nb_eventfds;
 
     for (i = 0; i < guest_curr_max; i++) {
+#if defined(CONFIG_KVM)
         kvm_set_ioeventfd_mmio_long(s->peers[posn].eventfds[i],
                     s->mmio_addr + DOORBELL, (posn << 16) | i, 0);
+#endif
         close(s->peers[posn].eventfds[i]);
     }
 
@@ -395,7 +397,7 @@  static void close_guest_eventfds(IVShmemState *s, int posn)
 }
 
 static void setup_ioeventfds(IVShmemState *s) {
-
+#if defined(CONFIG_KVM)
     int i, j;
 
     for (i = 0; i <= s->max_peer; i++) {
@@ -404,6 +406,7 @@  static void setup_ioeventfds(IVShmemState *s) {
                     s->mmio_addr + DOORBELL, (i << 16) | j, 1);
         }
     }
+#endif
 }
 
 /* this function increase the dynamic storage need to store data about other
@@ -530,12 +533,14 @@  static void ivshmem_read(void *opaque, const uint8_t * buf, int flags)
                    guest_max_eventfd);
     }
 
+#if defined(CONFIG_KVM)
     if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD)) {
         if (kvm_set_ioeventfd_mmio_long(incoming_fd, s->mmio_addr + DOORBELL,
                         (incoming_posn << 16) | guest_max_eventfd, 1) < 0) {
             fprintf(stderr, "ivshmem: ioeventfd not available\n");
         }
     }
+#endif
 
     return;
 }