From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 23/25] xen/vpl011: buffer out chars when the backend is xen Date: Mon, 22 Oct 2018 19:03:02 -0700 Message-ID: <1540260184-11294-23-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: Stefano Stabellini , sstabellini@kernel.org, andrii_anisov@epam.com, konrad.wilk@oracle.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, Achin.Gupta@arm.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, tim@xen.org, jbeulich@suse.com, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org VG8gYXZvaWQgbWl4aW5nIHRoZSBvdXRwdXQgb2YgZGlmZmVyZW50IGRvbWFpbnMgb24gdGhlIGNv bnNvbGUsIGJ1ZmZlcgp0aGUgb3V0cHV0IGNoYXJzIGFuZCBwcmludCBsaW5lIGJ5IGxpbmUuIFVu bGVzcyB0aGUgZG9tYWluIGhhcyBpbnB1dApmcm9tIHRoZSBzZXJpYWwsIGluIHdoaWNoIGNhc2Ug d2Ugd2FudCB0byBwcmludCBjaGFyIGJ5IGNoYXIgZm9yIGEKc21vb3RoIHVzZXIgZXhwZXJpZW5j ZS4KClRoZSBzaXplIG9mIFNCU0FfVUFSVF9PVVRfQlVGX1NJWkUgaXMgYXJiaXRyYXJ5LCBjaG9v c2UgdGhlIHNhbWUgc2l6ZQphcyBWVUFSVF9CVVRfU0laRSB1c2VkIGluIHZ1YXJ0LmMuCgpFeHBv cnQgYSBmdW5jdGlvbiBuYW1lZCBjb25zb2xlX2lucHV0X2RvbWFpbigpIHRvIGFsbG93IG90aGVy cyB0byBrbm93CndoaWNoIGRvbWFpbnMgaGFzIGlucHV0IGF0IGEgZ2l2ZW4gdGltZS4KClNpZ25l ZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KQ0M6IGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20KQ0M6IEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbQpD QzogaWFuLmphY2tzb25AZXUuY2l0cml4LmNvbQpDQzogamJldWxpY2hAc3VzZS5jb20KQ0M6IGtv bnJhZC53aWxrQG9yYWNsZS5jb20KQ0M6IHRpbUB4ZW4ub3JnCkNDOiB3ZWkubGl1MkBjaXRyaXgu Y29tCi0tLQpYWFg6IG1lcmdlIHRoaXMgcGF0Y2ggd2l0aCAieGVuL2FybTogQWxsb3cgdnBsMDEx IHRvIGJlIHVzZWQgYnkgRG9tVSIgb24KICAgICBjb21taXQKCkNoYW5nZXMgaW4gdjU6Ci0gdXNl IHJjdV9sb2NrIGluIGNvbnNvbGVfaW5wdXRfZG9tYWluCi0gcmN1X3VubG9jayBhdCB0aGUgZW5k IG9mIHZwbDAxMV93cml0ZV9kYXRhX3hlbgotIGFkZCBhIGNvbW1lbnQgb24gdG9wIG9mIGNvbnNv bGVfaW5wdXRfZG9tYWluIGFzIGEgcmVtaW5kZXIgdGhhdCB0aGUKICBjYWxsZXIgbmVlZHMgdG8g cmN1X3VubG9jawoKQ2hhbmdlcyBpbiB2NDoKLSBtYWtlIFNCU0FfVUFSVF9PVVRfQlVGX1NJWkUg dGhlIHNhbWUgc2l6ZSBvZiBWVUFSVF9CVVRfU0laRQotIHJlYXJyYW5nZSB0aGUgY29kZSB0byBi ZSBjbGVhcmVyIGlucHV0IGFuZCAhPSBpbnB1dCBjYXNlcwotIGNvZGUgc3R5bGUKLSBhZGQgXG4g d2hlbiBwcmludGluZyB0aGUgb3V0IGJ1ZmZlciBiZWNhdXNlIGlzIGZ1bGwKLSBkb24ndCBwcmlu dCBwcmVmaXggZm9yIGlucHV0IGRvbWFpbgotLS0KIHhlbi9hcmNoL2FybS92cGwwMTEuYyAgICAg ICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9kcml2ZXJz L2NoYXIvY29uc29sZS5jICAgfCAgOCArKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS92cGww MTEuaCB8ICA0ICsrKysKIHhlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmggICAgfCAgMiArKwogNCBm aWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS92cGwwMTEuYyBiL3hlbi9hcmNoL2FybS92cGwwMTEuYwppbmRleCAx MzE1MDdlLi5mN2RiMThiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdnBsMDExLmMKKysrIGIv eGVuL2FyY2gvYXJtL3ZwbDAxMS5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8eGVuL2xp Yi5oPgogI2luY2x1ZGUgPHhlbi9tbS5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1 ZGUgPHhlbi9jb25zb2xlLmg+CiAjaW5jbHVkZSA8cHVibGljL2RvbWN0bC5oPgogI2luY2x1ZGUg PHB1YmxpYy9pby9jb25zb2xlLmg+CiAjaW5jbHVkZSA8YXNtL3BsMDExLXVhcnQuaD4KQEAgLTg1 LDE4ICs4Niw0NyBAQCBzdGF0aWMgdm9pZCB2cGwwMTFfd3JpdGVfZGF0YV94ZW4oc3RydWN0IGRv bWFpbiAqZCwgdWludDhfdCBkYXRhKQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAg c3RydWN0IHZwbDAxMSAqdnBsMDExID0gJmQtPmFyY2gudnBsMDExOworICAgIHN0cnVjdCB2cGww MTFfeGVuX2JhY2tlbmQgKmludGYgPSB2cGwwMTEtPmJhY2tlbmQueGVuOworICAgIHN0cnVjdCBk b21haW4gKmlucHV0ID0gY29uc29sZV9pbnB1dF9kb21haW4oKTsKIAogICAgIFZQTDAxMV9MT0NL KGQsIGZsYWdzKTsKIAotICAgIHByaW50aygiJWMiLCBkYXRhKTsKLSAgICBpZiAoZGF0YSA9PSAn XG4nKQotICAgICAgICBwcmludGsoIkRPTSV1OiAiLCBkLT5kb21haW5faWQpOworICAgIGludGYt Pm91dFtpbnRmLT5vdXRfcHJvZCsrXSA9IGRhdGE7CisgICAgaWYgKCBkID09IGlucHV0ICkKKyAg ICB7CisgICAgICAgIGlmICggaW50Zi0+b3V0X3Byb2QgPT0gMSApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHByaW50aygiJWMiLCBkYXRhKTsKKyAgICAgICAgICAgIGludGYtPm91dF9wcm9kID0g MDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgg ZGF0YSAhPSAnXG4nICkKKyAgICAgICAgICAgICAgICBpbnRmLT5vdXRbaW50Zi0+b3V0X3Byb2Qr K10gPSAnXG4nOworICAgICAgICAgICAgaW50Zi0+b3V0W2ludGYtPm91dF9wcm9kKytdID0gJ1ww JzsKKyAgICAgICAgICAgIHByaW50aygiJXMiLCBpbnRmLT5vdXQpOworICAgICAgICAgICAgaW50 Zi0+b3V0X3Byb2QgPSAwOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAg ICAgIGlmICggaW50Zi0+b3V0X3Byb2QgPT0gU0JTQV9VQVJUX09VVF9CVUZfU0laRSAtIDIgfHwK KyAgICAgICAgICAgICBkYXRhID09ICdcbicgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo IGRhdGEgIT0gJ1xuJyApCisgICAgICAgICAgICAgICAgaW50Zi0+b3V0W2ludGYtPm91dF9wcm9k KytdID0gJ1xuJzsKKyAgICAgICAgICAgIGludGYtPm91dFtpbnRmLT5vdXRfcHJvZCsrXSA9ICdc MCc7CisgICAgICAgICAgICBwcmludGsoIkRPTSV1OiAlcyIsIGQtPmRvbWFpbl9pZCwgaW50Zi0+ b3V0KTsKKyAgICAgICAgICAgIGludGYtPm91dF9wcm9kID0gMDsKKyAgICAgICAgfQorICAgIH0K IAogICAgIHZwbDAxMS0+dWFydHJpcyB8PSBUWEk7CiAgICAgdnBsMDExLT51YXJ0ZnIgJj0gflRY RkU7CiAgICAgdnBsMDExX3VwZGF0ZV9pbnRlcnJ1cHRfc3RhdHVzKGQpOwogCiAgICAgVlBMMDEx X1VOTE9DSyhkLCBmbGFncyk7CisgICAgcmN1X3VubG9ja19kb21haW4oaW5wdXQpOwogfQogCiAv KgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMgYi94ZW4vZHJpdmVycy9j aGFyL2NvbnNvbGUuYwppbmRleCA5OTBjNTFjLi5lYjFjYzFiIDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9jaGFyL2NvbnNvbGUuYworKysgYi94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYwpAQCAt NDA2LDYgKzQwNiwxNCBAQCBzdGF0aWMgdm9pZCBkdW1wX2NvbnNvbGVfcmluZ19rZXkodW5zaWdu ZWQgY2hhciBrZXkpCiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBjb25z b2xlX3J4ID0gMDsKIAorLyogTWFrZSBzdXJlIHRvIHJjdV91bmxvY2tfZG9tYWluIGFmdGVyIHVz ZSAqLworc3RydWN0IGRvbWFpbiAqY29uc29sZV9pbnB1dF9kb21haW4odm9pZCkKK3sKKyAgICBp ZiAoIGNvbnNvbGVfcnggPT0gMCApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1 cm4gcmN1X2xvY2tfZG9tYWluX2J5X2lkKGNvbnNvbGVfcnggLSAxKTsKK30KKwogc3RhdGljIHZv aWQgc3dpdGNoX3NlcmlhbF9pbnB1dCh2b2lkKQogewogICAgIGlmICggY29uc29sZV9yeCsrID09 IG1heF9pbml0X2RvbWlkICsgMSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3Zw bDAxMS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS92cGwwMTEuaAppbmRleCA1ZWI2ZDI1Li5hYjZm ZDc5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3ZwbDAxMS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS1hcm0vdnBsMDExLmgKQEAgLTMwLDkgKzMwLDEzIEBACiAjZGVmaW5lIFZQTDAx MV9VTkxPQ0soZCxmbGFncykgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmKGQpLT5hcmNoLnZwbDAx MS5sb2NrLCBmbGFncykKIAogI2RlZmluZSBTQlNBX1VBUlRfRklGT19TSVpFIDMyCisvKiBTYW1l IHNpemUgYXMgVlVBUlRfQlVUX1NJWkUsIHVzZWQgaW4gdnVhcnQuYyAqLworI2RlZmluZSBTQlNB X1VBUlRfT1VUX0JVRl9TSVpFIDEyOAogc3RydWN0IHZwbDAxMV94ZW5fYmFja2VuZCB7CiAgICAg Y2hhciBpbltTQlNBX1VBUlRfRklGT19TSVpFXTsKKyAgICBjaGFyIG91dFtTQlNBX1VBUlRfT1VU X0JVRl9TSVpFXTsKICAgICBYRU5DT05TX1JJTkdfSURYIGluX2NvbnMsIGluX3Byb2Q7CisgICAg WEVOQ09OU19SSU5HX0lEWCBvdXRfcHJvZDsKIH07CiAKIHN0cnVjdCB2cGwwMTEgewpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL2NvbnNvbGUuaCBiL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xl LmgKaW5kZXggNzBjOTkxMS4uYzVhODVjOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2Nv bnNvbGUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vY29uc29sZS5oCkBAIC0zMSw2ICszMSw4IEBA IHZvaWQgY29uc29sZV9lbmRfc3luYyh2b2lkKTsKIHZvaWQgY29uc29sZV9zdGFydF9sb2dfZXZl cnl0aGluZyh2b2lkKTsKIHZvaWQgY29uc29sZV9lbmRfbG9nX2V2ZXJ5dGhpbmcodm9pZCk7CiAK K3N0cnVjdCBkb21haW4gKmNvbnNvbGVfaW5wdXRfZG9tYWluKHZvaWQpOworCiAvKgogICogU3Rl YWwgb3V0cHV0IGZyb20gdGhlIGNvbnNvbGUuIFJldHVybnMgK3ZlIGlkZW50aWZpZXIsIGVsc2Ug LXZlIGVycm9yLgogICogVGFrZXMgdGhlIGhhbmRsZSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gc3Rl YWwsIGFuZCBzdGVhbCBjYWxsYmFjayBmdW5jdGlvbi4KLS0gCjEuOS4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==