From mboxrd@z Thu Jan 1 00:00:00 1970 From: manish.jaggi@linaro.org Subject: [RFC 01/11] acpi: arm: Public API for populating and query based on requesterid Date: Tue, 2 Jan 2018 14:57:59 +0530 Message-ID: <20180102092809.1841-2-manish.jaggi@linaro.org> References: <20180102092809.1841-1-manish.jaggi@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eWIs6-0002Pc-M1 for xen-devel@lists.xenproject.org; Tue, 02 Jan 2018 09:28:34 +0000 Received: by mail-pf0-x242.google.com with SMTP id l24so25461210pfj.6 for ; Tue, 02 Jan 2018 01:28:31 -0800 (PST) In-Reply-To: <20180102092809.1841-1-manish.jaggi@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, julien.grall@linaro.org, sameer.goel@linaro.org, andre.przywara@linaro.org Cc: Manish Jaggi , manish.jaggi@cavium.com List-Id: xen-devel@lists.xenproject.org RnJvbTogTWFuaXNoIEphZ2dpIDxtYW5pc2guamFnZ2lAbGluYXJvLm9yZz4KCiBQdWJsaWMgQVBJ IHRvIHBvcHVsYXRlIGFuZCBxdWVyeSBtYXAgYmV0d2VlbiByZXF1ZXN0ZXIgaWQgYW5kCiBzdHJl YW1JZC9EZXZpY2VJRC4gSU9SVCBpcyBwYXJzZWQgb25lIHRpbWUgKG91dHNpZGUgdGhpcyBwYXRj aCkKIGFuZCB0d28gbGlzdHMgYXJlIGNyZWF0ZWQgb25lIGZvciBtYXBwaW5nIGJldHdlZW4gcmV1 ZXN0ZXJJZCBhbmQgc3RyZWFtaWQKIGFuZCBhbm90aGVyIGJldHdlZW4gcmVxdWVzdGVySUQgYW5k IGRldmljZUlELgoKIFRoZXNlIGxpc3RzIGVsaW1pbmF0ZSB0aGUgbmVlZCB0byByZXBhcnNlIElP UlQgZm9yIHF1ZXJ5aW5nIHN0cmVhbWlkCiBvciBkZXZpY2VpZCB1c2luZyByZXF1ZXN0ZXJpZC4K CiBTaWduZWQtb2ZmLWJ5OiBNYW5pc2ggSmFnZ2kgPG1hbmlzaC5qYWdnaUBsaW5hcm8ub3JnPgot LS0KIHhlbi9kcml2ZXJzL2FjcGkvTWFrZWZpbGUgICAgIHwgICAxICsKIHhlbi9kcml2ZXJzL2Fj cGkvYXJtL01ha2VmaWxlIHwgICAxICsKIHhlbi9kcml2ZXJzL2FjcGkvYXJtL3JpZG1hcC5jIHwg MTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1 ZGUvYWNwaS9yaWRtYXAuaCAgICAgfCAgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQg ZmlsZXMgY2hhbmdlZCwgMjAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9hY3BpL01ha2VmaWxlIGIveGVuL2RyaXZlcnMvYWNwaS9NYWtlZmlsZQppbmRleCA0NDRiMTFk NTgzLi44MGEwNzRlMDA3IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlCisr KyBiL3hlbi9kcml2ZXJzL2FjcGkvTWFrZWZpbGUKQEAgLTEsNiArMSw3IEBACiBzdWJkaXIteSAr PSB0YWJsZXMKIHN1YmRpci15ICs9IHV0aWxpdGllcwogc3ViZGlyLSQoQ09ORklHX1g4NikgKz0g YXBlaQorc3ViZGlyLSQoQ09ORklHX0FSTSkgKz0gYXJtCiAKIG9iai1iaW4teSArPSB0YWJsZXMu aW5pdC5vCiBvYmotJChDT05GSUdfTlVNQSkgKz0gbnVtYS5vCmRpZmYgLS1naXQgYS94ZW4vZHJp dmVycy9hY3BpL2FybS9NYWtlZmlsZSBiL3hlbi9kcml2ZXJzL2FjcGkvYXJtL01ha2VmaWxlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjA0NmZhZDVlM2QKLS0tIC9kZXYv bnVsbAorKysgYi94ZW4vZHJpdmVycy9hY3BpL2FybS9NYWtlZmlsZQpAQCAtMCwwICsxIEBACitv YmoteSA9IHJpZG1hcC5vCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9hY3BpL2FybS9yaWRtYXAu YyBiL3hlbi9kcml2ZXJzL2FjcGkvYXJtL3JpZG1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjJjM2E4ODc2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vZHJpdmVy cy9hY3BpL2FybS9yaWRtYXAuYwpAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIHhlbi9kcml2ZXJz L2FjcGkvYXJtL3JpZG1hcC5jCisgKgorICogUHVibGljIEFQSSB0byBwb3B1bGF0ZSBhbmQgcXVl cnkgbWFwIGJldHdlZW4gcmVxdWVzdGVyIGlkIGFuZAorICogc3RyZWFtSWQvRGV2aWNlSUQKKyAq CisgKiBNYW5pc2ggSmFnZ2kgPG1hbmlzaC5qYWdnaUBsaW5hcm8ub3JnPgorICogQ29weXJpZ2h0 IChjKSAyMDE4IExpbmFyby4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAq IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp Y2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgPGFjcGkvcmlkbWFwLmg+CisjaW5j bHVkZSA8eGVuL2lvbW11Lmg+CisjaW5jbHVkZSA8eGVuL2tlcm5lbC5oPgorI2luY2x1ZGUgPHhl bi9saXN0Lmg+CisjaW5jbHVkZSA8eGVuL3BjaS5oPgorCitzdHJ1Y3QgbGlzdF9oZWFkIHJpZF9z dHJlYW1pZF9tYXBfbGlzdDsKK3N0cnVjdCBsaXN0X2hlYWQgcmlkX2RldmljZWlkX21hcF9saXN0 OworCit2b2lkIGluaXRfcmlkbWFwcyh2b2lkKQoreworICAgIElOSVRfTElTVF9IRUFEKCZyaWRf ZGV2aWNlaWRfbWFwX2xpc3QpOworICAgIElOSVRfTElTVF9IRUFEKCZyaWRfc3RyZWFtaWRfbWFw X2xpc3QpOworfQorCitpbnQgYWRkX3JpZF9zdHJlYW1pZF9tYXAoc3RydWN0IGFjcGlfaW9ydF9u b2RlICpwY2lyY19ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpX2lv cnRfbm9kZSAqc21tdV9ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbnB1dF9i YXNlLCB1MzIgb3V0cHV0X2Jhc2UsIHUzMiBpZF9jb3VudCkKK3sKKyAgICBzdHJ1Y3QgcmlkX3N0 cmVhbWlkX21hcCAqcmlkX21hcDsKKyAgICByaWRfbWFwID0geHphbGxvYyhzdHJ1Y3QgcmlkX3N0 cmVhbWlkX21hcCk7CisKKyAgICBpZiAoIXJpZF9tYXApCisgICAgICAgIHJldHVybiAtRU5PTUVN OworCisgICAgcmlkX21hcC0+aWRtYXAuaW5wdXRfYmFzZSA9IGlucHV0X2Jhc2U7CisgICAgcmlk X21hcC0+aWRtYXAub3V0cHV0X2Jhc2UgPSBvdXRwdXRfYmFzZTsKKyAgICByaWRfbWFwLT5pZG1h cC5pZF9jb3VudCA9IGlkX2NvdW50OworICAgIHJpZF9tYXAtPnBjaXJjX25vZGUgPSBwY2lyY19u b2RlOworICAgIHJpZF9tYXAtPnNtbXVfbm9kZSA9IHNtbXVfbm9kZTsKKworICAgIGxpc3RfYWRk X3RhaWwoJnJpZF9tYXAtPmVudHJ5LCAmcmlkX3N0cmVhbWlkX21hcF9saXN0KTsKKyAgICByZXR1 cm4gMDsKK30KKworaW50IGFkZF9yaWRfZGV2aWNlaWRfbWFwKHN0cnVjdCBhY3BpX2lvcnRfbm9k ZSAqcGNpcmNfbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0 X25vZGUgKml0c19ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbnB1dF9iYXNl LCB1MzIgb3V0cHV0X2Jhc2UsIHUzMiBpZF9jb3VudCkKK3sKKyAgICBzdHJ1Y3QgcmlkX2Rldmlj ZWlkX21hcCAqcmlkX21hcDsKKyAgICByaWRfbWFwID0geHphbGxvYyhzdHJ1Y3QgcmlkX2Rldmlj ZWlkX21hcCk7CisKKyAgICBpZiAoIXJpZF9tYXApCisgICAgICAgIHJldHVybiAtRU5PTUVNOwor CisgICAgcmlkX21hcC0+aWRtYXAuaW5wdXRfYmFzZSA9IGlucHV0X2Jhc2U7CisgICAgcmlkX21h cC0+aWRtYXAub3V0cHV0X2Jhc2UgPSBvdXRwdXRfYmFzZTsKKyAgICByaWRfbWFwLT5pZG1hcC5p ZF9jb3VudCA9IGlkX2NvdW50OworICAgIHJpZF9tYXAtPnBjaXJjX25vZGUgPSBwY2lyY19ub2Rl OworICAgIHJpZF9tYXAtPml0c19ub2RlID0gaXRzX25vZGU7CisKKyAgICBsaXN0X2FkZF90YWls KCZyaWRfbWFwLT5lbnRyeSwgJnJpZF9kZXZpY2VpZF9tYXBfbGlzdCk7CisgICAgcmV0dXJuIDA7 Cit9CisKK3ZvaWQgcXVlcnlfc3RyZWFtaWQoc3RydWN0IGFjcGlfaW9ydF9ub2RlICpwY2lyY19u b2RlLCB1MTYgcmlkLCB1MzIgKnN0cmVhbWlkLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg YWNwaV9pb3J0X25vZGUgKipzbW11X25vZGUpCit7CisgICAgc3RydWN0IHJpZF9zdHJlYW1pZF9t YXAgKnJtYXA7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHJtYXAsICZyaWRfc3RyZWFtaWRf bWFwX2xpc3QsIGVudHJ5KQorICAgIHsKKyAgICAgICAgaWYgKHJtYXAtPnBjaXJjX25vZGUgPT0g cGNpcmNfbm9kZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAocmlkID49IHJtYXAtPmlk bWFwLmlucHV0X2Jhc2UpICYmCisgICAgICAgICAgICAgICAgIChyaWQgPCBybWFwLT5pZG1hcC5p bnB1dF9iYXNlICsgcm1hcC0+aWRtYXAuaWRfY291bnQpICkKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAqc3RyZWFtaWQgPSByaWQgLSBybWFwLT5pZG1hcC5pbnB1dF9iYXNlICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBybWFwLT5pZG1hcC5vdXRwdXRfYmFzZTsKKyAgICAg ICAgICAgICAgICAqc21tdV9ub2RlID0gcm1hcC0+c21tdV9ub2RlOworICAgICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCit9CisKK3ZvaWQgcXVl cnlfZGV2aWNlaWQoc3RydWN0IGFjcGlfaW9ydF9ub2RlICpwY2lyY19ub2RlLCB1MTYgcmlkLCB1 MzIgKmRldmljZWlkKQoreworICAgIHN0cnVjdCByaWRfZGV2aWNlaWRfbWFwICpybWFwOworCisg ICAgbGlzdF9mb3JfZWFjaF9lbnRyeShybWFwLCAmcmlkX2RldmljZWlkX21hcF9saXN0LCBlbnRy eSkKKyAgICB7CisgICAgICAgIGlmIChybWFwLT5wY2lyY19ub2RlID09IHBjaXJjX25vZGUpCisg ICAgICAgIHsKKyAgICAgICAgICAgIGlmICggKHJpZCA+PSBybWFwLT5pZG1hcC5pbnB1dF9iYXNl KSAmJgorICAgICAgICAgICAgICAgICAocmlkIDwgcm1hcC0+aWRtYXAuaW5wdXRfYmFzZSArIHJt YXAtPmlkbWFwLmlkX2NvdW50KSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKmRl dmljZWlkID0gcmlkIC0gcm1hcC0+aWRtYXAuaW5wdXRfYmFzZSArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcm1hcC0+aWRtYXAub3V0cHV0X2Jhc2U7CisgICAgICAgICAgICAgICAgYnJl YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qCisgKiBMb2NhbCB2 YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2lj LW9mZnNldDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FjcGkvcmlkbWFwLmggYi94ZW4vaW5jbHVkZS9hY3BpL3JpZG1h cC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjgwNmY0MDFkODkKLS0t IC9kZXYvbnVsbAorKysgYi94ZW4vaW5jbHVkZS9hY3BpL3JpZG1hcC5oCkBAIC0wLDAgKzEsNzcg QEAKKy8qCisgKiB4ZW4vaW5jbHVkZS9hY3BpL3JpZG1hcC5oCisgKgorICogTWFwcGluZyBzdHJ1 Y3R1cmVzIHRvIGhvbGQgbWFwIGJldHdlZW4gcmVxdWVzdGVyIGlkIGFuZCBzdHJlYW1JZC9EZXZp Y2VJRAorICogYWZ0ZXIgcGFyaW5nIHRoZSBJT1JUIHRhYmxlLgorICoKKyAqIE1hbmlzaCBKYWdn aSA8bWFuaXNoLmphZ2dpQGxpbmFyby5vcmc+CisgKiBDb3B5cmlnaHQgKGMpIDIwMTggTGluYXJv LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKyAqLworCisjaWZuZGVmIFJJRF9NQVBfSAorI2RlZmluZSBSSURfTUFQX0gKKworI2luY2x1 ZGUgPHhlbi9hY3BpLmg+CisKK3N0cnVjdCBpZF9tYXBfc3RydWN0Cit7CisgICAgdTE2IGlucHV0 X2Jhc2U7CisgICAgdTMyIG91dHB1dF9iYXNlOworICAgIHUxNiBpZF9jb3VudDsKK307CisKK3N0 cnVjdCByaWRfc3RyZWFtaWRfbWFwCit7CisgICAgc3RydWN0IGFjcGlfaW9ydF9ub2RlICpwY2ly Y19ub2RlOworICAgIHN0cnVjdCBpZF9tYXBfc3RydWN0IGlkbWFwOworICAgIHN0cnVjdCBsaXN0 X2hlYWQgZW50cnk7CisgICAgc3RydWN0IGFjcGlfaW9ydF9ub2RlICpzbW11X25vZGU7Cit9Owor CitzdHJ1Y3QgcmlkX2RldmljZWlkX21hcAoreworICAgIHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAq cGNpcmNfbm9kZTsKKyAgICBzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKml0c19ub2RlOworICAgIHN0 cnVjdCBpZF9tYXBfc3RydWN0IGlkbWFwOworICAgIHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7Cit9 OworCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCByaWRfc3RyZWFtaWRfbWFwX2xpc3Q7CitleHRl cm4gc3RydWN0IGxpc3RfaGVhZCByaWRfZGV2aWNlaWRfbWFwX2xpc3Q7CisKK2ludCBhZGRfcmlk X3N0cmVhbWlkX21hcChzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKnBjaXJjX25vZGUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGFjcGlfaW9ydF9ub2RlICpzbW11X25vZGUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdTMyIGlucHV0X2Jhc2UsIHUzMiBvdXRwdXRfYmFzZSwgdTMy IGlkX2NvdW50KTsKKworaW50IGFkZF9yaWRfZGV2aWNlaWRfbWFwKHN0cnVjdCBhY3BpX2lvcnRf bm9kZSAqcGNpcmNfbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9p b3J0X25vZGUgKml0c19ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbnB1dF9i YXNlLCB1MzIgb3V0cHV0X2Jhc2UsIHUzMiBpZF9jb3VudCk7CisKK3ZvaWQgcXVlcnlfc3RyZWFt aWQoc3RydWN0IGFjcGlfaW9ydF9ub2RlICpwY2lyY19ub2RlLCB1MTYgcmlkLCB1MzIgKnN0cmVh bWlkLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKipzbW11X25v ZGUpOworCit2b2lkIHF1ZXJ5X2RldmljZWlkKHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqcGNpcmNf bm9kZSwKKyAgICAgICAgICAgICAgICAgICAgdTE2IHJpZCwgdTMyICpkZXZpY2VpZCk7CisKK3Zv aWQgaW5pdF9yaWRtYXBzKHZvaWQpOworCisjZW5kaWYKKworLyoKKyAqIExvY2FsIHZhcmlhYmxl czoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0 OiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwotLSAKMi4xNC4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==