From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v6 24/26] xen/vpl011: buffer out chars when the backend is xen Date: Fri, 2 Nov 2018 16:45:16 -0700 Message-ID: <1541202318-9840-24-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 c2UgdGhlIHNhbWUgc2l6ZQphcyBWVUFSVF9CVUZfU0laRSB1c2VkIGluIHZ1YXJ0LmMuCgpFeHBv cnQgYSBmdW5jdGlvbiBuYW1lZCBjb25zb2xlX2lucHV0X2RvbWFpbigpIHRvIGFsbG93IG90aGVy cyB0byBrbm93CndoaWNoIGRvbWFpbnMgaGFzIGlucHV0IGF0IGEgZ2l2ZW4gdGltZS4KClNpZ25l ZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KQ0M6IGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20KQ0M6IEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbQpD QzogaWFuLmphY2tzb25AZXUuY2l0cml4LmNvbQpDQzogamJldWxpY2hAc3VzZS5jb20KQ0M6IGtv bnJhZC53aWxrQG9yYWNsZS5jb20KQ0M6IHRpbUB4ZW4ub3JnCkNDOiB3ZWkubGl1MkBjaXRyaXgu Y29tCi0tLQpYWFg6IG1lcmdlIHRoaXMgcGF0Y2ggd2l0aCAieGVuL2FybTogQWxsb3cgdnBsMDEx IHRvIGJlIHVzZWQgYnkgRG9tVSIgb24KICAgICBjb21taXQKCkNoYW5nZXMgaW4gdjY6Ci0gZml4 IHR5cG8KLSBhZGQgaW5wdXQgIT0gTlVMTCBjaGVjawoKQ2hhbmdlcyBpbiB2NToKLSB1c2UgcmN1 X2xvY2sgaW4gY29uc29sZV9pbnB1dF9kb21haW4KLSByY3VfdW5sb2NrIGF0IHRoZSBlbmQgb2Yg dnBsMDExX3dyaXRlX2RhdGFfeGVuCi0gYWRkIGEgY29tbWVudCBvbiB0b3Agb2YgY29uc29sZV9p bnB1dF9kb21haW4gYXMgYSByZW1pbmRlciB0aGF0IHRoZQogIGNhbGxlciBuZWVkcyB0byByY3Vf dW5sb2NrCgpDaGFuZ2VzIGluIHY0OgotIG1ha2UgU0JTQV9VQVJUX09VVF9CVUZfU0laRSB0aGUg c2FtZSBzaXplIG9mIFZVQVJUX0JVRl9TSVpFCi0gcmVhcnJhbmdlIHRoZSBjb2RlIHRvIGJlIGNs ZWFyZXIgaW5wdXQgYW5kICE9IGlucHV0IGNhc2VzCi0gY29kZSBzdHlsZQotIGFkZCBcbiB3aGVu IHByaW50aW5nIHRoZSBvdXQgYnVmZmVyIGJlY2F1c2UgaXMgZnVsbAotIGRvbid0IHByaW50IHBy ZWZpeCBmb3IgaW5wdXQgZG9tYWluCi0tLQogeGVuL2FyY2gvYXJtL3ZwbDAxMS5jICAgICAgICB8 IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9kcml2ZXJzL2No YXIvY29uc29sZS5jICAgfCAgOCArKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS92cGwwMTEu aCB8ICA0ICsrKysKIHhlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmggICAgfCAgMiArKwogNCBmaWxl cyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS92cGwwMTEuYyBiL3hlbi9hcmNoL2FybS92cGwwMTEuYwppbmRleCAxMzE1 MDdlLi43MTlhMzM5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdnBsMDExLmMKKysrIGIveGVu L2FyY2gvYXJtL3ZwbDAxMS5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8eGVuL2xpYi5o PgogI2luY2x1ZGUgPHhlbi9tbS5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUg PHhlbi9jb25zb2xlLmg+CiAjaW5jbHVkZSA8cHVibGljL2RvbWN0bC5oPgogI2luY2x1ZGUgPHB1 YmxpYy9pby9jb25zb2xlLmg+CiAjaW5jbHVkZSA8YXNtL3BsMDExLXVhcnQuaD4KQEAgLTg1LDE4 ICs4Niw0OCBAQCBzdGF0aWMgdm9pZCB2cGwwMTFfd3JpdGVfZGF0YV94ZW4oc3RydWN0IGRvbWFp biAqZCwgdWludDhfdCBkYXRhKQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgc3Ry dWN0IHZwbDAxMSAqdnBsMDExID0gJmQtPmFyY2gudnBsMDExOworICAgIHN0cnVjdCB2cGwwMTFf eGVuX2JhY2tlbmQgKmludGYgPSB2cGwwMTEtPmJhY2tlbmQueGVuOworICAgIHN0cnVjdCBkb21h aW4gKmlucHV0ID0gY29uc29sZV9pbnB1dF9kb21haW4oKTsKIAogICAgIFZQTDAxMV9MT0NLKGQs IGZsYWdzKTsKIAotICAgIHByaW50aygiJWMiLCBkYXRhKTsKLSAgICBpZiAoZGF0YSA9PSAnXG4n KQotICAgICAgICBwcmludGsoIkRPTSV1OiAiLCBkLT5kb21haW5faWQpOworICAgIGludGYtPm91 dFtpbnRmLT5vdXRfcHJvZCsrXSA9IGRhdGE7CisgICAgaWYgKCBkID09IGlucHV0ICkKKyAgICB7 CisgICAgICAgIGlmICggaW50Zi0+b3V0X3Byb2QgPT0gMSApCisgICAgICAgIHsKKyAgICAgICAg ICAgIHByaW50aygiJWMiLCBkYXRhKTsKKyAgICAgICAgICAgIGludGYtPm91dF9wcm9kID0gMDsK KyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggZGF0 YSAhPSAnXG4nICkKKyAgICAgICAgICAgICAgICBpbnRmLT5vdXRbaW50Zi0+b3V0X3Byb2QrK10g PSAnXG4nOworICAgICAgICAgICAgaW50Zi0+b3V0W2ludGYtPm91dF9wcm9kKytdID0gJ1wwJzsK KyAgICAgICAgICAgIHByaW50aygiJXMiLCBpbnRmLT5vdXQpOworICAgICAgICAgICAgaW50Zi0+ b3V0X3Byb2QgPSAwOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg IGlmICggaW50Zi0+b3V0X3Byb2QgPT0gU0JTQV9VQVJUX09VVF9CVUZfU0laRSAtIDIgfHwKKyAg ICAgICAgICAgICBkYXRhID09ICdcbicgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIGRh dGEgIT0gJ1xuJyApCisgICAgICAgICAgICAgICAgaW50Zi0+b3V0W2ludGYtPm91dF9wcm9kKytd ID0gJ1xuJzsKKyAgICAgICAgICAgIGludGYtPm91dFtpbnRmLT5vdXRfcHJvZCsrXSA9ICdcMCc7 CisgICAgICAgICAgICBwcmludGsoIkRPTSV1OiAlcyIsIGQtPmRvbWFpbl9pZCwgaW50Zi0+b3V0 KTsKKyAgICAgICAgICAgIGludGYtPm91dF9wcm9kID0gMDsKKyAgICAgICAgfQorICAgIH0KIAog ICAgIHZwbDAxMS0+dWFydHJpcyB8PSBUWEk7CiAgICAgdnBsMDExLT51YXJ0ZnIgJj0gflRYRkU7 CiAgICAgdnBsMDExX3VwZGF0ZV9pbnRlcnJ1cHRfc3RhdHVzKGQpOwogCiAgICAgVlBMMDExX1VO TE9DSyhkLCBmbGFncyk7CisgICAgaWYgKCBpbnB1dCAhPSBOVUxMICkKKyAgICAgICAgcmN1X3Vu bG9ja19kb21haW4oaW5wdXQpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY2hh ci9jb25zb2xlLmMgYi94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYwppbmRleCA2NWZkNDA2Li5m YTY1NjlkIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYworKysgYi94ZW4v ZHJpdmVycy9jaGFyL2NvbnNvbGUuYwpAQCAtNDA2LDYgKzQwNiwxNCBAQCBzdGF0aWMgdm9pZCBk dW1wX2NvbnNvbGVfcmluZ19rZXkodW5zaWduZWQgY2hhciBrZXkpCiAgKi8KIHN0YXRpYyB1bnNp Z25lZCBpbnQgX19yZWFkX21vc3RseSBjb25zb2xlX3J4ID0gMDsKIAorLyogTWFrZSBzdXJlIHRv IHJjdV91bmxvY2tfZG9tYWluIGFmdGVyIHVzZSAqLworc3RydWN0IGRvbWFpbiAqY29uc29sZV9p bnB1dF9kb21haW4odm9pZCkKK3sKKyAgICBpZiAoIGNvbnNvbGVfcnggPT0gMCApCisgICAgICAg ICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcmN1X2xvY2tfZG9tYWluX2J5X2lkKGNvbnNv bGVfcnggLSAxKTsKK30KKwogc3RhdGljIHZvaWQgc3dpdGNoX3NlcmlhbF9pbnB1dCh2b2lkKQog ewogICAgIGlmICggY29uc29sZV9yeCA9PSBtYXhfaW5pdF9kb21pZCArIDEgKQpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLWFybS92cGwwMTEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdnBs MDExLmgKaW5kZXggNWViNmQyNS4uMTI1NzZhNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LWFybS92cGwwMTEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZwbDAxMS5oCkBAIC0zMCw5 ICszMCwxMyBAQAogI2RlZmluZSBWUEwwMTFfVU5MT0NLKGQsZmxhZ3MpIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJihkKS0+YXJjaC52cGwwMTEubG9jaywgZmxhZ3MpCiAKICNkZWZpbmUgU0JTQV9V QVJUX0ZJRk9fU0laRSAzMgorLyogU2FtZSBzaXplIGFzIFZVQVJUX0JVRl9TSVpFLCB1c2VkIGlu IHZ1YXJ0LmMgKi8KKyNkZWZpbmUgU0JTQV9VQVJUX09VVF9CVUZfU0laRSAxMjgKIHN0cnVjdCB2 cGwwMTFfeGVuX2JhY2tlbmQgewogICAgIGNoYXIgaW5bU0JTQV9VQVJUX0ZJRk9fU0laRV07Cisg ICAgY2hhciBvdXRbU0JTQV9VQVJUX09VVF9CVUZfU0laRV07CiAgICAgWEVOQ09OU19SSU5HX0lE WCBpbl9jb25zLCBpbl9wcm9kOworICAgIFhFTkNPTlNfUklOR19JRFggb3V0X3Byb2Q7CiB9Owog CiBzdHJ1Y3QgdnBsMDExIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgg Yi94ZW4vaW5jbHVkZS94ZW4vY29uc29sZS5oCmluZGV4IDcwYzk5MTEuLmM1YTg1YzggMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2Nv bnNvbGUuaApAQCAtMzEsNiArMzEsOCBAQCB2b2lkIGNvbnNvbGVfZW5kX3N5bmModm9pZCk7CiB2 b2lkIGNvbnNvbGVfc3RhcnRfbG9nX2V2ZXJ5dGhpbmcodm9pZCk7CiB2b2lkIGNvbnNvbGVfZW5k X2xvZ19ldmVyeXRoaW5nKHZvaWQpOwogCitzdHJ1Y3QgZG9tYWluICpjb25zb2xlX2lucHV0X2Rv bWFpbih2b2lkKTsKKwogLyoKICAqIFN0ZWFsIG91dHB1dCBmcm9tIHRoZSBjb25zb2xlLiBSZXR1 cm5zICt2ZSBpZGVudGlmaWVyLCBlbHNlIC12ZSBlcnJvci4KICAqIFRha2VzIHRoZSBoYW5kbGUg b2YgdGhlIHNlcmlhbCBsaW5lIHRvIHN0ZWFsLCBhbmQgc3RlYWwgY2FsbGJhY2sgZnVuY3Rpb24u Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=