RE: [PATCH v4 1/1] printk: fix zero-valued printk timestamps in early boot

"Bird, Tim" <[email protected]> Tue, 28 Apr 2026 05:29:09 +0000
Newsgroups org.kernel.vger.linux-embedded,org.kernel.vger.linux-kernel
Message-ID <MW5PR13MB56327ABDE42B1CB0D02B8D5BFD372@MW5PR13MB5632.namprd13.prod.outlook.com>
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgTXVycmF5IDxhbXVy
cmF5QHRoZWdvb2RwZW5ndWluLmNvLnVrPg0KPiBIaSBUaW0sDQo+IA0KPiBPbiBGcmksIDEwIEFw
ciAyMDI2IGF0IDIxOjQxLCBUaW0gQmlyZCA8dGltLmJpcmRAc29ueS5jb20+IHdyb3RlOg0KPiA+
DQo+ID4gRHVyaW5nIGVhcmx5IGJvb3QsIHByaW50ayB0aW1lc3RhbXBzIGFyZSByZXBvcnRlZCBh
cyB6ZXJvIGJlZm9yZQ0KPiA+IGtlcm5lbCB0aW1la2VlcGluZyBzdGFydHMgKGkuZS4gYmVmb3Jl
IHRpbWVfaW5pdCgpKS4gIFRoaXMNCj4gPiBoaW5kZXJzIGJvb3QtdGltZSBvcHRpbWl6YXRpb24g
ZWZmb3J0cy4gIFRoaXMgcGVyaW9kIHJhbmdlcyBmcm9tDQo+ID4gMTcgdG8gMTcwMCBtaWxsaXNl
Y29uZHMgb24gZGlmZmVyZW50IGVtYmVkZGVkIG1hY2hpbmVzIHJ1bm5pbmcgTGludXguDQo+ID4N
Cj4gPiBBZGQgc3VwcG9ydCBmb3IgZWFybHkgdGltZXN0YW1wcyBiYXNlZCBvbiBwcm9jZXNzb3Ig
Y3ljbGUtZ2VuZXJhdG9ycw0KPiA+IHRoYXQgbmVlZCBubyBrZXJuZWwgaW5pdGlhbGl6YXRpb24u
IFVzZSBhIHN0YXRpY2FsbHktY29uZmlndXJlZA0KPiA+IGZyZXF1ZW5jeSB2YWx1ZSBmb3IgY29u
dmVydGluZyBjeWNsZXMgdG8gbmFub3NlY29uZHMuIFRoaXMgbWVhbnMNCj4gPiB0aGF0IHRoaXMg
ZmVhdHVyZSBjYW5ub3QgYmUgdHVybmVkIG9uIGluIGdlbmVyaWMgZGlzdHJvIGtlcm5lbHMuDQo+
ID4gSXQgaXMgaW50ZW5kZWQgZm9yIHRlbXBvcmFyeSB1c2UgZHVyaW5nIGtlcm5lbCBkZXZlbG9w
bWVudCBhbmQNCj4gPiBib290LXRpbWUgcmVzZWFyY2ggYW5kIG9wdGltaXphdGlvbiBvbmx5Lg0K
PiA+DQo+ID4gVGhpcyB5aWVsZHMgbm9uLXplcm8gdGltZXN0YW1wcyBmb3IgcHJpbnRrcyBmcm9t
IHRoZSB2ZXJ5IHN0YXJ0DQo+ID4gb2Yga2VybmVsIGV4ZWN1dGlvbi4gIFRoZSB0aW1lc3RhbXBz
IGFyZSByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YNCj4gPiBhbiBhcmNoaXRlY3R1cmUtc3BlY2lm
aWMgY291bnRlciAoZS5nLiB0c2Mgb24geDg2XzY0IGFuZCBjbnR2Y3RfZWwwDQo+ID4gb24gYXJt
NjQpLiAgQWZmZWN0ZWQgdGltZXN0YW1wcyByZWZsZWN0IHRpbWUgZnJvbSBjeWNsZSBjb3VudGVy
DQo+ID4gaW5pdCAodXN1YWxseSBtYWNoaW5lIHBvd2VyLW9uIG9yIHZpcnR1YWwgbWFjaGluZSBz
dGFydCkgaW5zdGVhZCBvZg0KPiA+IHRpbWUgZnJvbSB0aGUga2VybmVsJ3MgdGltZWtlZXBpbmcg
aW5pdGlhbGl6YXRpb24uIFRoaXMgcmVzdWx0cyBpbiBhDQo+ID4gZGlzY29udGludWl0eSBpbiB0
aGUgcHJpbnRrIHRpbWVzdGFtcCB2YWx1ZXMsIG9uZSB0aW1lLCB3aGVuDQo+ID4ga2VybmVsIHRp
bWVrZWVwaW5nIHN0YXJ0cy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFRpbSBCaXJkIDx0aW0u
YmlyZEBzb255LmNvbT4NCj4gPiAtLS0NCj4gDQo+IFRoZSBsaW1pdGF0aW9uIG9mIHRoaXMgc2Vy
aWVzIGlzIHRoYXQgd2hpbGUgaXQgbmFycm93cyB0aGUgd2luZG93DQo+IHdoZXJlIGRlbGF5cyBt
YXkgYmUgaGlkaW5nLCBpdCBkb2Vzbid0IHJlbW92ZSB0aGUgd2luZG93IGNvbXBsZXRlbHkuDQo+
IEZvciBleGFtcGxlLCB0aGVyZSBtYXkgYmUgYSBkZWxheSBwcmlvciB0byB0aGUgZmlyc3QgcHJp
bnRrIChwZXJoYXBzDQo+IHVubGlrZWx5KS4gSXQgd291bGQgaW5zdGVhZCBiZSB1c2VmdWwgdG8g
dW5kZXJzdGFuZCBob3cgbXVjaCB0aW1lIGhhcw0KPiBwYXNzZWQgc2luY2UgZXhlY3V0aW9uIHdh
cyBoYW5kZWQgb3ZlciB0byB0aGUga2VybmVsLg0KDQpIZXkgQW5kcmV3LA0KDQpNeSBwYXRjaCBh
bGxvd3Mgb25lIHRvIGFkZCBhIHByaW50ayBhcyB0aGUgdmVyeSBmaXJzdCBsaW5lIGluIHN0YXJ0
X2tlcm5lbCgpLCB3aGljaA0KSSBiZWxpZXZlIGlzIHRoZSBlYXJsaWVzdCB5b3UgY2FuIGRvIHNv
IGluIEMgY29kZSBpbiB0aGUga2VybmVsIHByb3Blci4NCg0KWW91IGFyZSBjb3JyZWN0IHRoYXQg
dGhpcyBwYXRjaCBkb2VzbuKAmXQgbWVhc3VyZSB0aW1lIGJlZm9yZQ0KdGhhdCBmaXJzdCBsaW5l
IG9mIEMgY29kZSBhY2Nlc3NpYmxlIHRvIGluc3RydW1lbnQgd2l0aCBwcmludGtzLiAgU28gdGhl
cmUncw0KbW9yZSBibGluZCBzcG90cyBpbiB0aGUgdG90YWwgc3lzdGVtIGJvb3QgdGhhbiB0aGlz
IHBhdGNoIGFkZHJlc3Nlcy4NCg0KPiANCj4gQWxzbywgaW4gbXkgdmlldywgdGhlIGdvYWwgb2Yg
dGhpcyB3b3JrIGlzIHJlYWxseSB0byBpZGVudGlmeQ0KPiByZWdyZXNzaW9ucyBpbiBib290IHRp
bWUsIHRob3VnaCB0aGlzIGNhbiBiZSBhY2hpZXZlZCB2aWEgb3RoZXIgbWVhbnMuDQo+IFJlcGxh
Y2luZyB6ZXJvIHRpbWVzdGFtcHMgaW4gcHJpbnRrIG1lc3NhZ2VzIHdpdGggcmVhbCB0aW1lc3Rh
bXBzIGlzDQo+IG9ubHkgbmVjZXNzYXJ5IHRvIG1ha2UgaXQgZWFzaWVyIHRvIGJpc2VjdCB3aGVy
ZSB0aG9zZSBkZWxheXMgYXJlDQo+IGhpZGluZywgaS5lLiBiZXR3ZWVuIHR3byBwcmludGsgbWVz
c2FnZXMuIEJ1dCB0aGF0IGJlbmVmaXQgaXQgbGltaXRlZA0KPiBnaXZlbiBob3cgc21hbGwgdGhl
IHdpbmRvdyBpcy4gKEFuZCBpZiBhIHJlZ3Jlc3Npb24gaXMgc3BvdHRlZCwNCj4gc29tZW9uZSB3
b3VsZCBsaWtlbHkgYWRkIGRlYnVnIHRvIGZpbmQgaXQgYW55d2F5KS4NCg0KSW4gbXkgZXhwZXJp
ZW5jZSwgYWx0aG91Z2ggdGhlIGtlcm5lbCdzIGJsaW5kIHNwb3QgaXMgcmVsYXRpdmVseSBzbWFs
bCBvbiB4ODYsIGl0DQppcyBxdWl0ZSBhIGJpdCBsYXJnZXIgb24gb3RoZXIgcGxhdGZvcm1zOiAx
ODMgbWlsbGlzZWNvbmRzIG9uIGEgcmFzcGJlcnJ5IHBpDQphbmQgMTcwMCBtaWxsaXNlY29uZHMg
b24gYSBGUEdBLWJhc2VkIHJpc2N2IGJvYXJkLiAgV2hlbiBJJ3ZlIHVzZWQgdGhlDQpwYXRjaCBp
biBpdHMgY3VycmVudCBmb3JtLCBhbG9uZyB3aXRoIHNwcmlua2xpbmcgcHJpbnRrcyBhbmQgbWVh
c3VyZW1lbnRzDQppbiBvdGhlciBwbGFjZSBpbiBpbml0L21haW4uYyBhbmQgb3RoZXIgcmVsZXZh
bnQgZWFybHkgZnVuY3Rpb25zIGluIHRoZSBrZXJuZWwsDQppdCBoYXMgeWllbGRlZCB2YWx1YWJs
ZSBkYXRhIGFib3V0IHRoZSB0aW1pbmdzIGluIHRoaXMgYmxpbmQgc3BvdCwgdGhhdCBJIGNhbg0K
ZWFzaWx5IHJlYWQgdXNpbmcgdGhlIGNvbnNvbGUgYW5kIGRtZXNnLg0KDQo+IA0KPiBHaXZlbiB0
aGUgcmlza3MgaWRlbnRpZmllZCBieSBvdGhlcnMgd2l0aCB0aGlzIHNlcmllcyBhbmQgdGhlIGFi
b3ZlLCBJDQo+IHRob3VnaHQgSSdkIHN1Z2dlc3QgYW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2guDQo+
IA0KPiBQZXJoYXBzIHdlIGNhbiByZWx5IG9uIGEgcHJpb3IgYm9vdCBzdGFnZSAoZS5nLiBVLUJv
b3QpIHRvIGNhcHR1cmUgYQ0KPiB0aW1lc3RhbXAgKHBlcmhhcHMgY250dmN0IG9uIGFybSkgaW1t
ZWRpYXRlbHkgcHJpb3IgdG8ga2VybmVsDQo+IGhhbmRvdmVyLCB0aGlzIGNvdWxkIGJlIHN0b3Jl
ZCBpbiB0aGUgZGV2aWNlIHRyZWUgYW5kIGl0IGNvdWxkIGluY2x1ZGUNCj4gYXJjaGl0ZWN0dXJl
IGluZm9ybWF0aW9uIG9uIHdoZXJlIHRoYXQgdGltZXN0YW1wIGNhbWUgZnJvbS4gRHVyaW5nDQo+
IGJvb3QsIG9uY2UgdGltZWtlZXBpbmcgaXMgaW5pdGlhbGlzZWQsIHRoZSBhcmNoaXRlY3R1cmUg
c3BlY2lmaWMNCj4gdGltZWtlZXBpbmcgaW5pdGlhbGlzYXRpb24gY29kZSBjYW4gcHJpbnQgcmVs
ZXZhbnQgdGltZXN0YW1wIHZhbHVlcyB0bw0KPiB0aGUgY29uc29sZSwgYWxvbmdzaWRlIHRoZSBk
YXRhIGNhcHR1cmVkIGluIHRoZSBkZXZpY2UgdHJlZS4NCj4gDQo+IFVzZXJzcGFjZSB0b29scyAo
c3lzdGVtZC1hbmFseXplKSBvciBsb2cgcGFyc2luZyB0b29scywgY2FuIHRoZW4gbWFrZQ0KPiBz
ZW5zZSBvZiB0aGUgdmFsdWVzLiBUaGUgdGltZSBiZXR3ZWVuIGtlcm5lbCBoYW5kb3ZlciBhbmQg
dGhlIGVuZCBvZg0KPiB0aW1la2VlcGluZyBpbml0YWxpc2F0aW9uIHByaW50ayBjYW4gYmUgY2Fs
Y3VsYXRlZC4gWW91IGNvdWxkIGFsc28NCj4gc3VidHJhY3QgdGhlIGVhcmxpZXN0IG5vbi16ZXJv
IHByaW50ayB0aW1lc3RhbXAgZnJvbSB0aGlzIGZpZ3VyZSB0bw0KPiBtZWFzdXJlIHRoZSB0aW1l
IGJldHdlZW4ga2VybmVsIGhhbmRvdmVyIGFuZCBmaXJzdCBub24temVybyB0aW1lc3RhbXAuDQo+
IA0KPiBCZXNpZGVzIGxvZ2dpbmcgdmFsdWVzIGZyb20gaGFyZHdhcmUgcmVnaXN0ZXJzIHRvIHRo
ZSBjb25zb2xlLCB0aGlzDQo+IGFwcHJvYWNoIHB1c2hlcyBvdXQgYWxsIHRoZSBtYXRocyB0byB1
c2Vyc3BhY2Ugb3IgbG9nIHBhcnNpbmcgdG9vbHMuDQo+IEl0IGFsc28gZG9lc24ndCBpbXBhY3Qg
ZXhpc3RpbmcgcHJpbnRrIHRpbWVzdGFtcHMgYW5kIGNhbiBiZQ0KPiBzdHJ1Y3R1cmVkIHRvIG5v
dCBpbnRyb2R1Y2UgbmV3IGdldF9jeWNsZXMgdHlwZXMgb2YgZnVuY3Rpb25zLg0KDQpJdCBpcyBj
ZXJ0YWlubHkgb2YgdmFsdWUgdG8gZ2V0IGEgbWVhc3VyZSBvZiB0aGUgdGltZSBiZXR3ZWVuDQp0
aGUgYm9vdGxvYWRlciBhbmQgdGhlIGtlcm5lbCBzdGFydCAoaWUsIHRoZSBrZXJuZWwgc2VsZi1k
ZWNvbXByZXNzb3IpLg0KQnV0IHRoYXQncyBhIGRpZmZlcmVudCBwcm9ibGVtIHRoYW4gdGhlIG9u
ZSBJIG9yaWdpbmFsbHkgaW50ZW5kZWQNCnRvIHNvbHZlIHdpdGggdGhpcyBwYXRjaCwgd2hpY2gg
d2FzIHRoZSB6ZXJvLXZhbHVlZCBwcmludGtzIGluIHRoZSBrZXJuZWwsDQpiZWZvcmUga2VybmVs
IHRpbWVrZWVwaW5nIHN0YXJ0Lg0KDQpCZWNhdXNlIG15IGNvZGUgaXMgdXNpbmcgdGhlIHNhbWUg
Y3ljbGUgY291bnRlciBhcyBVLWJvb3QsIGl0IHdpbGwgb3BlcmF0ZQ0Kd2l0aCB0aGUgc2FtZSB0
aW1lLWJhc2UsIG1ha2luZyBpdCBlYXNpZXIgdG8gY29ycmVsYXRlIHRoZSB0aW1lcyB0aGF0IFUt
Ym9vdA0KcmVjb3JkcyB3aXRoIHRoZSB0aW1lcyByZXBvcnRlZCBpbiB0aGUgZWFybHkgcHJpbnRr
cywgdXNpbmcgYW4gZXh0ZXJuYWwgdG9vbC4NCk9uZSBjb3VsZCBjZXJ0YWlubHkgb3V0cHV0IGN5
Y2xlcyBpbiBhIGZldyBwbGFjZXMgYW5kIHNldCB1cCBhIGNvcnJlc3BvbmRlbmNlDQp1c2luZyBl
eHRlcm5hbCB0b29saW5nLg0KVGhhdCdzIHdoYXQgdGhpcyBwYXRjaCB3YXMgc3RyaXZpbmcgZm9y
Og0KIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI1MDgyMzA0NDAzNC4xODk5MzktMS12
LXNpbmdoMUB0aS5jb20vDQoNClRoYXQgd2FzIHBvc3RlZCBhcyBwYXJ0IG9mIHRoZSBlZmZvcnQg
ZGVzY3JpYmVkIGluIFsxXS4NCg0KVGhhdCB3b3VsZCBiZSBhIHZhbHVhYmxlIHRoaW5nIHRvIGRv
LCBhbmQgcG9zc2libHkgdGhlcmUgaXMgc29tZSBjb29yZGluYXRpb24NCndlIGNvdWxkIGRvIHRv
IGhhcm1vbml6ZSB0aGVzZSBlZmZvcnRzIG9yIGhhdmUgdGhlbSB1c2UgZWFjaCBvdGhlcidzIGZh
Y2lsaXRpZXMuDQpCdXQgYWdhaW4sIHRoYXQncyBzb2x2aW5nIGEgZGlmZmVyZW50IHByb2JsZW0g
dGhhbiB0aGUgb25lIG15IHBhdGNoIHNvbHZlcy4NCg0KPiANCj4gSWYgdGhpcyB0eXBlIG9mIGFw
cHJvYWNoIGlzIHRha2VuLCBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBvdGhlcg0KPiBp
bml0aWF0aXZlcyBpbiB0aGlzIGFyZWEsIGZvciBleGFtcGxlIFsxXSwgWzJdLCBbM10gd2hpY2gg
bWF5IGJlDQo+IHJlbGV2YW50Lg0KPiANCj4gWzFdIGh0dHBzOi8vc3RhdGljLnNjaGVkLmNvbS9o
b3N0ZWRfZmlsZXMvb3NzZXUyMDI1L2EyL0VPU1NfMjAyNV9VbmlmaWVkJTIwQm9vdCUyMFRpbWUl
MjBsb2clMjBiYXNlZCUyMG1lYXN1cmVtZW50LnBkZg0KPiBbMl0gaHR0cHM6Ly9pc3N1ZXMuY2hy
b21pdW0ub3JnL2lzc3Vlcy80MDk4NjE0Nw0KPiBbM10gaHR0cHM6Ly9naXRodWIuY29tL0Zpcm13
YXJlSGFuZG9mZi9maXJtd2FyZV9oYW5kb2ZmDQoNCkkgd29ycnkgdGhhdCBpZiBJIGNoYW5nZSB0
aGUgcHJvYmxlbSBJJ20gdHJ5aW5nIHRvIHNvbHZlLCBvciB0aGUgc2NvcGUNCm9mIHRoZSByZXF1
aXJlZCBleHRlcm5hbCB0b29scywgaXQgd2lsbCBiZSBoYXJkZXIgdG8gZ2V0IGEgcGF0Y2ggYWNj
ZXB0ZWQNCnRvIHNvbHZlIHRoZSB0aGluZyBJJ20gaW50ZXJlc3RlZCBpbi4NCiAtLSBUaW0NCg0K
DQo+IFRoYW5rcywNCj4gDQo+IEFuZHJldyBNdXJyYXkNCj4gDQo+ID4gVjMgLT4gVjQNCj4gPiAg
IFJlcGxhY2UgY29uZmlnIHZhcnMgd2l0aCBzaW5nbGUgb25lOiBDT05GSUdfRUFSTFlfQ1lDTEVT
X0tIWg0KPiA+ICAgUmVwbGFjZSBydW50aW1lIGNhbGlicmF0aW9uIHdpdGggc3RhdGljIGNvbmZp
ZyB2YXJpYWJsZQ0KPiA+ICAgUmVtb3ZlIHJlZmVyZW5jZSB0byBnZXRfY3ljbGVzKCkNCj4gPiAg
IEFkZCBzdXBwb3J0IGZvciBSSVNDViBwbGF0Zm9ybXMNCj4gPiBWMiAtPiBWMw0KPiA+ICAgRGVm
YXVsdCBDT05GSUcgb3B0aW9uIHRvICduJw0KPiA+ICAgTW92ZSBtb3JlIGNvZGUgaW50byBlYXJs
eV90aW1lcy5oIChyZWR1Y2UgaWZkZWZzIGluIGluaXQvbWFpbi5jKQ0KPiA+ICAgVXNlIG1hdGNo
NjQgaGVscGVyIHJvdXRpbmVzDQo+ID4gICBVc2UgY3ljbGVzX3QgaW5zdGVhZCBvZiB1NjQgdHlw
ZQ0KPiA+ICAgQWRkICNkZWZpbmVzIGZvciBFQVJMWV9DWUNMRVNfQklUIGFuZCBFQVJMWV9DWUNM
RVNfTUFTSw0KPiA+ICAgSW52ZXJ0IGlmIGxvZ2ljIGluIGFkanVzdF9lYXJseV90cygpDQo+ID4g
VjEgLT4gVjINCj4gPiAgIFJlbW92ZSBjYWxpYnJhdGlvbiBDT05GSUcgdmFycw0KPiA+ICAgQWRk
ICdkZXBlbmRzIG9uJyB0byByZXN0cmljdCBhcmNoZXMgKHRvIGhhbmRsZSBwcGMgYnVnKQ0KPiA+
ICAgQWRkIGVhcmx5X3RzX29mZnNldCB0byBhdm9pZCBkaXNjb250aW51aXR5DQo+ID4gICBTYXZl
IGN5Y2xlcyBpbiB0c19uc2VjLCBhbmQgY29udmVydCBvbiBvdXRwdXQNCj4gPiAgIE1vdmUgY29u
ZGl0aW9uYWwgY29kZSB0byBpbmNsdWRlIGZpbGUgKGVhcmx5X3RpbWVzLmg+DQo+ID4gLS0tDQo+
ID4gIGluY2x1ZGUvbGludXgvZWFybHlfdGltZXMuaCB8IDU1ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysNCj4gPiAgaW5pdC9LY29uZmlnICAgICAgICAgICAgICAgIHwgMzAg
KysrKysrKysrKysrKysrKysrKysNCj4gPiAga2VybmVsL3ByaW50ay9wcmludGsuYyAgICAgIHwg
IDMgKysNCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0
ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L2Vhcmx5X3RpbWVzLmgNCj4gPg0KPiA+IGRpZmYg
LS1naXQgYS9pbmNsdWRlL2xpbnV4L2Vhcmx5X3RpbWVzLmggYi9pbmNsdWRlL2xpbnV4L2Vhcmx5
X3RpbWVzLmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAw
MC4uODJiYWNmZDBlMjZiDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2luY2x1ZGUvbGlu
dXgvZWFybHlfdGltZXMuaA0KPiA+IEBAIC0wLDAgKzEsNTUgQEANCj4gPiArLyogU1BEWC1MaWNl
bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgX0VBUkxZX1RJ
TUVTX0gNCj4gPiArI2RlZmluZSBfRUFSTFlfVElNRVNfSA0KPiA+ICsNCj4gPiArI2luY2x1ZGUg
PGxpbnV4L3RpbWVrZWVwaW5nLmg+DQo+ID4gKyNpZmRlZiBDT05GSUdfQVJNNjQNCj4gPiArI2lu
Y2x1ZGUgPGFzbS9zeXNyZWcuaD4NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICsjaWZkZWYgQ09O
RklHX0VBUkxZX0NZQ0xFU19LSFoNCj4gPiArc3RhdGljIGlubGluZSB1NjQgZWFybHlfdW5zYWZl
X2N5Y2xlcyh2b2lkKQ0KPiA+ICt7DQo+ID4gKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpDQo+
ID4gKyAgICAgICAvKg0KPiA+ICsgICAgICAgICogVGhpcyByZHRzYyBtYXkgaGFwcGVuIGJlZm9y
ZSBzZWN1cmUgVFNDIGlzIGluaXRpYWxpemVkLCBhbmQNCj4gPiArICAgICAgICAqIGl0IGlzIHVu
b3JkZXJlZC4gU28gcGxlYXNlIGRvbid0IHVzZSB0aGlzIHZhbHVlIGZvciBjcnlwdG9ncmFwaHkN
Cj4gPiArICAgICAgICAqIG9yIGFmdGVyIFNNUCBpcyBpbml0aWFsaXplZC4NCj4gPiArICAgICAg
ICAqLw0KPiA+ICsgICAgICAgcmV0dXJuIHJkdHNjKCk7DQo+ID4gKyNlbGlmIGRlZmluZWQoQ09O
RklHX0FSTTY0KQ0KPiA+ICsgICAgICAgcmV0dXJuIHJlYWRfc3lzcmVnKGNudHZjdF9lbDApOw0K
PiA+ICsjZWxpZiBkZWZpbmVkKENPTkZJR19SSVNDVl9USU1FUikNCj4gPiArICAgICAgIHU2NCB2
YWw7DQo+ID4gKw0KPiA+ICsgICAgICAgYXNtIHZvbGF0aWxlKCJyZHRpbWUgJTAiIDogIj1yIih2
YWwpKTsNCj4gPiArICAgICAgIHJldHVybiB2YWw7DQo+ID4gKyNlbHNlDQo+ID4gKyAgICAgICBy
ZXR1cm4gMDsNCj4gPiArI2VuZGlmDQo+ID4gK30NCj4gPiArDQo+ID4gKyNkZWZpbmUgTlNfUEVS
X0tIWiAgICAgMTAwMDAwMFVMDQo+ID4gKw0KPiA+ICsvKiByZXR1cm5zIGEgbmFub3NlY29uZCB2
YWx1ZSBiYXNlZCBvbiBlYXJseSBjeWNsZXMgKi8NCj4gPiArc3RhdGljIGlubGluZSB1NjQgZWFy
bHlfdGltZXNfbnModm9pZCkNCj4gPiArew0KPiA+ICsgICAgICAgaWYgKENPTkZJR19FQVJMWV9D
WUNMRVNfS0haKQ0KPiA+ICsgICAgICAgICAgICAgICAvKg0KPiA+ICsgICAgICAgICAgICAgICAg
KiBOb3RlOiB0aGUgbXVsdGlwbHkgbXVzdCBwcmVjZWRlIHRoZSBkaXZpc2lvbiB0byBhdm9pZA0K
PiA+ICsgICAgICAgICAgICAgICAgKiB0cnVuY2F0aW9uIGFuZCBsb3NzIG9mIHJlc29sdXRpb24N
Cj4gPiArICAgICAgICAgICAgICAgICogRG9uJ3QgdXNlIGZhbmNpZXIgTVVMVC9TSElGVCBtYXRo
IGhlcmUuICBTaW5jZSB0aGlzIGlzDQo+ID4gKyAgICAgICAgICAgICAgICAqIHN0YXRpYywgdGhl
IGNvbXBpbGVyIGNhbiBvcHRpbWl6ZSB0aGUgbWF0aCBvcGVyYXRpb25zLg0KPiA+ICsgICAgICAg
ICAgICAgICAgKi8NCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIChlYXJseV91bnNhZmVfY3lj
bGVzKCkgKiBOU19QRVJfS0haKSAvIENPTkZJR19FQVJMWV9DWUNMRVNfS0haOw0KPiA+ICsgICAg
ICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArI2Vsc2UNCj4gPiArc3RhdGljIGlubGluZSB1NjQg
ZWFybHlfdGltZXNfbnModm9pZCkNCj4gPiArew0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4g
K30NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICsjZW5kaWYgLyogX0VBUkxZX1RJTUVTX0ggKi8N
Cj4gPiBkaWZmIC0tZ2l0IGEvaW5pdC9LY29uZmlnIGIvaW5pdC9LY29uZmlnDQo+ID4gaW5kZXgg
NzQ4NGNkNzAzYmMxLi40MGMzMTIzYzJjMjcgMTAwNjQ0DQo+ID4gLS0tIGEvaW5pdC9LY29uZmln
DQo+ID4gKysrIGIvaW5pdC9LY29uZmlnDQo+ID4gQEAgLTc5Miw2ICs3OTIsMzYgQEAgY29uZmln
IElLSEVBREVSUw0KPiA+ICAgICAgICAgICBvciBzaW1pbGFyIHByb2dyYW1zLiAgSWYgeW91IGJ1
aWxkIHRoZSBoZWFkZXJzIGFzIGEgbW9kdWxlLCBhIG1vZHVsZSBjYWxsZWQNCj4gPiAgICAgICAg
ICAga2hlYWRlcnMua28gaXMgYnVpbHQgd2hpY2ggY2FuIGJlIGxvYWRlZCBvbi1kZW1hbmQgdG8g
Z2V0IGFjY2VzcyB0byBoZWFkZXJzLg0KPiA+DQo+ID4gK2NvbmZpZyBFQVJMWV9DWUNMRVNfS0ha
DQo+ID4gKyAgICAgICBpbnQgIkZyZXF1ZW5jeSBvZiB0aGUgZWFybHkgdGltZXMgY3ljbGUgY291
bnRlciwgaW4gS0h6Ig0KPiA+ICsgICAgICAgZGVmYXVsdCAwDQo+ID4gKyAgICAgICBkZXBlbmRz
IG9uIFBSSU5USw0KPiA+ICsgICAgICAgZGVwZW5kcyBvbiBBUk02NCB8fCBYODZfNjQgfHwgUklT
Q1ZfVElNRVINCj4gPiArICAgICAgIGhlbHANCj4gPiArICAgICAgICAgU3BlY2lmaWVzIHRoZSBm
cmVxdWVuY3kgdmFsdWUgKGluIEtIeikgb2YgdGhlIGN5Y2xlIGNvdW50ZXINCj4gPiArICAgICAg
ICAgdXNlZCBmb3IgZWFybHkgdGltZXMgaW5mb3JtYXRpb24uDQo+ID4gKw0KPiA+ICsgICAgICAg
ICBTZXQgdGhpcyB0byBwcm92aWRlIHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgcHJpbnRrcyBpbiBl
YXJseSBib290DQo+ID4gKyAgICAgICAgIChiZWZvcmUgdGhlIHN0YXJ0IG9mIGtlcm5lbCB0aW1l
a2VlcGluZyksIHRoYXQgd291bGQgb3RoZXJ3aXNlDQo+ID4gKyAgICAgICAgIHNob3cgYXMgMC4N
Cj4gPiArDQo+ID4gKyAgICAgICAgIFRvIGNhbGN1bGF0ZSB0aGUgdmFsdWUgZm9yIHlvdXIgc3lz
dGVtLCBib290IHlvdXIgc3lzdGVtLCBhbmQNCj4gPiArICAgICAgICAgdXNlIHRoZSB2YWx1ZSBl
eHByZXNzZWQgb24gdGhlIHRzYyBvciBjbnR2Y3RfZWwwIGNhbGlicmF0aW9uIGxpbmUNCj4gPiAr
ICAgICAgICAgaW4geW91ciBrZXJuZWwgbWVzc2FnZSBsb2c6DQo+ID4gKyAgICAgICAgIGV4IHg4
Nl82NDogdHNjOiBSZWZpbmVkIFRTQyBjbG9ja3NvdXJjZSBjYWxpYnJhdGlvbjogMjA5NS4wNTcg
TUh6DQo+ID4gKyAgICAgICAgICBJbiB0aGF0IGNhc2UsIHVzZSB0aGUgdmFsdWUgMjA5NTA1Ny4N
Cj4gPiArICAgICAgICAgZXggYXJtNjQ6IGFyY2hfdGltZXI6IGNwMTUgdGltZXIgcnVubmluZyBh
dCA1NC4wME1IeiAocGh5cykuDQo+ID4gKyAgICAgICAgIEluIHRoYXQgY2FzZSwgdXNlIHRoZSB2
YWx1ZSBvZiA1NDAwMC4NCj4gPiArDQo+ID4gKyAgICAgICAgIE5vdGUgdGhhdCB0aGlzIGNhdXNl
cyB0aGUga2VybmVsIHRvIHNob3csIGZvciBzb21lIGVhcmx5IHByaW50a3MsDQo+ID4gKyAgICAg
ICAgIHRpbWVzIHRoYXQgYXJlIHJlbGF0aXZlIHRvIHByb2Nlc3NvciBwb3dlciBvbiwgaW5zdGVh
ZCBvZg0KPiA+ICsgICAgICAgICByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2Yga2VybmVsIHRpbWVr
ZWVwaW5nLiAgV2hlbiBrZXJuZWwNCj4gPiArICAgICAgICAgdGltZWtlZXBpbmcgc3RhcnRzLCB0
aGUgdGltZXN0YW1wcyB2YWx1ZXMgcmVzZXQsIGNhdXNpbmcNCj4gPiArICAgICAgICAgYSBkaXNj
b250aW51aXR5IGluIHRoZSB0aW1lc3RhbXAgdmFsdWVzLiAgSWYgeW91IHNlZQ0KPiA+ICsgICAg
ICAgICBub24tbW9ub3RvbmljIHByaW50ayB0aW1lc3RhbXBzLCBwbGVhc2UgZG9uJ3QgZnJlYWsg
b3V0Lg0KPiA+ICsNCj4gPiArICAgICAgICAgU2V0IHRvIDAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1
cmUuDQo+ID4gKw0KPiA+ICBjb25maWcgTE9HX0JVRl9TSElGVA0KPiA+ICAgICAgICAgaW50ICJL
ZXJuZWwgbG9nIGJ1ZmZlciBzaXplICgxNiA9PiA2NEtCLCAxNyA9PiAxMjhLQikiDQo+ID4gICAg
ICAgICByYW5nZSAxMiAyNQ0KPiA+IGRpZmYgLS1naXQgYS9rZXJuZWwvcHJpbnRrL3ByaW50ay5j
IGIva2VybmVsL3ByaW50ay9wcmludGsuYw0KPiA+IGluZGV4IDAzMjMxNDk1NDhmNi4uZGRlYWI4
MWYwNGVmIDEwMDY0NA0KPiA+IC0tLSBhL2tlcm5lbC9wcmludGsvcHJpbnRrLmMNCj4gPiArKysg
Yi9rZXJuZWwvcHJpbnRrL3ByaW50ay5jDQo+ID4gQEAgLTQ2LDYgKzQ2LDcgQEANCj4gPiAgI2lu
Y2x1ZGUgPGxpbnV4L2N0eXBlLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC91aW8uaD4NCj4gPiAg
I2luY2x1ZGUgPGxpbnV4L3NjaGVkL2Nsb2NrLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9lYXJs
eV90aW1lcy5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvZGVidWcuaD4NCj4gPiAgI2lu
Y2x1ZGUgPGxpbnV4L3NjaGVkL3Rhc2tfc3RhY2suaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3Bh
bmljLmg+DQo+ID4gQEAgLTIyOTQsNiArMjI5NSw4IEBAIGludCB2cHJpbnRrX3N0b3JlKGludCBm
YWNpbGl0eSwgaW50IGxldmVsLA0KPiA+ICAgICAgICAgICogdGltZXN0YW1wIHdpdGggcmVzcGVj
dCB0byB0aGUgY2FsbGVyLg0KPiA+ICAgICAgICAgICovDQo+ID4gICAgICAgICB0c19uc2VjID0g
bG9jYWxfY2xvY2soKTsNCj4gPiArICAgICAgIGlmICh1bmxpa2VseSghdHNfbnNlYykpDQo+ID4g
KyAgICAgICAgICAgICAgIHRzX25zZWMgPSBlYXJseV90aW1lc19ucygpOw0KPiA+DQo+ID4gICAg
ICAgICBjYWxsZXJfaWQgPSBwcmludGtfY2FsbGVyX2lkKCk7DQo+ID4NCj4gPiAtLQ0KPiA+IDIu
NDMuMA0KPiA+DQo+ID4NCg==