From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v11 17/17] Xen: EFI: Parse DT parameters for Xen specific UEFI Date: Thu, 7 Apr 2016 20:03:34 +0800 Message-ID: <1460030614-16112-18-git-send-email-zhaoshenglong__26280.4467733533$1460031373$gmane$org@huawei.com> References: <1460030614-16112-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: <1460030614-16112-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, sstabellini@kernel.org 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, xen-devel@lists.xen.org, julien.grall@arm.com, david.vrabel@citrix.com, peter.huangpeng@huawei.com, shannon.zhao@linaro.org List-Id: xen-devel@lists.xenproject.org RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCkFkZCBhIG5ldyBm dW5jdGlvbiB0byBwYXJzZSBEVCBwYXJhbWV0ZXJzIGZvciBYZW4gc3BlY2lmaWMgVUVGSSBqdXN0 Cmxpa2UgdGhlIHdheSBmb3Igbm9ybWFsIFVFRkkuIFRoZW4gaXQgY291bGQgcmV1c2UgdGhlIGV4 aXN0aW5nIGNvZGVzLgoKSWYgWGVuIHN1cHBvcnRzIEVGSSwgaW5pdGlhbGl6ZSBydW50aW1lIHNl cnZpY2VzLgoKQ0M6IE1hdHQgRmxlbWluZyA8bWF0dEBjb2RlYmx1ZXByaW50LmNvLnVrPgpTaWdu ZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgpSZXZpZXdl ZC1ieTogTWF0dCBGbGVtaW5nIDxtYXR0QGNvZGVibHVlcHJpbnQuY28udWs+ClJldmlld2VkLWJ5 OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgot LS0KIGFyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyAgICAgICAgICAgfCAgNiArKysrKwogZHJpdmVy cy9maXJtd2FyZS9lZmkvYXJtLXJ1bnRpbWUuYyB8IDE3ICsrKysrKysrKy0tLS0tCiBkcml2ZXJz L2Zpcm13YXJlL2VmaS9lZmkuYyAgICAgICAgIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgMTIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jIGIvYXJjaC9h cm0veGVuL2VubGlnaHRlbi5jCmluZGV4IDEzZTNlOWYuLmUxMzA1NjIgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYworKysgYi9hcmNoL2FybS94ZW4vZW5saWdodGVuLmMKQEAg LTI2MSw2ICsyNjEsMTIgQEAgc3RhdGljIGludCBfX2luaXQgZmR0X2ZpbmRfaHlwZXJfbm9kZSh1 bnNpZ25lZCBsb25nIG5vZGUsIGNvbnN0IGNoYXIgKnVuYW1lLAogCSAgICAhc3RybmNtcChoeXBl cl9ub2RlLnByZWZpeCwgcywgc3RybGVuKGh5cGVyX25vZGUucHJlZml4KSkpCiAJCWh5cGVyX25v ZGUudmVyc2lvbiA9IHMgKyBzdHJsZW4oaHlwZXJfbm9kZS5wcmVmaXgpOwogCisJaWYgKElTX0VO QUJMRUQoQ09ORklHX1hFTl9FRkkpKSB7CisJCS8qIENoZWNrIGlmIFhlbiBzdXBwb3J0cyBFRkkg Ki8KKwkJaWYgKG9mX2dldF9mbGF0X2R0X3N1Ym5vZGVfYnlfbmFtZShub2RlLCAidWVmaSIpID4g MCkKKwkJCXNldF9iaXQoRUZJX1BBUkFWSVJULCAmZWZpLmZsYWdzKTsKKwl9CisKIAlyZXR1cm4g MDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9lZmkvYXJtLXJ1bnRpbWUuYyBi L2RyaXZlcnMvZmlybXdhcmUvZWZpL2FybS1ydW50aW1lLmMKaW5kZXggNmFlMjFlNC4uYWM2MDli OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9lZmkvYXJtLXJ1bnRpbWUuYworKysgYi9k cml2ZXJzL2Zpcm13YXJlL2VmaS9hcm0tcnVudGltZS5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5j bHVkZSA8YXNtL21tdS5oPgogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNt L3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20veGVuL3hlbi1vcHMuaD4KIAogZXh0ZXJuIHU2NCBl Zmlfc3lzdGVtX3RhYmxlOwogCkBAIC0xMDcsMTMgKzEwOCwxOSBAQCBzdGF0aWMgaW50IF9faW5p dCBhcm1fZW5hYmxlX3J1bnRpbWVfc2VydmljZXModm9pZCkKIAl9CiAJc2V0X2JpdChFRklfU1lT VEVNX1RBQkxFUywgJmVmaS5mbGFncyk7CiAKLQlpZiAoIWVmaV92aXJ0bWFwX2luaXQoKSkgewot CQlwcl9lcnIoIk5vIFVFRkkgdmlydHVhbCBtYXBwaW5nIHdhcyBpbnN0YWxsZWQgLS0gcnVudGlt ZSBzZXJ2aWNlcyB3aWxsIG5vdCBiZSBhdmFpbGFibGVcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsK KwlpZiAoSVNfRU5BQkxFRChDT05GSUdfWEVOX0VGSSkgJiYgZWZpX2VuYWJsZWQoRUZJX1BBUkFW SVJUKSkgeworCQkvKiBTZXQgdXAgcnVudGltZSBzZXJ2aWNlcyBmdW5jdGlvbiBwb2ludGVycyBm b3IgWGVuIERvbTAgKi8KKwkJeGVuX2VmaV9ydW50aW1lX3NldHVwKCk7CisJfSBlbHNlIHsKKwkJ aWYgKCFlZmlfdmlydG1hcF9pbml0KCkpIHsKKwkJCXByX2VycigiTm8gVUVGSSB2aXJ0dWFsIG1h cHBpbmcgd2FzIGluc3RhbGxlZCAtLSBydW50aW1lIHNlcnZpY2VzIHdpbGwgbm90IGJlIGF2YWls YWJsZVxuIik7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCisJCS8qIFNldCB1cCBydW50aW1l IHNlcnZpY2VzIGZ1bmN0aW9uIHBvaW50ZXJzICovCisJCWVmaV9uYXRpdmVfcnVudGltZV9zZXR1 cCgpOwogCX0KIAotCS8qIFNldCB1cCBydW50aW1lIHNlcnZpY2VzIGZ1bmN0aW9uIHBvaW50ZXJz ICovCi0JZWZpX25hdGl2ZV9ydW50aW1lX3NldHVwKCk7CiAJc2V0X2JpdChFRklfUlVOVElNRV9T RVJWSUNFUywgJmVmaS5mbGFncyk7CiAKIAllZmkucnVudGltZV92ZXJzaW9uID0gZWZpLnN5c3Rh Yi0+aGRyLnJldmlzaW9uOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9lZmkvZWZpLmMg Yi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9lZmkuYwppbmRleCAzYTY5ZWQ1Li41MTljMDk2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9lZmkuYworKysgYi9kcml2ZXJzL2Zpcm13YXJl L2VmaS9lZmkuYwpAQCAtNDY5LDEyICs0NjksMTQgQEAgZGV2aWNlX2luaXRjYWxsKGVmaV9sb2Fk X2VmaXZhcnMpOwogCQlGSUVMRF9TSVpFT0Yoc3RydWN0IGVmaV9mZHRfcGFyYW1zLCBmaWVsZCkg XAogCX0KIAotc3RhdGljIF9faW5pdGRhdGEgc3RydWN0IHsKK3N0cnVjdCBwYXJhbXMgewogCWNv bnN0IGNoYXIgbmFtZVszMl07CiAJY29uc3QgY2hhciBwcm9wbmFtZVszMl07CiAJaW50IG9mZnNl dDsKIAlpbnQgc2l6ZTsKLX0gZHRfcGFyYW1zW10gPSB7Cit9OworCitzdGF0aWMgc3RydWN0IHBh cmFtcyBmZHRfcGFyYW1zW10gX19pbml0ZGF0YSA9IHsKIAlVRUZJX1BBUkFNKCJTeXN0ZW0gVGFi bGUiLCAibGludXgsdWVmaS1zeXN0ZW0tdGFibGUiLCBzeXN0ZW1fdGFibGUpLAogCVVFRklfUEFS QU0oIk1lbU1hcCBBZGRyZXNzIiwgImxpbnV4LHVlZmktbW1hcC1zdGFydCIsIG1tYXApLAogCVVF RklfUEFSQU0oIk1lbU1hcCBTaXplIiwgImxpbnV4LHVlZmktbW1hcC1zaXplIiwgbW1hcF9zaXpl KSwKQEAgLTQ4MiwyNCArNDg0LDQ1IEBAIHN0YXRpYyBfX2luaXRkYXRhIHN0cnVjdCB7CiAJVUVG SV9QQVJBTSgiTWVtTWFwIERlc2MuIFZlcnNpb24iLCAibGludXgsdWVmaS1tbWFwLWRlc2MtdmVy IiwgZGVzY192ZXIpCiB9OwogCitzdGF0aWMgc3RydWN0IHBhcmFtcyB4ZW5fZmR0X3BhcmFtc1td IF9faW5pdGRhdGEgPSB7CisJVUVGSV9QQVJBTSgiU3lzdGVtIFRhYmxlIiwgInhlbix1ZWZpLXN5 c3RlbS10YWJsZSIsIHN5c3RlbV90YWJsZSksCisJVUVGSV9QQVJBTSgiTWVtTWFwIEFkZHJlc3Mi LCAieGVuLHVlZmktbW1hcC1zdGFydCIsIG1tYXApLAorCVVFRklfUEFSQU0oIk1lbU1hcCBTaXpl IiwgInhlbix1ZWZpLW1tYXAtc2l6ZSIsIG1tYXBfc2l6ZSksCisJVUVGSV9QQVJBTSgiTWVtTWFw IERlc2MuIFNpemUiLCAieGVuLHVlZmktbW1hcC1kZXNjLXNpemUiLCBkZXNjX3NpemUpLAorCVVF RklfUEFSQU0oIk1lbU1hcCBEZXNjLiBWZXJzaW9uIiwgInhlbix1ZWZpLW1tYXAtZGVzYy12ZXIi LCBkZXNjX3ZlcikKK307CisKIHN0cnVjdCBwYXJhbV9pbmZvIHsKIAlpbnQgZm91bmQ7CiAJdm9p ZCAqcGFyYW1zOworCXN0cnVjdCBwYXJhbXMgKmR0X3BhcmFtczsKKwlpbnQgc2l6ZTsKIH07CiAK IHN0YXRpYyBpbnQgX19pbml0IGZkdF9maW5kX3VlZmlfcGFyYW1zKHVuc2lnbmVkIGxvbmcgbm9k ZSwgY29uc3QgY2hhciAqdW5hbWUsCiAJCQkJICAgICAgIGludCBkZXB0aCwgdm9pZCAqZGF0YSkK IHsKIAlzdHJ1Y3QgcGFyYW1faW5mbyAqaW5mbyA9IGRhdGE7CisJc3RydWN0IHBhcmFtcyAqZHRf cGFyYW1zID0gaW5mby0+ZHRfcGFyYW1zOwogCWNvbnN0IHZvaWQgKnByb3A7CiAJdm9pZCAqZGVz dDsKIAl1NjQgdmFsOwotCWludCBpLCBsZW47CisJaW50IGksIGxlbiwgb2Zmc2V0OwogCi0JaWYg KGRlcHRoICE9IDEgfHwgc3RyY21wKHVuYW1lLCAiY2hvc2VuIikgIT0gMCkKLQkJcmV0dXJuIDA7 CisJaWYgKGVmaV9lbmFibGVkKEVGSV9QQVJBVklSVCkpIHsKKwkJaWYgKGRlcHRoICE9IDEgfHwg c3RyY21wKHVuYW1lLCAiaHlwZXJ2aXNvciIpICE9IDApCisJCQlyZXR1cm4gMDsKIAotCWZvciAo aSA9IDA7IGkgPCBBUlJBWV9TSVpFKGR0X3BhcmFtcyk7IGkrKykgeworCQlvZmZzZXQgPSBvZl9n ZXRfZmxhdF9kdF9zdWJub2RlX2J5X25hbWUobm9kZSwgInVlZmkiKTsKKwkJaWYgKG9mZnNldCA8 IDApCisJCQlyZXR1cm4gMDsKKwkJbm9kZSA9IG9mZnNldDsKKwl9IGVsc2UgeworCQlpZiAoZGVw dGggIT0gMSB8fCBzdHJjbXAodW5hbWUsICJjaG9zZW4iKSAhPSAwKQorCQkJcmV0dXJuIDA7CisJ fQorCisJZm9yIChpID0gMDsgaSA8IGluZm8tPnNpemU7IGkrKykgewogCQlwcm9wID0gb2ZfZ2V0 X2ZsYXRfZHRfcHJvcChub2RlLCBkdF9wYXJhbXNbaV0ucHJvcG5hbWUsICZsZW4pOwogCQlpZiAo IXByb3ApCiAJCQlyZXR1cm4gMDsKQEAgLTUzMCwxMiArNTUzLDIwIEBAIGludCBfX2luaXQgZWZp X2dldF9mZHRfcGFyYW1zKHN0cnVjdCBlZmlfZmR0X3BhcmFtcyAqcGFyYW1zKQogCWluZm8uZm91 bmQgPSAwOwogCWluZm8ucGFyYW1zID0gcGFyYW1zOwogCisJaWYgKGVmaV9lbmFibGVkKEVGSV9Q QVJBVklSVCkpIHsKKwkJaW5mby5kdF9wYXJhbXMgPSB4ZW5fZmR0X3BhcmFtczsKKwkJaW5mby5z aXplID0gQVJSQVlfU0laRSh4ZW5fZmR0X3BhcmFtcyk7CisJfSBlbHNlIHsKKwkJaW5mby5kdF9w YXJhbXMgPSBmZHRfcGFyYW1zOworCQlpbmZvLnNpemUgPSBBUlJBWV9TSVpFKGZkdF9wYXJhbXMp OworCX0KKwogCXJldCA9IG9mX3NjYW5fZmxhdF9kdChmZHRfZmluZF91ZWZpX3BhcmFtcywgJmlu Zm8pOwogCWlmICghaW5mby5mb3VuZCkKIAkJcHJfaW5mbygiVUVGSSBub3QgZm91bmQuXG4iKTsK IAllbHNlIGlmICghcmV0KQogCQlwcl9lcnIoIkNhbid0IGZpbmQgJyVzJyBpbiBkZXZpY2UgdHJl ZSFcbiIsCi0JCSAgICAgICBkdF9wYXJhbXNbaW5mby5mb3VuZF0ubmFtZSk7CisJCSAgICAgICBp bmZvLmR0X3BhcmFtc1tpbmZvLmZvdW5kXS5uYW1lKTsKIAogCXJldHVybiByZXQ7CiB9Ci0tIAoy LjAuNAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=