From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v2 20/21] xen: support console_switching between Dom0 and DomUs on ARM Date: Wed, 18 Jul 2018 10:31:20 -0700 (PDT) Message-ID: References: <1530918736-13965-20-git-send-email-sstabellini@kernel.org> 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 Cc: Stefano Stabellini , Stefano Stabellini , 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, nd@arm.com List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAxNyBKdWwgMjAxOCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIFN0ZWZhbm8sCj4g Cj4gT24gMDcvMDcvMjAxOCAwMDoxMiwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gVG9k YXkgQ3RybC1BQUEgaXMgdXNlZCB0byBzd2l0Y2ggYmV0d2VlbiBYZW4gYW5kIERvbTAuIEV4dGVu ZCB0aGUKPiA+IG1lY2hhbmlzbSB0byBhbGxvdyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gWGVuLCBE b20wLCBhbmQgYW55IG9mIHRoZQo+ID4gaW5pdGlhbCBEb21VIGNyZWF0ZWQgZnJvbSBYZW4gYWxv bmdzaWRlIERvbTAgb3V0IG9mIGluZm9ybWF0aW9uIHByb3ZpZGVkCj4gPiB2aWEgZGV2aWNlIHRy ZWUuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub3NA eGlsaW54LmNvbT4KPiA+IENDOiBhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tCj4gPiBDQzogR2Vv cmdlLkR1bmxhcEBldS5jaXRyaXguY29tCj4gPiBDQzogaWFuLmphY2tzb25AZXUuY2l0cml4LmNv bQo+ID4gQ0M6IGpiZXVsaWNoQHN1c2UuY29tCj4gPiBDQzoga29ucmFkLndpbGtAb3JhY2xlLmNv bQo+ID4gQ0M6IHRpbUB4ZW4ub3JnCj4gPiBDQzogd2VpLmxpdTJAY2l0cml4LmNvbQo+ID4gLS0t Cj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gLSBvbmx5IGNhbGwgdnBsMDExX3J4X2NoYXIgaWYgdGhl IHZwbDAxMSBoYXMgYmVlbiBpbml0aWFsaXplZAo+ID4gLS0tCj4gPiAgIHhlbi9kcml2ZXJzL2No YXIvY29uc29sZS5jIHwgNTAKPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDE1IGRl bGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY2hhci9jb25zb2xl LmMgYi94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYwo+ID4gaW5kZXggMGYwNTM2OS4uZDU5MGJj MCAxMDA2NDQKPiA+IC0tLSBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jCj4gPiArKysgYi94 ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYwo+ID4gQEAgLTMxLDEwICszMSwxMyBAQAo+ID4gICAj aW5jbHVkZSA8eGVuL2Vhcmx5X3ByaW50ay5oPgo+ID4gICAjaW5jbHVkZSA8eGVuL3dhcm5pbmcu aD4KPiA+ICAgI2luY2x1ZGUgPHhlbi9wdl9jb25zb2xlLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9z ZXR1cC5oPgo+ID4gICAgICNpZmRlZiBDT05GSUdfWDg2Cj4gPiAgICNpbmNsdWRlIDx4ZW4vY29u c29sZWQuaD4KPiA+ICAgI2luY2x1ZGUgPGFzbS9ndWVzdC5oPgo+ID4gKyNlbHNlCj4gPiArI2lu Y2x1ZGUgPGFzbS92cGwwMTEuaD4KPiA+ICAgI2VuZGlmCj4gPiAgICAgLyogY29uc29sZTogY29t bWEtc2VwYXJhdGVkIGxpc3Qgb2YgY29uc29sZSBvdXRwdXRzLiAqLwo+ID4gQEAgLTM4OSwyOSAr MzkyLDQ5IEBAIHN0YXRpYyB2b2lkIGR1bXBfY29uc29sZV9yaW5nX2tleSh1bnNpZ25lZCBjaGFy IGtleSkKPiA+ICAgICAgIGZyZWVfeGVuaGVhcF9wYWdlcyhidWYsIG9yZGVyKTsKPiA+ICAgfQo+ ID4gICAtLyogQ1RSTC08c3dpdGNoX2NoYXI+IHN3aXRjaGVzIGlucHV0IGRpcmVjdGlvbiBiZXR3 ZWVuIFhlbiBhbmQgRE9NMC4gKi8KPiA+ICsvKgo+ID4gKyAqIENUUkwtPHN3aXRjaF9jaGFyPiBz d2l0Y2hlcyBpbnB1dCBkaXJlY3Rpb24gYmV0d2VlbiBYZW4sIERvbTAgYW5kCj4gPiArICogRG9t VXMuCj4gPiArICovCj4gPiAgICNkZWZpbmUgc3dpdGNoX2NvZGUgKG9wdF9jb25zd2l0Y2hbMF0t J2EnKzEpCj4gPiAtc3RhdGljIGludCBfX3JlYWRfbW9zdGx5IHhlbl9yeCA9IDE7IC8qIEZBTFNF ID0+IGlucHV0IHBhc3NlZCB0byBkb21haW4gMC4KPiA+ICovCj4gPiArc3RhdGljIGludCBfX3Jl YWRfbW9zdGx5IHhlbl9yeCA9IDE7IC8qIDEgPT4gaW5wdXQgcGFzc2VkIHRvIGRvbWFpbiAwLiAq Lwo+ID4gICAgIHN0YXRpYyB2b2lkIHN3aXRjaF9zZXJpYWxfaW5wdXQodm9pZCkKPiA+ICAgewo+ ID4gLSAgICBzdGF0aWMgY2hhciAqaW5wdXRfc3RyWzJdID0geyAiRE9NMCIsICJYZW4iIH07Cj4g PiAtICAgIHhlbl9yeCA9ICF4ZW5fcng7Cj4gPiAtICAgIHByaW50aygiKioqIFNlcmlhbCBpbnB1 dCAtPiAlcyIsIGlucHV0X3N0clt4ZW5fcnhdKTsKPiA+ICsgICAgeGVuX3J4Kys7Cj4gPiArICAg IGlmICggeGVuX3J4ID09IG1heF9pbml0X2RvbWlkICsgMSApCj4gPiArICAgICAgICB4ZW5fcngg PSAwOwo+ID4gKwo+ID4gKyAgICBpZiAoICF4ZW5fcnggKQo+ID4gKyAgICAgICAgcHJpbnRrKCIq KiogU2VyaWFsIGlucHV0IHhlbl9yeD0lZCAtPiAlcyIsIHhlbl9yeCwgIlhlbiIpOwo+ID4gKyAg ICBlbHNlCj4gPiArICAgICAgICBwcmludGsoIioqKiBTZXJpYWwgaW5wdXQgeGVuX3J4PSVkIC0+ IERPTSVkIiwgeGVuX3J4LCB4ZW5fcnggLSAxKTsKPiA+ICsKPiA+ICAgICAgIGlmICggc3dpdGNo X2NvZGUgKQo+ID4gLSAgICAgICAgcHJpbnRrKCIgKHR5cGUgJ0NUUkwtJWMnIHRocmVlIHRpbWVz IHRvIHN3aXRjaCBpbnB1dCB0byAlcykiLAo+ID4gLSAgICAgICAgICAgICAgIG9wdF9jb25zd2l0 Y2hbMF0sIGlucHV0X3N0clsheGVuX3J4XSk7Cj4gPiArICAgICAgICBwcmludGsoIiAodHlwZSAn Q1RSTC0lYycgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0KSIsCj4gPiArICAgICAgICAgICAg ICAgb3B0X2NvbnN3aXRjaFswXSk7Cj4gPiAgICAgICBwcmludGsoIlxuIik7Cj4gPiAgIH0KPiA+ ICAgICBzdGF0aWMgdm9pZCBfX3NlcmlhbF9yeChjaGFyIGMsIHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQo+ID4gICB7Cj4gPiAtICAgIGlmICggeGVuX3J4ICkKPiA+ICsgICAgaWYgKCB4ZW5f cnggPT0gMCApCj4gPiAgICAgICAgICAgcmV0dXJuIGhhbmRsZV9rZXlwcmVzcyhjLCByZWdzKTsK PiA+ICAgLSAgICAvKiBEZWxpdmVyIGlucHV0IHRvIGd1ZXN0IGJ1ZmZlciwgdW5sZXNzIGl0IGlz IGFscmVhZHkgZnVsbC4gKi8KPiA+IC0gICAgaWYgKCAoc2VyaWFsX3J4X3Byb2Qtc2VyaWFsX3J4 X2NvbnMpICE9IFNFUklBTF9SWF9TSVpFICkKPiA+IC0gICAgICAgIHNlcmlhbF9yeF9yaW5nW1NF UklBTF9SWF9NQVNLKHNlcmlhbF9yeF9wcm9kKyspXSA9IGM7Cj4gPiArICAgIGlmICggeGVuX3J4 ID09IDEgKQo+ID4gKyAgICB7Cj4gPiArICAgICAgICAvKiBEZWxpdmVyIGlucHV0IHRvIGd1ZXN0 IGJ1ZmZlciwgdW5sZXNzIGl0IGlzIGFscmVhZHkgZnVsbC4gKi8KPiA+ICsgICAgICAgIGlmICgg KHNlcmlhbF9yeF9wcm9kLXNlcmlhbF9yeF9jb25zKSAhPSBTRVJJQUxfUlhfU0laRSApCj4gPiAr ICAgICAgICAgICAgc2VyaWFsX3J4X3JpbmdbU0VSSUFMX1JYX01BU0soc2VyaWFsX3J4X3Byb2Qr KyldID0gYzsKPiA+ICsgICAgfQo+ID4gKyNpZmRlZiBDT05GSUdfQVJNCj4gPiArICAgIGVsc2UK PiA+ICsgICAgewo+ID4gKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZCA9IGdldF9kb21haW5fYnlf aWQoeGVuX3J4IC0gMSk7Cj4gPiArICAgICAgICBpZiAoICFkLT5hcmNoLnZwbDAxMS5yaW5nX2Vu YWJsZSAmJiBkLT5hcmNoLnZwbDAxMS5pbnJpbmcgIT0gTlVMTCApCj4gCj4gSXQgc291bmRzIGxp a2UgeW91IHdhbnQgdG8gcHJvdmlkZSBhIG1hY3JvIGhlcmUuIFNvIHdvdWxkIG1ha2UgY2xlYXJl ciB3aGF0Cj4geW91IGFyZSBhY3R1YWxseSBjaGVja2luZy4KCkkgd291bGQgcmF0aGVyIGFkZCBh IGluLWNvZGUgY29tbWVudCBiZWNhdXNlIGl0IGlzIHRoZSBvbmx5IGluc3RhbmNlIG9mCnRoaXMg Y2hlY2sgaW4gdGhlIGNvZGViYXNlLgoKCj4gPiArICAgICAgICAgICAgdnBsMDExX3J4X2NoYXIo ZCwgYyk7Cj4gCj4gV2hhdCBoYXBwZW4gaW4gdGhlIGNhc2UgdnBsMDExIGlzIG5vdCBlbmFibGVk IGZvciB0aGF0IGRvbWFpbj8KClllcywgdGhhdCBpcyBhIG1pc3Rha2UgaW4gdGhpcyB2ZXJzaW9u IG9mIHRoZSBzZXJpZXMuIEkgaGF2ZSBhbHJlYWR5CmZpeGVkIHRoZSBpc3N1ZSBpbiBteSB2MyBk ZXYgYnJhbmNoLgoKCj4gU2hvdWxkbid0IHlvdSBhdCBsZWFzdCB3YXJuIHRoZXJlIGFyZSBubyBj b25zb2xlIGF2YWlsYWJsZT8KCkknbGwgYWRkIGEgd2FybmluZwoKCj4gPiArICAgIH0KPiA+ICsj ZW5kaWYKPiA+ICAgICAgIC8qIEFsd2F5cyBub3RpZnkgdGhlIGd1ZXN0OiBwcmV2ZW50cyByZWNl aXZlIHBhdGggZnJvbSBnZXR0aW5nIHN0dWNrLgo+ID4gKi8KPiAKPiBUaGlzIGNvbW1lbnQgc2Vl bXMgYSBiaXQgd3Jvbmcgbm93LCBhbHRvdWdoIHRoZSBjb21tZW50IHNlZW0gdG8gc3VnZ2VzdCBt YXkKPiBuZWVkIHRvIGJlIHRha2VuIGNhcmUuCgpJJ2xsIHVwZGF0ZSB0aGUgY29tbWVudCwgaXQg aXMgb25seSByZWxldmFudCB0byB0aGUgaGFyZHdhcmUgZG9tYWluCgoKPiA+ICAgICAgIHNlbmRf Z2xvYmFsX3ZpcnEoVklSUV9DT05TT0xFKTsKPiA+ICAgQEAgLTkyMyw3ICs5NDYsNyBAQCB2b2lk IF9faW5pdCBjb25zb2xlX2VuZGJvb3Qodm9pZCkKPiA+ICAgICAgICAqIGEgdXNlZnVsICdob3cg dG8gc3dpdGNoJyBtZXNzYWdlLgo+ID4gICAgICAgICovCj4gPiAgICAgICBpZiAoIG9wdF9jb25z d2l0Y2hbMV0gPT0gJ3gnICkKPiA+IC0gICAgICAgIHhlbl9yeCA9ICF4ZW5fcng7Cj4gPiArICAg ICAgICB4ZW5fcnggPSAwOwo+ID4gICAgICAgICByZWdpc3Rlcl9rZXloYW5kbGVyKCd3JywgZHVt cF9jb25zb2xlX3Jpbmdfa2V5LAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAic3luY2hy b25vdXNseSBkdW1wIGNvbnNvbGUgcmluZyBidWZmZXIgKGRtZXNnKSIsCj4gPiAwKTsKPiA+IEBA IC05MzMsOSArOTU2LDYgQEAgdm9pZCBfX2luaXQgY29uc29sZV9lbmRib290KHZvaWQpCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjcmVhc2UgbG9nIGxldmVsIHRocmVzaG9s ZCIsIDApOwo+ID4gICAgICAgcmVnaXN0ZXJfaXJxX2tleWhhbmRsZXIoJ0cnLCAmZG9fdG9nZ2xl X2d1ZXN0LAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvZ2dsZSBob3N0L2d1 ZXN0IGxvZyBsZXZlbCBhZGp1c3RtZW50IiwgMCk7Cj4gPiAtCj4gPiAtICAgIC8qIFNlcmlhbCBp bnB1dCBpcyBkaXJlY3RlZCB0byBET00wIGJ5IGRlZmF1bHQuICovCj4gPiAtICAgIHN3aXRjaF9z ZXJpYWxfaW5wdXQoKTsKPiA+ICAgfQo+ID4gICAgIGludCBfX2luaXQgY29uc29sZV9oYXMoY29u c3QgY2hhciAqZGV2aWNlKQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==