[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/16] usb-ccid (v18)
From: |
Alon Levy |
Subject: |
Re: [Qemu-devel] [PATCH 00/16] usb-ccid (v18) |
Date: |
Mon, 7 Feb 2011 17:44:14 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Feb 07, 2011 at 07:12:52AM -0600, Anthony Liguori wrote:
> On 02/07/2011 05:03 AM, Alon Levy wrote:
> >Hi,
> >
> > I have a v19 waiting to be sent, but it's basically the same just
> >with patches folded were appropriate, and the fixes Markus pointed
> >out for the Enumeration property type.
> >
> > I guess I'll wait a little longer for more feedback? Should I split
> >the enum property separately? it's only used by ccid-card-emualted atm.
>
> The only non-cosmetic concern I have about your series is the enum
> property so I would strongly suggest splitting it. If you did that
> for v19, it will be pretty close to merge ready.
>
Eric,
How does this affect libvirt? could you assume a default set of backends
if "-device ccid-card-emulated,?" returns "backend=string" instead of
"backend=A/B" ?
Alon
> Regards,
>
> Anthony Liguori
>
> >Alon
> >
> >On Fri, Feb 04, 2011 at 12:45:36AM +0200, Alon Levy wrote:
> >>This patchset adds three new devices, usb-ccid, ccid-card-passthru and
> >>ccid-card-emulated, providing a CCID bus, a simple passthru protocol
> >>implementing card requiring a client, and a standalone emulated card.
> >>
> >>It also introduces a new directory libcaccard with CAC card emulation,
> >>CAC is a type of ISO 7816 smart card.
> >>
> >>Tree for pull: git://anongit.freedesktop.org/~alon/qemu usb_ccid.v18
> >>
> >>v17-v18 changes:
> >> * merge vscard_common.h patches.
> >> * actually provide a tree to pull.
> >>
> >>v16-v17 changes:
> >> * merged all the "v15->v16" patches
> >> * merged some more wherever it was easy (all same file commits).
> >> * added signed off by to first four patches
> >> * ccid.h: added copyright, removed underscore in defines, and replaced
> >> non C89 comments
> >>
> >>v15-v16 changes:
> >> * split vscard_common introducing patch for ease of review
> >> * sum of commit logs for the v15-v16 commits: (whitespace fixes
> >> removed for space, see original commit messages in later patches)
> >> * usb-ccid:
> >> * fix abort on client answer after card remove
> >> * enable migration
> >> * remove side affect code from asserts
> >> * return consistent self-powered state
> >> * mask out reserved bits in ccid_set_parameters
> >> * add missing abRFU in SetParameters (no affect on linux guest)
> >> * vscard_common.h protocol change:
> >> * VSCMsgInit capabilities and magic
> >> * removed ReaderResponse, will use Error instead with code==VSC_SUCCESS.
> >> * added Flush and FlushComplete, remove Reconnect.
> >> * define VSCARD_MAGIC
> >> * added error code VSC_SUCCESS.
> >> * ccid-card-passthru
> >> * return correct size
> >> * return error instead of assert if client sent too large ATR
> >> * don't assert if client sent too large a size, but add asserts for
> >> indices to buffer
> >> * reset vscard_in indices on chardev disconnect
> >> * handle init from client
> >> * error if no chardev supplied
> >> * use ntoh, hton
> >> * eradicate reader_id_t
> >> * remove Reconnect usage (removed from VSCARD protocol)
> >> * send VSC_SUCCESS on card insert/remove and reader add/remove
> >> * ccid-card-emulated
> >> * fix error reporting in initfn
> >>
> >>v14-v15 changes:
> >> * add patch with --enable-smartcard and --disable-smartcard and only
> >> disable ccid-card-emulated if nss not found.
> >> * add patch with description strings
> >> * s/libcaccard/libcacard/ in docs/ccid.txt
> >>
> >>v13-v14 changes:
> >> - support device_del/device_add on ccid-card-* and usb-ccid
> >> * usb-ccid:
> >> * lose card reference when card device deleted
> >> * check slot number and deny adding a slot if one is already added.
> >> * ccid-card-*: use qdev_simple_unplug_cb in both emulated and passthru
> >> ccid cards,
> >> the exitfn already takes care of triggering card removal in the usb dev.
> >> * libcacard:
> >> * remove double include of config-host.mak
> >> * add replay of card events to libcacard to support second and more
> >> emulation
> >> * don't initialize more then once (doesn't support it right now, so one
> >> thread, NSS thread, is left when device_del is done)
> >> * add VCARD_EMUL_INIT_ALREADY_INITED
> >> * ccid-card-emulated:
> >> * take correct mutexes on signaling to fix deadlocks on device_del
> >> * allow card insertion/removal event without proper reader insertion
> >> event
> >>
> >>v12-v13 changes:
> >> * libcacard:
> >> * fix Makefile clean to remove vscclient
> >> * fix double include of config-host in Makefile
> >> * usb-ccid: remove attach/detach logic, usb is always attached. Guest
> >> doesn't care if there is a reader attached with no card anyway.
> >> * ccid-card-passthru: don't close chr_dev on removal, makes it possible
> >> to use device_del/device_add to create remove/insertion for debugging.
> >>
> >>v11-v12 changes:
> >> * fix out of tree build
> >>
> >>v10-v11 changes:
> >> * fix last patch that removed one of the doc files.
> >> * updated flow table in docs/ccid.txt
> >>
> >>v8-v10 changes:
> >> * usb-ccid:
> >> * add slot for future use (Gerd)
> >> * ifdef ENABLE_MIGRATION for migration support on account of usb
> >> migration not being ready in general. (Gerd)
> >> * verbosified commit messages. (Gerd)
> >> * put libcacard docs in libcacard commit. (Gerd)
> >>
> >>v8-v9 changes:
> >> * Blue Swirl comments:
> >> * white space fixes
> >> * enabled by default, disabled only if missing nss
> >> * forgotten fix from v8 (don't build libcacard.so)
> >> * added a note about device being little endian
> >> * library renamed from libcaccard to libcacard
> >> * squashed both of libcacard patches, they touched different files anyway.
> >>
> >>v7-v8 changes:
> >> * Blue Swirl comments:
> >> * usb-ccid: deannonymize some structs
> >> * usb-ccid: coding style change - answer_t and bulk_in_t fixed
> >> * usb-ccid: handle endianess conversion between guest and host
> >> * usb-ccid: s/ccid_bulk_in_copy_out/ccid_bulk_in_copy_to_guest/
> >> * ccid-card-emulated: fix segfault if backend not specified
> >> * ccid-card-emulated: let last reader inserted win
> >> * libcaccard: remove double vscard_common.h
> >>
> >>v6->v7 changes:
> >> * external libcaccard became internal directory libcaccard
> >> * statically link object files into qemu
> >> * produce libcaccard.so for usage by external projects
> >> * applied coding style to new code (please check me)
> >> - did not use the qemu options parsing for libcaccard, since
> >> it seems to draw large amounts of qemu code (monitor for instance).
> >>
> >>v5->v6 changes:
> >> * really remove static debug (I apologize for claiming to have done so
> >> before)
> >>
> >>v4->v5 changes:
> >> * rebased to latest
> >> * remove static debug in card devices
> >> * fix --enable-smartcard to link
> >> * stall instead of assert when exceeding BULK_OUT_DATA_SIZE
> >> * make ccid_reserve_recv_buf for too large len discard message, not exit
> >> * make ccid_reserve_recv_buf return void*
> >> * fix typo
> >> * remove commented code in VMState
> >>
> >>v3->v4:
> >> * remove ccid field in CCIDBus
> >> * remove static debug in bus
> >> * add back docs
> >>
> >>v2->v3:
> >> * split into bus (usb-ccid.c, uses ccid.h) and card
> >> (ccid-card-passthru.c).
> >> * removed documentation (being revised).
> >>
> >>v1->v2:
> >> * 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.
> >>
> >>Alon Levy (15):
> >> qdev: add print_options callback
> >> qdev: add data pointer to Property
> >> qdev-properties: add PROP_TYPE_ENUM
> >> qdev-properties: parse_enum: don't cast a void*
> >> usb-ccid: add CCID bus
> >> introduce libcacard/vscard_common.h
> >> ccid: add passthru card device
> >> ccid: add ccid-card-emulated device (v2)
> >> ccid: add docs
> >> ccid: configure: add --enable/disable and nss only disable
> >> ccid: add qdev description strings
> >> smartcard,configure: add --enable-smartcard-nss, report only nss
> >> smartcard,configure: report only nss
> >> ccid-card-emulated: don't link with NSS if --disable-smartcard-nss
> >> ccid.h: add copyright, fix define and remove non C89 comments
> >>
> >>Robert Relyea (1):
> >> libcacard: initial commit
> >>
> >> Makefile | 6 +-
> >> Makefile.objs | 7 +
> >> Makefile.target | 2 +
> >> configure | 60 ++
> >> docs/ccid.txt | 135 +++++
> >> docs/libcacard.txt | 483 +++++++++++++++
> >> hw/ccid-card-emulated.c | 551 ++++++++++++++++++
> >> hw/ccid-card-passthru.c | 329 +++++++++++
> >> hw/ccid.h | 51 ++
> >> hw/qdev-properties.c | 60 ++
> >> hw/qdev.c | 10 +-
> >> hw/qdev.h | 17 +
> >> hw/usb-ccid.c | 1353
> >> +++++++++++++++++++++++++++++++++++++++++++
> >> libcacard/Makefile | 14 +
> >> libcacard/cac.c | 411 +++++++++++++
> >> libcacard/cac.h | 20 +
> >> libcacard/card_7816.c | 780 +++++++++++++++++++++++++
> >> libcacard/card_7816.h | 60 ++
> >> libcacard/card_7816t.h | 163 ++++++
> >> libcacard/event.c | 112 ++++
> >> libcacard/eventt.h | 28 +
> >> libcacard/link_test.c | 20 +
> >> libcacard/mutex.h | 59 ++
> >> libcacard/passthru.c | 612 +++++++++++++++++++
> >> libcacard/passthru.h | 50 ++
> >> libcacard/vcard.c | 350 +++++++++++
> >> libcacard/vcard.h | 85 +++
> >> libcacard/vcard_emul.h | 62 ++
> >> libcacard/vcard_emul_nss.c | 1192 +++++++++++++++++++++++++++++++++++++
> >> libcacard/vcard_emul_type.c | 60 ++
> >> libcacard/vcard_emul_type.h | 29 +
> >> libcacard/vcardt.h | 66 +++
> >> libcacard/vevent.h | 26 +
> >> libcacard/vreader.c | 526 +++++++++++++++++
> >> libcacard/vreader.h | 54 ++
> >> libcacard/vreadert.h | 23 +
> >> libcacard/vscard_common.h | 167 ++++++
> >> libcacard/vscclient.c | 743 ++++++++++++++++++++++++
> >> 38 files changed, 8773 insertions(+), 3 deletions(-)
> >> create mode 100644 docs/ccid.txt
> >> create mode 100644 docs/libcacard.txt
> >> create mode 100644 hw/ccid-card-emulated.c
> >> create mode 100644 hw/ccid-card-passthru.c
> >> create mode 100644 hw/ccid.h
> >> create mode 100644 hw/usb-ccid.c
> >> create mode 100644 libcacard/Makefile
> >> create mode 100644 libcacard/cac.c
> >> create mode 100644 libcacard/cac.h
> >> create mode 100644 libcacard/card_7816.c
> >> create mode 100644 libcacard/card_7816.h
> >> create mode 100644 libcacard/card_7816t.h
> >> create mode 100644 libcacard/event.c
> >> create mode 100644 libcacard/eventt.h
> >> create mode 100644 libcacard/link_test.c
> >> create mode 100644 libcacard/mutex.h
> >> create mode 100644 libcacard/passthru.c
> >> create mode 100644 libcacard/passthru.h
> >> create mode 100644 libcacard/vcard.c
> >> create mode 100644 libcacard/vcard.h
> >> create mode 100644 libcacard/vcard_emul.h
> >> create mode 100644 libcacard/vcard_emul_nss.c
> >> create mode 100644 libcacard/vcard_emul_type.c
> >> create mode 100644 libcacard/vcard_emul_type.h
> >> create mode 100644 libcacard/vcardt.h
> >> create mode 100644 libcacard/vevent.h
> >> create mode 100644 libcacard/vreader.c
> >> create mode 100644 libcacard/vreader.h
> >> create mode 100644 libcacard/vreadert.h
> >> create mode 100644 libcacard/vscard_common.h
> >> create mode 100644 libcacard/vscclient.c
> >>
> >>--
> >>1.7.4
> >>
> >>
>
>
- [Qemu-devel] [PATCH 09/16] ccid: add ccid-card-emulated device (v2), (continued)
- [Qemu-devel] [PATCH 09/16] ccid: add ccid-card-emulated device (v2), Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 12/16] ccid: add qdev description strings, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 13/16] smartcard, configure: add --enable-smartcard-nss, report only nss, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 14/16] smartcard,configure: report only nss, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 15/16] ccid-card-emulated: don't link with NSS if --disable-smartcard-nss, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 16/16] ccid.h: add copyright, fix define and remove non C89 comments, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 11/16] ccid: configure: add --enable/disable and nss only disable, Alon Levy, 2011/02/03
- [Qemu-devel] [PATCH 08/16] libcacard: initial commit, Alon Levy, 2011/02/03
- Re: [Qemu-devel] [PATCH 00/16] usb-ccid (v18), Alon Levy, 2011/02/07