From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v3 12/25] xen/arm: refactor construct_dom0 Date: Wed, 15 Aug 2018 12:27:53 -0700 (PDT) Message-ID: References: <1533079688-9541-12-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, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gTW9uLCAxMyBBdWcgMjAxOCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIFN0ZWZhbm8sCj4g Cj4gT24gMDEvMDgvMTggMDA6MjcsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPiA+IE1vdmUg Z2VuZXJpYyBpbml0aWFsaXphdGlvbnMgb3V0IG9mIGNvbnN0cnVjdF9kb20wIHNvIHRoYXQgdGhl eSBjYW4gYmUKPiA+IHJldXNlZC4KPiA+IAo+ID4gUmVuYW1lIHByZXBhcmVfZHRiIHRvIHByZXBh cmVfZHRiX2h3ZG9tIHRvIGF2b2lkIGNvbmZ1c2lvbi4KPiA+IAo+ID4gTm8gZnVuY3Rpb25hbCBj aGFuZ2VzIGluIHRoaXMgcGF0Y2guCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KPiA+IAo+ID4gLS0tCj4gPiBDaGFuZ2VzIGlu IHYzOgo+ID4gLSBtb3ZlIHNldHRpbmcgdHlwZSBiZWZvcmUgYWxsb2NhdGVfbWVtb3J5Cj4gPiAt IGFkZCBpZmRlZiBhcm91bmQgaXQgYW5kIGEgY29tbWVudAo+ID4gQ2hhbmdlcyBpbiB2MjoKPiA+ IC0gbW92ZSBkaXNjYXJkX2luaXRpYWxfbW9kdWxlcygpIGFmdGVyIF9fY29uc3RydWN0X2RvbWFp bigpCj4gPiAtIHJlbW92ZSB1c2VsZXNzIGJsYW5rIGxpbmUKPiA+IC0gbGVhdmUgc2FmZXR5IEJV R19PTnMgaW4gX19jb25zdHJ1Y3RfZG9tYWluCj4gPiAtIHJlbmFtZSBwcmVwYXJlX2R0YiB0byBw cmVwYXJlX2R0Yl9od2RvbQo+ID4gLS0tCj4gPiAgIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu YyB8IDEyOAo+ID4gKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiA+ICAgMSBmaWxlIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQo+ ID4gCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gPiBpbmRleCA4ZDgyODQ5Li4wODM1MzQwIDEwMDY0NAo+ ID4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gPiArKysgYi94ZW4vYXJjaC9h cm0vZG9tYWluX2J1aWxkLmMKPiA+IEBAIC0xMzcxLDcgKzEzNzEsNyBAQCBzdGF0aWMgaW50IF9f aW5pdCBoYW5kbGVfbm9kZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QKPiA+IGtlcm5lbF9pbmZv ICpraW5mbywKPiA+ICAgICAgIHJldHVybiByZXM7Cj4gPiAgIH0KPiA+ICAgLXN0YXRpYyBpbnQg X19pbml0IHByZXBhcmVfZHRiKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbwo+ ID4gKmtpbmZvKQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IHByZXBhcmVfZHRiX2h3ZG9tKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbwo+ID4gKmtpbmZvKQo+ID4gICB7Cj4gPiAg ICAgICBjb25zdCBwMm1fdHlwZV90IGRlZmF1bHRfcDJtdCA9IHAybV9tbWlvX2RpcmVjdF9jOwo+ ID4gICAgICAgY29uc3Qgdm9pZCAqZmR0Owo+ID4gQEAgLTIxMDYsNzUgKzIxMDYsMzEgQEAgc3Rh dGljIHZvaWQgX19pbml0IGZpbmRfZ250dGFiX3JlZ2lvbihzdHJ1Y3QgZG9tYWluCj4gPiAqZCwK PiA+ICAgICAgICAgICAgICBraW5mby0+Z250dGFiX3N0YXJ0LCBraW5mby0+Z250dGFiX3N0YXJ0 ICsga2luZm8tPmdudHRhYl9zaXplKTsKPiA+ICAgfQo+ID4gICAtaW50IF9faW5pdCBjb25zdHJ1 Y3RfZG9tMChzdHJ1Y3QgZG9tYWluICpkKQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IF9fY29uc3Ry dWN0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8KPiA+ICpraW5m bykKPiA+ICAgewo+ID4gLSAgICBjb25zdCBzdHJ1Y3QgYm9vdGNtZGxpbmUgKmtlcm5lbCA9Cj4g PiBib290X2NtZGxpbmVfZmluZF9ieV9raW5kKEJPT1RNT0RfS0VSTkVMKTsKPiA+IC0gICAgc3Ry dWN0IGtlcm5lbF9pbmZvIGtpbmZvID0ge307Cj4gPiAgICAgICBzdHJ1Y3QgdmNwdSAqc2F2ZWRf Y3VycmVudDsKPiA+IC0gICAgaW50IHJjLCBpLCBjcHU7Cj4gPiAtCj4gPiArICAgIGludCBpLCBj cHU7Cj4gPiArICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzOwo+ID4gICAgICAgc3RydWN0 IHZjcHUgKnYgPSBkLT52Y3B1WzBdOwo+ID4gLSAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cyA9ICZ2LT5hcmNoLmNwdV9pbmZvLT5ndWVzdF9jcHVfdXNlcl9yZWdzOwo+IAo+IFRoZXJlIGlz IG5vIG5lZWQgdG8gcmV3cml0ZSB0aGF0IGxpbmUgaW4KPiAKPiBzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVnczsKPiAKPiByZWdzID0gLi4uOwoKT0sKCgo+ID4gICAtICAgIC8qIFNhbml0eSEgKi8K PiA+IC0gICAgQlVHX09OKGQtPmRvbWFpbl9pZCAhPSAwKTsKPiA+ICAgICAgIEJVR19PTihkLT52 Y3B1WzBdID09IE5VTEwpOwo+ID4gICAgICAgQlVHX09OKHYtPmlzX2luaXRpYWxpc2VkKTsKPiA+ ICAgLSAgICBwcmludGsoIioqKiBMT0FESU5HIERPTUFJTiAwICoqKlxuIik7Cj4gPiAtICAgIGlm ICggZG9tMF9tZW0gPD0gMCApCj4gPiAtICAgIHsKPiA+IC0gICAgICAgIHdhcm5pbmdfYWRkKCJQ TEVBU0UgU1BFQ0lGWSBkb20wX21lbSBQQVJBTUVURVIgLSBVU0lORyA1MTJNIEZPUgo+ID4gTk9X XG4iKTsKPiA+IC0gICAgICAgIGRvbTBfbWVtID0gTUIoNTEyKTsKPiA+IC0gICAgfQo+ID4gLQo+ ID4gLQo+ID4gLSAgICBpb21tdV9od2RvbV9pbml0KGQpOwo+ID4gLQo+ID4gLSAgICBkLT5tYXhf cGFnZXMgPSB+MFU7Cj4gPiAtCj4gPiAtICAgIGtpbmZvLnVuYXNzaWduZWRfbWVtID0gZG9tMF9t ZW07Cj4gPiAtICAgIGtpbmZvLmQgPSBkOwo+ID4gLQo+ID4gLSAgICByYyA9IGtlcm5lbF9wcm9i ZSgma2luZm8sIE5VTEwpOwo+ID4gLSAgICBpZiAoIHJjIDwgMCApCj4gPiAtICAgICAgICByZXR1 cm4gcmM7Cj4gPiArICAgIHJlZ3MgPSAmdi0+YXJjaC5jcHVfaW5mby0+Z3Vlc3RfY3B1X3VzZXJf cmVnczsKPiA+ICAgICAjaWZkZWYgQ09ORklHX0FSTV82NAo+ID4gICAgICAgLyogaWYgYWFyY2gz MiBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYXQgRUwxIGRvIG5vdCBhbGxvdyAzMi1iaXQgZG9tYWlu Cj4gPiAqLwo+ID4gLSAgICBpZiAoICEoY3B1X2hhc19lbDFfMzIpICYmIGtpbmZvLnR5cGUgPT0g RE9NQUlOXzMyQklUICkKPiA+ICsgICAgaWYgKCAhKGNwdV9oYXNfZWwxXzMyKSAmJiBraW5mby0+ dHlwZSA9PSBET01BSU5fMzJCSVQgKQo+ID4gICAgICAgewo+ID4gICAgICAgICAgIHByaW50aygi UGxhdGZvcm0gZG9lcyBub3Qgc3VwcG9ydCAzMi1iaXQgZG9tYWluXG4iKTsKPiA+ICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPiA+ICAgICAgIH0KPiA+IC0gICAgZC0+YXJjaC50eXBlID0ga2lu Zm8udHlwZTsKPiA+ICAgICAgICAgaWYgKCBpc182NGJpdF9kb21haW4oZCkgKQo+ID4gICAgICAg ICAgIHZjcHVfc3dpdGNoX3RvX2FhcmNoNjRfbW9kZSh2KTsKPiA+ICAgICAjZW5kaWYKPiA+ICAg LSAgICBraW5mby5jbWRsaW5lID0ga2VybmVsICE9IE5VTEwgPyAma2VybmVsLT5jbWRsaW5lWzBd IDogTlVMTDsKPiA+IC0gICAgYWxsb2NhdGVfbWVtb3J5KGQsICZraW5mbyk7Cj4gPiAtICAgIGZp bmRfZ250dGFiX3JlZ2lvbihkLCAma2luZm8pOwo+ID4gLQo+ID4gLSAgICAvKiBNYXAgZXh0cmEg R0lDIE1NSU8sIGlycXMgYW5kIG90aGVyIGh3IHN0dWZmcyB0byBkb20wLiAqLwo+ID4gLSAgICBy YyA9IGdpY19tYXBfaHdkb21fZXh0cmFfbWFwcGluZ3MoZCk7Cj4gPiAtICAgIGlmICggcmMgPCAw ICkKPiA+IC0gICAgICAgIHJldHVybiByYzsKPiA+IC0KPiA+IC0gICAgcmMgPSBwbGF0Zm9ybV9z cGVjaWZpY19tYXBwaW5nKGQpOwo+ID4gLSAgICBpZiAoIHJjIDwgMCApCj4gPiAtICAgICAgICBy ZXR1cm4gcmM7Cj4gPiAtCj4gPiAtICAgIGlmICggYWNwaV9kaXNhYmxlZCApCj4gPiAtICAgICAg ICByYyA9IHByZXBhcmVfZHRiKGQsICZraW5mbyk7Cj4gPiAtICAgIGVsc2UKPiA+IC0gICAgICAg IHJjID0gcHJlcGFyZV9hY3BpKGQsICZraW5mbyk7Cj4gPiAtCj4gPiAtICAgIGlmICggcmMgPCAw ICkKPiA+IC0gICAgICAgIHJldHVybiByYzsKPiA+IC0KPiA+ICAgICAgIC8qCj4gPiAgICAgICAg KiBUaGUgZm9sbG93aW5nIGxvYWRzIHVzZSB0aGUgZG9tYWluJ3MgcDJtIGFuZCByZXF1aXJlIGN1 cnJlbnQgdG8KPiA+ICAgICAgICAqIGJlIGEgdmNwdSBvZiB0aGUgZG9tYWluLCB0ZW1wb3Jhcmls eSBzd2l0Y2gKPiA+IEBAIC0yMTg3LDIwICsyMTQzLDE4IEBAIGludCBfX2luaXQgY29uc3RydWN0 X2RvbTAoc3RydWN0IGRvbWFpbiAqZCkKPiA+ICAgICAgICAqIGtlcm5lbF9sb2FkIHdpbGwgZGV0 ZXJtaW5lIHRoZSBwbGFjZW1lbnQgb2YgdGhlIGtlcm5lbCBhcyB3ZWxsCj4gPiAgICAgICAgKiBh cyB0aGUgaW5pdHJkICYgZmR0IGluIFJBTSwgc28gY2FsbCBpdCBmaXJzdC4KPiA+ICAgICAgICAq Lwo+ID4gLSAgICBrZXJuZWxfbG9hZCgma2luZm8pOwo+ID4gKyAgICBrZXJuZWxfbG9hZChraW5m byk7Cj4gPiAgICAgICAvKiBpbml0cmRfbG9hZCB3aWxsIGZpeCB1cCB0aGUgZmR0LCBzbyBjYWxs IGl0IGJlZm9yZSBkdGJfbG9hZCAqLwo+ID4gLSAgICBpbml0cmRfbG9hZCgma2luZm8pOwo+ID4g LSAgICBkdGJfbG9hZCgma2luZm8pOwo+ID4gKyAgICBpbml0cmRfbG9hZChraW5mbyk7Cj4gPiAr ICAgIGR0Yl9sb2FkKGtpbmZvKTsKPiA+ICAgICAgICAgLyogTm93IHRoYXQgd2UgYXJlIGRvbmUg cmVzdG9yZSB0aGUgb3JpZ2luYWwgcDJtIGFuZCBjdXJyZW50LiAqLwo+ID4gICAgICAgc2V0X2N1 cnJlbnQoc2F2ZWRfY3VycmVudCk7Cj4gPiAgICAgICBwMm1fcmVzdG9yZV9zdGF0ZShzYXZlZF9j dXJyZW50KTsKPiA+ICAgLSAgICBkaXNjYXJkX2luaXRpYWxfbW9kdWxlcygpOwo+ID4gLQo+ID4g ICAgICAgbWVtc2V0KHJlZ3MsIDAsIHNpemVvZigqcmVncykpOwo+ID4gICAtICAgIHJlZ3MtPnBj ID0gKHJlZ2lzdGVyX3Qpa2luZm8uZW50cnk7Cj4gPiArICAgIHJlZ3MtPnBjID0gKHJlZ2lzdGVy X3Qpa2luZm8tPmVudHJ5Owo+ID4gICAgICAgICBpZiAoIGlzXzMyYml0X2RvbWFpbihkKSApCj4g PiAgICAgICB7Cj4gPiBAQCAtMjIxOCwxNCArMjE3MiwxNCBAQCBpbnQgX19pbml0IGNvbnN0cnVj dF9kb20wKHN0cnVjdCBkb21haW4gKmQpCj4gPiAgICAgICAgICAgICovCj4gPiAgICAgICAgICAg cmVncy0+cjAgPSAwOyAvKiBTQlogKi8KPiA+ICAgICAgICAgICByZWdzLT5yMSA9IDB4ZmZmZmZm ZmY7IC8qIFdlIHVzZSBEVEIgdGhlcmVmb3JlIG5vIG1hY2hpbmUgaWQgKi8KPiA+IC0gICAgICAg IHJlZ3MtPnIyID0ga2luZm8uZHRiX3BhZGRyOwo+ID4gKyAgICAgICAgcmVncy0+cjIgPSBraW5m by0+ZHRiX3BhZGRyOwo+ID4gICAgICAgfQo+ID4gICAjaWZkZWYgQ09ORklHX0FSTV82NAo+ID4g ICAgICAgZWxzZQo+ID4gICAgICAgewo+ID4gICAgICAgICAgIHJlZ3MtPmNwc3IgPSBQU1JfR1VF U1Q2NF9JTklUOwo+ID4gICAgICAgICAgIC8qIEZyb20gbGludXgvRG9jdW1lbnRhdGlvbi9hcm02 NC9ib290aW5nLnR4dCAqLwo+ID4gLSAgICAgICAgcmVncy0+eDAgPSBraW5mby5kdGJfcGFkZHI7 Cj4gPiArICAgICAgICByZWdzLT54MCA9IGtpbmZvLT5kdGJfcGFkZHI7Cj4gPiAgICAgICAgICAg cmVncy0+eDEgPSAwOyAvKiBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZSAqLwo+ID4gICAgICAgICAg IHJlZ3MtPngyID0gMDsgLyogUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgKi8KPiA+ICAgICAgICAg ICByZWdzLT54MyA9IDA7IC8qIFJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovCj4gPiBAQCAtMjI1 MSw2ICsyMjA1LDY0IEBAIGludCBfX2luaXQgY29uc3RydWN0X2RvbTAoc3RydWN0IGRvbWFpbiAq ZCkKPiA+ICAgICAgIHJldHVybiAwOwo+ID4gICB9Cj4gPiAgICtpbnQgX19pbml0IGNvbnN0cnVj dF9kb20wKHN0cnVjdCBkb21haW4gKmQpCj4gPiArewo+ID4gKyAgICBjb25zdCBzdHJ1Y3QgYm9v dGNtZGxpbmUgKmtlcm5lbCA9Cj4gPiBib290X2NtZGxpbmVfZmluZF9ieV9raW5kKEJPT1RNT0Rf S0VSTkVMKTsKPiA+ICsgICAgc3RydWN0IGtlcm5lbF9pbmZvIGtpbmZvID0ge307Cj4gPiArICAg IGludCByYzsKPiA+ICsKPiA+ICsgICAgLyogU2FuaXR5ISAqLwo+ID4gKyAgICBCVUdfT04oZC0+ ZG9tYWluX2lkICE9IDApOwo+ID4gKwo+ID4gKyAgICBwcmludGsoIioqKiBMT0FESU5HIERPTUFJ TiAwICoqKlxuIik7Cj4gPiArICAgIGlmICggZG9tMF9tZW0gPD0gMCApCj4gPiArICAgIHsKPiA+ ICsgICAgICAgIHdhcm5pbmdfYWRkKCJQTEVBU0UgU1BFQ0lGWSBkb20wX21lbSBQQVJBTUVURVIg LSBVU0lORyA1MTJNIEZPUgo+ID4gTk9XXG4iKTsKPiA+ICsgICAgICAgIGRvbTBfbWVtID0gTUIo NTEyKTsKPiA+ICsgICAgfQo+ID4gKwo+ID4gKyAgICBpb21tdV9od2RvbV9pbml0KGQpOwo+ID4g Kwo+ID4gKyAgICBkLT5tYXhfcGFnZXMgPSB+MFU7Cj4gPiArCj4gPiArICAgIGtpbmZvLnVuYXNz aWduZWRfbWVtID0gZG9tMF9tZW07Cj4gPiArICAgIGtpbmZvLmQgPSBkOwo+ID4gKwo+ID4gKyAg ICByYyA9IGtlcm5lbF9wcm9iZSgma2luZm8sIE5VTEwpOwo+ID4gKyAgICBpZiAoIHJjIDwgMCAp Cj4gPiArICAgICAgICByZXR1cm4gcmM7Cj4gPiArCj4gPiArICAgIGtpbmZvLmNtZGxpbmUgPSBr ZXJuZWwgIT0gTlVMTCA/ICZrZXJuZWwtPmNtZGxpbmVbMF0gOiBOVUxMOwo+ID4gKyNpZmRlZiBD T05GSUdfQVJNXzY0Cj4gPiArICAgIC8qIHR5cGUgbXVzdCBiZSBzZXQgYmVmb3JlIGFsbG9jYXRl X21lbW9yeSAqLwo+ID4gKyAgICBkLT5hcmNoLnR5cGUgPSBraW5mby50eXBlOwo+ID4gKyNlbmRp Zgo+ID4gKyAgICBhbGxvY2F0ZV9tZW1vcnkoZCwgJmtpbmZvKTsKPiA+ICsgICAgZmluZF9nbnR0 YWJfcmVnaW9uKGQsICZraW5mbyk7Cj4gPiArCj4gPiArICAgIC8qIE1hcCBleHRyYSBHSUMgTU1J TywgaXJxcyBhbmQgb3RoZXIgaHcgc3R1ZmZzIHRvIGRvbTAuICovCj4gPiArICAgIHJjID0gZ2lj X21hcF9od2RvbV9leHRyYV9tYXBwaW5ncyhkKTsKPiA+ICsgICAgaWYgKCByYyA8IDAgKQo+ID4g KyAgICAgICAgcmV0dXJuIHJjOwo+ID4gKwo+ID4gKyAgICByYyA9IHBsYXRmb3JtX3NwZWNpZmlj X21hcHBpbmcoZCk7Cj4gPiArICAgIGlmICggcmMgPCAwICkKPiA+ICsgICAgICAgIHJldHVybiBy YzsKPiA+ICsKPiA+ICsgICAgaWYgKCBhY3BpX2Rpc2FibGVkICkKPiA+ICsgICAgICAgIHJjID0g cHJlcGFyZV9kdGJfaHdkb20oZCwgJmtpbmZvKTsKPiA+ICsgICAgZWxzZQo+ID4gKyAgICAgICAg cmMgPSBwcmVwYXJlX2FjcGkoZCwgJmtpbmZvKTsKPiA+ICsKPiA+ICsgICAgaWYgKCByYyA8IDAg KQo+ID4gKyAgICAgICAgcmV0dXJuIHJjOwo+ID4gKwo+ID4gKwo+IAo+IFNwdXJpb3VzIG5ld2xp bmUuCj4gCj4gPiArICAgIHJjID0gX19jb25zdHJ1Y3RfZG9tYWluKGQsICZraW5mbyk7Cj4gPiAr ICAgIGRpc2NhcmRfaW5pdGlhbF9tb2R1bGVzKCk7Cj4gCj4gTmV3bGluZSBoZXJlIHBsZWFzZS4K Ck9LCgoKPiA+ICsgICAgcmV0dXJuIHJjOwo+ID4gK30KPiA+ICsKPiA+ICAgLyoKPiA+ICAgICog TG9jYWwgdmFyaWFibGVzOgo+ID4gICAgKiBtb2RlOiBDCj4gPiAKPiAKPiBDaGVlcnMsCj4gCj4g LS0gCj4gSnVsaWVuIEdyYWxsCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs