On 10/12/2010 07:58 AM, Alon Levy wrote:
This patch adds a new device, it is described in full in the second patch
intro and also in the documentation in docs. In brief it provides a standard
smart card reader device.

The first patch is the configure change and docs.
The second patch contains the actual device, I couldn't figure out a good
way to split it to ease review.

v2 changed:
  * all QSIMPLEQ turned into fixed sized rings
  * all allocated buffers turned into fixed size buffers
  * added migration support
  * added a message to tell client qemu has migrated to ip:port
   * for lack of monitor commands ip:port are 0:0, which causes the updated
    vscclient to connect to one port higher on the same host. will add monitor
    commands in a separate patch. tested with current setup.

This is way too much magic to live within a device. Devices manage reconnecting themselves during migration. When you create the destination qemu instance, you specify what to connect to.

IOW,

On the source:

qemu -chardev tcp:localhost:1025,id=foo -usbdevice ccid,chardev=foo ...

On the destination:

qemu -chardev tcp:localhost:1026,id=foo -usbdevice ccid,chardev=foo -incoming tcp:0.0.0.0:1024 ...

A connection happens when the device is created.

But now I'm even further confused then when I first reviewed it.. If you're now supporting migration, does that mean that you're relying on the daemon to emulate the device?

Regards,

Anthony Liguori

Alon Levy (2):
   usb-ccid: add CCID device. add configure option.
   usb-ccid: add CCID device (device itself)

  Makefile.objs      |    1 +
  configure          |   12 +
  docs/usb-ccid.txt  |  115 +++++
  hw/usb-ccid.c      | 1376 ++++++++++++++++++++++++++++++++++++++++++++++++++++
  hw/vscard_common.h |  131 +++++
  5 files changed, 1635 insertions(+), 0 deletions(-)
  create mode 100644 docs/usb-ccid.txt
  create mode 100644 hw/usb-ccid.c
  create mode 100644 hw/vscard_common.h



Reply via email to