From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25E3DC43334 for ; Fri, 22 Jul 2022 13:53:14 +0000 (UTC) Received: from localhost ([::1]:43038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oEt5d-0002p8-9W for qemu-devel@archiver.kernel.org; Fri, 22 Jul 2022 09:53:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEq4a-0002LF-SR for qemu-devel@nongnu.org; Fri, 22 Jul 2022 06:39:57 -0400 Received: from hq-ms.auriga.com ([82.97.202.32]:47258 helo=hq-ms.auriga.ru) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEq4X-0003bz-10 for qemu-devel@nongnu.org; Fri, 22 Jul 2022 06:39:55 -0400 Received: from HQ-MS1.office.auriga.msk (82.97.202.32) by hq-ms1.office.auriga.msk (82.97.202.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Fri, 22 Jul 2022 13:28:32 +0300 Received: from HQ-MS1.office.auriga.msk ([fe80::e47e:a86e:e738:f45e]) by hq-ms1.office.auriga.msk ([fe80::e47e:a86e:e738:f45e%3]) with mapi id 15.02.1118.007; Fri, 22 Jul 2022 13:28:32 +0300 From: "Drap, Anton" To: Peter Maydell , =?gb2312?B?RGFuaWVsIFAuIEJlcnJhbmeopg==?= CC: "qemu-devel@nongnu.org" , "Sebelev, Vladimir" Subject: Re: [PATCH v2] Loading new machines and devices from external modules Thread-Topic: [PATCH v2] Loading new machines and devices from external modules Thread-Index: AQHYm2cIc3eO0DnuKUO8RbRjctQBvq2FjaqAgAShnT4= Date: Fri, 22 Jul 2022 10:28:31 +0000 Message-ID: References: <20220719115922.306265-1-anton.drap@auriga.com>, In-Reply-To: Accept-Language: ru-RU, en-US Content-Language: ru-RU X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.99.99.90] x-tm-as-product-ver: SMEX-14.0.0.1158-9.0.1002-27030.002 x-tm-as-result: No-10--20.076300-8.000000 x-tmase-matchedrid: Z/tjqhsgM6c7iuZ/mdYYtgeLCIX046iBjNLxrcxKViWsFJeHnIHZi1J7 qurUfgrV09u9852d+TI2aDVyTGx/p5kShYcLpGH9rDZuIFerDYT3MMlWBma+yOdo//33TCNr92U gRT09630J20J6/X1jUiIuZ/6CFMb/iV+W3AL5LvPBLWXgH5RHPvo1c6H9DbojCJAMkZUwyBpOEd 9LrUUcYR6I6ugYAnp0LTHwnYOikQ2nqX8cP+MnnePsX9qV3arkCPm/g09Et+kMf7Ce+LIFdhhLc NjoUT5G1Y4IIoI+uMJ85pjA/x1xfvpmtpBLoURa1JVSTP0E9d52NlrEE6Ojjet2gGXLArR6Unuq 6tR+CtXBbSLvX0u/npTp3iXK6AMUQ/2UjISFQXCtye4yTToxztQoeM+lJUpETCjMsLY1HGYAthf 4DwDQ7ZrFf6cTuZsv5DSMPEZQAkO//vF0tCNdIv67wpKrIJNBEqSmDx1CZ0okQRCilDpfuPRJXs JGdVBENom9oBSPl986N/cDgNNi4fHo9NwPFKnlWAuSz3ewb23AcYhf/hLwpq4gqyqHwHi+/mwrA JcV2mmDMGP0DrC3Yt5x7RpGJf1aF4r8H5YrEqzrQGUex1PL9WRiwCvS+G0mXW0oaF2DNM4Dw12R 17PclpmXURexwsOZuce7gFxhKa1pkBMYDn8FeLXl40gTGJ5p8Ov7/Lmqcj2h9xN1JciTva7TOca MTTTjrFMDyJP7G27ho30+LUTeF5naxzJFBx6vVC5d5tiOKEBQQymr+7NCVhlz1vTsWmwiNlu4h9 L2BAwPgCQ1Nx/qoNfeP+V/VXwsDBemPtRYU7mXBXaJoB9JZ1SeX1pUaPNfd1+qKb6k9uAEBoFKX 61SFyeam5kIHECYa7leoU/OMhNIHLsvL1EPeI9MV/4mEzh7yF0w9+St0v4cDGfA1PcSH6cTt3jh cES7ftwZ3X11IV0= x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No x-tmase-result: 10--20.076300-8.000000 x-tmase-version: SMEX-14.0.0.1158-9.0.1002-27030.002 x-tm-snts-smtp: DAEB11A2E14693AF9B024717E87A2877A82FAFCDD685C0E28D9C273F930E84622000:8 Content-Type: multipart/alternative; boundary="_000_d711926c2de2406c9e785971ac058d8aaurigacom_" MIME-Version: 1.0 Received-SPF: pass client-ip=82.97.202.32; envelope-from=anton.drap@auriga.com; helo=hq-ms.auriga.ru X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_CHARSET_FARAWAY=2.45, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 22 Jul 2022 09:50:46 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" --_000_d711926c2de2406c9e785971ac058d8aaurigacom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgR3V5cywNCg0KDQoNCkxldCBtZSBjbGFyaWZ5IG15IHBvc2l0aW9uIGFib3V0IG91dCBvZiB0 cmVlIGRldmljZXMuIFllcywgSSB1bmRlcnN0YW5kIHRoYXQgY3VycmVudCBRRU1VIHBvbGl0aWNz IGlzIHRvIGhhdmUgYWxsIHRoZSBzdXBwb3J0ZWQgcGxhdGZvcm1zIGluc2lkZSBRRU1VIHNvdXJj ZSB0cmVlLCBidXQgYWN0dWFsbHkgc2ltdWxhdG9yIGNvcmUgZGV2ZWxvcG1lbnQsIGRldmVsb3Bt ZW50IG9mIHRoZSBkZXZpY2VzIHN0YW5kYXJkIGxpYnJhcnkgYW5kIGRldmVsb3BtZW50IG9mIHZp cnR1YWwgcGxhdGZvcm1zIGFyZSB0aHJlZSBkaWZmZXJlbnQgdGFza3MuIE1vcmVvdmVyIGRpZmZl cmVudCBwZW9wbGUgaW50ZXJlc3RlZCBpbiBkaWZmZXJlbnQgcGFydHMgb2YgUUVNVS4gUUVNVSBj b3JlIGRldmVsb3BlcnMgbm90IGludGVyZXN0ZWQgaW4gc3VwcG9ydGluZyBhbmQgbWFpbnRhaW5p bmcgdG9ucyBvZiBwbGF0Zm9ybXMgYXZhaWxhYmxlIG9uIHRoZSBtYXJrZXQuIFZpcnR1YWwgcGxh dGZvcm0gZGV2ZWxvcGVycyBub3QgaW50ZXJlc3RlZCBhbmQgdXN1YWxseSBkb26hr3QgaGF2ZSBy ZXNvdXJjZXMgdG8gbWVyZ2UgdGhlaXIgY2hhbmdlcyB1cHN0cmVhbS4gU28gd2UgaGF2ZSBhIGxv dHMgb2YgYWJhbmRvbmVkIFFFTVUgZm9ya3MgZm9yIGRpZmZlcmVudCBwbGF0Zm9ybXMuIEZvciBl eGFtcGxlIHdloa9yZSBub3cgd29ya2luZyBvbiBSYXNwYmVycnkgUGkgNGIgaW1wbGVtZW50YXRp b24gZm9yIG91ciBpbnRlcm5hbCBuZWVkcyBhbmQgd2Whr3JlIHBsYW5uaW5nIHRvIG1lcmdlIGl0 IHVwc3RyZWFtLiBJdKGvcyBiYXNlZCBvbiBzb21lIFFFTVUgZm9yayBhdXRob3Igb2Ygd2hpY2gg d2FzbqGvdCBhYmxlIHRvIGNvbXBsZXRlIGl0IGFuZCBjb21taXQgdXBzdHJlYW0uIEFuZCBpdCBj YW6hr3QgYmUgdXNlZCB3aXRoIGxhdGVyIFFFTVUgd2l0aG91dCBzb21lIGVmZm9ydHMgdG8gcG9y dCBpdCB0byBuZXdlciBRRU1VIHZlcnNpb24uIE5vYm9keSBzdXBwb3J0cyBhbmQgbWFpbnRhaW5p bmcgaXQgc2luY2UgY29uc3RhbnQgZWZmb3J0cyBuZWNlc3NhcnkgdG8gYmUgaW4gc3luYyB3aXRo IFFFTVUgbWFpbmxpbmUuIFNvIG15IG9waW5pb24gaXMgdGhhdCBjb3JlIGRldmVsb3BtZW50LCBj b3JlIGRldmljZSBsaWJyYXJ5IGFuZCB2aXJ0dWFsIHBsYXRmb3JtIGRldmVsb3BtZW50IHNob3Vs ZCBiZSBkaXZpZGVkIHRvIG1ha2UgbGlmZSBlYXNpZXIgZm9yIGV2ZXJ5Ym9keS4gQW5kIHRoaXMg Y2hhbmdlcyBpcyBmaXJzdCBzdGVwIHRvIGl0Lg0KDQoNCg0KQWJvdXQgbGVnYWwgcmVhc29ucyBh bmQgR1BMIHZpb2xhdGlvbnMuIFBvc3NpYmlsaXR5IHRvIG1ha2UgLnNvIHdpdGggbWFjaGluZSBz ZXBhcmF0ZWx5IGFuZCBsb2FkIGl0IHdpdGhvdXQgcHJvdmlkaW5nIHNvdXJjZXMgaXMgYSBsZWdh bCByaXNrIGFuZCBjYW6hr3QgYmUgY29tcGxldGVseSBzb2x2ZWQgd2l0aCB0ZWNobmljYWwgYWN0 aW9ucy4gQmFuIG9uIGV4dGVybmFsIG1vZHVsZXMganVzdCBtYWtlcyBpdCBtb3JlIGRpZmZpY3Vs dCBmb3IgZXZlcnlib2R5IHRvIHVzZSBub3QgdXBzdHJlYW0gY29kZSAoaW5jbHVkaW5nIEdQTCB2 aW9sYXRvcnMsIGJ1dCBub3Qgb25seSBmb3IgdGhlbSkgYW5kIGRvZXNuoa90IGJsb2NrIGFiaWxp dHkgdG8gZGlzdHJpYnV0ZSBmdWxsIFFFTVUgZm9yayB3aXRoIGNsb3NlZCBtb2RlbHMgd2l0aG91 dCBwcm92aWRpbmcgc291cmNlcy4gU28gSSBkb26hr3Qgc2VlIGFueSByZWFzb24gdG8gbWFrZSB0 ZWNobmljYWwgbGltaXRhdGlvbnMgd2hpY2ggYWN0dWFsbHkgY2Fuoa90IHNvbHZlIGxlZ2FsIHBy b2JsZW0uDQoNCg0KDQpCZXN0IFJlZ2FyZHMsDQoNCkFudG9uDQoNClNvZnR3YXJlIGVuZ2luZWVy IGZyb20gQXVyaWdhIExMQzxodHRwOi8vd3d3LmF1cmlnYS5jb20vPg0KDQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0Kp7Cn5DogRGFuaWVsIFAuIEJlcnJhbmeopiA8YmVycmFuZ2VA cmVkaGF0LmNvbT4NCqewp+Sn4afip9Gn06fdp9an36fgOiAxOSCn2qfwp92n8SAyMDIyIKfULiAx OToyNQ0Kp6yn4Kfep+U6IERyYXAgQW50b24NCqesp+Cn4afap/E6IHFlbXUtZGV2ZWxAbm9uZ251 Lm9yZzsgRHJhcCwgQW50b24NCqe0p9an3qfROiBSZTogW1BBVENIIHYyXSBMb2FkaW5nIG5ldyBt YWNoaW5lcyBhbmQgZGV2aWNlcyBmcm9tIGV4dGVybmFsIG1vZHVsZXMNCg0KT24gVHVlLCBKdWwg MTksIDIwMjIgYXQgMDQ6NTk6MjJQTSArMDUwMCwgRHJhcCBBbnRvbiB3cm90ZToNCj4gRnJvbTog IkRyYXAsIEFudG9uIiA8YW50b24uZHJhcEBhdXJpZ2EuY29tPg0KPg0KPiBUaGVyZSBpcyBubyBt ZWNoYW5pc20gdG8gbG9hZCBleHRlcm5hbCBtYWNoaW5lcyBhbmQgY2xhc3NlcyBmcm9tIG1vZHVs ZXMNCj4gYXQgdGhlIG1vbWVudC4gVGhpcyBwYXRjaCBpcyB0byBhZGQgdHdvIHBhcmFtZXRlcnMg YGFkZF9tYWNoaW5lYCBhbmQNCj4gYGFkZF9tb2RpbmZvYCBmb3IgaXQuDQo+IGBhZGRfbWFjaGlu ZWAgaXMgdG8gYWRkIG1hY2hpbmVzIGZyb20gZXh0ZXJuYWwgbW9kdWxlcy4NCj4gYGFkZF9tb2Rp bmZvYCBpcyB0byBhZGQgZGV2aWNlcyBmcm9tIGV4dGVybmFsIG1vZHVsZXMsIG5lZWRlZCBmb3Ig YSBuZXcNCj4gbWFjaGluZSwgZm9yIGV4YW1wbGUuDQo+IE1haW4gYWltIGlzIHRvIGhhdmUgcG9z c2liaWxpdHkgdG8gZGV2ZWxvcCBpbmRlcGVuZGVudCBtb2RlbHMgYW5kIGJlIGFibGUNCj4gdG8g dXNlIGl0IHdpdGggbWFpbmxpbmUgUUVNVS4gSXQgd2lsbCBoZWxwIHRvIG1ha2UgZGV2ZWxvcCBu ZXcgbW9kZWxzIG9mDQo+IHByb3ByaWV0YXJ5IGJvYXJkcywgc2ltcGxpZnkgdG8gdXNlIFFlbXUg YnkgaGFyZHdhcmUgZGV2ZWxvcGVycyBhbmQgZXh0ZW5kDQo+IG51bWJlciBvZiBzdXBwb3J0aW5n IGJvYXJkcyBhbmQgZGV2aWNlcyBpbiBRRU1VLiBJdCB3aWxsIGJlIGVhc2llciBmb3INCj4gc21h bGwgaGFyZHdhcmUgbWFudWZhY3R1cmVycyB0byB1c2UgUUVNVSB0byBkZXZlbG9wIHRoZWlyIG93 biBib2FyZCBtb2RlbHMNCj4gYW5kIHVzZSB0aGVtIHRvIHNoaWZ0IGxlZnQgb2YgRlcvU1cgZGV2 ZWxvcG1lbnQuDQoNCklJVUMsIHRoaXMgaXMgc3VnZ2VzdGluZyBRRU1VIGxvYWQgcHJlLWJ1aWx0 IC5zbyBmaWxlcyBjcmVhdGVkIGZyb20NCm5vbi11cHN0cmVhbSBjb2RlLCB0byBhcmJpdHJhcmls eSBleHRlbmQgUUVNVSdzIGZ1bmN0aW9uYWxpdHkuIFN1Y2gNCi5zbyBmaWxlcyB3aWxsIGluaGVy YW50bHkgaGF2ZSB0byBiZSBHUExkIGFzIHRoZXknbGwgZGVyaXZlIGZyb20NClFFTVUncyBpbnRl cm5hbCBBUElzIHdoaWNoIGFyZSBHUEwuIEdpdmVuIHRoZSBwcm9wb3NlZCB1c2UgY2FzZSBpcw0K dG8gZW11bGF0ZSBub24tcmVsZWFzZWQgcHJvcHJpZXRhcnkgaGFyZHdhcmUsIEkgc3RydWdnbGUg dG8gc2VlIGhvdw0KeW91J2xsIGZ1bGxmaWxsIHRoZSByZXF1aXJlbWVudHMgZm9yIEdQTCBsaWNl bnNpbmcgb2YgdGhlIGxvYWRlZCAuc28sDQp3aXRob3V0IHJldmVhbGluZyB5b3VyIHByb3ByaWV0 YXJ5IGhhcmR3YXJlIGRlc2lnbiB0byBhbnkgd2hvIHJlY2VpdmUNCnRoZSAuc28gZmlsZXMuDQoN Cg0KTW9yZSBnZW5lcmFsbHksIFFFTVUncyBleGlzdGluZyBsb2FkYWJsZSBtb2R1bGUgdXNhZ2Ug aXMgZXhwbGljaXRseQ0KZGVzaWduZWQgdG8gdHJ5IHRvICpwcmV2ZW50KiBsb2FkaW5nIG9mIG5v bi11cHN0cmVhbSBjb2RlLiBJdCBhaW1zDQp0byBvbmx5IGxvYWQgY29kZSB0aGF0IHdhcyBidWls dCBhcyBwYXJ0IG9mIHRoZSBpbnRlZ3JhdGVkIFFFTVUNCmJ1aWxkIHByb2Nlc3MuIGllLCBRRU1V J3MgbG9hZGFibGUgbW9kdWxlIHN5c3RlbSBpcyBhYm91dCBtYWtpbmcNCml0IHBvc3NpYmxlIHRv IGJ1aWxkIG1hbnkgUUVNVSBmZWF0dXJlcywgYnV0IHRoZW4gc2VsZWN0aXZlbHkgbG9hZA0KdGhl bSBhdCBydW50aW1lIHRvIHJlZHVjZSBmb290cHJpbnQvYXR0YWNrIHN1cmZhY2UuIEl0IGlzICpu b3QqDQppbnRlbmRlZCB0byBhbGxvdyBub24tdXBzdHJlYW0gY29kZSB0byBiZSBsb2FkZWQuDQoN Cg0KQXNpZGUgZnJvbSBvdXIgZ29hbCB0byBwcmV2ZW50L2Rpc2NvdXJhZ2UgR1BMIHZpb2xhdGlv biB0aHJvdWdoDQpjbG9zZWQgc291cmNlIGxvYWRhYmxlIG1vZHVsZXMsIFFFTVUgYWxzbyBoYXMg YSBzdHJvbmcgZGVzaXJlIHRvDQpub3QgbG9jayBvdXJzZWx2ZXMgaW50byBzdXBwb3J0aW5nIGEg cHVibGljIEFQSSBmb3IgbG9hZGFibGUNCm1vZHVsZXMuIE1haW50YWluZXJzIHdpc2ggdG8gcmV0 YWluIGZsZXhpYmlsaXR5IHRvIGNoYW5nZSB0aGUNCmludGVybmFsIEFQSXMgYXQgYW55IHRpbWUu DQoNCg0KUGFydGlhbGx5IHJlbGF0ZWQgdG8gdGhpcyB0b3BpYywgdGhlcmUgaXMgc29tZSB3b3Jr IHRha2luZyBwbGFjZQ0Kd2l0aCB0aGUgZ29hbCBvZiBtYWtpbmcgaXQgcG9zc2libGUgdG8gZGVm aW5lIG5ldyBtYWNoaW5lIHR5cGVzDQppbiBRRU1VIGZyb20gYSBRQVBJIGJhc2VkIEpTT04gZGVz Y3JpcHRpb24uICBUaGUgYWN0dWFsIGhhcmR3YXJlDQpkZXZpY2VzIGFuZCBDUFVzIHdvdWxkIHN0 aWxsIG5lZWQgY29kZSB0byBiZSBidWlsdCBpbnRvIFFFTVUNCmFuZCB1cHN0cmVhbSwgYnV0IHRo ZSB3YXkgdGhlIGhhcmR3YXJlIGRldmljZXMgJiBDUFVzIGFyZSB3aXJlZA0KdG9nZXRoZXIgd291 bGQgYmUgY3VzdG9taXphYmxlIHZpYSB0aGUgSlNPTiBjb25maWcuICBUaGF0IGNvdWxkDQpnZXQg c29tZSwgYnV0IG5vdCBhbGwsIG9mIHRoZSBiZW5lZml0cyB5b3Ugc2VlayB3aXRob3V0IHRoZQ0K ZG93bnNpZGVzIHRoZSBRRU1VIG1haW50YWluZXJzIHdpc2ggdG8gYXZvaWQuICBUaGlzIGlzbid0 IHJlYWR5DQp0byBjb25zdW1lIHlldCBhbmQgd2UgZG9uJ3QgaGF2ZSBhbnkgZmlybSBFVEEgZWl0 aGVyIEknbQ0KYWZyYWlkLg0KDQpXaXRoIHJlZ2FyZHMsDQpEYW5pZWwNCi0tDQp8OiBodHRwczov L2JlcnJhbmdlLmNvbSAgICAgIC1vLSAgICBodHRwczovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9k YmVycmFuZ2UgOnwNCnw6IGh0dHBzOi8vbGlidmlydC5vcmcgICAgICAgICAtby0gICAgICAgICAg ICBodHRwczovL2ZzdG9wMTM4LmJlcnJhbmdlLmNvbSA6fA0KbGlidmlydDogVGhlIHZpcnR1YWxp emF0aW9uIEFQSTxodHRwczovL2xpYnZpcnQub3JnLz4NCmxpYnZpcnQub3JnDQpsaWJ2aXJ0LCB2 aXJ0dWFsaXphdGlvbiwgdmlydHVhbGl6YXRpb24gQVBJDQoNCg0KDQp8OiBodHRwczovL2VudGFu Z2xlLXBob3RvLm9yZyAgICAtby0gICAgaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9kYmVycmFu Z2UgOnwNCg0K --_000_d711926c2de2406c9e785971ac058d8aaurigacom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

Hi Guys,

 

Let me clarify my position about out of tree devices. Yes, I unders= tand that current QEMU politics is to have all the supported platforms insi= de QEMU source tree, but actually simulator core development, development of the devices standard library and developm= ent of virtual platforms are three different tasks. Moreover different peop= le interested in different parts of QEMU. QEMU core developers not interest= ed in supporting and maintaining tons of platforms available on the market. Virtual platform developers not= interested and usually don=A1=AFt have resources to merge their changes up= stream. So we have a lots of abandoned QEMU forks for different platforms. = For example we=A1=AFre now working on Raspberry Pi 4b implementation for our internal needs and we=A1=AFre planning to mer= ge it upstream. It=A1=AFs based on some QEMU fork author of which wasn=A1= =AFt able to complete it and commit upstream. And it can=A1=AFt be used wit= h later QEMU without some efforts to port it to newer QEMU version. Nobody supports and maintaining it since constant efforts ne= cessary to be in sync with QEMU mainline. So my opinion is that core develo= pment, core device library and virtual platform development should be divid= ed to make life easier for everybody. And this changes is first step to it.


 

About legal reasons and GPL violations. Possibility to make .so wit= h machine separately and load it without providing sources is a legal risk = and can=A1=AFt be completely solved with technical actions. Ban on external modules just makes it more difficult fo= r everybody to use not upstream code (including GPL violators, but not only= for them) and doesn=A1=AFt block ability to distribute full QEMU fork with= closed models without providing sources. So I don=A1=AFt see any reason to make technical limitations which actuall= y can=A1=AFt solve legal problem.

 

Best Regards, 

Anton

Software en= gineer from Auriga LLC



=A7=B0=A7=E4: Daniel P. B= errang=A8=A6 <berrange@redhat.com>
=A7=B0=A7=E4=A7=E1=A7=E2=A7=D1=A7=D3=A7=DD=A7=D6=A7=DF=A7=E0: 19 =A7= =DA=A7=F0=A7=DD=A7=F1 2022 =A7=D4. 19:25
=A7=AC=A7=E0=A7=DE=A7=E5: Drap Anton
=A7=AC=A7=E0=A7=E1=A7=DA=A7=F1: qemu-devel@nongnu.org; Drap, Anton =A7=B4=A7=D6=A7=DE=A7=D1: Re: [PATCH v2] Loading new machines and de= vices from external modules
 
On Tue, Jul 19, 2022 at 04:59:22PM +0500, Drap= Anton wrote:
> From: "Drap, Anton" <anton.drap@auriga.com>
>
> There is no mechanism to load external machines and classes from modul= es
> at the moment. This patch is to add two parameters `add_machine` and > `add_modinfo` for it.
> `add_machine` is to add machines from external modules.
> `add_modinfo` is to add devices from external modules, needed for a ne= w
> machine, for example.
> Main aim is to have possibility to develop independent models and be a= ble
> to use it with mainline QEMU. It will help to make develop new models = of
> proprietary boards, simplify to use Qemu by hardware developers and ex= tend
> number of supporting boards and devices in QEMU. It will be easier for=
> small hardware manufacturers to use QEMU to develop their own board mo= dels
> and use them to shift left of FW/SW development.

IIUC, this is suggesting QEMU load pre-built .so files created from
non-upstream code, to arbitrarily extend QEMU's functionality. Such
.so files will inherantly have to be GPLd as they'll derive from
QEMU's internal APIs which are GPL. Given the proposed use case is
to emulate non-released proprietary hardware, I struggle to see how
you'll fullfill the requirements for GPL licensing of the loaded .so,
without revealing your proprietary hardware design to any who receive
the .so files.


More generally, QEMU's existing loadable module usage is explicitly
designed to try to *prevent* loading of non-upstream code. It aims
to only load code that was built as part of the integrated QEMU
build process. ie, QEMU's loadable module system is about making
it possible to build many QEMU features, but then selectively load
them at runtime to reduce footprint/attack surface. It is *not*
intended to allow non-upstream code to be loaded.


Aside from our goal to prevent/discourage GPL violation through
closed source loadable modules, QEMU also has a strong desire to
not lock ourselves into supporting a public API for loadable
modules. Maintainers wish to retain flexibility to change the
internal APIs at any time.


Partially related to this topic, there is some work taking place
with the goal of making it possible to define new machine types
in QEMU from a QAPI based JSON description.  The actual hardware
devices and CPUs would still need code to be built into QEMU
and upstream, but the way the hardware devices & CPUs are wired
together would be customizable via the JSON config.  That could
get some, but not all, of the benefits you seek without the
downsides the QEMU maintainers wish to avoid.  This isn't ready
to consume yet and we don't have any firm ETA either I'm
afraid.

With regards,
Daniel
--
|: https://berrange.com      -o-  &= nbsp; https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         = -o-            https://fstop138.berrange.com :|
libvirt.org
libvirt, virtualization, virtualization API


|: https://entangle-photo.org    -o-  &= nbsp; https://www.instagram.com/dberrange :|

--_000_d711926c2de2406c9e785971ac058d8aaurigacom_--