From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 20/21] xen: support console_switching between Dom0 and DomUs on ARM Date: Fri, 6 Jul 2018 16:12:15 -0700 Message-ID: <1530918736-13965-20-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, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.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 VG9kYXkgQ3RybC1BQUEgaXMgdXNlZCB0byBzd2l0Y2ggYmV0d2VlbiBYZW4gYW5kIERvbTAuIEV4 dGVuZCB0aGUKbWVjaGFuaXNtIHRvIGFsbG93IGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBYZW4sIERv bTAsIGFuZCBhbnkgb2YgdGhlCmluaXRpYWwgRG9tVSBjcmVhdGVkIGZyb20gWGVuIGFsb25nc2lk ZSBEb20wIG91dCBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZAp2aWEgZGV2aWNlIHRyZWUuCgpTaWdu ZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tCkNDOiBHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20K Q0M6IGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20KQ0M6IGpiZXVsaWNoQHN1c2UuY29tCkNDOiBr b25yYWQud2lsa0BvcmFjbGUuY29tCkNDOiB0aW1AeGVuLm9yZwpDQzogd2VpLmxpdTJAY2l0cml4 LmNvbQotLS0KQ2hhbmdlcyBpbiB2MjoKLSBvbmx5IGNhbGwgdnBsMDExX3J4X2NoYXIgaWYgdGhl IHZwbDAxMSBoYXMgYmVlbiBpbml0aWFsaXplZAotLS0KIHhlbi9kcml2ZXJzL2NoYXIvY29uc29s ZS5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jIGIveGVuL2RyaXZlcnMvY2hhci9jb25z b2xlLmMKaW5kZXggMGYwNTM2OS4uZDU5MGJjMCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvY2hh ci9jb25zb2xlLmMKKysrIGIveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMKQEAgLTMxLDEwICsz MSwxMyBAQAogI2luY2x1ZGUgPHhlbi9lYXJseV9wcmludGsuaD4KICNpbmNsdWRlIDx4ZW4vd2Fy bmluZy5oPgogI2luY2x1ZGUgPHhlbi9wdl9jb25zb2xlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVw Lmg+CiAKICNpZmRlZiBDT05GSUdfWDg2CiAjaW5jbHVkZSA8eGVuL2NvbnNvbGVkLmg+CiAjaW5j bHVkZSA8YXNtL2d1ZXN0Lmg+CisjZWxzZQorI2luY2x1ZGUgPGFzbS92cGwwMTEuaD4KICNlbmRp ZgogCiAvKiBjb25zb2xlOiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb25zb2xlIG91dHB1dHMu ICovCkBAIC0zODksMjkgKzM5Miw0OSBAQCBzdGF0aWMgdm9pZCBkdW1wX2NvbnNvbGVfcmluZ19r ZXkodW5zaWduZWQgY2hhciBrZXkpCiAgICAgZnJlZV94ZW5oZWFwX3BhZ2VzKGJ1Ziwgb3JkZXIp OwogfQogCi0vKiBDVFJMLTxzd2l0Y2hfY2hhcj4gc3dpdGNoZXMgaW5wdXQgZGlyZWN0aW9uIGJl dHdlZW4gWGVuIGFuZCBET00wLiAqLworLyoKKyAqIENUUkwtPHN3aXRjaF9jaGFyPiBzd2l0Y2hl cyBpbnB1dCBkaXJlY3Rpb24gYmV0d2VlbiBYZW4sIERvbTAgYW5kCisgKiBEb21Vcy4KKyAqLwog I2RlZmluZSBzd2l0Y2hfY29kZSAob3B0X2NvbnN3aXRjaFswXS0nYScrMSkKLXN0YXRpYyBpbnQg X19yZWFkX21vc3RseSB4ZW5fcnggPSAxOyAvKiBGQUxTRSA9PiBpbnB1dCBwYXNzZWQgdG8gZG9t YWluIDAuICovCitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkgeGVuX3J4ID0gMTsgLyogMSA9PiBp bnB1dCBwYXNzZWQgdG8gZG9tYWluIDAuICovCiAKIHN0YXRpYyB2b2lkIHN3aXRjaF9zZXJpYWxf aW5wdXQodm9pZCkKIHsKLSAgICBzdGF0aWMgY2hhciAqaW5wdXRfc3RyWzJdID0geyAiRE9NMCIs ICJYZW4iIH07Ci0gICAgeGVuX3J4ID0gIXhlbl9yeDsKLSAgICBwcmludGsoIioqKiBTZXJpYWwg aW5wdXQgLT4gJXMiLCBpbnB1dF9zdHJbeGVuX3J4XSk7CisgICAgeGVuX3J4Kys7CisgICAgaWYg KCB4ZW5fcnggPT0gbWF4X2luaXRfZG9taWQgKyAxICkKKyAgICAgICAgeGVuX3J4ID0gMDsKKwor ICAgIGlmICggIXhlbl9yeCApCisgICAgICAgIHByaW50aygiKioqIFNlcmlhbCBpbnB1dCB4ZW5f cng9JWQgLT4gJXMiLCB4ZW5fcngsICJYZW4iKTsKKyAgICBlbHNlCisgICAgICAgIHByaW50aygi KioqIFNlcmlhbCBpbnB1dCB4ZW5fcng9JWQgLT4gRE9NJWQiLCB4ZW5fcngsIHhlbl9yeCAtIDEp OworCiAgICAgaWYgKCBzd2l0Y2hfY29kZSApCi0gICAgICAgIHByaW50aygiICh0eXBlICdDVFJM LSVjJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8gJXMpIiwKLSAgICAgICAgICAgICAg IG9wdF9jb25zd2l0Y2hbMF0sIGlucHV0X3N0clsheGVuX3J4XSk7CisgICAgICAgIHByaW50aygi ICh0eXBlICdDVFJMLSVjJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQpIiwKKyAgICAgICAg ICAgICAgIG9wdF9jb25zd2l0Y2hbMF0pOwogICAgIHByaW50aygiXG4iKTsKIH0KIAogc3RhdGlj IHZvaWQgX19zZXJpYWxfcngoY2hhciBjLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsK LSAgICBpZiAoIHhlbl9yeCApCisgICAgaWYgKCB4ZW5fcnggPT0gMCApCiAgICAgICAgIHJldHVy biBoYW5kbGVfa2V5cHJlc3MoYywgcmVncyk7CiAKLSAgICAvKiBEZWxpdmVyIGlucHV0IHRvIGd1 ZXN0IGJ1ZmZlciwgdW5sZXNzIGl0IGlzIGFscmVhZHkgZnVsbC4gKi8KLSAgICBpZiAoIChzZXJp YWxfcnhfcHJvZC1zZXJpYWxfcnhfY29ucykgIT0gU0VSSUFMX1JYX1NJWkUgKQotICAgICAgICBz ZXJpYWxfcnhfcmluZ1tTRVJJQUxfUlhfTUFTSyhzZXJpYWxfcnhfcHJvZCsrKV0gPSBjOworICAg IGlmICggeGVuX3J4ID09IDEgKQorICAgIHsKKyAgICAgICAgLyogRGVsaXZlciBpbnB1dCB0byBn dWVzdCBidWZmZXIsIHVubGVzcyBpdCBpcyBhbHJlYWR5IGZ1bGwuICovCisgICAgICAgIGlmICgg KHNlcmlhbF9yeF9wcm9kLXNlcmlhbF9yeF9jb25zKSAhPSBTRVJJQUxfUlhfU0laRSApCisgICAg ICAgICAgICBzZXJpYWxfcnhfcmluZ1tTRVJJQUxfUlhfTUFTSyhzZXJpYWxfcnhfcHJvZCsrKV0g PSBjOworICAgIH0KKyNpZmRlZiBDT05GSUdfQVJNCisgICAgZWxzZQorICAgIHsKKyAgICAgICAg c3RydWN0IGRvbWFpbiAqZCA9IGdldF9kb21haW5fYnlfaWQoeGVuX3J4IC0gMSk7CisgICAgICAg IGlmICggIWQtPmFyY2gudnBsMDExLnJpbmdfZW5hYmxlICYmIGQtPmFyY2gudnBsMDExLmlucmlu ZyAhPSBOVUxMICkKKyAgICAgICAgICAgIHZwbDAxMV9yeF9jaGFyKGQsIGMpOworICAgIH0KKyNl bmRpZgogICAgIC8qIEFsd2F5cyBub3RpZnkgdGhlIGd1ZXN0OiBwcmV2ZW50cyByZWNlaXZlIHBh dGggZnJvbSBnZXR0aW5nIHN0dWNrLiAqLwogICAgIHNlbmRfZ2xvYmFsX3ZpcnEoVklSUV9DT05T T0xFKTsKIApAQCAtOTIzLDcgKzk0Niw3IEBAIHZvaWQgX19pbml0IGNvbnNvbGVfZW5kYm9vdCh2 b2lkKQogICAgICAqIGEgdXNlZnVsICdob3cgdG8gc3dpdGNoJyBtZXNzYWdlLgogICAgICAqLwog ICAgIGlmICggb3B0X2NvbnN3aXRjaFsxXSA9PSAneCcgKQotICAgICAgICB4ZW5fcnggPSAheGVu X3J4OworICAgICAgICB4ZW5fcnggPSAwOwogCiAgICAgcmVnaXN0ZXJfa2V5aGFuZGxlcigndycs IGR1bXBfY29uc29sZV9yaW5nX2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgICJzeW5jaHJv bm91c2x5IGR1bXAgY29uc29sZSByaW5nIGJ1ZmZlciAoZG1lc2cpIiwgMCk7CkBAIC05MzMsOSAr OTU2LDYgQEAgdm9pZCBfX2luaXQgY29uc29sZV9lbmRib290KHZvaWQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRlY3JlYXNlIGxvZyBsZXZlbCB0aHJlc2hvbGQiLCAwKTsKICAgICBy ZWdpc3Rlcl9pcnFfa2V5aGFuZGxlcignRycsICZkb190b2dnbGVfZ3Vlc3QsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgInRvZ2dsZSBob3N0L2d1ZXN0IGxvZyBsZXZlbCBhZGp1c3RtZW50 IiwgMCk7Ci0KLSAgICAvKiBTZXJpYWwgaW5wdXQgaXMgZGlyZWN0ZWQgdG8gRE9NMCBieSBkZWZh dWx0LiAqLwotICAgIHN3aXRjaF9zZXJpYWxfaW5wdXQoKTsKIH0KIAogaW50IF9faW5pdCBjb25z b2xlX2hhcyhjb25zdCBjaGFyICpkZXZpY2UpCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=