kvm.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).