Re: Problem with PCI device assignment (KVM-79, 2.6.28)

2008-12-07 Thread Jan C. Bernauer
Hi,

 just saw the kvm-80 announcement, and from the changelog, I think
this might be fixed already.


Best regards,
Jan

--
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


Re: Problem with PCI device assignment (KVM-79, 2.6.28)

2008-12-07 Thread Jan C. Bernauer
Jakob Sandgren wrote:
  Hi,
 
  I get the following (fatal) error when trying to assign a pci device
  (USB 2.0 controller) to a guest:
  create_userspace_phys_mem: Invalid argument
  assigned_dev_iomem_map: Error: create new mapping failed
 
  Assigning another (USB 1.1) device works.
 
 

Can you check what lspci -v says?
I suspect the size of a memory region is not a multiple of 4096.
Same thing happens for me for a network and a dvb card.

As far as I know, the mapping code can only map whole pages. So the code
has to expand the size to the nearest multiple.


Best regards,
Jan C. Bernauer







--
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


Re: Status of pci passthrough work?

2008-09-27 Thread Jan C. Bernauer
Hi,

 I have about the same problem, so excuse me for hijacking this thread.

My hardware consists of a 780g/SB700 Mainboard and a 4850e AMD CPU, and
I'm interested in forwarding a DVB-C tuner card to the guest. Maybe
some NICs later.

I tried and 'sort of' got it working with Amit's kernel and userspace
tools.
First thing:
The dvb-c card has an interesting memory mapping, as reported by
lspci -v:
Memory at cfdff000 (32-bit, non-prefetchable) [size=512]

Size 512 doesn't fly with a check in kvm_main.c:
if (mem-memory_size  (PAGE_SIZE - 1))
goto out;

So I patched the userspace utilities to use 4096 instead.

With that patch, the guest saw the card, the driver got loaded,
and channel tuning works, but I get some i2c timeouts on the
guest side, and the host side has errors like:

[ cut here ]
Sep 22 02:28:54 [kernel] WARNING: at kernel/irq/manage.c:180
enable_irq+0x3a/0x55()
Sep 22 02:28:54 [kernel] Unbalanced enable for IRQ 20
Sep 22 02:28:54 [kernel] Modules linked in: sha256_generic cbc dm_crypt
crypto_blkcipher kvm_amd kvm bridge stp llc stv0297 budget_core dvb_core
saa7146 ttpci_eepr\
om ir_common k8temp i2c_core dm_snapshot dm_mirror dm_log scsi_wait_scan
[last unloaded: budget_ci]
Sep 22 02:28:54 [kernel] Pid: 5283, comm: qemu-system-x86 Tainted: G
W 2.6.27-rc5-11874-g19561b6 #11
Sep 22 02:28:54 [kernel] Call Trace:
Sep 22 02:28:54 [kernel]  [80238b04] warn_slowpath+0xb4/0xdc
Sep 22 02:28:54 [kernel]  [8026b099]
__alloc_pages_internal+0xde/0x419
Sep 22 02:28:54 [kernel]  [802758d0] get_user_pages+0x401/0x4ae
Sep 22 02:28:54 [kernel]  [80349269] __next_cpu+0x19/0x26
Sep 22 02:28:54 [kernel]  [80230ce2]
find_busiest_group+0x315/0x7c3
Sep 22 02:28:54 [kernel]  [a005de31] gfn_to_hva+0x9/0x5d [kvm]
- Last output repeated twice -
Sep 22 02:28:54 [kernel]  [a005e01b]
kvm_read_guest_page+0x34/0x46 [kvm]
Sep 22 02:28:54 [kernel]  [a005e06c] kvm_read_guest+0x3f/0x7c
[kvm]
Sep 22 02:28:54 [kernel]  [a0068bfe]
paging64_walk_addr+0xe0/0x2c1 [kvm]
Sep 22 02:28:54 [kernel]  [80260d59] enable_irq+0x3a/0x55
Sep 22 02:28:54 [kernel]  [a006df50]
kvm_notify_acked_irq+0x17/0x30 [kvm]
Sep 22 02:28:54 [kernel]  [a00701c5]
kvm_ioapic_update_eoi+0x2f/0x6e [kvm]
Sep 22 02:28:54 [kernel]  [a006f6da]
apic_mmio_write+0x24a/0x546 [kvm]
Sep 22 02:28:54 [kernel]  [a006498d]
emulator_write_emulated_onepage+0xa1/0xf3 [kvm]
Sep 22 02:28:54 [kernel]  [802206f8] paravirt_patch_call+0x13/0x2b
Sep 22 02:28:54 [kernel]  [a006c93e]
x86_emulate_insn+0x366a/0x41de [kvm]
Sep 22 02:28:54 [kernel]  [802206fa] paravirt_patch_call+0x15/0x2b
Sep 22 02:28:54 [kernel]  [a005f90b]
kvm_get_cs_db_l_bits+0x22/0x3a [kvm]
Sep 22 02:28:54 [kernel]  [a006167d]
emulate_instruction+0x198/0x25c [kvm]
Sep 22 02:28:54 [kernel]  [a0067dfe]
kvm_mmu_page_fault+0x46/0x83 [kvm]
Sep 22 02:28:54 [kernel]  [a00636a9]
kvm_arch_vcpu_ioctl_run+0x456/0x65c [kvm]
Sep 22 02:28:54 [kernel]  [8024d605] hrtimer_start+0x111/0x133
Sep 22 02:28:54 [kernel]  [a005d451] kvm_vcpu_ioctl+0xe0/0x459
[kvm]
Sep 22 02:28:54 [kernel]  [a005ee43] kvm_vm_ioctl+0x203/0x21b
[kvm]
Sep 22 02:28:54 [kernel]  [802353b6] finish_task_switch+0x2b/0xc4
Sep 22 02:28:54 [kernel]  [8029e3b5] vfs_ioctl+0x21/0x6c
Sep 22 02:28:54 [kernel]  [8029e627] do_vfs_ioctl+0x227/0x23d
Sep 22 02:28:54 [kernel]  [8029e67a] sys_ioctl+0x3d/0x5f
Sep 22 02:28:54 [kernel]  [8020b45a]
system_call_fastpath+0x16/0x1b
Sep 22 02:28:54 [kernel] ---[ end trace 7b8b990423985ddf ]---
Sep 22 02:28:54 [kernel] [ cut here ]


Xen works with that card, but Xen has other problems, and kvm is much
nicer :) So if you need a guinea pig with basic debugging knowledge, I'm
your man.

Best regards,
Jan C. Bernauer




--
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


Re: Status of pci passthrough work?

2008-09-27 Thread Jan C. Bernauer
Thomas Fjellstrom wrote:

 How did you manage to pull together those patches? They all seem so
old, and
 won't likely apply cleanly to git head :(


Which patches do you mean? The patches for kvm?
There is a nice repository managed by Amit Shah:
Linux source:
http://git.kernel.org/?p=linux/kernel/git/amit/kvm.git;a=summary

kvm-userspace:
http://git.kernel.org/?p=linux/kernel/git/amit/kvm-userspace.git;a=summary

I think this compiled without too much problems.

Best regards,
Jan



--
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


Re: Status of pci passthrough work?

2008-09-27 Thread Jan C. Bernauer
Thomas Fjellstrom wrote:
 
 that leaves me with:
 
 /root/kvm-amit-userspace/qemu/../libkvm/libkvm.h:28: warning: Ć¢struct 
 kvm_msr_entryĆ¢ declared inside parameter list 
 
 /root/kvm-amit-userspace/qemu/../libkvm/libkvm.h:28: warning: its scope is 
 only this definition or declaration, which is probably not what you want
 
 and a bunch more errors.
 
 

Well, these are warning, and I might have ignored them :)
What are the errors?

Anyway, I'll be off now, so I won't respond till tomorrow.

Best regards,
Jan
--
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