From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58899 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PerRg-000872-HV for qemu-devel@nongnu.org; Mon, 17 Jan 2011 10:56:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PerRf-0002qO-0b for qemu-devel@nongnu.org; Mon, 17 Jan 2011 10:56:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:63846) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PerRe-0002pu-LT for qemu-devel@nongnu.org; Mon, 17 Jan 2011 10:56:38 -0500 Date: Mon, 17 Jan 2011 17:56:28 +0200 From: Alon Levy Subject: Re: [Qemu-devel] [PATCH 0/7] usb-ccid (v15) Message-ID: <20110117155627.GA29981@playa.tlv.redhat.com> References: <1294735359-4009-1-git-send-email-alevy@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1294735359-4009-1-git-send-email-alevy@redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Ping On Tue, Jan 11, 2011 at 10:42:31AM +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.v15 > > 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 (6): > usb-ccid: add CCID bus > 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 > > Robert Relyea (1): > libcacard: initial commit after coding style fixes > > Makefile | 6 +- > Makefile.objs | 7 + > Makefile.target | 2 + > configure | 48 ++ > docs/ccid.txt | 135 +++++ > docs/libcacard.txt | 483 +++++++++++++++ > hw/ccid-card-emulated.c | 535 +++++++++++++++++ > hw/ccid-card-passthru.c | 273 +++++++++ > hw/ccid.h | 35 ++ > hw/usb-ccid.c | 1356 +++++++++++++++++++++++++++++++++++++++++++ > 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/config.h | 81 +++ > 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 | 1171 +++++++++++++++++++++++++++++++++++++ > 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 | 130 ++++ > libcacard/vscclient.c | 710 ++++++++++++++++++++++ > 36 files changed, 8580 insertions(+), 2 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/config.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.3.4 > >