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