Re: [Qemu-devel] [Spice-devel] [PATCH qemu+spice] expose server mouse status

2012-03-26 Thread Arnon Gilboa

ACK series
Acked-by: Arnon Gilboa agil...@redhat.com

Alon Levy wrote:

Below are the combined summaries. This lets the current mouse mode the server
is using be shown to qemu users:

(qemu) info spice
Server:
 address: 0.0.0.0:10005
auth: none
compiled: 0.10.2
  mouse-mode: server

qemu:

 Alon Levy (1):
   spice_info: add mouse_mode
 
  hmp.c|2 ++

  qapi-schema.json |7 ++-
  ui/spice-core.c  |5 +
  3 files changed, 13 insertions(+), 1 deletion(-)

spice:

 Alon Levy (1):
   server: export spice_server_is_server_mouse predicate
 
  server/reds.c|6 ++

  server/spice-server.syms |4 
  server/spice.h   |4 +++-
  3 files changed, 13 insertions(+), 1 deletion(-)

  





Re: [Qemu-devel] [Spice-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984

2011-08-09 Thread Arnon Gilboa

Acked-by: Arnon Gilboa agil...@redhat.com

Yonit Halperin wrote:

same as 8927cfbba232e28304734f7afd463c1b84134031, but for qxl_check_state, that 
was
triggered by qxl_pre_load (which calls qxl_hard_reset, which calls 
qxl_soft_reset),
and caused the migration target to crash.
---
 hw/qxl.c |8 +++-
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index db7ae7a..7991e70 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -821,17 +821,15 @@ static void qxl_check_state(PCIQXLDevice *d)
 {
 QXLRam *ram = d-ram;
 
-assert(SPICE_RING_IS_EMPTY(ram-cmd_ring));

-assert(SPICE_RING_IS_EMPTY(ram-cursor_ring));
+assert(!d-ssd.running || SPICE_RING_IS_EMPTY(ram-cmd_ring));
+assert(!d-ssd.running || SPICE_RING_IS_EMPTY(ram-cursor_ring));
 }
 
 static void qxl_reset_state(PCIQXLDevice *d)

 {
-QXLRam *ram = d-ram;
 QXLRom *rom = d-rom;
 
-assert(!d-ssd.running || SPICE_RING_IS_EMPTY(ram-cmd_ring));

-assert(!d-ssd.running || SPICE_RING_IS_EMPTY(ram-cursor_ring));
+qxl_check_state(d);
 d-shadow_rom.update_id = cpu_to_le32(0);
 *rom = d-shadow_rom;
 qxl_rom_set_dirty(d);
  





[Qemu-devel] Re: Webcam solution for QEMU

2010-05-09 Thread Arnon Gilboa

Hello Albert,

First of all, I have done nothing in the qemu project for more than two 
years now. My last contribution to qemu were some usb 1.1 uhci/ohci 
patches for very basic support of webcams and other isochronous devices 
(accepted), and a preliminary patch for usb 2.0 ehci (rejected due to 
high res timer requirement). If I remember it correctly the usb 1.1 
worked reasonably on several webcams (mostly old ones, usb 1.1) and with 
low frames-per-second rate.


I guess since then there were some significant changes in the qemu usb 
code, so I cannot really answer your questions. Anyway, in the following 
week or two I will try to catch up with qemu current usb status and 
update you if I have any insight.


Forwarding your message to qemu-devel, so you may get some smarter answers.

Best Regards,
Arnon

Albert Orriols Puig wrote:


Hi Arnon,

I'm Albert Orriols-Puig, an assistant professor at La Salle -- Ramon 
Llull University (in Spain). Recently, we have started using a 
virtualization solution based on Open Suse + KVM + QEMU. Currently we 
have some machines that use this software and host two Windows 
operating systems: WinXP and Win7. The machines work quite well, that 
is, we have a quite good performance in both guest OS.


One of the key aspects that we need is to give support to webcams, 
since our users usually employ skype or similar software to make phone 
calls. However, we have realized that QEMU does not give direct 
support for webcams. We have searched for different patches, and found 
yours, which enables transfers in redirected host USB devices.


We have tried your patch in a machine with the two aforementioned 
hosts and a couple of logitech webcams. We have realized that the 
guest OS detected the existence of a webcam, but could not show the 
images of these webcams. In the WinXP system, the image was in black. 
In the Win7, he detected the webcam but didn't allow using it since an 
error popped up indicating that the webcam was blocked by another 
application. We have searched for other patches that may help us, but 
we were not successful.


So, I'm contacting you to ask you a couple of questions. First, in the 
patch notes it is mentioned that the system worked for some USB 1.1 
and USB 2.0 cameras on XP. Do you remember some of the specific 
webcams that you tried and worked? If so, could you tell me the models 
and any tweak you needed to do in the guest OS side to make them work? 
It would be great if we could make this work even if we have to adapt 
to particular webcams.


The second question is about the state of the progress on the support 
of devices in QEMU. I've seen in some forums that there are some 
people (including you ;)) working on QEMU to give support to different 
devices. Do you know if there will be new releases to support USB 
devices in a short time? We are specially interested in webcams, but 
we would also need other devices as well.


Let me thank you in advance for the time spend on reading this email!


Best,

Albert Orriols-Puig, PhD
La Salle -- Universitat Ramon Llull
email: aorri...@gmail.com
web: http://www.albertorriols.net http://www.albertorriols.net/









RE: [kvm-devel] [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

2008-03-01 Thread Arnon Gilboa
Can you give me some details about the device? 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Gerb Stralko
Sent: Friday, February 29, 2008 4:17 PM
To: Arnon Gilboa
Cc: [EMAIL PROTECTED]; qemu-devel@nongnu.org
Subject: Re: [kvm-devel] [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

On Fri, Feb 29, 2008 at 2:33 AM, Arnon Gilboa
[EMAIL PROTECTED] wrote:
 In hw/pc.c, replace usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);  
 With usb_ehci_init(pci_bus, piix3_devfn + 2);

With these changes.. I can't add the usb devices anymore to a Windows XP
(32 bit).

This is the command i use to start kvm:
/usr/local/bin/kvm/qemu-system-x86_64 -localtime -m 512 -usb -hda
win32xp.img

To add usb device i normally go to the qemu console and type:
info usbhost
find the number for my device i want to connect to usb_add
host:03f0:01cda

But with your patch, when i try to add a usb device i get:
Could not add 'USB device host:03f0:01cda'

Since i'm using EHCI emulation, do i need to add usb devices in a
different way? Or should it work exactly the same way?

Thanks,

Jerry

  Note my comments on the original post:
  -tested on XP guest
  -does not support ISO transfers
  -timing issues



  -Original Message-
  From: Gerb Stralko [mailto:[EMAIL PROTECTED]
  Sent: Thursday, February 28, 2008 9:46 PM
  To: Arnon Gilboa
  Cc: qemu-devel@nongnu.org; [EMAIL PROTECTED]
  Subject: Re: [kvm-devel] [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

Attached is a repost of the preliminary patch implementing USB 2.0

  EHCI  emulation.

  I want to start testing your patches for the EHCI stuff.   Do i need
  to enable anything inorder to get EHCI emulation working after 
 applying  your patch?

  Unfortunately, with this patch it doesn't work for me.  My guest host

 (windows vista) still became really slow when I add the a usb device.
  
Waiting for your comments,
Arnon
  

  Thanks,

  Jerry







RE: [kvm-devel] [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

2008-02-28 Thread Arnon Gilboa
In hw/pc.c, replace usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);
With usb_ehci_init(pci_bus, piix3_devfn + 2);
Note my comments on the original post:
-tested on XP guest
-does not support ISO transfers
-timing issues

-Original Message-
From: Gerb Stralko [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 28, 2008 9:46 PM
To: Arnon Gilboa
Cc: qemu-devel@nongnu.org; [EMAIL PROTECTED]
Subject: Re: [kvm-devel] [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

  Attached is a repost of the preliminary patch implementing USB 2.0 
 EHCI  emulation.

I want to start testing your patches for the EHCI stuff.   Do i need
to enable anything inorder to get EHCI emulation working after applying
your patch?

Unfortunately, with this patch it doesn't work for me.  My guest host
(windows vista) still became really slow when I add the a usb device.

  Waiting for your comments,
  Arnon


Thanks,

Jerry




RE: [Qemu-devel] USB support

2008-02-10 Thread Arnon Gilboa
The multi-config patch is already merged in Qemu 9.1 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Marek Zelem
Sent: Saturday, February 09, 2008 5:34 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] USB support


Hi

I want to inform you that I successfully attached my Canon MP830
(printer, scanner, fax) to Qemu via USB.
It was not easy, I had to pass though two stoppages.

1. There is no support for multi port/config (do not know proper term
for that) USB devices in Qemu. Meaning that if single USB device
provides multiple functionalities (like printer, scanner, fax) it will
be rejected by Qemu.
Fortunately there is patch for that available on internet page
http://www.wina.at/uni/html/linux-qemu.html
(qemu-0.9.0-usb-multi-configs.patch).

2. When I applied the patch I hit another issue. When the USB device is
not ready it is automatically switched to HALT state (if I understood it
correctly) and additional ioctl USBDEVFS_CLEAR_HALT is required to give
device another chance. Thus, I have written patch for that issue. The
patch I am sending as attachment.

When I applied both patches, everything worked fine. I suggest to
include those two patches in Qemu.

Best regards

Marek Zelem

--
  e-mail: [EMAIL PROTECTED]
  web: http://marek.terminus.sk/
  pgp key: http://marek.terminus.sk/gpg.txt





RE: [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

2008-01-08 Thread Arnon Gilboa
The WinXP guest seems to work fine with the timer resolution, accuracy
and latency of qemu. The problem with linux guests might be related to
this issue.
I will test the ehci emulation without the specified kernel config and
see how can we handle timing issues in a more qemu-oriented way. Any
tip?

Arnon

-Original Message-
From: Paul Brook [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 08, 2008 3:30 AM
To: qemu-devel@nongnu.org
Cc: Arnon Gilboa; KVM; Roni Luxenberg
Subject: Re: [Qemu-devel] [PATCH] USB 2.0 EHCI emulation

 -The host kernel was configured with dynamic tick  hi-res timers, to 
 allow the desired timer resolution. USB 2.0 microframe is 125usec.

Requiring a 8kHz timer is a non-starter.

The 100kHz retry timer is even more bogus. 

Qemu isn't capable of this kind of realtime response. You need to figure
out an implementation that doesn't require extremely fine grained
timers. In paractice you're unlikely to get better than 10ms timer
resolution, and 100ms latency isn't that uncommon.

Paul




RE: [Qemu-devel] high resolution timer question

2007-12-10 Thread Arnon Gilboa
The usb host controller emulations in qemu (usb-uhci  usb-ohci) use
QEMUTimer for 1 millisecond timer.
This precise interval is required for generating usb 1.1 frames.
I currently implement usb 2.0 host controller emulation for qemu
(usb-ehci).
It uses QEMUTimer for generating usb 2.0 microframes of 125 microsecond.
This resolution worked precisely only after compiling the host kernel
with high resolution timers and dynamic ticks.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Robert Reif
Sent: Monday, December 10, 2007 3:00 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] high resolution timer question

Writing data to a serial port on the sparc emulation happens
immediately.
I would like to throttle the write speed to match the actual baud rate. 
What's the best way to do this in qemu?  Will QEMUTimer work for a
1 millisecond timer?







RE: [Qemu-devel] USB performance Question

2007-11-26 Thread Arnon Gilboa
I have just copied 138 MByte (800 files) from a disk-on-key in 75 sec.
This is ~14.7Mbit/s, which is more than USB 1.1 full-speed. I have
checked it using KVM and WinXP guest. With QEMU only (-no-kvm), it took
130 sec, which is ~8.5 Mbit/sec.
If you can give some info about your USB device (configurations,
interfaces, endpoints etc.) and the transfers (isochronous? bulk?) , it
would help in solving this issue. 


From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Sunday, November 25, 2007 5:54 PM
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] USB performance Question


Thanks Arnon.

USB1 works really great even for complex streaming cameras!
Although it is just very very slow.
As mentioned I only get about 10kbit/s! which is something I dont
understand why.
I would have expected 1Mbit/s and could live with that.

If there are any test you want me to do please dont hesitate.

Cant wait for your USB2 implementation.
Great effort!




Arnon Gilboa wrote: 

I am in the middle of coding EHCI (USB 2.0) host controller
emulation.
It is supposed to support faster device speeds (480 Mbit/sec
instead of
USB 1.1 speeds - 1.5 or 12Mbit/sec). I will post it on the list
when it
basicly supports simple devices such as disk-on-key. Currently I
still
have some major problems with the scheduling of async and
periodic frame
lists.

I will check your comment regarding the speed and see what can
be done.
Anway, if you want to try to solve the issue yourself, the
relevant code
is in usb-linux.c (Linux host USB redirector) and the USB
UHCI/OHCI
controller emulations (hw/usb-uhci.c or hw/usb-ohci.c).

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of
[EMAIL PROTECTED]
Sent: Sunday, November 25, 2007 3:01 PM
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] USB performance Question

Does anyone have a comment about this?
It would be interesting to know where the USB development is
going as it
is extremely promising and the only small obstacle (i.m.o) for
full
feature device access.
The only remaining barrier is speed which should be improved.

I can look at the code if someone can point me to where in the
sources
the USB interface is.

thanks


[EMAIL PROTECTED] wrote:
  

I could get very complicated USB devices to work under
Qemu with 
Windows as guest, Linux as host.
This is pretty amazing development and I must
congratulate the Qemu 
developers.


The only problem is the USB speed.
I get only about 10kbit/s max!
This is measured by downloading a 1MByte scientific
camera image.


Is this the expected USB speed at the moment or is there
anything I 
can do to improve speed?

Thanks













  




Re: [Qemu-devel] USB performance Question

2007-11-25 Thread Arnon Gilboa
I am in the middle of coding EHCI (USB 2.0) host controller emulation.
It is supposed to support faster device speeds (480 Mbit/sec instead of
USB 1.1 speeds - 1.5 or 12Mbit/sec). I will post it on the list when it
basicly supports simple devices such as disk-on-key. Currently I still
have some major problems with the scheduling of async and periodic frame
lists.

I will check your comment regarding the speed and see what can be done.
Anway, if you want to try to solve the issue yourself, the relevant code
is in usb-linux.c (Linux host USB redirector) and the USB UHCI/OHCI
controller emulations (hw/usb-uhci.c or hw/usb-ohci.c).

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Sunday, November 25, 2007 3:01 PM
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] USB performance Question

Does anyone have a comment about this?
It would be interesting to know where the USB development is going as it
is extremely promising and the only small obstacle (i.m.o) for full
feature device access.
The only remaining barrier is speed which should be improved.

I can look at the code if someone can point me to where in the sources
the USB interface is.

thanks


[EMAIL PROTECTED] wrote:
 I could get very complicated USB devices to work under Qemu with 
 Windows as guest, Linux as host.
 This is pretty amazing development and I must congratulate the Qemu 
 developers.


 The only problem is the USB speed.
 I get only about 10kbit/s max!
 This is measured by downloading a 1MByte scientific camera image.


 Is this the expected USB speed at the moment or is there anything I 
 can do to improve speed?

 Thanks











RE: [Qemu-devel] USB Asynchronous I/O

2007-11-18 Thread Arnon Gilboa
Sorry, it was my mistake. I only meant it may require some changes in
ohci/uhci.

-Original Message-
From: Paul Brook [mailto:[EMAIL PROTECTED] 
Sent: Sunday, November 18, 2007 3:31 PM
To: qemu-devel@nongnu.org
Cc: Arnon Gilboa
Subject: Re: [Qemu-devel] USB Asynchronous I/O

 there might be
 some issues in the ohci/uhci because they currently assume only 
 isochronous transfers are async.

That's definitely incorrect. The USB mass storage emulation uses async
bulk transfers.

Paul




RE: [Qemu-devel] USB Asynchronous I/O

2007-11-15 Thread Arnon Gilboa
I believe you can do it similar to the way I did for isochronous
transfers in usb-linux.c.
Remember that using SUBMITURB and REAPURBNDELAY ioctls, you need to add
another signal and signal handler for the async bulk, and there might be
some issues in the ohci/uhci because they currently assume only
isochronous transfers are async. A minute ago I tried to implement the
bulk transfers using SUBMITURB and REAPURB (which blocks until response)
but it seems to hang qemu upon connecting a disk-on-key.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Salil Bijur
Sent: Wednesday, November 14, 2007 11:49 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] USB Asynchronous I/O

Hello,

I've been testing Bluetooth-USB in QEMU for an arm-based processor with
a Linux guest.

When a bluetooth dongle is added, there is a continuous sending of bulk
and interrupt packets synchronously (using the USBDEVFS_BULK
ioctl) making qemu extremely slow and unusable.
I wanted to know if it is a good idea to send these bulk and interrupt
transfers asynchronously using the SUBMITURB and REAPURBNDELAY ioctls in
a way similar as isochronous transfers in usb-linux.c.
Is there any reason why only isochronous packets are being sent
asynchronously when the same can be done for other types?

Thanks,
Salil






RE: [Qemu-devel] No cancel callback for usb-ohci

2007-11-08 Thread Arnon Gilboa
Seems like an ugly bug (common also to uhci), which I haven't noticed
before.
I guess this scenario has never happened to me. Can you please describe
it? 
Call usb_defer_packet with cancel_cb which flags the packet, so the
following usb_packet_complete will be ignored.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Salil Bijur
Sent: Thursday, November 08, 2007 8:51 AM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] No cancel callback for usb-ohci

Hello,

There is a call to the function usb_cancel_packet in hw/usb-ohci.c.
However, there is no cancel_cb callback registered for the
ohci-usb_packet resulting in a segmentation fault.

Are there any plans to implement this cancel callback?

Thanks,
Salil






RE: [Qemu-devel] No cancel callback for usb-ohci

2007-11-08 Thread Arnon Gilboa
You may add a flag to USBPacket and raise it upon your
ohci_async_cancel_packet.
ohci_async_complete_packet will check this flag and do nothing if it is
up.
Am I missing something?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Salil Bijur
Sent: Thursday, November 08, 2007 12:47 PM
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] No cancel callback for usb-ohci

Hi Arnon,

On Nov 8, 2007 3:28 PM, Arnon Gilboa [EMAIL PROTECTED] wrote:
 Seems like an ugly bug (common also to uhci), which I haven't noticed 
 before.
 I guess this scenario has never happened to me. Can you please 
 describe it?

What I'm trying to do is to prevent the lag caused by the USBDEVFS_BULK
ioctl and instead send the bulk transfers asynchronously using the
USBDEVFS_SUBMITURB ioctl. I'm taking the help of the patch you had sent
for isochronous packets.

This scenario occurs when the usb bluetooth dongle is added to the linux
guest and its interface is brought up.

 Call usb_defer_packet with cancel_cb which flags the packet, so the 
 following usb_packet_complete will be ignored.

To call usb_defer_packet, there needs to be a callback function like the
usb_msd_cancel_io function used in hw/usb-msd.c:
usb_defer_packet(p, usb_msd_cancel_io, s);

There doesn't seem to be a similar cancel_cb callback for ohci. An empty
stub function prevents this crash, but should it be doing more stuff
like the msd one does?

Salil



 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf 
 Of Salil Bijur
 Sent: Thursday, November 08, 2007 8:51 AM
 To: qemu-devel@nongnu.org
 Subject: [Qemu-devel] No cancel callback for usb-ohci

 Hello,

 There is a call to the function usb_cancel_packet in hw/usb-ohci.c.
 However, there is no cancel_cb callback registered for the
 ohci-usb_packet resulting in a segmentation fault.

 Are there any plans to implement this cancel callback?

 Thanks,
 Salil











[Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers support

2007-10-22 Thread Arnon Gilboa
Hi,

The attached patch adds isochronous transfers support to the OHCI
emulation, similarly to the UHCI patch pushed two weeks ago.

In order to use ohci instead of uhci, replace the following line in
pc.c:
usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);

With:
usb_ohci_init_pci(pci_bus, 3, piix3_devfn + 2);

Any comments?


usb-ohci-iso.patch
Description: usb-ohci-iso.patch


RE: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers support

2007-10-22 Thread Arnon Gilboa
Good idea 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Dor Laor
Sent: Monday, October 22, 2007 12:45 PM
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers
support

Arnon Gilboa wrote:

 Hi,

 The attached patch adds isochronous transfers support to the OHCI 
 emulation, similarly to the UHCI patch pushed two weeks ago.

 In order to use ohci instead of uhci, replace the following line in
 pc.c:
 usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);

 With:
 usb_ohci_init_pci(pci_bus, 3, piix3_devfn + 2);

 Any comments?

What about making it dynamically set by cmdline?
Dor






RE: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers support

2007-10-22 Thread Arnon Gilboa
no. uhci  ohci are for usb 1.1. ehci is for usb 2.0 and i have just
started working on its qemu emulation.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Itamar Heim
Sent: Monday, October 22, 2007 12:30 PM
To: qemu-devel@nongnu.org
Subject: RE: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers
support

So this is isochronous for usb 2.0?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Arnon Gilboa
Sent: Monday, October 22, 2007 12:19 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers
support

Hi,

The attached patch adds isochronous transfers support to the OHCI
emulation, similarly to the UHCI patch pushed two weeks ago.

In order to use ohci instead of uhci, replace the following line in
pc.c:
usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);

With:
usb_ohci_init_pci(pci_bus, 3, piix3_devfn + 2);

Any comments?






[Qemu-devel] Redirect your Webcam

2007-10-22 Thread Arnon Gilboa
Please connect your Webcam (or any other USB isochronous device) and
redirect it, using the UHCI (already in qemu head) and OHCI isochronous
patches.

I need your feedback.

TIA,
Arnon




RE: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers support

2007-10-22 Thread Arnon Gilboa
Thanks, Paul.
The attached updated patch seems to fix this bug.
Comments? 

-Original Message-
From: Paul Brook [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 22, 2007 1:53 PM
To: qemu-devel@nongnu.org
Cc: Arnon Gilboa
Subject: Re: [Qemu-devel] [PATCH, RFC] USB OHCI isochronous transfers
support

On Monday 22 October 2007, Arnon Gilboa wrote:
 Hi,

 The attached patch adds isochronous transfers support to the OHCI 
 emulation, similarly to the UHCI patch pushed two weeks ago.

 +uint16_t offset[8];
 +};

 +static inline int ohci_read_iso_td(uint32_t addr, struct ohci_iso_td 
 +*td) {
 +return get_dwords(addr, (uint32_t *)td, sizeof(*td)  2); }

This is wrong. It will break on big-endian hosts.
set_dwords only DTRT if all the structure fields are 32-bit.

Paul


usb-ohci-iso.patch
Description: usb-ohci-iso.patch


[Qemu-devel] [PATCH] usb-linux iso: use pipe instead of bh

2007-10-07 Thread Arnon Gilboa
When handling the isocronous completion signals, use O_NONBLOCK pipe
instead of bottom halves for thread-safety. 


usb-linux.patch
Description: usb-linux.patch


RE: [Qemu-devel] EHCI emulation patch

2007-09-30 Thread Arnon Gilboa
I was in contact with Mark about 2 month ago. He told me that the
company he has developed the ehci emulation for won't let him release to
open source until the project is finished, which looks to be end of 2007
at least.  If that changes he'll post the patch to the list.  



From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Per ?strand
Sent: Friday, September 28, 2007 11:00 AM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] EHCI emulation patch


Hi! 

Has anyone seen the ehci emulation patch lately? I have tried to find
it, but so far no luck!

Help, anyone?

Mark, are you still there?

/Per


On 12/24/06, Mark B 
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]  wrote:
 Dear list,

 Just a quick note to let you know I have almost finished an
implementation
 of an EHCI host controller for USB (usb-ehci.c) for qemu. I am testing
with

 an XP guest and so far I have a mass storage flash key, a mouse and a
tablet
 working. I haven't yet implemented isochronous or split transactions
 though. It doesn't do companion controller hand-offs for low or full
speed

 devices either but Windows XP doesn't mind that I am attaching
low/full
 speed devices through EHCI (I believe Linux guests won't like this).

 I have asked the company I am working for to give me permission to GPL
the

 module and so far they are agreeable. So I am planning to clean up and
have
 an initial version for check in early in the new year. If anyone has
any
 inputs, please do let me know. I'm new to qemu development so am not
sure

 of checkin etiquette, etc. Pointers in that regard appreciated too.

 Cheers,

 Mark




 ___
 Qemu-devel mailing list

 Qemu-devel@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/qemu-devel







[Qemu-devel] [PATCH] Redirected USB devices isochronous support

2007-09-12 Thread Arnon Gilboa
Attached is a preliminary patch for supporting isochronous transfers in
redirected host USB devices. The initial goal was supporting USB 1.1
Webcam. Tested on several Webcams. Works on USB 1.1 Webcams, as well as
most USB 2.0 Webcams (backward compatibility) on low resolutions. Some
jitter is visible in the video stream, and it will be fixed. 

 

Notice USE_ASYNCIO, which defines whether to use signal based async io
or polling for receiving urbs. Currently it is disabled, so polling is
used, but it does not seem to affect the performance because it uses the
non-blocking USBDEVFS_REAPURBNDELAY ioctl. In order to use the signal
based async io, a further  patch to usb-uhci.c will be posted.

 

The patch includes parts of previous patches posted in Qemu-devel:
usb_host_update_interfaces (from qemu-0.9.0-usb-multi-configs.patch),
usb_linux_update_endp_table (qemu-usb-host-async.patch) as well as some
other lines of code.

 

I am starting to work on the ehci emulation for fully supporting USB 2.0
isochronous devices.

 

Waiting for your comments,

Arnon



qemu-usb-isoch.patch
Description: qemu-usb-isoch.patch