From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH v9 11/11] drm/i915: Add a kerneldoc summary for i915_perf.c Date: Mon, 7 Nov 2016 19:49:57 +0000 Message-ID: <20161107194957.3385-12-robert@sixbynine.org> References: <20161107194957.3385-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161107194957.3385-1-robert@sixbynine.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Matthew Auld , Sourab Gupta , Daniel Vetter , Robert Bragg List-Id: dri-devel@lists.freedesktop.org SW4gcGFydGljdWxhciB0aGlzIHRyaWVzIHRvIGNhcHR1cmUgZm9yIHBvc3Rlcml0eSBzb21lIG9m IHRoZSBlYXJseQpjaGFsbGVuZ2VzIHdlIGhhZCB3aXRoIHVzaW5nIHRoZSBjb3JlIHBlcmYgaW5m cmFzdHJ1Y3R1cmUgaW4gY2FzZSB3ZQpldmVyIHdhbnQgdG8gcmV2aXNpdCBhZGFwdGluZyBwZXJm IGZvciBkZXZpY2UgbWV0cmljcy4KCkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KU2lnbmVkLW9mZi1ieTogUm9iZXJ0IEJyYWdnIDxyb2JlcnRAc2l4YnluaW5lLm9y Zz4KUmV2aWV3ZWQtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyB8IDE2MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNjMgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKaW5kZXggMWE4N2ZlOS4uOTU1MTI4MiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wZXJmLmMKQEAgLTI0LDYgKzI0LDE2OSBAQAogICogICBSb2JlcnQgQnJh Z2cgPHJvYmVydEBzaXhieW5pbmUub3JnPgogICovCiAKKworLyoqCisgKiBET0M6IGk5MTUgUGVy Ziwgc3RyZWFtaW5nIEFQSSBmb3IgR1BVIG1ldHJpY3MKKyAqCisgKiBHZW4gZ3JhcGhpY3Mgc3Vw cG9ydHMgYSBsYXJnZSBudW1iZXIgb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgdGhhdCBjYW4gaGVs cAorICogZHJpdmVyIGFuZCBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgYW5kIG9w dGltaXplIHRoZWlyIHVzZSBvZiB0aGUKKyAqIEdQVS4KKyAqCisgKiBUaGlzIGk5MTUgcGVyZiBp bnRlcmZhY2UgZW5hYmxlcyB1c2Vyc3BhY2UgdG8gY29uZmlndXJlIGFuZCBvcGVuIGEgZmlsZQor ICogZGVzY3JpcHRvciByZXByZXNlbnRpbmcgYSBzdHJlYW0gb2YgR1BVIG1ldHJpY3Mgd2hpY2gg Y2FuIHRoZW4gYmUgcmVhZCgpIGFzCisgKiBhIHN0cmVhbSBvZiBzYW1wbGUgcmVjb3Jkcy4KKyAq CisgKiBUaGUgaW50ZXJmYWNlIGlzIHBhcnRpY3VsYXJseSBzdWl0ZWQgdG8gZXhwb3NpbmcgYnVm ZmVyZWQgbWV0cmljcyB0aGF0IGFyZQorICogY2FwdHVyZWQgYnkgRE1BIGZyb20gdGhlIEdQVSwg dW5zeW5jaHJvbml6ZWQgd2l0aCBhbmQgdW5yZWxhdGVkIHRvIHRoZSBDUFUuCisgKgorICogU3Ry ZWFtcyByZXByZXNlbnRpbmcgYSBzaW5nbGUgY29udGV4dCBhcmUgYWNjZXNzaWJsZSB0byBhcHBs aWNhdGlvbnMgd2l0aCBhCisgKiBjb3JyZXNwb25kaW5nIGRybSBmaWxlIGRlc2NyaXB0b3IsIHN1 Y2ggdGhhdCBPcGVuR0wgY2FuIHVzZSB0aGUgaW50ZXJmYWNlCisgKiB3aXRob3V0IHNwZWNpYWwg cHJpdmlsZWdlcy4gQWNjZXNzIHRvIHN5c3RlbS13aWRlIG1ldHJpY3MgcmVxdWlyZXMgcm9vdAor ICogcHJpdmlsZWdlcyBieSBkZWZhdWx0LCB1bmxlc3MgY2hhbmdlZCB2aWEgdGhlIGRldi5pOTE1 LnBlcmZfZXZlbnRfcGFyYW5vaWQKKyAqIHN5c2N0bCBvcHRpb24uCisgKgorICoKKyAqIFRoZSBp bnRlcmZhY2Ugd2FzIGluaXRpYWxseSBpbnNwaXJlZCBieSB0aGUgY29yZSBQZXJmIGluZnJhc3Ry dWN0dXJlIGJ1dAorICogc29tZSBub3RhYmxlIGRpZmZlcmVuY2VzIGFyZToKKyAqCisgKiBpOTE1 IHBlcmYgZmlsZSBkZXNjcmlwdG9ycyByZXByZXNlbnQgYSAic3RyZWFtIiBpbnN0ZWFkIG9mIGFu ICJldmVudCI7IHdoZXJlCisgKiBhIHBlcmYgZXZlbnQgcHJpbWFyaWx5IGNvcnJlc3BvbmRzIHRv IGEgc2luZ2xlIDY0Yml0IHZhbHVlLCB3aGlsZSBhIHN0cmVhbQorICogbWlnaHQgc2FtcGxlIHNl dHMgb2YgdGlnaHRseS1jb3VwbGVkIGNvdW50ZXJzLCBkZXBlbmRpbmcgb24gdGhlCisgKiBjb25m aWd1cmF0aW9uLiAgRm9yIGV4YW1wbGUgdGhlIEdlbiBPQSB1bml0IGlzbid0IGRlc2lnbmVkIHRv IHN1cHBvcnQKKyAqIG9ydGhvZ29uYWwgY29uZmlndXJhdGlvbnMgb2YgaW5kaXZpZHVhbCBjb3Vu dGVyczsgaXQncyBjb25maWd1cmVkIGZvciBhIHNldAorICogb2YgcmVsYXRlZCBjb3VudGVycy4g U2FtcGxlcyBmb3IgYW4gaTkxNSBwZXJmIHN0cmVhbSBjYXB0dXJpbmcgT0EgbWV0cmljcworICog d2lsbCBpbmNsdWRlIGEgc2V0IG9mIGNvdW50ZXIgdmFsdWVzIHBhY2tlZCBpbiBhIGNvbXBhY3Qg SFcgc3BlY2lmaWMgZm9ybWF0LgorICogVGhlIE9BIHVuaXQgc3VwcG9ydHMgYSBudW1iZXIgb2Yg ZGlmZmVyZW50IHBhY2tpbmcgZm9ybWF0cyB3aGljaCBjYW4gYmUKKyAqIHNlbGVjdGVkIGJ5IHRo ZSB1c2VyIG9wZW5pbmcgdGhlIHN0cmVhbS4gUGVyZiBoYXMgc3VwcG9ydCBmb3IgZ3JvdXBpbmcK KyAqIGV2ZW50cywgYnV0IGVhY2ggZXZlbnQgaW4gdGhlIGdyb3VwIGlzIGNvbmZpZ3VyZWQsIHZh bGlkYXRlZCBhbmQKKyAqIGF1dGhlbnRpY2F0ZWQgaW5kaXZpZHVhbGx5IHdpdGggc2VwYXJhdGUg c3lzdGVtIGNhbGxzLgorICoKKyAqIGk5MTUgcGVyZiBzdHJlYW0gY29uZmlndXJhdGlvbnMgYXJl IHByb3ZpZGVkIGFzIGFuIGFycmF5IG9mIHU2NCAoa2V5LHZhbHVlKQorICogcGFpcnMsIGluc3Rl YWQgb2YgYSBmaXhlZCBzdHJ1Y3Qgd2l0aCBtdWx0aXBsZSBtaXNjZWxsYW5lb3VzIGNvbmZpZyBt ZW1iZXJzLAorICogaW50ZXJsZWF2ZWQgd2l0aCBldmVudC10eXBlIHNwZWNpZmljIG1lbWJlcnMu CisgKgorICogaTkxNSBwZXJmIGRvZXNuJ3Qgc3VwcG9ydCBleHBvc2luZyBtZXRyaWNzIHZpYSBh biBtbWFwJ2QgY2lyY3VsYXIgYnVmZmVyLgorICogVGhlIHN1cHBvcnRlZCBtZXRyaWNzIGFyZSBi ZWluZyB3cml0dGVuIHRvIG1lbW9yeSBieSB0aGUgR1BVIHVuc3luY2hyb25pemVkCisgKiB3aXRo IHRoZSBDUFUsIHVzaW5nIEhXIHNwZWNpZmljIHBhY2tpbmcgZm9ybWF0cyBmb3IgY291bnRlciBz ZXRzLiBTb21ldGltZXMKKyAqIHRoZSBjb25zdHJhaW50cyBvbiBIVyBjb25maWd1cmF0aW9uIHJl cXVpcmUgcmVwb3J0cyB0byBiZSBmaWx0ZXJlZCBiZWZvcmUgaXQKKyAqIHdvdWxkIGJlIGFjY2Vw dGFibGUgdG8gZXhwb3NlIHRoZW0gdG8gdW5wcml2aWxlZ2VkIGFwcGxpY2F0aW9ucyAtIHRvIGhp ZGUKKyAqIHRoZSBtZXRyaWNzIG9mIG90aGVyIHByb2Nlc3Nlcy9jb250ZXh0cy4gRm9yIHRoZXNl IHVzZSBjYXNlcyBhIHJlYWQoKSBiYXNlZAorICogaW50ZXJmYWNlIGlzIGEgZ29vZCBmaXQsIGFu ZCBwcm92aWRlcyBhbiBvcHBvcnR1bml0eSB0byBmaWx0ZXIgZGF0YSBhcyBpdAorICogZ2V0cyBj b3BpZWQgZnJvbSB0aGUgR1BVIG1hcHBlZCBidWZmZXJzIHRvIHVzZXJzcGFjZSBidWZmZXJzLgor ICoKKyAqCisgKiBTb21lIG5vdGVzIHJlZ2FyZGluZyBMaW51eCBQZXJmOgorICogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBUaGUgZmlyc3QgcHJvdG90eXBlIG9mIHRo aXMgZHJpdmVyIHdhcyBiYXNlZCBvbiB0aGUgY29yZSBwZXJmCisgKiBpbmZyYXN0cnVjdHVyZSwg YW5kIHdoaWxlIHdlIGRpZCBtYWtlIHRoYXQgbW9zdGx5IHdvcmssIHdpdGggc29tZSBjaGFuZ2Vz IHRvCisgKiBwZXJmLCB3ZSBmb3VuZCB3ZSB3ZXJlIGJyZWFraW5nIG9yIHdvcmtpbmcgYXJvdW5k IHRvbyBtYW55IGFzc3VtcHRpb25zIGJha2VkCisgKiBpbnRvIHBlcmYncyBjdXJyZW50bHkgY3B1 IGNlbnRyaWMgZGVzaWduLgorICoKKyAqIEluIHRoZSBlbmQgd2UgZGlkbid0IHNlZSBhIGNsZWFy IGJlbmVmaXQgdG8gbWFraW5nIHBlcmYncyBpbXBsZW1lbnRhdGlvbiBhbmQKKyAqIGludGVyZmFj ZSBtb3JlIGNvbXBsZXggYnkgY2hhbmdpbmcgZGVzaWduIGFzc3VtcHRpb25zIHdoaWxlIHdlIGtu ZXcgd2Ugc3RpbGwKKyAqIHdvdWxkbid0IGJlIGFibGUgdG8gdXNlIGFueSBleGlzdGluZyBwZXJm IGJhc2VkIHVzZXJzcGFjZSB0b29scy4KKyAqCisgKiBBbHNvIGNvbnNpZGVyaW5nIHRoZSBHZW4g c3BlY2lmaWMgbmF0dXJlIG9mIHRoZSBPYnNlcnZhYmlsaXR5IGhhcmR3YXJlIGFuZAorICogaG93 IHVzZXJzcGFjZSB3aWxsIHNvbWV0aW1lcyBuZWVkIHRvIGNvbWJpbmUgaTkxNSBwZXJmIE9BIG1l dHJpY3Mgd2l0aAorICogc2lkZS1iYW5kIE9BIGRhdGEgY2FwdHVyZWQgdmlhIE1JX1JFUE9SVF9Q RVJGX0NPVU5UIGNvbW1hbmRzOyB3ZSdyZQorICogZXhwZWN0aW5nIHRoZSBpbnRlcmZhY2UgdG8g YmUgdXNlZCBieSBhIHBsYXRmb3JtIHNwZWNpZmljIHVzZXJzcGFjZSBzdWNoIGFzCisgKiBPcGVu R0wgb3IgdG9vbHMuIFRoaXMgaXMgdG8gc2F5OyB3ZSBhcmVuJ3QgaW5oZXJlbnRseSBtaXNzaW5n IG91dCBvbiBoYXZpbmcKKyAqIGEgc3RhbmRhcmQgdmVuZG9yL2FyY2hpdGVjdHVyZSBhZ25vc3Rp YyBpbnRlcmZhY2UgYnkgbm90IHVzaW5nIHBlcmYuCisgKgorICoKKyAqIEZvciBwb3N0ZXJpdHks IGluIGNhc2Ugd2UgbWlnaHQgcmUtdmlzaXQgdHJ5aW5nIHRvIGFkYXB0IGNvcmUgcGVyZiB0byBi ZQorICogYmV0dGVyIHN1aXRlZCB0byBleHBvc2luZyBpOTE1IG1ldHJpY3MgdGhlc2Ugd2VyZSB0 aGUgbWFpbiBwYWluIHBvaW50cyB3ZQorICogaGl0OgorICoKKyAqIC0gVGhlIHBlcmYgYmFzZWQg T0EgUE1VIGRyaXZlciBicm9rZSBzb21lIHNpZ25pZmljYW50IGRlc2lnbiBhc3N1bXB0aW9uczoK KyAqCisgKiAgIEV4aXN0aW5nIHBlcmYgcG11cyBhcmUgdXNlZCBmb3IgcHJvZmlsaW5nIHdvcmsg b24gYSBjcHUgYW5kIHdlIHdlcmUKKyAqICAgaW50cm9kdWNpbmcgdGhlIGlkZWEgb2YgX0lTX0RF VklDRSBwbXVzIHdpdGggZGlmZmVyZW50IHNlY3VyaXR5CisgKiAgIGltcGxpY2F0aW9ucywgdGhl IG5lZWQgdG8gZmFrZSBjcHUtcmVsYXRlZCBkYXRhIChzdWNoIGFzIHVzZXIva2VybmVsCisgKiAg IHJlZ2lzdGVycykgdG8gZml0IHdpdGggcGVyZidzIGN1cnJlbnQgZGVzaWduLCBhbmQgYWRkaW5n IF9ERVZJQ0UgcmVjb3JkcworICogICBhcyBhIHdheSB0byBmb3J3YXJkIGRldmljZS1zcGVjaWZp YyBzdGF0dXMgcmVjb3Jkcy4KKyAqCisgKiAgIFRoZSBPQSB1bml0IHdyaXRlcyByZXBvcnRzIG9m IGNvdW50ZXJzIGludG8gYSBjaXJjdWxhciBidWZmZXIsIHdpdGhvdXQKKyAqICAgaW52b2x2ZW1l bnQgZnJvbSB0aGUgQ1BVLCBtYWtpbmcgb3VyIFBNVSBkcml2ZXIgdGhlIGZpcnN0IG9mIGEga2lu ZC4KKyAqCisgKiAgIEdpdmVuIHRoZSB3YXkgd2Ugd2VyZSBwZXJpb2RpY2FsbHkgZm9yd2FyZCBk YXRhIGZyb20gdGhlIEdQVS1tYXBwZWQsIE9BCisgKiAgIGJ1ZmZlciB0byBwZXJmJ3MgYnVmZmVy LCB0aG9zZSBidXJzdHMgb2Ygc2FtcGxlIHdyaXRlcyBsb29rZWQgdG8gcGVyZiBsaWtlCisgKiAg IHdlIHdlcmUgc2FtcGxpbmcgdG9vIGZhc3QgYW5kIHNvIHdlIGhhZCB0byBzdWJ2ZXJ0IGl0cyB0 aHJvdHRsaW5nIGNoZWNrcy4KKyAqCisgKiAgIFBlcmYgc3VwcG9ydHMgZ3JvdXBzIG9mIGNvdW50 ZXJzIGFuZCBhbGxvd3MgdGhvc2UgdG8gYmUgcmVhZCB2aWEKKyAqICAgdHJhbnNhY3Rpb25zIGlu dGVybmFsbHkgYnV0IHRyYW5zYWN0aW9ucyBjdXJyZW50bHkgc2VlbSBkZXNpZ25lZCB0byBiZQor ICogICBleHBsaWNpdGx5IGluaXRpYXRlZCBmcm9tIHRoZSBjcHUgKHNheSBpbiByZXNwb25zZSB0 byBhIHVzZXJzcGFjZSByZWFkKCkpCisgKiAgIGFuZCB3aGlsZSB3ZSBjb3VsZCBwdWxsIGEgcmVw b3J0IG91dCBvZiB0aGUgT0EgYnVmZmVyIHdlIGNhbid0CisgKiAgIHRyaWdnZXIgYSByZXBvcnQg ZnJvbSB0aGUgY3B1IG9uIGRlbWFuZC4KKyAqCisgKiAgIFJlbGF0ZWQgdG8gYmVpbmcgcmVwb3J0 IGJhc2VkOyB0aGUgT0EgY291bnRlcnMgYXJlIGNvbmZpZ3VyZWQgaW4gSFcgYXMgYQorICogICBz ZXQgd2hpbGUgcGVyZiBnZW5lcmFsbHkgZXhwZWN0cyBjb3VudGVyIGNvbmZpZ3VyYXRpb25zIHRv IGJlIG9ydGhvZ29uYWwuCisgKiAgIEFsdGhvdWdoIGNvdW50ZXJzIGNhbiBiZSBhc3NvY2lhdGVk IHdpdGggYSBncm91cCBsZWFkZXIgYXMgdGhleSBhcmUKKyAqICAgb3BlbmVkLCB0aGVyZSdzIG5v IGNsZWFyIHByZWNlZGVudCBmb3IgYmVpbmcgYWJsZSB0byBwcm92aWRlIGdyb3VwLXdpZGUKKyAq ICAgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIChmb3IgZXhhbXBsZSB3ZSB3YW50IHRvIGxldCB1 c2Vyc3BhY2UgY2hvb3NlIHRoZQorICogICBPQSB1bml0IHJlcG9ydCBmb3JtYXQgdXNlZCB0byBj YXB0dXJlIGFsbCBjb3VudGVycyBpbiBhIHNldCwgb3Igc3BlY2lmeSBhCisgKiAgIEdQVSBjb250 ZXh0IHRvIGZpbHRlciBtZXRyaWNzIG9uKS4gV2UgYXZvaWRlZCB1c2luZyBwZXJmJ3MgZ3JvdXBp bmcKKyAqICAgZmVhdHVyZSBhbmQgZm9yd2FyZGVkIE9BIHJlcG9ydHMgdG8gdXNlcnNwYWNlIHZp YSBwZXJmJ3MgJ3Jhdycgc2FtcGxlCisgKiAgIGZpZWxkLiBUaGlzIHN1aXRlZCBvdXIgdXNlcnNw YWNlIHdlbGwgY29uc2lkZXJpbmcgaG93IGNvdXBsZWQgdGhlIGNvdW50ZXJzCisgKiAgIGFyZSB3 aGVuIGRlYWxpbmcgd2l0aCBub3JtYWxpemluZy4gSXQgd291bGQgYmUgaW5jb252ZW5pZW50IHRv IHNwbGl0CisgKiAgIGNvdW50ZXJzIHVwIGludG8gc2VwYXJhdGUgZXZlbnRzLCBvbmx5IHRvIHJl cXVpcmUgdXNlcnNwYWNlIHRvIHJlY29tYmluZQorICogICB0aGVtLiBGb3IgTWVzYSBpdCdzIGFs c28gY29udmVuaWVudCB0byBiZSBmb3J3YXJkZWQgcmF3LCBwZXJpb2RpYyByZXBvcnRzCisgKiAg IGZvciBjb21iaW5pbmcgd2l0aCB0aGUgc2lkZS1iYW5kIHJhdyByZXBvcnRzIGl0IGNhcHR1cmVz IHVzaW5nCisgKiAgIE1JX1JFUE9SVF9QRVJGX0NPVU5UIGNvbW1hbmRzLgorICoKKyAqICAgXyBB cyBhIHNpZGUgbm90ZSBvbiBwZXJmJ3MgZ3JvdXBpbmcgZmVhdHVyZTsgdGhlcmUgd2FzIGFsc28g c29tZSBjb25jZXJuCisgKiAgICAgdGhhdCB1c2luZyBQRVJGX0ZPUk1BVF9HUk9VUCBhcyBhIHdh eSB0byBwYWNrIHRvZ2V0aGVyIGNvdW50ZXIgdmFsdWVzCisgKiAgICAgd291bGQgcXVpdGUgZHJh c3RpY2FsbHkgaW5mbGF0ZSBvdXIgc2FtcGxlIHNpemVzLCB3aGljaCB3b3VsZCBsaWtlbHkKKyAq ICAgICBsb3dlciB0aGUgZWZmZWN0aXZlIHNhbXBsaW5nIHJlc29sdXRpb25zIHdlIGNvdWxkIHVz ZSB3aGVuIHRoZSBhdmFpbGFibGUKKyAqICAgICBtZW1vcnkgYmFuZHdpZHRoIGlzIGxpbWl0ZWQu CisgKgorICogICAgIFdpdGggdGhlIE9BIHVuaXQncyByZXBvcnQgZm9ybWF0cywgY291bnRlcnMg YXJlIHBhY2tlZCB0b2dldGhlciBhcyAzMgorICogICAgIG9yIDQwYml0IHZhbHVlcywgd2l0aCB0 aGUgbGFyZ2VzdCByZXBvcnQgc2l6ZSBiZWluZyAyNTYgYnl0ZXMuCisgKgorICogICAgIFBFUkZf Rk9STUFUX0dST1VQIHZhbHVlcyBhcmUgNjRiaXQsIGJ1dCB0aGVyZSBkb2Vzbid0IGFwcGVhciB0 byBiZSBhCisgKiAgICAgZG9jdW1lbnRlZCBvcmRlcmluZyB0byB0aGUgdmFsdWVzLCBpbXBseWlu ZyBQRVJGX0ZPUk1BVF9JRCBtdXN0IGFsc28gYmUKKyAqICAgICB1c2VkIHRvIGFkZCBhIDY0Yml0 IElEIGJlZm9yZSBlYWNoIHZhbHVlOyBnaXZpbmcgMTYgYnl0ZXMgcGVyIGNvdW50ZXIuCisgKgor ICogICBSZWxhdGVkIHRvIGNvdW50ZXIgb3J0aG9nb25hbGl0eTsgd2UgY2FuJ3QgdGltZSBzaGFy ZSB0aGUgT0EgdW5pdCwgd2hpbGUKKyAqICAgZXZlbnQgc2NoZWR1bGluZyBpcyBhIGNlbnRyYWwg ZGVzaWduIGlkZWEgd2l0aGluIHBlcmYgZm9yIGFsbG93aW5nCisgKiAgIHVzZXJzcGFjZSB0byBv cGVuICsgZW5hYmxlIG1vcmUgZXZlbnRzIHRoYW4gY2FuIGJlIGNvbmZpZ3VyZWQgaW4gSFcgYXQg YW55CisgKiAgIG9uZSB0aW1lLiAgVGhlIE9BIHVuaXQgaXMgbm90IGRlc2lnbmVkIHRvIGFsbG93 IHJlLWNvbmZpZ3VyYXRpb24gd2hpbGUgaW4KKyAqICAgdXNlLiBXZSBjYW4ndCByZWNvbmZpZ3Vy ZSB0aGUgT0EgdW5pdCB3aXRob3V0IGxvc2luZyBpbnRlcm5hbCBPQSB1bml0CisgKiAgIHN0YXRl IHdoaWNoIHdlIGNhbid0IGFjY2VzcyBleHBsaWNpdGx5IHRvIHNhdmUgYW5kIHJlc3RvcmUuIFJl Y29uZmlndXJpbmcKKyAqICAgdGhlIE9BIHVuaXQgaXMgYWxzbyByZWxhdGl2ZWx5IHNsb3csIGlu dm9sdmluZyB+MTAwIHJlZ2lzdGVyIHdyaXRlcy4gRnJvbQorICogICB1c2Vyc3BhY2UgTWVzYSBh bHNvIGRlcGVuZHMgb24gYSBzdGFibGUgT0EgY29uZmlndXJhdGlvbiB3aGVuIGVtaXR0aW5nCisg KiAgIE1JX1JFUE9SVF9QRVJGX0NPVU5UIGNvbW1hbmRzIGFuZCBpbXBvcnRhbnRseSB0aGUgT0Eg dW5pdCBjYW4ndCBiZQorICogICBkaXNhYmxlZCB3aGlsZSB0aGVyZSBhcmUgb3V0c3RhbmRpbmcg TUlfUlBDIGNvbW1hbmRzIGxlc3Qgd2UgaGFuZyB0aGUKKyAqICAgY29tbWFuZCBzdHJlYW1lci4K KyAqCisgKiAgIFRoZSBjb250ZW50cyBvZiBzYW1wbGUgcmVjb3JkcyBhcmVuJ3QgZXh0ZW5zaWJs ZSBieSBkZXZpY2UgZHJpdmVycyAoaS5lLgorICogICB0aGUgc2FtcGxlX3R5cGUgYml0cykuIEFz IGFuIGV4YW1wbGU7IFNvdXJhYiBHdXB0YSBoYWQgYmVlbiBsb29raW5nIHRvCisgKiAgIGF0dGFj aCBHUFUgdGltZXN0YW1wcyB0byBvdXIgT0Egc2FtcGxlcy4gV2Ugd2VyZSBzaG9laG9ybmluZyBP QSByZXBvcnRzCisgKiAgIGludG8gc2FtcGxlIHJlY29yZHMgYnkgdXNpbmcgdGhlICdyYXcnIGZp ZWxkLCBidXQgaXQncyB0cmlja3kgdG8gcGFjayBtb3JlCisgKiAgIHRoYW4gb25lIHRoaW5nIGlu dG8gdGhpcyBmaWVsZCBiZWNhdXNlIGV2ZW50cy9jb3JlLmMgY3VycmVudGx5IG9ubHkgbGV0cyBh CisgKiAgIHBtdSBnaXZlIGEgc2luZ2xlIHJhdyBkYXRhIHBvaW50ZXIgcGx1cyBsZW4gd2hpY2gg d2lsbCBiZSBjb3BpZWQgaW50byB0aGUKKyAqICAgcmluZyBidWZmZXIuIFRvIGluY2x1ZGUgbW9y ZSB0aGFuIHRoZSBPQSByZXBvcnQgd2UnZCBoYXZlIHRvIGNvcHkgdGhlCisgKiAgIHJlcG9ydCBp bnRvIGFuIGludGVybWVkaWF0ZSBsYXJnZXIgYnVmZmVyLiBJJ2QgYmVlbiBjb25zaWRlcmluZyBh bGxvd2luZyBhCisgKiAgIHZlY3RvciBvZiBkYXRhK2xlbiB2YWx1ZXMgdG8gYmUgc3BlY2lmaWVk IGZvciBjb3B5aW5nIHRoZSByYXcgZGF0YSwgYnV0CisgKiAgIGl0IGZlbHQgbGlrZSBhIGtsdWRn ZSB0byBiZWluZyB1c2luZyB0aGUgcmF3IGZpZWxkIGZvciB0aGlzIHB1cnBvc2UuCisgKgorICog LSBJdCBmZWx0IGxpa2Ugb3VyIHBlcmYgYmFzZWQgUE1VIHdhcyBtYWtpbmcgc29tZSB0ZWNobmlj YWwgY29tcHJvbWlzZXMKKyAqICAganVzdCBmb3IgdGhlIHNha2Ugb2YgdXNpbmcgcGVyZjoKKyAq CisgKiAgIHBlcmZfZXZlbnRfb3BlbigpIHJlcXVpcmVzIGV2ZW50cyB0byBlaXRoZXIgcmVsYXRl IHRvIGEgcGlkIG9yIGEgc3BlY2lmaWMKKyAqICAgY3B1IGNvcmUsIHdoaWxlIG91ciBkZXZpY2Ug cG11IHJlbGF0ZWQgdG8gbmVpdGhlci4gIEV2ZW50cyBvcGVuZWQgd2l0aCBhCisgKiAgIHBpZCB3 aWxsIGJlIGF1dG9tYXRpY2FsbHkgZW5hYmxlZC9kaXNhYmxlZCBhY2NvcmRpbmcgdG8gdGhlIHNj aGVkdWxpbmcgb2YKKyAqICAgdGhhdCBwcm9jZXNzIC0gc28gbm90IGFwcHJvcHJpYXRlIGZvciB1 cy4gV2hlbiBhbiBldmVudCBpcyByZWxhdGVkIHRvIGEKKyAqICAgY3B1IGlkLCBwZXJmIGVuc3Vy ZXMgcG11IG1ldGhvZHMgd2lsbCBiZSBpbnZva2VkIHZpYSBhbiBpbnRlciBwcm9jZXNzCisgKiAg IGludGVycnVwdCBvbiB0aGF0IGNvcmUuIFRvIGF2b2lkIGludmFzaXZlIGNoYW5nZXMgb3VyIHVz ZXJzcGFjZSBvcGVuZWQgT0EKKyAqICAgcGVyZiBldmVudHMgZm9yIGEgc3BlY2lmaWMgY3B1LiBU aGlzIHdhcyB3b3JrYWJsZSBidXQgaXQgbWVhbnQgdGhlCisgKiAgIG1ham9yaXR5IG9mIHRoZSBP QSBkcml2ZXIgcmFuIGluIGF0b21pYyBjb250ZXh0LCBpbmNsdWRpbmcgYWxsIE9BIHJlcG9ydAor ICogICBmb3J3YXJkaW5nLCB3aGljaCB3YXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSBpbiBvdXIgY2Fz ZSBhbmQgc2VlbXMgdG8gbWFrZQorICogICBvdXIgbG9ja2luZyByZXF1aXJlbWVudHMgc29tZXdo YXQgY29tcGxleCBhcyB3ZSBoYW5kbGVkIHRoZSBpbnRlcmFjdGlvbgorICogICB3aXRoIHRoZSBy ZXN0IG9mIHRoZSBpOTE1IGRyaXZlci4KKyAqLworCiAjaW5jbHVkZSA8bGludXgvYW5vbl9pbm9k ZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zaXplcy5oPgogCi0tIAoyLjEwLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=