From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [RFC] virtio-mmio: Update the device to OASIS spec version Date: Thu, 15 Jan 2015 19:51:32 +0200 Message-ID: <20150115175132.GA30453@redhat.com> References: <1419014284-18500-1-git-send-email-pawel.moll@arm.com> <20150115165101.GA29808@redhat.com> <1421343158.4601.7.camel@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1421343158.4601.7.camel@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Pawel Moll Cc: "virtualization@lists.linux-foundation.org" List-Id: virtualization@lists.linuxfoundation.org T24gVGh1LCBKYW4gMTUsIDIwMTUgYXQgMDU6MzI6MzhQTSArMDAwMCwgUGF3ZWwgTW9sbCB3cm90 ZToKPiBPbiBUaHUsIDIwMTUtMDEtMTUgYXQgMTY6NTEgKzAwMDAsIE1pY2hhZWwgUy4gVHNpcmtp biB3cm90ZToKPiA+ID4gKyAgICAgICAgICAgICB1aW50NjRfdCBhZGRyID0gdmlydF90b19waHlz KGluZm8tPnF1ZXVlKTsKPiA+IAo+ID4gS2VybmVsIG5vcm1hbGx5IHVzZXMgdTY0IGZvciB0aGlz IHR5cGUuCj4gCj4gU3VyZSwgd2VsbCBzcG90dGVkLgo+IAo+ID4gPiArCj4gPiA+ICsgICAgICAg ICAgICAgd3JpdGVsKGFkZHIgJiAweGZmZmZmZmZmLAo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19RVUVVRV9ERVNDX0xPVyk7Cj4g PiA+ICsgICAgICAgICAgICAgd3JpdGVsKChhZGRyID4+IDMyKSAmIDB4ZmZmZmZmZmYsCj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtX2Rldi0+YmFzZSArIFZJUlRJT19NTUlP X1FVRVVFX0RFU0NfSElHSCk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBhZGRyICs9IGlu Zm8tPm51bSAqIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzYyk7Cj4gPiA+ICsgICAgICAgICAgICAg d3JpdGVsKGFkZHIgJiAweGZmZmZmZmZmLAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19RVUVVRV9BVkFJTF9MT1cpOwo+ID4gPiAr ICAgICAgICAgICAgIHdyaXRlbCgoYWRkciA+PiAzMikgJiAweGZmZmZmZmZmLAo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19RVUVV RV9BVkFJTF9ISUdIKTsKPiA+IAo+ID4gMHhmZmZmZmZmZiBpc24ndCByZWFsbHkgbmVlZGVkLCBp cyBpdD8KPiAKPiBJIGFkbWl0IEknbSBuZXZlciBzdXJlIHdoYXQgYXJlIHRoZSBuYXJyb3dpbmcg c2lkZSBlZmZlY3RzLiBZb3UgYXJlCj4gcHJvYmFibHkgcmlnaHQgdGhhdCB1NjQgPj4gMzIgd2ls bCBiZSBhbHdheXMgMzIgYml0Lgo+IAo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgYWRkciAr PSBzaXplb2Yoc3RydWN0IHZyaW5nX2F2YWlsKSArIGluZm8tPm51bSAqIHNpemVvZihfX3UxNik7 Cj4gPiA+ICsgICAgICAgICAgICAgYWRkciArPSBWSVJUSU9fTU1JT19WUklOR19BTElHTiAtIDE7 Cj4gPiA+ICsgICAgICAgICAgICAgYWRkciAmPSB+KFZJUlRJT19NTUlPX1ZSSU5HX0FMSUdOIC0g MSk7Cj4gPiAKPiA+IAo+ID4gSG9zdCBubyBsb25nZXIga25vd3MgdGhlIGFsaWdubWVudCwgc28g d2h5IGlzIGl0IG5lZWRlZD8KPiAKPiBbc2tpcHBlZCB0aGUgc3BlYyByZWZlcmVuY2UsIGl0J3Mg YSBzZXBhcmF0ZSBkaXNjdXNzaW9uXQo+IAo+ID4gSSB0aGluayB5b3Ugc2hvdWxkbid0IHVzZSBW SVJUSU9fTU1JT19WUklOR19BTElHTiBpbiBub24tbGVnYWN5IGNvZGU6Cj4gPiBpdCdzIGEgbGVn YWN5IHRoaW5nLgo+IAo+IEJ1dCBJIHN0aWxsIG5lZWQgdG8gcGFzcyBzb21ldGhpbmcgdG8gdnJp bmdfbmV3X3ZpcnRxdWV1ZSgpIGJlbG93LCBkb24ndAo+IEk/IEFuZCBpdCB3aWxsIGFsbG9jYXRl IHRoZSBxdWV1ZSBiYXNlZCBvbiBzb21lIGFsaWdubWVudCB2YWx1ZS4gSSBjYW4ndAo+IHNlZSBh bnl0aGluZyB0aGF0IHdvdWxkIGNyZWF0ZSB0aGUgbGF5b3V0IGZvciBtZSwgbmVpdGhlciBpbiBt YWlubGluZQo+IG5vciBpbiBuZXh0LiBIYXZlIEkgbWlzc2VkIHNvbWV0aGluZz8gKHdvdWxkbid0 IGJlIHN1cnByaXNlZCBpZiBJIGhhdmUpCgpObywgYnV0IGl0J3Mgbm8gbG9uZ2VyIGEgdmlydGlv IHRoaW5nIC0ganVzdCBhbiBvcHRpbWl6YXRpb24KY2hvaWNlIGJ5IGEgc3BlY2lmaWMgZHJpdmVy LiBTbyBwbGVhc2UganVzdCBzdGljayBlLmcuIFBBR0VfU0laRSB0aGVyZS4KQW5kIG1heWJlIGFk ZCBhIFRPRE8gaXRlbSAtIHdlIGNhbiBvcHRpbWl6ZSBieSBhbGxvY2F0aW5nIGNodW5rcwpzZXBh cmF0ZWx5LgoKPiA+ID4gKyAgICAgICAgICAgICB3cml0ZWwoYWRkciAmIDB4ZmZmZmZmZmYsCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtX2Rldi0+YmFzZSArIFZJUlRJT19N TUlPX1FVRVVFX1VTRURfTE9XKTsKPiA+ID4gKyAgICAgICAgICAgICB3cml0ZWwoKGFkZHIgPj4g MzIpICYgMHhmZmZmZmZmZiwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm1f ZGV2LT5iYXNlICsgVklSVElPX01NSU9fUVVFVUVfVVNFRF9ISUdIKTsKPiA+ID4gKwo+ID4gPiAr ICAgICAgICAgICAgIHdyaXRlbCgxLCB2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19RVUVVRV9S RUFEWSk7Cj4gPiA+ICsgICAgIH0KPiA+ID4KPiA+ID4gICAgICAgLyogQ3JlYXRlIHRoZSB2cmlu ZyAqLwo+ID4gPiAgICAgICB2cSA9IHZyaW5nX25ld192aXJ0cXVldWUoaW5kZXgsIGluZm8tPm51 bSwgVklSVElPX01NSU9fVlJJTkdfQUxJR04sIHZkZXYsCj4gCj4gWy4uLl0KPiAKPiA+ID4gK3N0 YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSB2bV9kZXZfYXR0cl92ZXJzaW9uID0KPiA+ID4g KyAgICAgICAgICAgICBfX0FUVFIodmVyc2lvbiwgU19JUlVHTywgdm1fZGV2X2F0dHJfdmVyc2lv bl9zaG93LCBOVUxMKTsKPiA+ID4gKwo+ID4gPiAgc3RhdGljIGludCB2aXJ0aW9fbW1pb19wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiAgewo+ID4gPiAgICAgICBzdHJ1 Y3QgdmlydGlvX21taW9fZGV2aWNlICp2bV9kZXY7Cj4gPiAKPiA+IFdlIGFscmVhZHkgZXhwb3Nl IGZlYXR1cmUgYml0cyAtIHRoaXMgb25lIHJlYWxseSBuZWNlc3Nhcnk/Cj4gCj4gTmVjZXNzYXJ5 PyBPZiBjb3Vyc2Ugbm90LCBqdXN0IGEgZGVidWdnaW5nIGZlYXR1cmUsIHJlYWxseSwgdG8gc2Vl IHdoYXQKPiB2ZXJzaW9uIG9mIGNvbnRyb2wgcmVnaXN0ZXJzIGFyZSBhdmFpbGFibGUuIFVzZWZ1 bCAtIEkgc3Ryb25nbHkgYmVsaWV2ZQo+IHNvLgoKWWVzIGJ1dCB0aGUgcG9pbnQgaXMgdGhlIHNh bWUgaW5mbyBpcyBhbHJlYWR5IGF2YWlsYWJsZQppbiBjb3JlOiBqdXN0IGxvb2sgYXQgZmVhdHVy ZSBiaXQgMzEuCklmIHlvdSB0aGluayBpdCdzIGltcG9ydGFudCBlbm91Z2ggdG8gZXhwb3NlIGlu IGEgZGVjb2RlZAp3YXksIGxldCdzIGFkZCB0aGlzIGluIGNvcmU/Cgo+ID4gPiBAQCAtNDc2LDE2 ICs1MDEsMjYgQEAgc3RhdGljIGludCB2aXJ0aW9fbW1pb19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+ID4gPgo+ID4gPiAgICAgICAvKiBDaGVjayBkZXZpY2UgdmVyc2lvbiAq Lwo+ID4gPiAgICAgICB2bV9kZXYtPnZlcnNpb24gPSByZWFkbCh2bV9kZXYtPmJhc2UgKyBWSVJU SU9fTU1JT19WRVJTSU9OKTsKPiA+ID4gLSAgICAgaWYgKHZtX2Rldi0+dmVyc2lvbiAhPSAxKSB7 Cj4gPiA+ICsgICAgIGlmICh2bV9kZXYtPnZlcnNpb24gPCAxIHx8IHZtX2Rldi0+dmVyc2lvbiA+ IDIpIHsKPiA+ID4gICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsICJWZXJzaW9uICVs ZCBub3Qgc3VwcG9ydGVkIVxuIiwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dm1fZGV2LT52ZXJzaW9uKTsKPiA+ID4gICAgICAgICAgICAgICByZXR1cm4gLUVOWElPOwo+ID4g PiAgICAgICB9Cj4gPiA+Cj4gPiA+ICAgICAgIHZtX2Rldi0+dmRldi5pZC5kZXZpY2UgPSByZWFk bCh2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19ERVZJQ0VfSUQpOwo+ID4gPiArICAgICBpZiAo dm1fZGV2LT52ZGV2LmlkLmRldmljZSA9PSAwKSB7Cj4gPiA+ICsgICAgICAgICAgICAgLyoKPiA+ ID4gKyAgICAgICAgICAgICAgKiBJRCAwIG1lYW5zIGEgZHVtbXkgKHBsYWNlaG9sZGVyKSBkZXZp Y2UsIHNraXAgcXVpZXRseQo+ID4gPiArICAgICAgICAgICAgICAqIChhcyBpbjogbm8gZXJyb3Ip IHdpdGggbm8gZnVydGhlciBhY3Rpb25zCj4gPiA+ICsgICAgICAgICAgICAgICovCj4gPiA+ICsg ICAgICAgICAgICAgcmV0dXJuIDA7Cj4gPiAKPiA+IE5lY2Vzc2FyeT8KPiA+IFdlIGRvbid0IGhh dmUgZHJpdmVycyBmb3IgdGhpcyBpZCBhbnl3YXkuCj4gCj4gSSdtIG5vdCBzdXJlIGlmIHlvdSBh cmUgam9raW5nIG9yIG5vdCwgYWZ0ZXIgdGhlIGJhdHRsZSB3ZSBmb3VnaHQgb3Zlcgo+IGl0LgoK U29ycnksIEkgZG9uJ3QgcmVtZW1iZXIgYW55bW9yZS4gSnVzdCBhc2tpbmcuCgo+IFRoZSBzaG9y dCBhbnN3ZXIgaXM6IHllcy4gTmVjZXNzYXJ5Lgo+IAo+ICI0LjIuMiBNTUlPIERldmljZSBSZWdp c3RlciBMYXlvdXQKPiAKPiBbLi4uXQo+IAo+IFZpcnRpbyBTdWJzeXN0ZW0gRGV2aWNlIElECj4g U2VlIDUgRGV2aWNlIFR5cGVzIGZvciBwb3NzaWJsZSB2YWx1ZXMuIFZhbHVlIHplcm8gKDB4MCkg aXMgdXNlZCB0byBkZS0KPiBmaW5lIGEgc3lzdGVtIG1lbW9yeSBtYXAgd2l0aCBwbGFjZWhvbGRl ciBkZXZpY2VzIGF0IHN0YXRpYywgd2VsbCBrbm93bgo+IGFkZHJlc3NlcywgYXNzaWduaW5nIGZ1 bmN0aW9ucyB0byB0aGVtIGRlcGVuZGluZyBvbiB1c2Vy4oCZcyBuZWVkcy4KPiAKPiBbLi4uXQo+ IAo+IDQuMi4yLjIgRHJpdmVyIFJlcXVpcmVtZW50czogTU1JTyBEZXZpY2UgUmVnaXN0ZXIgTGF5 b3V0Cj4gCj4gVGhlIGRyaXZlciBNVVNUIGlnbm9yZSBhIGRldmljZSB3aXRoIERldmljZUlEIDB4 MCwgYnV0IE1VU1QgTk9UIHJlcG9ydAo+IGFueSBlcnJvci4iCgoKQWJzb2x1dGVseS4gU28gd2hh dCBoYXBwZW5zIGlmIHlvdSBkcm9wIHRoZXNlIGNvZGUgbGluZXM/ClRoZXJlJ3Mgbm8gZHJpdmVy IHJlZ2lzdGVyZWQgZm9yIHRoaXMgSUQsIHNvIGl0J3MganVzdCBpZ25vcmVkLgpTZWVtcyBsaWtl IHdoYXQgc3BlYyBpcyBhc2tpbmcgZm9yLCBubz8KCj4gPiA+ICsgICAgIH0KPiA+IAo+ID4gTmVl ZCB0byBhbHNvCj4gPiAgICAgICAgIDEuIHZhbGlkYXRlIHRoYXQgZmVhdHVyZSBiaXQgVklSVElP XzEgaXMgc2V0Cj4gPiAgICAgICAgIDIuIHZhbGlkYXRlIHRoYXQgSUQgaXMgbm90IGZvciBhIGxl Z2FjeSBkZXZpY2UKPiA+IAo+ID4gb3RoZXJ3aXNlIGRldmljZSBzcGVjaWZpYyBkcml2ZXJzIG1p Z2h0IGdldCBpbnZva2VkCj4gPiBvbiBmdXR1cmUgZGV2aWNlcyAoZS5nLiB3aGVuIHdlIHVwZGF0 ZSBiYWxsb29uIGZvciAxLjApCj4gPiBhbmQgdGhleSBub3QgZG8gdGhlIHJpZ2h0IHRoaW5nLgo+ IAo+IEknbSBub3QgZm9sbG93aW5nIHlvdSwgYnV0IEkgYWRtaXQgSSBoYXZlbid0IHRob3VnaCB0 aGlzIHByb2JsZW0KPiB0aG9yb3VnaGx5LiBJZiB5b3UgY2FuIHZvbHVudGVlciBhbiBleGFtcGxl IG9mIHRoaW5ncyBnb2luZyBvbiwgaXQgd291bGQKPiBiZSB1c2VmdWwuIEVpdGhlciB3YXksIEkn bGwgdGhpbmsgYWJvdXQgaXQgYWdhaW4uCgoxLiB5b3UgbmVlZCB0byBjaGVjayBJRCAwLCBhbmQg YXNzdW1lIHJldiAwLiBJZiBkZXZpY2UgYWxzbwogICBzYXlzIGl0IG5lZWRzIHJldiAxLCBmYWls LiBFLmcuIHNlZSBteSBwYXRjaCBmb3IgdmlydGlvX3BjaV9tb2Rlcm46CiAgICAgICAgaWYgKHZp cnRpb19kZXZpY2VfaXNfbGVnYWN5X29ubHkodnBfZGV2LT52ZGV2LmlkKSkKICAgICAgICAgICAg ICAgIHJldHVybiAtRU5PREVWOwoKICAgeW91IGNhbiBmaW5kIHRoZSBjb2RlIGluIG15IHRyZWUs IHNlZSBiZWxvdy4KCgoyLiBpdCdzIGVhc3kgLSBqdXN0IGdldCBmZWF0dXJlcyBvbiBwcm9iZSBh bmQgdmFsaWRhdGUgVklSVElPXzEKICAgYml0IGlzIHNldC4KCiAgIHMzOTAgZG9lcyBpdCBkaWZm ZXJlbnRseSBzaW5jZSBzYW1lIGRldmljZSBzdXBwb3J0cyB2ZXJzaW9uIDEgYW5kIDAuCiAgIE5v IGV4YW1wbGUgeWV0IC0gSSBmb3Jnb3QgdG8gY29kZSB0aGlzIHVwIGZvciB2aXJ0aW8gcGNpLiAg SSdsbCBjb3B5IHlvdQogICBvbiBwYXRjaC4KCgoKCj4gPiBAQCAtNDk2LDcgKzUzMSw4IEBAIHN0 YXRpYyBpbnQgdmlydGlvX21taW9fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4gPiA+ICB7Cj4gPiA+ICAgICAgIHN0cnVjdCB2aXJ0aW9fbW1pb19kZXZpY2UgKnZtX2RldiA9 IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwo+ID4gPgo+ID4gPiAtICAgICB1bnJlZ2lzdGVy X3ZpcnRpb19kZXZpY2UoJnZtX2Rldi0+dmRldik7Cj4gPiA+ICsgICAgIGlmICh2bV9kZXYpCj4g PiA+ICsgICAgICAgICAgICAgdW5yZWdpc3Rlcl92aXJ0aW9fZGV2aWNlKCZ2bV9kZXYtPnZkZXYp Owo+ID4gPgo+ID4gCj4gPiBXaWxsIHJlbW92ZSBldmVyIGJlIGNhbGxlZCBpZiBwcm9iZSBmYWls cz8KPiAKPiBOby4KClRoZW4gdGhpcyBpZiBpc24ndCBuZWNlc3Nhcnk6IHZtX2RldiBpcyBhbHdh eXMgc2V0LgoKPiA+ID4gLS8qIEd1ZXN0J3MgbWVtb3J5IHBhZ2Ugc2l6ZSBpbiBieXRlcyAtIFdy aXRlIE9ubHkgKi8KPiA+ID4gKy8qIEd1ZXN0J3MgbWVtb3J5IHBhZ2Ugc2l6ZSBpbiBieXRlcyAt IFdyaXRlIE9ubHkKPiA+ID4gKyAqIExFR0FDWSBERVZJQ0VTIE9OTFkhICovCj4gPiAKPiA+IFRo aXMgaXMgbm90IHRoZSBwcmVmZXJyZWQgc3R5bGUgZm9yIG11bHRpLWxpbmUgY29tbWVudHMgOikK PiAKPiBGYWN0LiBXaWxsIGZpeC4KPiAKPiA+IEFsc28gLSBtYXliZSBhZGQgYSBmbGFnIHRvIHNl bGVjdGl2ZWx5IGRpc2FibGUgbGVnYWN5Cj4gPiBvciBtb2Rlcm4gbWFjcm9zPwo+ID4gTWlnaHQg YmUgY2xlYXJlciB0aGFuIGNvbW1lbnRzIHRoYXQsIGFmdGVyIGFsbCwgbmV2ZXIgY29tcGlsZS4K PiAKPiBBcyBpbiwgYSBidW5jaCBvZiAjaWZkZWZzIGRpc2FibGluZyB0aGUgbGVnYWN5IGxpbmVz IG9mIGNvZGU/IERvYWJsZSwKPiBhbHRob3VnaCBJJ20gbm90IHN1cmUgaG93IGJlYXV0aWZ1bCB3 b3VsZCB0aGF0IGJlLiBXaWxsIGhhdmUgYSBsb29rLCBidXQKPiBpdCBwcm9iYWJseSB3b3VsZCBv bmx5IG1ha2Ugc2Vuc2Ugd2l0aCBDT05GSUdfVklSVElPX01NSU9fTEVHQUNZIG9wdGlvbi4KPiAK PiBQYXdlxYIKCk5vdCBuZWNlc3NhcmlseSAtIHRoZSBwb2ludCBpcyBmb3IgdXNlcnNwYWNlIHRv IGJlIGFibGUgdG8KYXZvaWQgZ2V0dGluZyB1c2VsZXNzIGxlZ2FjeSBtYWNyb3MgYnkgbWVhbnMg b2YgYSBzaW1wbGUgI2RlZmluZS4KQWdhaW4sIHRha2UgYSBsb29rIGF0IG15IHRyZWU6CgpnaXQ6 Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbXN0L3Zob3N0LmdpdCB2 aG9zdC1uZXh0CgotLSAKTVNUCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0 cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcv bWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg==