From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dan Magenheimer" Subject: RE: [PATCH] [RFC] Building guests on monotonic Xen system time Date: Mon, 19 May 2008 12:27:02 -0600 Message-ID: <20080519122702562.00000002648@djm-pc> References: <20080516113101500.00000002648@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------29e65bad29e65bad Return-path: In-Reply-To: <20080516113101500.00000002648@djm-pc> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Xen-Devel (E-mail)" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------29e65bad29e65bad Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 QXMgSSBsb29rIGF0IHRoaXMgbW9yZSwgSSdtIGNvbnZpbmNpbmcgbXlzZWxmIHRoYXQNCml0 IG1heSBub3QgbWFrZSBzZW5zZSB0byBidWlsZCB0aGUgZ3Vlc3QgVFNDIG9uIHRvcA0Kb2Yg WGVuIHN5c3RlbSB0aW1lIGFuZCBvbmx5IHRoZSBndWVzdCB2aXJ0dWFsIHBsYXRmb3JtDQp0 aW1lcihzKSBzaG91bGQgYmUgYnVpbHQgb24gWGVuIHN5c3RlbSB0aW1lIChhbmQgc2hvdWxk DQpiZSBtb25vdG9uaWNhbGx5IG5vbi1kZWNyZWFzaW5nKS4NCg0KV2h5PyBTY2FsaW5nIGFu ZCBhZGp1c3Rpbmcgb2YgeGVuLXRpbWUtYmFzZWQtdHNjIHdpbGwNCmJlIHZlcnkgZGlmZmlj dWx0IHRvIGNvb3JkaW5hdGUgd2l0aCBwcm9jZXNzb3ItYmFzZWQtdHNjLg0KV2UgbmVlZCB0 byBhbHdheXMgZW5zdXJlIHRoYXQgQSA8IEIgPCBDIGZvciBhIGd1ZXN0DQpleGVjdXRpbmc6 DQoNCnJkdHNjKEEpIC8qIHVudHJhcHBlZCAqLw0KZW11bGF0ZWRfcmR0c2MoQikNCnJkdHNj KEMpIC8qIHVudHJhcHBlZCAqLw0KDQpGdXJ0aGVyLCBPUydzIHVzZSBUU0MgYXMgYSBoaWdo ZXN0LXJlc29sdXRpb24gdGltZSBzb3VyY2UNCndpdGgga25vd2xlZGdlIHRoYXQgVFNDcyBv biBkaWZmZXJlbnQgcHJvY2Vzc29ycyBtYXkNCm5vdCBiZSBzeW5jaHJvbml6ZWQsIHdoZXJl YXMgdGhleSBhc3N1bWUgdGhhdCBhIHBsYXRmb3JtDQp0aW1lciBpcyBvbmUtcGVyLXN5c3Rl bSBhbmQgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nLg0KDQpLZWlyLCBpZiB5b3UgZGlzYWdy ZWUgYW5kIHNlZSBndWVzdC1UU0Mtb24tWGVuLXN5c3RlbS10aW1lDQphcyBhbiBhYnNvbHV0 ZSBtdXN0LCBwbGVhc2UgbGV0IG1lIGtub3cuDQoNClVuZm9ydHVuYXRlbHksIGh2bV9nZXQv c2V0X3N5c3RlbV90aW1lKCkgYXJlICNkZWZpbmVkIHRvDQpiZSBodm1fZ2V0L3NldF9zeXN0 ZW1fdHNjKCkgc28gdGhlIHVzYWdlIGlzIHByZXR0eSBtdWRkbGVkLg0KSSB0aGluayB0aGUg YXR0YWNoZWQgcGF0Y2ggaGFzIHRlYXNlZCB0aGUgdHdvIGFwYXJ0IHRob3VnaC4NCg0KTm90 ZSB0aGlzIGlzIHN0aWxsIFJGQywgbm90IGEgZmluaXNoZWQgcGF0Y2guDQoNCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogeGVuLWRldmVsLWJvdW5jZXNAbGlzdHMu eGVuc291cmNlLmNvbQ0KPiBbbWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnNv dXJjZS5jb21dT24gQmVoYWxmIE9mIERhbg0KPiBNYWdlbmhlaW1lcg0KPiBTZW50OiBGcmlk YXksIE1heSAxNiwgMjAwOCAxMTozMSBBTQ0KPiBUbzogWGVuLURldmVsIChFLW1haWwpDQo+ IFN1YmplY3Q6IFtYZW4tZGV2ZWxdIFtQQVRDSF0gW1JGQ10gQnVpbGRpbmcgZ3Vlc3RzIG9u IG1vbm90b25pYyBYZW4NCj4gc3lzdGVtIHRpbWUNCj4gDQo+IA0KPiBDdXJyZW50bHksIGh2 bSBndWVzdCBwbGF0Zm9ybSB0aW1lcnMgYXJlIGJ1aWx0IG9uIHRvcCBvZiB0aGUgdHNjLg0K PiBFdmVuIHRob3VnaCB0aGUgZ3Vlc3QgYmVsaWV2ZXMgaXQgaXMgdXRpbGl6aW5nIGEgbW9u b3RvbmljIHRpbWVzb3VyY2UNCj4gKHN1Y2ggYXMgcGl0LCBocGV0LCBvciBwbXRpbWVyKSwg YWxsIG9mIHRoZXNlIHBsdW1iIGRvd24gdG8gYW4NCj4gcmR0c2MgaW5zdHJ1Y3Rpb24uDQo+ IA0KPiBTaW5jZSBvbiBtYW55IFNNUCBwbGF0Zm9ybXMgdHNjJ3MgaW4gZGlmZmVyZW50IHBy b2Nlc3NvcnMgYXJlIG5vdA0KPiBzeW5jaHJvbml6ZWQsIFZNcyByZS1zY2hlZHVsZWQgZnJv bSBhICJmYXN0IHRzYyIgcHJvY2Vzc29yIHRvDQo+IGEgInNsb3cgdHNjIiBwcm9jZXNzb3Ig bWF5IGV4cGVyaWVuY2UgInRpbWUgZ29pbmcgYmFja3dhcmRzIi4NCj4gVGhpcyBpcyBkaXNj dXNzZWQgaW4gdGhlIGZvbGxvd2luZyB0aHJlYWQ6DQo+IA0KPiBodHRwOi8vbGlzdHMueGVu c291cmNlLmNvbS9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDA4LTA0L21zZw0KMDAyNzcu aHRtbA0KDQpUaGUgZml4IHByb3Bvc2VkIGJ5IEtlaXIgaXMgdGhhdCAiVGhlIGxvZ2ljIGlu IHZwdC5jIHNob3VsZA0KYmUgZml4ZWQgdG8gdXNlIFhlbidzIGNvbmNlcHQgb2Ygc3lzdGVt IHRpbWUgYW5kIGV2ZXJ5dGhpbmcsDQpndWVzdCBUU0MgaW5jbHVkZWQsIHNob3VsZCBiZSBk ZXJpdmVkIGZyb20gdGhhdC4iDQoNClRoZSBhdHRhY2hlZCBwYXRjaCBpcyBhIGZpcnN0IGF0 dGVtcHQgdG8gZGVyaXZlIGFsbA0KZ3Vlc3QgdGltZXJzIGZyb20gWGVuJ3Mgc3lzdGVtIHRp bWUuLi4gYW5kIGFsc28gdG8gZW5zdXJlDQp0aGF0IHN5c3RlbSB0aW1lIGlzIG5vbi1kZWNy ZWFzaW5nLiBJIGRvbid0IGJlbGlldmUgdGhlDQpwYXRjaCBpcyBjb21wbGV0ZS4uLiBhbmQg cG9zc2libHkgbm90IGV2ZW4gY29ycmVjdC4NCkZvciBleGFtcGxlLCBJJ20gY29uY2VybmVk IHRoYXQgWGVuJ3Mgc3lzdGVtIHRpbWUgdXNlcw0KZGlmZmVyZW50IHVuaXRzIHRoYW4gYSBn dWVzdCB0c2MgYW5kIEkgZG9uJ3QgcmVjYWxsIGlmDQphbGwgZ3Vlc3QgdHNjIGFjY2Vzc2Vz IGFyZSB0cmFwcGVkLg0KDQpEYW4NCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NClRoYW5rcy4uLiBmb3IgdGhlIG1lbW9yeQ0KSSByZWFsbHkgY291bGQgdXNlIG1v cmUgLyBNeSB0aHJvdWdocHV0J3Mgb24gdGhlIGZsb29yDQpUaGUgYmFsbG9vbiBpcyBmbGF0 IC8gTXkgc3dhcCBkaXNrJ3MgZmF0IC8gSSd2ZSBPT00ncyBpbiBzdG9yZQ0KT3ZlcmNvbW1p dHRlZCBzbyBtdWNoDQood2l0aCBhcG9sb2dpZXMgdG8gdGhlIGxhdGUgZ3JlYXQgQm9iIEhv cGUp ---------29e65bad29e65bad Content-Type: application/octet-stream; name="hvmstime2.patch" Content-Disposition: attachment; filename="hvmstime2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBlM2IxM2UxZWNmNmMgeGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKLS0tIGEveGVu L2FyY2gveDg2L2h2bS9ocGV0LmMJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vaHBldC5jCU1vbiBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAt MDYwMApAQCAtMjksOSArMjksOSBAQAogI2RlZmluZSBTX1RPX05TICAxMDAwMDAwMDAwVUxM ICAgICAgICAgICAvKiAxcyAgPSAxMF45ICBucyAqLwogI2RlZmluZSBTX1RPX0ZTICAxMDAw MDAwMDAwMDAwMDAwVUxMICAgICAvKiAxcyAgPSAxMF4xNSBmcyAqLwogCi0vKiBGcmVxdWVu Y3lfb2ZfVFNDIC8gZnJlcXVlbmN5X29mX0hQRVQgPSAzMiAqLwotI2RlZmluZSBUU0NfUEVS X0hQRVRfVElDSyAzMgotI2RlZmluZSBndWVzdF90aW1lX2hwZXQodikgKGh2bV9nZXRfZ3Vl c3RfdGltZSh2KSAvIFRTQ19QRVJfSFBFVF9USUNLKQorLyogRnJlcXVlbmN5X29mX1hlbl9z eXN0ZW1lX3RpbWUgLyBmcmVxdWVuY3lfb2ZfSFBFVCA9IDE2ICovCisjZGVmaW5lIFNUSU1F X1BFUl9IUEVUX1RJQ0sgMTYKKyNkZWZpbmUgZ3Vlc3RfdGltZV9ocGV0KHYpIChodm1fZ2V0 X2d1ZXN0X3RpbWVfbW9ubyh2KSAvIFNUSU1FX1BFUl9IUEVUX1RJQ0spCiAKICNkZWZpbmUg SFBFVF9JRCAgICAgICAgIDB4MDAwCiAjZGVmaW5lIEhQRVRfUEVSSU9EICAgICAweDAwNApA QCAtMTkyLDcgKzE5Miw3IEBAIHN0YXRpYyB2b2lkIGhwZXRfc3RvcF90aW1lcihIUEVUU3Rh dGUgKmgKIAogLyogdGhlIG51bWJlciBvZiBIUEVUIHRpY2sgdGhhdCBzdGFuZHMgZm9yCiAg KiAxLygyXjEwKSBzZWNvbmQsIG5hbWVseSwgMC45NzY1NjI1IG1pbGxpc2Vjb25kcyAqLwot I2RlZmluZSAgSFBFVF9USU5ZX1RJTUVfU1BBTiAgKChoLT50c2NfZnJlcSA+PiAxMCkgLyBU U0NfUEVSX0hQRVRfVElDSykKKyNkZWZpbmUgIEhQRVRfVElOWV9USU1FX1NQQU4gICgoaC0+ c3RpbWVfZnJlcSA+PiAxMCkgLyBTVElNRV9QRVJfSFBFVF9USUNLKQogCiBzdGF0aWMgdm9p ZCBocGV0X3NldF90aW1lcihIUEVUU3RhdGUgKmgsIHVuc2lnbmVkIGludCB0bikKIHsKQEAg LTU1OCwxNyArNTU4LDE3IEBAIHZvaWQgaHBldF9pbml0KHN0cnVjdCB2Y3B1ICp2KQogICAg IHNwaW5fbG9ja19pbml0KCZoLT5sb2NrKTsKIAogICAgIGgtPnZjcHUgPSB2OwotICAgIGgt PnRzY19mcmVxID0gdGlja3NfcGVyX3NlYyh2KTsKKyAgICBoLT5zdGltZV9mcmVxID0gU19U T19OUzsKIAotICAgIGgtPmhwZXRfdG9fbnNfc2NhbGUgPSAoKFNfVE9fTlMgKiBUU0NfUEVS X0hQRVRfVElDSykgPDwgMTApIC8gaC0+dHNjX2ZyZXE7CisgICAgaC0+aHBldF90b19uc19z Y2FsZSA9ICgoU19UT19OUyAqIFNUSU1FX1BFUl9IUEVUX1RJQ0spIDw8IDEwKSAvIGgtPnN0 aW1lX2ZyZXE7CiAgICAgaC0+aHBldF90b19uc19saW1pdCA9IH4wVUxMIC8gaC0+aHBldF90 b19uc19zY2FsZTsKIAogICAgIC8qIDY0LWJpdCBtYWluIGNvdW50ZXI7IDMgdGltZXJzIHN1 cHBvcnRlZDsgTGVnYWN5UmVwbGFjZW1lbnRSb3V0ZS4gKi8KICAgICBoLT5ocGV0LmNhcGFi aWxpdHkgPSAweDgwODZBMjAxVUxMOwogCiAgICAgLyogVGhpcyBpcyB0aGUgbnVtYmVyIG9m IGZlbXB0b3NlY29uZHMgcGVyIEhQRVQgdGljay4gKi8KLSAgICAvKiBIZXJlIHdlIGRlZmlu ZSBIUEVUJ3MgZnJlcXVlbmN5IHRvIGJlIDEvMzIgb2YgdGhlIFRTQydzICovCi0gICAgaC0+ aHBldC5jYXBhYmlsaXR5IHw9ICgoU19UT19GUypUU0NfUEVSX0hQRVRfVElDSy9oLT50c2Nf ZnJlcSkgPDwgMzIpOworICAgIC8qIEhlcmUgd2UgZGVmaW5lIEhQRVQncyBmcmVxdWVuY3kg dG8gYmUgMS8xNiBvZiBYZW4gc3lzdGVtIHRpbWUgKi8KKyAgICBoLT5ocGV0LmNhcGFiaWxp dHkgfD0gKChTX1RPX0ZTKlNUSU1FX1BFUl9IUEVUX1RJQ0svaC0+c3RpbWVfZnJlcSkgPDwg MzIpOwogCiAgICAgZm9yICggaSA9IDA7IGkgPCBIUEVUX1RJTUVSX05VTTsgaSsrICkKICAg ICB7CmRpZmYgLXIgZTNiMTNlMWVjZjZjIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYwlUaHUgTWF5IDE1IDE1OjEwOjA1IDIwMDggKzAxMDAK KysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwlNb24gTWF5IDE5IDEyOjE0OjIyIDIwMDgg LTA2MDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+CiAj aW5jbHVkZSA8eGVuL2d1ZXN0X2FjY2Vzcy5oPgogI2luY2x1ZGUgPHhlbi9ldmVudC5oPgor I2luY2x1ZGUgPHhlbi90aW1lLmg+CiAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KICNpbmNs dWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMTM5LDcgKzE0MCw2 IEBAIHZvaWQgaHZtX3NldF9ndWVzdF90c2Moc3RydWN0IHZjcHUgKnYsIHUKICAgICB1NjQg aG9zdF90c2M7CiAKICAgICByZHRzY2xsKGhvc3RfdHNjKTsKLQogICAgIHYtPmFyY2guaHZt X3ZjcHUuY2FjaGVfdHNjX29mZnNldCA9IGd1ZXN0X3RzYyAtIGhvc3RfdHNjOwogICAgIGh2 bV9mdW5jcy5zZXRfdHNjX29mZnNldCh2LCB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RzY19v ZmZzZXQpOwogfQpAQCAtMTUwLDYgKzE1MCwyOCBAQCB1NjQgaHZtX2dldF9ndWVzdF90c2Mo c3RydWN0IHZjcHUgKnYpCiAKICAgICByZHRzY2xsKGhvc3RfdHNjKTsKICAgICByZXR1cm4g aG9zdF90c2MgKyB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RzY19vZmZzZXQ7Cit9CisKK3Zv aWQgaHZtX3NldF9ndWVzdF90aW1lKHN0cnVjdCB2Y3B1ICp2LCB1NjQgZ3Vlc3RfdGltZSkK K3sKKyAgICB1NjQgaG9zdF90aW1lID0gKHU2NClnZXRfc190aW1lX21vbm8oKTsKKworICAg IHYtPmFyY2guaHZtX3ZjcHUuY2FjaGVfdGltZV9vZmZzZXQgPSBndWVzdF90aW1lIC0gaG9z dF90aW1lOworfQorCit1NjQgaHZtX2dldF9ndWVzdF90aW1lKHN0cnVjdCB2Y3B1ICp2KQor eworICAgIHU2NCBob3N0X3RpbWUgPSAodTY0KWdldF9zX3RpbWUoKTsKKworICAgIHJldHVy biBob3N0X3RpbWUgKyB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RpbWVfb2Zmc2V0OworfQor CisKK3U2NCBodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyhzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICB1NjQgaG9zdF90aW1lID0gKHU2NClnZXRfc190aW1lX21vbm8oKTsKKworICAgIHJldHVy biBob3N0X3RpbWUgKyB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RpbWVfb2Zmc2V0OwogfQog CiB2b2lkIGh2bV9taWdyYXRlX3RpbWVycyhzdHJ1Y3QgdmNwdSAqdikKQEAgLTE2MzIsNyAr MTY1NCw3IEBAIGludCBodm1fbXNyX3JlYWRfaW50ZXJjZXB0KHN0cnVjdCBjcHVfdXMKICAg ICBzd2l0Y2ggKCBlY3ggKQogICAgIHsKICAgICBjYXNlIE1TUl9JQTMyX1RTQzoKLSAgICAg ICAgbXNyX2NvbnRlbnQgPSBodm1fZ2V0X2d1ZXN0X3RpbWUodik7CisgICAgICAgIG1zcl9j b250ZW50ID0gaHZtX2dldF9ndWVzdF90c2Modik7CiAgICAgICAgIGJyZWFrOwogCiAgICAg Y2FzZSBNU1JfSUEzMl9BUElDQkFTRToKQEAgLTE3MjUsNyArMTc0Nyw3IEBAIGludCBodm1f bXNyX3dyaXRlX2ludGVyY2VwdChzdHJ1Y3QgY3B1X3UKICAgICBzd2l0Y2ggKCBlY3ggKQog ICAgIHsKICAgICAgY2FzZSBNU1JfSUEzMl9UU0M6Ci0gICAgICAgIGh2bV9zZXRfZ3Vlc3Rf dGltZSh2LCBtc3JfY29udGVudCk7CisgICAgICAgIGh2bV9zZXRfZ3Vlc3RfdHNjKHYsIG1z cl9jb250ZW50KTsKICAgICAgICAgcHRfcmVzZXQodik7CiAgICAgICAgIGJyZWFrOwogCmRp ZmYgLXIgZTNiMTNlMWVjZjZjIHhlbi9hcmNoL3g4Ni9odm0vaTgyNTQuYwotLS0gYS94ZW4v YXJjaC94ODYvaHZtL2k4MjU0LmMJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vaTgyNTQuYwlNb24gTWF5IDE5IDEyOjE0OjIyIDIwMDgg LTA2MDAKQEAgLTg2LDcgKzg2LDcgQEAgc3RhdGljIGludCBwaXRfZ2V0X2NvdW50KFBJVFN0 YXRlICpwaXQsIAogCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZwaXQtPmxvY2spKTsK IAotICAgIGQgPSBtdWxkaXY2NChodm1fZ2V0X2d1ZXN0X3RpbWUodikgLSBwaXQtPmNvdW50 X2xvYWRfdGltZVtjaGFubmVsXSwKKyAgICBkID0gbXVsZGl2NjQoaHZtX2dldF9ndWVzdF90 aW1lX21vbm8odikgLSBwaXQtPmNvdW50X2xvYWRfdGltZVtjaGFubmVsXSwKICAgICAgICAg ICAgICAgICAgUElUX0ZSRVEsIHRpY2tzX3Blcl9zZWModikpOwogCiAgICAgc3dpdGNoICgg Yy0+bW9kZSApCkBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIGludCBwaXRfZ2V0X291dChQ SVRTdGF0ZSAqcGl0LCBpbgogCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZwaXQtPmxv Y2spKTsKIAotICAgIGQgPSBtdWxkaXY2NChodm1fZ2V0X2d1ZXN0X3RpbWUodikgLSBwaXQt PmNvdW50X2xvYWRfdGltZVtjaGFubmVsXSwgCisgICAgZCA9IG11bGRpdjY0KGh2bV9nZXRf Z3Vlc3RfdGltZV9tb25vKHYpIC0gcGl0LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0sIAog ICAgICAgICAgICAgICAgICBQSVRfRlJFUSwgdGlja3NfcGVyX3NlYyh2KSk7CiAKICAgICBz d2l0Y2ggKCBzLT5tb2RlICkKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCBwaXRf c2V0X2dhdGUoUElUU3RhdGUgKnBpdCwgCiAgICAgY2FzZSAzOgogICAgICAgICAvKiBSZXN0 YXJ0IGNvdW50aW5nIG9uIHJpc2luZyBlZGdlLiAqLwogICAgICAgICBpZiAoIHMtPmdhdGUg PCB2YWwgKQotICAgICAgICAgICAgcGl0LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0gPSBo dm1fZ2V0X2d1ZXN0X3RpbWUodik7CisgICAgICAgICAgICBwaXQtPmNvdW50X2xvYWRfdGlt ZVtjaGFubmVsXSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpOwogICAgICAgICBicmVh azsKICAgICB9CiAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBwaXRfdGltZV9m aXJlZChzdHJ1Y3QgdmNwdSAqCiBzdGF0aWMgdm9pZCBwaXRfdGltZV9maXJlZChzdHJ1Y3Qg dmNwdSAqdiwgdm9pZCAqcHJpdikKIHsKICAgICB1aW50NjRfdCAqY291bnRfbG9hZF90aW1l ID0gcHJpdjsKLSAgICAqY291bnRfbG9hZF90aW1lID0gaHZtX2dldF9ndWVzdF90aW1lKHYp OworICAgICpjb3VudF9sb2FkX3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyh2KTsK IH0KIAogc3RhdGljIHZvaWQgcGl0X2xvYWRfY291bnQoUElUU3RhdGUgKnBpdCwgaW50IGNo YW5uZWwsIGludCB2YWwpCkBAIC0xOTUsOSArMTk1LDEzIEBAIHN0YXRpYyB2b2lkIHBpdF9s b2FkX2NvdW50KFBJVFN0YXRlICpwaXQKICAgICAgICAgdmFsID0gMHgxMDAwMDsKIAogICAg IGlmICggdiA9PSBOVUxMICkKKyAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIk5VTEwg dmNwdSBpbiBwaXRfbG9hZF9jb3VudC5cbiIpOworICAgIC8qCiAgICAgICAgIHJkdHNjbGwo cGl0LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0pOwogICAgIGVsc2UKLSAgICAgICAgcGl0 LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0gPSBodm1fZ2V0X2d1ZXN0X3RpbWUodik7Cisq LworLyogICAgQVNTRVJUKHYpOyAqLworICAgICAgICBwaXQtPmNvdW50X2xvYWRfdGltZVtj aGFubmVsXSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpOwogICAgIHMtPmNvdW50ID0g dmFsOwogICAgIHBlcmlvZCA9IERJVl9ST1VORCgodmFsICogMTAwMDAwMDAwMFVMTCksIFBJ VF9GUkVRKTsKIApAQCAtNDM1LDcgKzQzOSw3IEBAIHN0YXRpYyBpbnQgcGl0X2xvYWQoc3Ry dWN0IGRvbWFpbiAqZCwgaHYKICAgICAgKiB0aW1lIGppdHRlciBoZXJlLCBidXQgdGhlIHdh bGwtY2xvY2sgd2lsbCBoYXZlIGp1bXBlZCBtYXNzaXZlbHksIHNvIAogICAgICAqIHdlIGhv cGUgdGhlIGd1ZXN0IGNhbiBoYW5kbGUgaXQuCiAgICAgICovCi0gICAgcGl0LT5wdDAubGFz dF9wbHRfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWUoZC0+dmNwdVswXSk7CisgICAgcGl0 LT5wdDAubGFzdF9wbHRfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyhkLT52Y3B1 WzBdKTsKICAgICBmb3IgKCBpID0gMDsgaSA8IDM7IGkrKyApCiAgICAgICAgIHBpdF9sb2Fk X2NvdW50KHBpdCwgaSwgcGl0LT5ody5jaGFubmVsc1tpXS5jb3VudCk7CiAKZGlmZiAtciBl M2IxM2UxZWNmNmMgeGVuL2FyY2gveDg2L2h2bS9wbXRpbWVyLmMKLS0tIGEveGVuL2FyY2gv eDg2L2h2bS9wbXRpbWVyLmMJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBi L3hlbi9hcmNoL3g4Ni9odm0vcG10aW1lci5jCU1vbiBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAt MDYwMApAQCAtNzEsNyArNzEsNyBAQCBzdGF0aWMgdm9pZCBwbXRfdXBkYXRlX3RpbWUoUE1U U3RhdGUgKnMpCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZzLT5sb2NrKSk7CiAKICAg ICAvKiBVcGRhdGUgdGhlIHRpbWVyICovCi0gICAgY3Vycl9ndGltZSA9IGh2bV9nZXRfZ3Vl c3RfdGltZShzLT52Y3B1KTsKKyAgICBjdXJyX2d0aW1lID0gaHZtX2dldF9ndWVzdF90aW1l X21vbm8ocy0+dmNwdSk7CiAgICAgcy0+cG0udG1yX3ZhbCArPSAoKGN1cnJfZ3RpbWUgLSBz LT5sYXN0X2d0aW1lKSAqIHMtPnNjYWxlKSA+PiAzMjsKICAgICBzLT5wbS50bXJfdmFsICY9 IFRNUl9WQUxfTUFTSzsKICAgICBzLT5sYXN0X2d0aW1lID0gY3Vycl9ndGltZTsKQEAgLTIz OCw3ICsyMzgsNyBAQCBzdGF0aWMgaW50IHBtdGltZXJfbG9hZChzdHJ1Y3QgZG9tYWluICpk CiAgICAgfQogCiAgICAgLyogQ2FsY3VsYXRlIGZ1dHVyZSBjb3VudGVyIHZhbHVlcyBmcm9t IG5vdy4gKi8KLSAgICBzLT5sYXN0X2d0aW1lID0gaHZtX2dldF9ndWVzdF90aW1lKHMtPnZj cHUpOworICAgIHMtPmxhc3RfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyhzLT52 Y3B1KTsKIAogICAgIC8qIFNldCB0aGUgU0NJIHN0YXRlIGZyb20gdGhlIHJlZ2lzdGVycyAq LyAKICAgICBwbXRfdXBkYXRlX3NjaShzKTsKZGlmZiAtciBlM2IxM2UxZWNmNmMgeGVuL2Fy Y2gveDg2L2h2bS9zdm0vc3ZtLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMJ VGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0v c3ZtL3N2bS5jCU1vbiBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAtMDYwMApAQCAtMjk5LDcgKzI5 OSw3IEBAIHN0YXRpYyB2b2lkIHN2bV9zYXZlX2NwdV9zdGF0ZShzdHJ1Y3QgdmMKICAgICBk YXRhLT5tc3JfZWZlciAgICAgICAgID0gdi0+YXJjaC5odm1fdmNwdS5ndWVzdF9lZmVyOwog ICAgIGRhdGEtPm1zcl9mbGFncyAgICAgICAgPSAtMVVMTDsKIAotICAgIGRhdGEtPnRzYyA9 IGh2bV9nZXRfZ3Vlc3RfdGltZSh2KTsKKyAgICBkYXRhLT50c2MgPSBodm1fZ2V0X2d1ZXN0 X3RzYyh2KTsKIH0KIAogCkBAIC0zMTUsNyArMzE1LDcgQEAgc3RhdGljIHZvaWQgc3ZtX2xv YWRfY3B1X3N0YXRlKHN0cnVjdCB2YwogICAgIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfZWZl ciA9IGRhdGEtPm1zcl9lZmVyOwogICAgIHN2bV91cGRhdGVfZ3Vlc3RfZWZlcih2KTsKIAot ICAgIGh2bV9zZXRfZ3Vlc3RfdGltZSh2LCBkYXRhLT50c2MpOworICAgIGh2bV9zZXRfZ3Vl c3RfdHNjKHYsIGRhdGEtPnRzYyk7CiB9CiAKIHN0YXRpYyB2b2lkIHN2bV9zYXZlX3ZtY2Jf Y3R4dChzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IGh2bV9od19jcHUgKmN0eHQpCkBAIC01ODMs NiArNTgzLDEyIEBAIHN0YXRpYyB2b2lkIHN2bV9zZXRfdHNjX29mZnNldChzdHJ1Y3QgdmMK ICAgICB2LT5hcmNoLmh2bV9zdm0udm1jYi0+dHNjX29mZnNldCA9IG9mZnNldDsKIH0KIAor CitzdGF0aWMgdm9pZCBzdm1fc2V0X3RpbWVfb2Zmc2V0KHN0cnVjdCB2Y3B1ICp2LCB1NjQg b2Zmc2V0KQoreworICAgIHYtPmFyY2guaHZtX3ZjcHUuY2FjaGVfdGltZV9vZmZzZXQgPSBv ZmZzZXQ7Cit9CisKIHN0YXRpYyB2b2lkIHN2bV9pbml0X2h5cGVyY2FsbF9wYWdlKHN0cnVj dCBkb21haW4gKmQsIHZvaWQgKmh5cGVyY2FsbF9wYWdlKQogewogICAgIGNoYXIgKnA7CkBA IC03OTAsNiArNzk2LDcgQEAgc3RhdGljIHN0cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgc3Zt X2Z1bgogICAgIC51cGRhdGVfZ3Vlc3RfZWZlciAgICA9IHN2bV91cGRhdGVfZ3Vlc3RfZWZl ciwKICAgICAuZmx1c2hfZ3Vlc3RfdGxicyAgICAgPSBzdm1fZmx1c2hfZ3Vlc3RfdGxicywK ICAgICAuc2V0X3RzY19vZmZzZXQgICAgICAgPSBzdm1fc2V0X3RzY19vZmZzZXQsCisgICAg LnNldF90aW1lX29mZnNldCAgICAgID0gc3ZtX3NldF90aW1lX29mZnNldCwKICAgICAuaW5q ZWN0X2V4Y2VwdGlvbiAgICAgPSBzdm1faW5qZWN0X2V4Y2VwdGlvbiwKICAgICAuaW5pdF9o eXBlcmNhbGxfcGFnZSAgPSBzdm1faW5pdF9oeXBlcmNhbGxfcGFnZSwKICAgICAuZXZlbnRf cGVuZGluZyAgICAgICAgPSBzdm1fZXZlbnRfcGVuZGluZywKZGlmZiAtciBlM2IxM2UxZWNm NmMgeGVuL2FyY2gveDg2L2h2bS92bGFwaWMuYwotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3Zs YXBpYy5jCVRodSBNYXkgMTUgMTU6MTA6MDUgMjAwOCArMDEwMAorKysgYi94ZW4vYXJjaC94 ODYvaHZtL3ZsYXBpYy5jCU1vbiBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAtMDYwMApAQCAtNTM1 LDggKzUzNSw4IEBAIHN0YXRpYyB1aW50MzJfdCB2bGFwaWNfZ2V0X3RtY2N0KHN0cnVjdCAK ICAgICB1aW50MzJfdCB0bWNjdCwgdG1pY3QgPSB2bGFwaWNfZ2V0X3JlZyh2bGFwaWMsIEFQ SUNfVE1JQ1QpOwogICAgIHVpbnQ2NF90IGNvdW50ZXJfcGFzc2VkOwogCi0gICAgY291bnRl cl9wYXNzZWQgPSAoKGh2bV9nZXRfZ3Vlc3RfdGltZSh2KSAtIHZsYXBpYy0+dGltZXJfbGFz dF91cGRhdGUpCi0gICAgICAgICAgICAgICAgICAgICAgKiAxMDAwMDAwMDAwVUxMIC8gdGlj a3NfcGVyX3NlYyh2KQorICAgIGNvdW50ZXJfcGFzc2VkID0gKChodm1fZ2V0X2d1ZXN0X3Rp bWVfbW9ubyh2KSAtIHZsYXBpYy0+dGltZXJfbGFzdF91cGRhdGUpCisgICAgICAgICAgICAg ICAgICAgICAgLyogKiAxMDAwMDAwMDAwVUxMIC8gdGlja3NfcGVyX3NlYyh2KSAqLwogICAg ICAgICAgICAgICAgICAgICAgIC8gQVBJQ19CVVNfQ1lDTEVfTlMgLyB2bGFwaWMtPmh3LnRp bWVyX2Rpdmlzb3IpOwogICAgIHRtY2N0ID0gdG1pY3QgLSBjb3VudGVyX3Bhc3NlZDsKIApA QCAtNjM4LDcgKzYzOCw3IEBAIHN0YXRpYyBpbnQgdmxhcGljX3JlYWQoCiAKIHZvaWQgdmxh cGljX3B0X2NiKHN0cnVjdCB2Y3B1ICp2LCB2b2lkICpkYXRhKQogewotICAgICooc190aW1l X3QgKilkYXRhID0gaHZtX2dldF9ndWVzdF90aW1lKHYpOworICAgICooc190aW1lX3QgKilk YXRhID0gaHZtX2dldF9ndWVzdF90aW1lX21vbm8odik7CiB9CiAKIHN0YXRpYyBpbnQgdmxh cGljX3dyaXRlKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCmRpZmYg LXIgZTNiMTNlMWVjZjZjIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCi0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3ZteC5jCVRodSBNYXkgMTUgMTU6MTA6MDUgMjAwOCArMDEwMAor KysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwlNb24gTWF5IDE5IDEyOjE0OjIyIDIw MDggLTA2MDAKQEAgLTYwNyw3ICs2MDcsNyBAQCBzdGF0aWMgdm9pZCB2bXhfc2F2ZV9jcHVf c3RhdGUoc3RydWN0IHZjCiAgICAgZGF0YS0+bXNyX3N5c2NhbGxfbWFzayA9IGd1ZXN0X3N0 YXRlLT5tc3JzW1ZNWF9JTkRFWF9NU1JfU1lTQ0FMTF9NQVNLXTsKICNlbmRpZgogCi0gICAg ZGF0YS0+dHNjID0gaHZtX2dldF9ndWVzdF90aW1lKHYpOworICAgIGRhdGEtPnRzYyA9IGh2 bV9nZXRfZ3Vlc3RfdHNjKHYpOwogfQogCiBzdGF0aWMgdm9pZCB2bXhfbG9hZF9jcHVfc3Rh dGUoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBodm1faHdfY3B1ICpkYXRhKQpAQCAtNjI1LDcg KzYyNSw3IEBAIHN0YXRpYyB2b2lkIHZteF9sb2FkX2NwdV9zdGF0ZShzdHJ1Y3QgdmMKICAg ICB2LT5hcmNoLmh2bV92bXguc2hhZG93X2dzID0gZGF0YS0+c2hhZG93X2dzOwogI2VuZGlm CiAKLSAgICBodm1fc2V0X2d1ZXN0X3RpbWUodiwgZGF0YS0+dHNjKTsKKyAgICBodm1fc2V0 X2d1ZXN0X3RzYyh2LCBkYXRhLT50c2MpOwogfQogCiAKQEAgLTg2Niw2ICs4NjYsMTEgQEAg c3RhdGljIHZvaWQgdm14X3NldF90c2Nfb2Zmc2V0KHN0cnVjdCB2YwogICAgIF9fdm13cml0 ZShUU0NfT0ZGU0VUX0hJR0gsIG9mZnNldCA+PiAzMik7CiAjZW5kaWYKICAgICB2bXhfdm1j c19leGl0KHYpOworfQorCitzdGF0aWMgdm9pZCB2bXhfc2V0X3RpbWVfb2Zmc2V0KHN0cnVj dCB2Y3B1ICp2LCB1NjQgb2Zmc2V0KQoreworICAgIHYtPmFyY2guaHZtX3ZjcHUuY2FjaGVf dGltZV9vZmZzZXQgPSBvZmZzZXQ7CiB9CiAKIHZvaWQgZG9fbm1pKHN0cnVjdCBjcHVfdXNl cl9yZWdzICopOwpAQCAtMTE4Niw2ICsxMTkxLDcgQEAgc3RhdGljIHN0cnVjdCBodm1fZnVu Y3Rpb25fdGFibGUgdm14X2Z1bgogICAgIC51cGRhdGVfZ3Vlc3RfZWZlciAgICA9IHZteF91 cGRhdGVfZ3Vlc3RfZWZlciwKICAgICAuZmx1c2hfZ3Vlc3RfdGxicyAgICAgPSB2bXhfZmx1 c2hfZ3Vlc3RfdGxicywKICAgICAuc2V0X3RzY19vZmZzZXQgICAgICAgPSB2bXhfc2V0X3Rz Y19vZmZzZXQsCisgICAgLnNldF90aW1lX29mZnNldCAgICAgICA9IHZteF9zZXRfdGltZV9v ZmZzZXQsCiAgICAgLmluamVjdF9leGNlcHRpb24gICAgID0gdm14X2luamVjdF9leGNlcHRp b24sCiAgICAgLmluaXRfaHlwZXJjYWxsX3BhZ2UgID0gdm14X2luaXRfaHlwZXJjYWxsX3Bh Z2UsCiAgICAgLmV2ZW50X3BlbmRpbmcgICAgICAgID0gdm14X2V2ZW50X3BlbmRpbmcsCmRp ZmYgLXIgZTNiMTNlMWVjZjZjIHhlbi9hcmNoL3g4Ni9odm0vdnB0LmMKLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS92cHQuYwlUaHUgTWF5IDE1IDE1OjEwOjA1IDIwMDggKzAxMDAKKysrIGIv eGVuL2FyY2gveDg2L2h2bS92cHQuYwlNb24gTWF5IDE5IDEyOjE0OjIyIDIwMDggLTA2MDAK QEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBwdF9mcmVlemVfdGltZShzdHJ1Y3Qg dmNwdSAqCiAgICAgaWYgKCAhbW9kZV9pcyh2LT5kb21haW4sIGRlbGF5X2Zvcl9taXNzZWRf dGlja3MpICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdi0+YXJjaC5odm1fdmNwdS5ndWVz dF90aW1lID0gaHZtX2dldF9ndWVzdF90aW1lKHYpOworICAgIHYtPmFyY2guaHZtX3ZjcHUu Z3Vlc3RfdGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpOwogfQogCiBzdGF0aWMg dm9pZCBwdF90aGF3X3RpbWUoc3RydWN0IHZjcHUgKnYpCkBAIC0yNjcsNyArMjY3LDcgQEAg dm9pZCBwdF9pbnRyX3Bvc3Qoc3RydWN0IHZjcHUgKnYsIHN0cnVjdAogICAgICAgICBpZiAo IG1vZGVfaXModi0+ZG9tYWluLCBvbmVfbWlzc2VkX3RpY2tfcGVuZGluZykgfHwKICAgICAg ICAgICAgICBtb2RlX2lzKHYtPmRvbWFpbiwgbm9fbWlzc2VkX3RpY2tzX3BlbmRpbmcpICkK ICAgICAgICAgewotICAgICAgICAgICAgcHQtPmxhc3RfcGx0X2d0aW1lID0gaHZtX2dldF9n dWVzdF90aW1lKHYpOworICAgICAgICAgICAgcHQtPmxhc3RfcGx0X2d0aW1lID0gaHZtX2dl dF9ndWVzdF90aW1lX21vbm8odik7CiAgICAgICAgICAgICBwdC0+cGVuZGluZ19pbnRyX25y ID0gMDsgLyogJ2NvbGxhcHNlJyBhbGwgbWlzc2VkIHRpY2tzICovCiAgICAgICAgIH0KICAg ICAgICAgZWxzZQpAQCAtMjc4LDcgKzI3OCw3IEBAIHZvaWQgcHRfaW50cl9wb3N0KHN0cnVj dCB2Y3B1ICp2LCBzdHJ1Y3QKICAgICB9CiAKICAgICBpZiAoIG1vZGVfaXModi0+ZG9tYWlu LCBkZWxheV9mb3JfbWlzc2VkX3RpY2tzKSAmJgotICAgICAgICAgKGh2bV9nZXRfZ3Vlc3Rf dGltZSh2KSA8IHB0LT5sYXN0X3BsdF9ndGltZSkgKQorICAgICAgICAgKGh2bV9nZXRfZ3Vl c3RfdGltZV9tb25vKHYpIDwgcHQtPmxhc3RfcGx0X2d0aW1lKSApCiAgICAgICAgIGh2bV9z ZXRfZ3Vlc3RfdGltZSh2LCBwdC0+bGFzdF9wbHRfZ3RpbWUpOwogCiAgICAgY2IgPSBwdC0+ Y2I7CkBAIC0zMDAsNyArMzAwLDcgQEAgdm9pZCBwdF9yZXNldChzdHJ1Y3QgdmNwdSAqdikK ICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcHQsIGhlYWQsIGxpc3QgKQogICAgIHsKICAg ICAgICAgcHQtPnBlbmRpbmdfaW50cl9uciA9IDA7Ci0gICAgICAgIHB0LT5sYXN0X3BsdF9n dGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZShwdC0+dmNwdSk7CisgICAgICAgIHB0LT5sYXN0 X3BsdF9ndGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHB0LT52Y3B1KTsKICAgICAg ICAgcHQtPnNjaGVkdWxlZCA9IE5PVygpICsgcHQtPnBlcmlvZDsKICAgICAgICAgc2V0X3Rp bWVyKCZwdC0+dGltZXIsIHB0LT5zY2hlZHVsZWQpOwogICAgIH0KQEAgLTM0Niw5ICszNDYs OSBAQCB2b2lkIGNyZWF0ZV9wZXJpb2RpY190aW1lKAogCiAgICAgcHQtPnBlcmlvZCA9IHBl cmlvZDsKICAgICBwdC0+dmNwdSA9IHY7Ci0gICAgcHQtPmxhc3RfcGx0X2d0aW1lID0gaHZt X2dldF9ndWVzdF90aW1lKHB0LT52Y3B1KTsKKyAgICBwdC0+bGFzdF9wbHRfZ3RpbWUgPSBo dm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyhwdC0+dmNwdSk7CiAgICAgcHQtPmlycSA9IGlycTsK LSAgICBwdC0+cGVyaW9kX2N5Y2xlcyA9ICh1NjQpcGVyaW9kICogY3B1X2toeiAvIDEwMDAw MDBMOworICAgIHB0LT5wZXJpb2RfY3ljbGVzID0gKHU2NClwZXJpb2QgLyogKiBjcHVfa2h6 IC8gMTAwMDAwMEwqLzsKICAgICBwdC0+b25lX3Nob3QgPSBvbmVfc2hvdDsKICAgICBwdC0+ c2NoZWR1bGVkID0gTk9XKCkgKyBwZXJpb2Q7CiAgICAgLyoKZGlmZiAtciBlM2IxM2UxZWNm NmMgeGVuL2FyY2gveDg2L3RpbWUuYwotLS0gYS94ZW4vYXJjaC94ODYvdGltZS5jCVRodSBN YXkgMTUgMTU6MTA6MDUgMjAwOCArMDEwMAorKysgYi94ZW4vYXJjaC94ODYvdGltZS5jCU1v biBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAtMDYwMApAQCAtNTM1LDYgKzUzNSw4IEBAIHN0YXRp YyBzX3RpbWVfdCByZWFkX3BsYXRmb3JtX3N0aW1lKHZvaWQKICAgICByZXR1cm4gc3RpbWU7 CiB9CiAKK2V4dGVybiB2b2lkIGdldF9zX3RpbWVfbW9ub19pbml0KHZvaWQpOworCiBzdGF0 aWMgdm9pZCBwbGF0Zm9ybV90aW1lX2NhbGlicmF0aW9uKHZvaWQpCiB7CiAgICAgdTY0IGNv dW50OwpAQCAtNTkzLDYgKzU5NSw3IEBAIHN0YXRpYyB2b2lkIGluaXRfcGxhdGZvcm1fdGlt ZXIodm9pZCkKICAgICBwbHRfb3ZlcmZsb3coTlVMTCk7CiAKICAgICBwbGF0Zm9ybV90aW1l cl9zdGFtcCA9IHBsdF9zdGFtcDY0OworICAgIGdldF9zX3RpbWVfbW9ub19pbml0KCk7CiAK ICAgICBwcmludGsoIlBsYXRmb3JtIHRpbWVyIGlzICVzICVzXG4iLAogICAgICAgICAgICBm cmVxX3N0cmluZyhwdHMtPmZyZXF1ZW5jeSksIHB0cy0+bmFtZSk7CkBAIC03MjgsNiArNzMx LDI5IEBAIHNfdGltZV90IGdldF9zX3RpbWUodm9pZCkKICAgICByZHRzY2xsKHRzYyk7CiAg ICAgZGVsdGEgPSB0c2MgLSB0LT5sb2NhbF90c2Nfc3RhbXA7CiAgICAgbm93ID0gdC0+c3Rp bWVfbG9jYWxfc3RhbXAgKyBzY2FsZV9kZWx0YShkZWx0YSwgJnQtPnRzY19zY2FsZSk7CisK KyAgICByZXR1cm4gbm93OworfQorCitzcGlubG9ja190IGdldF9zX3RpbWVfbW9ub19sb2Nr OworCit2b2lkIGdldF9zX3RpbWVfbW9ub19pbml0KHZvaWQpCit7CisgICAgc3Bpbl9sb2Nr X2luaXQoJmdldF9zX3RpbWVfbW9ub19sb2NrKTsKK30KKworc190aW1lX3QgZ2V0X3NfdGlt ZV9tb25vKHZvaWQpCit7CisgICAgc190aW1lX3Qgbm93OworICAgIHN0YXRpYyBzX3RpbWVf dCBsYXN0ID0gKHNfdGltZV90KTA7CisKKyAgICBzcGluX2xvY2soJmdldF9zX3RpbWVfbW9u b19sb2NrKTsKKyAgICBub3cgPSBnZXRfc190aW1lKCk7CisgICAgaWYgKG5vdyA+IGxhc3Qp CisgICAgICAgIGxhc3QgPSBub3c7CisgICAgZWxzZQorICAgICAgICBub3cgPSBsYXN0Owor ICAgIHNwaW5fdW5sb2NrKCZnZXRfc190aW1lX21vbm9fbG9jayk7CiAKICAgICByZXR1cm4g bm93OwogfQpkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9o dm0uaAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaAlUaHUgTWF5IDE1IDE1 OjEwOjA1IDIwMDggKzAxMDAKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgJ TW9uIE1heSAxOSAxMjoxNDoyMiAyMDA4IC0wNjAwCkBAIC0xMDcsNiArMTA3LDggQEAgc3Ry dWN0IGh2bV9mdW5jdGlvbl90YWJsZSB7CiAKICAgICB2b2lkICgqc2V0X3RzY19vZmZzZXQp KHN0cnVjdCB2Y3B1ICp2LCB1NjQgb2Zmc2V0KTsKIAorICAgIHZvaWQgKCpzZXRfdGltZV9v ZmZzZXQpKHN0cnVjdCB2Y3B1ICp2LCB1NjQgb2Zmc2V0KTsKKwogICAgIHZvaWQgKCppbmpl Y3RfZXhjZXB0aW9uKSh1bnNpZ25lZCBpbnQgdHJhcG5yLCBpbnQgZXJyY29kZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjcjIpOwogCkBAIC0xNDYs OCArMTQ4LDEzIEBAIHZvaWQgaHZtX3NlbmRfYXNzaXN0X3JlcShzdHJ1Y3QgdmNwdSAqdikK IAogdm9pZCBodm1fc2V0X2d1ZXN0X3RzYyhzdHJ1Y3QgdmNwdSAqdiwgdTY0IGd1ZXN0X3Rz Yyk7CiB1NjQgaHZtX2dldF9ndWVzdF90c2Moc3RydWN0IHZjcHUgKnYpOwordm9pZCBodm1f c2V0X2d1ZXN0X3RpbWUoc3RydWN0IHZjcHUgKnYsIHU2NCBndWVzdF90aW1lKTsKK3U2NCBo dm1fZ2V0X2d1ZXN0X3RpbWUoc3RydWN0IHZjcHUgKnYpOwordTY0IGh2bV9nZXRfZ3Vlc3Rf dGltZV9tb25vKHN0cnVjdCB2Y3B1ICp2KTsKKy8qCiAjZGVmaW5lIGh2bV9zZXRfZ3Vlc3Rf dGltZSh2Y3B1LCBndGltZSkgaHZtX3NldF9ndWVzdF90c2ModmNwdSwgZ3RpbWUpCiAjZGVm aW5lIGh2bV9nZXRfZ3Vlc3RfdGltZSh2Y3B1KSAgICAgICAgaHZtX2dldF9ndWVzdF90c2Mo dmNwdSkKKyovCiAKICNkZWZpbmUgaHZtX3BhZ2luZ19lbmFibGVkKHYpIFwKICAgICAoISEo KHYpLT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2NyWzBdICYgWDg2X0NSMF9QRykpCmRpZmYgLXIg ZTNiMTNlMWVjZjZjIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZjcHUuaAotLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS92Y3B1LmgJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICsw MTAwCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZjcHUuaAlNb24gTWF5IDE5IDEy OjE0OjIyIDIwMDggLTA2MDAKQEAgLTUwLDYgKzUwLDcgQEAgc3RydWN0IGh2bV92Y3B1IHsK ICAgICBzdHJ1Y3QgdmxhcGljICAgICAgIHZsYXBpYzsKICAgICBzNjQgICAgICAgICAgICAg ICAgIGNhY2hlX3RzY19vZmZzZXQ7CiAgICAgdTY0ICAgICAgICAgICAgICAgICBndWVzdF90 aW1lOworICAgIHM2NCAgICAgICAgICAgICAgICAgY2FjaGVfdGltZV9vZmZzZXQ7CiAKICAg ICAvKiBMb2NrIGFuZCBsaXN0IGZvciB2aXJ0dWFsIHBsYXRmb3JtIHRpbWVycy4gKi8KICAg ICBzcGlubG9ja190ICAgICAgICAgIHRtX2xvY2s7CmRpZmYgLXIgZTNiMTNlMWVjZjZjIHhl bi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS92bXgvdm14LmgJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaAlNb24gTWF5IDE5IDEyOjE0OjIy IDIwMDggLTA2MDAKQEAgLTQ5LDcgKzQ5LDYgQEAgdm9pZCB2bXhfYXNtX2RvX3ZtZW50cnko dm9pZCk7CiB2b2lkIHZteF9hc21fZG9fdm1lbnRyeSh2b2lkKTsKIHZvaWQgdm14X2ludHJf YXNzaXN0KHZvaWQpOwogdm9pZCB2bXhfZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICopOwotdm9p ZCBzZXRfZ3Vlc3RfdGltZShzdHJ1Y3QgdmNwdSAqdiwgdTY0IGd0aW1lKTsKIHZvaWQgdm14 X3ZsYXBpY19tc3JfY2hhbmdlZChzdHJ1Y3QgdmNwdSAqdik7CiB2b2lkIHZteF9yZWFsbW9k ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CiAKZGlmZiAtciBlM2IxM2UxZWNmNmMg eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdnB0LmgKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9odm0vdnB0LmgJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvaHZtL3ZwdC5oCU1vbiBNYXkgMTkgMTI6MTQ6MjIgMjAwOCAtMDYw MApAQCAtNTcsNyArNTcsNyBAQCB0eXBlZGVmIHN0cnVjdCBIUEVUU3RhdGUgewogdHlwZWRl ZiBzdHJ1Y3QgSFBFVFN0YXRlIHsKICAgICBzdHJ1Y3QgaHBldF9yZWdpc3RlcnMgaHBldDsK ICAgICBzdHJ1Y3QgdmNwdSAqdmNwdTsKLSAgICB1aW50NjRfdCB0c2NfZnJlcTsKKyAgICB1 aW50NjRfdCBzdGltZV9mcmVxOwogICAgIHVpbnQ2NF90IGhwZXRfdG9fbnNfc2NhbGU7IC8q IGhwZXQgdGlja3MgdG8gbnMgKG11bHRpcGxpZWQgYnkgMl4xMCkgKi8KICAgICB1aW50NjRf dCBocGV0X3RvX25zX2xpbWl0OyAvKiBtYXggaHBldCB0aWNrcyBjb252ZXJ0YWJsZSB0byBu cyAgICAgICovCiAgICAgdWludDY0X3QgbWNfb2Zmc2V0OwpkaWZmIC1yIGUzYjEzZTFlY2Y2 YyB4ZW4vaW5jbHVkZS94ZW4vdGltZS5oCi0tLSBhL3hlbi9pbmNsdWRlL3hlbi90aW1lLmgJ VGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL3hlbi90 aW1lLmgJTW9uIE1heSAxOSAxMjoxNDoyMiAyMDA4IC0wNjAwCkBAIC0yNCw2ICsyNCw4IEBA IHN0cnVjdCBkb21haW47CiAgKiBTeXN0ZW0gVGltZQogICogNjQgYml0IHZhbHVlIGNvbnRh aW5pbmcgdGhlIG5hbm9zZWNvbmRzIGVsYXBzZWQgc2luY2UgYm9vdCB0aW1lLgogICogVGhp cyB2YWx1ZSBpcyBhZGp1c3RlZCBieSBmcmVxdWVuY3kgZHJpZnQuCisgKiBtb25vIHZlcnNp b24gZ3VhcmFudGVlcyB0aGF0IGNvbnNlY3V0aXZlIHJlYWRzIGFyZSBub24tZGVjcmVhc2lu ZywKKyAqIChlLmcuIHdoZW4gZmlyc3QgcmVhZCBpcyBvbiBhIGRpZmZlcmVudCBwcm9jZXNz b3IgdGhhbiBzZWNvbmQgcmVhZCkKICAqIE5PVygpIHJldHVybnMgdGhlIGN1cnJlbnQgdGlt ZS4KICAqIFRoZSBvdGhlciBtYWNyb3MgYXJlIGZvciBjb252ZW5pZW5jZSB0byBhcHByb3hp bWF0ZSBzaG9ydCBpbnRlcnZhbHMKICAqIG9mIHJlYWwgdGltZSBpbnRvIHN5c3RlbSB0aW1l IApAQCAtMzIsNiArMzQsNyBAQCB0eXBlZGVmIHM2NCBzX3RpbWVfdDsKIHR5cGVkZWYgczY0 IHNfdGltZV90OwogCiBzX3RpbWVfdCBnZXRfc190aW1lKHZvaWQpOworc190aW1lX3QgZ2V0 X3NfdGltZV9tb25vKHZvaWQpOwogdW5zaWduZWQgbG9uZyBnZXRfbG9jYWx0aW1lKHN0cnVj dCBkb21haW4gKmQpOwogCiBzdHJ1Y3QgdG0gewo= ---------29e65bad29e65bad Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ---------29e65bad29e65bad--