From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 17/17] Xen: EFI: Parse DT parameters for Xen specific UEFI Date: Thu, 24 Mar 2016 22:44:36 +0800 Message-ID: <1458830676-27075-18-git-send-email-shannon.zhao__25078.6859695383$1458830996$gmane$org@linaro.org> References: <1458830676-27075-1-git-send-email-shannon.zhao@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458830676-27075-1-git-send-email-shannon.zhao@linaro.org> 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, linux-efi@vger.kernel.org, Matt Fleming , catalin.marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, peter.huangpeng@huawei.com, julien.grall@arm.com, shannon.zhao@linaro.org, zhaoshenglong@huawei.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHBhcnNlIERUIHBhcmFtZXRlcnMgZm9yIFhlbiBzcGVjaWZp YyBVRUZJIGp1c3QKbGlrZSB0aGUgd2F5IGZvciBub3JtYWwgVUVGSS4gVGhlbiBpdCBjb3VsZCBy ZXVzZSB0aGUgZXhpc3RpbmcgY29kZXMuCgpJZiBYZW4gc3VwcG9ydHMgRUZJLCBpbml0aWFsaXpl IHJ1bnRpbWUgc2VydmljZXMuCgpDQzogTWF0dCBGbGVtaW5nIDxtYXR0QGNvZGVibHVlcHJpbnQu Y28udWs+ClNpZ25lZC1vZmYtYnk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFyby5v cmc+ClJldmlld2VkLWJ5OiBNYXR0IEZsZW1pbmcgPG1hdHRAY29kZWJsdWVwcmludC5jby51az4K UmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNp dHJpeC5jb20+Ci0tLQogYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jICAgICAgICAgICB8ICA2ICsr KysrCiBkcml2ZXJzL2Zpcm13YXJlL2VmaS9hcm0tcnVudGltZS5jIHwgMTcgKysrKysrKysrLS0t LS0KIGRyaXZlcnMvZmlybXdhcmUvZWZpL2VmaS5jICAgICAgICAgfCA0NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25z KCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS94ZW4vZW5saWdodGVu LmMgYi9hcmNoL2FybS94ZW4vZW5saWdodGVuLmMKaW5kZXggYzQzNjE3Zi4uOWQ1MjM0MmIgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYworKysgYi9hcmNoL2FybS94ZW4vZW5s aWdodGVuLmMKQEAgLTI2MSw2ICsyNjEsMTIgQEAgc3RhdGljIGludCBfX2luaXQgZmR0X2ZpbmRf aHlwZXJfbm9kZSh1bnNpZ25lZCBsb25nIG5vZGUsIGNvbnN0IGNoYXIgKnVuYW1lLAogCSAgICAh c3RybmNtcChoeXBlcl9ub2RlLnByZWZpeCwgcywgc3RybGVuKGh5cGVyX25vZGUucHJlZml4KSkp CiAJCWh5cGVyX25vZGUudmVyc2lvbiA9IHMgKyBzdHJsZW4oaHlwZXJfbm9kZS5wcmVmaXgpOwog CisJaWYgKElTX0VOQUJMRUQoQ09ORklHX1hFTl9FRkkpKSB7CisJCS8qIENoZWNrIGlmIFhlbiBz dXBwb3J0cyBFRkkgKi8KKwkJaWYgKG9mX2dldF9mbGF0X2R0X3N1Ym5vZGVfYnlfbmFtZShub2Rl LCAidWVmaSIpID4gMCkKKwkJCXNldF9iaXQoRUZJX1BBUkFWSVJULCAmZWZpLmZsYWdzKTsKKwl9 CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9lZmkvYXJt LXJ1bnRpbWUuYyBiL2RyaXZlcnMvZmlybXdhcmUvZWZpL2FybS1ydW50aW1lLmMKaW5kZXggNmFl MjFlNC4uYWM2MDliOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9lZmkvYXJtLXJ1bnRp bWUuYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9hcm0tcnVudGltZS5jCkBAIC0yNyw2ICsy Nyw3IEBACiAjaW5jbHVkZSA8YXNtL21tdS5oPgogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAj aW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20veGVuL3hlbi1vcHMuaD4KIAog ZXh0ZXJuIHU2NCBlZmlfc3lzdGVtX3RhYmxlOwogCkBAIC0xMDcsMTMgKzEwOCwxOSBAQCBzdGF0 aWMgaW50IF9faW5pdCBhcm1fZW5hYmxlX3J1bnRpbWVfc2VydmljZXModm9pZCkKIAl9CiAJc2V0 X2JpdChFRklfU1lTVEVNX1RBQkxFUywgJmVmaS5mbGFncyk7CiAKLQlpZiAoIWVmaV92aXJ0bWFw X2luaXQoKSkgewotCQlwcl9lcnIoIk5vIFVFRkkgdmlydHVhbCBtYXBwaW5nIHdhcyBpbnN0YWxs ZWQgLS0gcnVudGltZSBzZXJ2aWNlcyB3aWxsIG5vdCBiZSBhdmFpbGFibGVcbiIpOwotCQlyZXR1 cm4gLUVOT01FTTsKKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfWEVOX0VGSSkgJiYgZWZpX2VuYWJs ZWQoRUZJX1BBUkFWSVJUKSkgeworCQkvKiBTZXQgdXAgcnVudGltZSBzZXJ2aWNlcyBmdW5jdGlv biBwb2ludGVycyBmb3IgWGVuIERvbTAgKi8KKwkJeGVuX2VmaV9ydW50aW1lX3NldHVwKCk7CisJ fSBlbHNlIHsKKwkJaWYgKCFlZmlfdmlydG1hcF9pbml0KCkpIHsKKwkJCXByX2VycigiTm8gVUVG SSB2aXJ0dWFsIG1hcHBpbmcgd2FzIGluc3RhbGxlZCAtLSBydW50aW1lIHNlcnZpY2VzIHdpbGwg bm90IGJlIGF2YWlsYWJsZVxuIik7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCisJCS8qIFNl dCB1cCBydW50aW1lIHNlcnZpY2VzIGZ1bmN0aW9uIHBvaW50ZXJzICovCisJCWVmaV9uYXRpdmVf cnVudGltZV9zZXR1cCgpOwogCX0KIAotCS8qIFNldCB1cCBydW50aW1lIHNlcnZpY2VzIGZ1bmN0 aW9uIHBvaW50ZXJzICovCi0JZWZpX25hdGl2ZV9ydW50aW1lX3NldHVwKCk7CiAJc2V0X2JpdChF RklfUlVOVElNRV9TRVJWSUNFUywgJmVmaS5mbGFncyk7CiAKIAllZmkucnVudGltZV92ZXJzaW9u ID0gZWZpLnN5c3RhYi0+aGRyLnJldmlzaW9uOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2Fy ZS9lZmkvZWZpLmMgYi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9lZmkuYwppbmRleCAyY2QzN2RhLi4x MzI4Y2I3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9lZmkuYworKysgYi9kcml2 ZXJzL2Zpcm13YXJlL2VmaS9lZmkuYwpAQCAtNTAwLDEyICs1MDAsMTQgQEAgZGV2aWNlX2luaXRj YWxsKGVmaV9sb2FkX2VmaXZhcnMpOwogCQlGSUVMRF9TSVpFT0Yoc3RydWN0IGVmaV9mZHRfcGFy YW1zLCBmaWVsZCkgXAogCX0KIAotc3RhdGljIF9faW5pdGRhdGEgc3RydWN0IHsKK3N0cnVjdCBw YXJhbXMgewogCWNvbnN0IGNoYXIgbmFtZVszMl07CiAJY29uc3QgY2hhciBwcm9wbmFtZVszMl07 CiAJaW50IG9mZnNldDsKIAlpbnQgc2l6ZTsKLX0gZHRfcGFyYW1zW10gPSB7Cit9OworCitzdGF0 aWMgc3RydWN0IHBhcmFtcyBmZHRfcGFyYW1zW10gX19pbml0ZGF0YSA9IHsKIAlVRUZJX1BBUkFN KCJTeXN0ZW0gVGFibGUiLCAibGludXgsdWVmaS1zeXN0ZW0tdGFibGUiLCBzeXN0ZW1fdGFibGUp LAogCVVFRklfUEFSQU0oIk1lbU1hcCBBZGRyZXNzIiwgImxpbnV4LHVlZmktbW1hcC1zdGFydCIs IG1tYXApLAogCVVFRklfUEFSQU0oIk1lbU1hcCBTaXplIiwgImxpbnV4LHVlZmktbW1hcC1zaXpl IiwgbW1hcF9zaXplKSwKQEAgLTUxMywyNCArNTE1LDQ1IEBAIHN0YXRpYyBfX2luaXRkYXRhIHN0 cnVjdCB7CiAJVUVGSV9QQVJBTSgiTWVtTWFwIERlc2MuIFZlcnNpb24iLCAibGludXgsdWVmaS1t bWFwLWRlc2MtdmVyIiwgZGVzY192ZXIpCiB9OwogCitzdGF0aWMgc3RydWN0IHBhcmFtcyB4ZW5f ZmR0X3BhcmFtc1tdIF9faW5pdGRhdGEgPSB7CisJVUVGSV9QQVJBTSgiU3lzdGVtIFRhYmxlIiwg Inhlbix1ZWZpLXN5c3RlbS10YWJsZSIsIHN5c3RlbV90YWJsZSksCisJVUVGSV9QQVJBTSgiTWVt TWFwIEFkZHJlc3MiLCAieGVuLHVlZmktbW1hcC1zdGFydCIsIG1tYXApLAorCVVFRklfUEFSQU0o Ik1lbU1hcCBTaXplIiwgInhlbix1ZWZpLW1tYXAtc2l6ZSIsIG1tYXBfc2l6ZSksCisJVUVGSV9Q QVJBTSgiTWVtTWFwIERlc2MuIFNpemUiLCAieGVuLHVlZmktbW1hcC1kZXNjLXNpemUiLCBkZXNj X3NpemUpLAorCVVFRklfUEFSQU0oIk1lbU1hcCBEZXNjLiBWZXJzaW9uIiwgInhlbix1ZWZpLW1t YXAtZGVzYy12ZXIiLCBkZXNjX3ZlcikKK307CisKIHN0cnVjdCBwYXJhbV9pbmZvIHsKIAlpbnQg Zm91bmQ7CiAJdm9pZCAqcGFyYW1zOworCXN0cnVjdCBwYXJhbXMgKmR0X3BhcmFtczsKKwlpbnQg c2l6ZTsKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IGZkdF9maW5kX3VlZmlfcGFyYW1zKHVuc2ln bmVkIGxvbmcgbm9kZSwgY29uc3QgY2hhciAqdW5hbWUsCiAJCQkJICAgICAgIGludCBkZXB0aCwg dm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgcGFyYW1faW5mbyAqaW5mbyA9IGRhdGE7CisJc3RydWN0 IHBhcmFtcyAqZHRfcGFyYW1zID0gaW5mby0+ZHRfcGFyYW1zOwogCWNvbnN0IHZvaWQgKnByb3A7 CiAJdm9pZCAqZGVzdDsKIAl1NjQgdmFsOwotCWludCBpLCBsZW47CisJaW50IGksIGxlbiwgb2Zm c2V0OwogCi0JaWYgKGRlcHRoICE9IDEgfHwgc3RyY21wKHVuYW1lLCAiY2hvc2VuIikgIT0gMCkK LQkJcmV0dXJuIDA7CisJaWYgKGVmaV9lbmFibGVkKEVGSV9QQVJBVklSVCkpIHsKKwkJaWYgKGRl cHRoICE9IDEgfHwgc3RyY21wKHVuYW1lLCAiaHlwZXJ2aXNvciIpICE9IDApCisJCQlyZXR1cm4g MDsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGR0X3BhcmFtcyk7IGkrKykgeworCQlv ZmZzZXQgPSBvZl9nZXRfZmxhdF9kdF9zdWJub2RlX2J5X25hbWUobm9kZSwgInVlZmkiKTsKKwkJ aWYgKG9mZnNldCA8IDApCisJCQlyZXR1cm4gMDsKKwkJbm9kZSA9IG9mZnNldDsKKwl9IGVsc2Ug eworCQlpZiAoZGVwdGggIT0gMSB8fCBzdHJjbXAodW5hbWUsICJjaG9zZW4iKSAhPSAwKQorCQkJ cmV0dXJuIDA7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGluZm8tPnNpemU7IGkrKykgewogCQlw cm9wID0gb2ZfZ2V0X2ZsYXRfZHRfcHJvcChub2RlLCBkdF9wYXJhbXNbaV0ucHJvcG5hbWUsICZs ZW4pOwogCQlpZiAoIXByb3ApCiAJCQlyZXR1cm4gMDsKQEAgLTU2MSwxMiArNTg0LDIwIEBAIGlu dCBfX2luaXQgZWZpX2dldF9mZHRfcGFyYW1zKHN0cnVjdCBlZmlfZmR0X3BhcmFtcyAqcGFyYW1z KQogCWluZm8uZm91bmQgPSAwOwogCWluZm8ucGFyYW1zID0gcGFyYW1zOwogCisJaWYgKGVmaV9l bmFibGVkKEVGSV9QQVJBVklSVCkpIHsKKwkJaW5mby5kdF9wYXJhbXMgPSB4ZW5fZmR0X3BhcmFt czsKKwkJaW5mby5zaXplID0gQVJSQVlfU0laRSh4ZW5fZmR0X3BhcmFtcyk7CisJfSBlbHNlIHsK KwkJaW5mby5kdF9wYXJhbXMgPSBmZHRfcGFyYW1zOworCQlpbmZvLnNpemUgPSBBUlJBWV9TSVpF KGZkdF9wYXJhbXMpOworCX0KKwogCXJldCA9IG9mX3NjYW5fZmxhdF9kdChmZHRfZmluZF91ZWZp X3BhcmFtcywgJmluZm8pOwogCWlmICghaW5mby5mb3VuZCkKIAkJcHJfaW5mbygiVUVGSSBub3Qg Zm91bmQuXG4iKTsKIAllbHNlIGlmICghcmV0KQogCQlwcl9lcnIoIkNhbid0IGZpbmQgJyVzJyBp biBkZXZpY2UgdHJlZSFcbiIsCi0JCSAgICAgICBkdF9wYXJhbXNbaW5mby5mb3VuZF0ubmFtZSk7 CisJCSAgICAgICBpbmZvLmR0X3BhcmFtc1tpbmZvLmZvdW5kXS5uYW1lKTsKIAogCXJldHVybiBy ZXQ7CiB9Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==