From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=56201 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PmR3Y-00063W-QD for qemu-devel@nongnu.org; Mon, 07 Feb 2011 08:23:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PmQtl-0002pf-H6 for qemu-devel@nongnu.org; Mon, 07 Feb 2011 08:12:59 -0500 Received: from mail-ww0-f53.google.com ([74.125.82.53]:51055) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PmQtl-0002pZ-9r for qemu-devel@nongnu.org; Mon, 07 Feb 2011 08:12:57 -0500 Received: by wwi18 with SMTP id 18so4464397wwi.10 for ; Mon, 07 Feb 2011 05:12:56 -0800 (PST) Message-ID: <4D4FEFD4.3090109@codemonkey.ws> Date: Mon, 07 Feb 2011 07:12:52 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 00/16] usb-ccid (v18) References: <1296773152-23279-1-git-send-email-alevy@redhat.com> <20110207110306.GC5754@playa.tlv.redhat.com> In-Reply-To: <20110207110306.GC5754@playa.tlv.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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. 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 >> >> >> >