|
From: Cameron M. <ca...@cs...> - 2007-09-17 16:00:45
|
On 15-Sep-07, at 4:47 PM, Dor Laor wrote: > Cam Macdonell wrote: >> It didn't work. I used the following option: -vmchannel >> di:2258,tcp:0:4444,server (the // confused kvm) and when the VM =20 >> booted, >> I connected with "telnet localhost 4444" which allowed the boot to >> proceed. But, I didn't get the hello host message when I loaded the >> hypercall module. dmesg did show that the module loaded =20 >> successfully. >> I'll dig around with it and see what else I can figure ou >> > I just tried it and it worked. I used fc7 2.6.21 kernel, 64 bits =20 > for the guest. > Can you send the relevant dmesg? Here is the dmesg output within the guest. I am running KVM-39 on =20 Ubuntu 2.6.20 kernel, 32 bit for both host and guest. [ 540.144000] Qumranet_hypercall_driver [ 540.148000] pci dev 0000:00:04.0 (id 5002:2258 rev 00) is a guest =20 hypercall device [ 540.148000] PCI: Found IRQ 9 for device 0000:00:04.0 [ 540.148000] hypercall_init_board: PIO region size =3D=3D 0x100 [ 540.148000] hypercall_init_board: MMIO region size =3D=3D 0x00 [ 540.148000] name=3D: base_addr=3D0xc200, io_addr=3D0x1c200, IRQ=3D9 For what it's worth, I can compile the driver/hypercall.c file that =20 comes with kvm-39. However, I can't compile your hypercall.c =20 implementation, I get the following error: make -C /lib/modules/2.6.20-16-generic/build M=3D`pwd` "$@" make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-generic' CC [M] /home/kvm/kvm-userspace/drivers/hypercall.o /home/kvm/kvm-userspace/drivers/hypercall.c: In function =20 =91hypercall_do_tasklet=92: /home/kvm/kvm-userspace/drivers/hypercall.c:226: error: invalid =20 lvalue in unary =91&=92 /home/kvm/kvm-userspace/drivers/hypercall.c:226: error: invalid =20 lvalue in unary =91&=92 /home/kvm/kvm-userspace/drivers/hypercall.c:231: warning: implicit =20 declaration of function =91hypercall_tx=92 /home/kvm/kvm-userspace/drivers/hypercall.c: At top level: /home/kvm/kvm-userspace/drivers/hypercall.c:236: error: static =20 declaration of =91hypercall_tx=92 follows non-static declaration /home/kvm/kvm-userspace/drivers/hypercall.c:231: error: previous =20 implicit declaration of =91hypercall_tx=92 was here /home/kvm/kvm-userspace/drivers/hypercall.c: In function =20 =91hypercall_interrupt=92: /home/kvm/kvm-userspace/drivers/hypercall.c:302: warning: passing =20 argument 1 of =91__constant_memcpy=92 makes pointer from integer without = =20 a cast /home/kvm/kvm-userspace/drivers/hypercall.c:302: warning: passing =20 argument 1 of =91__memcpy=92 makes pointer from integer without a cast /home/kvm/kvm-userspace/drivers/hypercall.c: In function =20 =91hypercall_open=92: /home/kvm/kvm-userspace/drivers/hypercall.c:320: warning: passing =20 argument 2 of =91request_irq=92 from incompatible pointer type /home/kvm/kvm-userspace/drivers/hypercall.c:326: warning: assignment =20 makes integer from pointer without a cast /home/kvm/kvm-userspace/drivers/hypercall.c:328: error: =20 =91hypercall_task=92 undeclared (first use in this function) /home/kvm/kvm-userspace/drivers/hypercall.c:328: error: (Each =20 undeclared identifier is reported only once /home/kvm/kvm-userspace/drivers/hypercall.c:328: error: for each =20 function it appears in.) make[2]: *** [/home/kvm/kvm-userspace/drivers/hypercall.o] Error 1 make[1]: *** [_module_/home/kvm/kvm-userspace/drivers] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-16-generic' make: *** [all] Error 2 Thanks, Cam ----------------------------------------------- A. Cameron Macdonell Ph.D. Student Department of Computing Science University of Alberta ca...@cs... |