From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v4 07/34] arm/x86: Use struct virtual_region to do bug, symbol, and (x86) exception tables Date: Fri, 18 Mar 2016 07:07:19 -0600 Message-ID: <56EC0B9702000078000DE5A6@prv-mh.provo.novell.com> References: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> <1458064616-23101-8-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agu7f-00021B-MZ for xen-devel@lists.xenproject.org; Fri, 18 Mar 2016 13:07:23 +0000 In-Reply-To: <1458064616-23101-8-git-send-email-konrad.wilk@oracle.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk Cc: Keir Fraser , ross.lagerwall@citrix.com, andrew.cooper3@citrix.com, mpohlack@amazon.de, Julien Grall , Stefano Stabellini , sasha.levin@oracle.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDE1LjAzLjE2IGF0IDE4OjU2LCA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4gd3JvdGU6 Cj4gbG9va3VwLgoKV2FzIHRoaXMgbWVhbnQgdG8gYmUgcGFydCBvZiAkc3ViamVjdD8KCj4gQEAg LTEwNzcsMjcgKzEwODAsMzkgQEAgdm9pZCBkb191bmV4cGVjdGVkX3RyYXAoY29uc3QgY2hhciAq bXNnLCBzdHJ1Y3QgCj4gY3B1X3VzZXJfcmVncyAqcmVncykKPiAgCj4gIGludCBkb19idWdfZnJh bWUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHZhZGRyX3QgcGMpCj4gIHsKPiAtICAgIGNv bnN0IHN0cnVjdCBidWdfZnJhbWUgKmJ1ZzsKPiArICAgIGNvbnN0IHN0cnVjdCBidWdfZnJhbWUg KmJ1ZyA9IE5VTEw7Cj4gICAgICBjb25zdCBjaGFyICpwcmVmaXggPSAiIiwgKmZpbGVuYW1lLCAq cHJlZGljYXRlOwo+ICAgICAgdW5zaWduZWQgbG9uZyBmaXh1cDsKPiAtICAgIGludCBpZCwgbGlu ZW5vOwo+IC0gICAgc3RhdGljIGNvbnN0IHN0cnVjdCBidWdfZnJhbWUgKmNvbnN0IHN0b3BfZnJh bWVzW10gPSB7Cj4gLSAgICAgICAgX19zdG9wX2J1Z19mcmFtZXNfMCwKPiAtICAgICAgICBfX3N0 b3BfYnVnX2ZyYW1lc18xLAo+IC0gICAgICAgIF9fc3RvcF9idWdfZnJhbWVzXzIsCj4gLSAgICAg ICAgTlVMTAo+IC0gICAgfTsKPiArICAgIGludCBpZCA9IC0xLCBsaW5lbm87Cj4gKyAgICBzdHJ1 Y3QgdmlydHVhbF9yZWdpb24gKnJlZ2lvbjsKPiAgCj4gLSAgICBmb3IgKCBidWcgPSBfX3N0YXJ0 X2J1Z19mcmFtZXMsIGlkID0gMDsgc3RvcF9mcmFtZXNbaWRdOyArK2J1ZyApCj4gKyAgICBsaXN0 X2Zvcl9lYWNoX2VudHJ5KCByZWdpb24sICZ2aXJ0dWFsX3JlZ2lvbl9saXN0LCBsaXN0ICkKPiAg ICAgIHsKPiAtICAgICAgICB3aGlsZSAoIHVubGlrZWx5KGJ1ZyA9PSBzdG9wX2ZyYW1lc1tpZF0p ICkKPiAtICAgICAgICAgICAgKytpZDsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgaTsKPiAgCj4g LSAgICAgICAgaWYgKCAoKHZhZGRyX3QpYnVnX2xvYyhidWcpKSA9PSBwYyApCj4gLSAgICAgICAg ICAgIGJyZWFrOwo+IC0gICAgfQo+ICsgICAgICAgIGlmICggcmVnaW9uLT5za2lwICYmIHJlZ2lv bi0+c2tpcChDSEVDS0lOR19CVUdfRlJBTUUsIHJlZ2lvbi0+cHJpdikgKQo+ICsgICAgICAgICAg ICBjb250aW51ZTsKPiArCj4gKyAgICAgICAgaWYgKCBwYyA8IHJlZ2lvbi0+c3RhcnQgfHwgcGMg PiByZWdpb24tPmVuZCApCj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+ICAKPiAtICAgIGlmICgg IXN0b3BfZnJhbWVzW2lkXSApCj4gKyAgICAgICAgZm9yICggaWQgPSAwOyBpZCA8IEJVR0ZSQU1F X05SOyBpZCsrICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBidWdf ZnJhbWUgKmIgPSBOVUxMOwoKUG9pbnRsZXNzIGluaXRpYWxpemVyLgoKPiAtLS0gYS94ZW4vYXJj aC94ODYvZXh0YWJsZS5jCj4gKysrIGIveGVuL2FyY2gveDg2L2V4dGFibGUuYwo+IEBAIC0xLDYg KzEsOCBAQAo+ICAKPiArI2luY2x1ZGUgPHhlbi9idWdfZXhfc3ltYm9scy5oPgo+ICAjaW5jbHVk ZSA8eGVuL2NvbmZpZy5oPgoKSW4gY2FzZXMgbGlrZSB0aGlzIHBsZWFzZSB0YWtlIHRoZSBvcHBv cnR1bml0eSB0byBnZXQgcmlkIG9mIHRoZQpleHBsaWNpdCBpbmNsdXNpb24gb2YgeGVuL2NvbmZp Zy5oLgoKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIveGVuL2NvbW1vbi9idWdfZXhfc3ltYm9scy5j Cj4gQEAgLTAsMCArMSwxMTkgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNs ZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAq Lwo+ICsKPiArI2luY2x1ZGUgPHhlbi9idWdfZXhfc3ltYm9scy5oPgo+ICsjaW5jbHVkZSA8eGVu L2NvbmZpZy5oPgo+ICsjaW5jbHVkZSA8eGVuL2tlcm5lbC5oPgo+ICsjaW5jbHVkZSA8eGVuL2lu aXQuaD4KPiArI2luY2x1ZGUgPHhlbi9zcGlubG9jay5oPgo+ICsKPiArZXh0ZXJuIGNoYXIgX19z dGV4dFtdOwo+ICsKPiArc3RydWN0IHZpcnR1YWxfcmVnaW9uIGtlcm5lbF90ZXh0ID0gewoKc3Rh dGljCgo+ICsgICAgLmxpc3QgPSBMSVNUX0hFQURfSU5JVChrZXJuZWxfdGV4dC5saXN0KSwKPiAr ICAgIC5zdGFydCA9ICh1bnNpZ25lZCBsb25nKV9zdGV4dCwKPiArICAgIC5lbmQgPSAodW5zaWdu ZWQgbG9uZylfZXRleHQsCj4gKyNpZmRlZiBDT05GSUdfWDg2Cj4gKyAgICAuZXggPSAoc3RydWN0 IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqKV9fc3RhcnRfX19leF90YWJsZSwKPiArICAgIC5leF9l bmQgPSAoc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqKV9fc3RvcF9fX2V4X3RhYmxlLAo+ ICsjZW5kaWYKCklzIHRoaXMgdG9nZXRoZXIgd2l0aCAuLi4KCj4gKy8qCj4gKyAqIEJlY29tZXMg aXJyZWxldmFudCB3aGVuIF9faW5pdCBzZWN0aW9ucyBhcmUgY2xlYXJlZC4KPiArICovCj4gK3N0 cnVjdCB2aXJ0dWFsX3JlZ2lvbiBrZXJuZWxfaW5pdHRleHQgID0gewo+ICsgICAgLmxpc3QgPSBM SVNUX0hFQURfSU5JVChrZXJuZWxfaW5pdHRleHQubGlzdCksCj4gKyAgICAuc2tpcCA9IGlnbm9y ZV9pZl9hY3RpdmUsCj4gKyAgICAuc3RhcnQgPSAodW5zaWduZWQgbG9uZylfc2luaXR0ZXh0LAo+ ICsgICAgLmVuZCA9ICh1bnNpZ25lZCBsb25nKV9laW5pdHRleHQsCj4gKyNpZmRlZiBDT05GSUdf WDg2Cj4gKyAgICAvKiBFdmVuIGlmIHRoZXkgYXJlIF9faW5pdCB0aGVpciBleGNlcHRpb24gZW50 cnkgc3RpbGwgZ2V0cyBzdHVjayBoZXJlLiAqLwo+ICsgICAgLmV4ID0gKHN0cnVjdCBleGNlcHRp b25fdGFibGVfZW50cnkgKilfX3N0YXJ0X19fZXhfdGFibGUsCj4gKyAgICAuZXhfZW5kID0gKHN0 cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKilfX3N0b3BfX19leF90YWJsZSwKPiArI2VuZGlm CgouLi4gdGhpcyByZWFsbHkgYSBnb29kIGlkZWE/IEkuZS4gYXJlIHRoZXJlIG5vdCBnb2luZyB0 byBiZSBhbnkKb2RkIHNpZGUgZWZmZWN0cyBiZWNhdXNlIG9mIHRoYXQgcmVkdW5kYW5jeT8KCkFs c28gbm90ZSB0aGF0IHRoZSBjb21tZW50IHByZWNlZGluZyB0aGlzIG9iamVjdCBpcyBhIHNpbmds ZSBsaW5lIG9uZS4KCj4gKy8qCj4gKyAqIE5vIGxvY2tpbmcuIEFkZGl0aW9ucyBhcmUgZG9uZSBl aXRoZXIgYXQgc3RhcnR1cCAod2hlbiB0aGVyZSBpcyBvbmx5Cj4gKyAqIG9uZSBDUFUpIG9yIHdo ZW4gYWxsIENQVXMgYXJlIHJ1bm5pbmcgd2l0aG91dCBJUlFzLgo+ICsgKgo+ICsgKiBEZWxldGlv bnMgYXJlIGJpZyB0cmlja3kuIFdlIE1VU1QgbWFrZSBzdXJlIGFsbCBidXQgb25lIENQVQo+ICsg KiBhcmUgcnVubmluZyBjcHVfcmVsYXgoKS4KPiArICoKPiArICovCj4gK0xJU1RfSEVBRCh2aXJ0 dWFsX3JlZ2lvbl9saXN0KTsKCkkgd29uZGVyIHdoZXRoZXIgdGhpcyB3b3VsZG4ndCBiZXR0ZXIg YmUgc3RhdGljLCB3aXRoIHRoZSBpdGVyYXRvcgp0aGF0IHRoZSB2YXJpb3VzIHBhcnRpZXMgbmVl ZCBnZXR0aW5nIHB1dCBoZXJlIGFzIGFuIG91dC1vZi1saW5lCmZ1bmN0aW9uIChpbnN0ZWFkIG9m IGdldHRpbmcgb3BlbiBjb2RlZCBpbiBhIGNvdXBsZSBvZiBwbGFjZXMpLgoKPiArdm9pZCBfX2lu aXQgc2V0dXBfdmlydHVhbF9yZWdpb25zKHZvaWQpCj4gK3sKPiArICAgIHNzaXplX3Qgc3o7Cj4g KyAgICB1bnNpZ25lZCBpbnQgaSwgaWR4Owo+ICsgICAgc3RhdGljIGNvbnN0IHN0cnVjdCBidWdf ZnJhbWUgKmNvbnN0IHN0b3BfZnJhbWVzW10gPSB7Cj4gKyAgICAgICAgX19zdGFydF9idWdfZnJh bWVzLAo+ICsgICAgICAgIF9fc3RvcF9idWdfZnJhbWVzXzAsCj4gKyAgICAgICAgX19zdG9wX2J1 Z19mcmFtZXNfMSwKPiArICAgICAgICBfX3N0b3BfYnVnX2ZyYW1lc18yLAo+ICsjaWZkZWYgQ09O RklHX1g4Ngo+ICsgICAgICAgIF9fc3RvcF9idWdfZnJhbWVzXzMsCj4gKyNlbmRpZgo+ICsgICAg ICAgIE5VTEwKPiArICAgIH07Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1g4Ngo+ICsgICAgc29ydF9l eGNlcHRpb25fdGFibGVzKCk7Cj4gKyNlbmRpZgo+ICsKPiArICAgIC8qIE4uQi4gaWR4ICE9IGkg Ki8KPiArICAgIGZvciAoIGlkeCA9IDAsIGkgPSAxOyBzdG9wX2ZyYW1lc1tpXTsgaSsrLCBpZHgr KyApCgpJcnJlc3BlY3RpdmUgb2YgdGhlIGNvbW1lbnQgLSB3aHkgdHdvIGxvb3AgdmFyaWFibGVz IHdoZW4gdGhleSBnZXQKaW5jcmVtZW50ZWQgaW4gbG9ja3N0ZXAuCgo+ICsgICAgewo+ICsgICAg ICAgIHN0cnVjdCBidWdfZnJhbWUgKnM7Cj4gKwo+ICsgICAgICAgIHMgPSAoc3RydWN0IGJ1Z19m cmFtZSAqKXN0b3BfZnJhbWVzW2ktMV07CgpCb2d1cyBjYXN0LCB0aGUgbW9yZSB0aGF0IGl0IGRp c2NhcmRzIGNvbnN0bmVzcy4KCj4gQEAgLTk1LDEwICs5NiwyOCBAQCBzdGF0aWMgdW5zaWduZWQg aW50IGdldF9zeW1ib2xfb2Zmc2V0KHVuc2lnbmVkIGxvbmcgcG9zKQo+ICAgICAgcmV0dXJuIG5h bWUgLSBzeW1ib2xzX25hbWVzOwo+ICB9Cj4gIAo+ICtib29sX3QgX19pc19hY3RpdmVfa2VybmVs X3RleHQodW5zaWduZWQgbG9uZyBhZGRyLCBzeW1ib2xzX2xvb2t1cF90ICpjYikKCk5vIG5ldyAo YW5kIGV2ZW4gbW9yZSBzbyBnbG9iYWwpIHN5bWJvbHMgd2l0aCBkb3VibGUgdW5kZXJzY29yZXMK YXQgdGhlaXIgYmVnaW5uaW5nIHBsZWFzZS4KCj4gQEAgLTEwOCwxMyArMTI3LDE3IEBAIGNvbnN0 IGNoYXIgKnN5bWJvbHNfbG9va3VwKHVuc2lnbmVkIGxvbmcgYWRkciwKPiAgewo+ICAgICAgdW5z aWduZWQgbG9uZyBpLCBsb3csIGhpZ2gsIG1pZDsKPiAgICAgIHVuc2lnbmVkIGxvbmcgc3ltYm9s X2VuZCA9IDA7Cj4gKyAgICBzeW1ib2xzX2xvb2t1cF90IHN5bWJvbF9sb29rdXAgPSBOVUxMOwoK UG9pbnRsZXNzIGluaXRpYWxpemVyLgoKPiAgICAgIG5hbWVidWZbS1NZTV9OQU1FX0xFTl0gPSAw Owo+ICAgICAgbmFtZWJ1ZlswXSA9IDA7Cj4gIAo+IC0gICAgaWYgKCFpc19hY3RpdmVfa2VybmVs X3RleHQoYWRkcikpCj4gKyAgICBpZiAoIV9faXNfYWN0aXZlX2tlcm5lbF90ZXh0KGFkZHIsICZz eW1ib2xfbG9va3VwKSkKPiAgICAgICAgICByZXR1cm4gTlVMTDsKPiAgCj4gKyAgICBpZiAoc3lt Ym9sX2xvb2t1cCkKPiArICAgICAgICByZXR1cm4gKHN5bWJvbF9sb29rdXApKGFkZHIsIHN5bWJv bHNpemUsIG9mZnNldCwgbmFtZWJ1Zik7CgpOb3RlIHRoYXQgdGhlcmUgYXJlIGZldyBjb2Rpbmcg c3R5bGUgaXNzdWVzIGhlcmUgKG1pc3NpbmcgYmxhbmtzLApzdXBlcmZsdW91cyBwYXJlbnRoZXNl cykuCgo+IC0tLSAvZGV2L251bGwKPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vYnVnX2V4X3N5bWJv bHMuaAo+IEBAIC0wLDAgKzEsNzQgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IChjKSAyMDE2IE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4g KyAqLwo+ICsKPiArI2lmbmRlZiBfX0JVR19FWF9TWU1CT0xfTElTVF9fCj4gKyNkZWZpbmUgX19C VUdfRVhfU1lNQk9MX0xJU1RfXwo+ICsKPiArI2luY2x1ZGUgPHhlbi9jb25maWcuaD4KPiArI2lu Y2x1ZGUgPHhlbi9saXN0Lmg+Cj4gKyNpbmNsdWRlIDx4ZW4vc3ltYm9scy5oPgo+ICsKPiArI2lm ZGVmIENPTkZJR19YODYKPiArI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Cj4gKyNlbmRpZgoKV2h5 PwoKPiArI2luY2x1ZGUgPGFzbS9idWcuaD4KPiArCj4gK3N0cnVjdCB2aXJ0dWFsX3JlZ2lvbgo+ ICt7Cj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Cj4gKwo+ICsjZGVmaW5lIENIRUNLSU5H X1NZTUJPTCAgICAgICAgICgxPDwxKQo+ICsjZGVmaW5lIENIRUNLSU5HX0JVR19GUkFNRSAgICAg ICgxPDwyKQo+ICsjZGVmaW5lIENIRUNLSU5HX0VYQ0VQVElPTiAgICAgICgxPDwzKQo+ICsgICAg LyoKPiArICAgICAqIFdoZXRoZXIgdG8gc2tpcCB0aGlzIHJlZ2lvbiBmb3IgcGFydGljdWxhciBz ZWFyY2hlcy4gVGhlIGZsYWcKPiArICAgICAqIGNhbiBiZSBDSEVDS0lOR19bU1lNQk9MfEJVR19G UkFNRVN8RVhDRVBUSU9OXS4KPiArICAgICAqCj4gKyAgICAgKiBJZiB0aGUgZnVuY3Rpb24gcmV0 dXJucyAxIHRoaXMgcmVnaW9uIHdpbGwgYmUgc2tpcHBlZC4KPiArICAgICAqLwo+ICsgICAgYm9v bF90ICgqc2tpcCkodW5zaWduZWQgaW50IGZsYWcsIHVuc2lnbmVkIGxvbmcgcHJpdik7Cj4gKwo+ ICsgICAgdW5zaWduZWQgbG9uZyBzdGFydDsgICAgICAgIC8qIFZpcnR1YWwgYWRkcmVzcyBzdGFy dC4gKi8KPiArICAgIHVuc2lnbmVkIGxvbmcgZW5kOyAgICAgICAgICAvKiBWaXJ0dWFsIGFkZHJl c3Mgc3RhcnQuICovCj4gKwo+ICsgICAgLyoKPiArICAgICAqIElmIC0+c2tpcCByZXR1cm5zIGZh bHNlIGZvciBDSEVDS0lOR19TWU1CT0wgd2Ugd2lsbCB1c2UKPiArICAgICAqICdzeW1ib2xzX2xv b2t1cCcgY2FsbGJhY2sgdG8gcmV0cmlldmUgdGhlIG5hbWUgb2YgdGhlCj4gKyAgICAgKiBhZGRy IGJldHdlZW4gc3RhcnQgYW5kIGVuZC4gSWYgdGhpcyBpcyBOVUxMIHRoZQo+ICsgICAgICogZGVm YXVsdCBsb29rdXAgbWVjaGFuaXNtIGlzIHVzZWQgKHRoZSBza2lwIHZhbHVlIGlzCj4gKyAgICAg KiBpZ25vcmVkKS4KPiArICAgICAqLwo+ICsgICAgc3ltYm9sc19sb29rdXBfdCBzeW1ib2xzX2xv b2t1cDsKPiArCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIHN0cnVjdCBidWdfZnJhbWUgKmJ1 Z3M7IC8qIFRoZSBwb2ludGVyIHRvIGFycmF5IG9mIGJ1ZyBmcmFtZXMuICovCj4gKyAgICAgICAg c3NpemVfdCBuX2J1Z3M7ICAgICAgICAgLyogVGhlIG51bWJlciBvZiB0aGVtLiAqLwo+ICsgICAg fSBmcmFtZVtCVUdGUkFNRV9OUl07Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1g4Ngo+ICsgICAgc3Ry dWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqZXg7Cj4gKyAgICBzdHJ1Y3QgZXhjZXB0aW9uX3Rh YmxlX2VudHJ5ICpleF9lbmQ7Cj4gKyNlbmRpZgoKVGhlIGJ1ZyBmcmFtZSBhbmQgZXhjZXB0aW9u IHJlbGF0ZWQgZGF0YSBhcmUga2luZCBvZiBvZGQgdG8gYmUKcGxhY2VkIGluIGEgc3RydWN0dXJl IHdpdGggdGhpcyBuYW1lLiBXb3VsZCB0aGF0IG5vdCBiZXR0ZXIgYmUKYWNjZXNzZWQgdGhyb3Vn aCAuLi4KCj4gKyAgICB1bnNpZ25lZCBsb25nIHByaXY7ICAgICAgICAgLyogVG8gYmUgdXNlZCBi eSBhYm92ZSBmdW5jaW9udHMgaWYgbmVlZCB0by4gKi8KCi4uLiB0aGlzIGJ5IHRoZSBpbnRlcmVz dGVkIHBhcnRpZXM/CgpKYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==