Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
Dan Kenigsberg wrote: Frustrated with evtouch, I wanted to try vmmouse's absolute mode, supported by Liguori's patch http://thread.gmane.org/gmane.comp.emulators.qemu/16083 . My guest has vmmouse_drv.so, and I configured its xorg.conf to load it. However, for some reason I get (EE) VMWARE(0): vmmouse enabled failed On the host side, after define DEBUG_VMMOUSE, I see vmmouse_init and nothing else. Any idea what I am doing wrong? Regards, Dan. Please dive further into this by debugging the emulator(qemu)/driver themselves. good luck :)
Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
Dor Laor wrote: Dan Kenigsberg wrote: Frustrated with evtouch, I wanted to try vmmouse's absolute mode, supported by Liguori's patch http://thread.gmane.org/gmane.comp.emulators.qemu/16083 . Did you try it in KVM or in QEMU? In KVM, you need an additional patch to ensure that the register state is synchronized. Regards, Anthony LIguori My guest has vmmouse_drv.so, and I configured its xorg.conf to load it. However, for some reason I get (EE) VMWARE(0): vmmouse enabled failed On the host side, after define DEBUG_VMMOUSE, I see vmmouse_init and nothing else. Any idea what I am doing wrong? Regards, Dan. Please dive further into this by debugging the emulator(qemu)/driver themselves. good luck :)
Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
On Tue, Sep 25, 2007 at 08:47:47AM -0500, Anthony Liguori wrote: > Dor Laor wrote: > >Dan Kenigsberg wrote: > >>Frustrated with evtouch, I wanted to try vmmouse's absolute mode, > >>supported by > >>Liguori's patch > >>http://thread.gmane.org/gmane.comp.emulators.qemu/16083 . > > Did you try it in KVM or in QEMU? > In QEMU (cvs). > In KVM, you need an additional patch to ensure that the register state > is synchronized. Thanks, I'll make a note of that, and return to you for details before I try to port vmmouse to KVM.
Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore the top half of the 64 bit ax register is garbage that should be ignored. This makes fc6 guest's vmmouse work. Index: hw/vmport.c === RCS file: /sources/qemu/qemu/hw/vmport.c,v retrieving revision 1.1 diff -u -p -r1.1 vmport.c --- hw/vmport.c 26 Aug 2007 17:48:12 - 1.1 +++ hw/vmport.c 8 Oct 2007 13:11:45 - @@ -55,7 +55,7 @@ static uint32_t vmport_ioport_read(void target_ulong eax; eax = s->env->regs[R_EAX]; -if (eax != VMPORT_MAGIC) +if ((uint32_t)eax != VMPORT_MAGIC) return eax; command = s->env->regs[R_ECX];
Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
Dan Kenigsberg wrote: In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore the top half of the 64 bit ax register is garbage that should be ignored. This makes fc6 guest's vmmouse work. I think a better fix would be to change eax from target_ulong to uint32_t. Regards, Anthony Liguori Index: hw/vmport.c === RCS file: /sources/qemu/qemu/hw/vmport.c,v retrieving revision 1.1 diff -u -p -r1.1 vmport.c --- hw/vmport.c 26 Aug 2007 17:48:12 - 1.1 +++ hw/vmport.c 8 Oct 2007 13:11:45 - @@ -55,7 +55,7 @@ static uint32_t vmport_ioport_read(void target_ulong eax; eax = s->env->regs[R_EAX]; -if (eax != VMPORT_MAGIC) +if ((uint32_t)eax != VMPORT_MAGIC) return eax; command = s->env->regs[R_ECX];
Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest
On Mon, Oct 08, 2007 at 09:55:37AM -0500, Anthony Liguori wrote: > Dan Kenigsberg wrote: > >In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore > >the top half of the 64 bit ax register is garbage that should be > >ignored. This makes fc6 guest's vmmouse work. > > > > > > I think a better fix would be to change eax from target_ulong to uint32_t. > I don't really mind that. Index: hw/vmport.c === RCS file: /sources/qemu/qemu/hw/vmport.c,v retrieving revision 1.1 diff -u -p -r1.1 vmport.c --- hw/vmport.c 26 Aug 2007 17:48:12 - 1.1 +++ hw/vmport.c 8 Oct 2007 15:24:50 - @@ -52,7 +52,7 @@ static uint32_t vmport_ioport_read(void { VMPortState *s = opaque; unsigned char command; -target_ulong eax; +uint32_t eax; eax = s->env->regs[R_EAX]; if (eax != VMPORT_MAGIC)