RE: [PATCH v3] printk: fix zero-valued printk timestamps in early boot
"Bird, Tim" <[email protected]> Fri, 13 Mar 2026 04:52:40 +0000
| Newsgroups | org.kernel.vger.linux-embedded,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <MW5PR13MB563216F6D786D4DCDFEBED2BFD45A@MW5PR13MB5632.namprd13.prod.outlook.com> |
SGV5IE1pY2hlYWwsDQoNClRoaXMgcmVwb3J0IGlzIHZlcnkgaW50ZXJlc3RpbmcuIA0KDQpUaGFu a3MgdmVyeSBtdWNoIGZvciB0cnlpbmcgaXQgb3V0IQ0KIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IE1pY2hhZWwgS2VsbGV5IDxtaGtsaW51eEBvdXRsb29rLmNvbT4N Cj4gU2VudDogV2VkbmVzZGF5LCBNYXJjaCAxMSwgMjAyNiA5OjQ3IEFNDQo+IEZyb206IFRpbSBC aXJkIDx0aW0uYmlyZEBzb255LmNvbT4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgMTAsIDIwMjYg Mzo0OCBQTQ0KPiA+DQo+ID4gRHVyaW5nIGVhcmx5IGJvb3QsIHByaW50ayB0aW1lc3RhbXBzIGFy ZSByZXBvcnRlZCBhcyB6ZXJvIGJlZm9yZQ0KPiA+IGtlcm5lbCB0aW1la2VlcGluZyBzdGFydHMg KGUuZy4gYmVmb3JlIHRpbWVfaW5pdCgpKS4gIFRoaXMNCj4gPiBoaW5kZXJzIGJvb3QtdGltZSBv cHRpbWl6YXRpb24gZWZmb3J0cy4gIFRoaXMgcGVyaW9kIGlzIGFib3V0IDQwMA0KPiA+IG1pbGxp c2Vjb25kcyBmb3IgbWFueSBjdXJyZW50IGRlc2t0b3AgYW5kIGVtYmVkZGVkIG1hY2hpbmVzDQo+ ID4gcnVubmluZyBMaW51eC4NCj4gPg0KPiA+IEFkZCBzdXBwb3J0IHRvIHNhdmUgY3ljbGVzIGR1 cmluZyBlYXJseSBib290LCBhbmQgb3V0cHV0IGNvcnJlY3QNCj4gPiB0aW1lc3RhbXAgdmFsdWVz IGFmdGVyIHRpbWVrZWVwaW5nIGlzIGluaXRpYWxpemVkLiAgZ2V0X2N5Y2xlcygpDQo+ID4gaXMg b3BlcmF0aW9uYWwgb24gYXJtNjQgYW5kIHg4Nl82NCBmcm9tIGtlcm5lbCBzdGFydC4gIEFkZCBj b2RlDQo+ID4gYW5kIHZhcmlhYmxlcyB0byBzYXZlIGNhbGlicmF0aW9uIHZhbHVlcyB1c2VkIHRv IGxhdGVyIGNvbnZlcnQNCj4gPiBjeWNsZSBjb3VudHMgdG8gdGltZSB2YWx1ZXMgaW4gdGhlIGVh cmx5IHByaW50a3MuICBBZGQgYSBjb25maWcNCj4gPiB0byBjb250cm9sIHRoZSBmZWF0dXJlLg0K PiA+DQo+ID4gVGhpcyB5aWVsZHMgbm9uLXplcm8gdGltZXN0YW1wcyBmb3IgcHJpbnRrcyBmcm9t IHRoZSB2ZXJ5IHN0YXJ0DQo+ID4gb2Yga2VybmVsIGV4ZWN1dGlvbi4gIFRoZSB0aW1lc3RhbXBz IGFyZSByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YNCj4gPiB0aGUgYXJjaGl0ZWN0dXJlLXNwZWNp ZmllZCBjb3VudGVyIHVzZWQgaW4gZ2V0X2N5Y2xlcw0KPiA+IChlLmcuIHRoZSBUU0Mgb24geDg2 XzY0IGFuZCBjbnR2Y3RfZWwwIG9uIGFybTY0KS4NCj4gPg0KPiA+IEFsbCB0aW1lc3RhbXBzIHJl ZmxlY3QgdGltZSBmcm9tIHByb2Nlc3NvciBwb3dlci1vbiBpbnN0ZWFkIG9mDQo+ID4gdGltZSBm cm9tIHRoZSBrZXJuZWwncyB0aW1la2VlcGluZyBpbml0aWFsaXphdGlvbi4NCj4gDQo+IEkgdHJp ZWQgdGhpcyBwYXRjaCBpbiBsaW51eC1uZXh0MjAyNjAzMDIga2VybmVsIHJ1bm5pbmcgYXMgYSBn dWVzdCBWTQ0KPiBvbiBhIEh5cGVyLVYgaG9zdC4gVHdvIHRoaW5nczoNCj4gDQo+IDEpIEluIHRo ZSBkbWVzZyBvdXRwdXQsIEknbSBzZWVpbmcgYSBwbGFjZSB3aGVyZSB0aGUgdGltZXN0YW1wcyBi cmllZmx5IGdvDQo+IGJhY2t3YXJkcyAtLSBpLmUuLCB0aGV5IGFyZSBub3QgbW9ub3RvbmljYWxs eSBpbmNyZWFzaW5nLiBIZXJlJ3MgYSBzbmlwcGV0LA0KPiB3aGVyZSB0aGVyZSdzIGEgc21hbGxl ciB0aW1lc3RhbXAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHRzYyBpcyBkZXRlY3RlZDoNCj4gDQo+ IFsgICAyNy45OTQ4OTFdIFNNQklPUyAzLjEuMCBwcmVzZW50Lg0KPiBbICAgMjcuOTk0ODkzXSBE TUk6IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiBWaXJ0dWFsIE1hY2hpbmUvVmlydHVhbCBNYWNoaW5l LCBCSU9TIEh5cGVyLVYgVUVGSSBSZWxlYXNlIHY0LjEgMDkvMjUvMjAyNQ0KPiBbICAgMjcuOTk0 ODk4XSBETUk6IE1lbW9yeSBzbG90cyBwb3B1bGF0ZWQ6IDIvMg0KPiBbICAgMjcuOTk1MjAyXSBI eXBlcnZpc29yIGRldGVjdGVkOiBNaWNyb3NvZnQgSHlwZXItVg0KPiBbICAgMjcuOTk1MjA1XSBI eXBlci1WOiBwcml2aWxlZ2UgZmxhZ3MgbG93IDB4YWU3ZiwgaGlnaCAweDNiODAzMCwgZXh0IDB4 NjIsIGhpbnRzIDB4YTBlMjQsIG1pc2MgMHhlMGJlZDdiMg0KPiBbICAgMjcuOTk1MjA4XSBIeXBl ci1WOiBOZXN0ZWQgZmVhdHVyZXM6IDB4MA0KPiBbICAgMjcuOTk1MjA5XSBIeXBlci1WOiBMQVBJ QyBUaW1lciBGcmVxdWVuY3k6IDB4YzM1MDANCj4gWyAgIDI3Ljk5NTIxMF0gSHlwZXItVjogVXNp bmcgaHlwZXJjYWxsIGZvciByZW1vdGUgVExCIGZsdXNoDQo+IFsgICAyNy45OTUyMTZdIGNsb2Nr c291cmNlOiBoeXBlcnZfY2xvY2tzb3VyY2VfdHNjX3BhZ2U6IG1hc2s6IDB4ZmZmZmZmZmZmZmZm ZmZmZiBtYXhfY3ljbGVzOiAweDI0ZTZhMTcxMCwgbWF4X2lkbGVfbnM6IDQ0MDc5NTIwMjEyMCBu cw0KPiBbICAgMjcuOTk1MjE4XSBjbG9ja3NvdXJjZTogaHlwZXJ2X2Nsb2Nrc291cmNlX21zcjog bWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MjRlNmExNzEwLCBtYXhfaWRs ZV9uczogNDQwNzk1MjAyMTIwIG5zDQo+IFsgICAyNy45OTUyMjBdIHRzYzogRGV0ZWN0ZWQgMjkx OC40MDEgTUh6IHByb2Nlc3Nvcg0KDQpJIHdvbmRlciBpZiB0aGUgdHNjIGlzIGdldHRpbmcgZmlk ZGxlZCB3aXRoIG9yIHZpcnR1YWxpemVkIHNvbWV3aGVyZSBpbiBoZXJlLCBhcyBwYXJ0IG9mIGNs b2Nrc291cmNlIGluaXRpYWxpemF0aW9uLg0KSSBiZWxpZXZlIGVhY2ggY2xvY2tzb3VyY2UgaW4g dGhlIGtlcm5lbCBtYWludGFpbnMgaXQncyBvd24gaW50ZXJuYWwgb2Zmc2V0LCBhbmQgbWF5YmUg dGhlIG9mZnNldCB0aGF0IGlzDQpiZWluZyB1c2VkIGVuZHMgdXAgYmVpbmcgc2xpZ2h0bHkgZGlm ZmVyZW50IGZyb20gdGhlIGN5Y2xlLWNvdW50ZXIgb2Zmc2V0IHRoYXQgdGhlIGVhcmx5X3RpbWVz IGZlYXR1cmUgdXNlcy4NCkknbSBqdXN0IHRocm93aW5nIG91dCBndWVzc2VzLiAgSXQncyBhYm91 dCBhIDRtcyBkZWx0YSwgd2hpY2ggaXMgcHJldHR5IGJpZy4NCg0KPiBbICAgMjcuOTkxMDYwXSBl ODIwOiB1cGRhdGUgW21lbSAweDAwMDAwMDAwLTB4MDAwMDBmZmZdIFN5c3RlbSBSQU0gPT0+IGRl dmljZSByZXNlcnZlZA0KPiBbICAgMjcuOTkxMDYyXSBlODIwOiByZW1vdmUgW21lbSAweDAwMGEw MDAwLTB4MDAwZmZmZmZdIFN5c3RlbSBSQU0NCj4gWyAgIDI3Ljk5MTA2NF0gbGFzdF9wZm4gPSAw eDIxMDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMA0KPiBbICAgMjcuOTkxMDY1XSB4ODYv UEFUOiBQQVQgc3VwcG9ydCBkaXNhYmxlZCBiZWNhdXNlIENPTkZJR19YODZfUEFUIGlzIGRpc2Fi bGVkIGluIHRoZSBrZXJuZWwuDQo+IFsgICAyNy45OTEwNjZdIHg4Ni9QQVQ6IENvbmZpZ3VyYXRp b24gWzAtN106IFdCICBXVCAgVUMtIFVDICBXQiAgV1QgIFVDLSBVQw0KPiANCj4gSHlwZXItViBw cm92aWRlcyBhIHN5bnRoZXRpYyBjbG9ja3NvdXJjZSAodHdvIGFjdHVhbGx5KSwgYW5kIHBlcmhh cHMgdGhleQ0KPiBhcmUgdGhlIGNhdXNlIG9mIHRoZSBwcm9ibGVtLCB0aG91Z2ggSSBoYXZlbid0 IHNwZW50IGFueSB0aW1lIGRlYnVnZ2luZy4NCj4gDQo+IDIpIEEgTGludXggVk0gcnVubmluZyBp biB0aGUgQXp1cmUgY2xvdWQgaXMgYWxzbyBydW5uaW5nIG9uIEh5cGVyLVYuIFN1Y2ggYQ0KPiBW TSB0eXBpY2FsbHkgdXNlcyBjbG91ZC1pbml0IHRvIHNldCBldmVyeXRoaW5nIHVwIGF0IGJvb3Qg dGltZSwgYW5kIGNsb3VkLWluaXQNCj4gaXMgb3V0cHV0dGluZyBsaW5lcyB0byB0aGUgc2VyaWFs IGNvbnNvbGUgd2l0aCBhIHRpbWVzdGFtcCB0aGF0IGxvb2tzIGxpa2UgdGhlDQo+IHByaW50aygp IHRpbWVzdGFtcCwgYnV0IGFwcGFyZW50bHkgaXMgbm90IGFkanVzdGVkIGZvciB0aGUgZWFybHkg dGltZXN0YW1waW5nDQo+IHRoYXQgdGhpcyBwYXRjaCBhZGRzLiBBZ2FpbiwgSSBoYXZlbid0IGRl YnVnZ2VkIHdoYXQncyBnb2luZyBvbiAtLSBJJ20gbm90DQo+IGltbWVkaWF0ZWx5IHN1cmUgb2Yg dGhlIG1lY2hhbmlzbSB0aGF0IGNsb3VkLWluaXQgdXNlcyB0byBkbyBvdXRwdXQgdG8gdGhlDQo+ IHNlcmlhbCBjb25zb2xlLiBUaGUgdXNlIG9mIHRoZSBIeXBlci1WIHN5bnRoZXRpYyBjbG9jayBz b3VyY2UgbWlnaHQgdGhlIGNhdXNlDQo+IG9mIHRoZSBwcm9ibGVtIGhlcmUgYXMgd2VsbC4gSGVy ZSdzIGFuIG91dHB1dCBzbmlwcGV0IGZyb20gdGhlIHNlcmlhbCBjb25zb2xlOg0KPiANCj4gWyAg IDIwLjMzMDQxNF0gc3lzdGVtZFsxXTogQ29uZGl0aW9uIGNoZWNrIHJlc3VsdGVkIGluIE9wZW5W U3dpdGNoIGNvbmZpZ3VyYXRpb24gZm9yIGNsZWFudXAgYmVpbmcgc2tpcHBlZC4NCj4gWyAgIDIw LjMzMjkxMV0gc3lzdGVtZFsxXTogQ29uZGl0aW9uIGNoZWNrIHJlc3VsdGVkIGluIFNldCBVcCBB ZGRpdGlvbmFsIEJpbmFyeSBGb3JtYXRzIGJlaW5nIHNraXBwZWQuDQo+IFsgICAyMC4zMzMyNTdd IHBzdG9yZTogUmVnaXN0ZXJlZCBlZmlfcHN0b3JlIGFzIHBlcnNpc3RlbnQgc3RvcmUgYmFja2Vu ZA0KPiBbICAgMjAuMzM0MzYwXSBzeXN0ZW1kWzFdOiBDb25kaXRpb24gY2hlY2sgcmVzdWx0ZWQg aW4gRmlsZSBTeXN0ZW0gQ2hlY2sgb24gUm9vdCBEZXZpY2UgYmVpbmcgc2tpcHBlZC4NCj4gWyAg IDIwLjMzODMxOV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlcy4uLg0K PiBbICAgMjAuMzQxMDk0XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBSZW1vdW50IFJvb3QgYW5kIEtl cm5lbCBGaWxlIFN5c3RlbXMuLi4NCj4gWyAgIDIwLjM1MDk5M10gc3lzdGVtZFsxXTogU3RhcnRp bmcgdWRldiBDb2xkcGx1ZyBhbGwgRGV2aWNlcy4uLg0KPiBbICAgMjAuMzU2MjU1XSBzeXN0ZW1k WzFdOiBTdGFydGluZyBVbmNvbXBsaWNhdGVkIGZpcmV3YWxsLi4uDQo+IFsgICAyMC4zNjE1MzZd IHN5c3RlbWRbMV06IFN0YXJ0ZWQgSm91cm5hbCBTZXJ2aWNlLg0KPiBbICAgMjAuMzg2OTAyXSBF WFQ0LWZzIChzZGExKTogcmUtbW91bnRlZCBjMDJkY2UwYy0wYzQwLTRlNmUtODhhZi1jNWEwOTg3 YjBhZGIgci93Lg0KPiBbICAgMjIuNTMyMDMzXSAvZGV2L3NyMDogQ2FuJ3QgbG9va3VwIGJsb2Nr ZGV2DQo+IFsgICAgNy45NTU5NzNdIGNsb3VkLWluaXRbNzgzXTogQ2xvdWQtaW5pdCB2LiAyNC4z LjEtMHVidW50dTB+MjAuMDQuMSBydW5uaW5nICdpbml0LWxvY2FsJyBhdCBXZWQsIDExIE1hciAy MDI2IDE1OjI3OjA2ICswMDAwLiBVcCA3LjQ4DQo+IHNlY29uZHMuDQo+IFsgICAgOS45MzMxMjBd IGNsb3VkLWluaXRbODIyXTogQ2xvdWQtaW5pdCB2LiAyNC4zLjEtMHVidW50dTB+MjAuMDQuMSBy dW5uaW5nICdpbml0JyBhdCBXZWQsIDExIE1hciAyMDI2IDE1OjI3OjA4ICswMDAwLiBVcCA5Ljgy IHNlY29uZHMuDQo+IFsgICAgOS45MzU0ODNdIGNsb3VkLWluaXRbODIyXTogY2ktaW5mbzogKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKytOZXQgZGV2aWNlDQo+IGluZm8rKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gWyAgICA5LjkzNzcyNl0gY2xv dWQtaW5pdFs4MjJdOiBjaS1pbmZvOiArLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Kw0KPiBbICAgIDkuOTM5OTA1XSBjbG91ZC1pbml0WzgyMl06IGNpLWluZm86IHwgRGV2aWNlIHwg IFVwICB8ICAgICAgICAgICBBZGRyZXNzICAgICAgICAgICB8ICAgICAgTWFzayAgICAgfCBTY29w ZSAgfCAgICAgSHctQWRkcmVzcyAgICB8DQo+IFsgICAgOS45NDIwNTldIGNsb3VkLWluaXRbODIy XTogY2ktaW5mbzogKy0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gDQo+IFRo ZSBjbG91ZC1pbml0IGxpbmVzIGRvbid0IHNob3cgdXAgaW4gZG1lc2csIHNvIHRoZXJlJ3Mgbm8g cHJvYmxlbSB0aGVyZS4NCg0KQXJlIHRoZSB0aW1lc3RhbXAgdmFsdWVzIGZvciBjbG91ZC1pbml0 IHVzdWFsbHkgY29uc2lzdGVudCB3aXRoIHRoZSBvbmVzIGZyb20gdGhlIGtlcm5lbD8NClRoYXQg aXMsIHdpdGhvdXQgdGhlIGVhcmx5X3RpbWVzIHBhdGNoLCBkbyB0aGV5IHVzdWFsbHkgbWF0Y2gg a2VybmVsJ3MgcHJpbnRrIHRpbWVzdGFtcHM/DQoNCkl0IHNvdW5kcyBsaWtlIHRoZXNlIGNsb3Vk LWluaXQgbWVzc2FnZXMgYXJlIGVtaXR0ZWQgZGlyZWN0bHkgdG8gdGhlIHNlcmlhbCBjb25zb2xl LCBhbmQgZG8NCm5vdCBnbyB0aHJvdWdoIHRoZSBwcmludGsgc3lzdGVtLiAgSXMgdGhhdCByaWdo dD8gIEhvdyBkbyB0aGV5IGF2b2lkIGhhdmluZyB0aGUgcHJpbnRrDQptZXNzYWdlcyBhbmQgY2xv dWQtaW5pdCBtZXNzYWdlcyBpbnRlcm1pbmdsZT8gIEkgYXNzdW1lIGNsb3VkLWluaXQgaXMgYSBz eXN0ZW1kIHNlcnZpY2U/DQoNCkNhbiB5b3Ugc2hhcmUgdGhlIGNhbGlicmF0aW9uIGxpbmVzIGZy b20gdGhpcyBib290PyAgSSdtIGN1cmlvdXMgaWYgdGhlIHRpbWVzdGFtcHMNCmp1c3QgcmVsYXRp dmUgdG8gbG9jYWxfY2xvY2soKS4NCg0KPiBJIHdpbGwgbG9vayBpbnRvIGJvdGggaXNzdWVzIGZ1 cnRoZXIsIGJ1dCBwcm9iYWJseSBub3QgdG9kYXkuDQoNClRoYW5rcyBmb3IgdHJ5aW5nIHRoZSBj b2RlIG91dC4gIExldCBtZSBrbm93IGlmIHlvdSBmaW5kIG91dCBhbnl0aGluZy4NCiAtLSBUaW0N Cg0KPiBNaWNoYWVsDQo+IA0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogVGltIEJpcmQgPHRpbS5i aXJkQHNvbnkuY29tPg0KPiA+IC0tLQ0KPiA+IFYyLT5WMw0KPiA+ICBEZWZhdWx0IENPTkZJRyBv cHRpb24gdG8gJ24nDQo+ID4gIE1vdmUgbW9yZSBjb2RlIGZyb20gaW50byBlYXJseV90aW1lcy5o DQo+ID4gICAocmVkdWNpbmcgaWZkZWZzIGluIGluaXQvbWFpbi5jKQ0KPiA+ICBVc2UgbWF0aDY0 IGhlbHBlciByb3V0aW5lcw0KPiA+ICBVc2UgY3ljbGVzX3QgaW5zdGVhZCBvZiB1NjQgdHlwZQ0K PiA+ICBBZGQgI2RlZmluZXMgZm9yIEVBUkxZX0NZQ0xFU19CSVQgYW5kIE1BU0sNCj4gPiAgSW52 ZXJ0IGlmIGxvZ2ljIGluIGFkanVzdF9lYXJseV90cygpDQo+ID4gIChub3RlOiBubyBjaGFuZ2Ug dG8gJ2RlcGVuZHMgb24nIGluIEtjb25maWcgZW50cnkpDQo+ID4NCj4gPiBWMS0+VjINCj4gPiAg UmVtb3ZlIGNhbGlicmF0aW9uIENPTkZJRyB2YXJzDQo+ID4gIEFkZCAnZGVwZW5kcyBvbicgdG8g cmVzdHJpY3QgYXJjaGVzICh0byBoYW5kbGUgcHBjIGJ1ZykNCj4gPiAgQWRkIGVhcmx5X3RzX29m ZnNldCB0byBhdm9pZCBkaXNjb250aW51aXR5DQo+ID4gIFNhdmUgY3ljbGVzIGluIHRzX25zZWMs IGFuZCBjb252ZXJ0IG9uIG91dHB1dA0KPiA+ICBNb3ZlIGNvbmRpdGlvbmFsIGNvZGUgdG8gaW5j bHVkZSBmaWxlIChlYXJseV90aW1lcy5oKQ0KPiA+DQo+ID4gIGluY2x1ZGUvbGludXgvZWFybHlf dGltZXMuaCB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAg aW5pdC9LY29uZmlnICAgICAgICAgICAgICAgIHwgMTQgKysrKysrDQo+ID4gIGluaXQvbWFpbi5j ICAgICAgICAgICAgICAgICB8ICA2ICsrKw0KPiA+ICBrZXJuZWwvcHJpbnRrL3ByaW50ay5jICAg ICAgfCAxOCArKysrKysrLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9l YXJseV90aW1lcy5oDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lYXJseV90 aW1lcy5oIGIvaW5jbHVkZS9saW51eC9lYXJseV90aW1lcy5oDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjA1Mzg4ZGNiODU3Mw0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9pbmNsdWRlL2xpbnV4L2Vhcmx5X3RpbWVzLmgNCj4gPiBAQCAtMCww ICsxLDg1IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovDQo+ ID4gKw0KPiA+ICsjaWZuZGVmIF9LRVJORUxfUFJJTlRLX0VBUkxZX1RJTUVTX0gNCj4gPiArI2Rl ZmluZSBfS0VSTkVMX1BSSU5US19FQVJMWV9USU1FU19IDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8 bGludXgvdGltZXguaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+DQo+ID4g Kw0KPiA+ICsvKiB1c2UgaGlnaCBiaXQgb2YgYSB1NjQgdG8gaW5kaWNhdGUgY3ljbGVzIGluc3Rl YWQgb2YgYSB0aW1lc3RhbXAgKi8NCj4gPiArI2RlZmluZSBFQVJMWV9DWUNMRVNfQklUCUJJVF9V TEwoNjMpDQo+ID4gKyNkZWZpbmUgRUFSTFlfQ1lDTEVTX01BU0sJfihCSVRfVUxMKDYzKSkNCj4g PiArDQo+ID4gKyNpZiBkZWZpbmVkKENPTkZJR19FQVJMWV9QUklOVEtfVElNRVMpDQo+ID4gK2V4 dGVybiBjeWNsZXNfdCBzdGFydF9jeWNsZXM7DQo+ID4gK2V4dGVybiB1NjQgc3RhcnRfbnM7DQo+ ID4gK2V4dGVybiB1MzIgZWFybHlfbXVsdCwgZWFybHlfc2hpZnQ7DQo+ID4gK2V4dGVybiB1NjQg ZWFybHlfdHNfb2Zmc2V0Ow0KPiA+ICsNCj4gPiArc3RhdGljIGlubGluZSB2b2lkIGVhcmx5X3Rp bWVzX3N0YXJ0X2NhbGlicmF0aW9uKHZvaWQpDQo+ID4gK3sNCj4gPiArCXN0YXJ0X2N5Y2xlcyA9 IGdldF9jeWNsZXMoKTsNCj4gPiArCXN0YXJ0X25zID0gbG9jYWxfY2xvY2soKTsNCj4gPiArfQ0K PiA+ICsNCj4gPiArc3RhdGljIGlubGluZSB2b2lkIGVhcmx5X3RpbWVzX2ZpbmlzaF9jYWxpYnJh dGlvbih2b2lkKQ0KPiA+ICt7DQo+ID4gKwljeWNsZXNfdCBlbmRfY3ljbGVzOw0KPiA+ICsJdTY0 IGVuZF9uczsNCj4gPiArDQo+ID4gKwkvKiBzZXQgY2FsaWJyYXRpb24gZGF0YSBmb3IgZWFybHlf cHJpbnRrX3RpbWVzICovDQo+ID4gKwllbmRfY3ljbGVzID0gZ2V0X2N5Y2xlcygpOw0KPiA+ICsJ ZW5kX25zID0gbG9jYWxfY2xvY2soKTsNCj4gPiArCWNsb2Nrc19jYWxjX211bHRfc2hpZnQoJmVh cmx5X211bHQsICZlYXJseV9zaGlmdCwNCj4gPiArCQltdWxfdTY0X3U2NF9kaXZfdTY0KGVuZF9j eWNsZXMgLSBzdGFydF9jeWNsZXMsDQo+ID4gKwkJCU5TRUNfUEVSX1NFQywgZW5kX25zIC0gc3Rh cnRfbnMpLA0KPiA+ICsJCU5TRUNfUEVSX1NFQywgMTAwKTsNCj4gPiArCWVhcmx5X3RzX29mZnNl dCA9IG11bF91NjRfdTMyX3NocihzdGFydF9jeWNsZXMsIGVhcmx5X211bHQsIGVhcmx5X3NoaWZ0 KSAtDQo+ID4gc3RhcnRfbnM7DQo+ID4gKw0KPiA+ICsJcHJfZGVidWcoIkVhcmx5IHByaW50ayB0 aW1lczogbXVsdD0ldSwgc2hpZnQ9JXUsIG9mZnNldD0lbGx1IG5zXG4iLA0KPiA+ICsJCWVhcmx5 X211bHQsIGVhcmx5X3NoaWZ0LCBlYXJseV90c19vZmZzZXQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICtzdGF0aWMgaW5saW5lIHU2NCBlYXJseV9jeWNsZXModm9pZCkNCj4gPiArew0KPiA+ICsJcmV0 dXJuIChnZXRfY3ljbGVzKCkgfCBFQVJMWV9DWUNMRVNfQklUKTsNCj4gPiArfQ0KPiA+ICsNCj4g PiArLyoNCj4gPiArICogYWRqdXN0X2Vhcmx5X3RzIGRldGVjdHMgd2hldGhlciB0cyBpbiBpcyBj eWNsZXMgb3IgbmFub3NlY29uZHMNCj4gPiArICogYW5kIGNvbnZlcnRzIGl0IG9yIGFkanVzdHMg aXQsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIG9mZnNldA0KPiA+ICsgKiBmcm9tIGN5Y2xlLWNv dW50ZXIgc3RhcnQuDQo+ID4gKyAqDQo+ID4gKyAqIE5vdGUgdGhhdCBlYXJseV9tdWx0IG1heSBi ZSAwLCBidXQgdGhhdCdzIE9LIGJlY2F1c2UNCj4gPiArICogd2UnbGwganVzdCBtdWx0aXBseSBi eSAwIGFuZCByZXR1cm4gMC4gVGhpcyB3aWxsDQo+ID4gKyAqIG9ubHkgb2NjdXIgaWYgd2UncmUg b3V0cHV0dGluZyBhIHByaW50ayBtZXNzYWdlDQo+ID4gKyAqIGJlZm9yZSB0aGUgY2FsaWJyYXRp b24gb2YgdGhlIGVhcmx5IHRpbWVzdGFtcC4NCj4gPiArICogQW55IG91dHB1dCBhZnRlciB1c2Vy IHNwYWNlIHN0YXJ0IChlZy4gZnJvbSBkbWVzZyBvcg0KPiA+ICsgKiBqb3VybmFsY3RsKSB3aWxs IHNob3cgY29ycmVjdCB2YWx1ZXMuDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgaW5saW5lIHU2NCBh ZGp1c3RfZWFybHlfdHModTY0IHRzKQ0KPiA+ICt7DQo+ID4gKwlpZiAobGlrZWx5KCEodHMgJiBF QVJMWV9DWUNMRVNfQklUKSkpDQo+ID4gKwkJLyogaWYgdGltZXN0YW1wIGlzIG5vdCBpbiBjeWNs ZXMsIGp1c3QgYWRkIG9mZnNldCAqLw0KPiA+ICsJCXJldHVybiB0cyArIGVhcmx5X3RzX29mZnNl dDsNCj4gPiArDQo+ID4gKwkvKiBtYXNrIGhpZ2ggYml0IGFuZCBjb252ZXJ0IHRvIG5hbm9zZWNv bmRzICovDQo+ID4gKwlyZXR1cm4gbXVsX3U2NF91MzJfc2hyKHRzICYgRUFSTFlfQ1lDTEVTX01B U0ssIGVhcmx5X211bHQsIGVhcmx5X3NoaWZ0KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArI2Vsc2UN Cj4gPiArIyBkZWZpbmUgZWFybHlfdGltZXNfc3RhcnRfY2FsaWJyYXRpb24oKSBkbyB7IH0gd2hp bGUgKDApDQo+ID4gKyMgZGVmaW5lIGVhcmx5X3RpbWVzX2ZpbmlzaF9jYWxpYnJhdGlvbigpIGRv IHsgfSB3aGlsZSAoMCkNCj4gPiArDQo+ID4gK3N0YXRpYyBpbmxpbmUgdTY0IGVhcmx5X2N5Y2xl cyh2b2lkKQ0KPiA+ICt7DQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIGlubGluZSB1NjQgYWRqdXN0X2Vhcmx5X3RzKHU2NCB0cykNCj4gPiArew0KPiA+ICsJcmV0 dXJuIHRzOw0KPiA+ICt9DQo+ID4gKyNlbmRpZiAvKiBDT05GSUdfRUFSTFlfUFJJTlRLX1RJTUVT ICovDQo+ID4gKw0KPiA+ICsjZW5kaWYgLyogX0tFUk5FTF9QUklOVEtfRUFSTFlfVElNRVNfSCAq Lw0KPiA+IGRpZmYgLS1naXQgYS9pbml0L0tjb25maWcgYi9pbml0L0tjb25maWcNCj4gPiBpbmRl eCBmYTc5ZmViOGZlNTcuLmE5MjhjMWVmYjA5ZCAxMDA2NDQNCj4gPiAtLS0gYS9pbml0L0tjb25m aWcNCj4gPiArKysgYi9pbml0L0tjb25maWcNCj4gPiBAQCAtNzc3LDYgKzc3NywyMCBAQCBjb25m aWcgSUtIRUFERVJTDQo+ID4gIAkgIG9yIHNpbWlsYXIgcHJvZ3JhbXMuICBJZiB5b3UgYnVpbGQg dGhlIGhlYWRlcnMgYXMgYSBtb2R1bGUsIGEgbW9kdWxlIGNhbGxlZA0KPiA+ICAJICBraGVhZGVy cy5rbyBpcyBidWlsdCB3aGljaCBjYW4gYmUgbG9hZGVkIG9uLWRlbWFuZCB0byBnZXQgYWNjZXNz IHRvIGhlYWRlcnMuDQo+ID4NCj4gPiArY29uZmlnIEVBUkxZX1BSSU5US19USU1FUw0KPiA+ICsJ Ym9vbCAiU2hvdyBub24temVybyBwcmludGsgdGltZXN0YW1wcyBlYXJseSBpbiBib290Ig0KPiA+ ICsJZGVmYXVsdCBuDQo+ID4gKwlkZXBlbmRzIG9uIFBSSU5USw0KPiA+ICsJZGVwZW5kcyBvbiBB Uk02NCB8fCBYODZfNjQNCj4gPiArCWhlbHANCj4gPiArCSAgVXNlIGEgY3ljbGUtY291bnRlciB0 byBwcm92aWRlIHByaW50ayB0aW1lc3RhbXBzIGR1cmluZw0KPiA+ICsJICBlYXJseSBib290LiAg VGhpcyBhbGxvd3Mgc2VlaW5nIHRpbWVzdGFtcHMgZm9yIHByaW50a3MgdGhhdA0KPiA+ICsJICB3 b3VsZCBvdGhlcndpc2Ugc2hvdyBhcyAwLiAgTm90ZSB0aGF0IHRoaXMgd2lsbCBzaGlmdCB0aGUN Cj4gPiArCSAgcHJpbnRrIHRpbWVzdGFtcHMgdG8gYmUgcmVsYXRpdmUgdG8gcHJvY2Vzc29yIHBv d2VyIG9uLCBpbnN0ZWFkDQo+ID4gKwkgIG9mIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiBrZXJu ZWwgdGltZWtlZXBpbmcuICBUaGlzIHNob3VsZCBiZQ0KPiA+ICsJICBjbG9zZXIgdG8gbWFjaGlu ZSBwb3dlciBvbiwgZ2l2aW5nIGEgYmV0dGVyIGluZGljYXRpb24gb2YNCj4gPiArCSAgb3ZlcmFs bCBib290IHRpbWUuDQo+ID4gKw0KPiA+ICBjb25maWcgTE9HX0JVRl9TSElGVA0KPiA+ICAJaW50 ICJLZXJuZWwgbG9nIGJ1ZmZlciBzaXplICgxNiA9PiA2NEtCLCAxNyA9PiAxMjhLQikiDQo+ID4g IAlyYW5nZSAxMiAyNQ0KPiA+IGRpZmYgLS1naXQgYS9pbml0L21haW4uYyBiL2luaXQvbWFpbi5j DQo+ID4gaW5kZXggYjg0ODE4YWQ5Njg1Li5kNTc3NGFlYzFhZmYgMTAwNjQ0DQo+ID4gLS0tIGEv aW5pdC9tYWluLmMNCj4gPiArKysgYi9pbml0L21haW4uYw0KPiA+IEBAIC0xMDQsNiArMTA0LDcg QEANCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3BpZGZzLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC9w dGR1bXAuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3RpbWVfbmFtZXNwYWNlLmg+DQo+ID4gKyNp bmNsdWRlIDxsaW51eC9lYXJseV90aW1lcy5oPg0KPiA+ICAjaW5jbHVkZSA8bmV0L25ldF9uYW1l c3BhY2UuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSA8YXNtL2lvLmg+DQo+ID4gQEAgLTExMTgsNiAr MTExOSw5IEBAIHZvaWQgc3RhcnRfa2VybmVsKHZvaWQpDQo+ID4gIAl0aW1la2VlcGluZ19pbml0 KCk7DQo+ID4gIAl0aW1lX2luaXQoKTsNCj4gPg0KPiA+ICsJLyogVGhpcyBtdXN0IGJlIGFmdGVy IHRpbWVrZWVwaW5nIGlzIGluaXRpYWxpemVkICovDQo+ID4gKwllYXJseV90aW1lc19zdGFydF9j YWxpYnJhdGlvbigpOw0KPiA+ICsNCj4gPiAgCS8qIFRoaXMgbXVzdCBiZSBhZnRlciB0aW1la2Vl cGluZyBpcyBpbml0aWFsaXplZCAqLw0KPiA+ICAJcmFuZG9tX2luaXQoKTsNCj4gPg0KPiA+IEBA IC0xNjAwLDYgKzE2MDQsOCBAQCBzdGF0aWMgaW50IF9fcmVmIGtlcm5lbF9pbml0KHZvaWQgKnVu dXNlZCkNCj4gPg0KPiA+ICAJZG9fc3lzY3RsX2FyZ3MoKTsNCj4gPg0KPiA+ICsJZWFybHlfdGlt ZXNfZmluaXNoX2NhbGlicmF0aW9uKCk7DQo+ID4gKw0KPiA+ICAJaWYgKHJhbWRpc2tfZXhlY3V0 ZV9jb21tYW5kKSB7DQo+ID4gIAkJcmV0ID0gcnVuX2luaXRfcHJvY2VzcyhyYW1kaXNrX2V4ZWN1 dGVfY29tbWFuZCk7DQo+ID4gIAkJaWYgKCFyZXQpDQo+ID4gZGlmZiAtLWdpdCBhL2tlcm5lbC9w cmludGsvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrL3ByaW50ay5jDQo+ID4gaW5kZXggMWQ3NjVh ZDI0MmI4Li41YWZkMzFjMzM0NWMgMTAwNjQ0DQo+ID4gLS0tIGEva2VybmVsL3ByaW50ay9wcmlu dGsuYw0KPiA+ICsrKyBiL2tlcm5lbC9wcmludGsvcHJpbnRrLmMNCj4gPiBAQCAtNDYsNiArNDYs NyBAQA0KPiA+ICAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4 L3Vpby5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvY2xvY2suaD4NCj4gPiArI2luY2x1 ZGUgPGxpbnV4L2Vhcmx5X3RpbWVzLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC9zY2hlZC9kZWJ1 Zy5oPg0KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvdGFza19zdGFjay5oPg0KPiA+ICAjaW5j bHVkZSA8bGludXgvcGFuaWMuaD4NCj4gPiBAQCAtNzUsNiArNzYsMTMgQEAgRVhQT1JUX1NZTUJP TChpZ25vcmVfY29uc29sZV9sb2NrX3dhcm5pbmcpOw0KPiA+DQo+ID4gIEVYUE9SVF9UUkFDRVBP SU5UX1NZTUJPTF9HUEwoY29uc29sZSk7DQo+ID4NCj4gPiArI2lmZGVmIENPTkZJR19FQVJMWV9Q UklOVEtfVElNRVMNCj4gPiArY3ljbGVzX3Qgc3RhcnRfY3ljbGVzOw0KPiA+ICt1NjQgc3RhcnRf bnM7DQo+ID4gK3UzMiBlYXJseV9tdWx0LCBlYXJseV9zaGlmdDsNCj4gPiArdTY0IGVhcmx5X3Rz X29mZnNldDsNCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICAvKg0KPiA+ICAgKiBMb3cgbGV2ZWwg ZHJpdmVycyBtYXkgbmVlZCB0aGF0IHRvIGtub3cgaWYgdGhleSBjYW4gc2NoZWR1bGUgaW4NCj4g PiAgICogdGhlaXIgdW5ibGFuaygpIGNhbGxiYWNrIG9yIG5vdC4gU28gbGV0J3MgZXhwb3J0IGl0 Lg0KPiA+IEBAIC02MzksNyArNjQ3LDcgQEAgc3RhdGljIHZvaWQgYXBwZW5kX2NoYXIoY2hhciAq KnBwLCBjaGFyICplLCBjaGFyIGMpDQo+ID4gIHN0YXRpYyBzc2l6ZV90IGluZm9fcHJpbnRfZXh0 X2hlYWRlcihjaGFyICpidWYsIHNpemVfdCBzaXplLA0KPiA+ICAJCQkJICAgICBzdHJ1Y3QgcHJp bnRrX2luZm8gKmluZm8pDQo+ID4gIHsNCj4gPiAtCXU2NCB0c191c2VjID0gaW5mby0+dHNfbnNl YzsNCj4gPiArCXU2NCB0c191c2VjID0gYWRqdXN0X2Vhcmx5X3RzKGluZm8tPnRzX25zZWMpOw0K PiA+ICAJY2hhciBjYWxsZXJbMjBdOw0KPiA+ICAjaWZkZWYgQ09ORklHX1BSSU5US19DQUxMRVIN Cj4gPiAgCXUzMiBpZCA9IGluZm8tPmNhbGxlcl9pZDsNCj4gPiBAQCAtMTM1Miw3ICsxMzYwLDEx IEBAIHN0YXRpYyBzaXplX3QgcHJpbnRfc3lzbG9nKHVuc2lnbmVkIGludCBsZXZlbCwgY2hhciAq YnVmKQ0KPiA+DQo+ID4gIHN0YXRpYyBzaXplX3QgcHJpbnRfdGltZSh1NjQgdHMsIGNoYXIgKmJ1 ZikNCj4gPiAgew0KPiA+IC0JdW5zaWduZWQgbG9uZyByZW1fbnNlYyA9IGRvX2Rpdih0cywgMTAw MDAwMDAwMCk7DQo+ID4gKwl1bnNpZ25lZCBsb25nIHJlbV9uc2VjOw0KPiA+ICsNCj4gPiArCXRz ID0gYWRqdXN0X2Vhcmx5X3RzKHRzKTsNCj4gPiArDQo+ID4gKwlyZW1fbnNlYyA9IGRvX2Rpdih0 cywgMTAwMDAwMDAwMCk7DQo+ID4NCj4gPiAgCXJldHVybiBzcHJpbnRmKGJ1ZiwgIlslNWx1LiUw Nmx1XSIsDQo+ID4gIAkJICAgICAgICh1bnNpZ25lZCBsb25nKXRzLCByZW1fbnNlYyAvIDEwMDAp Ow0KPiA+IEBAIC0yMjQyLDYgKzIyNTQsOCBAQCBpbnQgdnByaW50a19zdG9yZShpbnQgZmFjaWxp dHksIGludCBsZXZlbCwNCj4gPiAgCSAqIHRpbWVzdGFtcCB3aXRoIHJlc3BlY3QgdG8gdGhlIGNh bGxlci4NCj4gPiAgCSAqLw0KPiA+ICAJdHNfbnNlYyA9IGxvY2FsX2Nsb2NrKCk7DQo+ID4gKwlp ZiAoIXRzX25zZWMpDQo+ID4gKwkJdHNfbnNlYyA9IGVhcmx5X2N5Y2xlcygpOw0KPiA+DQo+ID4g IAljYWxsZXJfaWQgPSBwcmludGtfY2FsbGVyX2lkKCk7DQo+ID4NCj4gPiAtLQ0KPiA+IDIuNDMu MA0KPiA+DQoNCg==