From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=fail (p=none dis=none) header.from=gmail.com Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by passt.top (Postfix) with ESMTPS id D43195A0265 for ; Fri, 16 Oct 2026 22:36:32 +0200 (CEST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4a140e7405dso3090375e9.3 for ; Fri, 16 Oct 2026 13:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792182992; x=1792787792; darn=passt.top; h=content-transfer-encoding:mime-version:to:from:subject:cc :message-id:date:content-type:from:to:cc:subject:date:message-id :reply-to:content-type; bh=/HXkSlYjWsWGd1m3ro5bN4YzednWNgTcOgsVNDv0fm4=; b=r/o6kjha5Sla2GkNX9+SR08o2OzXKU0Cr81lp1jlfS4EGxc2F/h/I2RzeKv5aSBe7Q 3cm280Ic4n435cfwU8NS4MD3dpw3toedGL9xvsZdcld0orNDBCOR1EbMKjknbu5+1fpf LUHU9X50n35jMx0K7rGyzYxRf6oOONs84xmWwJPON0o7BDFM7Fpo1f30Z11K1sG/NBqP slpk0ds34DuI5Ya8SxDjQavg0CYCOtIZ0c1Iac8hlAke3SWpaokV7jfVlv9PuAcuyDrK EH8zAesHRoY/D08yOBDC3vVMfuRe/9kP9Ze+JqX9kC9skJzbfn/9Sgj8vPkclCMtnZ7s EhRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792182992; x=1792787792; h=content-transfer-encoding:mime-version:to:from:subject:cc :message-id:date:content-type:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=/HXkSlYjWsWGd1m3ro5bN4YzednWNgTcOgsVNDv0fm4=; b=Eq7Q5XUmQEOSx91qG0WmT1j9Oza7JohNdxxypYxZqF7+YmRFQCGqKFGCHLv0IhIWYk 0XqeTXjVrDqkZzfB7YoE+V4L6qhpug3qtQSP/E8Lhn1O1IV0VcG4qLDrXRX/Qi7/hDaX k7+ZZzuB66bERywbRdr5mtpD9cLhpZMZpXOmA1bTIVnWYvKco++u181V5QcQRKbzz+Aa uZkJgjPAGI5fBfGzYJA63rUrOdx3RalaS5gVyMLOcADmekk3BS/VoNnThLkYk7+PHp8n 7i2XtGbjXQGeMt0Ks8Gu6TKHsuYAW22KEbNv9CG6EO28Ayh4jkFCAFcggRDNabbd7vr2 apfg== X-Gm-Message-State: AFq9FYI0eYf5EzbJK/eNDjq8t+Xcv7FF6SVgs1Xld29UcsLqjEDsGTpS gQ8HiCbxOJCA0FPqll4NxAmzW71O6Bo09EG+e+6TAGnvSuyg51dFFwDz3YSSNw== X-Gm-Gg: AYBFou2o2GDgag3SuKkG6JDof+bBtGKLXg1QPH6iS3FhPDh12VDoT31r2TM7M9gy1k7 iLXVqvGiDTLCsdcyFj45tKqZuGjSmMN0H7imCFUz/4B0zTex46hV6ojZ1yUwEN/bbiF6WhHy0jy LJUX2hyhRgRvXSdQ1Wmapks+3R0fDlcka0kyzBBaVdIv0EC1CaeqrF9o/22nG6ZSbwBTdWn9efR nT/xK+iDEI4kZYdCcyN0RbZBG+QCDsdeQj0XMMiht9Ay91sfjyczMUr1UWT5AKYDTEENuKqd2Kn uB+NSo4lUrjbB0VRhcrRbWso1YMKp9sHpzqg7CnTUXjv1yFMYHNxywkSgqE9DU4Jz4WPP0Z1PcX iPJaVN0A1ceYPU7Wyrzvep2ZaDCoBb5X38PrXBNW7bWpI7Otqq/Pt9rcam+yiJCRm/x8Axa9RyH wXI8QGDGTbtNGXjoeSnDk5RdZENupGnLH/FTDxzfM8lblD7KidT+ji2e+8uc39y9CmwMEp2p/S3 awlvS2YX4mZpSsTleoKXLXSn39jvEnj3Ai/StNHskQ= X-Received: by 2002:a05:600c:8706:b0:49c:fc6c:be19 with SMTP id 5b1f17b1804b1-4a1d76224f0mr18276275e9.31.1792182992136; Fri, 16 Oct 2026 13:36:32 -0700 (PDT) Received: from localhost ([196.157.71.229]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4a1ccc15aa1sm78188425e9.14.2026.10.16.13.36.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Oct 2026 13:36:31 -0700 (PDT) Content-Type: text/plain; charset="utf-8" Date: Fri, 16 Oct 2026 23:36:30 +0300 Message-Id: Subject: [PATCH v2 2/7] conf: Add context fields, epoll types and --vhost-kernel flag to pasta From: "Ammar Yasser" To: MIME-Version: 1.0 Content-Transfer-Encoding: base64 Message-ID-Hash: WBCMGRDIP7DX5V53NU2QSWGDZOGK5ZZ6 X-Message-ID-Hash: WBCMGRDIP7DX5V53NU2QSWGDZOGK5ZZ6 X-MailFrom: aerosound161@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: =?utf-8?q?Eugenio_P=C3=A9rez?= X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: LS12aG9zdC1rZXJuZWwgY29udHJvbHMgd2hldGhlciB0byB1c2Ugdmhvc3QtbmV0IGFjY2VsZXJh dGlvbiBmb3IgcGFzdGEuDQpJdCB0YWtlcyBvbmUgb2YgdGhyZWUgbW9kZXM6ICJvbiIgcmVxdWly ZXMgYWNjZWxlcmF0aW9uIGFuZCBmYWlscyBpZiBpdA0KaXNuJ3QgYXZhaWxhYmxlLCAib2ZmIiBu ZXZlciB1c2VzIGl0LCBhbmQgImF1dG8iIHVzZXMgaXQgaWYgaXQncw0KYXZhaWxhYmxlIGFuZCBm YWxscyBiYWNrIHRvIHBsYWluIHRhcCBvcGVyYXRpb24gb3RoZXJ3aXNlLiAiYXV0byIgaXMgdGhl DQpkZWZhdWx0LCBzbyBhbiB1bm1vZGlmaWVkIGludm9jYXRpb24gcGlja3MgdXAgYWNjZWxlcmF0 aW9uIHdoZXJldmVyIHRoZQ0Ka2VybmVsIG9mZmVycyBpdCwgYW5kIGJlaGF2ZXMgYXMgYmVmb3Jl IHdoZXJlIGl0IGRvZXNuJ3QuDQoNCkVQT0xMX1RZUEVfVkhPU1RfQ0FMTCBtZWFucyB0aGUga2Vy bmVsIHdhbnRzIHRvIG5vdGlmeSB1cyBhYm91dCBkYXRhIGl0DQpoYXMgd3JpdHRlbi4gRVBPTExf VFlQRV9WSE9TVF9FUlJPUiBtZWFucyB0aGUga2VybmVsIGVuY291bnRlcmVkIGFuDQppbnRlcm5h bCBlcnJvciBvbiB2aG9zdCBhbmQgd2FudHMgdG8gdGVsbCB1cyBzb21ldGhpbmcgd2VudCB3cm9u Zy4NCg0KQ29sbGVjdCB0aGUgdmhvc3Qgc3RhdGUgaW4gYSBzaW5nbGUgc3RydWN0IHZob3N0X2N0 eCB3aXRoIHRoZSBmb2xsb3dpbmcNCmZpZWxkczoNCg0KICAtIG1vZGU6ICAgICB3aGljaCBvZiB0 aGUgdGhyZWUgbW9kZXMgYWJvdmUgd2FzIHJlcXVlc3RlZA0KICAtIGZkOiAgICAgICBmaWxlIGRl c2NyaXB0b3IgZm9yIC9kZXYvdmhvc3QtbmV0LCB3aGljaCBkb3VibGVzIGFzIG91cg0KICAgICAg ICAgICAgICBpbmRpY2F0aW9uIHRoYXQgc2V0dXAgc3VjY2VlZGVkDQogIC0gZmVhdHVyZXM6IHZp cnRpbyBmZWF0dXJlIGJpdHMgbmVnb3RpYXRlZCB3aXRoIHZob3N0LW5ldA0KICAtIHZxW106ICAg ICBraWNrLCBjYWxsIGFuZCBlcnIgZXZlbnRmZHMgZm9yIGJvdGggcXVldWVzDQoNCk1vZGlmeSB0 YXBfaGRyX2lvdiB0byBjcmVhdGUgYW4gaW92IHdpdGggdGhlIHNpemUgb2YgYQ0KdmlydGlvX25l dF9tcmdfcnhidWYgaWYgdmhvc3QgaW5pdGlhbGl6YXRpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bCAo d2UgYXJlDQppbiBtb2RlICdvbicgb3IgJ2F1dG8nIGFuZCB3ZSBkaWRuJ3QgbmVlZCB0aGUgdGFw IGZhbGxiYWNrKQ0KDQpNb3ZlIHRoZSBMMl9NQVhfTEVOX1hYIGNvbnN0YW50cyBmcm9tIHRhcC5o IHRvIHBhc3N0LmggdG8gYXZvaWQgdGhlDQpjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gYm90 aCBmaWxlcy4gVkhPU1RfREVTQ19CWVRFUyBpcyBkZWZpbmVkIGFzDQp0aGUgbWF4aW11bSBsMiBm cmFtZSBzaXplICsgdGhlIHNpemUgb2YgdGhlIHZpcnRpbyBuZXQgaGVhZGVyLCBpZiB0aGUNCmxl bmd0aCBjb25zdGFudCByZW1haW5zIGluIHRhcC5oIHBhc3N0Lmggd291bGQgbmVlZCB0byBpbmNs dWRlIGl0LCBidXQNCnRhcC5oIG5lZWRzIHRvIGluY2x1ZGUgcGFzc3QuaCB0byBnZXQgdGhlIGRl ZmluaXRpb24gb2YgYHN0cnVjdCBjdHhgLg0KTW92aW5nIHRoZSBsZW5ndGggY29uc3RhbnRzIHRv IHBhc3N0LmggbWFrZXMgaXQgZnJlZSBvZiBkZXBlbmRlbmN5IG9uDQp0YXAuaA0KDQpTaWduZWQt b2ZmLWJ5OiBFdWdlbmlvIFDDqXJleiA8ZXBlcmV6bWFAcmVkaGF0LmNvbT4NClNpZ25lZC1vZmYt Ynk6IEFtbWFyIFlhc3NlciA8YWVyb3NvdW5kMTYxQGdtYWlsLmNvbT4NCi0tLQ0KIGNvbmYuYyAg ICAgICB8IDE5ICsrKysrKysrKysrKysNCiBlcG9sbF90eXBlLmggfCAgNCArKysNCiBwYXNzdC5j ICAgICAgfCAgMyArKw0KIHBhc3N0LmggICAgICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCiB0YXAuaCAgICAgICAgfCAzNiArKysrKyst LS0tLS0tLS0tLS0tLS0tLS0NCiA1IGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAy OSBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2NvbmYuYyBiL2NvbmYuYw0KaW5kZXggMTQ5 YTRjNy4uZmU1NzhmYyAxMDA2NDQNCi0tLSBhL2NvbmYuYw0KKysrIGIvY29uZi5jDQpAQCAtNzM2 LDYgKzczNiw5IEBAIHBhc3RhX29wdHM6DQogCQkiICAgIGRlZmF1bHQ6IGF1dG9cbiINCiAJCSIg IC0taG9zdC1sby10by1ucy1sbwlUcmFuc2xhdGUgaG9zdC1sb29wYmFjayBmb3J3YXJkcyB0b1xu Ig0KIAkJIgkJCW5hbWVzcGFjZSBsb29wYmFja1xuIg0KKwkJIiAgLS12aG9zdC1rZXJuZWxbPU1P REVdCVVzZSB2aG9zdC1rZXJuZWwgYWNjZWxlcmF0aW9uXG4iDQorCQkiICAgIE1PREUgaXMgXCJv blwiLCBcIm9mZlwiIG9yIFwiYXV0b1wiXG4iDQorCQkiICAgIGRlZmF1bHQ6IGF1dG9cbiINCiAJ CSIgIC0tdXNlcm5zIE5TUEFUSCAJVGFyZ2V0IHVzZXIgbmFtZXNwYWNlIHRvIGpvaW5cbiINCiAJ CSIgIC0tbmV0bnMgUEFUSHxOQU1FCVRhcmdldCBuZXR3b3JrIG5hbWVzcGFjZSB0byBqb2luXG4i DQogCQkiICAtLW5ldG5zLW9ubHkJCURvbid0IGpvaW4gZXhpc3RpbmcgdXNlciBuYW1lc3BhY2Vc biINCkBAIC03NjcsNiArNzcwLDcgQEAgZW51bSBwYXNzdF9tb2RlcyBjb25mX21vZGUoaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkNCiAJaW50IHZob3N0X3VzZXIgPSAwOw0KIAljb25zdCBzdHJ1Y3Qg b3B0aW9uIG9wdHZ1W10gPSB7DQogCQl7InZob3N0LXVzZXIiLAlub19hcmd1bWVudCwJCSZ2aG9z dF91c2VyLAkxIH0sDQorCQl7InZob3N0LWtlcm5lbCIsIG9wdGlvbmFsX2FyZ3VtZW50LAlOVUxM LAkJMCB9LA0KIAkJeyAwIH0sDQogCX07DQogCWNoYXIgYXJndjBbUEFUSF9NQVhdLCAqYmFzZWFy ZzA7DQpAQCAtMTMxNyw2ICsxMzIxLDcgQEAgdm9pZCBjb25mKHN0cnVjdCBjdHggKmMsIGludCBh cmdjLCBjaGFyICoqYXJndikNCiAJCXsiY29uZi1wYXRoIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5V TEwsCQknYycgfSwNCiAJCXsiY2hyb290LWZhbGxiYWNrIiwgbm9fYXJndW1lbnQsCU5VTEwsIAkJ MzIgfSwNCiAJCXsibm8tcGlkbnMiLAlub19hcmd1bWVudCwJCU5VTEwsCQkzMyB9LA0KKwkJeyJ2 aG9zdC1rZXJuZWwiLCBvcHRpb25hbF9hcmd1bWVudCwJTlVMTCwJCTM0IH0sDQogCQl7IDAgfSwN CiAJfTsNCiAJY29uc3QgY2hhciAqb3B0c3RyaW5nID0gIitkcWZlbDpoczpjOkY6STpwOlA6bTph Om46TTpnOmk6bzpEOlM6SDo0NjF0OnU6VDpVOiI7DQpAQCAtMTU2Niw2ICsxNTcxLDIwIEBAIHZv aWQgY29uZihzdHJ1Y3QgY3R4ICpjLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpDQogCQkJCWRpZSgi LS1uby1waWRucyBpcyBmb3IgcGFzdGEgbW9kZSBvbmx5Iik7DQoNCiAJCQljLT5ub19waWRucyA9 IHRydWU7DQorCQkJYnJlYWs7DQorCQljYXNlIDM0Og0KKwkJCWlmIChjLT5tb2RlICE9IE1PREVf UEFTVEEpDQorCQkJCWRpZSgiLS12aG9zdC1rZXJuZWwgaXMgZm9yIHBhc3RhIG1vZGUgb25seSIp Ow0KKw0KKwkJCWlmICghb3B0YXJnIHx8ICFzdHJjbXAob3B0YXJnLCAiYXV0byIpKQ0KKwkJCQlj LT52aG9zdC5tb2RlID0gVkhPU1RfTU9ERV9BVVRPOw0KKwkJCWVsc2UgaWYgKCFzdHJjbXAob3B0 YXJnLCAib24iKSkNCisJCQkJYy0+dmhvc3QubW9kZSA9IFZIT1NUX01PREVfT047DQorCQkJZWxz ZSBpZiAoIXN0cmNtcChvcHRhcmcsICJvZmYiKSkNCisJCQkJYy0+dmhvc3QubW9kZSA9IFZIT1NU X01PREVfT0ZGOw0KKwkJCWVsc2UNCisJCQkJZGllKCJJbnZhbGlkIHZob3N0LWtlcm5lbCBtb2Rl OiAlcyIsIG9wdGFyZyk7DQorDQogCQkJYnJlYWs7DQogCQljYXNlICdkJzoNCiAJCQljLT5kZWJ1 ZyA9IDE7DQpkaWZmIC0tZ2l0IGEvZXBvbGxfdHlwZS5oIGIvZXBvbGxfdHlwZS5oDQppbmRleCAw NjEzMjVhLi5lMzIwNmQxIDEwMDY0NA0KLS0tIGEvZXBvbGxfdHlwZS5oDQorKysgYi9lcG9sbF90 eXBlLmgNCkBAIC01MCw2ICs1MCwxMCBAQCBlbnVtIGVwb2xsX3R5cGUgew0KIAlFUE9MTF9UWVBF X0NPTkZfTElTVEVOLA0KIAkvKiBDb25maWd1cmF0aW9uIHNvY2tldCAqLw0KIAlFUE9MTF9UWVBF X0NPTkYsDQorCS8qIHZob3N0LWtlcm5lbCBjYWxsIHNvY2tldCAqLw0KKwlFUE9MTF9UWVBFX1ZI T1NUX0NBTEwsDQorCS8qIHZob3N0LWtlcm5lbCBlcnJvciBzb2NrZXQgKi8NCisJRVBPTExfVFlQ RV9WSE9TVF9FUlJPUiwNCg0KIAlFUE9MTF9OVU1fVFlQRVMsDQogfTsNCmRpZmYgLS1naXQgYS9w YXNzdC5jIGIvcGFzc3QuYw0KaW5kZXggNTA1NDU1MS4uNjAwMjIzMSAxMDA2NDQNCi0tLSBhL3Bh c3N0LmMNCisrKyBiL3Bhc3N0LmMNCkBAIC02NSw2ICs2NSw3IEBAIGNoYXIgcGt0X2J1ZltQS1Rf QlVGX0JZVEVTXQlfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZChQQUdFX1NJWkUpKSk7DQogc3RydWN0 IGN0eCBwYXNzdF9jdHggPSB7DQogCS5waWRmaWxlX2ZkCQk9IC0xLA0KIAkuZmRfdGFwCQkJPSAt MSwNCisJLnZob3N0CQkJPSB7IC5mZCA9IC0xIH0sDQogCS5mZF90YXBfbGlzdGVuCQk9IC0xLA0K IAkuZmRfY29udHJvbF9saXN0ZW4JPSAtMSwNCiAJLmZkX3JlcGFpcl9saXN0ZW4JPSAtMSwNCkBA IC05Miw2ICs5Myw4IEBAIGNoYXIgKmVwb2xsX3R5cGVfc3RyW10gPSB7DQogCVtFUE9MTF9UWVBF X05MX05FSUdIXQkJPSAibmV0bGluayBuZWlnaGJvdXIgbm90aWZpZXIgc29ja2V0IiwNCiAJW0VQ T0xMX1RZUEVfQ09ORl9MSVNURU5dCT0gImNvbmZpZ3VyYXRpb24gbGlzdGVuaW5nIHNvY2tldCIs DQogCVtFUE9MTF9UWVBFX0NPTkZdCQk9ICJjb25maWd1cmF0aW9uIHNvY2tldCIsDQorCVtFUE9M TF9UWVBFX1ZIT1NUX0NBTExdCQk9ICJ2aG9zdC1rZXJuZWwgY2FsbCBzb2NrZXQiLA0KKwlbRVBP TExfVFlQRV9WSE9TVF9FUlJPUl0JPSAidmhvc3Qta2VybmVsIGVycm9yIHNvY2tldCIsDQogfTsN CiBzdGF0aWNfYXNzZXJ0KEFSUkFZX1NJWkUoZXBvbGxfdHlwZV9zdHIpID09IEVQT0xMX05VTV9U WVBFUywNCiAJICAgICAgImVwb2xsX3R5cGVfc3RyW10gZG9lc24ndCBtYXRjaCBlbnVtIGVwb2xs X3R5cGUiKTsNCmRpZmYgLS1naXQgYS9wYXNzdC5oIGIvcGFzc3QuaA0KaW5kZXggYWZkOGU5Zi4u YmU2ODAwMiAxMDA2NDQNCi0tLSBhL3Bhc3N0LmgNCisrKyBiL3Bhc3N0LmgNCkBAIC0xMyw4ICsx MywxMSBAQCB1bmlvbiBlcG9sbF9yZWY7DQoNCiAjaW5jbHVkZSA8c3RkYm9vbC5oPg0KICNpbmNs dWRlIDxhc3NlcnQuaD4NCisjaW5jbHVkZSA8bGltaXRzLmg+DQogI2luY2x1ZGUgPHN5cy9lcG9s bC5oPg0KDQorI2luY2x1ZGUgPGxpbnV4L3ZpcnRpb19uZXQuaD4NCisNCiAjaW5jbHVkZSAicGlm LmgiDQogI2luY2x1ZGUgInBhY2tldC5oIg0KICNpbmNsdWRlICJzaXBoYXNoLmgiDQpAQCAtMzUs OCArMzgsNDMgQEAgdW5pb24gZXBvbGxfcmVmOw0KICNkZWZpbmUgTUFDX09VUl9MQUEJXA0KIAko KHVpbnQ4X3QgW0VUSF9BTEVOXSl7MHg5YSwgMHg1NSwgMHg5YSwgMHg1NSwgMHg5YSwgMHg1NX0p DQoNCi0vKiBMYXJnZSBlbm91Z2ggZm9yIH4xMjggbWF4aW11bSBzaXplIGZyYW1lcyAqLw0KLSNk ZWZpbmUgUEtUX0JVRl9CWVRFUwkJKDhVTCA8PCAyMCkNCisNCisvKiogTDJfTUFYX0xFTl9QQVNU QSAtIE1heGltdW0gZnJhbWUgbGVuZ3RoIGZvciBwYXN0YSBtb2RlICh3aXRoIEwyIGhlYWRlcikN CisgKg0KKyAqIFRoZSBrZXJuZWwgdHVudGFwIGRldmljZSBpbXBvc2VzIGEgbWF4aW11bSBmcmFt ZSBzaXplIG9mIDY1NTM1IGluY2x1ZGluZw0KKyAqICdoYXJkX2hlYWRlcl9sZW4nICgxNCBieXRl cyBmb3IgTDIgRXRoZXJuZXQgaW4gdGhlIGNhc2Ugb2YgInRhcCIgbW9kZSkuDQorICovDQorI2Rl ZmluZSBMMl9NQVhfTEVOX1BBU1RBCVVTSFJUX01BWA0KKw0KKy8qKiBMMl9NQVhfTEVOX1BBU1NU IC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9yIHBhc3N0IG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0K KyAqDQorICogVGhlIG9ubHkgc3RydWN0dXJhbCBsaW1pdCB0aGUgUUVNVSBzb2NrZXQgcHJvdG9j b2wgaW1wb3NlcyBvbiBmcmFtZXMgaXMNCisgKiAoMl4zMi0xKSBieXRlcywgYnV0IHRoYXQgd291 bGQgYmUgbHVkaWNyb3VzbHkgbG9uZyBpbiBwcmFjdGljZS4gIEZvciBub3csDQorICogbGltaXQg aXQgc29tZXdoYXQgYXJiaXRyYXJpbHkgdG8gNjU1MzUgYnl0ZXMuICBGSVhNRTogV29yayBvdXQg YW4gYXBwcm9wcmlhdGUNCisgKiBsaW1pdCB3aXRoIG1vcmUgcHJlY2lzaW9uLg0KKyAqLw0KKyNk ZWZpbmUgTDJfTUFYX0xFTl9QQVNTVAlVU0hSVF9NQVgNCisNCisvKiogTDJfTUFYX0xFTl9WVSAt IE1heGltdW0gZnJhbWUgbGVuZ3RoIGZvciB2aG9zdC11c2VyIG1vZGUgKHdpdGggTDIgaGVhZGVy KQ0KKyAqDQorICogdmhvc3QtdXNlciBhbGxvd3MgbXVsdGlwbGUgYnVmZmVycyBwZXIgZnJhbWUs IGVhY2ggb2Ygd2hpY2ggY2FuIGJlIHF1aXRlDQorICogbGFyZ2UsIHNvIHRoZSBpbmhlcmVudCBm cmFtZSBzaXplIGxpbWl0IGlzIHJhdGhlciBsYXJnZS4gIE11Y2ggbGFyZ2VyIHRoYW4gaXMNCisg KiBhY3R1YWxseSB1c2VmdWwgZm9yIElQLiAgRm9yIG5vdyBsaW1pdCBhcmJpdHJhcmlseSB0byA2 NTUzNSBieXRlcy4gRklYTUU6DQorICogV29yayBvdXQgYW4gYXBwcm9wcmlhdGUgbGltaXQgd2l0 aCBtb3JlIHByZWNpc2lvbi4NCisgKi8NCisjZGVmaW5lIEwyX01BWF9MRU5fVlUJCVVTSFJUX01B WA0KKw0KKy8qIE51bWJlciBvZiBkZXNjcmlwdG9ycyBpbiBlYWNoIHZob3N0LW5ldCB2aXJ0cXVl dWUgKi8NCisjZGVmaW5lIFZIT1NUX05ERVNDUwkJMTI4DQorDQorLyogQnl0ZXMgb2YgcGt0X2J1 ZiBiYWNraW5nIG9uZSBmcm9tLWd1ZXN0IGRlc2NyaXB0b3I6IGEgbWF4aW11bSBzaXplIGZyYW1l DQorICogcGx1cyB0aGUgdmlydGlvLW5ldCBoZWFkZXIgdGhlIGtlcm5lbCB3cml0ZXMgaW4gZnJv bnQgb2YgaXQNCisgKi8NCisjZGVmaW5lIFZIT1NUX0RFU0NfQllURVMJKEwyX01BWF9MRU5fUEFT VEEgKwkJCVwNCisJCQkJIHNpemVvZihzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmKSkN CisNCisvKiBPbmUgbWF4aW11bSBzaXplIGZyYW1lIHBlciB2aG9zdC1uZXQgZGVzY3JpcHRvciAq Lw0KKyNkZWZpbmUgUEtUX0JVRl9CWVRFUwkJKFZIT1NUX05ERVNDUyAqIFZIT1NUX0RFU0NfQllU RVMpDQoNCiBleHRlcm4gY2hhciBwa3RfYnVmCQlbUEtUX0JVRl9CWVRFU107DQoNCkBAIC0xNTYs NiArMTk0LDQwIEBAIHN0cnVjdCBpcDZfY3R4IHsNCg0KICNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0 aGVyLmg+DQoNCisvKioNCisgKiBlbnVtIHZob3N0X21vZGUgLSBXaGV0aGVyIHRvIHVzZSB2aG9z dC1rZXJuZWwgYWNjZWxlcmF0aW9uDQorICogQFZIT1NUX01PREVfQVVUTzoJVXNlIGl0IGlmIGl0 J3MgYXZhaWxhYmxlLCBmYWxsIGJhY2sgdG8gcGxhaW4gdGFwIGlmIG5vdA0KKyAqIEBWSE9TVF9N T0RFX09OOglSZXF1aXJlIGl0LCBmYWlsIGlmIGl0J3Mgbm90IGF2YWlsYWJsZQ0KKyAqIEBWSE9T VF9NT0RFX09GRjoJTmV2ZXIgdXNlIGl0DQorICovDQorZW51bSB2aG9zdF9tb2RlIHsNCisJVkhP U1RfTU9ERV9BVVRPID0gMCwNCisJVkhPU1RfTU9ERV9PTiwNCisJVkhPU1RfTU9ERV9PRkYsDQor fTsNCisNCisvKioNCisgKiBzdHJ1Y3Qgdmhvc3RfY3R4IC0gRXhlY3V0aW9uIGNvbnRleHQgZm9y IHZob3N0LWtlcm5lbCBhY2NlbGVyYXRpb24NCisgKiBAbW9kZToJV2hldGhlciB0byB1c2UgYWNj ZWxlcmF0aW9uIGF0IGFsbCwgc2VlIGVudW0gdmhvc3RfbW9kZQ0KKyAqIEBmZDoJCUZpbGUgZGVz Y3JpcHRvciBmb3IgL2Rldi92aG9zdC1uZXQsIC0xIGlmIG5vdCBzZXQgdXANCisgKiBAZmVhdHVy ZXM6CXZpcnRpbyBmZWF0dXJlIGJpdHMgbmVnb3RpYXRlZCB3aXRoIHZob3N0LW5ldA0KKyAqIEB2 cToJCVBlci12aXJ0cXVldWUgZXZlbnRmZHMgKFswXSBpcyBmcm9tLWd1ZXN0LCBbMV0gaXMgdG8t Z3Vlc3QpDQorICogQHZxLmtpY2tfZmQ6CVdyaXR0ZW4gYnkgdXMsIHRvIHRlbGwgdGhlIGtlcm5l bCB3ZSBxdWV1ZWQgc29tZXRoaW5nDQorICogQHZxLmNhbGxfZmQ6CVdyaXR0ZW4gYnkgdGhlIGtl cm5lbCwgdG8gdGVsbCB1cyBpdCBxdWV1ZWQgc29tZXRoaW5nDQorICogQHZxLmVycl9mZDoJV3Jp dHRlbiBieSB0aGUga2VybmVsIG9uIGFuIGludGVybmFsIHZob3N0IGVycm9yDQorICovDQorc3Ry dWN0IHZob3N0X2N0eCB7DQorCWVudW0gdmhvc3RfbW9kZSBtb2RlOw0KKwlpbnQgZmQ7DQorCXVp bnQ2NF90IGZlYXR1cmVzOw0KKw0KKwlzdHJ1Y3Qgew0KKwkJaW50IGtpY2tfZmQ7DQorCQlpbnQg Y2FsbF9mZDsNCisJCWludCBlcnJfZmQ7DQorCX0gdnFbMl07DQorfTsNCisNCiAvKioNCiAgKiBz dHJ1Y3QgY3R4IC0gRXhlY3V0aW9uIGNvbnRleHQNCiAgKiBAbW9kZToJCU9wZXJhdGlvbiBtb2Rl LCBxZW11L1VOSVggZG9tYWluIHNvY2tldCBvciBuYW1lc3BhY2UvdGFwDQpAQCAtMTg1LDYgKzI1 Nyw3IEBAIHN0cnVjdCBpcDZfY3R4IHsNCiAgKiBAb3VyX3RhcF9tYWM6CVBhc3RhL3Bhc3N0J3Mg TUFDIG9uIHRoZSB0YXAgbGluaw0KICAqIEBndWVzdF9tYWM6CQlNQUMgYWRkcmVzcyBvZiBndWVz dCBvciBuYW1lc3BhY2UsIHNlZW4gb3IgY29uZmlndXJlZA0KICAqIEBoYXNoX3NlY3JldDoJMTI4 LWJpdCBzZWNyZXQgZm9yIHNpcGhhc2ggZnVuY3Rpb25zDQorICogQHZob3N0OgkJdmhvc3Qta2Vy bmVsIGFjY2VsZXJhdGlvbiBjb250ZXh0LCBwYXN0YSBtb2RlIG9ubHkNCiAgKiBAaWZpNDoJCVRl bXBsYXRlIGludGVyZmFjZSBmb3IgSVB2NCwgLTE6IG5vbmUsIDA6IElQdjQgZGlzYWJsZWQNCiAg KiBAaXA0OgkJSVB2NCBjb25maWd1cmF0aW9uDQogICogQGRuc19zZWFyY2g6CQlETlMgc2VhcmNo IGxpc3QNCkBAIC0yNjUsNiArMzM4LDggQEAgc3RydWN0IGN0eCB7DQoNCiAJdWludDY0X3QgaGFz aF9zZWNyZXRbMl07DQoNCisJc3RydWN0IHZob3N0X2N0eCB2aG9zdDsNCisNCiAJaW50IGlmaTQ7 DQogCXN0cnVjdCBpcDRfY3R4IGlwNDsNCg0KZGlmZiAtLWdpdCBhL3RhcC5oIGIvdGFwLmgNCmlu ZGV4IDE2MjU5NzUuLmY4YzMwZTIgMTAwNjQ0DQotLS0gYS90YXAuaA0KKysrIGIvdGFwLmgNCkBA IC0xMiwzMSArMTIsNiBAQA0KICNpbmNsdWRlICJwYXNzdC5oIg0KICNpbmNsdWRlICJ0YXBfaGRy LmgiDQoNCi0vKiogTDJfTUFYX0xFTl9QQVNUQSAtIE1heGltdW0gZnJhbWUgbGVuZ3RoIGZvciBw YXN0YSBtb2RlICh3aXRoIEwyIGhlYWRlcikNCi0gKg0KLSAqIFRoZSBrZXJuZWwgdHVudGFwIGRl dmljZSBpbXBvc2VzIGEgbWF4aW11bSBmcmFtZSBzaXplIG9mIDY1NTM1IGluY2x1ZGluZw0KLSAq ICdoYXJkX2hlYWRlcl9sZW4nICgxNCBieXRlcyBmb3IgTDIgRXRoZXJuZXQgaW4gdGhlIGNhc2Ug b2YgInRhcCIgbW9kZSkuDQotICovDQotI2RlZmluZSBMMl9NQVhfTEVOX1BBU1RBCVVTSFJUX01B WA0KLQ0KLS8qKiBMMl9NQVhfTEVOX1BBU1NUIC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9yIHBh c3N0IG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0KLSAqDQotICogVGhlIG9ubHkgc3RydWN0dXJhbCBs aW1pdCB0aGUgUUVNVSBzb2NrZXQgcHJvdG9jb2wgaW1wb3NlcyBvbiBmcmFtZXMgaXMNCi0gKiAo Ml4zMi0xKSBieXRlcywgYnV0IHRoYXQgd291bGQgYmUgbHVkaWNyb3VzbHkgbG9uZyBpbiBwcmFj dGljZS4gIEZvciBub3csDQotICogbGltaXQgaXQgc29tZXdoYXQgYXJiaXRyYXJpbHkgdG8gNjU1 MzUgYnl0ZXMuICBGSVhNRTogV29yayBvdXQgYW4gYXBwcm9wcmlhdGUNCi0gKiBsaW1pdCB3aXRo IG1vcmUgcHJlY2lzaW9uLg0KLSAqLw0KLSNkZWZpbmUgTDJfTUFYX0xFTl9QQVNTVAlVU0hSVF9N QVgNCi0NCi0vKiogTDJfTUFYX0xFTl9WVSAtIE1heGltdW0gZnJhbWUgbGVuZ3RoIGZvciB2aG9z dC11c2VyIG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0KLSAqDQotICogdmhvc3QtdXNlciBhbGxvd3Mg bXVsdGlwbGUgYnVmZmVycyBwZXIgZnJhbWUsIGVhY2ggb2Ygd2hpY2ggY2FuIGJlIHF1aXRlDQot ICogbGFyZ2UsIHNvIHRoZSBpbmhlcmVudCBmcmFtZSBzaXplIGxpbWl0IGlzIHJhdGhlciBsYXJn ZS4gIE11Y2ggbGFyZ2VyIHRoYW4gaXMNCi0gKiBhY3R1YWxseSB1c2VmdWwgZm9yIElQLiAgRm9y IG5vdyBsaW1pdCBhcmJpdHJhcmlseSB0byA2NTUzNSBieXRlcy4gRklYTUU6DQotICogV29yayBv dXQgYW4gYXBwcm9wcmlhdGUgbGltaXQgd2l0aCBtb3JlIHByZWNpc2lvbi4NCi0gKi8NCi0jZGVm aW5lIEwyX01BWF9MRU5fVlUJCVVTSFJUX01BWA0KLQ0KIHN0cnVjdCB1ZHBoZHI7DQoNCiAvKioN CkBAIC01MCwxMCArMjUsMTcgQEAgc3RydWN0IHVkcGhkcjsNCiBzdGF0aWMgaW5saW5lIHN0cnVj dCBpb3ZlYyB0YXBfaGRyX2lvdihjb25zdCBzdHJ1Y3QgY3R4ICpjLA0KIAkJCQkgICAgICAgc3Ry dWN0IHRhcF9oZHIgKnRoZHIpDQogew0KLQlyZXR1cm4gKHN0cnVjdCBpb3ZlYyl7DQorCXN0cnVj dCBpb3ZlYyByZXQgPSB7DQogCQkuaW92X2Jhc2UgPSB0aGRyLA0KLQkJLmlvdl9sZW4gPSBjLT5t b2RlID09IE1PREVfUEFTU1QgPyBzaXplb2YoKnRoZHIpIDogMCwNCiAJfTsNCisNCisJaWYgKGMt PnZob3N0LmZkICE9IC0xKSB7DQorCQlyZXQuaW92X2xlbiA9IHNpemVvZihzdHJ1Y3QgdmlydGlv X25ldF9oZHJfbXJnX3J4YnVmKTsNCisJfSBlbHNlIHsNCisJCXJldC5pb3ZfbGVuID0gYy0+bW9k ZSA9PSBNT0RFX1BBU1NUID8gc2l6ZW9mKHRoZHItPnZuZXRfbGVuKSA6IDA7DQorCX0NCisNCisJ cmV0dXJuIHJldDsNCiB9DQoNCiAvKioNCi0tDQoyLjM5LjUgKEFwcGxlIEdpdC0xNTQpDQoNCg0K