From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA716359FB9 for ; Wed, 11 Feb 2026 21:12:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770844327; cv=none; b=i1MJB+bSM0AUTchfHCdKCTouiHj65gcnoK35ciLUl85bgF7hdaPw0cQK0955sIxd62EZOYlDM71G5t7bWu7FRbZq2ZYJoJhzXY+0f+bLzDY+rfBzY2oBqsJ6bDImcrfTvoukBt/bv6xCgRaw9VF4FfXFq2s7vvRGWVhLetasIxA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770844327; c=relaxed/simple; bh=iod1FSF+zFcS3zPbhPpVeLmjFMAXgRNamiyq7UxbNxE=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To; b=uJ36ckceoEErnthJhclqPQxinUbae3axVpQp+x1loKAzMCPQv6JgfeeFYLynUj/kbRU7j1VRzfziCp88Yo2MDdd7mmsxnxBUmH+aSSthTWGVAHsMF9AQlf/0qZ7IjWqKYTsgVtD89O0Jk90VaC2iq2V9gFUNo5VQm1n0NR54pto= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=FFFoOAJy; arc=none smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="FFFoOAJy" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1770844325; x=1802380325; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to; bh=iod1FSF+zFcS3zPbhPpVeLmjFMAXgRNamiyq7UxbNxE=; b=FFFoOAJyW9F/cz9JEpBixVgSQMAHL+bHAFUgSvOwwAU5Ss6LpP+lGUPk ISyBYfSdNefz3khPKjPHpBh41GolLIyyVylTJ6BvF7Bn5E8noJNVU3ful cetMVp9Fjucqe13Q2ssvoQw+QoNIDhSdfQkn44YEtrrhSjJIpQHNpNQN2 7vDXcjgeqrO6EibxeHjCoHSjsCCg4DkddvYSJ/gLFb8OeDLAsz4Lv8PoQ 93FBQRcB3f0cBdVIvCIYB1zhEfHyiVVABcuT8kddPdxIaF6EntHenTHH0 01k2+dhH00nWSoAtPVCHE75xQbQMl1w02o+g6RgfRutIQWS0+0ZFgCe/2 Q==; X-CSE-ConnectionGUID: a+Nt55R+SHKdHlnRpSQETQ== X-CSE-MsgGUID: i3VQXOWGRiiM+zz5l76ycA== X-IronPort-AV: E=McAfee;i="6800,10657,11698"; a="75849597" X-IronPort-AV: E=Sophos;i="6.21,285,1763452800"; d="scan'208";a="75849597" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Feb 2026 13:12:03 -0800 X-CSE-ConnectionGUID: yVckOUz2T8euXwPGGKzHPw== X-CSE-MsgGUID: 6olRpZQdRc6LB7PI6UBi9g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,285,1763452800"; d="scan'208";a="216515027" Received: from sghuge-mobl2.amr.corp.intel.com (HELO [10.125.108.146]) ([10.125.108.146]) by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Feb 2026 13:12:01 -0800 Content-Type: multipart/mixed; boundary="------------HCA2VyLhRWJX0wjxZzXYdDDa" Message-ID: <432e4776-5e10-4bf4-9f6a-e884f5820596@intel.com> Date: Wed, 11 Feb 2026 13:12:00 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header To: "Luck, Tony" , "Mehta, Sohil" Cc: Dave Hansen , "Liu, Zhao1" , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , "Kohler, Jon" , Pawan Gupta , "Peter Zijlstra (Intel)" , Thomas Gleixner , "x86@kernel.org" , "Winiarska, Iwona" , LKML References: <20260206231438.720FF4E3@davehans-spike.ostc.intel.com> <20260206231440.C35AD1C5@davehans-spike.ostc.intel.com> <2d1cd1a3-4447-41e7-9af8-6cf80876247d@intel.com> <54745fd4-d139-4162-82b5-a10c1993e77a@intel.com> <6cc03056-af0c-44bd-9860-042f6d593b5e@intel.com> From: Dave Hansen Content-Language: en-US Autocrypt: addr=dave.hansen@intel.com; keydata= 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 In-Reply-To: This is a multi-part message in MIME format. --------------HCA2VyLhRWJX0wjxZzXYdDDa Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 2/10/26 15:52, Luck, Tony wrote: >> Is the PECI model list growing all the time? Like will it grow for the >> next decade? > Looks like this started in Feb 2022 with HASWELL ... ICELAKE > > July 2023 added SAPPHIRE. October 2025 added EMERALD. > > Maybe Iwona can future predictions/details when she sees this e-mail thread. I went and looked at this a bit more. I think we're going to way too much trouble to share a few constants. It was a valiant effort on the part of the PECI folks to avoid duplication, but I think it's run its course. The x86 code wants and needs to know the logically separate model/family/stepping. We have oodles of if (model == INTEL_FOO) do_foo_thing(); But we basically never care about the format that's in CPUID.01H:EAX. The PECI code has none of that. It's *just* matching the "id" of the device to the "id" of the CPU. It just so happens that the "id" that's chosen matches CPUID.01H:EAX. So PECI and x86 both want the same data, but they do very different things with it. So let's just duplicate the constants. Completely untested patch attached. Any reason not to do this? --------------HCA2VyLhRWJX0wjxZzXYdDDa Content-Type: text/x-patch; charset=UTF-8; name="peci-sanity.patch" Content-Disposition: attachment; filename="peci-sanity.patch" Content-Transfer-Encoding: base64 CgotLS0KCiBiL2RyaXZlcnMvaHdtb24vcGVjaS9jcHV0ZW1wLmMgfCAgIDEwICsrKysrLS0t LS0KIGIvZHJpdmVycy9wZWNpL2NvcmUuYyAgICAgICAgICB8ICAgIDQgKystLQogYi9kcml2 ZXJzL3BlY2kvY3B1LmMgICAgICAgICAgIHwgICAxNiArKysrKysrKy0tLS0tLS0tCiBiL2Ry aXZlcnMvcGVjaS9kZXZpY2UuYyAgICAgICAgfCAgIDM0ICsrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGIvZHJpdmVycy9wZWNpL2ludGVybmFsLmggICAgICB8ICAgIDQg KystLQogYi9pbmNsdWRlL2xpbnV4L3BlY2ktY3B1LmggICAgIHwgICAzNCArKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBiL2luY2x1ZGUvbGludXgvcGVjaS5oICAgICAg ICAgfCAgICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDcwIGRl bGV0aW9ucygtKQoKZGlmZiAtcHVOIGRyaXZlcnMvcGVjaS9kZXZpY2UuY35wZWNpLXNhbml0 eSBkcml2ZXJzL3BlY2kvZGV2aWNlLmMKLS0tIGEvZHJpdmVycy9wZWNpL2RldmljZS5jfnBl Y2ktc2FuaXR5CTIwMjYtMDItMTEgMTI6NDU6NTYuOTE0MTkwMjM1IC0wODAwCisrKyBiL2Ry aXZlcnMvcGVjaS9kZXZpY2UuYwkyMDI2LTAyLTExIDEzOjA2OjExLjU2MjIyOTczMyAtMDgw MApAQCAtNDQsNiArNDQsMTIgQEAgc3RhdGljIGludCBwZWNpX2dldF9yZXZpc2lvbihzdHJ1 Y3QgcGVjaQogCXJldHVybiAwOwogfQogCisvKgorICogTm90ZSAnY3B1X2lkJyB0aGF0IGNv bWVzIGJhY2sgZnJvbSB0aGUgaGFyZHdhcmUgaXMgaW4gdGhlIHJhdworICogZm9ybWF0IG9m IHg4NiBDUFVJRC4wMUg6RUFYIGxlYWYgYW5kIGluY2x1ZGVzIHRoZSBDUFUgTW9kZWwsIEZh bWlseQorICogYW5kIFN0ZXBwaW5nLiBCdXQsIGZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBk cml2ZXIsIGl0IGlzIGFuIG9wYXF1ZQorICogaWRlbnRpZmllci4KKyAqLwogc3RhdGljIGlu dCBwZWNpX2dldF9jcHVfaWQoc3RydWN0IHBlY2lfZGV2aWNlICpkZXZpY2UsIHUzMiAqY3B1 X2lkKQogewogCXN0cnVjdCBwZWNpX3JlcXVlc3QgKnJlcTsKQEAgLTY0LDMyICs3MCw2IEBA IG91dF9yZXFfZnJlZToKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdW5zaWduZWQgaW50 IHBlY2lfeDg2X2NwdV9mYW1pbHkodW5zaWduZWQgaW50IHNpZykKLXsKLQl1bnNpZ25lZCBp bnQgeDg2OwotCi0JeDg2ID0gKHNpZyA+PiA4KSAmIDB4ZjsKLQotCWlmICh4ODYgPT0gMHhm KQotCQl4ODYgKz0gKHNpZyA+PiAyMCkgJiAweGZmOwotCi0JcmV0dXJuIHg4NjsKLX0KLQot c3RhdGljIHVuc2lnbmVkIGludCBwZWNpX3g4Nl9jcHVfbW9kZWwodW5zaWduZWQgaW50IHNp ZykKLXsKLQl1bnNpZ25lZCBpbnQgZmFtLCBtb2RlbDsKLQotCWZhbSA9IHBlY2lfeDg2X2Nw dV9mYW1pbHkoc2lnKTsKLQotCW1vZGVsID0gKHNpZyA+PiA0KSAmIDB4ZjsKLQotCWlmIChm YW0gPj0gMHg2KQotCQltb2RlbCArPSAoKHNpZyA+PiAxNikgJiAweGYpIDw8IDQ7Ci0KLQly ZXR1cm4gbW9kZWw7Ci19Ci0KIHN0YXRpYyBpbnQgcGVjaV9kZXZpY2VfaW5mb19pbml0KHN0 cnVjdCBwZWNpX2RldmljZSAqZGV2aWNlKQogewogCXU4IHJldmlzaW9uOwpAQCAtMTAwLDcg KzgwLDcgQEAgc3RhdGljIGludCBwZWNpX2RldmljZV9pbmZvX2luaXQoc3RydWN0CiAJaWYg KHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWRldmljZS0+aW5mby54ODZfdmZtID0gSUZNKHBl Y2lfeDg2X2NwdV9mYW1pbHkoY3B1X2lkKSwgcGVjaV94ODZfY3B1X21vZGVsKGNwdV9pZCkp OworCWRldmljZS0+aW5mby5kZXZpY2VfaWQgPSBjcHVfaWQgPj4gNDsKIAogCXJldCA9IHBl Y2lfZ2V0X3JldmlzaW9uKGRldmljZSwgJnJldmlzaW9uKTsKIAlpZiAocmV0KQpkaWZmIC1w dU4gZHJpdmVycy9wZWNpL2ludGVybmFsLmh+cGVjaS1zYW5pdHkgZHJpdmVycy9wZWNpL2lu dGVybmFsLmgKLS0tIGEvZHJpdmVycy9wZWNpL2ludGVybmFsLmh+cGVjaS1zYW5pdHkJMjAy Ni0wMi0xMSAxMjo0NzoyNC43MDM0NzYwMjcgLTA4MDAKKysrIGIvZHJpdmVycy9wZWNpL2lu dGVybmFsLmgJMjAyNi0wMi0xMSAxMjo0ODo1Ny4yNzg5NDYyODggLTA4MDAKQEAgLTY2LDEx ICs2NiwxMSBAQCBzdHJ1Y3QgcGVjaV9yZXF1ZXN0ICpwZWNpX3hmZXJfZXBfbW1pbzY0CiAv KioKICAqIHN0cnVjdCBwZWNpX2RldmljZV9pZCAtIFBFQ0kgZGV2aWNlIGRhdGEgdG8gbWF0 Y2gKICAqIEBkYXRhOiBwb2ludGVyIHRvIGRyaXZlciBwcml2YXRlIGRhdGEgc3BlY2lmaWMg dG8gZGV2aWNlCi0gKiBAeDg2X3ZmbTogZGV2aWNlIHZlbmRvci1mYW1pbHktbW9kZWwKKyAq IEBkZXZpY2VfaWQ6IGRldmljZSBpZGVudGlmaWVyLCBpbmNsdWRlcyBDUFUgdmVuZG9yLWZh bWlseS1tb2RlbAogICovCiBzdHJ1Y3QgcGVjaV9kZXZpY2VfaWQgewogCWNvbnN0IHZvaWQg KmRhdGE7Ci0JdTMyIHg4Nl92Zm07CisJdTMyIGRldmljZV9pZDsKIH07CiAKIGV4dGVybiBj b25zdCBzdHJ1Y3QgZGV2aWNlX3R5cGUgcGVjaV9kZXZpY2VfdHlwZTsKZGlmZiAtcHVOIGlu Y2x1ZGUvbGludXgvcGVjaS5ofnBlY2ktc2FuaXR5IGluY2x1ZGUvbGludXgvcGVjaS5oCi0t LSBhL2luY2x1ZGUvbGludXgvcGVjaS5ofnBlY2ktc2FuaXR5CTIwMjYtMDItMTEgMTI6NDc6 MzYuODI0OTMwMTE5IC0wODAwCisrKyBiL2luY2x1ZGUvbGludXgvcGVjaS5oCTIwMjYtMDIt MTEgMTI6NTA6NTAuNjQ5MjAyMjA1IC0wODAwCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBp bmxpbmUgc3RydWN0IHBlY2lfY29udHJvbGxlciAqdG8KIHN0cnVjdCBwZWNpX2RldmljZSB7 CiAJc3RydWN0IGRldmljZSBkZXY7CiAJc3RydWN0IHsKLQkJdTMyIHg4Nl92Zm07CisJCXUz MiBkZXZpY2VfaWQ7CiAJCXU4IHBlY2lfcmV2aXNpb247CiAJCXU4IHNvY2tldF9pZDsKIAl9 IGluZm87CmRpZmYgLXB1TiBkcml2ZXJzL2h3bW9uL3BlY2kvY3B1dGVtcC5jfnBlY2ktc2Fu aXR5IGRyaXZlcnMvaHdtb24vcGVjaS9jcHV0ZW1wLmMKLS0tIGEvZHJpdmVycy9od21vbi9w ZWNpL2NwdXRlbXAuY35wZWNpLXNhbml0eQkyMDI2LTAyLTExIDEyOjQ5OjAwLjY5NDA3NDM5 OSAtMDgwMAorKysgYi9kcml2ZXJzL2h3bW9uL3BlY2kvY3B1dGVtcC5jCTIwMjYtMDItMTEg MTI6NTY6MTIuMTU0Mjk3OTUyIC0wODAwCkBAIC0zNDAsMTEgKzM0MCwxMSBAQCBzdGF0aWMg aW50IGluaXRfY29yZV9tYXNrKHN0cnVjdCBwZWNpX2NwCiAJaW50IHJldDsKIAogCS8qIEdl dCB0aGUgUkVTT0xWRURfQ09SRVMgcmVnaXN0ZXIgdmFsdWUgKi8KLQlzd2l0Y2ggKHBlY2lf ZGV2LT5pbmZvLng4Nl92Zm0pIHsKLQljYXNlIElOVEVMX0lDRUxBS0VfWDoKLQljYXNlIElO VEVMX0lDRUxBS0VfRDoKLQljYXNlIElOVEVMX1NBUFBISVJFUkFQSURTX1g6Ci0JY2FzZSBJ TlRFTF9FTUVSQUxEUkFQSURTX1g6CisJc3dpdGNoIChwZWNpX2Rldi0+aW5mby5kZXZpY2Vf aWQpIHsKKwljYXNlIFBFQ0lfSU5URUxfSUNFTEFLRV9YOgorCWNhc2UgUEVDSV9JTlRFTF9J Q0VMQUtFX0Q6CisJY2FzZSBQRUNJX0lOVEVMX1NBUFBISVJFUkFQSURTX1g6CisJY2FzZSBQ RUNJX0lOVEVMX0VNRVJBTERSQVBJRFNfWDoKIAkJcmV0ID0gcGVjaV9lcF9wY2lfbG9jYWxf cmVhZChwZWNpX2RldiwgMCwgcmVnLT5idXMsIHJlZy0+ZGV2LAogCQkJCQkgICAgIHJlZy0+ ZnVuYywgcmVnLT5vZmZzZXQgKyA0LCAmZGF0YSk7CiAJCWlmIChyZXQpCmRpZmYgLXB1TiBk cml2ZXJzL3BlY2kvY29yZS5jfnBlY2ktc2FuaXR5IGRyaXZlcnMvcGVjaS9jb3JlLmMKLS0t IGEvZHJpdmVycy9wZWNpL2NvcmUuY35wZWNpLXNhbml0eQkyMDI2LTAyLTExIDEyOjQ5OjQz Ljk4OTY5OTA2MCAtMDgwMAorKysgYi9kcml2ZXJzL3BlY2kvY29yZS5jCTIwMjYtMDItMTEg MTI6NDk6NTYuMTc1MTU2NDgzIC0wODAwCkBAIC0xNjMsOCArMTYzLDggQEAgRVhQT1JUX1NZ TUJPTF9OU19HUEwoZGV2bV9wZWNpX2NvbnRyb2xsZQogc3RhdGljIGNvbnN0IHN0cnVjdCBw ZWNpX2RldmljZV9pZCAqCiBwZWNpX2J1c19tYXRjaF9kZXZpY2VfaWQoY29uc3Qgc3RydWN0 IHBlY2lfZGV2aWNlX2lkICppZCwgc3RydWN0IHBlY2lfZGV2aWNlICpkZXZpY2UpCiB7Ci0J d2hpbGUgKGlkLT54ODZfdmZtICE9IDApIHsKLQkJaWYgKGlkLT54ODZfdmZtID09IGRldmlj ZS0+aW5mby54ODZfdmZtKQorCXdoaWxlIChpZC0+ZGV2aWNlX2lkICE9IDApIHsKKwkJaWYg KGlkLT5kZXZpY2VfaWQgPT0gZGV2aWNlLT5pbmZvLmRldmljZV9pZCkKIAkJCXJldHVybiBp ZDsKIAkJaWQrKzsKIAl9CmRpZmYgLXB1TiBpbmNsdWRlL2xpbnV4L3BlY2ktY3B1Lmh+cGVj aS1zYW5pdHkgaW5jbHVkZS9saW51eC9wZWNpLWNwdS5oCi0tLSBhL2luY2x1ZGUvbGludXgv cGVjaS1jcHUuaH5wZWNpLXNhbml0eQkyMDI2LTAyLTExIDEyOjUxOjE5LjYzOTI5MTQyMCAt MDgwMAorKysgYi9pbmNsdWRlL2xpbnV4L3BlY2ktY3B1LmgJMjAyNi0wMi0xMSAxMzowNDoy NC4wNjgxMDAyMTMgLTA4MDAKQEAgLTYsMzEgKzYsMTUgQEAKIAogI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+CiAKLS8qIENvcGllZCBmcm9tIHg4NiA8YXNtL3Byb2Nlc3Nvci5oPiAqLwot I2RlZmluZSBYODZfVkVORE9SX0lOVEVMICAgICAgIDAKLQotLyogQ29waWVkIGZyb20geDg2 IDxhc20vY3B1X2RldmljZV9pZC5oPiAqLwotI2RlZmluZSBWRk1fTU9ERUxfQklUCTAKLSNk ZWZpbmUgVkZNX0ZBTUlMWV9CSVQJOAotI2RlZmluZSBWRk1fVkVORE9SX0JJVAkxNgotI2Rl ZmluZSBWRk1fUlNWRF9CSVQJMjQKLQotI2RlZmluZQlWRk1fTU9ERUxfTUFTSwlHRU5NQVNL KFZGTV9GQU1JTFlfQklUIC0gMSwgVkZNX01PREVMX0JJVCkKLSNkZWZpbmUJVkZNX0ZBTUlM WV9NQVNLCUdFTk1BU0soVkZNX1ZFTkRPUl9CSVQgLSAxLCBWRk1fRkFNSUxZX0JJVCkKLSNk ZWZpbmUJVkZNX1ZFTkRPUl9NQVNLCUdFTk1BU0soVkZNX1JTVkRfQklUIC0gMSwgVkZNX1ZF TkRPUl9CSVQpCi0KLSNkZWZpbmUgVkZNX01PREVMKHZmbSkJKCgodmZtKSAmIFZGTV9NT0RF TF9NQVNLKSA+PiBWRk1fTU9ERUxfQklUKQotI2RlZmluZSBWRk1fRkFNSUxZKHZmbSkJKCgo dmZtKSAmIFZGTV9GQU1JTFlfTUFTSykgPj4gVkZNX0ZBTUlMWV9CSVQpCi0jZGVmaW5lIFZG TV9WRU5ET1IodmZtKQkoKCh2Zm0pICYgVkZNX1ZFTkRPUl9NQVNLKSA+PiBWRk1fVkVORE9S X0JJVCkKLQotI2RlZmluZQlWRk1fTUFLRShfdmVuZG9yLCBfZmFtaWx5LCBfbW9kZWwpICgJ XAotCSgoX21vZGVsKSA8PCBWRk1fTU9ERUxfQklUKSB8CQlcCi0JKChfZmFtaWx5KSA8PCBW Rk1fRkFNSUxZX0JJVCkgfAkJXAotCSgoX3ZlbmRvcikgPDwgVkZNX1ZFTkRPUl9CSVQpCQlc Ci0pCi0vKiBFbmQgb2YgY29waWVkIGNvZGUgKi8KLQotI2luY2x1ZGUgIi4uLy4uL2FyY2gv eDg2L2luY2x1ZGUvYXNtL2ludGVsLWZhbWlseS5oIgorI2RlZmluZSBQRUNJX0lOVEVMX0hB U1dFTExfWAkJMHgzMDZDMAorI2RlZmluZSBQRUNJX0lOVEVMX0JST0FEV0VMTF9YCQkweDQw NkYwCisjZGVmaW5lIFBFQ0lfSU5URUxfQlJPQURXRUxMX0QJCTB4NTA2NjAKKyNkZWZpbmUg UEVDSV9JTlRFTF9TS1lMQUtFX1gJCTB4NTA2NTAKKworI2RlZmluZSBQRUNJX0lOVEVMX0lD RUxBS0VfWAkJMHg2MDZBMAorI2RlZmluZSBQRUNJX0lOVEVMX0lDRUxBS0VfRAkJMHg2MDZD MAorI2RlZmluZSBQRUNJX0lOVEVMX1NBUFBISVJFUkFQSURTX1gJMHg4MDZGMAorI2RlZmlu ZSBQRUNJX0lOVEVMX0VNRVJBTERSQVBJRFNfWAkweEMwNkYwCiAKICNkZWZpbmUgUEVDSV9Q Q1NfUEtHX0lECQkJMCAgLyogUGFja2FnZSBJZGVudGlmaWVyIFJlYWQgKi8KICNkZWZpbmUg IFBFQ0lfUEtHX0lEX0NQVV9JRAkJMHgwMDAwICAvKiBDUFVJRCBJbmZvICovCmRpZmYgLXB1 TiBkcml2ZXJzL3BlY2kvY3B1LmN+cGVjaS1zYW5pdHkgZHJpdmVycy9wZWNpL2NwdS5jCi0t LSBhL2RyaXZlcnMvcGVjaS9jcHUuY35wZWNpLXNhbml0eQkyMDI2LTAyLTExIDEyOjU2OjQ4 LjcyNDY3NTYyNyAtMDgwMAorKysgYi9kcml2ZXJzL3BlY2kvY3B1LmMJMjAyNi0wMi0xMSAx Mjo1NzoxOC42NjM4MDM3MDcgLTA4MDAKQEAgLTI5NCwzNSArMjk0LDM1IEBAIHBlY2lfY3B1 X3Byb2JlKHN0cnVjdCBwZWNpX2RldmljZSAqZGV2aWMKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBwZWNpX2RldmljZV9pZCBwZWNpX2NwdV9kZXZpY2VfaWRzW10gPSB7CiAJeyAvKiBIYXN3 ZWxsIFhlb24gKi8KLQkJLng4Nl92Zm0gPSBJTlRFTF9IQVNXRUxMX1gsCisJCS5kZXZpY2Vf aWQgPSBQRUNJX0lOVEVMX0hBU1dFTExfWCwKIAkJLmRhdGEJPSAiaHN4IiwKIAl9LAogCXsg LyogQnJvYWR3ZWxsIFhlb24gKi8KLQkJLng4Nl92Zm0gPSBJTlRFTF9CUk9BRFdFTExfWCwK KwkJLmRldmljZV9pZCA9IFBFQ0lfSU5URUxfQlJPQURXRUxMX1gsCiAJCS5kYXRhCT0gImJk eCIsCiAJfSwKIAl7IC8qIEJyb2Fkd2VsbCBYZW9uIEQgKi8KLQkJLng4Nl92Zm0gPSBJTlRF TF9CUk9BRFdFTExfRCwKKwkJLmRldmljZV9pZCA9IFBFQ0lfSU5URUxfQlJPQURXRUxMX0Qs CiAJCS5kYXRhCT0gImJkeGQiLAogCX0sCiAJeyAvKiBTa3lsYWtlIFhlb24gKi8KLQkJLng4 Nl92Zm0gPSBJTlRFTF9TS1lMQUtFX1gsCisJCS5kZXZpY2VfaWQgPSBQRUNJX0lOVEVMX1NL WUxBS0VfWCwKIAkJLmRhdGEJPSAic2t4IiwKIAl9LAogCXsgLyogSWNlbGFrZSBYZW9uICov Ci0JCS54ODZfdmZtID0gSU5URUxfSUNFTEFLRV9YLAorCQkuZGV2aWNlX2lkID0gUEVDSV9J TlRFTF9JQ0VMQUtFX1gsCiAJCS5kYXRhCT0gImljeCIsCiAJfSwKIAl7IC8qIEljZWxha2Ug WGVvbiBEICovCi0JCS54ODZfdmZtID0gSU5URUxfSUNFTEFLRV9ELAorCQkuZGV2aWNlX2lk ID0gUEVDSV9JTlRFTF9JQ0VMQUtFX0QsCiAJCS5kYXRhCT0gImljeGQiLAogCX0sCiAJeyAv KiBTYXBwaGlyZSBSYXBpZHMgWGVvbiAqLwotCQkueDg2X3ZmbSA9IElOVEVMX1NBUFBISVJF UkFQSURTX1gsCisJCS5kZXZpY2VfaWQgPSBQRUNJX0lOVEVMX1NBUFBISVJFUkFQSURTX1gs CiAJCS5kYXRhCT0gInNwciIsCiAJfSwKIAl7IC8qIEVtZXJhbGQgUmFwaWRzIFhlb24gKi8K LQkJLng4Nl92Zm0gID0gSU5URUxfRU1FUkFMRFJBUElEU19YLAorCQkuZGV2aWNlX2lkICA9 IFBFQ0lfSU5URUxfRU1FUkFMRFJBUElEU19YLAogCQkuZGF0YSAgPSAiZW1yIiwKIAl9LAog CXsgfQpfCg== --------------HCA2VyLhRWJX0wjxZzXYdDDa--