From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v9 01/17] Xen: ACPI: Hide UART used by Xen Date: Thu, 31 Mar 2016 19:23:29 +0800 Message-ID: <1459423425-1220-2-git-send-email-zhaoshenglong__21431.9533938125$1459423671$gmane$org@huawei.com> References: <1459423425-1220-1-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1459423425-1220-1-git-send-email-zhaoshenglong@huawei.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: linux-arm-kernel@lists.infradead.org, stefano.stabellini@citrix.com, david.vrabel@citrix.com Cc: devicetree@vger.kernel.org, sstabellini@kernel.org, "Rafael J. Wysocki" , catalin.marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, "open list:ACPI" , julien.grall@arm.com, linux-efi@vger.kernel.org, shannon.zhao@linaro.org, peter.huangpeng@huawei.com, Len Brown List-Id: xen-devel@lists.xenproject.org RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCkFDUEkgNi4wIGlu dHJvZHVjZXMgYSBuZXcgdGFibGUgU1RBTyB0byBsaXN0IHRoZSBkZXZpY2VzIHdoaWNoIGFyZSB1 c2VkCmJ5IFhlbiBhbmQgY2FuJ3QgYmUgdXNlZCBieSBEb20wLiBPbiBYZW4gdmlydHVhbCBwbGF0 Zm9ybXMsIHRoZSBwaHlzaWNhbApVQVJUIGlzIHVzZWQgYnkgWGVuLiBTbyBoZXJlIGl0IGhpZGVz IFVBUlQgZnJvbSBEb20wLgoKQ0M6ICJSYWZhZWwgSi4gV3lzb2NraSIgPHJqd0Byand5c29ja2ku bmV0PiAoc3VwcG9ydGVyOkFDUEkpCkNDOiBMZW4gQnJvd24gPGxlbmJAa2VybmVsLm9yZz4gKHN1 cHBvcnRlcjpBQ1BJKQpDQzogbGludXgtYWNwaUB2Z2VyLmtlcm5lbC5vcmcgKG9wZW4gbGlzdDpB Q1BJKQpTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3Jn PgotLS0KIGRyaXZlcnMvYWNwaS9zY2FuLmMgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDY5IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvc2Nhbi5jIGIvZHJpdmVycy9hY3BpL3Nj YW4uYwppbmRleCA1ZjI4Y2Y3Li4yOWYyNmZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvc2Nh bi5jCisrKyBiL2RyaXZlcnMvYWNwaS9zY2FuLmMKQEAgLTQ1LDYgKzQ1LDcgQEAgc3RhdGljIExJ U1RfSEVBRChhY3BpX3NjYW5faGFuZGxlcnNfbGlzdCk7CiBERUZJTkVfTVVURVgoYWNwaV9kZXZp Y2VfbG9jayk7CiBMSVNUX0hFQUQoYWNwaV93YWtldXBfZGV2aWNlX2xpc3QpOwogc3RhdGljIERF RklORV9NVVRFWChhY3BpX2hwX2NvbnRleHRfbG9jayk7CitzdGF0aWMgdTY0IHNwY3JfdWFydF9h ZGRyOwogCiBzdHJ1Y3QgYWNwaV9kZXBfZGF0YSB7CiAJc3RydWN0IGxpc3RfaGVhZCBub2RlOwpA QCAtMTQ1Myw2ICsxNDU0LDQyIEBAIHN0YXRpYyBpbnQgYWNwaV9hZGRfc2luZ2xlX29iamVjdChz dHJ1Y3QgYWNwaV9kZXZpY2UgKipjaGlsZCwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGFjcGlf c3RhdHVzIGFjcGlfZ2V0X3Jlc291cmNlX21lbW9yeShzdHJ1Y3QgYWNwaV9yZXNvdXJjZSAqYXJl cywKKwkJCQkJICAgIHZvaWQgKmNvbnRleHQpCit7CisJc3RydWN0IHJlc291cmNlICpyZXMgPSBj b250ZXh0OworCisJaWYgKGFjcGlfZGV2X3Jlc291cmNlX21lbW9yeShhcmVzLCByZXMpKQorCQly ZXR1cm4gQUVfQ1RSTF9URVJNSU5BVEU7CisKKwlyZXR1cm4gQUVfT0s7Cit9CisKK3N0YXRpYyBi b29sIGFjcGlfZGV2aWNlX3Nob3VsZF9iZV9oaWRkZW4oYWNwaV9oYW5kbGUgaGFuZGxlKQorewor CWFjcGlfc3RhdHVzIHN0YXR1czsKKwlzdHJ1Y3QgcmVzb3VyY2UgcmVzOworCisJLyogQ2hlY2sg aWYgaXQgc2hvdWxkIGlnbm9yZSB0aGUgVUFSVCBkZXZpY2UgKi8KKwlpZiAoc3Bjcl91YXJ0X2Fk ZHIgIT0gMCkgeworCQlpZiAoIWFjcGlfaGFzX21ldGhvZChoYW5kbGUsIE1FVEhPRF9OQU1FX19D UlMpKQorCQkJcmV0dXJuIGZhbHNlOworCisJCXN0YXR1cyA9IGFjcGlfd2Fsa19yZXNvdXJjZXMo aGFuZGxlLCBNRVRIT0RfTkFNRV9fQ1JTLAorCQkJCQkgICAgIGFjcGlfZ2V0X3Jlc291cmNlX21l bW9yeSwgJnJlcyk7CisJCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkKKwkJCXJldHVybiBmYWxz ZTsKKworCQlpZiAocmVzLnN0YXJ0ID09IHNwY3JfdWFydF9hZGRyKSB7CisJCQlwcmludGsoS0VS Tl9JTkZPIFBSRUZJWCAiVGhlIFVBUlQgZGV2aWNlIEAlcGEgaW4gU1BDUiB0YWJsZSB3aWxsIGJl IGhpZGRlblxuIiwKKwkJCSAgICAgICAmcmVzLnN0YXJ0KTsKKwkJCXJldHVybiB0cnVlOworCQl9 CisJfQorCisJcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMgaW50IGFjcGlfYnVzX3R5cGVfYW5k X3N0YXR1cyhhY3BpX2hhbmRsZSBoYW5kbGUsIGludCAqdHlwZSwKIAkJCQkgICAgdW5zaWduZWQg bG9uZyBsb25nICpzdGEpCiB7CkBAIC0xNDY2LDYgKzE1MDMsOSBAQCBzdGF0aWMgaW50IGFjcGlf YnVzX3R5cGVfYW5kX3N0YXR1cyhhY3BpX2hhbmRsZSBoYW5kbGUsIGludCAqdHlwZSwKIAlzd2l0 Y2ggKGFjcGlfdHlwZSkgewogCWNhc2UgQUNQSV9UWVBFX0FOWToJCS8qIGZvciBBQ1BJX1JPT1Rf T0JKRUNUICovCiAJY2FzZSBBQ1BJX1RZUEVfREVWSUNFOgorCQlpZiAoYWNwaV9kZXZpY2Vfc2hv dWxkX2JlX2hpZGRlbihoYW5kbGUpKQorCQkJcmV0dXJuIC1FTk9ERVY7CisKIAkJKnR5cGUgPSBB Q1BJX0JVU19UWVBFX0RFVklDRTsKIAkJc3RhdHVzID0gYWNwaV9idXNfZ2V0X3N0YXR1c19oYW5k bGUoaGFuZGxlLCBzdGEpOwogCQlpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpCkBAIC0xOTE2LDkg KzE5NTYsMjQgQEAgc3RhdGljIGludCBhY3BpX2J1c19zY2FuX2ZpeGVkKHZvaWQpCiAJcmV0dXJu IHJlc3VsdCA8IDAgPyByZXN1bHQgOiAwOwogfQogCitzdGF0aWMgdm9pZCBfX2luaXQgYWNwaV9n ZXRfc3Bjcl91YXJ0X2FkZHIodm9pZCkKK3sKKwlhY3BpX3N0YXR1cyBzdGF0dXM7CisJc3RydWN0 IGFjcGlfdGFibGVfc3BjciAqc3Bjcl9wdHI7CisKKwlzdGF0dXMgPSBhY3BpX2dldF90YWJsZShB Q1BJX1NJR19TUENSLCAwLAorCQkJCShzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKiopJnNwY3Jf cHRyKTsKKwlpZiAoQUNQSV9TVUNDRVNTKHN0YXR1cykpCisJCXNwY3JfdWFydF9hZGRyID0gc3Bj cl9wdHItPnNlcmlhbF9wb3J0LmFkZHJlc3M7CisJZWxzZQorCQlwcmludGsoS0VSTl9XQVJOSU5H IFBSRUZJWCAiU1RBTyB0YWJsZSBwcmVzZW50LCBidXQgU1BDUiBpcyBtaXNzaW5nXG4iKTsKK30K KwogaW50IF9faW5pdCBhY3BpX3NjYW5faW5pdCh2b2lkKQogewogCWludCByZXN1bHQ7CisJYWNw aV9zdGF0dXMgc3RhdHVzOworCXN0cnVjdCBhY3BpX3RhYmxlX3N0YW8gKnN0YW9fcHRyOwogCiAJ YWNwaV9wY2lfcm9vdF9pbml0KCk7CiAJYWNwaV9wY2lfbGlua19pbml0KCk7CkBAIC0xOTM0LDYg KzE5ODksMjAgQEAgaW50IF9faW5pdCBhY3BpX3NjYW5faW5pdCh2b2lkKQogCiAJYWNwaV9zY2Fu X2FkZF9oYW5kbGVyKCZnZW5lcmljX2RldmljZV9oYW5kbGVyKTsKIAorCS8qCisJICogSWYgdGhl cmUgaXMgU1RBTyB0YWJsZSwgY2hlY2sgd2hldGhlciBpdCBuZWVkcyB0byBpZ25vcmUgdGhlIFVB UlQKKwkgKiBkZXZpY2UgaW4gU1BDUiB0YWJsZS4KKwkgKi8KKwlzdGF0dXMgPSBhY3BpX2dldF90 YWJsZShBQ1BJX1NJR19TVEFPLCAwLAorCQkJCShzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKiop JnN0YW9fcHRyKTsKKwlpZiAoQUNQSV9TVUNDRVNTKHN0YXR1cykpIHsKKwkJaWYgKHN0YW9fcHRy LT5oZWFkZXIubGVuZ3RoID4gc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX3N0YW8pKQorCQkJcHJp bnRrKEtFUk5fSU5GTyBQUkVGSVggIlNUQU8gTmFtZSBMaXN0IG5vdCB5ZXQgc3VwcG9ydGVkLiIp OworCisJCWlmIChzdGFvX3B0ci0+aWdub3JlX3VhcnQpCisJCQlhY3BpX2dldF9zcGNyX3VhcnRf YWRkcigpOworCX0KKwogCW11dGV4X2xvY2soJmFjcGlfc2Nhbl9sb2NrKTsKIAkvKgogCSAqIEVu dW1lcmF0ZSBkZXZpY2VzIGluIHRoZSBBQ1BJIG5hbWVzcGFjZS4KLS0gCjIuMC40CgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==