All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikola Ciprich <extmaillist@linuxbox.cz>
To: "René Pfeiffer" <lynx@luchs.at>
Cc: KVM list <kvm@vger.kernel.org>,
	nikola.ciprich@linuxbox.cz, Avi Kivity <avi@redhat.com>
Subject: Re: kvm-86 fails to compile with "'IOMMU_CACHE' undeclared"
Date: Wed, 20 May 2009 22:45:12 +0200	[thread overview]
Message-ID: <20090520204512.GB6154@nik-comp.linuxbox.cz> (raw)
In-Reply-To: <20090520203022.GA6154@nik-comp.linuxbox.cz>

Hi, 
KVM-86 IOMMU uses features available since 2.6.30-rcXX, attached patch
disables its compilation on older kernels. I'm not sure if this is the
best way to disable it, but You can use it as a workaround.
Avi, is this OK? if so, please apply.
nik

diff -Naur kvm-kmod-devel-86/external-module-compat-comm.h kvm-kmod-devel-86-disable-iommu-for-old-kernels/external-module-compat-comm.h
--- kvm-kmod-devel-86/external-module-compat-comm.h     2009-05-20 15:59:56.000000000 +0200
+++ kvm-kmod-devel-86-disable-iommu-for-old-kernels/external-module-compat-comm.h       2009-05-20 22:37:23.632038570 +0200
@@ -791,3 +791,7 @@
 }

 #endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+#undef CONFIG_IOMMU_API
+#endif
diff -Naur kvm-kmod-devel-86/x86/iommu.c kvm-kmod-devel-86-disable-iommu-for-old-kernels/x86/iommu.c
--- kvm-kmod-devel-86/x86/iommu.c       2009-05-20 16:00:00.000000000 +0200
+++ kvm-kmod-devel-86-disable-iommu-for-old-kernels/x86/iommu.c 2009-05-20 22:37:43.840878726 +0200
@@ -1,3 +1,4 @@
+#ifdef CONFIG_IOMMU_API
 #ifndef KVM_UNIFDEF_H
 #define KVM_UNIFDEF_H

@@ -271,3 +272,4 @@
        iommu_domain_free(domain);
        return 0;
 }
+#endif

On Wed, May 20, 2009 at 10:30:22PM +0200, Nikola Ciprich wrote:
> Hi Rene,
> as a workaround, You can disable 
> 	AMD IOMMU support (AMD_IOMMU) and 
> 	Support for DMA Remapping Devices (EXPERIMENTAL) (DMAR)
> in Your host kernel.
> I'll post patch to disable KVM IOMMU support for kernels <2.6.30 soon.
> BR
> nik
> 
> On Wed, May 20, 2009 at 07:48:59PM +0200, René Pfeiffer wrote:
> > Hello!
> > 
> > I just tried to compile kvm-86 on two test machines and I get the
> > following error:
> > 
> > [...]
> >   CC [M]  /usr/src/build/kvm-86/kvm/kernel/x86/iommu.o
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c: In function ‘kvm_iommu_map_pages’:
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c:90: error: ‘IOMMU_CACHE’ undeclared (first use in this function)
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c:90: error: (Each undeclared identifier is reported only once
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c:90: error: for each function it appears in.)
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c: In function ‘kvm_assign_device’:
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c:155: error: implicit declaration of function ‘iommu_domain_has_cap’
> > /usr/src/build/kvm-86/kvm/kernel/x86/iommu.c:156: error: ‘IOMMU_CAP_CACHE_COHERENCY’ undeclared (first use in this function)
> > make[4]: *** [/usr/src/build/kvm-86/kvm/kernel/x86/iommu.o] Error 1
> > make[3]: *** [/usr/src/build/kvm-86/kvm/kernel/x86] Error 2
> > make[2]: *** [_module_/usr/src/build/kvm-86/kvm/kernel] Error 2
> > make[1]: *** [all] Error 2
> > make: *** [kvm-kmod] Error 2
> > 
> > Both machines run Debian Lenny with a custom kernel (2.6.29.1 and
> > 2.6.29.3). One machine is Intel-based (Core2Duo), one is AMD-based. Both
> > compiled earlier versions of kvm just fine. configure was run without
> > options.
> > 
> > Best,
> > René.
> > 
> > -- 
> >   )\._.,--....,'``.  fL  Let GNU/Linux work for you while you take a nap.
> >  /,   _.. \   _\  (`._ ,. R. Pfeiffer <lynx at luchs.at> + http://web.luchs.at/
> > `._.-(,_..'--(,_..'`-.;.'  - System administration + Consulting + Teaching -
> > Got mail delivery problems?  http://web.luchs.at/information/blockedmail.php
> 
> 
> 
> -- 
> -------------------------------------
> Nikola CIPRICH
> LinuxBox.cz, s.r.o.
> 28. rijna 168, 709 01 Ostrava
> 
> tel.:   +420 596 603 142
> fax:    +420 596 621 273
> mobil:  +420 777 093 799
> 
> www.linuxbox.cz
> 
> mobil servis: +420 737 238 656
> email servis: servis@linuxbox.cz
> -------------------------------------
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
-------------------------------------
Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799

www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: servis@linuxbox.cz
-------------------------------------

  reply	other threads:[~2009-05-20 20:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20 17:48 kvm-86 fails to compile with "'IOMMU_CACHE' undeclared" René Pfeiffer
2009-05-20 20:30 ` Nikola Ciprich
2009-05-20 20:45   ` Nikola Ciprich [this message]
2009-05-21  5:33     ` Chris Wright
2009-05-21  6:18       ` [PATCH kvm-kmod] build fix for !#defined IOMMU_CACHE Chris Wright
2009-05-21  7:46         ` Avi Kivity
2009-05-22  7:51   ` kvm-86 fails to compile with "'IOMMU_CACHE' undeclared" René Pfeiffer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090520204512.GB6154@nik-comp.linuxbox.cz \
    --to=extmaillist@linuxbox.cz \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lynx@luchs.at \
    --cc=nikola.ciprich@linuxbox.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.