From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [RFC PATCH 17/24] ARM: vITS: handle MAPTI command Date: Wed, 28 Sep 2016 19:24:50 +0100 Message-ID: <20160928182457.12433-18-andre.przywara@arm.com> References: <20160928182457.12433-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpJXj-0002OV-Do for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 18:25:19 +0000 In-Reply-To: <20160928182457.12433-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 VGhlIE1BUFRJIGNvbW1hbmRzIGFzc29jaWF0ZXMgYSBEZXZpY2VJRC9FdmVudElEIHBhaXIgd2l0 aCBhIExQSS9DUFUKcGFpciBhbmQgYWN0dWFsbHkgaW5zdGFudGlhdGVzIExQSSBpbnRlcnJ1cHRz LgpXZSBhbGxvY2F0ZSBhIG5ldyBob3N0IExQSSBhbmQgY29ubmVjdCB0aGF0IG9uZSB0byB0aGlz IHZpcnR1YWwgTFBJLApzbyB0aGF0IGFueSB0cmlnZ2VyaW5nIElSUSBvbiB0aGUgaG9zdCBjYW4g YmUgcXVpY2tseSBmb3J3YXJkZWQgdG8KYSBndWVzdC4KClNpZ25lZC1vZmYtYnk6IEFuZHJlIFBy enl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS92Z2ljLWl0 cy5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vdmdpYy1pdHMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLWl0cy5jCmluZGV4IDgzZDQ3ZTEu LjcwODk3ZGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLWl0cy5jCisrKyBiL3hlbi9h cmNoL2FybS92Z2ljLWl0cy5jCkBAIC0yNzgsNiArMjc4LDU1IEBAIHN0YXRpYyBpbnQgaXRzX2hh bmRsZV9tYXBkKHN0cnVjdCB2aXJ0X2l0cyAqaXRzLCB1aW50NjRfdCAqY21kcHRyKQogICAgIHJl dHVybiAwOwogfQogCitzdGF0aWMgaW50IGl0c19oYW5kbGVfbWFwdGkoc3RydWN0IHZpcnRfaXRz ICppdHMsIHVpbnQ2NF90ICpjbWRwdHIpCit7CisgICAgdWludDMyX3QgZGV2aWQgPSBpdHNfY21k X2dldF9kZXZpY2VpZChjbWRwdHIpOworICAgIHVpbnQzMl90IGV2ZW50aWQgPSBpdHNfY21kX2dl dF9pZChjbWRwdHIpOworICAgIHVpbnQzMl90IGludGlkID0gaXRzX2NtZF9nZXRfcGh5c2ljYWxf aWQoY21kcHRyKTsKKyAgICBpbnQgY29sbGlkID0gaXRzX2NtZF9nZXRfY29sbGVjdGlvbihjbWRw dHIpOworICAgIHN0cnVjdCB2aXRzX2l0dGUgKml0dGU7CisgICAgdWludDMyX3QgaG9zdF9scGk7 CisgICAgc3RydWN0IHZjcHUgKnZjcHU7CisgICAgaW50IHJldCA9IC0xOworCisgICAgaWYgKCBp dHNfY21kX2dldF9jb21tYW5kKGNtZHB0cikgPT0gR0lUU19DTURfTUFQSSApCisgICAgICAgIGlu dGlkID0gZXZlbnRpZDsKKworICAgIGlmICggY29sbGlkID49IGl0cy0+bWF4X2NvbGxlY3Rpb25z ICkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3Bpbl9sb2NrKCZpdHMtPml0c19sb2NrKTsK KyAgICB2Y3B1ID0gZ2V0X3ZjcHVfZnJvbV9jb2xsZWN0aW9uKGl0cywgY29sbGlkKTsKKyAgICBp ZiAoICF2Y3B1ICkKKyAgICAgICAgZ290byBvdXRfdW5sb2NrOworCisgICAgaXR0ZSA9IGdldF9k ZXZpZF9ldmlkKGl0cywgZGV2aWQsIGV2ZW50aWQpOworICAgIGlmICggIWl0dGUgKQorICAgICAg ICBnb3RvIG91dF91bmxvY2s7CisKKyAgICBpZiAoIGl0dGUtPmhscGkgKQorICAgICAgICBnb3Rv IG91dF91bm1hcDsKKworICAgIGhvc3RfbHBpID0gZ2ljdjNfbHBpX2FsbG9jYXRlX2hvc3RfbHBp KGl0cy0+aHdfaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldmlkLCBldmVudGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZjcHUsIGludGlkKTsKKyAgICBpZiAoIGhvc3RfbHBpID49IDAgKQorICAgICAgICBpdHRl LT5obHBpID0gaG9zdF9scGk7CisKKyAgICBpdHRlLT52bHBpID0gaW50aWQ7CisgICAgaXR0ZS0+ Y29sbGVjdGlvbiA9IGNvbGxpZDsKKworICAgIHJldCA9IDA7CisKK291dF91bm1hcDoKKyAgICBw dXRfZGV2aWRfZXZpZChpdHMsIGl0dGUpOworCitvdXRfdW5sb2NrOgorICAgIHNwaW5fdW5sb2Nr KCZpdHMtPml0c19sb2NrKTsKKyAgICAKKyAgICByZXR1cm4gcmV0OworfQorCiAjZGVmaW5lIElU U19DTURfQlVGRkVSX1NJWkUoYmFzZXIpICAgICAgKCgoKGJhc2VyKSAmIDB4ZmYpICsgMSkgPDwg MTIpCiAKIHN0YXRpYyBpbnQgdmdpY19pdHNfaGFuZGxlX2NtZHMoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IHZpcnRfaXRzICppdHMsCkBAIC0zMTAsNiArMzU5LDEwIEBAIHN0YXRpYyBpbnQgdmdp Y19pdHNfaGFuZGxlX2NtZHMoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZpcnRfaXRzICppdHMs CiAgICAgICAgIGNhc2UgR0lUU19DTURfTUFQRDoKICAgICAgICAgICAgIGl0c19oYW5kbGVfbWFw ZChpdHMsIGNtZHB0cik7CiAJICAgIGJyZWFrOworICAgICAgICBjYXNlIEdJVFNfQ01EX01BUEk6 CisgICAgICAgIGNhc2UgR0lUU19DTURfTUFQVEk6CisgICAgICAgICAgICBpdHNfaGFuZGxlX21h cHRpKGl0cywgY21kcHRyKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdJVFNf Q01EX1NZTkM6CiAgICAgICAgICAgICAvKiBXZSBoYW5kbGUgSVRTIGNvbW1hbmRzIHN5bmNocm9u b3VzbHksIHNvIHdlIGlnbm9yZSBTWU5DLiAqLwogCSAgICBicmVhazsKLS0gCjIuOS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==