From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: [PATCHv2] virtio_console: Add support for remoteproc serial Date: Thu, 20 Sep 2012 10:10:39 +0930 Message-ID: <871uhxplvb.fsf@rustcorp.com.au> References: <1348073458-17592-1-git-send-email-sjur.brandeland@stericsson.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1348073458-17592-1-git-send-email-sjur.brandeland@stericsson.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 Cc: Sjur =?utf-8?Q?Br=C3=A6ndeland?= , "Michael S. Tsirkin" , Linus Walleij , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Amit Shah , Sjur =?utf-8?Q?Br=C3=A6ndeland?= List-Id: virtualization@lists.linuxfoundation.org c2p1ci5icmFuZGVsYW5kQHN0ZXJpY3Nzb24uY29tIHdyaXRlczoKCj4gRnJvbTogU2p1ciBCcsOm bmRlbGFuZCA8c2p1ci5icmFuZGVsYW5kQHN0ZXJpY3Nzb24uY29tPgo+Cj4gQWRkIGEgc2ltcGxl IHNlcmlhbCBjb25uZWN0aW9uIGRyaXZlciBjYWxsZWQKPiBWSVJUSU9fSURfUlBST0NfU0VSSUFM ICgweEIpIGZvciBjb21tdW5pY2F0aW5nIHdpdGggYQo+IHJlbW90ZSBwcm9jZXNzb3IgaW4gYW4g YXN5bW1ldHJpYyBtdWx0aS1wcm9jZXNzaW5nCj4gY29uZmlndXJhdGlvbi4KPgo+IFRoaXMgaW1w bGVtZW50YXRpb24gcmV1c2VzIHRoZSBleGlzdGluZyB2aXJ0aW9fY29uc29sZQo+IGltcGxlbWVu dGF0aW9uLCBhbmQgYWRkcyBzdXBwb3J0IGZvciBETUEgYWxsb2NhdGlvbgo+IG9mIGRhdGEgYnVm ZmVycyBhbmQgZGlzYWJsZXMgdXNlIG9mIHR0eSBjb25zb2xlIGFuZAo+IHRoZSB2aXJ0aW8gY29u dHJvbCBxdWV1ZS4KPgo+IFRoaXMgZW5hYmxlcyB1c2Ugb2YgdGhlIGV4aXNpbmcgdmlydGlvX2Nv bnNvbGUgY29kZSBpbgo+IHRoZSByZW1vdGVwcm9jIGZyYW1ld29yay4KCk9LLCBJJ2xsIGxldCBB bWl0IGNvbW1lbnQgb24gdGhlIGNvbnNvbGUgY2hhbmdlcywgYnV0IHNvbWUgbWlub3Igc3R5bGUK Y29tbWVudHMgYmVsb3c6Cgo+ICsjaWYgSVNfRU5BQkxFRChDT05GSUdfUkVNT1RFUFJPQykKPiAr c3RhdGljIGlubGluZSBib29sIGlzX3Jwcm9jX3NlcmlhbChzdHJ1Y3QgdmlydGlvX2RldmljZSAq dmRldikKPiArewo+ICsJcmV0dXJuIHZkZXYtPmlkLmRldmljZSA9PSBWSVJUSU9fSURfUlBST0Nf U0VSSUFMOwo+ICt9Cj4gKyNlbHNlCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19ycHJvY19zZXJp YWwoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gK3sKPiArCXJldHVybiBmYWxzZTsKPiAr fQo+ICsjZW5kaWYKCkkgcHJlZmVyIHRvIGF2b2lkIGlubGluZSBpbiBDIGZpbGVzLiAgVGhlIGNv bXBpbGVyIGtub3dzLCBhbmQgd2l0aAppbmxpbmUgeW91IGdldCBubyB3YXJuaW5nIGlmIGl0IGJl Y29tZXMgdW51c2VkLiAgQWxzbywgY29uc3Qgc3RydWN0CnZpcnRpb19kZXZpY2UgKi4KCj4gKy8q IEFsbG9jYXRlIGRhdGEgYnVmZmVyIGZyb20gRE1BIG1lbW9yeSBpZiByZXF1ZXN0ZWQgKi8KPiAr c3RhdGljIGlubGluZSB2b2lkICoKPiArYWxsb2NfZGF0YWJ1ZihzdHJ1Y3QgdmlydGlvX2Rldmlj ZSAqdmRldiwgc2l6ZV90IHNpemUsIGdmcF90IGZsYWcpCj4gK3sKPiArCWlmIChpc19ycHJvY19z ZXJpYWwodmRldikpIHsKPiArCQlkbWFfYWRkcl90IGRtYTsKPiArCQlzdHJ1Y3QgZGV2aWNlICpk ZXYgPSAmdmRldi0+ZGV2Owo+ICsJCS8qCj4gKwkJICogQWxsb2NhdGUgRE1BIG1lbW9yeSBmcm9t IGFuY2VzdG9ycy4gRmluZGluZyB0aGUgYW5jZXN0b3IKPiArCQkgKiBpcyBhIGJpdCBxdWlya3kg d2hlbiBETUFfTUVNT1JZX0lOQ0xVREVTX0NISUxEUkVOIGlzIG5vdAo+ICsJCSAqIGltcGxlbWVu dGVkLgo+ICsJCSAqLwo+ICsJCWRldiA9IGRldi0+cGFyZW50ID8gZGV2LT5wYXJlbnQgOiBkZXY7 Cj4gKwkJZGV2ID0gZGV2LT5wYXJlbnQgPyBkZXYtPnBhcmVudCA6IGRldjsKPiArCQlyZXR1cm4g ZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgJmRtYSwgZmxhZyk7CgpXb3csIHVwIDIgbGV2 ZWxzPyAgV2h5IDI/ICBXaGF0J3Mgc3BlY2lhbCBhYm91dCB0aGUgZ3JhbmRwYXJlbnRzPwoKPiAt c3RhdGljIHZvaWQgZnJlZV9idWYoc3RydWN0IHBvcnRfYnVmZmVyICpidWYpCj4gK3N0YXRpYyB2 b2lkCj4gK2ZyZWVfYnVmKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCBzdHJ1Y3QgcG9ydF9idWZmZXIg KmJ1Ziwgc2l6ZV90IGJ1Zl9zaXplKQo+ICB7CgpHZW5lcmFsbHkgcHJlZmVyIHRvIGluZGVudCBi dWYgYW5kIGJ1Zl9zaXplLCByYXRoZXIgdGhhbiBicmVhayBhdApmcmVlX2J1Zi4KCj4gKwlidWYg PSBhbGxvY19kYXRhYnVmKHZkZXYsIGJ1Zl9zaXplLCBHRlBfS0VSTkVMKTsKPiAgCj4gLQlidWYg PSBrbWFsbG9jKGNvdW50LCBHRlBfS0VSTkVMKTsKPiAgCWlmICghYnVmKQo+ICAJCXJldHVybiAt RU5PTUVNOwoKVGhpcyBlZmZlY3RpdmVseSBhZGRzIGEgYmxhbmsgbGluZSBiZXR3ZWVuICJidWYg PSAuLi4iIGFuZCAiaWYgKCFidWYpIiwKYnV0IHRoZXkncmUgYWRqYWNlbnQgYmVjYXVzZSB0aGV5 J3JlIGxvZ2ljYWxseSBncm91cGVkLgoKPiBAQCAtNzY3LDYgKzgyNiw3IEBAIHN0YXRpYyBpbnQg cG9ydF9mb3BzX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHAp Cj4gIAlzcGluX3VubG9ja19pcnEoJnBvcnQtPmluYnVmX2xvY2spOwo+ICAKPiAgCXNwaW5fbG9j a19pcnEoJnBvcnQtPm91dHZxX2xvY2spOwo+ICsKPiAgCXJlY2xhaW1fY29uc3VtZWRfYnVmZmVy cyhwb3J0KTsKPiAgCXNwaW5fdW5sb2NrX2lycSgmcG9ydC0+b3V0dnFfbG9jayk7Cj4gIAoKV2Vp cmQgd2hpdGVzcGFjZSBhZGRpdGlvbi4gIEkga25vdyB5b3UncmUgZG9pbmcgdGhhdCBzaW1wbHkg dG8gY2hlY2sgaWYKSSdtIHJlYWRpbmcsIHJpZ2h0PwoKPiBAQCAtMTY4OCw3ICsxNzY4LDcgQEAg c3RhdGljIHZvaWQgcmVtb3ZlX2NvbnRyb2xxX2RhdGEoc3RydWN0IHBvcnRzX2RldmljZSAqcG9y dGRldikKPiAgICogY29uZmlnIHNwYWNlIHRvIHNlZSBob3cgbWFueSBwb3J0cyB0aGUgaG9zdCBo YXMgc3Bhd25lZC4gIFdlCj4gICAqIGluaXRpYWxpemUgZWFjaCBwb3J0IGZvdW5kLgo+ICAgKi8K PiAtc3RhdGljIGludCBfX2RldmluaXQgdmlydGNvbnNfcHJvYmUoc3RydWN0IHZpcnRpb19kZXZp Y2UgKnZkZXYpCj4gK3N0YXRpYyBpbnQgdmlydGNvbnNfcHJvYmUoc3RydWN0IHZpcnRpb19kZXZp Y2UgKnZkZXYpCj4gIHsKPiAgCXN0cnVjdCBwb3J0c19kZXZpY2UgKnBvcnRkZXY7Cj4gIAlpbnQg ZXJyOwoKTm90IHN1cmUgYWJvdXQgdGhpcyBjaGFuZ2UuICBJZiB5b3UgYWN0dWFsbHkgdHVybiBv ZmYgQ09ORklHX0hPVFBMVUcsCkkgd291bGRuJ3QgdGhpbmsgdGhhdCByZW1vdGVwcm9jIHdvdWxk IHdvcmsgYXQgYWxsIGFueSBtb3JlLCBzaW5jZSBpdApuZWVkcyB0aGUgZHJpdmVyIGNvcmUgdG8g bWF0Y2ggdXAgZGV2aWNlcz8KCj4gQEAgLTE3MjQsMTAgKzE4MDQsMTIgQEAgc3RhdGljIGludCBf X2RldmluaXQgdmlydGNvbnNfcHJvYmUoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gIAo+ ICAJbXVsdGlwb3J0ID0gZmFsc2U7Cj4gIAlwb3J0ZGV2LT5jb25maWcubWF4X25yX3BvcnRzID0g MTsKPiAtCWlmICh2aXJ0aW9fY29uZmlnX3ZhbCh2ZGV2LCBWSVJUSU9fQ09OU09MRV9GX01VTFRJ UE9SVCwKPiAtCQkJICAgICAgb2Zmc2V0b2Yoc3RydWN0IHZpcnRpb19jb25zb2xlX2NvbmZpZywK PiAtCQkJCSAgICAgICBtYXhfbnJfcG9ydHMpLAo+IC0JCQkgICAgICAmcG9ydGRldi0+Y29uZmln Lm1heF9ucl9wb3J0cykgPT0gMCkKPiArCWlmIChpc19ycHJvY19zZXJpYWwodmRldikpCj4gKwkJ bXVsdGlwb3J0ID0gZmFsc2U7Cj4gKwllbHNlIGlmICh2aXJ0aW9fY29uZmlnX3ZhbCh2ZGV2LCBW SVJUSU9fQ09OU09MRV9GX01VTFRJUE9SVCwKPiArCQkJCSAgb2Zmc2V0b2Yoc3RydWN0IHZpcnRp b19jb25zb2xlX2NvbmZpZywKPiArCQkJCQkgICBtYXhfbnJfcG9ydHMpLAo+ICsJCQkJICAmcG9y dGRldi0+Y29uZmlnLm1heF9ucl9wb3J0cykgPT0gMCkKPiAgCQltdWx0aXBvcnQgPSB0cnVlOwoK VGhpcyBpcyBhIGJpdCB3ZWlyZCwgdG8gZG91YmxlLWFzc2lnbiBtdWx0aXBvcnQgPSBmYWxzZTsg aXQgbG9va3MgdGFja2VkCm9uLgoKSG93IGFib3V0OgoKICAgICAgICAvKiBEb24ndCB0ZXN0IE1V TFRJUE9SVCBhdCBhbGwgaWYgd2UncmUgcnByb2M6IG5vdCBhIHZhbGlkIGZlYXR1cmUhICovCiAg ICAgICAgaWYgKCFpc19ycHJvY19zZXJpYWwodmRldikKICAgICAgICAgICAgICYmIHZpcnRpb19j b25maWdfdmFsKHZkZXYsIFZJUlRJT19DT05TT0xFX0ZfTVVMVElQT1JULAoJCQkJICBvZmZzZXRv ZihzdHJ1Y3QgdmlydGlvX2NvbnNvbGVfY29uZmlnLAoJCQkJCSAgIG1heF9ucl9wb3J0cyksCgkJ CQkgICZwb3J0ZGV2LT5jb25maWcubWF4X25yX3BvcnRzKSA9PSAwKSB7CiAgICAgICAgICAgICAg ICBtdWx0aXBvcnQgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtdWx0 aXBvcnQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHBvcnRkZXYtPmNvbmZpZy5tYXhfbnJfcG9y dHMgPSAxOwogICAgICAgIH0KCj4gIAllcnIgPSBpbml0X3Zxcyhwb3J0ZGV2KTsKPiBAQCAtMTgz OCw2ICsxOTIwLDE2IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZmVhdHVyZXNbXSA9IHsKPiAgCVZJ UlRJT19DT05TT0xFX0ZfTVVMVElQT1JULAo+ICB9Owo+ICAKPiArc3RhdGljIHN0cnVjdCB2aXJ0 aW9fZGV2aWNlX2lkIHJwcm9jX3NlcmlhbF9pZF90YWJsZVtdID0gewo+ICsjaWYgSVNfRU5BQkxF RChDT05GSUdfUkVNT1RFUFJPQykKPiArCXsgVklSVElPX0lEX1JQUk9DX1NFUklBTCwgVklSVElP X0RFVl9BTllfSUQgfSwKPiArI2VuZGlmCj4gKwl7IDAgfSwKPiArfTsKPiArCj4gK3N0YXRpYyB1 bnNpZ25lZCBpbnQgcnByb2Nfc2VyaWFsX2ZlYXR1cmVzW10gPSB7Cj4gK307Cj4gKwo+ICAjaWZk ZWYgQ09ORklHX1BNCj4gIHN0YXRpYyBpbnQgdmlydGNvbnNfZnJlZXplKHN0cnVjdCB2aXJ0aW9f ZGV2aWNlICp2ZGV2KQo+ICB7Cj4gQEAgLTE5MjIsNiArMjAxNCwxNiBAQCBzdGF0aWMgc3RydWN0 IHZpcnRpb19kcml2ZXIgdmlydGlvX2NvbnNvbGUgPSB7Cj4gICNlbmRpZgo+ICB9Owo+ICAKPiAr c3RhdGljIHN0cnVjdCB2aXJ0aW9fZHJpdmVyIHZpcnRpb19ycHJvY19zZXJpYWwgPSB7Cj4gKwku ZmVhdHVyZV90YWJsZSA9IHJwcm9jX3NlcmlhbF9mZWF0dXJlcywKPiArCS5mZWF0dXJlX3RhYmxl X3NpemUgPSBBUlJBWV9TSVpFKHJwcm9jX3NlcmlhbF9mZWF0dXJlcyksCj4gKwkuZHJpdmVyLm5h bWUgPQkidmlydGlvX3Jwcm9jX3NlcmlhbCIsCj4gKwkuZHJpdmVyLm93bmVyID0JVEhJU19NT0RV TEUsCj4gKwkuaWRfdGFibGUgPQlycHJvY19zZXJpYWxfaWRfdGFibGUsCj4gKwkucHJvYmUgPQl2 aXJ0Y29uc19wcm9iZSwKPiArCS5yZW1vdmUgPQl2aXJ0Y29uc19yZW1vdmUsCj4gK307Cj4gKwo+ ICBzdGF0aWMgaW50IF9faW5pdCBpbml0KHZvaWQpCj4gIHsKPiAgCWludCBlcnI7Cj4gQEAgLTE5 NDEsMTIgKzIwNDMsMTYgQEAgc3RhdGljIGludCBfX2luaXQgaW5pdCh2b2lkKQo+ICAJSU5JVF9M SVNUX0hFQUQoJnBkcnZkYXRhLmNvbnNvbGVzKTsKPiAgCUlOSVRfTElTVF9IRUFEKCZwZHJ2ZGF0 YS5wb3J0ZGV2cyk7Cj4gIAo+IC0JcmV0dXJuIHJlZ2lzdGVyX3ZpcnRpb19kcml2ZXIoJnZpcnRp b19jb25zb2xlKTsKPiArCWVyciA9IHJlZ2lzdGVyX3ZpcnRpb19kcml2ZXIoJnZpcnRpb19jb25z b2xlKTsKPiArCWlmIChlcnIpCj4gKwkJcmV0dXJuIGVycjsKPiArCXJldHVybiByZWdpc3Rlcl92 aXJ0aW9fZHJpdmVyKCZ2aXJ0aW9fcnByb2Nfc2VyaWFsKTsKCkhtbSwgd2UgbmVlZCB0byBjbGVh bnVwIGlmIHRoZSBzZWNvbmQgcmVnaXN0ZXIgZmFpbHMuCgo+ICAjZGVmaW5lIFZJUlRJT19JRF9S UE1TRwkJNyAvKiB2aXJ0aW8gcmVtb3RlIHByb2Nlc3NvciBtZXNzYWdpbmcgKi8KPiAgI2RlZmlu ZSBWSVJUSU9fSURfU0NTSQkJOCAvKiB2aXJ0aW8gc2NzaSAqLwo+ICAjZGVmaW5lIFZJUlRJT19J RF85UAkJOSAvKiA5cCB2aXJ0aW8gY29uc29sZSAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF9SUFJP Q19TRVJJQUwJMHhCIC8qIHZpcnRpbyByZW1vdGVwcm9jIHNlcmlhbCBsaW5rICovCgpQcmVmZXIg ZGVjaW1hbCBoZXJlLi4uCgpDaGVlcnMsClJ1c3R5LgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxpc3QKVmlydHVh bGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZv dW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24=