From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Subject: [PATCH 01/34] qdev: Eliminate qdev_free() in favor of QOM Date: Mon, 26 Nov 2012 01:12:13 +0100 Message-ID: <1353888766-6951-2-git-send-email-afaerber@suse.de> References: <1353888766-6951-1-git-send-email-afaerber@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1353888766-6951-1-git-send-email-afaerber@suse.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: qemu-devel@nongnu.org Cc: "open list:X86" , Stefano Stabellini , "Michael S. Tsirkin" , anthony@codemonkey.ws, Paolo Bonzini , =?UTF-8?q?Andreas=20F=C3=A4rber?= List-Id: xen-devel@lists.xenproject.org cWRldl9mcmVlKCkgd2FzIHRyaXZpYWxseSB3cmFwcGluZyBvYmplY3RfZGVsZXRlKCkuIElubGlu ZSBpdCBhbmQgZHJvcAp0aGUgd3JhcHBlciBhcyBhIGZ1cnRoZXIgc3RlcCB0byBRT00naWZ5IHFk ZXYuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIEbDpHJiZXIgPGFmYWVyYmVyQHN1c2UuZGU+CkNj OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgotLS0KIGh3L2FjcGlfcGlpeDQu YyAgICAgIHwgICAgMiArLQogaHcvcGNpLWhvdHBsdWcuYyAgICAgfCAgICAyICstCiBody9wY2lf YnJpZGdlLmMgICAgICB8ICAgIDIgKy0KIGh3L3BjaWUuYyAgICAgICAgICAgIHwgICAgMiArLQog aHcvcWRldi1jb3JlLmggICAgICAgfCAgICAxIC0KIGh3L3FkZXYtbW9uaXRvci5jICAgIHwgICAg MiArLQogaHcvcWRldi5jICAgICAgICAgICAgfCAgIDEyICsrKy0tLS0tLS0tLQogaHcvc2NzaS1i dXMuYyAgICAgICAgfCAgICA0ICsrLS0KIGh3L3NocGMuYyAgICAgICAgICAgIHwgICAgMiArLQog aHcvdXNiL2J1cy5jICAgICAgICAgfCAgICA3ICsrKystLS0KIGh3L3VzYi9kZXYtc3RvcmFnZS5j IHwgICAgMiArLQogaHcvdXNiL2hvc3QtbGludXguYyAgfCAgICAyICstCiBody94ZW5fcGxhdGZv cm0uYyAgICB8ICAgIDIgKy0KIDEzIERhdGVpZW4gZ2XDpG5kZXJ0LCAxOCBaZWlsZW4gaGluenVn ZWbDvGd0KCspLCAyNCBaZWlsZW4gZW50ZmVybnQoLSkKCmRpZmYgLS1naXQgYS9ody9hY3BpX3Bp aXg0LmMgYi9ody9hY3BpX3BpaXg0LmMKaW5kZXggMGZhNGM5OC4uZTZkMDliZSAxMDA2NDQKLS0t IGEvaHcvYWNwaV9waWl4NC5jCisrKyBiL2h3L2FjcGlfcGlpeDQuYwpAQCAtMzYxLDcgKzM2MSw3 IEBAIHN0YXRpYyB2b2lkIGFjcGlfcGlpeF9lamVjdF9zbG90KFBJSVg0UE1TdGF0ZSAqcywgdW5z aWduZWQgc2xvdHMpCiAgICAgICAgICAgICBpZiAocGMtPm5vX2hvdHBsdWcpIHsKICAgICAgICAg ICAgICAgICBzbG90X2ZyZWUgPSBmYWxzZTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg ICAgICAgICAgcWRldl9mcmVlKHFkZXYpOworICAgICAgICAgICAgICAgIG9iamVjdF9kZWxldGUo T0JKRUNUKHFkZXYpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp dCBhL2h3L3BjaS1ob3RwbHVnLmMgYi9ody9wY2ktaG90cGx1Zy5jCmluZGV4IGU3ZmI3ODAuLmQ3 NjZlYWIgMTAwNjQ0Ci0tLSBhL2h3L3BjaS1ob3RwbHVnLmMKKysrIGIvaHcvcGNpLWhvdHBsdWcu YwpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBQQ0lEZXZpY2UgKnFlbXVfcGNpX2hvdF9hZGRf c3RvcmFnZShNb25pdG9yICptb24sCiAgICAgICAgIH0KICAgICAgICAgZGV2ID0gcGNpX2NyZWF0 ZShidXMsIGRldmZuLCAidmlydGlvLWJsay1wY2kiKTsKICAgICAgICAgaWYgKHFkZXZfcHJvcF9z ZXRfZHJpdmUoJmRldi0+cWRldiwgImRyaXZlIiwgZGluZm8tPmJkcnYpIDwgMCkgewotICAgICAg ICAgICAgcWRldl9mcmVlKCZkZXYtPnFkZXYpOworICAgICAgICAgICAgb2JqZWN0X2RlbGV0ZShP QkpFQ1QoZGV2KSk7CiAgICAgICAgICAgICBkZXYgPSBOVUxMOwogICAgICAgICAgICAgYnJlYWs7 CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL2h3L3BjaV9icmlkZ2UuYyBiL2h3L3BjaV9icmlkZ2Uu YwppbmRleCA0NjgwNTAxLi4zNjg5NTAyIDEwMDY0NAotLS0gYS9ody9wY2lfYnJpZGdlLmMKKysr IGIvaHcvcGNpX2JyaWRnZS5jCkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCBwY2lfYnJpZGdlX2V4 aXRmbihQQ0lEZXZpY2UgKnBjaV9kZXYpCiAgICAgcGNpX2JyaWRnZV9yZWdpb25fY2xlYW51cChz LCBzLT53aW5kb3dzKTsKICAgICBtZW1vcnlfcmVnaW9uX2Rlc3Ryb3koJnMtPmFkZHJlc3Nfc3Bh Y2VfbWVtKTsKICAgICBtZW1vcnlfcmVnaW9uX2Rlc3Ryb3koJnMtPmFkZHJlc3Nfc3BhY2VfaW8p OwotICAgIC8qIHFidXNfZnJlZSgpIGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IHFkZXZfZnJl ZSgpICovCisgICAgLyogcWJ1c19mcmVlKCkgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgYnkgb2Jq ZWN0X2RlbGV0ZSgpICovCiB9CiAKIC8qCmRpZmYgLS1naXQgYS9ody9wY2llLmMgYi9ody9wY2ll LmMKaW5kZXggN2M5MmYxOS4uMjRiZmM5NSAxMDA2NDQKLS0tIGEvaHcvcGNpZS5jCisrKyBiL2h3 L3BjaWUuYwpAQCAtMjM1LDcgKzIzNSw3IEBAIHN0YXRpYyBpbnQgcGNpZV9jYXBfc2xvdF9ob3Rw bHVnKERldmljZVN0YXRlICpxZGV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQQ0lfRVhQX1NMVFNUQV9QRFMpOwogICAgICAgICBwY2llX2NhcF9zbG90X2V2ZW50KGQsIFBD SV9FWFBfSFBfRVZfUERDKTsKICAgICB9IGVsc2UgewotICAgICAgICBxZGV2X2ZyZWUoJnBjaV9k ZXYtPnFkZXYpOworICAgICAgICBvYmplY3RfZGVsZXRlKE9CSkVDVChwY2lfZGV2KSk7CiAgICAg ICAgIHBjaV93b3JkX3Rlc3RfYW5kX2NsZWFyX21hc2soZXhwX2NhcCArIFBDSV9FWFBfU0xUU1RB LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9FWFBfU0xUU1RBX1BE Uyk7CiAgICAgICAgIHBjaWVfY2FwX3Nsb3RfZXZlbnQoZCwgUENJX0VYUF9IUF9FVl9QREMpOwpk aWZmIC0tZ2l0IGEvaHcvcWRldi1jb3JlLmggYi9ody9xZGV2LWNvcmUuaAppbmRleCBmY2U5ZTIy Li4zNjE5MWU5IDEwMDY0NAotLS0gYS9ody9xZGV2LWNvcmUuaAorKysgYi9ody9xZGV2LWNvcmUu aApAQCAtMTU4LDcgKzE1OCw2IEBAIHZvaWQgcWRldl9pbml0X25vZmFpbChEZXZpY2VTdGF0ZSAq ZGV2KTsKIHZvaWQgcWRldl9zZXRfbGVnYWN5X2luc3RhbmNlX2lkKERldmljZVN0YXRlICpkZXYs IGludCBhbGlhc19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXF1 aXJlZF9mb3JfdmVyc2lvbik7CiB2b2lkIHFkZXZfdW5wbHVnKERldmljZVN0YXRlICpkZXYsIEVy cm9yICoqZXJycCk7Ci12b2lkIHFkZXZfZnJlZShEZXZpY2VTdGF0ZSAqZGV2KTsKIGludCBxZGV2 X3NpbXBsZV91bnBsdWdfY2IoRGV2aWNlU3RhdGUgKmRldik7CiB2b2lkIHFkZXZfbWFjaGluZV9j cmVhdGlvbl9kb25lKHZvaWQpOwogYm9vbCBxZGV2X21hY2hpbmVfbW9kaWZpZWQodm9pZCk7CmRp ZmYgLS1naXQgYS9ody9xZGV2LW1vbml0b3IuYyBiL2h3L3FkZXYtbW9uaXRvci5jCmluZGV4IDQ3 OWVlY2QuLmQ1MzRiOWQgMTAwNjQ0Ci0tLSBhL2h3L3FkZXYtbW9uaXRvci5jCisrKyBiL2h3L3Fk ZXYtbW9uaXRvci5jCkBAIC00NjYsNyArNDY2LDcgQEAgRGV2aWNlU3RhdGUgKnFkZXZfZGV2aWNl X2FkZChRZW11T3B0cyAqb3B0cykKICAgICAgICAgcWRldi0+aWQgPSBpZDsKICAgICB9CiAgICAg aWYgKHFlbXVfb3B0X2ZvcmVhY2gob3B0cywgc2V0X3Byb3BlcnR5LCBxZGV2LCAxKSAhPSAwKSB7 Ci0gICAgICAgIHFkZXZfZnJlZShxZGV2KTsKKyAgICAgICAgb2JqZWN0X2RlbGV0ZShPQkpFQ1Qo cWRldikpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKHFkZXYtPmlkKSB7 CmRpZmYgLS1naXQgYS9ody9xZGV2LmMgYi9ody9xZGV2LmMKaW5kZXggN2RkY2QyNC4uYzJkOWI0 OCAxMDA2NDQKLS0tIGEvaHcvcWRldi5jCisrKyBiL2h3L3FkZXYuYwpAQCAtMTU0LDcgKzE1NCw3 IEBAIGludCBxZGV2X2luaXQoRGV2aWNlU3RhdGUgKmRldikKIAogICAgIHJjID0gZGMtPmluaXQo ZGV2KTsKICAgICBpZiAocmMgPCAwKSB7Ci0gICAgICAgIHFkZXZfZnJlZShkZXYpOworICAgICAg ICBvYmplY3RfZGVsZXRlKE9CSkVDVChkZXYpKTsKICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0K IApAQCAtMjM3LDcgKzIzNyw3IEBAIHZvaWQgcWJ1c19yZXNldF9hbGxfZm4odm9pZCAqb3BhcXVl KQogaW50IHFkZXZfc2ltcGxlX3VucGx1Z19jYihEZXZpY2VTdGF0ZSAqZGV2KQogewogICAgIC8q IGp1c3QgemFwIGl0ICovCi0gICAgcWRldl9mcmVlKGRldik7CisgICAgb2JqZWN0X2RlbGV0ZShP QkpFQ1QoZGV2KSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI1OSwxMiArMjU5LDYgQEAgdm9p ZCBxZGV2X2luaXRfbm9mYWlsKERldmljZVN0YXRlICpkZXYpCiAgICAgfQogfQogCi0vKiBVbmxp bmsgZGV2aWNlIGZyb20gYnVzIGFuZCBmcmVlIHRoZSBzdHJ1Y3R1cmUuICAqLwotdm9pZCBxZGV2 X2ZyZWUoRGV2aWNlU3RhdGUgKmRldikKLXsKLSAgICBvYmplY3RfZGVsZXRlKE9CSkVDVChkZXYp KTsKLX0KLQogdm9pZCBxZGV2X21hY2hpbmVfY3JlYXRpb25fZG9uZSh2b2lkKQogewogICAgIC8q CkBAIC03NjUsNyArNzU5LDcgQEAgc3RhdGljIHZvaWQgcWJ1c19maW5hbGl6ZShPYmplY3QgKm9i aikKIAogICAgIHdoaWxlICgoa2lkID0gUVRBSUxRX0ZJUlNUKCZidXMtPmNoaWxkcmVuKSkgIT0g TlVMTCkgewogICAgICAgICBEZXZpY2VTdGF0ZSAqZGV2ID0ga2lkLT5jaGlsZDsKLSAgICAgICAg cWRldl9mcmVlKGRldik7CisgICAgICAgIG9iamVjdF9kZWxldGUoT0JKRUNUKGRldikpOwogICAg IH0KICAgICBpZiAoYnVzLT5wYXJlbnQpIHsKICAgICAgICAgUUxJU1RfUkVNT1ZFKGJ1cywgc2li bGluZyk7CmRpZmYgLS1naXQgYS9ody9zY3NpLWJ1cy5jIGIvaHcvc2NzaS1idXMuYwppbmRleCBk ZmIyNjMxLi42OGEyN2ViIDEwMDY0NAotLS0gYS9ody9zY3NpLWJ1cy5jCisrKyBiL2h3L3Njc2kt YnVzLmMKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMgaW50IHNjc2lfcWRldl9pbml0KERldmlj ZVN0YXRlICpxZGV2KQogICAgICAgICBkID0gc2NzaV9kZXZpY2VfZmluZChidXMsIGRldi0+Y2hh bm5lbCwgZGV2LT5pZCwgZGV2LT5sdW4pOwogICAgICAgICBhc3NlcnQoZCk7CiAgICAgICAgIGlm IChkLT5sdW4gPT0gZGV2LT5sdW4gJiYgZGV2ICE9IGQpIHsKLSAgICAgICAgICAgIHFkZXZfZnJl ZSgmZC0+cWRldik7CisgICAgICAgICAgICBvYmplY3RfZGVsZXRlKE9CSkVDVChkKSk7CiAgICAg ICAgIH0KICAgICB9CiAKQEAgLTIyMiw3ICsyMjIsNyBAQCBTQ1NJRGV2aWNlICpzY3NpX2J1c19s ZWdhY3lfYWRkX2RyaXZlKFNDU0lCdXMgKmJ1cywgQmxvY2tEcml2ZXJTdGF0ZSAqYmRydiwKICAg ICAgICAgcWRldl9wcm9wX3NldF9iaXQoZGV2LCAicmVtb3ZhYmxlIiwgcmVtb3ZhYmxlKTsKICAg ICB9CiAgICAgaWYgKHFkZXZfcHJvcF9zZXRfZHJpdmUoZGV2LCAiZHJpdmUiLCBiZHJ2KSA8IDAp IHsKLSAgICAgICAgcWRldl9mcmVlKGRldik7CisgICAgICAgIG9iamVjdF9kZWxldGUoT0JKRUNU KGRldikpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKHFkZXZfaW5pdChk ZXYpIDwgMCkKZGlmZiAtLWdpdCBhL2h3L3NocGMuYyBiL2h3L3NocGMuYwppbmRleCA0NTk3YmJk Li4yNGJkZmI4IDEwMDY0NAotLS0gYS9ody9zaHBjLmMKKysrIGIvaHcvc2hwYy5jCkBAIC0yNTMs NyArMjUzLDcgQEAgc3RhdGljIHZvaWQgc2hwY19mcmVlX2RldmljZXNfaW5fc2xvdChTSFBDRGV2 aWNlICpzaHBjLCBpbnQgc2xvdCkKICAgICAgICAgICsrZGV2Zm4pIHsKICAgICAgICAgUENJRGV2 aWNlICphZmZlY3RlZF9kZXYgPSBzaHBjLT5zZWNfYnVzLT5kZXZpY2VzW2RldmZuXTsKICAgICAg ICAgaWYgKGFmZmVjdGVkX2RldikgewotICAgICAgICAgICAgcWRldl9mcmVlKCZhZmZlY3RlZF9k ZXYtPnFkZXYpOworICAgICAgICAgICAgb2JqZWN0X2RlbGV0ZShPQkpFQ1QoYWZmZWN0ZWRfZGV2 KSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9ody91c2IvYnVzLmMgYi9ody91 c2IvYnVzLmMKaW5kZXggOTlhYWM3YS4uMTY3NTc5OCAxMDA2NDQKLS0tIGEvaHcvdXNiL2J1cy5j CisrKyBiL2h3L3VzYi9idXMuYwpAQCAtMzM3LDggKzMzNyw5IEBAIHZvaWQgdXNiX3BvcnRfbG9j YXRpb24oVVNCUG9ydCAqZG93bnN0cmVhbSwgVVNCUG9ydCAqdXBzdHJlYW0sIGludCBwb3J0bnIp CiAKIHZvaWQgdXNiX3VucmVnaXN0ZXJfcG9ydChVU0JCdXMgKmJ1cywgVVNCUG9ydCAqcG9ydCkK IHsKLSAgICBpZiAocG9ydC0+ZGV2KQotICAgICAgICBxZGV2X2ZyZWUoJnBvcnQtPmRldi0+cWRl dik7CisgICAgaWYgKHBvcnQtPmRldikgeworICAgICAgICBvYmplY3RfZGVsZXRlKE9CSkVDVChw b3J0LT5kZXYpKTsKKyAgICB9CiAgICAgUVRBSUxRX1JFTU9WRSgmYnVzLT5mcmVlLCBwb3J0LCBu ZXh0KTsKICAgICBidXMtPm5mcmVlLS07CiB9CkBAIC00NTgsNyArNDU5LDcgQEAgaW50IHVzYl9k ZXZpY2VfZGVsZXRlX2FkZHIoaW50IGJ1c25yLCBpbnQgYWRkcikKICAgICAgICAgcmV0dXJuIC0x OwogICAgIGRldiA9IHBvcnQtPmRldjsKIAotICAgIHFkZXZfZnJlZSgmZGV2LT5xZGV2KTsKKyAg ICBvYmplY3RfZGVsZXRlKE9CSkVDVChkZXYpKTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0t Z2l0IGEvaHcvdXNiL2Rldi1zdG9yYWdlLmMgYi9ody91c2IvZGV2LXN0b3JhZ2UuYwppbmRleCA1 MGFmOTcxLi4yZWZiNGQ1IDEwMDY0NAotLS0gYS9ody91c2IvZGV2LXN0b3JhZ2UuYworKysgYi9o dy91c2IvZGV2LXN0b3JhZ2UuYwpAQCAtNjY0LDcgKzY2NCw3IEBAIHN0YXRpYyBVU0JEZXZpY2Ug KnVzYl9tc2RfaW5pdChVU0JCdXMgKmJ1cywgY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgICAgICAg IHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAocWRldl9wcm9wX3NldF9kcml2ZSgmZGV2LT5x ZGV2LCAiZHJpdmUiLCBkaW5mby0+YmRydikgPCAwKSB7Ci0gICAgICAgIHFkZXZfZnJlZSgmZGV2 LT5xZGV2KTsKKyAgICAgICAgb2JqZWN0X2RlbGV0ZShPQkpFQ1QoZGV2KSk7CiAgICAgICAgIHJl dHVybiBOVUxMOwogICAgIH0KICAgICBpZiAocWRldl9pbml0KCZkZXYtPnFkZXYpIDwgMCkKZGlm ZiAtLWdpdCBhL2h3L3VzYi9ob3N0LWxpbnV4LmMgYi9ody91c2IvaG9zdC1saW51eC5jCmluZGV4 IGFhNzdiNzcuLmEwNDE3ZmMgMTAwNjQ0Ci0tLSBhL2h3L3VzYi9ob3N0LWxpbnV4LmMKKysrIGIv aHcvdXNiL2hvc3QtbGludXguYwpAQCAtMTU4NCw3ICsxNTg0LDcgQEAgVVNCRGV2aWNlICp1c2Jf aG9zdF9kZXZpY2Vfb3BlbihVU0JCdXMgKmJ1cywgY29uc3QgY2hhciAqZGV2bmFtZSkKICAgICBy ZXR1cm4gZGV2OwogCiBmYWlsOgotICAgIHFkZXZfZnJlZSgmZGV2LT5xZGV2KTsKKyAgICBvYmpl Y3RfZGVsZXRlKE9CSkVDVChkZXYpKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApkaWZmIC0tZ2l0 IGEvaHcveGVuX3BsYXRmb3JtLmMgYi9ody94ZW5fcGxhdGZvcm0uYwppbmRleCBhNTRlN2EyLi5k NTZmM2U1IDEwMDY0NAotLS0gYS9ody94ZW5fcGxhdGZvcm0uYworKysgYi9ody94ZW5fcGxhdGZv cm0uYwpAQCAtODksNyArODksNyBAQCBzdGF0aWMgdm9pZCB1bnBsdWdfbmljKFBDSUJ1cyAqYiwg UENJRGV2aWNlICpkLCB2b2lkICpvKQogICAgIGlmIChwY2lfZ2V0X3dvcmQoZC0+Y29uZmlnICsg UENJX0NMQVNTX0RFVklDRSkgPT0KICAgICAgICAgICAgIFBDSV9DTEFTU19ORVRXT1JLX0VUSEVS TkVUCiAgICAgICAgICAgICAmJiBzdHJjbXAoZC0+bmFtZSwgInhlbi1wY2ktcGFzc3Rocm91Z2gi KSAhPSAwKSB7Ci0gICAgICAgIHFkZXZfZnJlZSgmZC0+cWRldik7CisgICAgICAgIG9iamVjdF9k ZWxldGUoT0JKRUNUKGQpKTsKICAgICB9CiB9CiAKLS0gCjEuNy4xMC40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK