RE: [PATCH v2] printk: fix zero-valued printk timestamps in early boot
"Bird, Tim" <[email protected]> Mon, 26 Jan 2026 16:52:57 +0000
| Newsgroups | org.kernel.vger.linux-embedded,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <MW5PR13MB5632FE304C7FA3D86309D6F1FD93A@MW5PR13MB5632.namprd13.prod.outlook.com> |
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRnJhbmNlc2NvIFZhbGxh IDxmcmFuY2VzY29AdmFsbGEuaXQ+DQo+IA0KPiBIaSBUaW0sDQo+IA0KPiBJIHRlc3RlZCB0aGlz IGJvdGggb24gWDg2XzY0IFFFTVUgYW5kIG9uIGEgaS5NWDkzIChBUk02NCkgYW5kIGNhbg0KPiBj b25maXJtIGl0IGlzIHdvcmtpbmcgYXMgZXhwZWN0ZWQuIEF1dG8tY2FsYyBvZiBjYWxpYnJhdGlv biBkYXRhIGlzIGZhcg0KPiBiZXR0ZXIgdGhhbiB0aGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJz IGluIHYxLg0KPiANCj4gSXQgaXMgc2xpZ2h0bHkgY29uZnVzaW5nIHRvIHNlZSBhIHRpbWUgdmFs dWUgcHJpbnRlZCB0byBzZXJpYWwgb3V0cHV0DQo+IGFuZCBhbm90aGVyIG9uZSBpbnNpZGUga21z ZywgYnV0IHRoYXQncyBhIGh1bWFuIHRoaW5nIGFuZCBzaG91bGQgbm90DQo+IGNvbmZ1c2UgYW55 IHRvb2wuDQpBZ3JlZWQuICBJIHdhc24ndCB0b28gd29ycmllZCBhYm91dCBpdCwgYmVjYXVzZSBt b3N0IHNlcmlvdXMgZGV2ZWxvcGVycyB3b3JraW5nDQpvbiBib290LXRpbWUgd2lsbCBub3QgYmUg d2F0Y2hpbmcgZWFybHkgbWVzc2FnZXMgb3ZlciBzZXJpYWwgY29uc29sZS4gIChVc3VhbGx5IHRo ZXkNCnVzZSAncXVpZXQnIG9yIHNvbWUgbG93ZXIgbG9nIGxldmVsKS4gIEJ1dCBvbiBxZW11LCBp dCBkb2VzIGxvb2sgc3RyYW5nZSB0byBzZWUgMHMNCm9uIHRoZSBmaXJzdCBvdXRwdXQgc2VxdWVu Y2UsIGFuZCB0aGVuIG5vbi16ZXJvZXMgd2hlbiB1c2luZyBkbWVzZyBsYXRlciBpbiB0aGUgc2Ft ZQ0KYm9vdC4NCg0KSSBqdXN0IHJlYWxpemVkIHRob3VnaCwgdGhhdCBJIHNob3VsZCBnbyBiYWNr IGFuZCBzZWUgaWYgdGhlcmUncyBhIGRpc2NvbnRpbnVpdHkgb24gdGhlIG91dHB1dCB2aWEgc2Vy aWFsDQooYmVmb3JlIGFuZCBhZnRlciBjYWxpYnJhdGlvbiksIGFuZCBwb3NzaWJseSBwdXQgYSBu b3RlIGFib3V0IHRoYXQgaW4gdGhlIGNvbmZpZyBkZXNjcmlwdGlvbi4NCg0KSSdsbCB0aGluayBh Ym91dCB3aGF0IEkgY2FuIGRvIGhlcmUgdG8gcmVkdWNlIHRoZSBjb25mdXNpb24uDQoNCj4gDQo+ IFNvbWUgbm90ZXMgZm9sbG93Lg0KPiANCj4gT24gU2F0LCBKYW4gMjQsIDIwMjYgYXQgMTI6NDA6 MjdQTSAtMDcwMCwgVGltIEJpcmQgd3JvdGU6DQo+ID4gRHVyaW5nIGVhcmx5IGJvb3QsIHByaW50 ayB0aW1lc3RhbXBzIGFyZSByZXBvcnRlZCBhcyB6ZXJvIGJlZm9yZQ0KPiA+IGtlcm5lbCB0aW1l a2VlcGluZyBzdGFydHMgKGUuZy4gYmVmb3JlIHRpbWVfaW5pdCgpKS4gIFRoaXMNCj4gPiBoaW5k ZXJzIGJvb3QtdGltZSBvcHRpbWl6YXRpb24gZWZmb3J0cy4gIFRoaXMgcGVyaW9kIGlzIGFib3V0 IDQwMA0KPiA+IG1pbGxpc2Vjb25kcyBmb3IgbWFueSBjdXJyZW50IGRlc2t0b3AgYW5kIGVtYmVk ZGVkIG1hY2hpbmVzDQo+ID4gcnVubmluZyBMaW51eC4NCj4gPg0KPiA+IEFkZCBzdXBwb3J0IHRv IHNhdmUgY3ljbGVzIGR1cmluZyBlYXJseSBib290LCBhbmQgb3V0cHV0IGNvcnJlY3QNCj4gPiB0 aW1lc3RhbXAgdmFsdWVzIGFmdGVyIHRpbWVrZWVwaW5nIGlzIGluaXRpYWxpemVkLiAgZ2V0X2N5 Y2xlcygpDQo+ID4gaXMgb3BlcmF0aW9uYWwgb24gYXJtNjQgYW5kIHg4Nl82NCBmcm9tIGtlcm5l bCBzdGFydC4gIEFkZCBjb2RlDQo+ID4gYW5kIHZhcmlhYmxlcyB0byBzYXZlIGNhbGlicmF0aW9u IHZhbHVlcyB1c2VkIHRvIGxhdGVyIGNvbnZlcnQNCj4gPiBjeWNsZSBjb3VudHMgdG8gdGltZSB2 YWx1ZXMgaW4gdGhlIGVhcmx5IHByaW50a3MuICBBZGQgYSBjb25maWcNCj4gPiB0byBjb250cm9s IHRoZSBmZWF0dXJlLg0KPiA+DQo+ID4gVGhpcyB5aWVsZHMgbm9uLXplcm8gdGltZXN0YW1wcyBm b3IgcHJpbnRrcyBmcm9tIHRoZSB2ZXJ5IHN0YXJ0DQo+ID4gb2Yga2VybmVsIGV4ZWN1dGlvbi4g IFRoZSB0aW1lc3RhbXBzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YNCj4gPiB0aGUgYXJj aGl0ZWN0dXJlLXNwZWNpZmllZCBjb3VudGVyIHVzZWQgaW4gZ2V0X2N5Y2xlcw0KPiA+IChlLmcu IHRoZSBUU0Mgb24geDg2XzY0IGFuZCBjbnR2Y3RfZWwwIG9uIGFybTY0KS4NCj4gPg0KPiA+IEFs bCB0aW1lc3RhbXBzIHJlZmxlY3QgdGltZSBmcm9tIHBvd2VyLW9uIGluc3RlYWQgb2YgdGltZSBm cm9tDQo+ID4gdGhlIGtlcm5lbCdzIHRpbWVrZWVwaW5nIGluaXRpYWxpemF0aW9uLg0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogVGltIEJpcmQgPHRpbS5iaXJkQHNvbnkuY29tPg0KPiA+IC0tLQ0K PiA+IFYxIC0+IFYyDQo+ID4gICBSZW1vdmUgY2FsaWJyYXRpb24gQ09ORklHIHZhcnMNCj4gPiAg IEFkZCAnZGVwZW5kcyBvbicgdG8gcmVzdHJpY3QgYXJjaGVzICh0byBoYW5kbGUgcHBjIGJ1ZykN Cj4gPiAgIEFkZCBlYXJseV90c19vZmZzZXQgdG8gYXZvaWQgZGlzY29udGludWl0eQ0KPiA+ICAg U2F2ZSBjeWNsZXMgaW4gdHNfbnNlYywgYW5kIGNvbnZlcnQgb24gb3V0cHV0DQo+ID4gICBNb3Zl IGNvbmRpdGlvbmFsIGNvZGUgdG8gaW5jbHVkZSBmaWxlIChlYXJseV90aW1lcy5oKQ0KPiA+IC0t LQ0KPiA+ICBpbmNsdWRlL2xpbnV4L2Vhcmx5X3RpbWVzLmggfCA0OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGluaXQvS2NvbmZpZyAgICAgICAgICAgICAgICB8 IDEyICsrKysrKysrKysNCj4gPiAgaW5pdC9tYWluLmMgICAgICAgICAgICAgICAgIHwgMjYgKysr KysrKysrKysrKysrKysrKysNCj4gPiAga2VybmVsL3ByaW50ay9wcmludGsuYyAgICAgIHwgMTYg KysrKysrKysrKystLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9lYXJs eV90aW1lcy5oDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lYXJseV90aW1l cy5oIGIvaW5jbHVkZS9saW51eC9lYXJseV90aW1lcy5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjlkYzMxZWI0NDJjMg0KPiA+IC0tLSAvZGV2L251 bGwNCj4gPiArKysgYi9pbmNsdWRlL2xpbnV4L2Vhcmx5X3RpbWVzLmgNCj4gPiBAQCAtMCwwICsx LDQ4IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovDQo+ID4g Kw0KPiA+ICsjaWZuZGVmIF9LRVJORUxfUFJJTlRLX0VBUkxZX1RJTUVTX0gNCj4gPiArI2RlZmlu ZSBfS0VSTkVMX1BSSU5US19FQVJMWV9USU1FU19IDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8bGlu dXgvdGltZXguaD4NCj4gPiArDQo+ID4gKyNpZiBkZWZpbmVkKENPTkZJR19FQVJMWV9QUklOVEtf VElNRVMpDQo+ID4gK2V4dGVybiB1MzIgZWFybHlfbXVsdCwgZWFybHlfc2hpZnQ7DQo+ID4gK2V4 dGVybiB1NjQgZWFybHlfdHNfb2Zmc2V0Ow0KPiA+ICsNCj4gPiArc3RhdGljIGlubGluZSB1NjQg ZWFybHlfY3ljbGVzKHZvaWQpDQo+ID4gK3sNCj4gPiArCXJldHVybiAoKHU2NClnZXRfY3ljbGVz KCkgfCAoMVVMTCA8PCA2MykpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW5saW5lIHU2 NCBhZGp1c3RfZWFybHlfdHModTY0IHRzKQ0KPiA+ICt7DQo+ID4gKwkvKiBIaWdoIGJpdCBtZWFu cyB0cyBpcyBhIGN5Y2xlIGNvdW50ICovDQo+ID4gKwlpZiAodW5saWtlbHkodHMgJiAoMVVMTCA8 PCA2MykpKQ0KPiA+ICsJCS8qDQo+ID4gKwkJICogbWFzayBoaWdoIGJpdCBhbmQgY29udmVydCB0 byBucw0KPiA+ICsJCSAqIE5vdGUgdGhhdCBlYXJseV9tdWx0IG1heSBiZSAwLCBidXQgdGhhdCdz IE9LIGJlY2F1c2UNCj4gPiArCQkgKiB3ZSdsbCBqdXN0IG11bHRpcGx5IGJ5IDAgYW5kIHJldHVy biAwLiBUaGlzIHdpbGwNCj4gPiArCQkgKiBvbmx5IG9jY3VyIGlmIHdlJ3JlIG91dHB1dHRpbmcg YSBwcmludGsgbWVzc2FnZQ0KPiA+ICsJCSAqIGJlZm9yZSB0aGUgY2FsaWJyYXRpb24gb2YgdGhl IGVhcmx5IHRpbWVzdGFtcC4NCj4gPiArCQkgKiBBbnkgb3V0cHV0IGFmdGVyIHVzZXIgc3BhY2Ug c3RhcnQgKGVnLiBmcm9tIGRtZXNnIG9yDQo+ID4gKwkJICogam91cm5hbGN0bCkgd2lsbCBzaG93 IGNvcnJlY3QgdmFsdWVzLg0KPiA+ICsJCSAqLw0KPiA+ICsJCXJldHVybiAoKCh0cyAmIH4oMVVM TCA8PCA2MykpICogZWFybHlfbXVsdCkgPj4gZWFybHlfc2hpZnQpOw0KPiA+ICsNCj4gPiArCS8q IElmIHRpbWVzdGFtcCBpcyBhbHJlYWR5IGluIG5zLCBqdXN0IGFkZCBvZmZzZXQgKi8NCj4gPiAr CXJldHVybiB0cyArIGVhcmx5X3RzX29mZnNldDsNCj4gPiArfQ0KPiA+ICsjZWxzZQ0KPiA+ICtz dGF0aWMgaW5saW5lIHU2NCBlYXJseV9jeWNsZXModm9pZCkNCj4gPiArew0KPiA+ICsJcmV0dXJu IDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbmxpbmUgdTY0IGFkanVzdF9lYXJseV90 cyh1NjQgdHMpDQo+ID4gK3sNCj4gPiArCXJldHVybiB0czsNCj4gPiArfQ0KPiA+ICsjZW5kaWYg LyogQ09ORklHX0VBUkxZX1BSSU5US19USU1FUyAqLw0KPiA+ICsNCj4gPiArI2VuZGlmIC8qIF9L RVJORUxfUFJJTlRLX0VBUkxZX1RJTUVTX0ggKi8NCj4gPiArDQo+ID4gZGlmZiAtLWdpdCBhL2lu aXQvS2NvbmZpZyBiL2luaXQvS2NvbmZpZw0KPiA+IGluZGV4IGZhNzlmZWI4ZmU1Ny4uMDYwYTIy Y2RkZDE3IDEwMDY0NA0KPiA+IC0tLSBhL2luaXQvS2NvbmZpZw0KPiA+ICsrKyBiL2luaXQvS2Nv bmZpZw0KPiA+IEBAIC03NzcsNiArNzc3LDE4IEBAIGNvbmZpZyBJS0hFQURFUlMNCj4gPiAgCSAg b3Igc2ltaWxhciBwcm9ncmFtcy4gIElmIHlvdSBidWlsZCB0aGUgaGVhZGVycyBhcyBhIG1vZHVs ZSwgYSBtb2R1bGUgY2FsbGVkDQo+ID4gIAkgIGtoZWFkZXJzLmtvIGlzIGJ1aWx0IHdoaWNoIGNh biBiZSBsb2FkZWQgb24tZGVtYW5kIHRvIGdldCBhY2Nlc3MgdG8gaGVhZGVycy4NCj4gPg0KPiA+ ICtjb25maWcgRUFSTFlfUFJJTlRLX1RJTUVTDQo+ID4gKwlib29sICJTaG93IG5vbi16ZXJvIHBy aW50ayB0aW1lc3RhbXBzIGVhcmx5IGluIGJvb3QiDQo+ID4gKwlkZWZhdWx0IHkNCj4gDQo+IENv bnNpZGVyaW5nIHRoYXQgdGhpcyBtaWdodCBoYXZlIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIG1v bml0b3JpbmcNCj4gbWVjaGFuaXNtcyBhbHJlYWR5IGluIHBsYWNlICh0aGF0IGUuZy4gZXhwZWN0 IGEgc3BlY2lmaWMgZG1lc2cgcHJpbnQgdG8NCj4gaGF2ZSBhIG1heGltdW0gYXNzb2NpYXRlZCB0 aW1lIHZhbHVlKSwgcGxlYXNlIGNvbnNpZGVyIGEgTiBkZWZhdWx0IGhlcmUuDQoNCk9vcHMhICBT b3JyeSwgdGhhdCB3YXMgc3VwcG9zZWQgdG8gYmUgJ2RlZmF1bHQgbicuICBZb3UncmUgcmlnaHQu ICBJIGtub3cgSSBoYWQNCnRoaXMgYXMgZGVmYXVsdCBOLCBhbmQgSSB0aGluayBJIHN3aXRjaGVk IGl0IHRlbXBvcmFyaWx5IGZvciB0ZXN0aW5nLCBhbmQgZm9yZ290DQp0byBzd2l0Y2ggaXQgYmFj ayAoYW5kIG5ldmVyIGNhdWdodCBpdCB0aGUgbnVtZXJvdXMgdGltZXMgSSByZXZpZXdlZCB0aGUN CnBhdGNoIGJlZm9yZSBzZW5kaW5nIGl0IG91dCBhZ2FpbiwgdWdoKS4gIFRoYW5rcyBmb3IgY2F0 Y2hpbmcgdGhpcy4NCg0KSWYgcGVvcGxlIGxpa2UgdGhpcywgYW5kIHdlIGRvbid0IHNlZSBhbnkg cHJvYmxlbXMgd2l0aCB0b29saW5nIG9yIHZpcnR1YWxpemF0aW9uLCBJDQpjb3VsZCBzZWUgaXQg c3dpdGNoaW5nIHRvIGRlZmF1bHQgWSBpbiB0aGUgZnV0dXJlLiAgQnV0IGZvciBub3cgdGhpcyBz aG91bGQgZGVmaW5pdGVseQ0KYmUgJ2RlZmF1bHQgbicuDQoNCj4gDQo+ID4gKwlkZXBlbmRzIG9u IFBSSU5USw0KPiA+ICsJZGVwZW5kcyBvbiBBUk02NCB8fCBYODZfNjQNCj4gPiArCWhlbHANCj4g PiArCSAgVXNlIGEgY3ljbGUtY291bnRlciB0byBwcm92aWRlIHByaW50ayB0aW1lc3RhbXBzIGR1 cmluZw0KPiA+ICsJICBlYXJseSBib290LiAgVGhpcyBhbGxvd3Mgc2VlaW5nIHRpbWVzdGFtcHMg Zm9yIHByaW50a3MgdGhhdA0KPiA+ICsJICB3b3VsZCBvdGhlcndpc2Ugc2hvdyBhcyAwLiAgTm90 ZSB0aGF0IHRoaXMgd2lsbCBzaGlmdCB0aGUNCj4gPiArCSAgcHJpbnRrIHRpbWVzdGFtcHMgdG8g YmUgcmVsYXRpdmUgdG8gbWFjaGluZSBwb3dlciBvbiwgaW5zdGVhZA0KPiA+ICsJICBvZiByZWxh dGl2ZSB0byB0aGUgc3RhcnQgb2Yga2VybmVsIHRpbWVrZWVwaW5nLg0KPiA+ICsNCj4gDQo+IFRv IGJlIHByZWNpc2UsIHRoZSB0aW1lc3RhbXBzIHdpbGwgYmUgcmVsYXRpdmUgdG8gcHJvY2Vzc29y IHBvd2VyIG9uOw0KPiB0aGUgbWFjaGluZSBtaWdodCBoYXZlIHNvbWUgb3RoZXIgcHJvY2Vzc29y cyB0aGF0IHJ1biBiZWZvcmUgdGhlIExpbnV4DQo+IG9uZSAodGhpcyBpcyB0aGUgY2FzZSBmb3Ig ZXhhbXBsZSBvZiBpLk1YOSBvciBBTTYyIFNvQ3MpIGFuZCB3aWxsIGJlDQo+IHVuYWNjb3VudGVk IGZvciBldmVuIGJ5IHRoaXMgbWVjaGFuaXNtLg0KDQpHb29kIHBvaW50LiAgIEV2ZW4gbW9yZSBw cmVjaXNlbHksIGl0IHdpbGwgYmUgcmVsYXRpdmUgdG8NCmN5Y2xlLWNvdW50ZXIgdmFsdWUgaW5p dGlhbGl6YXRpb24gb3IgcmVzZXQsIHdoaWNoIG9mdGVuIChidXQgbm90IGFsd2F5cykNCmNvcnJl c3BvbmRzIHRvIHByb2Nlc3NvciBwb3dlciBvbi4NCg0KSSdsbCBhZGp1c3QgdGhlIHdvcmRpbmcu DQoNCkknbSBzdGlsbCBhIGJpdCB1bnN1cmUgd2hhdCBoYXBwZW5zIGluIHRoZSB2aXJ0dWFsaXph dGlvbiBjYXNlLiAgcWVtdSBzZWVtcyB0byBpbml0aWFsaXplDQp0aGUgVFNDIGF0IHFlbXUgc3Rh cnQsIGJ1dCBJJ20gbm90IHN1cmUgd2hhdCBoYXBwZW5zIGZvciBlLmcuIGNsaWVudCBWTXMgb24g Y2xvdWQgc2VydmVycy4NCg0KPiANCj4gPiAgY29uZmlnIExPR19CVUZfU0hJRlQNCj4gPiAgCWlu dCAiS2VybmVsIGxvZyBidWZmZXIgc2l6ZSAoMTYgPT4gNjRLQiwgMTcgPT4gMTI4S0IpIg0KPiA+ ICAJcmFuZ2UgMTIgMjUNCj4gPiBkaWZmIC0tZ2l0IGEvaW5pdC9tYWluLmMgYi9pbml0L21haW4u Yw0KPiA+IGluZGV4IGI4NDgxOGFkOTY4NS4uY2MxYWYyNjkzM2Y3IDEwMDY0NA0KPiA+IC0tLSBh L2luaXQvbWFpbi5jDQo+ID4gKysrIGIvaW5pdC9tYWluLmMNCj4gPiBAQCAtMTA0LDYgKzEwNCw5 IEBADQo+ID4gICNpbmNsdWRlIDxsaW51eC9waWRmcy5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgv cHRkdW1wLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC90aW1lX25hbWVzcGFjZS5oPg0KPiA+ICsj aW5jbHVkZSA8bGludXgvdGltZXguaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3NjaGVkL2Nsb2Nr Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9lYXJseV90aW1lcy5oPg0KPiA+ICAjaW5jbHVkZSA8 bmV0L25ldF9uYW1lc3BhY2UuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSA8YXNtL2lvLmg+DQo+ID4g QEAgLTE2MCw2ICsxNjMsMTAgQEAgc3RhdGljIHNpemVfdCBpbml0YXJnc19vZmZzOw0KPiA+ICAj IGRlZmluZSBpbml0YXJnc19vZmZzIDANCj4gPiAgI2VuZGlmDQo+ID4NCj4gPiArI2lmZGVmIENP TkZJR19FQVJMWV9QUklOVEtfVElNRVMNCj4gPiArc3RhdGljIHU2NCBzdGFydF9jeWNsZXMsIHN0 YXJ0X25zOw0KPiA+ICsjZW5kaWYNCj4gPiArDQo+ID4gIHN0YXRpYyBjaGFyICpleGVjdXRlX2Nv bW1hbmQ7DQo+ID4gIHN0YXRpYyBjaGFyICpyYW1kaXNrX2V4ZWN1dGVfY29tbWFuZCA9ICIvaW5p dCI7DQo+ID4NCj4gPiBAQCAtMTExOCw2ICsxMTI1LDExIEBAIHZvaWQgc3RhcnRfa2VybmVsKHZv aWQpDQo+ID4gIAl0aW1la2VlcGluZ19pbml0KCk7DQo+ID4gIAl0aW1lX2luaXQoKTsNCj4gPg0K PiA+ICsjaWZkZWYgQ09ORklHX0VBUkxZX1BSSU5US19USU1FUw0KPiA+ICsJc3RhcnRfY3ljbGVz ID0gZ2V0X2N5Y2xlcygpOw0KPiA+ICsJc3RhcnRfbnMgPSBsb2NhbF9jbG9jaygpOw0KPiA+ICsj ZW5kaWYNCj4gPiArDQo+IA0KPiBJIHdhcyB3b25kZXJpbmcgaXQgaXQgd291bGRuJ3QgbWFrZSBt b3JlIHNlbnNlIHRvIG1vdmUgdGhpcyBsb2dpYyB0byBpdHMNCj4gb3duIGZpbGUsIGFuZCBoYXZl IGEgcGxhaW4gY2FsbCBlLmcuIHRvIGVhcmx5X3RpbWVzX2luaXQoKSBoZXJlDQo+IChjb250aW51 ZS4uLikNCj4gDQo+ID4gIAkvKiBUaGlzIG11c3QgYmUgYWZ0ZXIgdGltZWtlZXBpbmcgaXMgaW5p dGlhbGl6ZWQgKi8NCj4gPiAgCXJhbmRvbV9pbml0KCk7DQo+ID4NCj4gPiBAQCAtMTYwMCw2ICsx NjEyLDIwIEBAIHN0YXRpYyBpbnQgX19yZWYga2VybmVsX2luaXQodm9pZCAqdW51c2VkKQ0KPiA+ DQo+ID4gIAlkb19zeXNjdGxfYXJncygpOw0KPiA+DQo+ID4gKyNpZmRlZiBDT05GSUdfRUFSTFlf UFJJTlRLX1RJTUVTDQo+ID4gKwl1NjQgZW5kX2N5Y2xlcywgZW5kX25zOw0KPiA+ICsNCj4gPiAr CS8qIHNldCBjYWxpYnJhdGlvbiBkYXRhIGZvciBlYXJseV9wcmludGtfdGltZXMgKi8NCj4gPiAr CWVuZF9jeWNsZXMgPSBnZXRfY3ljbGVzKCk7DQo+ID4gKwllbmRfbnMgPSBsb2NhbF9jbG9jaygp Ow0KPiA+ICsJY2xvY2tzX2NhbGNfbXVsdF9zaGlmdCgmZWFybHlfbXVsdCwgJmVhcmx5X3NoaWZ0 LA0KPiA+ICsJCSgoZW5kX2N5Y2xlcyAtIHN0YXJ0X2N5Y2xlcykgKiBOU0VDX1BFUl9TRUMpLyhl bmRfbnMgLSBzdGFydF9ucyksDQo+ID4gKwkJTlNFQ19QRVJfU0VDLCA1MCk7DQo+ID4gKwllYXJs eV90c19vZmZzZXQgPSAoKHN0YXJ0X2N5Y2xlcyAqIGVhcmx5X211bHQpID4+IGVhcmx5X3NoaWZ0 KSAtIHN0YXJ0X25zOw0KPiA+ICsJcHJfZGVidWcoIkVhcmx5IHByaW50ayB0aW1lczogbXVsdD0l dSwgc2hpZnQ9JXUsIG9mZnNldD0lbGx1IG5zXG4iLA0KPiA+ICsJCWVhcmx5X211bHQsIGVhcmx5 X3NoaWZ0LCBlYXJseV90c19vZmZzZXQpOw0KPiA+ICsjZW5kaWYNCj4gPiArDQo+IA0KPiAoLi4u Y29udGludWUpIGFuZCB0byBlYXJseV90aW1lc19jYWxjKCkgb3Igc29tZXRoaW5nIGxpa2UgdGhh dCBoZXJlLg0KPiANCj4gSW4gdGhpcyB3YXksIGFsbCByZWxhdGVkIHZhcmlhYmxlcyAoaS5lLjog c3RhcnRfY3ljbGVzLCBzdGFydF9ucyBmcm9tDQo+IHRoaXMgZmlsZSwgYnV0IGFsc28gZWFybHlf bXVsdCwgZWFybHlfc2hpZnQsIGFuZCBlYXJseV90c19vZmZzZXQgZnJvbQ0KPiBrZXJuZWwvcHJp bnRrL3ByaW50ay5jKSBjYW4gYmUgY29uZmluZWQgdG8gdGhlaXIgb3duIGZpbGUgYW5kIG5vdCBh ZGQNCj4gbm9pc2UgaGVyZS4NCg0KSSB0aG91Z2h0IGEgbG90IGFib3V0IHRoaXMsIGFuZCB3YXNu J3Qgc3VyZSB3aGV0aGVyIHRvIHVzZSB0aGF0IGFwcHJvYWNoIG9yDQpub3QuICBJIHdvdWxkIG5l ZWQgdHdvIHJvdXRpbmVzOiBlYXJseV90aW1lc19zdGFydF9jYWxpYnJhdGlvbiwgYW5kDQplYXJs eV90aW1lc19maW5pc2hfY2FsaWJyYXRpb24oKS4gIEkgYWdyZWUgd2l0aCB0aGUgaWRlYSBvZiBr ZWVwaW5nDQphbGwgdmFyaWFibGVzIGluIHRoZSBwcmludGsgbW9kdWxlLCBzbyB0aGlzIGlzIG1v cmUgc2VsZi1jb250YWluZWQuICBJdCBhbHNvDQpyZWR1Y2VzIHRoZSBudW1iZXIgb2YgdmlzaWJs ZSAjaWZkZWZzLg0KDQpJIHRoaW5rIEknbGwgZ28gYWhlYWQgYW5kIGRvIHRoaXMsIGFuZCBzZWUg d2hhdCB0aGUgY29kZSBsb29rcyBsaWtlLiBJIHN1c3BlY3QNCnRoYXQgd2hhdCB5b3UgcmVjb21t ZW5kIGlzIHRoZSBiZXR0ZXIgd2F5IHRvIGdvLg0KDQo+IA0KPiA+ICAJaWYgKHJhbWRpc2tfZXhl Y3V0ZV9jb21tYW5kKSB7DQo+ID4gIAkJcmV0ID0gcnVuX2luaXRfcHJvY2VzcyhyYW1kaXNrX2V4 ZWN1dGVfY29tbWFuZCk7DQo+ID4gIAkJaWYgKCFyZXQpDQo+ID4gZGlmZiAtLWdpdCBhL2tlcm5l bC9wcmludGsvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrL3ByaW50ay5jDQo+ID4gaW5kZXggMWQ3 NjVhZDI0MmI4Li5mMTc4NzczMzc3MzUgMTAwNjQ0DQo+ID4gLS0tIGEva2VybmVsL3ByaW50ay9w cmludGsuYw0KPiA+ICsrKyBiL2tlcm5lbC9wcmludGsvcHJpbnRrLmMNCj4gPiBAQCAtNDYsNiAr NDYsNyBAQA0KPiA+ICAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4NCj4gPiAgI2luY2x1ZGUgPGxp bnV4L3Vpby5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvY2xvY2suaD4NCj4gPiArI2lu Y2x1ZGUgPGxpbnV4L2Vhcmx5X3RpbWVzLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC9zY2hlZC9k ZWJ1Zy5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvdGFza19zdGFjay5oPg0KPiA+ICAj aW5jbHVkZSA8bGludXgvcGFuaWMuaD4NCj4gPiBAQCAtNzUsNiArNzYsMTEgQEAgRVhQT1JUX1NZ TUJPTChpZ25vcmVfY29uc29sZV9sb2NrX3dhcm5pbmcpOw0KPiA+DQo+ID4gIEVYUE9SVF9UUkFD RVBPSU5UX1NZTUJPTF9HUEwoY29uc29sZSk7DQo+ID4NCj4gPiArI2lmZGVmIENPTkZJR19FQVJM WV9QUklOVEtfVElNRVMNCj4gPiArdTMyIGVhcmx5X211bHQsIGVhcmx5X3NoaWZ0Ow0KPiA+ICt1 NjQgZWFybHlfdHNfb2Zmc2V0Ow0KPiA+ICsjZW5kaWYNCj4gPiArDQo+ID4gIC8qDQo+ID4gICAq IExvdyBsZXZlbCBkcml2ZXJzIG1heSBuZWVkIHRoYXQgdG8ga25vdyBpZiB0aGV5IGNhbiBzY2hl ZHVsZSBpbg0KPiA+ICAgKiB0aGVpciB1bmJsYW5rKCkgY2FsbGJhY2sgb3Igbm90LiBTbyBsZXQn cyBleHBvcnQgaXQuDQo+ID4gQEAgLTYzOSw3ICs2NDUsNyBAQCBzdGF0aWMgdm9pZCBhcHBlbmRf Y2hhcihjaGFyICoqcHAsIGNoYXIgKmUsIGNoYXIgYykNCj4gPiAgc3RhdGljIHNzaXplX3QgaW5m b19wcmludF9leHRfaGVhZGVyKGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUsDQo+ID4gIAkJCQkgICAg IHN0cnVjdCBwcmludGtfaW5mbyAqaW5mbykNCj4gPiAgew0KPiA+IC0JdTY0IHRzX3VzZWMgPSBp bmZvLT50c19uc2VjOw0KPiA+ICsJdTY0IHRzX3VzZWMgPSBhZGp1c3RfZWFybHlfdHMoaW5mby0+ dHNfbnNlYyk7DQo+ID4gIAljaGFyIGNhbGxlclsyMF07DQo+ID4gICNpZmRlZiBDT05GSUdfUFJJ TlRLX0NBTExFUg0KPiA+ICAJdTMyIGlkID0gaW5mby0+Y2FsbGVyX2lkOw0KPiA+IEBAIC0xMzUy LDcgKzEzNTgsMTEgQEAgc3RhdGljIHNpemVfdCBwcmludF9zeXNsb2codW5zaWduZWQgaW50IGxl dmVsLCBjaGFyICpidWYpDQo+ID4NCj4gPiAgc3RhdGljIHNpemVfdCBwcmludF90aW1lKHU2NCB0 cywgY2hhciAqYnVmKQ0KPiA+ICB7DQo+ID4gLQl1bnNpZ25lZCBsb25nIHJlbV9uc2VjID0gZG9f ZGl2KHRzLCAxMDAwMDAwMDAwKTsNCj4gPiArCXVuc2lnbmVkIGxvbmcgcmVtX25zZWM7DQo+ID4g Kw0KPiA+ICsJdHMgPSBhZGp1c3RfZWFybHlfdHModHMpOw0KPiA+ICsNCj4gPiArCXJlbV9uc2Vj ID0gZG9fZGl2KHRzLCAxMDAwMDAwMDAwKTsNCj4gPg0KPiA+ICAJcmV0dXJuIHNwcmludGYoYnVm LCAiWyU1bHUuJTA2bHVdIiwNCj4gPiAgCQkgICAgICAgKHVuc2lnbmVkIGxvbmcpdHMsIHJlbV9u c2VjIC8gMTAwMCk7DQo+ID4gQEAgLTIyNDIsNiArMjI1Miw4IEBAIGludCB2cHJpbnRrX3N0b3Jl KGludCBmYWNpbGl0eSwgaW50IGxldmVsLA0KPiA+ICAJICogdGltZXN0YW1wIHdpdGggcmVzcGVj dCB0byB0aGUgY2FsbGVyLg0KPiA+ICAJICovDQo+ID4gIAl0c19uc2VjID0gbG9jYWxfY2xvY2so KTsNCj4gPiArCWlmICghdHNfbnNlYykNCj4gPiArCQl0c19uc2VjID0gZWFybHlfY3ljbGVzKCk7 DQo+ID4NCj4gPiAgCWNhbGxlcl9pZCA9IHByaW50a19jYWxsZXJfaWQoKTsNCj4gPg0KPiA+IC0t DQo+ID4gMi40My4wDQo+ID4NCj4gDQo+IFJlZ2FyZHMsDQo+IEZyYW5jZXNjbw0KDQpUaGFua3Mg dmVyeSBtdWNoIGZvciB0aGUgcmV2aWV3IGFuZCB0ZXN0ISENCiAtLSBUaW0NCg0K