From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v3 23/25] xen: support console_switching between Dom0 and DomUs on ARM Date: Thu, 4 Oct 2018 14:52:59 -0700 (PDT) Message-ID: References: <1533079688-9541-23-git-send-email-sstabellini@kernel.org> <5B61776302000078001D9C6A@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5B61776302000078001D9C6A@prv1-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Stefano Stabellini , Ian Jackson , xen-devel@lists.xen.org, Julien Grall , "andrii_anisov@epam.com" List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAxIEF1ZyAyMDE4LCBKYW4gQmV1bGljaCB3cm90ZToKPiA+Pj4gT24gMDEuMDguMTgg YXQgMDE6MjgsIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPiB3cm90ZToKPiA+IFRvZGF5IEN0cmwt QUFBIGlzIHVzZWQgdG8gc3dpdGNoIGJldHdlZW4gWGVuIGFuZCBEb20wLiBFeHRlbmQgdGhlCj4g PiBtZWNoYW5pc20gdG8gYWxsb3cgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIFhlbiwgRG9tMCwgYW5k IGFueSBvZiB0aGUKPiA+IGluaXRpYWwgRG9tVSBjcmVhdGVkIGZyb20gWGVuIGFsb25nc2lkZSBE b20wIG91dCBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZAo+ID4gdmlhIGRldmljZSB0cmVlLgo+ID4g Cj4gPiBSZW5hbWUgeGVuX3J4IHRvIGNvbnNvbGVfcnggdG8gbWF0Y2ggdGhlIG5ldyBiZWhhdmlv ci4KPiA+IAo+ID4gQ2xhcmlmeSBleGlzdGluZyBjb21tZW50IGFib3V0ICJub3RpZnkgdGhlIGd1 ZXN0IiwgbWFraW5nIGl0IGNsZWFyIHRoYXQKPiA+IGl0IGlzIG9ubHkgYWJvdXQgdGhlIGhhcmR3 YXJlIGRvbWFpbi4KPiA+IAo+ID4gRXhwb3J0IGEgZnVuY3Rpb24gbmFtZWQgY29uc29sZV9pbnB1 dF9kb21haW4oKSB0byBhbGxvdyBvdGhlcnMgdG8ga25vdwo+ID4gd2hpY2ggZG9tYWlucyBoYXMg aW5wdXQgYXQgYSBnaXZlbiB0aW1lLgo+IAo+IEFzIGFsd2F5cyBpbiBzdWNoIGNhc2VzIEkgZG9u J3QgdGhpbmsgc3VjaCBmdW5jdGlvbnMgc2hvdWxkIGJlIGFkZGVkCj4gd2l0aG91dCBhbnkgY2Fs bGVyLgoKSSdsbCBhZGQgY29uc29sZV9pbnB1dF9kb21haW4gd2l0aGluIGFuICNpZiAwIGFuZCBy ZW1vdmUgdGhlICNpZiAwIGluCnRoZSBmb2xsb3dpbmcgcGF0Y2guIElmIHlvdSBhcmUgT0sgd2l0 aCBpdCwgdGhlIHR3byBwYXRjaGVzIGNhbiBiZQptZXJnZWQgb24gY29tbWl0IChKdWxpZW4gYWxy ZWFkeSBhZ3JlZWQgdG8gaXQuKSBUaGV5IGFyZSBzZXBhcmF0ZSBvbmx5CnRvIG1ha2UgdGhlbSBl YXNpZXIgdG8gcmV2aWV3LgoKCj4gPiBAQCAtMzg5LDMwICszOTIsNzIgQEAgc3RhdGljIHZvaWQg ZHVtcF9jb25zb2xlX3Jpbmdfa2V5KHVuc2lnbmVkIGNoYXIga2V5KQo+ID4gICAgICBmcmVlX3hl bmhlYXBfcGFnZXMoYnVmLCBvcmRlcik7Cj4gPiAgfQo+ID4gIAo+ID4gLS8qIENUUkwtPHN3aXRj aF9jaGFyPiBzd2l0Y2hlcyBpbnB1dCBkaXJlY3Rpb24gYmV0d2VlbiBYZW4gYW5kIERPTTAuICov Cj4gPiArLyoKPiA+ICsgKiBDVFJMLTxzd2l0Y2hfY2hhcj4gc3dpdGNoZXMgaW5wdXQgZGlyZWN0 aW9uIGJldHdlZW4gWGVuLCBEb20wIGFuZAo+ID4gKyAqIERvbVVzLgo+ID4gKyAqLwo+ID4gICNk ZWZpbmUgc3dpdGNoX2NvZGUgKG9wdF9jb25zd2l0Y2hbMF0tJ2EnKzEpCj4gPiAtc3RhdGljIGlu dCBfX3JlYWRfbW9zdGx5IHhlbl9yeCA9IDE7IC8qIEZBTFNFID0+IGlucHV0IHBhc3NlZCB0byBk b21haW4gMC4gKi8KPiA+ICsvKgo+ID4gKyAqIGNvbnNvbGVfcng9MCA9PiBpbnB1dCB0byB4ZW4K PiA+ICsgKiBjb25zb2xlX3J4PTEgPT4gaW5wdXQgdG8gZG9tMAo+ID4gKyAqIGNvbnNvbGVfcng9 TiA9PiBpbnB1dCBkb20oTi0xKQo+ID4gKyAqLwo+ID4gK3N0YXRpYyBpbnQgX19yZWFkX21vc3Rs eSBjb25zb2xlX3J4ID0gMDsKPiAKPiBPcmlnaW5hbGx5IHRoaXMgd2FzIHN1cHBvc2VkIHRvIGJl IGJvb2wsIGJ1dCBkaWRuJ3QgZ2V0IHN3aXRjaGVkIHlldC4KPiBXaXRoIHlvdXIgY3VycmVudCBz Y2hlbWUgaXQgY2FuJ3QgZ28gbmVnYXRpdmUgYW5kIGhlbmNlIHNob3VsZCBiZQo+IHVuc2lnbmVk IGludC4gSG93ZXZlciwgSSBzdGlsbCB3b25kZXIgd2hldGhlciBpdCB3b3VsZG4ndCBiZSBiZXR0 ZXIKPiAoZXNwZWNpYWxseSBmb3IgcmVhZGVycyBvZiB0aGUgY29kZSkgaXMgdGhpcyB3YXMgYW4g YWN0dWFsIGRvbWlkX3QuCj4gQnV0IGFzIGNsYXJpZmllZCBiZWZvcmUsIEknbSBub3QgbWVhbmlu ZyB0byBtYWtlIHRoaXMgYSByZXF1aXJlbWVudC4KCkknbGwgdXNlIHVuc2lnbmVkIGludAoKCj4g PiArc3RydWN0IGRvbWFpbiAqY29uc29sZV9pbnB1dF9kb21haW4odm9pZCkKPiA+ICt7Cj4gPiAr ICAgIHJldHVybiBnZXRfZG9tYWluX2J5X2lkKGNvbnNvbGVfcnggLSAxKTsKPiA+ICt9Cj4gCj4g QW5kIHRoaXMgaXMgZXhhY3RseSB0aGUgcmVhc29uIGZvciB0aGUgYWJvdmUgcmVtYXJrOiBUaGlz IGlzIChvciBhdAo+IGxlYXN0IGxvb2tzKSBicm9rZW4gZm9yIGNvbnNvbGVfcnggPT0gMC4KCkkn bGwgZml4CgoKPiA+ICBzdGF0aWMgdm9pZCBzd2l0Y2hfc2VyaWFsX2lucHV0KHZvaWQpCj4gPiAg ewo+ID4gLSAgICBzdGF0aWMgY2hhciAqaW5wdXRfc3RyWzJdID0geyAiRE9NMCIsICJYZW4iIH07 Cj4gPiAtICAgIHhlbl9yeCA9ICF4ZW5fcng7Cj4gPiAtICAgIHByaW50aygiKioqIFNlcmlhbCBp bnB1dCAtPiAlcyIsIGlucHV0X3N0clt4ZW5fcnhdKTsKPiA+ICsgICAgY29uc29sZV9yeCsrOwo+ ID4gKyAgICBpZiAoIGNvbnNvbGVfcnggPT0gbWF4X2luaXRfZG9taWQgKyAyICkKPiA+ICsgICAg ICAgIGNvbnNvbGVfcnggPSAwOwo+IAo+IFNhbWUgaGVyZSAtIHRoZSBsaXRlcmFsIDIgYXQgbGVh c3QgcmFpc2VzIHF1ZXN0aW9ucy4gSSB0aGluayBpdCB3b3VsZAo+IGF0IGxlYXN0IGJlIGEgbGl0 dGxlIGxlc3MgY29uZnVzaW5nIGlmIHlvdSBoYWQKPiAKPiAgICAgaWYgKCBjb25zb2xlX3J4Kysg PT0gbWF4X2luaXRfZG9taWQgKyAxICkKPiAgICAgICAgIGNvbnNvbGVfcnggPSAwOwoKSSdsbCBk bwoKCj4gPiAgc3RhdGljIHZvaWQgX19zZXJpYWxfcngoY2hhciBjLCBzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncykKPiA+ICB7Cj4gPiAtICAgIGlmICggeGVuX3J4ICkKPiA+ICsgICAgaWYgKCBj b25zb2xlX3J4ID09IDAgKQo+ID4gICAgICAgICAgcmV0dXJuIGhhbmRsZV9rZXlwcmVzcyhjLCBy ZWdzKTsKPiA+ICAKPiA+IC0gICAgLyogRGVsaXZlciBpbnB1dCB0byBndWVzdCBidWZmZXIsIHVu bGVzcyBpdCBpcyBhbHJlYWR5IGZ1bGwuICovCj4gPiAtICAgIGlmICggKHNlcmlhbF9yeF9wcm9k LXNlcmlhbF9yeF9jb25zKSAhPSBTRVJJQUxfUlhfU0laRSApCj4gPiAtICAgICAgICBzZXJpYWxf cnhfcmluZ1tTRVJJQUxfUlhfTUFTSyhzZXJpYWxfcnhfcHJvZCsrKV0gPSBjOwo+ID4gLSAgICAv KiBBbHdheXMgbm90aWZ5IHRoZSBndWVzdDogcHJldmVudHMgcmVjZWl2ZSBwYXRoIGZyb20gZ2V0 dGluZyBzdHVjay4gKi8KPiAKPiBKdXN0IGxpa2UgeW91IGFkanVzdCAiZ3Vlc3QiIGluIHRoaXMg Y29tbWVudCwgSSB0aGluayB5b3UnZCBiZXR0ZXIgLi4uCj4gCj4gPiArICAgIGlmICggY29uc29s ZV9yeCA9PSAxICkKPiA+ICsgICAgewo+ID4gKyAgICAgICAgLyogRGVsaXZlciBpbnB1dCB0byBn dWVzdCBidWZmZXIsIHVubGVzcyBpdCBpcyBhbHJlYWR5IGZ1bGwuICovCj4gCj4gLi4uIGFkanVz dCBpdCBoZXJlIHRvby4KCkknbGwgZml4CgoKPiA+ICsgICAgICAgIGlmICggKHNlcmlhbF9yeF9w cm9kIC0gc2VyaWFsX3J4X2NvbnMpICE9IFNFUklBTF9SWF9TSVpFICkKPiA+ICsgICAgICAgICAg ICBzZXJpYWxfcnhfcmluZ1tTRVJJQUxfUlhfTUFTSyhzZXJpYWxfcnhfcHJvZCsrKV0gPSBjOwo+ ID4gKyAgICB9Cj4gPiArI2lmZGVmIENPTkZJR19TQlNBX1ZVQVJUX0NPTlNPTEUKPiA+ICsgICAg ZWxzZQo+ID4gKyAgICB7Cj4gPiArICAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gZ2V0X2RvbWFp bl9ieV9pZChjb25zb2xlX3J4IC0gMSk7Cj4gPiArCj4gPiArICAgICAgICAvKgo+ID4gKyAgICAg ICAgICogSWYgd2UgaGF2ZSBhIHByb3Blcmx5IGluaXRpYWxpemVkIHZwbDAxMSBjb25zb2xlIGZv ciB0aGUKPiA+ICsgICAgICAgICAqIGRvbWFpbiwgd2l0aG91dCBhIGZ1bGwgUFYgcmluZyB0byBE b20wIChpbiB0aGF0IGNhc2UgaW5wdXQKPiA+ICsgICAgICAgICAqIGNvbWVzIGZyb20gdGhlIFBW IHJpbmcpLCB0aGVuIHNlbmQgdGhlIGNoYXJhY3RlciB0byBpdC4KPiA+ICsgICAgICAgICAqLwo+ ID4gKyAgICAgICAgaWYgKCAhZC0+YXJjaC52cGwwMTEuYmFja2VuZF9pbl9kb21haW4gJiYgZC0+ YXJjaC52cGwwMTEueGVuICE9IE5VTEwgKQo+ID4gKyAgICAgICAgICAgIHZwbDAxMV9yeF9jaGFy X3hlbihkLCBjKTsKPiA+ICsgICAgICAgIGVsc2UKPiA+ICsgICAgICAgICAgICBwcmludGsoIkNh bm5vdCBzZW5kIGNoYXJzIHRvIERvbSVkOiBubyBVQVJUIGF2YWlsYWJsZVxuIiwKPiA+ICsgICAg ICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkKTsKPiA+ICsgICAgfQo+ID4gKyNlbmRpZgo+ID4g KyAgICAvKgo+ID4gKyAgICAgKiBBbHdheXMgbm90aWZ5IHRoZSBoYXJkd2FyZSBkb21haW46IHBy ZXZlbnRzIHJlY2VpdmUgcGF0aCBmcm9tCj4gPiArICAgICAqIGdldHRpbmcgc3R1Y2suCj4gPiAr ICAgICAqLwo+ID4gICAgICBzZW5kX2dsb2JhbF92aXJxKFZJUlFfQ09OU09MRSk7Cj4gCj4gV2h5 IGRvZXMgdGhpcyBub3QgbW92ZSBpbnRvIHRoZSBpZigpIGJvZHkgYWJvdmU/CgpUaGF0IHdhcyBh IG1pc3Rha2UsIEkgZml4ZWQgaXQKCgo+ID4gQEAgLTkyMyw3ICs5NjgsNyBAQCB2b2lkIF9faW5p dCBjb25zb2xlX2VuZGJvb3Qodm9pZCkKPiA+ICAgICAgICogYSB1c2VmdWwgJ2hvdyB0byBzd2l0 Y2gnIG1lc3NhZ2UuCj4gPiAgICAgICAqLwo+ID4gICAgICBpZiAoIG9wdF9jb25zd2l0Y2hbMV0g PT0gJ3gnICkKPiA+IC0gICAgICAgIHhlbl9yeCA9ICF4ZW5fcng7Cj4gPiArICAgICAgICBjb25z b2xlX3J4ID0gMDsKPiAKPiBBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnQgSSB0aGluayB5b3UgbmVl ZCB0byBzdG9yZQo+IG1heF9pbml0X2RvbWlkICsgMSBoZXJlLCBzbyB0aGF0IHRoZSBzd2l0Y2hf c2VyaWFsX2lucHV0KCkgYSBmZXcKPiBsaW5lcyBkb3duIHdvdWxkIGFjdHVhbGx5IHN3aXRjaCB0 byBYZW4uCgpJJ2xsIGZpeAoKVGhhbmtzIGZvciB0aGUgY29tbWVudHMhCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs