From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5 01/16] docs: create Memory Bandwidth Allocation (MBA) feature document Date: Sat, 30 Sep 2017 09:39:11 +0800 Message-ID: <1506735566-5706-2-git-send-email-yi.y.sun@linux.intel.com> References: <1506735566-5706-1-git-send-email-yi.y.sun@linux.intel.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 1dy73f-0004Ll-Vk for xen-devel@lists.xenproject.org; Sat, 30 Sep 2017 01:59:12 +0000 In-Reply-To: <1506735566-5706-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Yi Sun , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Jackson , Julien Grall , Jan Beulich , Chao Peng , Wei Liu , Daniel De Graaf , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBjcmVhdGVzIE1CQSBmZWF0dXJlIGRvY3VtZW50IGluIGRvYy9mZWF0dXJlcy8u IEl0IGRlc2NyaWJlcwprZXkgcG9pbnRzIHRvIGltcGxlbWVudCBNQkEgd2hpY2ggaXMgZGVzY3Jp YmVkIGluIGRldGFpbHMgaW4gSW50ZWwgU0RNCiJJbnRyb2R1Y3Rpb24gdG8gTWVtb3J5IEJhbmR3 aWR0aCBBbGxvY2F0aW9uIi4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXgu aW50ZWwuY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPgpDQzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5j b20+CkNDOiBEYW5pZWwgRGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4KQ0M6IFJvZ2Vy IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpDQzogS29ucmFkIFJ6ZXN6dXRlayBX aWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDQzogQ2hhbyBQZW5nIDxjaGFvLnAucGVuZ0Bs aW51eC5pbnRlbC5jb20+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoK djU6CiAgICAtIGNvcnJlY3Qgc29tZSB3b3Jkcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQ YXUgTW9ubsOpKQogICAgLSBjaGFuZ2UgJ3hsIHBzci1tYmEtc2V0IDEgMHhhJyB0byAneGwgcHNy LW1iYS1zZXQgMSAxMCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKdjQ6 CiAgICAtIGFkZCAnZG9tYWluLW5hbWUnIGFzIHBhcmFtZXRlciBvZiAncHNyLW1iYS1zaG93L3Bz ci1tYmEtc2V0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBm aXggc29tZSB3b3JkaW5ncy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQog ICAgLSBleHBsYWluIGhvdyB1c2VyIGNhbiBrbm93IHRoZSBNQkFfTUFYLgogICAgICAoc3VnZ2Vz dGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIG1vdmUgdGhlIGRlc2NyaXB0aW9uIG9mICdM aW5lYXIgbW9kZS9Ob24tbGluZWFyIG1vZGUnIGludG8gc2VjdGlvbgogICAgICBvZiAncHNyLW1i YS1zaG93Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBjaGFu Z2UgJ3Blci10aHJlYWQnIHRvICdwZXItaHlwZXItdGhyZWFkJyB0byBtYWtlIGl0IGNsZWFyZXIu CiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKICAgIC0gdXBncmFkZSByZXZp c2lvbiBudW1iZXIuCnYzOgogICAgLSByZW1vdmUgJ2Nsb3NlZC1sb29wJyByZWxhdGVkIGRlc2Ny aXB0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIGV4cGxh aW4gJ2xpbmVhcicgYW5kICdub24tbGluZWFyJyBiZWZvcmUgbWVudGlvbmluZyB0aGVtLgogICAg ICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIGFkanVzdCBkZXNyaXB0aW9u IG9mICdwc3ItbWJhLXNldCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkK ICAgIC0gZXhwbGFpbiAnTUJBX01BWCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1v bm7DqSkKICAgIC0gcmVtb3ZlICduPDY0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUg TW9ubsOpKQogICAgLSBmaXggc29tZSB3b3JkaW5ncy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dl ciBQYXUgTW9ubsOpKQogICAgLSBhZGQgY29udGV4dCBpbiAnVGVzdGluZycgcGFydCB0byBtYWtl IHRoaW5ncyBtb3JlIGNsZWFyLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kp CnYyOgogICAgLSBkZWNsYXJlICdIVycgaW4gVGVybWlub2xvZ3kuCiAgICAgIChzdWdnZXN0ZWQg YnkgQ2hhbyBQZW5nKQogICAgLSByZXBsYWNlICdDT1MgSUQgb2YgVkNQVScgdG8gJ0NPUyBJRCBv ZiBkb21haW4nLgogICAgICAoc3VnZ2VzdGVkIGJ5IENoYW8gUGVuZykKICAgIC0gcmVwbGFjZSAn Q09TIHJlZ2lzdGVyJyB0byAnVGhydGwgTVNSJy4KICAgICAgKHN1Z2dlc3RlZCBieSBDaGFvIFBl bmcpCiAgICAtIGFkZCBkZXNjcmlwdGlvbiBmb3IgJ3Bzci1tYmEtc2hvdycgdG8gc3RhdGUgdGhh dCB0aGUgZGVjaW1hbCB2YWx1ZSBpcwogICAgICBzaG93biBmb3IgbGluZWFyIG1vZGUgYnV0IGhl eGFkZWNpbWFsIHZhbHVlIGlzIHNob3duIGZvciBub24tbGluZWFyIG1vZGUuCiAgICAgIChzdWdn ZXN0ZWQgYnkgQ2hhbyBQZW5nKQogICAgLSByZW1vdmUgY29udGVudCBpbiAnQXJlYXMgZm9yIGlt cHJvdmVtZW50Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBDaGFvIFBlbmcpCiAgICAtIHVzZSAnPD4n IHRvIHNwZWNpZnkgbWFuZGF0b3J5IGFyZ3VtZW50IHRvIGEgY29tbWFuZC4KICAgICAgKHN1Z2dl c3RlZCBieSBXZWkgTGl1KQp2MToKICAgIC0gcmVtb3ZlIGEgc3BlY2lhbCBjaGFyYWN0ZXIgdG8g YXZvaWQgdGhlIGVycm9yIHdoZW4gYnVpbGRpbmcgcGFuZG9jLgotLS0KIGRvY3MvZmVhdHVyZXMv aW50ZWxfcHNyX21iYS5wYW5kb2MgfCAyOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI5NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgZG9jcy9mZWF0dXJlcy9pbnRlbF9wc3JfbWJhLnBhbmRvYwoKZGlmZiAtLWdpdCBhL2Rv Y3MvZmVhdHVyZXMvaW50ZWxfcHNyX21iYS5wYW5kb2MgYi9kb2NzL2ZlYXR1cmVzL2ludGVsX3Bz cl9tYmEucGFuZG9jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YmQ0ZGMK LS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL2ZlYXR1cmVzL2ludGVsX3Bzcl9tYmEucGFuZG9jCkBA IC0wLDAgKzEsMjk1IEBACislIEludGVsIE1lbW9yeSBCYW5kd2lkdGggQWxsb2NhdGlvbiAoTUJB KSBGZWF0dXJlCislIFJldmlzaW9uIDEuNworCitcY2xlYXJwYWdlCisKKyMgQmFzaWNzCisKKy0t LS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICAgICAgICAgU3RhdHVzOiAqKlRlY2ggUHJldmlldyoqCisKK0FyY2hpdGVj dHVyZShzKTogSW50ZWwgeDg2CisKKyAgIENvbXBvbmVudChzKTogSHlwZXJ2aXNvciwgdG9vbHN0 YWNrCisKKyAgICAgICBIYXJkd2FyZTogTUJBIGlzIHN1cHBvcnRlZCBvbiBTa3lsYWtlIFNlcnZl ciBhbmQgYmV5b25kCistLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBUZXJtaW5vbG9neQorCisqIENBVCAgICAg ICAgIENhY2hlIEFsbG9jYXRpb24gVGVjaG5vbG9neQorKiBDQk0gICAgICAgICBDYXBhY2l0eSBC aXRNYXNrcworKiBDRFAgICAgICAgICBDb2RlIGFuZCBEYXRhIFByaW9yaXRpemF0aW9uCisqIENP Uy9DTE9TICAgIENsYXNzIG9mIFNlcnZpY2UKKyogSFcgICAgICAgICAgSGFyZHdhcmUKKyogTUJB ICAgICAgICAgTWVtb3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uCisqIE1TUnMgICAgICAgIE1hY2hp bmUgU3BlY2lmaWMgUmVnaXN0ZXJzCisqIFBTUiAgICAgICAgIEludGVsIFBsYXRmb3JtIFNoYXJl ZCBSZXNvdXJjZQorKiBUSFJUTCAgICAgICBUaHJvdHRsZSB2YWx1ZSBvciBkZWxheSB2YWx1ZQor CisjIE92ZXJ2aWV3CisKK1RoZSBNZW1vcnkgQmFuZHdpZHRoIEFsbG9jYXRpb24gKE1CQSkgZmVh dHVyZSBwcm92aWRlcyBpbmRpcmVjdCBhbmQgYXBwcm94aW1hdGUKK2NvbnRyb2wgb3ZlciBtZW1v cnkgYmFuZHdpZHRoIGF2YWlsYWJsZSBwZXItY29yZS4gVGhpcyBmZWF0dXJlIHByb3ZpZGVzIE9T LworaHlwZXJ2aXNvciB0aGUgYWJpbGl0eSB0byBzbG93IG1pc2JlaGF2aW5nIGFwcHMvZG9tYWlu cyBieSB1c2luZyBhIGNyZWRpdC1iYXNlZAordGhyb3R0bGluZyBtZWNoYW5pc20uCisKKyMgVXNl ciBkZXRhaWxzCisKKyogRmVhdHVyZSBFbmFibGluZzoKKworICBBZGQgInBzcj1tYmEiIHRvIGJv b3QgbGluZSBwYXJhbWV0ZXIgdG8gZW5hYmxlIE1CQSBmZWF0dXJlLgorCisqIHhsIGludGVyZmFj ZXM6CisKKyAgMS4gYHBzci1tYmEtc2hvdyBbZG9tYWluLWlkfGRvbWFpbi1uYW1lXWA6CisKKyAg ICAgU2hvdyBtZW1vcnkgYmFuZHdpZHRoIHRocm90dGxpbmcgZm9yIGRvbWFpbi4gVW5kZXIgZGlm ZmVyZW50IG1vZGVzLCBpdAorICAgICBzaG93cyBkaWZmZXJlbnQgdHlwZSBvZiBkYXRhLgorCisg ICAgIFRoZXJlIGFyZSB0d28gbW9kZXM6CisgICAgIExpbmVhciBtb2RlOiB0aGUgaW5wdXQgcHJl Y2lzaW9uIGlzIGRlZmluZWQgYXMgMTAwLShNQkFfTUFYKS4gRm9yIGluc3RhbmNlLAorICAgICBp ZiB0aGUgTUJBX01BWCB2YWx1ZSBpcyA5MCwgdGhlIGlucHV0IHByZWNpc2lvbiBpcyAxMCUuIFZh bHVlcyBub3QgYW4gZXZlbgorICAgICBtdWx0aXBsZSBvZiB0aGUgcHJlY2lzaW9uIChlLmcuLCAx MiUpIHdpbGwgYmUgcm91bmRlZCBkb3duIChlLmcuLCB0byAxMCUKKyAgICAgZGVsYXkgYXBwbGll ZCkgYnkgSFcgYXV0b21hdGljYWxseS4gVGhlIHJlc3BvbnNlIG9mIHRocm90dGxpbmcgdmFsdWUg aXMKKyAgICAgbGluZWFyLgorCisgICAgIE5vbi1saW5lYXIgbW9kZTogaW5wdXQgZGVsYXkgdmFs dWVzIGFyZSBwb3dlcnMtb2YtdHdvIGZyb20gemVybyB0byB0aGUKKyAgICAgTUJBX01BWCB2YWx1 ZSBmcm9tIENQVUlELiBJbiB0aGlzIGNhc2UgYW55IHZhbHVlcyBub3QgYSBwb3dlciBvZiB0d28g d2lsbAorICAgICBiZSByb3VuZGVkIGRvd24gdGhlIG5leHQgbmVhcmVzdCBwb3dlciBvZiB0d28g YnkgSFcgYXV0b21hdGljYWxseS4gVGhlCisgICAgIHJlc3BvbnNlIG9mIHRocm90dGxpbmcgdmFs dWUgaXMgbm9uLWxpbmVhci4KKworICAgICBGb3IgbGluZWFyIG1vZGUsIGl0IHNob3dzIHRoZSBk ZWNpbWFsIHZhbHVlLiBGb3Igbm9uLWxpbmVhciBtb2RlLCBpdCBzaG93cworICAgICBoZXhhZGVj aW1hbCB2YWx1ZS4KKworICAyLiBgcHNyLW1iYS1zZXQgW09QVElPTlNdIDxkb21haW4taWR8ZG9t YWluLW5hbWU+IDx0aHJvdHRsaW5nPmA6CisKKyAgICAgU2V0IG1lbW9yeSBiYW5kd2lkdGggdGhy b3R0bGluZyBmb3IgZG9tYWluLgorCisgICAgIE9wdGlvbnM6CisgICAgICctcyc6IFNwZWNpZnkg dGhlIHNvY2tldCB0byBwcm9jZXNzLCBvdGhlcndpc2UgYWxsIHNvY2tldHMgYXJlIHByb2Nlc3Nl ZC4KKworICAgICBUaHJvdHRsaW5nIHZhbHVlIHNldCBpbiByZWdpc3RlciBpbXBsaWVzIHRoZSBh cHByb3hpbWF0ZSBhbW91bnQgb2YgZGVsYXlpbmcKKyAgICAgdGhlIHRyYWZmaWMgYmV0d2VlbiBj b3JlIGFuZCBtZW1vcnkuIEhpZ2hlciB0aHJvdHRsaW5nIHZhbHVlIHJlc3VsdCBpbgorICAgICBs b3dlciBiYW5kd2lkdGguIFRoZSBtYXggdGhyb3R0bGluZyB2YWx1ZSAoTUJBX01BWCkgc3VwcG9y dGVkIGNhbiBiZQorICAgICBvYnRhaW5lZCB0aHJvdWdoIENQVUlEIGluc2lkZSBoeXBlcnZpc29y LiBVc2VycyBjYW4gZmV0Y2ggdGhlIE1CQV9NQVggdmFsdWUKKyAgICAgdXNpbmcgdGhlIGBwc3It aHdpbmZvYCB4bCBjb21tYW5kLgorCisjIFRlY2huaWNhbCBkZXRhaWxzCisKK01CQSBpcyBhIG1l bWJlciBvZiBJbnRlbCBQU1IgZmVhdHVyZXMsIGl0IHNoYXJlcyB0aGUgYmFzZSBQU1IgaW5mcmFz dHJ1Y3R1cmUKK2luIFhlbi4KKworIyMgSGFyZHdhcmUgcGVyc3BlY3RpdmUKKworICBNQkEgZGVm aW5lcyBhIHJhbmdlIG9mIE1TUnMgdG8gc3VwcG9ydCBzcGVjaWZ5aW5nIGEgZGVsYXkgdmFsdWUg KFRocnRsKSBwZXIKKyAgQ09TLCB3aXRoIGRldGFpbHMgYmVsb3cuCisKKyAgYGBgCisgICArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICAgfCBNU1IgKHBl ciBzb2NrZXQpICAgICAgICAgICB8ICAgIEFkZHJlc3MgICAgIHwKKyAgICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgICB8IElBMzJfTDJfUU9TX0V4dF9C V19UaHJ0bF8wIHwgICAgIDB4RDUwICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAg fCAgLi4uICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKworICAgfCBJQTMyX0wyX1FPU19FeHRfQldfVGhydGxfbiB8ICAgICAweEQ1 MCtuICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rCisgIGBgYAorCisgIFdoZW4gY29udGV4dCBzd2l0Y2ggaGFwcGVucywgdGhlIENPUyBJRCBv ZiBkb21haW4gaXMgd3JpdHRlbiB0byBwZXItaHlwZXItCisgIHRocmVhZCBNU1IgYElBMzJfUFFS X0FTU09DYCwgYW5kIHRoZW4gaGFyZHdhcmUgZW5mb3JjZXMgYmFuZHdpZHRoIGFsbG9jYXRpb24K KyAgYWNjb3JkaW5nIHRvIHRoZSB0aHJvdHRsaW5nIHZhbHVlIHN0b3JlZCBpbiB0aGUgVGhydGwg TVNSIHJlZ2lzdGVyLgorCisjIyBUaGUgcmVsYXRpb25zaGlwIGJldHdlZW4gTUJBIGFuZCBDQVQv Q0RQCisKKyAgR2VuZXJhbGx5IHNwZWFraW5nLCBNQkEgaXMgY29tcGxldGVseSBpbmRlcGVuZGVu dCBvZiBDQVQvQ0RQLCBhbmQgYW55CisgIGNvbWJpbmF0aW9uIG1heSBiZSBhcHBsaWVkIGF0IGFu eSB0aW1lLCBlLmcuIGVuYWJsaW5nIE1CQSB3aXRoIENBVAorICBkaXNhYmxlZC4KKworICBCdXQg aXQgbmVlZHMgdG8gYmUgbm90aWNlZCB0aGF0IE1CQSBzaGFyZXMgQ09TIGluZnJhc3RydWN0dXJl IHdpdGggQ0FULAorICBhbHRob3VnaCBNQkEgaXMgZW51bWVyYXRlZCBieSBkaWZmZXJlbnQgQ1BV SUQgbGVhZiBmcm9tIENBVCAod2hpY2gKKyAgaW5kaWNhdGVzIHRoYXQgdGhlIG1heCBDT1Mgb2Yg TUJBIG1heSBiZSBkaWZmZXJlbnQgZnJvbSBDQVQpLiBJbiBzb21lCisgIGNhc2VzLCBhIGRvbWFp biBpcyBwZXJtaXR0ZWQgdG8gaGF2ZSBhIENPUyB0aGF0IGlzIGJleW9uZCBvbmUgKG9yIG1vcmUp CisgIG9mIFBTUiBmZWF0dXJlcyBidXQgd2l0aGluIHRoZSBvdGhlcnMuIEZvciBpbnN0YW5jZSwg bGV0J3MgYXNzdW1lIHRoZSBtYXgKKyAgQ09TIG9mIE1CQSBpcyA4IGJ1dCB0aGUgbWF4IENPUyBv ZiBMMyBDQVQgaXMgMTYsIHdoZW4gYSBkb21haW4gaXMgYXNzaWduZWQKKyAgOSBhcyBDT1MsIHRo ZSBMMyBDQVQgQ0JNIGFzc29jaWF0ZWQgdG8gQ09TIDkgd291bGQgYmUgZW5mb3JjZWQsIGJ1dCBm b3IgTUJBLAorICB0aGUgSFcgd29ya3MgYXMgZGVmYXVsdCB2YWx1ZSBpcyBzZXQgc2luY2UgQ09T IDkgaXMgYmV5b25kIHRoZSBtYXggQ09TICg4KQorICBvZiBNQkEuCisKKyMjIERlc2lnbiBPdmVy dmlldworCisqIENvcmUgQ09TL1RocnRsIGFzc29jaWF0aW9uCisKKyAgV2hlbiBlbmZvcmNpbmcg TWVtb3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uLCBhbGwgY29yZXMgb2YgZG9tYWlucyBoYXZlCisg IHRoZSBzYW1lIGRlZmF1bHQgVGhydGwgTVNSIChDT1MwKSB3aGljaCBzdG9yZXMgdGhlIHNhbWUg VGhydGwgKDApLiBUaGUKKyAgZGVmYXVsdCBUaHJ0bCBNU1IgaXMgdXNlZCBvbmx5IGluIGh5cGVy dmlzb3IgYW5kIGlzIHRyYW5zcGFyZW50IHRvIHRvb2wgc3RhY2sKKyAgYW5kIHVzZXIuCisKKyAg U3lzdGVtIGFkbWluaXN0cmF0b3JzIGNhbiBjaGFuZ2UgUFNSIGFsbG9jYXRpb24gcG9saWN5IGF0 IHJ1bnRpbWUgYnkKKyAgdXNpbmcgdGhlIHRvb2wgc3RhY2suIFNpbmNlIE1CQSBzaGFyZXMgQ09T IElEIHdpdGggQ0FUL0NEUCwgYSBDT1MgSUQKKyAgY29ycmVzcG9uZHMgdG8gYSAyLXR1cGxlLCBs aWtlIFtDQk0sIFRocnRsXSB3aXRoIG9ubHktQ0FUIGVuYWJsZWQsIHdoZW4gQ0RQCisgIGlzIGVu YWJsZWQsIHRoZSBDT1MgSUQgY29ycmVzcG9uZHMgdG8gYSAzLXR1cGxlLCBsaWtlIFtDb2RlX0NC TSwgRGF0YV9DQk0sCisgIFRocnRsXS4gSWYgbmVpdGhlciBDQVQgbm9yIENEUCBpcyBlbmFibGVk LCB0aGluZ3MgYXJlIGVhc2llciwgc2luY2Ugb25lIENPUworICBJRCBjb3JyZXNwb25kcyB0byBv bmUgVGhydGwuCisKKyogVkNQVSBzY2hlZHVsZQorCisgIFRoaXMgcGFydCByZXVzZXMgQ0FUIENP UyBpbmZyYXN0cnVjdHVyZS4KKworKiBNdWx0aS1zb2NrZXRzCisKKyAgRGlmZmVyZW50IHNvY2tl dHMgbWF5IGhhdmUgZGlmZmVyZW50IE1CQSBjYXBhYmlsaXRpZXMgKGxpa2UgbWF4IENPUykKKyAg YWx0aG91Z2ggaXQgaXMgY29uc2lzdGVudCBvbiB0aGUgc2FtZSBzb2NrZXQuIFNvIHRoZSBjYXBh YmlsaXR5CisgIG9mIHBlci1zb2NrZXQgTUJBIGlzIHNwZWNpZmllZC4KKworICBUaGlzIHBhcnQg cmV1c2VzIENBVCBDT1MgaW5mcmFzdHJ1Y3R1cmUuCisKKyMjIEltcGxlbWVudGF0aW9uIERlc2Ny aXB0aW9uCisKKyogSHlwZXJ2aXNvciBpbnRlcmZhY2VzOgorCisgIDEuIEJvb3QgbGluZSBwYXJh bTogInBzcj1tYmEiIHRvIGVuYWJsZSB0aGUgZmVhdHVyZS4KKworICAyLiBTWVNDVEw6CisgICAg ICAgICAgLSBYRU5fU1lTQ1RMX1BTUl9NQkFfZ2V0X2luZm86IEdldCBzeXN0ZW0gTUJBIGluZm9y bWF0aW9uLgorCisgIDMuIERPTUNUTDoKKyAgICAgICAgICAtIFhFTl9ET01DVExfUFNSX01CQV9P UF9HRVRfVEhSVEw6IEdldCB0aHJvdHRsaW5nIGZvciBhIGRvbWFpbi4KKyAgICAgICAgICAtIFhF Tl9ET01DVExfUFNSX01CQV9PUF9TRVRfVEhSVEw6IFNldCB0aHJvdHRsaW5nIGZvciBhIGRvbWFp bi4KKworKiB4bCBpbnRlcmZhY2VzOgorCisgIDEuIHBzci1tYmEtc2hvdyBbZG9tYWluLWlkXQor ICAgICAgICAgIFNob3cgc3lzdGVtL2RvbWFpbiBydW50aW1lIE1CQSB0aHJvdHRsaW5nIHZhbHVl LiBGb3IgbGluZWFyIG1vZGUsCisgICAgICAgICAgaXQgc2hvd3MgdGhlIGRlY2ltYWwgdmFsdWUu IEZvciBub24tbGluZWFyIG1vZGUsIGl0IHNob3dzIGhleGFkZWNpbWFsCisgICAgICAgICAgdmFs dWUuCisgICAgICAgICAgPT4gWEVOX1NZU0NUTF9QU1JfTUJBX2dldF9pbmZvL1hFTl9ET01DVExf UFNSX01CQV9PUF9HRVRfVEhSVEwKKworICAyLiBwc3ItbWJhLXNldCBbT1BUSU9OU10gPGRvbWFp bi1pZD4gPHRocm90dGxpbmc+CisgICAgICAgICAgU2V0IGJhbmR3aWR0aCB0aHJvdHRsaW5nIGZv ciBhIGRvbWFpbi4KKyAgICAgICAgICA9PiBYRU5fRE9NQ1RMX1BTUl9NQkFfT1BfU0VUX1RIUlRM CisKKyAgMy4gcHNyLWh3aW5mbworICAgICAgICAgIFNob3cgUFNSIEhXIGluZm9ybWF0aW9uLCBp bmNsdWRpbmcgTDMgQ0FUL0NEUC9MMiBDQVQvTUJBLgorICAgICAgICAgID0+IFhFTl9TWVNDVExf UFNSX01CQV9nZXRfaW5mbworCisqIEtleSBkYXRhIHN0cnVjdHVyZToKKworICAxLiBGZWF0dXJl IEhXIGluZm8KKworICAgICBgYGAKKyAgICAgc3RydWN0IHsKKyAgICAgICAgIHVuc2lnbmVkIGlu dCB0aHJ0bF9tYXg7CisgICAgICAgICBib29sIGxpbmVhcjsKKyAgICAgfSBtYmE7CisKKyAgICAg LSBNZW1iZXIgYHRocnRsX21heGAKKworICAgICAgIGB0aHJ0bF9tYXhgIGlzIHRoZSBtYXggdGhy b3R0bGluZyB2YWx1ZSB0byBiZSBzZXQsIGkuZS4gTUJBX01BWC4KKworICAgICAtIE1lbWJlciBg bGluZWFyYAorCisgICAgICAgYGxpbmVhcmAgbWVhbnMgdGhlIHJlc3BvbnNlIG9mIGRlbGF5IHZh bHVlIGlzIGxpbmVhciBvciBub3QuCisKKyAgICAgQXMgbWVudGlvbmVkIGFib3ZlLCBNQkEgaXMg YSBtZW1iZXIgb2YgSW50ZWwgUFNSIGZlYXR1cmVzLCBpdCB3b3VsZAorICAgICBzaGFyZSB0aGUg YmFzZSBQU1IgaW5mcmFzdHJ1Y3R1cmUgaW4gWGVuLiBGb3IgZXhhbXBsZSwgdGhlICdjb3NfbWF4 JworICAgICBpcyBhIGNvbW1vbiBIVyBwcm9wZXJ0eSBmb3IgYWxsIGZlYXR1cmVzLiBTbywgZm9y IG90aGVyIGRhdGEgc3RydWN0dXJlCisgICAgIGRldGFpbHMsIHBsZWFzZSByZWZlciB0byAnaW50 ZWxfcHNyX2NhdF9jZHAucGFuZG9jJy4KKworIyBMaW1pdGF0aW9ucworCitNQkEgY2FuIG9ubHkg d29yayBvbiBIVyB3aGljaCBzdXBwb3J0cyBpdCAoY2hlY2sgYnkgQ1BVSUQpLgorCisjIFRlc3Rp bmcKKworV2UgY2FuIGV4ZWN1dGUgdGhlc2UgY29tbWFuZHMgdG8gdmVyaWZ5IE1CQSBvbiBkaWZm ZXJlbnQgSFdzIHN1cHBvcnRpbmcgdGhlbS4KKworRm9yIGV4YW1wbGU6CisgIDEuIFVzZXIgY2Fu IGdldCB0aGUgTUJBIGhhcmR3YXJlIGluZm8gdGhyb3VnaCAncHNyLWh3aW5mbycgY29tbWFuZC4g RnJvbQorICAgICByZXN1bHQsIHVzZXIgY2FuIGtub3cgaWYgdGhpcyBoYXJkd2FyZSB3b3JrcyB1 bmRlciBsaW5lYXIgbW9kZSBvciBub24tCisgICAgIGxpbmVhciBtb2RlLCB0aGUgbWF4IHRocm90 dGxpbmcgdmFsdWUgKE1CQV9NQVgpIGFuZCBzbyBvbi4KKworICAgIHJvb3RAOn4kIHhsIHBzci1o d2luZm8gLS1tYmEKKyAgICBNZW1vcnkgQmFuZHdpZHRoIEFsbG9jYXRpb24gKE1CQSk6CisgICAg U29ja2V0IElEICAgICAgIDogMAorICAgIExpbmVhciBNb2RlICAgICA6IEVuYWJsZWQKKyAgICBN YXhpbXVtIENPUyAgICAgOiA3CisgICAgTWF4aW11bSBUaHJvdHRsaW5nIFZhbHVlOiA5MAorICAg IERlZmF1bHQgVGhyb3R0bGluZyBWYWx1ZTogMAorCisgIDIuIFRoZW4sIHVzZXIgY2FuIHNldCBh IHRocm90dGxpbmcgdmFsdWUgdG8gYSBkb21haW4uIEZvciBleGFtcGxlLCBzZXQgJzB4YScsCisg ICAgIGkuZSAxMCUgZGVsYXkuCisKKyAgICByb290QDp+JCB4bCBwc3ItbWJhLXNldCAxIDEwCisK KyAgMy4gVXNlciBjYW4gY2hlY2sgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBvZiB0aGUgZG9t YWluIHRocm91Z2gKKyAgICAgJ3Bzci1tYWItc2hvdycuIEZvciBsaW5lYXIgbW9kZSwgdGhlIGRl Y2ltYWwgdmFsdWUgaXMgc2hvd24uCisKKyAgICByb290QDp+JCB4bCBwc3ItbWJhLXNob3cgMQor ICAgIFNvY2tldCBJRCAgICAgICA6IDAKKyAgICBEZWZhdWx0IFRIUlRMICAgOiAwCisgICAgICAg SUQgICAgICAgICAgICAgICAgICAgICBOQU1FICAgICAgICAgICAgVEhSVEwKKyAgICAgICAgMSAg ICAgICAgICAgICAgICAgdWJ1bnR1MTQgICAgICAgICAgICAgMTAKKworIyBBcmVhcyBmb3IgaW1w cm92ZW1lbnQKKworTi9BCisKKyMgS25vd24gaXNzdWVzCisKK04vQQorCisjIFJlZmVyZW5jZXMK KworIklOVEVMIFJFU09VUkNFIERJUkVDVE9SIFRFQ0hOT0xPR1kgKElOVEVMIFJEVCkgQUxMT0NB VElPTiBGRUFUVVJFUyIgW0ludGVsIDY0IGFuZCBJQS0zMiBBcmNoaXRlY3R1cmVzIFNvZnR3YXJl IERldmVsb3BlciBNYW51YWxzLCB2b2wzXShodHRwOi8vd3d3LmludGVsLmNvbS9jb250ZW50L3d3 dy91cy9lbi9wcm9jZXNzb3JzL2FyY2hpdGVjdHVyZXMtc29mdHdhcmUtZGV2ZWxvcGVyLW1hbnVh bHMuaHRtbCkKKworIyBIaXN0b3J5CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRGF0ZSAgICAgICBSZXZp c2lvbiBWZXJzaW9uICBOb3RlcworLS0tLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDE3LTAxLTEwIDEuMCAgICAg IFhlbiA0LjkgIERlc2lnbiBkb2N1bWVudCB3cml0dGVuCisyMDE3LTA3LTEwIDEuMSAgICAgIFhl biA0LjEwIENoYW5nZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuIE1vZGlmeSBk YXRhIHN0cnVjdHVyZSBhY2NvcmRpbmcgdG8gbGF0ZXN0CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvZGVzOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLiBBZGQgY29u dGVudCBmb3IgJ0FyZWFzIGZvciBpbXByb3ZlbWVudCc7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDMuIE90aGVyIG1pbm9yIGNoYW5nZXMuCisyMDE3LTA4LTA5IDEuMiAgICAgIFhlbiA0 LjEwIENoYW5nZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuIFJlbW92ZSBhIHNw ZWNpYWwgY2hhcmFjdGVyIHRvIGF2b2lkIGVycm9yIHdoZW4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVpbGRpbmcgcGFuZG9jLgorMjAxNy0wOC0xNSAxLjMgICAgICBYZW4gNC4x MCBDaGFuZ2VzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLiBBZGQgdGVybWlub2xv Z3kgJ0hXJy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4gQ2hhbmdlICdDT1MgSUQg b2YgVkNQVScgdG8gJ0NPUyBJRCBvZiBkb21haW4nLgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAzLiBDaGFuZ2UgJ0NPUyByZWdpc3RlcicgdG8gJ1RocnRsIE1TUicuCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDQuIEV4cGxhaW4gdGhlIHZhbHVlIHNob3duIGZvciAncHNyLW1i YS1zaG93JyB1bmRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnQg bW9kZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuIFJlbW92ZSBjb250ZW50IGlu ICdBcmVhcyBmb3IgaW1wcm92ZW1lbnQnLgorMjAxNy0wOC0xNiAxLjQgICAgICBYZW4gNC4xMCBD aGFuZ2VzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLiBBZGQgJzw+JyBmb3IgbWFu ZGF0b3J5IGFyZ3VtZW50LgorMjAxNy0wOC0zMCAxLjUgICAgICBYZW4gNC4xMCBDaGFuZ2VzOgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLiBNb2RpZnkgd29yZHMgaW4gJ092ZXJ2aWV3 JyB0byBtYWtlIGl0IGVhc2llciB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bmRlcnN0YW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLiBFeHBsYWluICdsaW5l YXIvbm9uLWxpbmVhcicgbW9kZXMgYmVmb3JlIG1lbnRpb24KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGhlbS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4gRXhwbGFp biB0aHJvdHRsaW5nIHZhbHVlIG1vcmUgYWNjdXJhdGUuCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDQuIEV4cGxhaW4gJ01CQV9NQVgnLgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA1LiBDb3JyZWN0IHNvbWUgd29yZHMgaW4gJ0Rlc2lnbiBPdmVydmlldycuCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDYuIENoYW5nZSAnbWJhX2luZm8nIHRvICdtYmEnIGFjY29yZGlu ZyB0byBjb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMuIEFsc28s IG1vZGlmeSBjb250ZW50cyBvZiBpdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4g QWRkIGNvbnRleHQgaW4gJ1Rlc3RpbmcnIHBhcnQgdG8gbWFrZSB0aGluZ3MKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbW9yZSBjbGVhci4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOC4gUmVtb3ZlICduPDY0JyB0byBhdm9pZCBvdXQtb2Ytc3luYy4KKzIwMTctMDktMjEg MS42ICAgICAgWGVuIDQuMTAgQ2hhbmdlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MS4gQWRkICdkb21haW4tbmFtZScgYXMgcGFyYW1ldGVyIG9mICdwc3ItbWJhLXNob3cvCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzci1tYmEtc2V0Jy4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMi4gRml4IHNvbWUgd29yZGluZ3MuCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDMuIEV4cGxhaW4gaG93IHVzZXIgY2FuIGtub3cgdGhlIE1CQV9NQVguCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDQuIE1vdmUgdGhlIGRlc2NyaXB0aW9uIG9mICdMaW5l YXIgbW9kZS9Ob24tbGluZWFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUn IGludG8gc2VjdGlvbiBvZiAncHNyLW1iYS1zaG93Jy4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgNS4gQ2hhbmdlICdwZXItdGhyZWFkJyB0byAncGVyLWh5cGVyLXRocmVhZCcuCisyMDE3 LTA5LTI5IDEuNyAgICAgIFhlbiA0LjEwIENoYW5nZXM6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEuIENvcnJlY3Qgc29tZSB3b3Jkcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMi4gQ2hhbmdlICd4bCBwc3ItbWJhLXNldCAxIDB4YScgdG8KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3hsIHBzci1tYmEtc2V0IDEgMTAnCistLS0tLS0tLS0tIC0tLS0tLS0t IC0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==