From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 07/13] drm/amdkfd: add CP HWS packet headers for VI Date: Fri, 12 Jun 2015 22:31:15 +0300 Message-ID: <1434137481-13315-8-git-send-email-oded.gabbay@gmail.com> References: <1434137481-13315-1-git-send-email-oded.gabbay@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 8DBB46E4D0 for ; Fri, 12 Jun 2015 12:31:35 -0700 (PDT) Received: by wifx6 with SMTP id x6so25341997wif.0 for ; Fri, 12 Jun 2015 12:31:35 -0700 (PDT) In-Reply-To: <1434137481-13315-1-git-send-email-oded.gabbay@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, alexdeucher@gmail.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogQmVuIEdveiA8YmVuLmdvekBhbWQuY29tPgoKU2lnbmVkLW9mZi1ieTogQmVuIEdveiA8 YmVuLmdvekBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBPZGVkIEdhYmJheSA8b2RlZC5nYWJiYXlA Z21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wbTRfaGVhZGVy c192aS5oIHwgMzk4ICsrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDM5 OCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX3BtNF9oZWFkZXJzX3ZpLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGtmZC9rZmRfcG00X2hlYWRlcnNfdmkuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k a2ZkL2tmZF9wbTRfaGVhZGVyc192aS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjA4YzcyMTkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtm ZC9rZmRfcG00X2hlYWRlcnNfdmkuaApAQCAtMCwwICsxLDM5OCBAQAorLyoKKyAqIENvcHlyaWdo dCAyMDE0IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlz IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg YQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu Y2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBT b2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5H IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisg KiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAg SU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihT KSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZ LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisg KiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IKKyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisg Ki8KKworI2lmbmRlZiBGMzJfTUVTX1BNNF9QQUNLRVRTX0gKKyNkZWZpbmUgRjMyX01FU19QTTRf UEFDS0VUU19ICisKKyNpZm5kZWYgUE00X01FU19IRUFERVJfREVGSU5FRAorI2RlZmluZSBQTTRf TUVTX0hFQURFUl9ERUZJTkVECit1bmlvbiBQTTRfTUVTX1RZUEVfM19IRUFERVIgeworCXN0cnVj dCB7CisJCXVpbnQzMl90IHJlc2VydmVkMSA6IDg7IC8qIDwgcmVzZXJ2ZWQgKi8KKwkJdWludDMy X3Qgb3Bjb2RlICAgIDogODsgLyogPCBJVCBvcGNvZGUgKi8KKwkJdWludDMyX3QgY291bnQgICAg IDogMTQ7LyogPCBudW1iZXIgb2YgRFdPUkRzIC0gMSBpbiB0aGUKKwkJaW5mb3JtYXRpb24gYm9k eS4gKi8KKwkJdWludDMyX3QgdHlwZSAgICAgIDogMjsgLyogPCBwYWNrZXQgaWRlbnRpZmllci4K KwkJCQkJSXQgc2hvdWxkIGJlIDMgZm9yIHR5cGUgMyBwYWNrZXRzICovCisJfTsKKwl1aW50MzJf dCB1MzJBbGw7Cit9OworI2VuZGlmIC8qIFBNNF9NRVNfSEVBREVSX0RFRklORUQgKi8KKworLyot LS0tLS0tLS0tLS0tLS0tLS0tLU1FU19TRVRfUkVTT1VSQ0VTLS0tLS0tLS0tLS0tLS0tLS0tLS0q LworCisjaWZuZGVmIFBNNF9NRVNfU0VUX1JFU09VUkNFU19ERUZJTkVECisjZGVmaW5lIFBNNF9N RVNfU0VUX1JFU09VUkNFU19ERUZJTkVECitlbnVtIG1lc19zZXRfcmVzb3VyY2VzX3F1ZXVlX3R5 cGVfZW51bSB7CisJcXVldWVfdHlwZV9fbWVzX3NldF9yZXNvdXJjZXNfX2tlcm5lbF9pbnRlcmZh Y2VfcXVldWVfa2lxID0gMCwKKwlxdWV1ZV90eXBlX19tZXNfc2V0X3Jlc291cmNlc19faHNhX2lu dGVyZmFjZV9xdWV1ZV9oaXEgPSAxLAorCXF1ZXVlX3R5cGVfX21lc19zZXRfcmVzb3VyY2VzX19o c2FfZGVidWdfaW50ZXJmYWNlX3F1ZXVlID0gNAorfTsKKworCitzdHJ1Y3QgcG00X21lc19zZXRf cmVzb3VyY2VzIHsKKwl1bmlvbiB7CisJCXVuaW9uIFBNNF9NRVNfVFlQRV8zX0hFQURFUgloZWFk ZXI7CQkvKiBoZWFkZXIgKi8KKwkJdWludDMyX3QJCQlvcmRpbmFsMTsKKwl9OworCisJdW5pb24g eworCQlzdHJ1Y3QgeworCQkJdWludDMyX3Qgdm1pZF9tYXNrOjE2OworCQkJdWludDMyX3QgdW5t YXBfbGF0ZW5jeTo4OworCQkJdWludDMyX3QgcmVzZXJ2ZWQxOjU7CisJCQllbnVtIG1lc19zZXRf cmVzb3VyY2VzX3F1ZXVlX3R5cGVfZW51bSBxdWV1ZV90eXBlOjM7CisJCX0gYml0ZmllbGRzMjsK KwkJdWludDMyX3Qgb3JkaW5hbDI7CisJfTsKKworCXVpbnQzMl90IHF1ZXVlX21hc2tfbG87CisJ dWludDMyX3QgcXVldWVfbWFza19oaTsKKwl1aW50MzJfdCBnd3NfbWFza19sbzsKKwl1aW50MzJf dCBnd3NfbWFza19oaTsKKworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJCXVpbnQzMl90IG9hY19t YXNrOjE2OworCQkJdWludDMyX3QgcmVzZXJ2ZWQyOjE2OworCQl9IGJpdGZpZWxkczc7CisJCXVp bnQzMl90IG9yZGluYWw3OworCX07CisKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCXVpbnQzMl90 IGdkc19oZWFwX2Jhc2U6NjsKKwkJdWludDMyX3QgcmVzZXJ2ZWQzOjU7CisJCXVpbnQzMl90IGdk c19oZWFwX3NpemU6NjsKKwkJdWludDMyX3QgcmVzZXJ2ZWQ0OjE1OworCQl9IGJpdGZpZWxkczg7 CisJCXVpbnQzMl90IG9yZGluYWw4OworCX07CisKK307CisjZW5kaWYKKworLyotLS0tLS0tLS0t LS0tLS0tLS0tLU1FU19SVU5fTElTVC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmbmRlZiBQ TTRfTUVTX1JVTl9MSVNUX0RFRklORUQKKyNkZWZpbmUgUE00X01FU19SVU5fTElTVF9ERUZJTkVE CisKK3N0cnVjdCBwbTRfbWVzX3J1bmxpc3QgeworCXVuaW9uIHsKKwkgICAgdW5pb24gUE00X01F U19UWVBFXzNfSEVBREVSICAgaGVhZGVyOyAgICAgICAgICAgIC8qIGhlYWRlciAqLworCSAgICB1 aW50MzJfdCAgICAgICAgICAgIG9yZGluYWwxOworCX07CisKKwl1bmlvbiB7CisJCXN0cnVjdCB7 CisJCQl1aW50MzJfdCByZXNlcnZlZDE6MjsKKwkJCXVpbnQzMl90IGliX2Jhc2VfbG86MzA7CisJ CX0gYml0ZmllbGRzMjsKKwkJdWludDMyX3Qgb3JkaW5hbDI7CisJfTsKKworCXVuaW9uIHsKKwkJ c3RydWN0IHsKKwkJCXVpbnQzMl90IGliX2Jhc2VfaGk6MTY7CisJCQl1aW50MzJfdCByZXNlcnZl ZDI6MTY7CisJCX0gYml0ZmllbGRzMzsKKwkJdWludDMyX3Qgb3JkaW5hbDM7CisJfTsKKworCXVu aW9uIHsKKwkJc3RydWN0IHsKKwkJCXVpbnQzMl90IGliX3NpemU6MjA7CisJCQl1aW50MzJfdCBj aGFpbjoxOworCQkJdWludDMyX3Qgb2ZmbG9hZF9wb2xsaW5nOjE7CisJCQl1aW50MzJfdCByZXNl cnZlZDM6MTsKKwkJCXVpbnQzMl90IHZhbGlkOjE7CisJCQl1aW50MzJfdCByZXNlcnZlZDQ6ODsK KwkJfSBiaXRmaWVsZHM0OworCQl1aW50MzJfdCBvcmRpbmFsNDsKKwl9OworCit9OworI2VuZGlm CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS1NRVNfTUFQX1BST0NFU1MtLS0tLS0tLS0tLS0tLS0t LS0tLSovCisKKyNpZm5kZWYgUE00X01FU19NQVBfUFJPQ0VTU19ERUZJTkVECisjZGVmaW5lIFBN NF9NRVNfTUFQX1BST0NFU1NfREVGSU5FRAorCitzdHJ1Y3QgcG00X21lc19tYXBfcHJvY2VzcyB7 CisJdW5pb24geworCQl1bmlvbiBQTTRfTUVTX1RZUEVfM19IRUFERVIgICBoZWFkZXI7ICAgICAg ICAgICAgLyogaGVhZGVyICovCisJCXVpbnQzMl90ICAgICAgICAgICAgb3JkaW5hbDE7CisJfTsK KworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJCXVpbnQzMl90IHBhc2lkOjE2OworCQkJdWludDMy X3QgcmVzZXJ2ZWQxOjg7CisJCQl1aW50MzJfdCBkaXFfZW5hYmxlOjE7CisJCQl1aW50MzJfdCBw cm9jZXNzX3F1YW50dW06NzsKKwkJfSBiaXRmaWVsZHMyOworCQl1aW50MzJfdCBvcmRpbmFsMjsK K307CisKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQl1aW50MzJfdCBwYWdlX3RhYmxlX2Jhc2U6 Mjg7CisJCQl1aW50MzJfdCByZXNlcnZlZDI6NDsKKwkJfSBiaXRmaWVsZHMzOworCQl1aW50MzJf dCBvcmRpbmFsMzsKKwl9OworCisJdWludDMyX3Qgc2hfbWVtX2Jhc2VzOworCXVpbnQzMl90IHNo X21lbV9hcGUxX2Jhc2U7CisJdWludDMyX3Qgc2hfbWVtX2FwZTFfbGltaXQ7CisJdWludDMyX3Qg c2hfbWVtX2NvbmZpZzsKKwl1aW50MzJfdCBnZHNfYWRkcl9sbzsKKwl1aW50MzJfdCBnZHNfYWRk cl9oaTsKKworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJCXVpbnQzMl90IG51bV9nd3M6NjsKKwkJ CXVpbnQzMl90IHJlc2VydmVkMzoyOworCQkJdWludDMyX3QgbnVtX29hYzo0OworCQkJdWludDMy X3QgcmVzZXJ2ZWQ0OjQ7CisJCQl1aW50MzJfdCBnZHNfc2l6ZTo2OworCQkJdWludDMyX3QgbnVt X3F1ZXVlczoxMDsKKwkJfSBiaXRmaWVsZHMxMDsKKwkJdWludDMyX3Qgb3JkaW5hbDEwOworCX07 CisKK307CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLU1FU19NQVBfUVVFVUVTLS0t LS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWZuZGVmIFBNNF9NRVNfTUFQX1FVRVVFU19WSV9ERUZJ TkVECisjZGVmaW5lIFBNNF9NRVNfTUFQX1FVRVVFU19WSV9ERUZJTkVECitlbnVtIG1lc19tYXBf cXVldWVzX3F1ZXVlX3NlbF92aV9lbnVtIHsKKwlxdWV1ZV9zZWxfX21lc19tYXBfcXVldWVzX19t YXBfdG9fc3BlY2lmaWVkX3F1ZXVlX3Nsb3RzX3ZpID0gMCwKK3F1ZXVlX3NlbF9fbWVzX21hcF9x dWV1ZXNfX21hcF90b19od3NfZGV0ZXJtaW5lZF9xdWV1ZV9zbG90c192aSA9IDEKK307CisKK2Vu dW0gbWVzX21hcF9xdWV1ZXNfcXVldWVfdHlwZV92aV9lbnVtIHsKKwlxdWV1ZV90eXBlX19tZXNf bWFwX3F1ZXVlc19fbm9ybWFsX2NvbXB1dGVfdmkgPSAwLAorCXF1ZXVlX3R5cGVfX21lc19tYXBf cXVldWVzX19kZWJ1Z19pbnRlcmZhY2VfcXVldWVfdmkgPSAxLAorCXF1ZXVlX3R5cGVfX21lc19t YXBfcXVldWVzX19ub3JtYWxfbGF0ZW5jeV9zdGF0aWNfcXVldWVfdmkgPSAyLAorcXVldWVfdHlw ZV9fbWVzX21hcF9xdWV1ZXNfX2xvd19sYXRlbmN5X3N0YXRpY19xdWV1ZV92aSA9IDMKK307CisK K2VudW0gbWVzX21hcF9xdWV1ZXNfYWxsb2NfZm9ybWF0X3ZpX2VudW0geworCWFsbG9jX2Zvcm1h dF9fbWVzX21hcF9xdWV1ZXNfX29uZV9wZXJfcGlwZV92aSA9IDAsCithbGxvY19mb3JtYXRfX21l c19tYXBfcXVldWVzX19hbGxfb25fb25lX3BpcGVfdmkgPSAxCit9OworCitlbnVtIG1lc19tYXBf cXVldWVzX2VuZ2luZV9zZWxfdmlfZW51bSB7CisJZW5naW5lX3NlbF9fbWVzX21hcF9xdWV1ZXNf X2NvbXB1dGVfdmkgPSAwLAorCWVuZ2luZV9zZWxfX21lc19tYXBfcXVldWVzX19zZG1hMF92aSA9 IDIsCisJZW5naW5lX3NlbF9fbWVzX21hcF9xdWV1ZXNfX3NkbWExX3ZpID0gMworfTsKKworCitz dHJ1Y3QgcG00X21lc19tYXBfcXVldWVzIHsKKwl1bmlvbiB7CisJCXVuaW9uIFBNNF9NRVNfVFlQ RV8zX0hFQURFUiAgIGhlYWRlcjsgICAgICAgICAgICAvKiBoZWFkZXIgKi8KKwkJdWludDMyX3Qg ICAgICAgICAgICBvcmRpbmFsMTsKKwl9OworCisJdW5pb24geworCQlzdHJ1Y3QgeworCQkJdWlu dDMyX3QgcmVzZXJ2ZWQxOjQ7CisJCQllbnVtIG1lc19tYXBfcXVldWVzX3F1ZXVlX3NlbF92aV9l bnVtIHF1ZXVlX3NlbDoyOworCQkJdWludDMyX3QgcmVzZXJ2ZWQyOjE1OworCQkJZW51bSBtZXNf bWFwX3F1ZXVlc19xdWV1ZV90eXBlX3ZpX2VudW0gcXVldWVfdHlwZTozOworCQkJZW51bSBtZXNf bWFwX3F1ZXVlc19hbGxvY19mb3JtYXRfdmlfZW51bSBhbGxvY19mb3JtYXQ6MjsKKwkJCWVudW0g bWVzX21hcF9xdWV1ZXNfZW5naW5lX3NlbF92aV9lbnVtIGVuZ2luZV9zZWw6MzsKKwkJCXVpbnQz Ml90IG51bV9xdWV1ZXM6MzsKKwkJfSBiaXRmaWVsZHMyOworCQl1aW50MzJfdCBvcmRpbmFsMjsK Kwl9OworCisJdW5pb24geworCQlzdHJ1Y3QgeworCQkJdWludDMyX3QgcmVzZXJ2ZWQzOjE7CisJ CQl1aW50MzJfdCBjaGVja19kaXNhYmxlOjE7CisJCQl1aW50MzJfdCBkb29yYmVsbF9vZmZzZXQ6 MjE7CisJCQl1aW50MzJfdCByZXNlcnZlZDQ6MzsKKwkJCXVpbnQzMl90IHF1ZXVlOjY7CisJCX0g Yml0ZmllbGRzMzsKKwkJdWludDMyX3Qgb3JkaW5hbDM7CisJfTsKKworCXVpbnQzMl90IG1xZF9h ZGRyX2xvOworCXVpbnQzMl90IG1xZF9hZGRyX2hpOworCXVpbnQzMl90IHdwdHJfYWRkcl9sbzsK Kwl1aW50MzJfdCB3cHRyX2FkZHJfaGk7Cit9OworI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0t LS0tLS1NRVNfUVVFUllfU1RBVFVTLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWZuZGVmIFBN NF9NRVNfUVVFUllfU1RBVFVTX0RFRklORUQKKyNkZWZpbmUgUE00X01FU19RVUVSWV9TVEFUVVNf REVGSU5FRAorZW51bSBtZXNfcXVlcnlfc3RhdHVzX2ludGVycnVwdF9zZWxfZW51bSB7CisJaW50 ZXJydXB0X3NlbF9fbWVzX3F1ZXJ5X3N0YXR1c19fY29tcGxldGlvbl9zdGF0dXMgPSAwLAorCWlu dGVycnVwdF9zZWxfX21lc19xdWVyeV9zdGF0dXNfX3Byb2Nlc3Nfc3RhdHVzID0gMSwKKwlpbnRl cnJ1cHRfc2VsX19tZXNfcXVlcnlfc3RhdHVzX19xdWV1ZV9zdGF0dXMgPSAyCit9OworCitlbnVt IG1lc19xdWVyeV9zdGF0dXNfY29tbWFuZF9lbnVtIHsKKwljb21tYW5kX19tZXNfcXVlcnlfc3Rh dHVzX19pbnRlcnJ1cHRfb25seSA9IDAsCisJY29tbWFuZF9fbWVzX3F1ZXJ5X3N0YXR1c19fZmVu Y2Vfb25seV9pbW1lZGlhdGUgPSAxLAorCWNvbW1hbmRfX21lc19xdWVyeV9zdGF0dXNfX2ZlbmNl X29ubHlfYWZ0ZXJfd3JpdGVfYWNrID0gMiwKKwljb21tYW5kX19tZXNfcXVlcnlfc3RhdHVzX19m ZW5jZV93YWl0X2Zvcl93cml0ZV9hY2tfc2VuZF9pbnRlcnJ1cHQgPSAzCit9OworCitlbnVtIG1l c19xdWVyeV9zdGF0dXNfZW5naW5lX3NlbF9lbnVtIHsKKwllbmdpbmVfc2VsX19tZXNfcXVlcnlf c3RhdHVzX19jb21wdXRlID0gMCwKKwllbmdpbmVfc2VsX19tZXNfcXVlcnlfc3RhdHVzX19zZG1h MF9xdWV1ZSA9IDIsCisJZW5naW5lX3NlbF9fbWVzX3F1ZXJ5X3N0YXR1c19fc2RtYTFfcXVldWUg PSAzCit9OworCitzdHJ1Y3QgcG00X21lc19xdWVyeV9zdGF0dXMgeworCXVuaW9uIHsKKwkJdW5p b24gUE00X01FU19UWVBFXzNfSEVBREVSICAgaGVhZGVyOyAgICAgICAgICAgIC8qIGhlYWRlciAq LworCQl1aW50MzJfdCAgICAgICAgICAgIG9yZGluYWwxOworCX07CisKKwl1bmlvbiB7CisJCXN0 cnVjdCB7CisJCQl1aW50MzJfdCBjb250ZXh0X2lkOjI4OworCQkJZW51bSBtZXNfcXVlcnlfc3Rh dHVzX2ludGVycnVwdF9zZWxfZW51bQorCQkJCWludGVycnVwdF9zZWw6MjsKKwkJCWVudW0gbWVz X3F1ZXJ5X3N0YXR1c19jb21tYW5kX2VudW0gY29tbWFuZDoyOworCQl9IGJpdGZpZWxkczI7CisJ CXVpbnQzMl90IG9yZGluYWwyOworCX07CisKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQl1aW50 MzJfdCBwYXNpZDoxNjsKKwkJCXVpbnQzMl90IHJlc2VydmVkMToxNjsKKwkJfSBiaXRmaWVsZHMz YTsKKwkJc3RydWN0IHsKKwkJCXVpbnQzMl90IHJlc2VydmVkMjoyOworCQkJdWludDMyX3QgZG9v cmJlbGxfb2Zmc2V0OjIxOworCQkJdWludDMyX3QgcmVzZXJ2ZWQzOjI7CisJCQllbnVtIG1lc19x dWVyeV9zdGF0dXNfZW5naW5lX3NlbF9lbnVtIGVuZ2luZV9zZWw6MzsKKwkJCXVpbnQzMl90IHJl c2VydmVkNDo0OworCQl9IGJpdGZpZWxkczNiOworCQl1aW50MzJfdCBvcmRpbmFsMzsKKwl9Owor CisJdWludDMyX3QgYWRkcl9sbzsKKwl1aW50MzJfdCBhZGRyX2hpOworCXVpbnQzMl90IGRhdGFf bG87CisJdWludDMyX3QgZGF0YV9oaTsKK307CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0t LS0tLU1FU19VTk1BUF9RVUVVRVMtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZm5kZWYgUE00 X01FU19VTk1BUF9RVUVVRVNfREVGSU5FRAorI2RlZmluZSBQTTRfTUVTX1VOTUFQX1FVRVVFU19E RUZJTkVECitlbnVtIG1lc191bm1hcF9xdWV1ZXNfYWN0aW9uX2VudW0geworCWFjdGlvbl9fbWVz X3VubWFwX3F1ZXVlc19fcHJlZW1wdF9xdWV1ZXMgPSAwLAorCWFjdGlvbl9fbWVzX3VubWFwX3F1 ZXVlc19fcmVzZXRfcXVldWVzID0gMSwKKwlhY3Rpb25fX21lc191bm1hcF9xdWV1ZXNfX2Rpc2Fi bGVfcHJvY2Vzc19xdWV1ZXMgPSAyLAorCWFjdGlvbl9fbWVzX3VubWFwX3F1ZXVlc19fcmVzZXJ2 ZWQgPSAzCit9OworCitlbnVtIG1lc191bm1hcF9xdWV1ZXNfcXVldWVfc2VsX2VudW0geworCXF1 ZXVlX3NlbF9fbWVzX3VubWFwX3F1ZXVlc19fcGVyZm9ybV9yZXF1ZXN0X29uX3NwZWNpZmllZF9x dWV1ZXMgPSAwLAorCXF1ZXVlX3NlbF9fbWVzX3VubWFwX3F1ZXVlc19fcGVyZm9ybV9yZXF1ZXN0 X29uX3Bhc2lkX3F1ZXVlcyA9IDEsCisJcXVldWVfc2VsX19tZXNfdW5tYXBfcXVldWVzX191bm1h cF9hbGxfcXVldWVzID0gMiwKKwlxdWV1ZV9zZWxfX21lc191bm1hcF9xdWV1ZXNfX3VubWFwX2Fs bF9ub25fc3RhdGljX3F1ZXVlcyA9IDMKK307CisKK2VudW0gbWVzX3VubWFwX3F1ZXVlc19lbmdp bmVfc2VsX2VudW0geworCWVuZ2luZV9zZWxfX21lc191bm1hcF9xdWV1ZXNfX2NvbXB1dGUgPSAw LAorCWVuZ2luZV9zZWxfX21lc191bm1hcF9xdWV1ZXNfX3NkbWEwID0gMiwKKwllbmdpbmVfc2Vs X19tZXNfdW5tYXBfcXVldWVzX19zZG1hbCA9IDMKK307CisKK3N0cnVjdCBQTTRfTUVTX1VOTUFQ X1FVRVVFUyB7CisJdW5pb24geworCQl1bmlvbiBQTTRfTUVTX1RZUEVfM19IRUFERVIgICBoZWFk ZXI7ICAgICAgICAgICAgLyogaGVhZGVyICovCisJCXVpbnQzMl90ICAgICAgICAgICAgb3JkaW5h bDE7CisJfTsKKworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJCWVudW0gbWVzX3VubWFwX3F1ZXVl c19hY3Rpb25fZW51bSBhY3Rpb246MjsKKwkJCXVpbnQzMl90IHJlc2VydmVkMToyOworCQkJZW51 bSBtZXNfdW5tYXBfcXVldWVzX3F1ZXVlX3NlbF9lbnVtIHF1ZXVlX3NlbDoyOworCQkJdWludDMy X3QgcmVzZXJ2ZWQyOjIwOworCQkJZW51bSBtZXNfdW5tYXBfcXVldWVzX2VuZ2luZV9zZWxfZW51 bSBlbmdpbmVfc2VsOjM7CisJCQl1aW50MzJfdCBudW1fcXVldWVzOjM7CisJCX0gYml0ZmllbGRz MjsKKwkJdWludDMyX3Qgb3JkaW5hbDI7CisJfTsKKworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJ CXVpbnQzMl90IHBhc2lkOjE2OworCQkJdWludDMyX3QgcmVzZXJ2ZWQzOjE2OworCQl9IGJpdGZp ZWxkczNhOworCQlzdHJ1Y3QgeworCQkJdWludDMyX3QgcmVzZXJ2ZWQ0OjI7CisJCQl1aW50MzJf dCBkb29yYmVsbF9vZmZzZXQwOjIxOworCQkJdWludDMyX3QgcmVzZXJ2ZWQ1Ojk7CisJCX0gYml0 ZmllbGRzM2I7CisJCXVpbnQzMl90IG9yZGluYWwzOworCX07CisKKwl1bmlvbiB7CisJc3RydWN0 IHsKKwkJCXVpbnQzMl90IHJlc2VydmVkNjoyOworCQkJdWludDMyX3QgZG9vcmJlbGxfb2Zmc2V0 MToyMTsKKwkJCXVpbnQzMl90IHJlc2VydmVkNzo5OworCQl9IGJpdGZpZWxkczQ7CisJCXVpbnQz Ml90IG9yZGluYWw0OworCX07CisKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQl1aW50MzJfdCBy ZXNlcnZlZDg6MjsKKwkJCXVpbnQzMl90IGRvb3JiZWxsX29mZnNldDI6MjE7CisJCQl1aW50MzJf dCByZXNlcnZlZDk6OTsKKwkJfSBiaXRmaWVsZHM1OworCQl1aW50MzJfdCBvcmRpbmFsNTsKKwl9 OworCisJdW5pb24geworCQlzdHJ1Y3QgeworCQkJdWludDMyX3QgcmVzZXJ2ZWQxMDoyOworCQkJ dWludDMyX3QgZG9vcmJlbGxfb2Zmc2V0MzoyMTsKKwkJCXVpbnQzMl90IHJlc2VydmVkMTE6OTsK KwkJfSBiaXRmaWVsZHM2OworCQl1aW50MzJfdCBvcmRpbmFsNjsKKwl9OworfTsKKyNlbmRpZgor CisjZW5kaWYKLS0gCjIuNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=