Hi Weidong,
Thank you for your answer.

I tried to test latest Avi's kvm.git and kvm-userspace.git.
but, kvm-userspace fails to compile.

I used the following git repositories:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git
vtd

$ ./configure
$ make
 make -C libkvm
make[1]: Entering directory `/home/ddk/vtd/libkvm'
gcc -m32 -D__i386__ -MMD -MF ./.libkvm.d -g -fomit-frame-pointer -Wall
 -fno-stack-protector   -I /home/ddk/vtd/kernel/include   -c -o
libkvm.o libkvm.c
In file included from libkvm.c:38:
libkvm.h:630: warning: 'struct kvm_pit_state' declared inside parameter list
libkvm.h:630: warning: its scope is only this definition or
declaration, which is probably not what you want
libkvm.h:641: warning: 'struct kvm_pit_state' declared inside parameter list
gcc -m32 -D__i386__ -MMD -MF ./.libkvm-x86.d -g -fomit-frame-pointer
-Wall  -fno-stack-protector   -I /home/ddk/vtd/kernel/include   -c -o
libkvm-x86.o libkvm-x86.c
In file included from libkvm-x86.c:1:
libkvm.h:630: warning: 'struct kvm_pit_state' declared inside parameter list
libkvm.h:630: warning: its scope is only this definition or
declaration, which is probably not what you want
libkvm.h:641: warning: 'struct kvm_pit_state' declared inside parameter list
libkvm-x86.c:246: warning: 'struct kvm_pit_state' declared inside parameter list
libkvm-x86.c:247: error: conflicting types for 'kvm_get_pit'
libkvm.h:630: error: previous declaration of 'kvm_get_pit' was here
libkvm-x86.c: In function 'kvm_get_pit':
libkvm-x86.c:251: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
libkvm-x86.c:251: error: array type has incomplete element type
libkvm-x86.c:251: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
libkvm-x86.c:251: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
libkvm-x86.c: At top level:
libkvm-x86.c:259: warning: 'struct kvm_pit_state' declared inside parameter list
libkvm-x86.c:260: error: conflicting types for 'kvm_set_pit'
libkvm.h:641: error: previous declaration of 'kvm_set_pit' was here
libkvm-x86.c: In function 'kvm_set_pit':
libkvm-x86.c:264: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
libkvm-x86.c:264: error: array type has incomplete element type
libkvm-x86.c:264: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
libkvm-x86.c:264: error: invalid application of 'sizeof' to incomplete
type 'struct kvm_pit_state'
make[1]: *** [libkvm-x86.o] Error 1
make[1]: Leaving directory `/home/ddk/vtd/libkvm'
make: *** [libkvm] Error 2

Any advice or tips will help?

Thanks,
Kazushi

From: "Han, Weidong" <[email protected]>
Subject: RE: How to use PCI-passthrough with kvm
Date: Thu, 11 Dec 2008 18:26:27 +0800

> It's not related to shared irq. MSI is already supported in KVM, so if the 
> device has MSI capability, there is no sharing irq issue.
> 
> Can you try latest kvm.git and kvm-userspace.git? At least you are not using 
> latest kvm-userspace because there is output "BUG: kvm_destroy_phys_mem: 
> invalid parameters (slot=-1)". In addition, can you try out other device, 
> such as add-on PCIe NIC or USB? 
> 
> Regards,
> Weidong
> 
> w1ndoz wrote:
> > Hi Weidong,
> > 
> > Thank you for your advice.
> > 
> > The other messages which I found are the following messages which
> > KVM outputs:
> > BUG: kvm_destroy_phys_mem: invalid parameters (slot=-1)
> > BUG: kvm_destroy_phys_mem: invalid parameters (slot=-1)
> > 
> > and, IRQ status is as follows:
> > 
> > /proc/interrupt of the host OS is as follows:
> > cat /proc/interrupts
> >            CPU0       CPU1
> >   0:         45          0   IO-APIC-edge      timer
> >   1:          1          1   IO-APIC-edge      i8042
> >   4:          1          1   IO-APIC-edge
> >   9:          0          0   IO-APIC-fasteoi   acpi
> >  12:          2          2   IO-APIC-edge      i8042
> >  14:       8675       8589   IO-APIC-edge      ata_piix
> >  15:          0          0   IO-APIC-edge      ata_piix
> >  17:          0          1   IO-APIC-fasteoi   uhci_hcd:usb3,
> >  ehci_hcd:usb7 18:       2201       2200   IO-APIC-fasteoi  
> > uhci_hcd:usb1, 
> > uhci_hcd:usb6, pata_marvell
> >  19:         43         45   IO-APIC-fasteoi   uhci_hcd:usb5, ohci1394
> >  21:       1091       1060   IO-APIC-fasteoi   uhci_hcd:usb2,
> >  ata_piix, eth1 23:          2          2   IO-APIC-fasteoi  
> > uhci_hcd:usb4, ehci_hcd:usb8 505:       7198       7310  
> > PCI-MSI-edge      i...@pci:0000:00:02.0 506:         50         53  
> > PCI-MSI-edge      kvm_assigned_msi_device 
> > NMI:          0          0   Non-maskable interrupts
> > LOC:      87300      87267   Local timer interrupts
> > RES:      54424      49773   Rescheduling interrupts
> > CAL:        494        446   Function call interrupts
> > TLB:        651        625   TLB shootdowns
> > SPU:          0          0   Spurious interrupts
> > ERR:          0
> > MIS:          0
> > 
> > and GuestOS is as follows:
> > $ cat /proc/interrupts
> >            CPU0
> >   0:      42779   IO-APIC-edge      timer
> >   1:         76   IO-APIC-edge      i8042
> >   2:          0    XT-PIC-XT        cascade
> >   4:          1   IO-APIC-edge
> >   8:          3   IO-APIC-edge      rtc
> >  10:         68   IO-APIC-edge      eth1
> >  11:         45   IO-APIC-edge      0, eth0
> >  12:        228   IO-APIC-edge      i8042
> >  14:       9982   IO-APIC-edge      libata
> >  15:        740   IO-APIC-edge      libata
> > NMI:          0   Non-maskable interrupts
> > LOC:      42638   Local timer interrupts
> > RES:          0   Rescheduling interrupts
> > CAL:          0   function call interrupts
> > TLB:          0   TLB shootdowns
> > TRM:          0   Thermal event interrupts
> > SPU:          0   Spurious interrupts
> > ERR:          0
> > MIS:          0
> > Note that eth1 is Intel NIC.
> > 
> > Any idea ?
> > 
> > Thanks,
> > Kazushi
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to