From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v7 03/24] x86: refactor psr: implement main data structures. Date: Mon, 13 Feb 2017 14:32:15 +0800 Message-ID: <1486967556-3702-4-git-send-email-yi.y.sun@linux.intel.com> References: <1486967556-3702-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 1cdAEq-0005ys-8n for xen-devel@lists.xenproject.org; Mon, 13 Feb 2017 06:35:52 +0000 In-Reply-To: <1486967556-3702-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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org VG8gY29uc3RydWN0IGFuIGV4dGVuZGlibGUgZnJhbWV3b3JrLCB3ZSBuZWVkIGFuYWx5emUgUFNS IGZlYXR1cmVzCmFuZCBhYnN0cmFjdCB0aGUgY29tbW9uIHRoaW5ncyBhbmQgZmVhdHVyZSBzcGVj aWZpYyB0aGluZ3MuIFRoZW4sCmVuY2Fwc3VsYXRlIHRoZW0gaW50byBkaWZmZXJlbnQgZGF0YSBz dHJ1Y3R1cmVzLgoKQnkgYW5hbHl6aW5nIFBTUiBmZWF0dXJlcywgd2UgY2FuIGdldCBiZWxvdyBt YXAuCiAgICAgICAgICAgICAgICArLS0tLS0tKy0tLS0tLSstLS0tLS0rCiAgICAgIC0tLS0tLS0t LT58IERvbTAgfCBEb20xIHwgLi4uICB8CiAgICAgIHwgICAgICAgICArLS0tLS0tKy0tLS0tLSst LS0tLS0rCiAgICAgIHwgICAgICAgICAgICB8CiAgICAgIHxEb20gSUQgICAgICB8IGNvc19pZCBv ZiBkb21haW4KICAgICAgfCAgICAgICAgICAgIFYKICAgICAgfCAgICAgICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKwpVc2VyIC0tLS0tLS0tLT58IFBTUiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgU29j a2V0IElEIHwgICstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgfCAgfCBTb2NrZXQw IEluZm8gfCBTb2NrZXQgMSBJbmZvIHwgICAgLi4uICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICAgICAgICAgICB8ICArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAg ICAgICAgIHwgICAgfCAgICAgICAgICAgICAgICAgICBjb3NfaWQ9MCAgICAgICAgICAgICAgIGNv c19pZD0xICAgICAgICAgIC4uLiAgICAgICAgIHwKICAgICAgICAgICAgICAgfCAgICB8ICAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSsgfAogICAgICAgICAgICAgICB8ICAgIHwtPlJlZiAgIDogfCAgICAgICAgIHJlZiAw ICAgICAgICAgfCAgICAgICAgIHJlZiAxICAgICAgICAgfCAuLi4gICAgICAgfCB8CiAgICAgICAg ICAgICAgIHwgICAgfCAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rIHwKICAgICAgICAgICAgICAgfCAgICB8ICAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSsgfAogICAgICAgICAgICAgICB8ICAgIHwtPkwzIENBVDogfCAgICAgICAgIGNvcyAw ICAgICAgICAgfCAgICAgICAgIGNvcyAxICAgICAgICAgfCAuLi4gICAgICAgfCB8CiAgICAgICAg ICAgICAgIHwgICAgfCAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rIHwKICAgICAgICAgICAgICAgfCAgICB8ICAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSsgfAogICAgICAgICAgICAgICB8ICAgIHwtPkwyIENBVDogfCAgICAgICAgIGNvcyAw ICAgICAgICAgfCAgICAgICAgIGNvcyAxICAgICAgICAgfCAuLi4gICAgICAgfCB8CiAgICAgICAg ICAgICAgIHwgICAgfCAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rIHwKICAgICAgICAgICAgICAgfCAgICB8ICAgICAg ICAgICstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLSsgfAogICAgICAgICAgICAgICB8ICAgIHwtPkNEUCAgIDogfCBjb3MwIGNvZGUgfCBj b3MwIGRhdGEgfCBjb3MxIGNvZGUgfCBjb3MxIGRhdGEgfCAuLi4gICAgICAgfCB8CiAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rIHwKICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKwoKU28sIHdlIG5lZWQgZGVmaW5lIGEgc29ja2V0IGluZm8gZGF0YSBzdHJ1Y3R1 cmUsICdzdHJ1Y3QKcHNyX3NvY2tldF9pbmZvJyB0byBtYW5hZ2UgaW5mb3JtYXRpb24gcGVyIHNv Y2tldC4gSXQgY29udGFpbnMgYQpyZWZlcmVuY2UgY291bnQgYXJyYXkgYWNjb3JkaW5nIHRvIENP UyBJRCBhbmQgYSBmZWF0dXJlIGxpc3QgdG8KbWFuYWdlIGFsbCBmZWF0dXJlcyBlbmFibGVkLiBF dmVyeSBlbnRyeSBvZiB0aGUgcmVmZXJlbmNlIGNvdW50CmFycmF5IGlzIHVzZWQgdG8gcmVjb3Jk IGhvdyBtYW55IGRvbWFpbnMgYXJlIHVzaW5nIHRoZSBDT1MgcmVnaXN0ZXJzCmFjY29yZGluZyB0 byB0aGUgQ09TIElELiBGb3IgZXhhbXBsZSwgTDMgQ0FUIGFuZCBMMiBDQVQgYXJlIGVuYWJsZWQs CkRvbTEgdXNlcyBDT1NfSUQ9MSByZWdpc3RlcnMgb2YgYm90aCBmZWF0dXJlcyB0byBzYXZlIENC TSB2YWx1ZXMsIGxpa2UKYmVsb3cuCiAgICAgICAgKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0t LS0tKwogICAgICAgIHwgQ09TIDAgfCBDT1MgMSB8IENPUyAyIHwgLi4uIHwKICAgICAgICArLS0t LS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rCkwzIENBVCAgfCAweDdmZiB8IDB4MWZmIHwgLi4u ICAgfCAuLi4gfAogICAgICAgICstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSsKTDIgQ0FU ICB8IDB4ZmYgIHwgMHhmZiAgfCAuLi4gICB8IC4uLiB8CiAgICAgICAgKy0tLS0tLS0rLS0tLS0t LSstLS0tLS0tKy0tLS0tKwoKSWYgRG9tMiBoYXMgc2FtZSBDQk0gdmFsdWVzLCBpdCBjYW4gcmV1 c2UgdGhlc2UgcmVnaXN0ZXJzIHdoaWNoIENPU19JRD0xLgpUaGF0IG1lYW5zLCBib3RoIERvbTEg YW5kIERvbTIgdXNlIHNhbWUgQ09TIHJlZ2lzdGVycyhJRD0xKSB0byBzYXZlIHNhbWUKTDMvTDIg dmFsdWVzLiBTbywgdGhlIHZhbHVlIHJlZlsxXSBpcyAyIHdoaWNoIG1lYW5zIDIgZG9tYWlucyBh cmUgdXNpbmcKQ09TX0lEIDEuCgpUbyBtYW5hZ2UgYSBmZWF0dXJlLCB3ZSBuZWVkIGRlZmluZSBh IGZlYXR1cmUgbm9kZSBkYXRhIHN0cnVjdHVyZSwKJ3N0cnVjdCBmZWF0X25vZGUnLCB0byBtYW5h Z2UgZmVhdHVyZSdzIHNwZWNpZmljIEhXIGluZm8sIGl0cyBjYWxsYmFjawpmdW5jdGlvbnMgKGFs bCBmZWF0dXJlJ3Mgc3BlY2lmaWMgYmVoYXZpb3JzIGFyZSBlbmNhcHN1bGF0ZWQgaW50byB0aGVz ZQpjYWxsYmFjayBmdW5jdGlvbnMpLCBhbmQgYW4gYXJyYXkgb2YgYWxsIENPUyByZWdpc3RlcnMg dmFsdWVzIG9mIHRoaXMKZmVhdHVyZS4KCkNEUCBpcyBhIHNwZWNpYWwgZmVhdHVyZSB3aGljaCB1 c2VzIHR3byBlbnRyaWVzIG9mIHRoZSBhcnJheQpmb3Igb25lIENPUyBJRC4gU28sIHRoZSBudW1i ZXIgb2YgQ0RQIENPUyByZWdpc3RlcnMgaXMgdGhlIGhhbGYgb2YgTDMKQ0FULiBFLmcuIEwzIENB VCBoYXMgMTYgQ09TIHJlZ2lzdGVycywgdGhlbiBDRFAgaGFzIDggQ09TIHJlZ2lzdGVycyBpZgpp dCBpcyBlbmFibGVkLiBDRFAgdXNlcyB0aGUgQ09TIHJlZ2lzdGVycyBhcnJheSBhcyBiZWxvdy4K CiAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rCkNEUCBjb3NfcmVnX3ZhbFtdIGluZGV4OiB8 ICAgICAwICAgICB8ICAgICAxICAgICB8ICAgICAyICAgICB8ICAgICAzICAgICB8ICAgIC4uLiAg ICB8CiAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rCiAgICAgICAgICAgICAgICAgIHZhbHVl OiB8IGNvczAgY29kZSB8IGNvczAgZGF0YSB8IGNvczEgY29kZSB8IGNvczEgZGF0YSB8ICAgIC4u LiAgICB8CiAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rCgpGb3IgbW9yZSBkZXRhaWxzLCBw bGVhc2UgcmVmZXIgU0RNIGFuZCBwYXRjaGVzIHRvIGltcGxlbWVudCAnZ2V0IHZhbHVlJyBhbmQK J3NldCB2YWx1ZScuCgpTaWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlpLnkuc3VuQGxpbnV4LmludGVs LmNvbT4KUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh Y2xlLmNvbT4KLS0tCnY3OgogICAgLSBhbHBoYWJldGljYWxseSBzb3J0IGluY2x1c2lvbnMuCi0t LQogeGVuL2FyY2gveDg2L3Bzci5jIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4v YXJjaC94ODYvcHNyLmMKaW5kZXggOTZhODU4OS4uNWFjZDljYSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTMsMTYgKzEzLDEyMiBA QAogICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvcgogICogbW9yZSBkZXRhaWxzLgogICovCi0jaW5jbHVkZSA8 eGVuL2luaXQuaD4KICNpbmNsdWRlIDx4ZW4vY3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2Vyci5oPgor I2luY2x1ZGUgPHhlbi9pbml0Lmg+CisjaW5jbHVkZSA8eGVuL2xpc3QuaD4KICNpbmNsdWRlIDx4 ZW4vc2NoZWQuaD4KICNpbmNsdWRlIDxhc20vcHNyLmg+CiAKKy8qCisgKiBUZXJtaW5vbG9neToK KyAqIC0gQ0FUICAgICAgICAgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5CisgKiAtIENCTSAg ICAgICAgIENhcGFjaXR5IEJpdE1hc2tzCisgKiAtIENEUCAgICAgICAgIENvZGUgYW5kIERhdGEg UHJpb3JpdGl6YXRpb24KKyAqIC0gQ09TL0NMT1MgICAgQ2xhc3Mgb2YgU2VydmljZS4gQWxzbyBt ZWFuIENPUyByZWdpc3RlcnMuCisgKiAtIENPU19NQVggICAgIE1heCBudW1iZXIgb2YgQ09TIGZv ciB0aGUgZmVhdHVyZSAobWludXMgMSkKKyAqIC0gTVNScyAgICAgICAgTWFjaGluZSBTcGVjaWZp YyBSZWdpc3RlcnMKKyAqIC0gUFNSICAgICAgICAgSW50ZWwgUGxhdGZvcm0gU2hhcmVkIFJlc291 cmNlCisgKi8KKwogI2RlZmluZSBQU1JfQ01UICAgICAgICAoMTw8MCkKICNkZWZpbmUgUFNSX0NB VCAgICAgICAgKDE8PDEpCiAjZGVmaW5lIFBTUl9DRFAgICAgICAgICgxPDwyKQogCisvKgorICog UGVyIFNETSBjaGFwdGVyICdDYWNoZSBBbGxvY2F0aW9uIFRlY2hub2xvZ3k6IENhY2hlIE1hc2sg Q29uZmlndXJhdGlvbicsCisgKiB0aGUgTVNScyByYW5naW5nIGZyb20gMEM5MEggdGhyb3VnaCAw RDBGSCAoaW5jbHVzaXZlKSwgZW5hYmxlcyBzdXBwb3J0IGZvcgorICogdXAgdG8gMTI4IEwzIENB VCBDbGFzc2VzIG9mIFNlcnZpY2UuIFRoZSBDT1NfSUQ9WzAsMTI3XS4KKyAqCisgKiBUaGUgTVNS cyByYW5naW5nIGZyb20gMEQxMEggdGhyb3VnaCAwRDRGSCAoaW5jbHVzaXZlKSwgZW5hYmxlcyBz dXBwb3J0IGZvcgorICogdXAgdG8gNjQgTDIgQ0FUIENPUy4gVGhlIENPU19JRD1bMCw2M10uCisg KgorICogU28sIHRoZSBtYXhpbXVtIENPUyByZWdpc3RlciBjb3VudCBvZiBvbmUgZmVhdHVyZSBp cyAxMjguCisgKi8KKyNkZWZpbmUgTUFYX0NPU19SRUdfQ05UICAxMjgKKworLyoKKyAqIFBTUiBm ZWF0dXJlcyBhcmUgbWFuYWdlZCBwZXIgc29ja2V0LiBCZWxvdyBzdHJ1Y3R1cmUgZGVmaW5lcyB0 aGUgbWVtYmVycworICogdXNlZCB0byBtYW5hZ2UgdGhlc2UgZmVhdHVyZXMuCisgKiBmZWF0X21h c2sgLSBNYXNrIHVzZWQgdG8gcmVjb3JkIGZlYXR1cmVzIGVuYWJsZWQgb24gc29ja2V0LiBUaGVy ZSBtYXkgYmUKKyAqICAgICAgICAgICAgIHNvbWUgZmVhdHVyZXMgZW5hYmxlZCBhdCBzYW1lIHRp bWUuCisgKiBucl9mZWF0ICAgLSBSZWNvcmQgaG93IG1hbnkgZmVhdHVyZXMgZW5hYmxlZC4KKyAq IGZlYXRfbGlzdCAtIEEgbGlzdCB1c2VkIHRvIG1hbmFnZSBhbGwgZmVhdHVyZXMgZW5hYmxlZC4K KyAqIGNvc19yZWYgICAtIEEgcmVmZXJlbmNlIGNvdW50IGFycmF5IHRvIHJlY29yZCBob3cgbWFu eSBkb21haW5zIGFyZSB1c2luZyB0aGUKKyAqICAgICAgICAgICAgIENPU19JRC4KKyAqICAgICAg ICAgICAgIEV2ZXJ5IGVudHJ5IG9mIGNvc19yZWYgY29ycmVzcG9uZHMgdG8gb25lIENPUyBJRC4K KyAqIHJlZl9sb2NrICAtIEEgbG9jayB0byBwcm90ZWN0IGNvc19yZWYuCisgKi8KK3N0cnVjdCBw c3Jfc29ja2V0X2luZm8geworICAgIC8qCisgICAgICogSXQgbWFwcyB0byB2YWx1ZXMgZGVmaW5l ZCBpbiAnZW51bSBwc3JfZmVhdF90eXBlJyBiZWxvdy4gVmFsdWUgaW4gJ2VudW0KKyAgICAgKiBw c3JfZmVhdF90eXBlJyBtZWFucyB0aGUgYml0IHBvc2l0aW9uLgorICAgICAqIGJpdCAwOiAgIEwz IENBVAorICAgICAqIGJpdCAxOiAgIEwzIENEUAorICAgICAqIGJpdCAyOiAgIEwyIENBVAorICAg ICAqLworICAgIHVuc2lnbmVkIGludCBmZWF0X21hc2s7CisgICAgdW5zaWduZWQgaW50IG5yX2Zl YXQ7CisgICAgc3RydWN0IGxpc3RfaGVhZCBmZWF0X2xpc3Q7CisgICAgdW5zaWduZWQgaW50IGNv c19yZWZbTUFYX0NPU19SRUdfQ05UXTsKKyAgICBzcGlubG9ja190IHJlZl9sb2NrOworfTsKKwor ZW51bSBwc3JfZmVhdF90eXBlIHsKKyAgICBQU1JfU09DS0VUX0wzX0NBVCA9IDAsCisgICAgUFNS X1NPQ0tFVF9MM19DRFAsCisgICAgUFNSX1NPQ0tFVF9MMl9DQVQsCit9OworCisvKiBDQVQvQ0RQ IEhXIGluZm8gZGF0YSBzdHJ1Y3R1cmUuICovCitzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIHsKKyAg ICB1bnNpZ25lZCBpbnQgY2JtX2xlbjsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heDsKK307CisK Ky8qIEVuY2Fwc3VsYXRlIGZlYXR1cmUgc3BlY2lmaWMgSFcgaW5mbyBoZXJlLiAqLworc3RydWN0 IGZlYXRfaHdfaW5mbyB7CisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3QgcHNyX2NhdF9od19p bmZvIGwzX2NhdF9pbmZvOworICAgIH07Cit9OworCitzdHJ1Y3QgZmVhdF9ub2RlOworCisvKgor ICogVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyBmZWF0dXJlIG9wZXJhdGlvbiBjYWxsYmFjayBmdW5j dGlvbnMuIEV2ZXJ5IGZlYXR1cmUKKyAqIGVuYWJsZWQgTVVTVCBpbXBsZW1lbnQgc3VjaCBjYWxs YmFjayBmdW5jdGlvbnMgYW5kIHJlZ2lzdGVyIHRoZW0gdG8gb3BzLgorICoKKyAqIEZlYXR1cmUg c3BlY2lmaWMgYmVoYXZpb3JzIHdpbGwgYmUgZW5jYXBzdWxhdGVkIGludG8gdGhlc2UgY2FsbGJh Y2sKKyAqIGZ1bmN0aW9ucy4gVGhlbiwgdGhlIG1haW4gZmxvd3Mgd2lsbCBub3QgYmUgY2hhbmdl ZCB3aGVuIGludHJvZHVjaW5nIGEgbmV3CisgKiBmZWF0dXJlLgorICovCitzdHJ1Y3QgZmVhdF9v cHMgeworICAgIC8qIGdldF9jb3NfbWF4IGlzIHVzZWQgdG8gZ2V0IGZlYXR1cmUncyBjb3NfbWF4 LiAqLworICAgIHVuc2lnbmVkIGludCAoKmdldF9jb3NfbWF4KShjb25zdCBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0KTsKK307CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSByZXByZXNlbnRzIG9uZSBm ZWF0dXJlLgorICogZmVhdHVyZSAgICAgLSBXaGljaCBmZWF0dXJlIGl0IGlzLgorICogZmVhdF9v cHMgICAgLSBGZWF0dXJlIG9wZXJhdGlvbiBjYWxsYmFjayBmdW5jdGlvbnMuCisgKiBpbmZvICAg ICAgICAtIEZlYXR1cmUgSFcgaW5mby4KKyAqIGNvc19yZWdfdmFsIC0gQXJyYXkgdG8gc3RvcmUg dGhlIHZhbHVlcyBvZiBDT1MgcmVnaXN0ZXJzLiBPbmUgZW50cnkgc3RvcmVzCisgKiAgICAgICAg ICAgICAgIHRoZSB2YWx1ZSBvZiBvbmUgQ09TIHJlZ2lzdGVyLgorICogICAgICAgICAgICAgICBG b3IgTDMgQ0FUIGFuZCBMMiBDQVQsIG9uZSBlbnRyeSBjb3JyZXNwb25kcyB0byBvbmUgQ09TX0lE LgorICogICAgICAgICAgICAgICBGb3IgQ0RQLCB0d28gZW50cmllcyBjb3JyZXNwb25kIHRvIG9u ZSBDT1NfSUQuIEUuZy4KKyAqICAgICAgICAgICAgICAgQ09TX0lEPTAgY29ycmVzcG9uZHMgdG8g Y29zX3JlZ192YWxbMF0gKERhdGEpIGFuZAorICogICAgICAgICAgICAgICBjb3NfcmVnX3ZhbFsx XSAoQ29kZSkuCisgKiBsaXN0ICAgICAgICAtIEZlYXR1cmUgbGlzdC4KKyAqLworc3RydWN0IGZl YXRfbm9kZSB7CisgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXR1cmU7CisgICAgc3RydWN0IGZl YXRfb3BzIG9wczsKKyAgICBzdHJ1Y3QgZmVhdF9od19pbmZvIGluZm87CisgICAgdWludDY0X3Qg Y29zX3JlZ192YWxbTUFYX0NPU19SRUdfQ05UXTsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7 Cit9OworCiBzdHJ1Y3QgcHNyX2Fzc29jIHsKICAgICB1aW50NjRfdCB2YWw7CiAgICAgdWludDY0 X3QgY29zX21hc2s7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=