From mboxrd@z Thu Jan 1 00:00:00 1970 From: Saeed Mahameed Subject: [PATCH V2 mlx5-next 09/11] net/mlx5: Eswitch, enable RoCE loopback traffic Date: Mon, 29 Apr 2019 18:14:16 +0000 Message-ID: <20190429181326.6262-10-saeedm@mellanox.com> References: <20190429181326.6262-1-saeedm@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190429181326.6262-1-saeedm@mellanox.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org To: Saeed Mahameed , Leon Romanovsky Cc: Jason Gunthorpe , "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Maor Gottlieb , Mark Bloch List-Id: linux-rdma@vger.kernel.org RnJvbTogTWFvciBHb3R0bGllYiA8bWFvcmdAbWVsbGFub3guY29tPg0KDQpXaGVuIGluIHN3aXRj aGRldiBtb2RlLCB3ZSB3b3VsZCBsaWtlIHRvIHRyZWF0IGxvb3BiYWNrIFJvQ0UNCnRyYWZmaWMg KG9uIGVzd2l0Y2ggbWFuYWdlcikgYXMgUkRNQSBhbmQgbm90IGFzIHJlZ3VsYXINCkV0aGVybmV0 IHRyYWZmaWMNCkluIG9yZGVyIHRvIGVuYWJsZSBpdCB3ZSBhZGQgZmxvdyBzdGVlcmluZyBydWxl IHRoYXQgZm9yd2FyZCBSb0NFDQpsb29wYmFjayB0cmFmZmljIHRvIHRoZSBIVyBSb0NFIGZpbHRl ciAoYnkgYWRkaW5nIGFsbG93IHJ1bGUpLg0KSW4gYWRkaXRpb24gd2UgYWRkIFJvQ0UgYWRkcmVz cyBpbiBHSUQgaW5kZXggMCwgd2hpY2ggd2lsbCBiZQ0Kc2V0IGluIHRoZSBSb0NFIGxvb3BiYWNr IHBhY2tldC4NCg0KU2lnbmVkLW9mZi1ieTogTWFvciBHb3R0bGllYiA8bWFvcmdAbWVsbGFub3gu Y29tPg0KUmV2aWV3ZWQtYnk6IE1hcmsgQmxvY2ggPG1hcmtiQG1lbGxhbm94LmNvbT4NClNpZ25l ZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4u L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvTWFrZWZpbGUgIHwgICAyICstDQogLi4u L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgICA0ICsNCiAuLi4v bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9yZG1hLmMgICAgfCAxODIgKysrKysrKysr KysrKysrKysrDQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcmRtYS5oICAg IHwgIDIwICsrDQogaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oICAgICAgICAgICAgICAgICAg IHwgICA3ICsNCiA1IGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9yZG1hLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL3JkbWEuaA0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL01ha2VmaWxlIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL01ha2VmaWxlDQppbmRleCAxYTE2ZjZkNzNjYmMuLjVmMGJlOWIz NmEwNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9NYWtlZmlsZQ0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L01ha2VmaWxlDQpAQCAtMzUsNyArMzUsNyBAQCBtbHg1X2NvcmUtJChDT05GSUdfTUxYNV9FU1dJ VENIKSAgICAgKz0gZW5fcmVwLm8gZW5fdGMubyBlbi90Y190dW4ubyBsaWIvcG9ydF90dQ0KICMN CiAjIENvcmUgZXh0cmENCiAjDQotbWx4NV9jb3JlLSQoQ09ORklHX01MWDVfRVNXSVRDSCkgICAr PSBlc3dpdGNoLm8gZXN3aXRjaF9vZmZsb2Fkcy5vIGVjcGYubw0KK21seDVfY29yZS0kKENPTkZJ R19NTFg1X0VTV0lUQ0gpICAgKz0gZXN3aXRjaC5vIGVzd2l0Y2hfb2ZmbG9hZHMubyBlY3BmLm8g cmRtYS5vDQogbWx4NV9jb3JlLSQoQ09ORklHX01MWDVfTVBGUykgICAgICArPSBsaWIvbXBmcy5v DQogbWx4NV9jb3JlLSQoQ09ORklHX1ZYTEFOKSAgICAgICAgICArPSBsaWIvdnhsYW4ubw0KIG1s eDVfY29yZS0kKENPTkZJR19QVFBfMTU4OF9DTE9DSykgKz0gbGliL2Nsb2NrLm8NCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZs b2Fkcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hf b2ZmbG9hZHMuYw0KaW5kZXggNmM4YTE3Y2EyMzZlLi45YTE1OThiY2E0ZDEgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZsb2Fk cy5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jDQpAQCAtMzcsNiArMzcsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9tbHg1L2Zz Lmg+DQogI2luY2x1ZGUgIm1seDVfY29yZS5oIg0KICNpbmNsdWRlICJlc3dpdGNoLmgiDQorI2lu Y2x1ZGUgInJkbWEuaCINCiAjaW5jbHVkZSAiZW4uaCINCiAjaW5jbHVkZSAiZnNfY29yZS5oIg0K ICNpbmNsdWRlICJsaWIvZGV2Y29tLmgiDQpAQCAtMTcxMyw2ICsxNzE0LDggQEAgaW50IGVzd19v ZmZsb2Fkc19pbml0KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IHZmX252cG9ydHMsDQog CQllc3ctPmhvc3RfaW5mby5udW1fdmZzID0gdmZfbnZwb3J0czsNCiAJfQ0KIA0KKwltbHg1X3Jk bWFfZW5hYmxlX3JvY2UoZXN3LT5kZXYpOw0KKw0KIAlyZXR1cm4gMDsNCiANCiBlcnJfcmVwczoN CkBAIC0xNzUxLDYgKzE3NTQsNyBAQCB2b2lkIGVzd19vZmZsb2Fkc19jbGVhbnVwKHN0cnVjdCBt bHg1X2Vzd2l0Y2ggKmVzdykNCiAJCW51bV92ZnMgPSBlc3ctPmRldi0+cHJpdi5zcmlvdi5udW1f dmZzOw0KIAl9DQogDQorCW1seDVfcmRtYV9kaXNhYmxlX3JvY2UoZXN3LT5kZXYpOw0KIAllc3df b2ZmbG9hZHNfZGV2Y29tX2NsZWFudXAoZXN3KTsNCiAJZXN3X29mZmxvYWRzX3VubG9hZF9hbGxf cmVwcyhlc3csIG51bV92ZnMpOw0KIAllc3dfb2ZmbG9hZHNfc3RlZXJpbmdfY2xlYW51cChlc3cp Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9y ZG1hLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcmRtYS5jDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi44NmY3NzQ1NmY4NzMNCi0t LSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9yZG1hLmMNCkBAIC0wLDAgKzEsMTgyIEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAgT1IgTGludXgtT3BlbklCDQorLyogQ29weXJpZ2h0IChjKSAyMDE5IE1lbGxhbm94 IFRlY2hub2xvZ2llcyAqLw0KKw0KKyNpbmNsdWRlIDxsaW51eC9tbHg1L3Zwb3J0Lmg+DQorI2lu Y2x1ZGUgPHJkbWEvaWJfdmVyYnMuaD4NCisjaW5jbHVkZSA8bmV0L2FkZHJjb25mLmg+DQorDQor I2luY2x1ZGUgImxpYi9tbHg1LmgiDQorI2luY2x1ZGUgImVzd2l0Y2guaCINCisjaW5jbHVkZSAi ZnNfY29yZS5oIg0KKyNpbmNsdWRlICJyZG1hLmgiDQorDQorc3RhdGljIHZvaWQgbWx4NV9yZG1h X2Rpc2FibGVfcm9jZV9zdGVlcmluZyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KK3sNCisJ c3RydWN0IG1seDVfY29yZV9yb2NlICpyb2NlID0gJmRldi0+cHJpdi5yb2NlOw0KKw0KKwlpZiAo IXJvY2UtPmZ0KQ0KKwkJcmV0dXJuOw0KKw0KKwltbHg1X2RlbF9mbG93X3J1bGVzKHJvY2UtPmFs bG93X3J1bGUpOw0KKwltbHg1X2Rlc3Ryb3lfZmxvd19ncm91cChyb2NlLT5mZyk7DQorCW1seDVf ZGVzdHJveV9mbG93X3RhYmxlKHJvY2UtPmZ0KTsNCit9DQorDQorc3RhdGljIGludCBtbHg1X3Jk bWFfZW5hYmxlX3JvY2Vfc3RlZXJpbmcoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldikNCit7DQor CWludCBpbmxlbiA9IE1MWDVfU1RfU1pfQllURVMoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4pOw0KKwlz dHJ1Y3QgbWx4NV9jb3JlX3JvY2UgKnJvY2UgPSAmZGV2LT5wcml2LnJvY2U7DQorCXN0cnVjdCBt bHg1X2Zsb3dfaGFuZGxlICpmbG93X3J1bGUgPSBOVUxMOw0KKwlzdHJ1Y3QgbWx4NV9mbG93X3Rh YmxlX2F0dHIgZnRfYXR0ciA9IHt9Ow0KKwlzdHJ1Y3QgbWx4NV9mbG93X25hbWVzcGFjZSAqbnMg PSBOVUxMOw0KKwlzdHJ1Y3QgbWx4NV9mbG93X2FjdCBmbG93X2FjdCA9IHt9Ow0KKwlzdHJ1Y3Qg bWx4NV9mbG93X3NwZWMgKnNwZWM7DQorCXN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ0Ow0KKwlz dHJ1Y3QgbWx4NV9mbG93X2dyb3VwICpmZzsNCisJdm9pZCAqbWF0Y2hfY3JpdGVyaWE7DQorCXUz MiAqZmxvd19ncm91cF9pbjsNCisJdm9pZCAqbWlzYzsNCisJaW50IGVycjsNCisNCisJaWYgKCEo TUxYNV9DQVBfRkxPV1RBQkxFX1JETUFfUlgoZGV2LCBmdF9zdXBwb3J0KSAmJg0KKwkgICAgICBN TFg1X0NBUF9GTE9XVEFCTEVfUkRNQV9SWChkZXYsIHRhYmxlX21pc3NfYWN0aW9uX2RvbWFpbikp KQ0KKwkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KKw0KKwlmbG93X2dyb3VwX2luID0ga3Z6YWxsb2Mo aW5sZW4sIEdGUF9LRVJORUwpOw0KKwlpZiAoIWZsb3dfZ3JvdXBfaW4pDQorCQlyZXR1cm4gLUVO T01FTTsNCisJc3BlYyA9IGt2emFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwpOw0KKwlp ZiAoIXNwZWMpIHsNCisJCWt2ZnJlZShmbG93X2dyb3VwX2luKTsNCisJCXJldHVybiAtRU5PTUVN Ow0KKwl9DQorDQorCW5zID0gbWx4NV9nZXRfZmxvd19uYW1lc3BhY2UoZGV2LCBNTFg1X0ZMT1df TkFNRVNQQUNFX1JETUFfUlgpOw0KKwlpZiAoIW5zKSB7DQorCQltbHg1X2NvcmVfZXJyKGRldiwg IkZhaWxlZCB0byBnZXQgUkRNQSBSWCBuYW1lc3BhY2UiKTsNCisJCWVyciA9IC1FT1BOT1RTVVBQ Ow0KKwkJZ290byBmcmVlOw0KKwl9DQorDQorCWZ0X2F0dHIubWF4X2Z0ZSA9IDE7DQorCWZ0ID0g bWx4NV9jcmVhdGVfZmxvd190YWJsZShucywgJmZ0X2F0dHIpOw0KKwlpZiAoSVNfRVJSKGZ0KSkg ew0KKwkJbWx4NV9jb3JlX2VycihkZXYsICJGYWlsZWQgdG8gY3JlYXRlIFJETUEgUlggZmxvdyB0 YWJsZSIpOw0KKwkJZXJyID0gUFRSX0VSUihmdCk7DQorCQlnb3RvIGZyZWU7DQorCX0NCisNCisJ TUxYNV9TRVQoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4sIGZsb3dfZ3JvdXBfaW4sIG1hdGNoX2NyaXRl cmlhX2VuYWJsZSwNCisJCSBNTFg1X01BVENIX01JU0NfUEFSQU1FVEVSUyk7DQorCW1hdGNoX2Ny aXRlcmlhID0gTUxYNV9BRERSX09GKGNyZWF0ZV9mbG93X2dyb3VwX2luLCBmbG93X2dyb3VwX2lu LA0KKwkJCQkgICAgICBtYXRjaF9jcml0ZXJpYSk7DQorCU1MWDVfU0VUX1RPX09ORVMoZnRlX21h dGNoX3BhcmFtLCBtYXRjaF9jcml0ZXJpYSwNCisJCQkgbWlzY19wYXJhbWV0ZXJzLnNvdXJjZV9w b3J0KTsNCisNCisJZmcgPSBtbHg1X2NyZWF0ZV9mbG93X2dyb3VwKGZ0LCBmbG93X2dyb3VwX2lu KTsNCisJaWYgKElTX0VSUihmZykpIHsNCisJCWVyciA9IFBUUl9FUlIoZmcpOw0KKwkJbWx4NV9j b3JlX2VycihkZXYsICJGYWlsZWQgdG8gY3JlYXRlIFJETUEgUlggZmxvdyBncm91cCBlcnIoJWQp XG4iLCBlcnIpOw0KKwkJZ290byBkZXN0cm95X2Zsb3dfdGFibGU7DQorCX0NCisNCisJc3BlYy0+ bWF0Y2hfY3JpdGVyaWFfZW5hYmxlID0gTUxYNV9NQVRDSF9NSVNDX1BBUkFNRVRFUlM7DQorCW1p c2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92YWx1ZSwNCisJ CQkgICAgbWlzY19wYXJhbWV0ZXJzKTsNCisJTUxYNV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBt aXNjLCBzb3VyY2VfcG9ydCwNCisJCSBkZXYtPnByaXYuZXN3aXRjaC0+bWFuYWdlcl92cG9ydCk7 DQorCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF9jcml0 ZXJpYSwNCisJCQkgICAgbWlzY19wYXJhbWV0ZXJzKTsNCisJTUxYNV9TRVRfVE9fT05FUyhmdGVf bWF0Y2hfc2V0X21pc2MsIG1pc2MsIHNvdXJjZV9wb3J0KTsNCisNCisJZmxvd19hY3QuYWN0aW9u ID0gTUxYNV9GTE9XX0NPTlRFWFRfQUNUSU9OX0FMTE9XOw0KKwlmbG93X3J1bGUgPSBtbHg1X2Fk ZF9mbG93X3J1bGVzKGZ0LCBzcGVjLCAmZmxvd19hY3QsIE5VTEwsIDApOw0KKwlpZiAoSVNfRVJS KGZsb3dfcnVsZSkpIHsNCisJCWVyciA9IFBUUl9FUlIoZmxvd19ydWxlKTsNCisJCW1seDVfY29y ZV9lcnIoZGV2LCAiRmFpbGVkIHRvIGFkZCBSb0NFIGFsbG93IHJ1bGUsIGVycj0lZFxuIiwNCisJ CQkgICAgICBlcnIpOw0KKwkJZ290byBkZXN0cm95X2Zsb3dfZ3JvdXA7DQorCX0NCisNCisJa3Zm cmVlKHNwZWMpOw0KKwlrdmZyZWUoZmxvd19ncm91cF9pbik7DQorCXJvY2UtPmZ0ID0gZnQ7DQor CXJvY2UtPmZnID0gZmc7DQorCXJvY2UtPmFsbG93X3J1bGUgPSBmbG93X3J1bGU7DQorDQorCXJl dHVybiAwOw0KKw0KK2Rlc3Ryb3lfZmxvd190YWJsZToNCisJbWx4NV9kZXN0cm95X2Zsb3dfdGFi bGUoZnQpOw0KK2Rlc3Ryb3lfZmxvd19ncm91cDoNCisJbWx4NV9kZXN0cm95X2Zsb3dfZ3JvdXAo ZmcpOw0KK2ZyZWU6DQorCWt2ZnJlZShzcGVjKTsNCisJa3ZmcmVlKGZsb3dfZ3JvdXBfaW4pOw0K KwlyZXR1cm4gZXJyOw0KK30NCisNCitzdGF0aWMgdm9pZCBtbHg1X3JkbWFfZGVsX3JvY2VfYWRk cihzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KK3sNCisJbWx4NV9jb3JlX3JvY2VfZ2lkX3Nl dChkZXYsIDAsIDAsIDAsDQorCQkJICAgICAgIE5VTEwsIE5VTEwsIGZhbHNlLCAwLCAwKTsNCit9 DQorDQorc3RhdGljIHZvaWQgbWx4NV9yZG1hX21ha2VfZGVmYXVsdF9naWQoc3RydWN0IG1seDVf Y29yZV9kZXYgKmRldiwgdW5pb24gaWJfZ2lkICpnaWQpDQorew0KKwl1OCBod19pZFtFVEhfQUxF Tl07DQorDQorCW1seDVfcXVlcnlfbmljX3Zwb3J0X21hY19hZGRyZXNzKGRldiwgMCwgaHdfaWQp Ow0KKwlnaWQtPmdsb2JhbC5zdWJuZXRfcHJlZml4ID0gY3B1X3RvX2JlNjQoMHhmZTgwMDAwMDAw MDAwMDAwTEwpOw0KKwlhZGRyY29uZl9hZGRyX2V1aTQ4KCZnaWQtPnJhd1s4XSwgaHdfaWQpOw0K K30NCisNCitzdGF0aWMgaW50IG1seDVfcmRtYV9hZGRfcm9jZV9hZGRyKHN0cnVjdCBtbHg1X2Nv cmVfZGV2ICpkZXYpDQorew0KKwl1bmlvbiBpYl9naWQgZ2lkOw0KKwl1OCBtYWNbRVRIX0FMRU5d Ow0KKw0KKwltbHg1X3JkbWFfbWFrZV9kZWZhdWx0X2dpZChkZXYsICZnaWQpOw0KKwlyZXR1cm4g bWx4NV9jb3JlX3JvY2VfZ2lkX3NldChkZXYsIDAsDQorCQkJCSAgICAgIE1MWDVfUk9DRV9WRVJT SU9OXzEsDQorCQkJCSAgICAgIDAsIGdpZC5yYXcsIG1hYywNCisJCQkJICAgICAgZmFsc2UsIDAs IDEpOw0KK30NCisNCit2b2lkIG1seDVfcmRtYV9kaXNhYmxlX3JvY2Uoc3RydWN0IG1seDVfY29y ZV9kZXYgKmRldikNCit7DQorCW1seDVfcmRtYV9kaXNhYmxlX3JvY2Vfc3RlZXJpbmcoZGV2KTsN CisJbWx4NV9yZG1hX2RlbF9yb2NlX2FkZHIoZGV2KTsNCisJbWx4NV9uaWNfdnBvcnRfZGlzYWJs ZV9yb2NlKGRldik7DQorfQ0KKw0KK3ZvaWQgbWx4NV9yZG1hX2VuYWJsZV9yb2NlKHN0cnVjdCBt bHg1X2NvcmVfZGV2ICpkZXYpDQorew0KKwlpbnQgZXJyOw0KKw0KKwllcnIgPSBtbHg1X25pY192 cG9ydF9lbmFibGVfcm9jZShkZXYpOw0KKwlpZiAoZXJyKSB7DQorCQltbHg1X2NvcmVfZXJyKGRl diwgIkZhaWxlZCB0byBlbmFibGUgUm9DRTogJWRcbiIsIGVycik7DQorCQlyZXR1cm47DQorCX0N CisNCisJZXJyID0gbWx4NV9yZG1hX2FkZF9yb2NlX2FkZHIoZGV2KTsNCisJaWYgKGVycikgew0K KwkJbWx4NV9jb3JlX2VycihkZXYsICJGYWlsZWQgdG8gYWRkIFJvQ0UgYWRkcmVzczogJWRcbiIs IGVycik7DQorCQlnb3RvIGRpc2FibGVfcm9jZTsNCisJfQ0KKw0KKwllcnIgPSBtbHg1X3JkbWFf ZW5hYmxlX3JvY2Vfc3RlZXJpbmcoZGV2KTsNCisJaWYgKGVycikgew0KKwkJbWx4NV9jb3JlX2Vy cihkZXYsICJGYWlsZWQgdG8gZW5hYmxlIFJvQ0Ugc3RlZXJpbmc6ICVkXG4iLCBlcnIpOw0KKwkJ Z290byBkZWxfcm9jZV9hZGRyOw0KKwl9DQorDQorCXJldHVybjsNCisNCitkZWxfcm9jZV9hZGRy Og0KKwltbHg1X3JkbWFfZGVsX3JvY2VfYWRkcihkZXYpOw0KK2Rpc2FibGVfcm9jZToNCisJbWx4 NV9uaWNfdnBvcnRfZGlzYWJsZV9yb2NlKGRldik7DQorCXJldHVybjsNCit9DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3JkbWEuaCBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9yZG1hLmgNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjc1MGNmZjJhNzFhNA0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3JkbWEuaA0KQEAg LTAsMCArMSwyMCBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIExp bnV4LU9wZW5JQiAqLw0KKy8qIENvcHlyaWdodCAoYykgMjAxOSBNZWxsYW5veCBUZWNobm9sb2dp ZXMuICovDQorDQorI2lmbmRlZiBfX01MWDVfUkRNQV9IX18NCisjZGVmaW5lIF9fTUxYNV9SRE1B X0hfXw0KKw0KKyNpbmNsdWRlICJtbHg1X2NvcmUuaCINCisNCisjaWZkZWYgQ09ORklHX01MWDVf RVNXSVRDSA0KKw0KK3ZvaWQgbWx4NV9yZG1hX2VuYWJsZV9yb2NlKHN0cnVjdCBtbHg1X2NvcmVf ZGV2ICpkZXYpOw0KK3ZvaWQgbWx4NV9yZG1hX2Rpc2FibGVfcm9jZShzdHJ1Y3QgbWx4NV9jb3Jl X2RldiAqZGV2KTsNCisNCisjZWxzZSAvKiBDT05GSUdfTUxYNV9FU1dJVENIICovDQorDQorc3Rh dGljIGlubGluZSB2b2lkIG1seDVfcmRtYV9lbmFibGVfcm9jZShzdHJ1Y3QgbWx4NV9jb3JlX2Rl diAqZGV2KSB7fQ0KK3N0YXRpYyBpbmxpbmUgdm9pZCBtbHg1X3JkbWFfZGlzYWJsZV9yb2NlKHN0 cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpIHt9DQorDQorI2VuZGlmIC8qIENPTkZJR19NTFg1X0VT V0lUQ0ggKi8NCisjZW5kaWYgLyogX19NTFg1X1JETUFfSF9fICovDQpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9tbHg1L2RyaXZlci5oIGIvaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oDQpp bmRleCA1ODJhOTY4MGIxODIuLjdmYTk1MjcwZGQ1OSAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGlu dXgvbWx4NS9kcml2ZXIuaA0KKysrIGIvaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oDQpAQCAt NTEyLDYgKzUxMiwxMiBAQCBzdHJ1Y3QgbWx4NV9ybF90YWJsZSB7DQogCXN0cnVjdCBtbHg1X3Js X2VudHJ5ICAgKnJsX2VudHJ5Ow0KIH07DQogDQorc3RydWN0IG1seDVfY29yZV9yb2NlIHsNCisJ c3RydWN0IG1seDVfZmxvd190YWJsZSAqZnQ7DQorCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmZn Ow0KKwlzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZSAqYWxsb3dfcnVsZTsNCit9Ow0KKw0KIHN0cnVj dCBtbHg1X3ByaXYgew0KIAlzdHJ1Y3QgbWx4NV9lcV90YWJsZQkqZXFfdGFibGU7DQogDQpAQCAt NTY1LDYgKzU3MSw3IEBAIHN0cnVjdCBtbHg1X3ByaXYgew0KIAlzdHJ1Y3QgbWx4NV9sYWcJCSps YWc7DQogCXN0cnVjdCBtbHg1X2RldmNvbQkqZGV2Y29tOw0KIAl1bnNpZ25lZCBsb25nCQlwY2lf ZGV2X2RhdGE7DQorCXN0cnVjdCBtbHg1X2NvcmVfcm9jZQlyb2NlOw0KIAlzdHJ1Y3QgbWx4NV9m Y19zdGF0cwkJZmNfc3RhdHM7DQogCXN0cnVjdCBtbHg1X3JsX3RhYmxlICAgICAgICAgICAgcmxf dGFibGU7DQogDQotLSANCjIuMjAuMQ0KDQo=