v2->v3 Patchset modified in such a way that all existing SD card model users are left intact. PATCH10 modifies hw/omap_mmc.c, hw/pl181.c and hw/pxa2xx_mmci.c but I'm not sure about its necessity.
- don't use BITS_TO_LONGS when operating with bitfields; - added wrapper for trnslating SD card addres to wp group number (new PATCH3); - made sd_wp_addr() to receive uint64_t address argument (new PATCH2); - fix SD card erase function (new PATCH4) - introduced wrapper inline functions to left SD card users intact after SD qomification; - drop "image" property patch and introduce "device-id" SD card property instead. Property ties SD card with BlockDriverState of the same name (BlockDriverState must already exist). - introduce SD card "eject" property, it can be used to detach BlockDriverState from SD card. - droped patch which makes SD card a child of host controllers, I think it shoul be done v1->v2 PATCH1: use bitmap.h heder for bit operations. PATCH6: use wrappers to call SDClass methods Added 4 new patches: PATCH7 and PATCH8 drope passing arguments to SDClass::init functions and replace them with SD card object properties. SDClass::init is trivialized to realize(). PATCH10 adds "image" property to SD card objects. This property can be used for hot-insertion/hot-cardchange in virtual SD card slot. PATCH1 converts wp_groups member of SDState to bitfield significantly reducing memory consumption. PATCH2-4 convert binary variables to bool type. PATCH5 adds save/load support for SDState, intermediate variable introduced in SDState to hold size of wp_groups array. PATCH6 converts SD state to QOM object. QOMified implementation doesn't have any advantages over current one but it gives us enormous possibilities for further improvements. Igor Mitsyanko (13): hw/sd.c: convert wp_groups in SDState to bitfield hw/sd.c: make sd_wp_addr() accept 64 bit address argument hw/sd.c: introduce wrapper for conversion address to wp group hw/sd.c: favour SD card type (SDSC or SDHC) when performing erase hw/sd.c: convert binary variables to bool hw/sd.c: make sd_dataready() return bool hw/sd.c: make sd_wp_addr() return bool hw/sd.c: add SD card save/load support hw/sd.c: convert SD state to QOM object SD card users: optimize access to SDClass methods SD card: introduce "spi" property for SD card objects hw/sd.c: introduce SD card "device-id" property hw/sd.c: introduce "eject" property for SD card objects hw/omap_mmc.c | 9 +- hw/pl181.c | 7 +- hw/pxa2xx_mmci.c | 6 +- hw/sd.c | 358 +++++++++++++++++++++++++++++++++++++++++++----------- hw/sd.h | 73 ++++++++++-- 5 files changed, 362 insertions(+), 91 deletions(-) -- 1.7.4.1