From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH for-4.9] xen/arm: acpi: Map MMIO on fault in stage-2 page table for the hardware domain Date: Thu, 30 Mar 2017 13:43:06 +0100 Message-ID: <20170330124306.17357-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Julien Grall , sstabellini@kernel.org, shankerd@qti.qualcomm.com List-Id: xen-devel@lists.xenproject.org V2hlbiBib290aW5nIHVzaW5nIEFDUEksIG5vdCBhbGwgTU1JT3MgY2FuIGJlIGRpc2NvdmVyZWQg YnkgcGFyc2luZyB0aGUKc3RhdGljIHRhYmxlcyBvciB0aGUgVUVGSSBtZW1vcnkgbWFwLiBBIGxv dCBvZiB0aGVtIHdpbGwgYmUgZGVzY3JpYmVkIGluCnRoZSBEU0RULiBIb3dldmVyLCBYZW4gZG9l cyBub3QgaGF2ZSBhbiBBTUwgcGFyc2VyIHdoaWNoIHJlcXVpcmVzIHVzIHRvCmZpbmQgYSBkaWZm ZXJlbnQgYXBwcm9hY2guCgpEdXJpbmcgdGhlIGZpcnN0IGRpc2N1c3Npb25zIG9uIHN1cHBvcnRp bmcgQUNQSSAoc2VlIGRlc2lnbiBkb2MgWzFdKSwgaXQKd2FzIGRlY2lkZWQgdG8gcmVseSBvbiB0 aGUgaGFyZHdhcmUgZG9tYWluIHRvIG1ha2UgYSByZXF1ZXN0IHRvIHRoZQpoeXBlcnZpc29yIHRv IG1hcCB0aGUgTU1JTyByZWdpb24gaW4gc3RhZ2UtMiBwYWdlIHRhYmxlIGJlZm9yZSBhY2Nlc3Np bmcKaXQuIFRoaXMgYXBwcm9hY2ggd29ya3MgZmluZSBpZiB0aGUgT1MgaGFzIGxpbWl0ZWQgaG9v a3MgdG8gbW9kaWZ5IHRoZQpwYWdlIHRhYmxlcy4KCkluIHRoZSBjYXNlIG9mIExpbnV4IGtlcm5l bCwgbm90aWZpZXJzIGhhdmUgYmVlbiBhZGRlZCB0byBtYXAKdGhlIE1NSU8gcmVnaW9ucyB3aGVu IGFkZGluZyBhIG5ldyBBTUJBL3BsYXRmb3JtIGRldmljZS4gV2hpbHN0IHRoaXMgaXMKY292ZXJp bmcgbW9zdCBvZiB0aGUgTU1JT3MsIHNvbWUgb2YgdGhlbSAoZS5nIE9wUmVnaW9uLCBFQ0FNLi4u KSBhcmUgbm90CnJlbGF0ZWQgdG8gYSBzcGVjaWZpYyBkZXZpY2Ugb3IgdGhlIGRyaXZlciBpcyBu b3QgdXNpbmcgdGhlCkFNQkEvcGxhdGZvcm0gQVBJLiBTbyBtb3JlIGhvb2tzIHdvdWxkIG5lZWQg dG8gYmUgYWRkZWQgaW4gdGhlIGNvZGUuCgpWYXJpb3VzIGFwcHJvYWNoZXMgaGF2ZSBiZWVuIGRp c2N1c3NlZCAoc2VlIFsyXSksIG9uZSBvZiB0aGVtIHdhcyB0bwpjcmVhdGUgc3RhZ2UtMiBtYXBw aW5ncyBzZWFtbGVzc2x5IGluIFhlbiB1cG9uIGhhcmR3YXJlIG1lbW9yeSBmYXVsdHMuClRoaXMg YXBwcm9hY2ggd2FzIGZpcnN0IHJ1bGVkIG91dCBiZWNhdXNlIGl0IHJlbGllcyBvbiB0aGUgaGFy ZHdhcmUKZG9tYWluIHRvIHByb2JlIHRoZSByZWdpb24gYmVmb3JlIGFueSB1c2UuIFNvIHRoaXMg d291bGQgbm90IHdvcmsgd2hlbgpETUEnaW5nIHRvIGFub3RoZXIgZGV2aWNlJ3MgTU1JTyByZWdp b24gd2hlbiB0aGUgZGV2aWNlIGlzIHByb3RlY3RlZCBieQphbiBTTU1VLiBJdCBoYXMgYmVlbiBw b2ludGVkIG91dCB0aGF0IHRoaXMgaXMgYSBsaW1pdGVkIHVzZSBjYXNlIGNvbXBhcmUKdG8gRE1B J2luZyBiZXR3ZWVuIE1NSU8gYW5kIFJBTS4KClRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGlzIGFw cHJvYWNoLiBBbGwgTU1JT3MgcmVnaW9uIHdpbGwgYmUgbWFwcGVkIGluCnN0YWdlLTIgdXNpbmcg cDJtX21taW9fZGlyZWN0X2MgKGkuZSBub3JtYWwgbWVtb3J5IG91dGVyIGFuZCBpbm5lcgp3cml0 ZS1iYWNrIGNhY2hlYWJsZSkuIFRoZSBzdGFnZS0xIHBhZ2UgdGFibGUgd2lsbCBiZSBpbiBjb250 cm9sIG9mIHRoZQptZW1vcnkgYXR0cmlidXRlLiBUaGlzIGlzIGZpbmUgYmVjYXVzZSB0aGUgaGFy ZHdhcmUgZG9tYWluIGlzIGEgdHJ1c3RlZApkb21haW4uCgpOb3RlIHRoYXQgTU1JTyB3aWxsIG9u bHkgYmUgbWFwcGVkIG9uIGEgZGF0YSBhYm9ydCBmYXVsdC4gSXQgaXMgYXNzdW1lZAp0aGF0IGl0 IHdpbGwgbm90IGJlIHBvc3NpYmxlIHRvIGV4ZWN1dGUgY29kZSBmcm9tIE1NSU8KKHAybV9tbWlv X2RpcmVjdF9jIHdpbGwgZm9yYmlkIHRoYXQpLgoKQXMgbWVudGlvbmVkIGFib3ZlLCB0aGlzIHNv bHV0aW9uIHdpbGwgY292ZXIgbW9zdCBvZiB0aGUgY2FzZXMuIElmIGEKcGxhdGZvcm0gcmVxdWly ZXMgdG8gZG8gRE1BJ2luZyB0byBhbm90aGVyIGRldmljZSdzIE1NSU8gcmVnaW9uIHdpdGhvdXQK YW55IGFjY2VzcyBwZXJmb3JtZWQgYnkgdGhlIE9TLiBUaGVuIGl0IHdpbGwgYmUgZXhwZWN0ZWQg dG8gaGF2ZQpzcGVjaWZpYyBwbGF0Zm9ybSBjb2RlIGluIHRoZSBoeXBlcnZpc29yIHRvIG1hcCB0 aGUgTU1JTyBhdCBib290IHRpbWUgb3IKdGhlIE9TIHRvIHVzZSB0aGUgZXhpc3RpbmcgaHlwZXJj YWxscyAoaS5lIFhFTk1FTV9hZGRfdG9fYWRkX3BoeXNtYXB7LF9iYXRjaH0pCmJlZm9yZSBhbnkg YWNjZXNzLgoKWzFdIGh0dHBzOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZl bC8yMDE1LTExL21zZzAwNDg4Lmh0bWwKWzJdIGh0dHBzOi8vbWFyYy5pbmZvLz9sPWxpbnV4LWFy bS1rZXJuZWwmbT0xNDg0NjkxNjkyMTA1MDAmdz0yCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3Jh bGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKLS0tCiAgICBUaGlzIHBhdGNoIGlzIGEgY2FuZGlk YXRlIGZvciBYZW4gNC45LiBXaGlsc3QgdGhlIGxhc3QgcG9zdGluZyBkYXRlCiAgICB3YXMgZmV3 IGRheXMgYWdvLCBJIHRoaW5rIGl0IHdvdWxkIGJlIGdvb2QgdG8gaGF2ZSB0aGlzIHBhdGNoIGlu IHRoZQogICAgbmV4dCByZWxlYXNlLiBBbHRob3VnaCBBQ1BJIHN1cHBvcnQgZm9yIEFSTTY0IGlz IHN0aWxsIGEgdGVjaG5pY2FsCiAgICBwcmV2aWV3LCBpdCB3b3VsZCBoZWxwIHNlcnZlcnMgdG8g dGVzdCBYZW4gdXBzdHJlYW0gb24gdGhlaXIgcGxhdGZvcm0KICAgIHdpdGggQUNQSSBhbmQgcHJv dmlkZSBmZWVkYmFjayBvbiBtaXNzaW5nIGZlYXR1cmVzLgoKICAgIEFsbCB0aGUgY29kZSBpcyBn YXRlZCBieSAhYWNwaV9kaXNhYmxlZCBhbmQgdGhlcmVmb3JlIHdpbGwgbm90IGJlCiAgICBleGVj dXRlZCBvbiB3aGVuIHVzaW5nIERldmljZSBUcmVlLgoKICAgIFJNIGhhdCBvbjogSSB3aWxsIGxl YXZlIHRoZSBkZWNpc2lvbiB0byBTdGVmYW5vLgoKICAgIFNoYW5rZXI6IFlvdSBtZW50aW9uZWQg b2ZmbGluZSB0aGF0IHlvdSB0ZXN0ZWQgdGhlIHBhdGNoLiBNYXkgSSBhZGQKICAgIHlvdXIgdGVz dGVkLWJ5PwoKLS0tCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyB8IDM0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRl eCA2MTQ1MDFmNzYxLi5lYmY5MTViYjNiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMu YworKysgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg PHhlbi9wZXJmYy5oPgogI2luY2x1ZGUgPHhlbi92aXJ0dWFsX3JlZ2lvbi5oPgogI2luY2x1ZGUg PHhlbi9tZW1fYWNjZXNzLmg+CisjaW5jbHVkZSA8eGVuL2lvY2FwLmg+CiAjaW5jbHVkZSA8cHVi bGljL3NjaGVkLmg+CiAjaW5jbHVkZSA8cHVibGljL3hlbi5oPgogI2luY2x1ZGUgPGFzbS9kZWJ1 Z2dlci5oPgpAQCAtNDksNiArNTAsNyBAQAogI2luY2x1ZGUgPGFzbS9naWMuaD4KICNpbmNsdWRl IDxhc20vdmdpYy5oPgogI2luY2x1ZGUgPGFzbS9jcHVlcnJhdGEuaD4KKyNpbmNsdWRlIDxhc20v YWNwaS5oPgogCiAvKiBUaGUgYmFzZSBvZiB0aGUgc3RhY2sgbXVzdCBhbHdheXMgYmUgZG91Ymxl LXdvcmQgYWxpZ25lZCwgd2hpY2ggbWVhbnMKICAqIHRoYXQgYm90aCB0aGUga2VybmVsIGhhbGYg b2Ygc3RydWN0IGNwdV91c2VyX3JlZ3MgKHdoaWNoIGlzIHB1c2hlZCBpbgpAQCAtMjUzNCw2ICsy NTM2LDM1IEBAIHN0YXRpYyBib29sIHRyeV9oYW5kbGVfbW1pbyhzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncywKICAgICByZXR1cm4gISFoYW5kbGVfbW1pbyhpbmZvKTsKIH0KIAorLyoKKyAqIFdo ZW4gdXNpbmcgQUNQSSwgbW9zdCBvZiB0aGUgTU1JTyByZWdpb25zIHdpbGwgYmUgbWFwcGVkIG9u LWRlbWFuZAorICogaW4gc3RhZ2UtMiBwYWdlIHRhYmxlcyBmb3IgdGhlIGhhcmR3YXJlIGRvbWFp biBiZWNhdXNlIFhlbiBpcyBub3QKKyAqIGFibGUgdG8ga25vdyBmcm9tIHRoZSBFRkkgbWVtb3J5 IG1hcCB0aGUgTU1JTyByZWdpb25zLgorICovCitzdGF0aWMgYm9vbCB0cnlfbWFwX21taW8oZ2Zu X3QgZ2ZuKQoreworICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47CisKKyAg ICAvKiBGb3IgdGhlIGhhcmR3YXJlIGRvbWFpbiwgYWxsIE1NSU9zIGFyZSBtYXBwZWQgd2l0aCBH Rk4gPT0gTUZOICovCisgICAgbWZuX3QgbWZuID0gX21mbihnZm5feChnZm4pKTsKKworICAgIC8q CisgICAgICogRGV2aWNlLVRyZWUgc2hvdWxkIGFscmVhZHkgaGF2ZSBldmVyeXRoaW5nIG1hcHBl ZCB3aGVuIGJ1aWxkaW5nCisgICAgICogdGhlIGhhcmR3YXJlIGRvbWFpbi4KKyAgICAgKi8KKyAg ICBpZiAoIGFjcGlfZGlzYWJsZWQgKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo IGQgIT0gaGFyZHdhcmVfZG9tYWluICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLyog VGhlIGhhcmR3YXJlIGRvbWFpbiBjYW4gb25seSBtYXAgcGVybWl0dGVkIE1NSU8gcmVnaW9ucyAq LworICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuX3gobWZuKSwgbWZuX3go bWZuKSArIDEpICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuICFtYXBfcmVn aW9uc19wMm10KGQsIGdmbiwgMSwgbWZuLCBwMm1fbW1pb19kaXJlY3RfYyk7Cit9CisKIHN0YXRp YyB2b2lkIGRvX3RyYXBfZGF0YV9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bmlvbiBoc3Ig aHNyKQogewpAQCAtMjYxMSw2ICsyNjQyLDkgQEAgc3RhdGljIHZvaWQgZG9fdHJhcF9kYXRhX2Fi b3J0X2d1ZXN0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICBpZiAoICFtZm5f ZXEobWZuLCBJTlZBTElEX01GTikgKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIGlm ICggdHJ5X21hcF9tbWlvKF9nZm4ocGFkZHJfdG9fcGZuKGluZm8uZ3BhKSkpICkKKyAgICAgICAg ICAgIHJldHVybjsKKwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBncHJp bnRrKFhFTkxPR19XQVJOSU5HLCAiVW5zdXBwb3J0ZWQgREZTQzogSFNSPSUjeCBERlNDPSUjeFxu IiwKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=