From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 02/59] controller: Revamp communication structure Date: Wed, 28 Dec 2016 20:13:55 -0500 Message-ID: <1482974092-15891-2-git-send-email-ronladred@gmail.com> References: <1482974092-15891-1-git-send-email-ronladred@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1482974092-15891-1-git-send-email-ronladred@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Ian Jackson , Wei Liu , George Dunlap , George Dunlap List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKVHdvIGdlbmVy YWwtcHVycG9yc2UgY2hhbm5lbHMgcmF0aGVyIHRoYW4gb25lIHBlciB3b3JrZXIuCgpTZXQgdXAg dHdvIHdvcmtlcnMsIGdhdGhlciBhbmQgY29sbGF0ZSB0aGUgaW5mb3JtYXRpb24gYXQgdGhlIGNl bnRyYWwKc3RhdGlvbi4KCkhhdmUgdGhlIHdvcmtlciBwcmludCBvdXQgYSByZXBvcnQgYXQgc3Rh cnQtb2YtZGF5LCBzbyB3ZSBnZXQgdGltaW5nCmluZm9ybWF0aW9uIGZvciB0aGUgZmlyc3QgYWN0 dWFsIHJlcG9ydC4KCkNhdGNoIFNJR0lOVCBhcyBhIHNob3J0aGFuZCB0ZXN0aW5nIHdheSBvZiBt YW5hZ2luZyB0ZWFyLWRvd24KZ3JhY2VmdWxseS4KClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5s YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KLS0tCiBtYWluLmdvIHwgOTYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9tYWluLmdvIGIvbWFpbi5nbwppbmRleCA2ZTkwNzU0Li4wY2I5ZjUxIDEwMDY0NAot LS0gYS9tYWluLmdvCisrKyBiL21haW4uZ28KQEAgLTIsMTMgKzIsMTggQEAgcGFja2FnZSBtYWlu CiAKIGltcG9ydCAoCiAJImZtdCIKKwkib3MiCiAJIm9zL2V4ZWMiCisJIm9zL3NpZ25hbCIKIAki ZW5jb2RpbmcvanNvbiIKIAkiYnVmaW8iCiAJImlvIgorCQogKQogCiB0eXBlIFdvcmtlciBzdHJ1 Y3QgeworCUlkIGludAorCQogCWMgKmV4ZWMuQ21kCiAKIAlzdGRvdXQgaW8uUmVhZENsb3NlcgpA QCAtMTcsMTQgKzIyLDE0IEBAIHR5cGUgV29ya2VyIHN0cnVjdCB7CiB9CiAKIHR5cGUgV29ya2Vy UmVwb3J0IHN0cnVjdCB7CisJSWQgaW50CiAJTm93IGludAogCU1vcHMgaW50CiAJTWF4RGVsdGEg aW50CiB9CiAKLWZ1bmMgKHcgKldvcmtlcikgU3RhcnQoKSAoZXJyIGVycm9yKSB7CitmdW5jICh3 ICpXb3JrZXIpIEluaXQoKSAoZXJyIGVycm9yKSB7CiAJdy5jID0gZXhlYy5Db21tYW5kKCIuLi93 b3JrZXIvd29ya2VyLXByb2MiLCAiYnVybndhaXQiLCAiMjAiLCAiMjAwMDAwMDAiKQotCQogCiAJ dy5zdGRvdXQsIGVyciA9IHcuYy5TdGRvdXRQaXBlKCkKIAlpZiBlcnIgIT0gbmlsIHsKQEAgLTMy LDQ3ICszNywxMDIgQEAgZnVuYyAodyAqV29ya2VyKSBTdGFydCgpIChlcnIgZXJyb3IpIHsKIAkJ cmV0dXJuCiAJfQogCi0Jdy5jLlN0YXJ0KCkKLQotCWIsIGVyciA6PSBqc29uLk1hcnNoYWwoV29y a2VyUmVwb3J0ezUsNiw3fSkKLQlmbXQuUHJpbnQoIkV4YW1wbGUganNvbjogIiwgc3RyaW5nKGIp KQotCQogCXJldHVybgogfQogCi1mdW5jICh3ICpXb3JrZXIpIFdhaXQoKSB7Ci0Jdy5jLldhaXQo KQorZnVuYyAodyAqV29ya2VyKSBTaHV0ZG93bigpIHsKKwl3LmMuUHJvY2Vzcy5LaWxsKCkKIH0K IAotZnVuYyAodyAqV29ya2VyKSBQcm9jZXNzKCkgeworZnVuYyAodyAqV29ya2VyKSBQcm9jZXNz KHJlcG9ydCBjaGFuIFdvcmtlclJlcG9ydCwgZG9uZSBjaGFuIGJvb2wpIHsKKwl3LmMuU3RhcnQo KQorCiAJc2Nhbm5lciA6PSBidWZpby5OZXdTY2FubmVyKHcuc3Rkb3V0KQogCiAJZm9yIHNjYW5u ZXIuU2NhbigpIHsKIAkJcyA6PSBzY2FubmVyLlRleHQoKQogCQkKLQkJZm10LlByaW50bG4oIkdv dCB0aGVzZSBieXRlczogIiwgcyk7CisJCS8vZm10LlByaW50bG4oIkdvdCB0aGVzZSBieXRlczog Iiwgcyk7CiAKIAkJaWYgdy5qc29uU3RhcnRlZCB7CiAJCQl2YXIgciBXb3JrZXJSZXBvcnQKLQkJ CQogCQkJanNvbi5Vbm1hcnNoYWwoW11ieXRlKHMpLCAmcikKLQkJCWZtdC5QcmludGxuKHIpCisJ CQlyLklkID0gdy5JZAorCQkJcmVwb3J0IDwtIHIKIAkJfSBlbHNlIHsKIAkJCWlmIHMgPT0gIlNU QVJUIEpTT04iIHsKLQkJCQlmbXQuUHJpbnRsbigiR290IHRva2VuIHRvIHN0YXJ0IHBhcnNpbmcg anNvbiIpCisJCQkJLy9mbXQuUHJpbnRsbigiR290IHRva2VuIHRvIHN0YXJ0IHBhcnNpbmcganNv biIpCiAJCQkJdy5qc29uU3RhcnRlZCA9IHRydWUKIAkJCX0KIAkJfQogCX0KKworCWRvbmUgPC0g dHJ1ZQorCisJdy5jLldhaXQoKQorfQorCitjb25zdCAoCisJVVNFQyA9IDEwMDAKKwlNU0VDID0g VVNFQyAqIDEwMDAKKwlTRUMgPSBNU0VDICogMTAwMAorKQorCit0eXBlIFdvcmtlclN0YXRlIHN0 cnVjdCB7CisJV29ya2VyCisJTGFzdFJlcG9ydCBXb3JrZXJSZXBvcnQKK30KKworZnVuYyBSZXBv cnQod3MgKldvcmtlclN0YXRlLCByIFdvcmtlclJlcG9ydCkgeworCS8vZm10LlByaW50bG4ocikK KworCWxyIDo9IHdzLkxhc3RSZXBvcnQKKworCWlmIChsci5Ob3cgPiAwKSB7CisJCXRpbWUgOj0g ZmxvYXQ2NChyLk5vdyAtIGxyLk5vdykgLyBTRUMKKwkJbW9wcyA6PSByLk1vcHMgLSBsci5Nb3Bz CisKKwkJdHB1dCA6PSBmbG9hdDY0KG1vcHMpIC8gdGltZQorCisJCWZtdC5QcmludGYoIiVkIFRp bWU6ICUyLjNmIE1vcHM6ICVkIFRwdXQ6ICU0LjJmXG4iLCByLklkLCB0aW1lLCBtb3BzLCB0cHV0 KTsKKwl9CisKKwl3cy5MYXN0UmVwb3J0ID0gcgogfQogCiBmdW5jIG1haW4oKSB7CisJY291bnQg Oj0gMgorCQorCXJlcG9ydCA6PSBtYWtlKGNoYW4gV29ya2VyUmVwb3J0KQorCWRvbmUgOj0gbWFr ZShjaGFuIGJvb2wpCisJc2lnbmFscyA6PSBtYWtlKGNoYW4gb3MuU2lnbmFsLCAxKQogCi0Jdzo9 V29ya2Vye30KKwlzaWduYWwuTm90aWZ5KHNpZ25hbHMsIG9zLkludGVycnVwdCkKIAkKLQl3LlN0 YXJ0KCkKKwlpIDo9IDAKIAotCXcuUHJvY2VzcygpCisJV29ya2VycyA6PSBtYWtlKFtdV29ya2Vy U3RhdGUsIGNvdW50KQorCQorCWZvciBpID0gMDsgaTwgY291bnQ7IGkrKyB7CisJCVdvcmtlcnNb aV0uSWQgPSBpCisJCQorCQlXb3JrZXJzW2ldLkluaXQoKQorCQkKKwkJZ28gV29ya2Vyc1tpXS5Q cm9jZXNzKHJlcG9ydCwgZG9uZSkKKwl9CiAKLQl3LldhaXQoKQorCWZvciBpID4gMCB7CisJCXNl bGVjdCB7CisJCWNhc2UgciA6PSA8LXJlcG9ydDoKKwkJCVJlcG9ydCgmV29ya2Vyc1tyLklkXSwg cikKKwkJY2FzZSA8LWRvbmU6CisJCQlpLS07CisJCQlmbXQuUHJpbnRsbihpLCAid29ya2VycyBs ZWZ0Iik7CisJCWNhc2UgPC1zaWduYWxzOgorCQkJZm10LlByaW50bG4oIlNJR0lOVCByZWNlaWV2 ZWQsIHNodXR0aW5nIGRvd24gd29ya2VycyIpCisJCQlmb3IgaiA6PSByYW5nZSBXb3JrZXJzIHsK KwkJCQlXb3JrZXJzW2pdLlNodXRkb3duKCkKKwkJCX0KKwkJfQorCX0KIH0KLS0gCjIuNy40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==