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.
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 (4): usb-ccid: add CCID bus ccid: add passthru card device add ccid-card-emulated device (v2) ccid: add docs Makefile.objs | 1 + configure | 33 ++ docs/ccid.txt | 133 +++++ hw/ccid-card-emulated.c | 495 +++++++++++++++++ hw/ccid-card-passthru.c | 278 ++++++++++ hw/ccid.h | 34 ++ hw/usb-ccid.c | 1342 +++++++++++++++++++++++++++++++++++++++++++++++ hw/vscard_common.h | 130 +++++ 8 files changed, 2446 insertions(+), 0 deletions(-) create mode 100644 docs/ccid.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 hw/vscard_common.h -- 1.7.3.2