From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 00/16] usb-ccid (v18)
Date: Mon, 07 Feb 2011 07:12:52 -0600 [thread overview]
Message-ID: <4D4FEFD4.3090109@codemonkey.ws> (raw)
In-Reply-To: <20110207110306.GC5754@playa.tlv.redhat.com>
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
>>
>>
>>
>
next prev parent reply other threads:[~2011-02-07 13:23 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-03 22:45 [Qemu-devel] [PATCH 00/16] usb-ccid (v18) Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 01/16] qdev: add print_options callback Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 02/16] qdev: add data pointer to Property Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 03/16] qdev-properties: add PROP_TYPE_ENUM Alon Levy
2011-02-07 8:53 ` Markus Armbruster
2011-02-07 10:43 ` Alon Levy
2011-02-07 13:15 ` Anthony Liguori
2011-02-07 14:05 ` Markus Armbruster
2011-02-07 14:21 ` Anthony Liguori
2011-02-07 14:14 ` Alon Levy
2011-02-07 14:49 ` Anthony Liguori
2011-02-07 15:23 ` Anthony Liguori
2011-02-07 14:00 ` Markus Armbruster
2011-02-07 14:27 ` Alon Levy
2011-02-08 15:34 ` Alon Levy
2011-02-08 15:47 ` Markus Armbruster
2011-02-07 13:20 ` Anthony Liguori
2011-02-03 22:45 ` [Qemu-devel] [PATCH 04/16] qdev-properties: parse_enum: don't cast a void* Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 05/16] usb-ccid: add CCID bus Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 06/16] introduce libcacard/vscard_common.h Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 07/16] ccid: add passthru card device Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 08/16] libcacard: initial commit Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 09/16] ccid: add ccid-card-emulated device (v2) Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 10/16] ccid: add docs Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 11/16] ccid: configure: add --enable/disable and nss only disable Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 12/16] ccid: add qdev description strings Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 13/16] smartcard, configure: add --enable-smartcard-nss, report only nss Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 14/16] smartcard,configure: " Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 15/16] ccid-card-emulated: don't link with NSS if --disable-smartcard-nss Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 16/16] ccid.h: add copyright, fix define and remove non C89 comments Alon Levy
2011-02-07 11:03 ` [Qemu-devel] [PATCH 00/16] usb-ccid (v18) Alon Levy
2011-02-07 13:12 ` Anthony Liguori [this message]
2011-02-07 15:44 ` Alon Levy
2011-02-07 15:56 ` Eric Blake
2011-02-07 18:00 ` Alon Levy
2011-02-07 19:31 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D4FEFD4.3090109@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.