From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42006) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLomR-0004Jg-FZ for qemu-devel@nongnu.org; Wed, 20 Jan 2016 04:10:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLomM-0001Ew-94 for qemu-devel@nongnu.org; Wed, 20 Jan 2016 04:10:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56504) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLomL-0001Ej-Tp for qemu-devel@nongnu.org; Wed, 20 Jan 2016 04:10:14 -0500 Message-ID: <1453281011.11804.40.camel@redhat.com> From: Gerd Hoffmann Date: Wed, 20 Jan 2016 10:10:11 +0100 In-Reply-To: <20160119151302.GB3869@thinpad.lan.raisama.net> References: <1451994098-6972-1-git-send-email-kraxel@redhat.com> <1451994098-6972-6-git-send-email-kraxel@redhat.com> <1452095101.6096.55.camel@redhat.com> <20160119151302.GB3869@thinpad.lan.raisama.net> Content-Type: multipart/mixed; boundary="=-XdFExTbsRFhSngN0sruO" Mime-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v3 05/11] igd: TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE: call parent realize List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: igvt-g@ml01.01.org, xen-devel@lists.xensource.com, Stefano Stabellini , qemu-devel@nongnu.org, Cao jin , vfio-users@redhat.com --=-XdFExTbsRFhSngN0sruO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, > > > > + i440fx_realize =3D k->realize; > > > > k->realize =3D igd_pt_i440fx_realize; > >=20 > > ... because we are overriding it right here. >=20 > Many device classes have a parent_realize field so they can keep > a pointer to the original realize function. It's better than a > static variable. How does the attached patch (incremental fix, not tested yet) look like? cheers, Gerd --=-XdFExTbsRFhSngN0sruO Content-Disposition: attachment; filename*0=0001-fixup-TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE-realize.pat; filename*1=ch Content-Type: text/x-patch; name="0001-fixup-TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE-realize.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzZDExMGUyOTdiNTE4MjEwN2UwNTVkYjNhYjY5MDkyYWZmZGVmNWJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0 ZTogV2VkLCAyMCBKYW4gMjAxNiAxMDowODoxOSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFtmaXh1 cF0gVFlQRV9JR0RfUEFTU1RIUk9VR0hfSTQ0MEZYX1BDSV9ERVZJQ0UgcmVhbGl6ZV9wYXJlbnQK Ci0tLQogaHcvcGNpLWhvc3QvaWdkLmMgfCAyNCArKysrKysrKysrKysrKysrKysrLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2h3L3BjaS1ob3N0L2lnZC5jIGIvaHcvcGNpLWhvc3QvaWdkLmMKaW5kZXggMTYwODI4Zi4u MmQ1MTc0NSAxMDA2NDQKLS0tIGEvaHcvcGNpLWhvc3QvaWdkLmMKKysrIGIvaHcvcGNpLWhvc3Qv aWdkLmMKQEAgLTQ5LDEyICs0OSwyNCBAQCBvdXRfZnJlZToKICAgICBnX2ZyZWUocGF0aCk7CiB9 CiAKLXN0YXRpYyB2b2lkICgqaTQ0MGZ4X3JlYWxpemUpKFBDSURldmljZSAqcGNpX2RldiwgRXJy b3IgKiplcnJwKTsKKyNkZWZpbmUgSUdEX1BUX0k0NDBGWF9DTEFTUyhjbGFzcykgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgT0JKRUNUX0NMQVNTX0NIRUNLKElHRFB0STQ0MGZ4 Q2xhc3MsIChjbGFzcyksICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICBU WVBFX0lHRF9QQVNTVEhST1VHSF9JNDQwRlhfUENJX0RFVklDRSkKKyNkZWZpbmUgSUdEX1BUX0k0 NDBGWF9HRVRfQ0xBU1Mob2JqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgT0JK RUNUX0dFVF9DTEFTUyhJR0RQdEk0NDBmeENsYXNzLCAob2JqKSwgICAgICAgICAgICAgICAgICAg XAorICAgICAgICAgICAgICAgICAgICAgVFlQRV9JR0RfUEFTU1RIUk9VR0hfSTQ0MEZYX1BDSV9E RVZJQ0UpCisKK3R5cGVkZWYgc3RydWN0IElHRFB0STQ0MGZ4Q2xhc3MgeworICAgIFBDSURldmlj ZUNsYXNzIHBhcmVudF9jbGFzczsKKyAgICB2b2lkICgqcGFyZW50X3JlYWxpemUpKFBDSURldmlj ZSAqZGV2LCBFcnJvciAqKmVycnApOworfSBJR0RQdEk0NDBmeENsYXNzOworCiBzdGF0aWMgdm9p ZCBpZ2RfcHRfaTQ0MGZ4X3JlYWxpemUoUENJRGV2aWNlICpwY2lfZGV2LCBFcnJvciAqKmVycnAp CiB7CisgICAgSUdEUHRJNDQwZnhDbGFzcyAqayA9IElHRF9QVF9JNDQwRlhfR0VUX0NMQVNTKHBj aV9kZXYpOwogICAgIEVycm9yICplcnIgPSBOVUxMOwogCi0gICAgaTQ0MGZ4X3JlYWxpemUocGNp X2RldiwgJmVycik7CisgICAgay0+cGFyZW50X3JlYWxpemUocGNpX2RldiwgJmVycik7CiAgICAg aWYgKGVyciAhPSBOVUxMKSB7CiAgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBlcnIpOwog ICAgICAgICByZXR1cm47CkBAIC03MiwxMSArODQsMTIgQEAgc3RhdGljIHZvaWQgaWdkX3B0X2k0 NDBmeF9yZWFsaXplKFBDSURldmljZSAqcGNpX2RldiwgRXJyb3IgKiplcnJwKQogCiBzdGF0aWMg dm9pZCBpZ2RfcGFzc3Rocm91Z2hfaTQ0MGZ4X2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNz LCB2b2lkICpkYXRhKQogeworICAgIElHRFB0STQ0MGZ4Q2xhc3MgKmsgPSBJR0RfUFRfSTQ0MEZY X0NMQVNTKGtsYXNzKTsKICAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJQ0VfQ0xBU1Moa2xhc3Mp OwotICAgIFBDSURldmljZUNsYXNzICprID0gUENJX0RFVklDRV9DTEFTUyhrbGFzcyk7CisgICAg UENJRGV2aWNlQ2xhc3MgKnBjID0gUENJX0RFVklDRV9DTEFTUyhrbGFzcyk7CiAKLSAgICBpNDQw ZnhfcmVhbGl6ZSA9IGstPnJlYWxpemU7Ci0gICAgay0+cmVhbGl6ZSA9IGlnZF9wdF9pNDQwZnhf cmVhbGl6ZTsKKyAgICBrLT5wYXJlbnRfcmVhbGl6ZSA9IHBjLT5yZWFsaXplOworICAgIHBjLT5y ZWFsaXplID0gaWdkX3B0X2k0NDBmeF9yZWFsaXplOwogICAgIGRjLT5kZXNjID0gIklHRCBQYXNz dGhyb3VnaCBIb3N0IGJyaWRnZSAoaTQ0MGZ4KSI7CiB9CiAKQEAgLTg0LDYgKzk3LDcgQEAgc3Rh dGljIGNvbnN0IFR5cGVJbmZvIGlnZF9wYXNzdGhyb3VnaF9pNDQwZnhfaW5mbyA9IHsKICAgICAu bmFtZSAgICAgICAgICA9IFRZUEVfSUdEX1BBU1NUSFJPVUdIX0k0NDBGWF9QQ0lfREVWSUNFLAog ICAgIC5wYXJlbnQgICAgICAgID0gVFlQRV9JNDQwRlhfUENJX0RFVklDRSwKICAgICAuY2xhc3Nf aW5pdCAgICA9IGlnZF9wYXNzdGhyb3VnaF9pNDQwZnhfY2xhc3NfaW5pdCwKKyAgICAuY2xhc3Nf c2l6ZSAgICA9IHNpemVvZihJR0RQdEk0NDBmeENsYXNzKSwKIH07CiAKIHN0YXRpYyB2b2lkICgq cTM1X3JlYWxpemUpKFBDSURldmljZSAqcGNpX2RldiwgRXJyb3IgKiplcnJwKTsKLS0gCjEuOC4z LjEKCg== --=-XdFExTbsRFhSngN0sruO--