qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Alon Levy <alevy@redhat.com>
Cc: Jes.Sorensen@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v21 00/11] usb-ccid
Date: Mon, 21 Mar 2011 14:31:02 +0100	[thread overview]
Message-ID: <4D875316.8060804@redhat.com> (raw)
In-Reply-To: <1300373376-13890-1-git-send-email-alevy@redhat.com>

Ack series

Acked-by: Hans de Goede <hdegoede@redhat.com>

On 03/17/2011 03:49 PM, 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.v20
>
> v20->v21 changes:
>   * all: cosmetics
>   * libcacard, ccid-card-passthru:
>    * use qemu-{malloc,free} and qemu-thread, error_report
>   * libcacard:
>    * split to multiple patches
>
> v19->v20 changes:
>   * checkpatch.pl. Here are the remaining errors with explanation:
>    * ignored 5 macro errors of the type
>     "ERROR: Macros with complex values should be enclosed in parenthesis"
>     because fixing them breaks current code, if it really bothers someone
>     I can fix it.
>     * four of them are in libcacard/card_7816t.h:
>     /* give the subfields a unified look */
>     ..
> #define a_cla a_header->ah_cla /* class */
> #define a_ins a_header->ah_ins /* instruction */
> #define a_p1 a_header->ah_p1   /* parameter 1 */
> #define a_p2 a_header->ah_p2   /* parameter 2 */
>     * and the fifth:
> #4946: FILE: libcacard/vcardt.h:31:
> +#define VCARD_ATR_PREFIX(size) 0x3b, 0x66+(size), 0x00, 0xff, \
> +                               'V', 'C', 'A', 'R', 'D', '_'
>    * Ignored this warning since I couldn't figure it out, and it's a test
>     file:
> WARNING: externs should be avoided in .c files
> #2343: FILE: libcacard/link_test.c:7:
> +VCardStatus cac_card_init(const char *flags, VCard *card,
>
> v18-v19 changes:
>   * more merges, down to a single digit number of patches.
>   * drop enumeration property, use string.
>   * rebased (trivial)
>
> 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 (7):
>    trace: move trace objects from Makefile to Makefile.objs
>    qemu-thread.h: include inttypes.h
>    usb-ccid: add CCID bus
>    introduce libcacard/vscard_common.h
>    ccid: add passthru card device
>    ccid: add ccid-card-emulated device
>    ccid: add docs
>
> Robert Relyea (4):
>    libcacard: initial commit
>    libcacard: add vscclient
>    libcacard: add passthru
>    libcacard: add docs
>
>   Makefile                    |   38 +-
>   Makefile.objs               |   39 ++
>   Makefile.target             |    2 +
>   configure                   |   60 ++
>   docs/ccid.txt               |  135 ++++
>   docs/libcacard.txt          |  483 +++++++++++++++
>   hw/ccid-card-emulated.c     |  595 ++++++++++++++++++
>   hw/ccid-card-passthru.c     |  341 +++++++++++
>   hw/ccid.h                   |   59 ++
>   hw/usb-ccid.c               | 1419 +++++++++++++++++++++++++++++++++++++++++++
>   libcacard/Makefile          |   22 +
>   libcacard/cac.c             |  406 ++++++++++++
>   libcacard/cac.h             |   23 +
>   libcacard/card_7816.c       |  763 +++++++++++++++++++++++
>   libcacard/card_7816.h       |   62 ++
>   libcacard/card_7816t.h      |  165 +++++
>   libcacard/event.c           |  108 ++++
>   libcacard/eventt.h          |   29 +
>   libcacard/link_test.c       |   21 +
>   libcacard/passthru.c        |  609 +++++++++++++++++++
>   libcacard/passthru.h        |   53 ++
>   libcacard/vcard.c           |  341 +++++++++++
>   libcacard/vcard.h           |   86 +++
>   libcacard/vcard_emul.h      |   65 ++
>   libcacard/vcard_emul_nss.c  | 1159 +++++++++++++++++++++++++++++++++++
>   libcacard/vcard_emul_type.c |   63 ++
>   libcacard/vcard_emul_type.h |   32 +
>   libcacard/vcardt.h          |   64 ++
>   libcacard/vevent.h          |   27 +
>   libcacard/vreader.c         |  519 ++++++++++++++++
>   libcacard/vreader.h         |   55 ++
>   libcacard/vreadert.h        |   24 +
>   libcacard/vscard_common.h   |  178 ++++++
>   libcacard/vscclient.c       |  746 +++++++++++++++++++++++
>   qemu-thread.h               |    2 +
>   35 files changed, 8759 insertions(+), 34 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/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
>

      parent reply	other threads:[~2011-03-21 13:28 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-17 14:49 [Qemu-devel] [PATCH v21 00/11] usb-ccid Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 01/11] trace: move trace objects from Makefile to Makefile.objs Alon Levy
2011-03-17 15:00   ` Alon Levy
2011-03-17 16:45     ` Stefan Hajnoczi
2011-03-17 17:23       ` Alon Levy
2011-03-21 12:28         ` Stefan Hajnoczi
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 02/11] qemu-thread.h: include inttypes.h Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 03/11] usb-ccid: add CCID bus Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 04/11] introduce libcacard/vscard_common.h Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 05/11] ccid: add passthru card device Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 06/11] libcacard: initial commit Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 07/11] libcacard: add vscclient Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 08/11] libcacard: add passthru Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 09/11] libcacard: add docs Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 10/11] ccid: add ccid-card-emulated device Alon Levy
2011-03-17 14:49 ` [Qemu-devel] [PATCH v21 11/11] ccid: add docs Alon Levy
2011-03-21 11:33 ` [Qemu-devel] [PATCH v21 00/11] usb-ccid Stefan Hajnoczi
2011-03-21 12:06   ` Alon Levy
2011-03-21 12:24   ` Alon Levy
2011-03-21 13:24     ` Stefan Hajnoczi
2011-03-21 13:31 ` Hans de Goede [this message]

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=4D875316.8060804@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=Jes.Sorensen@redhat.com \
    --cc=alevy@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).