From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v4 26/27] ARM: vITS: create ITS subnodes for Dom0 DT Date: Mon, 3 Apr 2017 21:28:28 +0100 Message-ID: <20170403202829.7278-27-andre.przywara@arm.com> References: <20170403202829.7278-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cv8Z3-0005VY-Mc for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 20:27:01 +0000 In-Reply-To: <20170403202829.7278-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RG9tMCBleHBlY3RzIGFsbCBJVFNlcyBpbiB0aGUgc3lzdGVtIHRvIGJlIHByb3BhZ2F0ZWQgdG8g YmUgYWJsZSB0bwp1c2UgTVNJcy4KQ3JlYXRlIERvbTAgRFQgbm9kZXMgZm9yIGVhY2ggaGFyZHdh cmUgSVRTLCBrZWVwaW5nIHRoZSByZWdpc3RlciBmcmFtZQphZGRyZXNzIHRoZSBzYW1lLCBhcyB0 aGUgZG9vcmJlbGwgYWRkcmVzcyB0aGF0IHRoZSBEb20wIGRyaXZlcnMgcHJvZ3JhbQppbnRvIHRo ZSBCQVJzIGhhcyB0byBtYXRjaCB0aGUgaGFyZHdhcmUuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZSBQ cnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vZ2ljLXYz LWl0cy5jICAgICAgICB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIHhlbi9hcmNoL2FybS9naWMtdjMuYyAgICAgICAgICAgIHwgIDQgKystCiB4ZW4vaW5jbHVk ZS9hc20tYXJtL2dpY192M19pdHMuaCB8IDEzICsrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgOTQg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9n aWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCmluZGV4IGY2MTFlMmYuLjEz YjIxYmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2dpYy12My1pdHMuYwpAQCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8eGVuL2xp Yi5oPgogI2luY2x1ZGUgPHhlbi9kZWxheS5oPgorI2luY2x1ZGUgPHhlbi9saWJmZHQvbGliZmR0 Lmg+CiAjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVkZSA8eGVuL3JidHJlZS5oPgogI2luY2x1 ZGUgPHhlbi9zY2hlZC5oPgpAQCAtODU5LDYgKzg2MCw4MyBAQCBpbnQgZ2ljdjNfbHBpX2NoYW5n ZV92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgZG9vcmJlbGwsCiAgICAgcmV0dXJuIDA7 CiB9CiAKKy8qCisgKiBDcmVhdGUgdGhlIHJlc3BlY3RpdmUgZ3Vlc3QgRFQgbm9kZXMgZm9yIGEg bGlzdCBvZiBob3N0IElUU2VzLgorICogVGhpcyBjb3BpZXMgdGhlIHJlZyBwcm9wZXJ0eSwgc28g dGhlIGd1ZXN0IHNlZXMgdGhlIElUUyBhdCB0aGUgc2FtZSBhZGRyZXNzCisgKiBhcyB0aGUgaG9z dC4KKyAqIEdpdmluZyBOVUxMIGZvciB0aGUgaXRzX2xpc3Qgd2lsbCBtYWtlIGl0IHVzZSB0aGUg bGlzdCBvZiBob3N0IElUU2VzLgorICovCitpbnQgZ2ljdjNfaXRzX21ha2VfZHRfbm9kZXMoc3Ry dWN0IGxpc3RfaGVhZCAqaXRzX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmdpYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICpmZHQpCit7CisgICAgdWludDMyX3QgbGVuOworICAgIGludCByZXM7CisgICAgY29uc3Qg dm9pZCAqcHJvcCA9IE5VTEw7CisgICAgY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICppdHMg PSBOVUxMOworICAgIGNvbnN0IHN0cnVjdCBob3N0X2l0cyAqaXRzX2RhdGE7CisKKyAgICBpZiAo ICFpdHNfbGlzdCApCisgICAgICAgIGl0c19saXN0ID0gJmhvc3RfaXRzX2xpc3Q7CisKKyAgICBp ZiAoIGxpc3RfZW1wdHkoaXRzX2xpc3QpICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvKiBU aGUgc3ViLW5vZGVzIHJlcXVpcmUgdGhlIHJhbmdlcyBwcm9wZXJ0eSAqLworICAgIHByb3AgPSBk dF9nZXRfcHJvcGVydHkoZ2ljLCAicmFuZ2VzIiwgJmxlbik7CisgICAgaWYgKCAhcHJvcCApCisg ICAgeworICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiQ2FuJ3QgZmluZCByYW5nZXMgcHJvcGVy dHkgZm9yIHRoZSBnaWMgbm9kZVxuIik7CisgICAgICAgIHJldHVybiAtRkRUX0VSUl9YRU4oRU5P RU5UKTsKKyAgICB9CisKKyAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAicmFuZ2VzIiwgcHJv cCwgbGVuKTsKKyAgICBpZiAoIHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICBsaXN0 X2Zvcl9lYWNoX2VudHJ5KGl0c19kYXRhLCBpdHNfbGlzdCwgZW50cnkpCisgICAgeworICAgICAg ICBpdHMgPSBpdHNfZGF0YS0+ZHRfbm9kZTsKKworICAgICAgICByZXMgPSBmZHRfYmVnaW5fbm9k ZShmZHQsIGl0cy0+bmFtZSk7CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgIHJldHVy biByZXM7CisKKyAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5X3N0cmluZyhmZHQsICJjb21wYXRp YmxlIiwgImFybSxnaWMtdjMtaXRzIik7CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAg IHJldHVybiByZXM7CisKKyAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgIm1zaS1jb250 cm9sbGVyIiwgTlVMTCwgMCk7CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgIHJldHVy biByZXM7CisKKyAgICAgICAgaWYgKCBpdHMtPnBoYW5kbGUgKQorICAgICAgICB7CisgICAgICAg ICAgICByZXMgPSBmZHRfcHJvcGVydHlfY2VsbChmZHQsICJwaGFuZGxlIiwgaXRzLT5waGFuZGxl KTsKKyAgICAgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzOwor ICAgICAgICB9CisKKyAgICAgICAgLyogVXNlIHRoZSBzYW1lIHJlZyByZWdpb25zIGFzIHRoZSBJ VFMgbm9kZSBpbiBob3N0IERUQi4gKi8KKyAgICAgICAgcHJvcCA9IGR0X2dldF9wcm9wZXJ0eShp dHMsICJyZWciLCAmbGVuKTsKKyAgICAgICAgaWYgKCAhcHJvcCApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJHSUN2MzogQ2FuJ3QgZmluZCBJVFMgcmVnIHByb3Bl cnR5LlxuIik7CisgICAgICAgICAgICByZXMgPSAtRkRUX0VSUl9YRU4oRU5PRU5UKTsKKyAgICAg ICAgICAgIHJldHVybiByZXM7CisgICAgICAgIH0KKworICAgICAgICByZXMgPSBmZHRfcHJvcGVy dHkoZmR0LCAicmVnIiwgcHJvcCwgbGVuKTsKKyAgICAgICAgaWYgKCByZXMgKQorICAgICAgICAg ICAgcmV0dXJuIHJlczsKKworICAgICAgICBmZHRfZW5kX25vZGUoZmR0KTsKKyAgICB9CisKKyAg ICByZXR1cm4gcmVzOworfQorCiAvKiBTY2FuIHRoZSBEVCBmb3IgYW55IElUUyBub2RlcyBhbmQg Y3JlYXRlIGEgbGlzdCBvZiBob3N0IElUU2VzIG91dCBvZiBpdC4gKi8KIHZvaWQgZ2ljdjNfaXRz X2R0X2luaXQoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQogewpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCmluZGV4IGVk YTM0MTAuLmRkZmRkOTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMuYworKysgYi94 ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKQEAgLTExNzIsOCArMTE3MiwxMCBAQCBzdGF0aWMgaW50IGdp Y3YzX21ha2VfaHdkb21fZHRfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgcmVz ID0gZmR0X3Byb3BlcnR5KGZkdCwgInJlZyIsIG5ld19jZWxscywgbGVuKTsKICAgICB4ZnJlZShu ZXdfY2VsbHMpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKIAotICAgIHJl dHVybiByZXM7CisgICAgcmV0dXJuIGdpY3YzX2l0c19tYWtlX2R0X25vZGVzKE5VTEwsIGQsIGdp YywgZmR0KTsKIH0KIAogc3RhdGljIGNvbnN0IGh3X2lycV9jb250cm9sbGVyIGdpY3YzX2hvc3Rf aXJxX3R5cGUgPSB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCmluZGV4IGZiMDUzMTEuLmFiZjll OGMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCkBAIC0xNjEsNiArMTYxLDEyIEBAIGludCBn aWN2M19pdHNfc2V0dXBfY29sbGVjdGlvbih1bnNpZ25lZCBpbnQgY3B1KTsKIGludCB2Z2ljX3Yz X2l0c19pbml0X3ZpcnR1YWwoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBndWVzdF9hZGRyLAog CQkJICAgICB1bnNpZ25lZCBpbnQgZGV2aWRfYml0cywgdW5zaWduZWQgaW50IGludGlkX2JpdHMp OwogCisvKiBHaXZlbiBhIGxpc3Qgb2YgSVRTZXMsIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgRFQg bm9kZXMgZm9yIGEgZG9tYWluLiAqLworaW50IGdpY3YzX2l0c19tYWtlX2R0X25vZGVzKHN0cnVj dCBsaXN0X2hlYWQgKml0c19saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGR0X2RldmljZV9ub2RlICpnaWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqZmR0KTsKKwogLyoKICAqIE1hcCBhIGRldmljZSBvbiB0aGUgaG9zdCBieSBhbGxvY2F0aW5n IGFuIElUVCBvbiB0aGUgaG9zdCAoSVRTKS4KICAqICJucl9ldmVudCIgc3BlY2lmaWVzIGhvdyBt YW55IGV2ZW50cyAoaW50ZXJydXB0cykgdGhpcyBkZXZpY2Ugd2lsbCBuZWVkLgpAQCAtMjM0LDYg KzI0MCwxMyBAQCBzdGF0aWMgaW5saW5lIGludCB2Z2ljX3YzX2l0c19pbml0X3ZpcnR1YWwoc3Ry dWN0IGRvbWFpbiAqZCwKIHsKICAgICByZXR1cm4gMDsKIH0KK3N0YXRpYyBpbmxpbmUgaW50IGdp Y3YzX2l0c19tYWtlX2R0X25vZGVzKHN0cnVjdCBsaXN0X2hlYWQgKml0c19saXN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkdF9k ZXZpY2Vfbm9kZSAqZ2ljLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dm9pZCAqZmR0KQoreworICAgIHJldHVybiAwOworfQogCiAjZW5kaWYgLyogQ09ORklHX0hBU19J VFMgKi8KIAotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK