From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: Re: [PATCH v12 3/4] hw/arm/virt: add dynamic sysbus device support Date: Mon, 27 Apr 2015 15:41:05 +0200 Message-ID: <553E3C71.1040001@suse.de> References: <1429888773-11730-1-git-send-email-eric.auger@linaro.org> <1429888773-11730-4-git-send-email-eric.auger@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D6C4D4E939 for ; Mon, 27 Apr 2015 09:34:53 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wie3FMy3Y02r for ; Mon, 27 Apr 2015 09:34:51 -0400 (EDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 940F84E938 for ; Mon, 27 Apr 2015 09:34:50 -0400 (EDT) In-Reply-To: <1429888773-11730-4-git-send-email-eric.auger@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Eric Auger , eric.auger@st.com, qemu-devel@nongnu.org, peter.maydell@linaro.org, pbonzini@redhat.com Cc: patches@linaro.org, alex.williamson@redhat.com, kvmarm@lists.cs.columbia.edu List-Id: kvmarm@lists.cs.columbia.edu T24gMDQvMjQvMjAxNSAwNToxOSBQTSwgRXJpYyBBdWdlciB3cm90ZToKPiBBbGxvd3Mgc3lzYnVz IGRldmljZXMgdG8gYmUgaW5zdGFudGlhdGVkIGZyb20gY29tbWFuZCBsaW5lIGJ5Cj4gdXNpbmcg LWRldmljZSBvcHRpb24uIE1hY2h2aXJ0IGNyZWF0ZXMgYSBwbGF0Zm9ybSBidXMgYXQgaW5pdC4K PiBUaGUgZHluYW1pYyBzeXNidXMgZGV2aWNlcyBhcmUgYXR0YWNoZWQgdG8gdGhpcyBwbGF0Zm9y bSBidXMgZGV2aWNlLgo+Cj4gVGhlIHBsYXRmb3JtIGJ1cyBkZXZpY2UgcmVnaXN0ZXJzIGEgbWFj aGluZSBpbml0IGRvbmUgbm90aWZpZXIKPiB3aG9zZSByb2xlIHdpbGwgYmUgdG8gYmluZCB0aGUg ZHluYW1pYyBzeXNidXMgZGV2aWNlcy4gSW5kZWVkCj4gZHluYW1pYyBzeXNidXMgZGV2aWNlcyBh cmUgY3JlYXRlZCBhZnRlciBtYWNoaW5lIGluaXQuCj4KPiBtYWNodmlydCBhbHNvIHJlZ2lzdGVy cyBhIG5vdGlmaWVyIHRoYXQgd2lsbCBidWlsZCB0aGUgZGV2aWNlCj4gdHJlZSBub2RlcyBmb3Ig dGhlIHBsYXRmb3JtIGJ1cyBhbmQgaXRzIGNoaWxkcmVuIGR5bmFtaWMgc3lzYnVzCj4gZGV2aWNl cy4KPgo+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBHcmFmIDxhZ3JhZkBzdXNlLmRlPgoKSHJt LCBhcmUgeW91IHN1cmUgdGhpcyBjb2RlIGlzIGZyb20gbWU/IDopCgo+IFNpZ25lZC1vZmYtYnk6 IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAbGluYXJvLm9yZz4KPiBSZXZpZXdlZC1ieTogQWxleCBC ZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgo+Cj4gLS0tCj4gdjExIC0+IHYxMjoKPiAt IHJlc2l6ZSBQTEFURk9STV9CVVNfTlVNX0lSUVMgdG8gNjQgaW5zdGVhZCBvZiAzMgo+IC0gb3Zl cmFsbCBOVU1fSVJRUyBjaGFuZ2VkIHRvIDI1Ni4gVGhpcyBsZWF2ZXMgc3BhY2UgZm9yIE1TSQo+ ICAgIGxvb21pbmcgYWRkaXRpb24KPiAtIFZJUlRfUExBVEZPUk1fQlVTIHNpemUgY2hhbmdlZCBm cm9tIDRNQiB0byAzMk1CIGFuZCBiYXNlIHNldCBhdAo+ICAgIDB4YzAwMDAwMAo+IC0gQWRkIEFs ZXggUi1iCj4KPiB2OCAtPiB2OToKPiAtIFBMQVRGT1JNX0JVU19OVU1fSVJRUyBzZXQgdG8gMzIg aW5zdGVhZCBvZiAyMAo+IC0gcGxhdGZvcm0gYnVzIGlycSBub3cgc3RhcnQgYXQgNjQgaW5zdGVh ZCBvZiA0OAo+IC0gcmVtb3ZlIGNoYW5nZSBvZiBpbmRlbnRhdGlvbiBpbiBhMTVtZW1tYXAKPiAt IGNvcnJlY3QgbWlzYyBzdHlsZSBpc3N1ZXMKPgo+IHY3IC0+IHY4Ogo+IC0gcmViYXNlIG9uIDIu Mi4wCj4gLSBpbiBtYWNodmlydF9pbml0LCBjcmVhdGVfcGxhdGZvcm1fYnVzIHNpbXBseSBpcyBh ZGRlZAo+ICAgIGFmdGVyIHRoZSBhcm1fbG9hZF9rZXJuZWwgY2FsbCBpbnN0ZWFkIG9mIG1vdmlu ZyB0aGlzIGxhdHRlci4KPiAgICBSZWxhdGVkIGNvbW1lbnQgc2xpZ2hseSByZXdvcmRlZC4KPiAt IER1ZSB0byB0aG9zZSBjaGFuZ2VzIEkgZHJvcHBlZCBBbGV4IGFuZCBTaGFubm9uJ3MgUmV2aWV3 ZWQtYnkKPgo+IHY2IC0+IHY3Ogo+IFRha2UgaW50byBhY2NvdW50IFNoYW5ub24gY29tbWVudHM6 Cj4gLSByZW1vdmUgUExBVEZPUk1fQlVTX0ZJUlNUX0lSUSBtYWNybwo+IC0gY29ycmVjdCBwbGF0 Zm9ybSBidXMgc2l6ZSB0byAweDQwMDAwMAo+IC0gYWRkIGFuIGFkZGl0aW9uYWwgY29tbWVudCBp biBhMTVpcnFtYXAgcmVsYXRlZCB0bwo+ICAgIFBMQVRGT1JNX0JVU19OVU1fSVJRUwo+Cj4gdjUg LT4gdjY6Cj4gLSBUYWtlIGludG8gYWNjb3VudCBQZXRlcidzIGNvbW1lbnRzOgo+ICAgIC0gcGxh dGZvcm1fYnVzX3BhcmFtcyBpbml0aWFsaXplZCBmcm9tIHZiaS0+bWVtbWFwIGFuZCB2YmktPmly cW1hcC4KPiAgICAgIEFzIGEgY29uc2VxdWVuY2UsIGNvbnN0IGlzIHJlbW92ZWQuIEFsc28gYWxp Z25tZW50IGluIGExNW1lbW1hcAo+ICAgICAgaXMgc2xpZ2h0bHkgY2hhbmdlZC4KPiAgICAtIEFS TVBsYXRmb3JtQnVzU3lzdGVtUGFyYW1zIGhhbmRsZSByZW1vdmVkIGZyb20gY3JlYXRlX3BsYXRm b3JtX2J1cwo+ICAgICAgcHJvdG90eXBlCj4gLSBhcm1fbG9hZF9rZXJuZWwgaGFzIGJlY29tZSBh IG1hY2hpbmUgaW5pdCBkb25lIG5vdGlmaWVyIHJlZ2lzdHJhdGlvbi4KPiAgICBJdCBtdXN0IGJl IGNhbGxlZCBiZWZvcmUgcGxhdGZvcm1fYnVzX2NyZWF0ZSB0byBndWFyYW50ZWUgdGhlIGNvcnJl Y3QKPiAgICBub3RpZmllciBleGVjdXRpb24gc2VxdWVuY2UKPgo+IHY0IC0+IHY1Ogo+IC0gcGxh dGZvcm1fYnVzX3BhcmFtcyBiZWNvbWVzIHN0YXRpYyBjb25zdAo+IC0gcmV3b3JkIGNvbW1lbnQg aW4gY3JlYXRlX3BsYXRmb3JtX2J1cwo+IC0gcmV3b3JkIHRoZSBjb21taXQgbWVzc2FnZQo+Cj4g djMgLT4gdjQ6Cj4gLSB1c2UgcGxhdGZvcm0gYnVzIG9iamVjdCwgaW5zdGFudGlhdGVkIGluIGNy ZWF0ZV9wbGF0Zm9ybV9idXMKPiAtIGRldmljZSB0cmVlIGdlbmVyYXRpb24gZm9yIHBsYXRmb3Jt IGJ1cyBhbmQgY2hpbGRyZW4gZHluYW1pYwo+ICAgIHN5c2J1cyBkZXZpY2VzIGlzIG5vIG1vcmUg aGFuZGxlZCBhdCByZXNldCBidXQgaW4gYQo+ICAgIG1hY2hpbmVfaW5pdF9kb25lX25vdGlmaWVy IChkdWUgdG8gdGhlIGNoYW5nZSBpbiBpbXBsZW1lbnRhaW9uCj4gICAgb2YgQVJNIGxvYWQgZHRi IHVzaW5nIHJvbV9hZGRfYmxvYl9maXhlZCkuCj4gLSBkZXZpY2UgdHJlZSBlbmhhbmNlbWVudCBu b3cgdGFrZXMgaW50byBhY2NvdW50IHRoZSBjYXNlIG9mCj4gICAgdXNlciBwcm92aWRlZCBkdGIu IEJlZm9yZSB0aGUgdXNlciBkdGIgd2FzIG92ZXJ3cml0dGVuIHdoaWNoCj4gICAgd2FzIHdyb25n LiBIb3dldmVyIGluIGNhc2UgdGhlIGR0YiBpcyBwcm92aWRlZCBieSB0aGUgdXNlciwKPiAgICBk eW5hbWljIHN5c2J1cyBub2RlcyBhcmUgbm90IGFkZGVkIHRoZXJlLgo+IC0gcmVuYW1pbmcgb2Yg TUFDSFZJUlRfUExBVEZPUk0gZGVmaW5lcwo+IC0gTUFDSFZJUlRfUExBVEZPUk1fUEFHRV9TSElG VCBhbmQgU0laRV9QQUdFUyBub3QgbmVlZGVkIGFueW1vcmUsCj4gICAgaGVuY2UgcmVtb3ZlZC4K PiAtIER5blN5c2J1c1BhcmFtcyBzdHJ1Y3QgcmVuYW1lZCBpbnRvIEFSTVBsYXRmb3JtQnVzU3lz dGVtUGFyYW1zCj4gICAgYW5kIGFib3ZlIHBhcmFtcyByZW1vdmVkLgo+IC0gc2VwYXJhdGlvbiBv ZiBkdCBjcmVhdGlvbiBhbmQgUUVNVSBiaW5kaW5nIGlzIG5vdCBtYW5kYXRlZCBhbnltb3JlCj4g ICAgc2luY2UgdGhlIGRldmljZSB0cmVlIGlzIG5vdCBjcmVhdGVkIGZyb20gc2NyYXRjaCBhbnlt b3JlLiBJbnN0ZWFkCj4gICAgdGhlIG1vZGlmeV9kdGIgZnVuY3Rpb24gaXMgdXNlZC4KPiAtIGNy ZWF0ZV9wbGF0Zm9ybV9idXMgcmVnaXN0ZXJzIGFub3RoZXIgbWFjaGluZSBpbml0IGRvbmUgbm90 aWZpZXIKPiAgICB0byBzdGFydCBWRklPIElSUSBoYW5kbGluZy4gVGhpcyBsYXR0ZXIgZXhlY3V0 ZXMgYWZ0ZXIgdGhlCj4gICAgZHluYW1pYyBzeXNidXMgZGV2aWNlIGJpbmRpbmcuCj4KPiB2MiAt PiB2MzoKPiAtIHJlbmFtaW5nIG9mIGFybV9wbGF0Zm9ybV9idXNfY3JlYXRlX2RldnRyZWUgYW5k IGFybV9sb2FkX2R0Ygo+IC0gYWRkIGNvcHlyaWdodCBpbiBody9hcm0vZHluX3N5c2J1c19kZXZ0 cmVlLmMKPgo+IHYxIC0+IHYyOgo+IC0gcmVtb3ZlIHVzZWxlc3MgdmZpby1wbGF0Zm9ybS5oIGlu Y2x1ZGUgZmlsZQo+IC0gcy9NQUNIVklSVF9QTEFURk9STV9IT0xFL01BQ0hWSVJUX1BMQVRGT1JN X1NJWkUKPiAtIHVzZSBkeW5fc3lzYnVzX2JpbmRpbmcgYW5kIGR5bl9zeXNidXNfZGV2dHJlZQo+ IC0gZHluYW1pYyBzeXNidXMgcGxhdGZvcm0gYnVzZSBzaXplIHNocmlua2VkIHRvIDRNQiBhbmQK PiAgICBtb3ZlZCBiZXR3ZWVuIFJUQyBhbmQgTU1JTwo+Cj4gdjE6Cj4KPiBJbnNwaXJlZCBmcm9t IHdoYXQgQWxleCBHcmFmIGRpZCBpbiBwcGMgZTUwMAo+IGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9h cmNoaXZlL2h0bWwvcWVtdS1wcGMvMjAxNC0wNy9tc2cwMDAxMi5odG1sCj4gLS0tCj4gICBody9h cm0vdmlydC5jIHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCj4KPiBkaWZmIC0tZ2l0IGEvaHcvYXJtL3ZpcnQuYyBiL2h3L2FybS92aXJ0 LmMKPiBpbmRleCA1NjVmNTczLi5lZmEzMjE2IDEwMDY0NAo+IC0tLSBhL2h3L2FybS92aXJ0LmMK PiArKysgYi9ody9hcm0vdmlydC5jCj4gQEAgLTQzLDExICs0MywxMyBAQAo+ICAgI2luY2x1ZGUg InFlbXUvYml0b3BzLmgiCj4gICAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKPiAgICNp bmNsdWRlICJody9wY2ktaG9zdC9ncGV4LmgiCj4gKyNpbmNsdWRlICJody9hcm0vc3lzYnVzLWZk dC5oIgo+ICsjaW5jbHVkZSAiaHcvcGxhdGZvcm0tYnVzLmgiCj4gICAKPiAgICNkZWZpbmUgTlVN X1ZJUlRJT19UUkFOU1BPUlRTIDMyCj4gICAKPiAgIC8qIE51bWJlciBvZiBleHRlcm5hbCBpbnRl cnJ1cHQgbGluZXMgdG8gY29uZmlndXJlIHRoZSBHSUMgd2l0aCAqLwo+IC0jZGVmaW5lIE5VTV9J UlFTIDEyOAo+ICsjZGVmaW5lIE5VTV9JUlFTIDI1Ngo+ICAgCj4gICAjZGVmaW5lIEdJQ19GRFRf SVJRX1RZUEVfU1BJIDAKPiAgICNkZWZpbmUgR0lDX0ZEVF9JUlFfVFlQRV9QUEkgMQo+IEBAIC02 MCw2ICs2Miw4IEBACj4gICAjZGVmaW5lIEdJQ19GRFRfSVJRX1BQSV9DUFVfU1RBUlQgOAo+ICAg I2RlZmluZSBHSUNfRkRUX0lSUV9QUElfQ1BVX1dJRFRIIDgKPiAgIAo+ICsjZGVmaW5lIFBMQVRG T1JNX0JVU19OVU1fSVJRUyA2NAo+ICsKPiAgIGVudW0gewo+ICAgICAgIFZJUlRfRkxBU0gsCj4g ICAgICAgVklSVF9NRU0sCj4gQEAgLTcxLDggKzc1LDExIEBAIGVudW0gewo+ICAgICAgIFZJUlRf UlRDLAo+ICAgICAgIFZJUlRfRldfQ0ZHLAo+ICAgICAgIFZJUlRfUENJRSwKPiArICAgIFZJUlRf UExBVEZPUk1fQlVTLAo+ICAgfTsKPiAgIAo+ICtzdGF0aWMgQVJNUGxhdGZvcm1CdXNTeXN0ZW1Q YXJhbXMgcGxhdGZvcm1fYnVzX3BhcmFtczsKPiArCj4gICB0eXBlZGVmIHN0cnVjdCBNZW1NYXBF bnRyeSB7Cj4gICAgICAgaHdhZGRyIGJhc2U7Cj4gICAgICAgaHdhZGRyIHNpemU7Cj4gQEAgLTEz MSw2ICsxMzgsNyBAQCBzdGF0aWMgY29uc3QgTWVtTWFwRW50cnkgYTE1bWVtbWFwW10gPSB7Cj4g ICAgICAgW1ZJUlRfRldfQ0ZHXSA9ICAgICB7IDB4MDkwMjAwMDAsIDB4MDAwMDAwMGEgfSwKPiAg ICAgICBbVklSVF9NTUlPXSA9ICAgICAgIHsgMHgwYTAwMDAwMCwgMHgwMDAwMDIwMCB9LAo+ICAg ICAgIC8qIC4uLnJlcGVhdGluZyBmb3IgYSB0b3RhbCBvZiBOVU1fVklSVElPX1RSQU5TUE9SVFMs IGVhY2ggb2YgdGhhdCBzaXplICovCj4gKyAgICBbVklSVF9QTEFURk9STV9CVVNdID0gICB7IDB4 MGMwMDAwMDAsIDB4MDIwMDAwMDAgfSwKClBldGVyLCB3b3VsZCB5b3UgaGF2ZSBhIGhhcmQgdGlt ZSBpZiB3ZSBqdXN0IGdldCByaWQgb2YgVklSVF9NTUlPIApjb21wbGV0ZWx5IGFuZCBhbGxvdyB1 c2VycyB0byBjcmVhdGUgdGhlIG1taW8tdmlydGlvIGJyaWRnZXMgdXNpbmcgCi1kZXZpY2UgZm9y IC1NIHZpcnQtMi40IGFuZCBhYm92ZT8KCkF0IHRoZSBlbmQgb2YgdGhlIGRheSwgSSdtIGZhaXJs eSBzdXJlIHBlb3BsZSB3aWxsIGVuZCB1cCB2aXJ0aW8tcGNpIAphbnl3YXkgYW5kIGl0J3MganVz dCBhIGJpZyB3YXN0ZSBvZiBhZGRyZXNzIHNwYWNlIHRvIGtlZXAgVklSVF9NTUlPIAphcm91bmQs IG5vPwoKVGhhdCBzYWlkLCBpZiB5b3Ugd2FudCB0byBrZWVwIHZpcnRpby1tbWlvIHN1cHBvcnQg aW4gdGhlIHdheSBpdCBpcyAKdG9kYXksIEkgd29uJ3Qgb2JqZWN0LiBUaGUgcmVzdCBvZiB0aGUg cGF0Y2ggbG9va3MgZ29vZCB0byBtZS4KCgpBbGV4CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5j cy5jb2x1bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0 aW5mby9rdm1hcm0K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40320) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmjJf-00067P-GO for qemu-devel@nongnu.org; Mon, 27 Apr 2015 09:43:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YmjJa-0000CO-Le for qemu-devel@nongnu.org; Mon, 27 Apr 2015 09:43:19 -0400 Received: from cantor2.suse.de ([195.135.220.15]:55930 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmjJa-00009Y-4b for qemu-devel@nongnu.org; Mon, 27 Apr 2015 09:43:14 -0400 Message-ID: <553E3C71.1040001@suse.de> Date: Mon, 27 Apr 2015 15:41:05 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1429888773-11730-1-git-send-email-eric.auger@linaro.org> <1429888773-11730-4-git-send-email-eric.auger@linaro.org> In-Reply-To: <1429888773-11730-4-git-send-email-eric.auger@linaro.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v12 3/4] hw/arm/virt: add dynamic sysbus device support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Auger , eric.auger@st.com, qemu-devel@nongnu.org, peter.maydell@linaro.org, pbonzini@redhat.com Cc: b.reynal@virtualopensystems.com, patches@linaro.org, Bharat.Bhushan@freescale.com, alex.williamson@redhat.com, alex.bennee@linaro.org, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org On 04/24/2015 05:19 PM, Eric Auger wrote: > Allows sysbus devices to be instantiated from command line by > using -device option. Machvirt creates a platform bus at init. > The dynamic sysbus devices are attached to this platform bus device. > > The platform bus device registers a machine init done notifier > whose role will be to bind the dynamic sysbus devices. Indeed > dynamic sysbus devices are created after machine init. > > machvirt also registers a notifier that will build the device > tree nodes for the platform bus and its children dynamic sysbus > devices. > > Signed-off-by: Alexander Graf Hrm, are you sure this code is from me? :) > Signed-off-by: Eric Auger > Reviewed-by: Alex Benn=C3=A9e > > --- > v11 -> v12: > - resize PLATFORM_BUS_NUM_IRQS to 64 instead of 32 > - overall NUM_IRQS changed to 256. This leaves space for MSI > looming addition > - VIRT_PLATFORM_BUS size changed from 4MB to 32MB and base set at > 0xc000000 > - Add Alex R-b > > v8 -> v9: > - PLATFORM_BUS_NUM_IRQS set to 32 instead of 20 > - platform bus irq now start at 64 instead of 48 > - remove change of indentation in a15memmap > - correct misc style issues > > v7 -> v8: > - rebase on 2.2.0 > - in machvirt_init, create_platform_bus simply is added > after the arm_load_kernel call instead of moving this latter. > Related comment slighly reworded. > - Due to those changes I dropped Alex and Shannon's Reviewed-by > > v6 -> v7: > Take into account Shannon comments: > - remove PLATFORM_BUS_FIRST_IRQ macro > - correct platform bus size to 0x400000 > - add an additional comment in a15irqmap related to > PLATFORM_BUS_NUM_IRQS > > v5 -> v6: > - Take into account Peter's comments: > - platform_bus_params initialized from vbi->memmap and vbi->irqmap. > As a consequence, const is removed. Also alignment in a15memmap > is slightly changed. > - ARMPlatformBusSystemParams handle removed from create_platform_bus > prototype > - arm_load_kernel has become a machine init done notifier registration. > It must be called before platform_bus_create to guarantee the correc= t > notifier execution sequence > > v4 -> v5: > - platform_bus_params becomes static const > - reword comment in create_platform_bus > - reword the commit message > > v3 -> v4: > - use platform bus object, instantiated in create_platform_bus > - device tree generation for platform bus and children dynamic > sysbus devices is no more handled at reset but in a > machine_init_done_notifier (due to the change in implementaion > of ARM load dtb using rom_add_blob_fixed). > - device tree enhancement now takes into account the case of > user provided dtb. Before the user dtb was overwritten which > was wrong. However in case the dtb is provided by the user, > dynamic sysbus nodes are not added there. > - renaming of MACHVIRT_PLATFORM defines > - MACHVIRT_PLATFORM_PAGE_SHIFT and SIZE_PAGES not needed anymore, > hence removed. > - DynSysbusParams struct renamed into ARMPlatformBusSystemParams > and above params removed. > - separation of dt creation and QEMU binding is not mandated anymore > since the device tree is not created from scratch anymore. Instead > the modify_dtb function is used. > - create_platform_bus registers another machine init done notifier > to start VFIO IRQ handling. This latter executes after the > dynamic sysbus device binding. > > v2 -> v3: > - renaming of arm_platform_bus_create_devtree and arm_load_dtb > - add copyright in hw/arm/dyn_sysbus_devtree.c > > v1 -> v2: > - remove useless vfio-platform.h include file > - s/MACHVIRT_PLATFORM_HOLE/MACHVIRT_PLATFORM_SIZE > - use dyn_sysbus_binding and dyn_sysbus_devtree > - dynamic sysbus platform buse size shrinked to 4MB and > moved between RTC and MMIO > > v1: > > Inspired from what Alex Graf did in ppc e500 > https://lists.gnu.org/archive/html/qemu-ppc/2014-07/msg00012.html > --- > hw/arm/virt.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++= ++++++++- > 1 file changed, 60 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 565f573..efa3216 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -43,11 +43,13 @@ > #include "qemu/bitops.h" > #include "qemu/error-report.h" > #include "hw/pci-host/gpex.h" > +#include "hw/arm/sysbus-fdt.h" > +#include "hw/platform-bus.h" > =20 > #define NUM_VIRTIO_TRANSPORTS 32 > =20 > /* Number of external interrupt lines to configure the GIC with */ > -#define NUM_IRQS 128 > +#define NUM_IRQS 256 > =20 > #define GIC_FDT_IRQ_TYPE_SPI 0 > #define GIC_FDT_IRQ_TYPE_PPI 1 > @@ -60,6 +62,8 @@ > #define GIC_FDT_IRQ_PPI_CPU_START 8 > #define GIC_FDT_IRQ_PPI_CPU_WIDTH 8 > =20 > +#define PLATFORM_BUS_NUM_IRQS 64 > + > enum { > VIRT_FLASH, > VIRT_MEM, > @@ -71,8 +75,11 @@ enum { > VIRT_RTC, > VIRT_FW_CFG, > VIRT_PCIE, > + VIRT_PLATFORM_BUS, > }; > =20 > +static ARMPlatformBusSystemParams platform_bus_params; > + > typedef struct MemMapEntry { > hwaddr base; > hwaddr size; > @@ -131,6 +138,7 @@ static const MemMapEntry a15memmap[] =3D { > [VIRT_FW_CFG] =3D { 0x09020000, 0x0000000a }, > [VIRT_MMIO] =3D { 0x0a000000, 0x00000200 }, > /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of tha= t size */ > + [VIRT_PLATFORM_BUS] =3D { 0x0c000000, 0x02000000 }, Peter, would you have a hard time if we just get rid of VIRT_MMIO=20 completely and allow users to create the mmio-virtio bridges using=20 -device for -M virt-2.4 and above? At the end of the day, I'm fairly sure people will end up virtio-pci=20 anyway and it's just a big waste of address space to keep VIRT_MMIO=20 around, no? That said, if you want to keep virtio-mmio support in the way it is=20 today, I won't object. The rest of the patch looks good to me. Alex