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 18:56:02 -0600 Message-ID: <20080519185602359.00000002648@djm-pc> References: <20080519122702562.00000002648@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------2a9f547b2a9f547b Return-path: In-Reply-To: <20080519122702562.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: "dan.magenheimer@oracle.com" , "Xen-Devel (E-mail)" Cc: Dave Winchell List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------2a9f547b2a9f547b Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 TmV4dCB2ZXJzaW9uIG9mIGd1ZXN0LXZpcnR1YWwtcGxhdGZvcm0tdGltZS1vbi14ZW4tc3lz dGVtLXRpbWUNCmF0dGFjaGVkLiAgVGhpcyB2ZXJzaW9uIHNlZW1zIHRvIHdvcmsgYnV0IGNv dWxkIHVzZSBtb3JlDQp0ZXN0aW5nLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IHhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnNvdXJjZS5jb20NCj4gW21h aWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5zb3VyY2UuY29tXU9uIEJlaGFsZiBP ZiBEYW4NCj4gTWFnZW5oZWltZXINCj4gU2VudDogTW9uZGF5LCBNYXkgMTksIDIwMDggMTI6 MjcgUE0NCj4gVG86IFhlbi1EZXZlbCAoRS1tYWlsKQ0KPiBTdWJqZWN0OiBSRTogW1hlbi1k ZXZlbF0gW1BBVENIXSBbUkZDXSBCdWlsZGluZyBndWVzdHMgb24gDQo+IG1vbm90b25pYyBY ZW4NCj4gc3lzdGVtIHRpbWUNCj4gDQo+IA0KPiBBcyBJIGxvb2sgYXQgdGhpcyBtb3JlLCBJ J20gY29udmluY2luZyBteXNlbGYgdGhhdA0KPiBpdCBtYXkgbm90IG1ha2Ugc2Vuc2UgdG8g YnVpbGQgdGhlIGd1ZXN0IFRTQyBvbiB0b3ANCj4gb2YgWGVuIHN5c3RlbSB0aW1lIGFuZCBv bmx5IHRoZSBndWVzdCB2aXJ0dWFsIHBsYXRmb3JtDQo+IHRpbWVyKHMpIHNob3VsZCBiZSBi dWlsdCBvbiBYZW4gc3lzdGVtIHRpbWUgKGFuZCBzaG91bGQNCj4gYmUgbW9ub3RvbmljYWxs eSBub24tZGVjcmVhc2luZykuDQo+IA0KPiBXaHk/IFNjYWxpbmcgYW5kIGFkanVzdGluZyBv ZiB4ZW4tdGltZS1iYXNlZC10c2Mgd2lsbA0KPiBiZSB2ZXJ5IGRpZmZpY3VsdCB0byBjb29y ZGluYXRlIHdpdGggcHJvY2Vzc29yLWJhc2VkLXRzYy4NCj4gV2UgbmVlZCB0byBhbHdheXMg ZW5zdXJlIHRoYXQgQSA8IEIgPCBDIGZvciBhIGd1ZXN0DQo+IGV4ZWN1dGluZzoNCj4gDQo+ IHJkdHNjKEEpIC8qIHVudHJhcHBlZCAqLw0KPiBlbXVsYXRlZF9yZHRzYyhCKQ0KPiByZHRz YyhDKSAvKiB1bnRyYXBwZWQgKi8NCj4gDQo+IEZ1cnRoZXIsIE9TJ3MgdXNlIFRTQyBhcyBh IGhpZ2hlc3QtcmVzb2x1dGlvbiB0aW1lIHNvdXJjZQ0KPiB3aXRoIGtub3dsZWRnZSB0aGF0 IFRTQ3Mgb24gZGlmZmVyZW50IHByb2Nlc3NvcnMgbWF5DQo+IG5vdCBiZSBzeW5jaHJvbml6 ZWQsIHdoZXJlYXMgdGhleSBhc3N1bWUgdGhhdCBhIHBsYXRmb3JtDQo+IHRpbWVyIGlzIG9u ZS1wZXItc3lzdGVtIGFuZCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuDQo+IA0KPiBLZWly LCBpZiB5b3UgZGlzYWdyZWUgYW5kIHNlZSBndWVzdC1UU0Mtb24tWGVuLXN5c3RlbS10aW1l DQo+IGFzIGFuIGFic29sdXRlIG11c3QsIHBsZWFzZSBsZXQgbWUga25vdy4NCj4gDQo+IFVu Zm9ydHVuYXRlbHksIGh2bV9nZXQvc2V0X3N5c3RlbV90aW1lKCkgYXJlICNkZWZpbmVkIHRv DQo+IGJlIGh2bV9nZXQvc2V0X3N5c3RlbV90c2MoKSBzbyB0aGUgdXNhZ2UgaXMgcHJldHR5 IG11ZGRsZWQuDQo+IEkgdGhpbmsgdGhlIGF0dGFjaGVkIHBhdGNoIGhhcyB0ZWFzZWQgdGhl IHR3byBhcGFydCB0aG91Z2guDQo+IA0KPiBOb3RlIHRoaXMgaXMgc3RpbGwgUkZDLCBub3Qg YSBmaW5pc2hlZCBwYXRjaC4NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiB4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5zb3VyY2UuY29tDQo+ID4g W21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5zb3VyY2UuY29tXU9uIEJlaGFs ZiBPZiBEYW4NCj4gPiBNYWdlbmhlaW1lcg0KPiA+IFNlbnQ6IEZyaWRheSwgTWF5IDE2LCAy MDA4IDExOjMxIEFNDQo+ID4gVG86IFhlbi1EZXZlbCAoRS1tYWlsKQ0KPiA+IFN1YmplY3Q6 IFtYZW4tZGV2ZWxdIFtQQVRDSF0gW1JGQ10gQnVpbGRpbmcgZ3Vlc3RzIG9uIG1vbm90b25p YyBYZW4NCj4gPiBzeXN0ZW0gdGltZQ0KPiA+IA0KPiA+IA0KPiA+IEN1cnJlbnRseSwgaHZt IGd1ZXN0IHBsYXRmb3JtIHRpbWVycyBhcmUgYnVpbHQgb24gdG9wIG9mIHRoZSB0c2MuDQo+ ID4gRXZlbiB0aG91Z2ggdGhlIGd1ZXN0IGJlbGlldmVzIGl0IGlzIHV0aWxpemluZyBhIG1v bm90b25pYyANCj4gdGltZXNvdXJjZQ0KPiA+IChzdWNoIGFzIHBpdCwgaHBldCwgb3IgcG10 aW1lciksIGFsbCBvZiB0aGVzZSBwbHVtYiBkb3duIHRvIGFuDQo+ID4gcmR0c2MgaW5zdHJ1 Y3Rpb24uDQo+ID4gDQo+ID4gU2luY2Ugb24gbWFueSBTTVAgcGxhdGZvcm1zIHRzYydzIGlu IGRpZmZlcmVudCBwcm9jZXNzb3JzIGFyZSBub3QNCj4gPiBzeW5jaHJvbml6ZWQsIFZNcyBy ZS1zY2hlZHVsZWQgZnJvbSBhICJmYXN0IHRzYyIgcHJvY2Vzc29yIHRvDQo+ID4gYSAic2xv dyB0c2MiIHByb2Nlc3NvciBtYXkgZXhwZXJpZW5jZSAidGltZSBnb2luZyBiYWNrd2FyZHMi Lg0KPiA+IFRoaXMgaXMgZGlzY3Vzc2VkIGluIHRoZSBmb2xsb3dpbmcgdGhyZWFkOg0KPiA+ IA0KPiA+IGh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL2FyY2hpdmVzL2h0bWwveGVuLWRl dmVsLzIwMDgtMDQvbXNnDQo+IDAwMjc3Lmh0bWwNCj4gDQo+IFRoZSBmaXggcHJvcG9zZWQg YnkgS2VpciBpcyB0aGF0ICJUaGUgbG9naWMgaW4gdnB0LmMgc2hvdWxkDQo+IGJlIGZpeGVk IHRvIHVzZSBYZW4ncyBjb25jZXB0IG9mIHN5c3RlbSB0aW1lIGFuZCBldmVyeXRoaW5nLA0K PiBndWVzdCBUU0MgaW5jbHVkZWQsIHNob3VsZCBiZSBkZXJpdmVkIGZyb20gdGhhdC4iDQo+ IA0KPiBUaGUgYXR0YWNoZWQgcGF0Y2ggaXMgYSBmaXJzdCBhdHRlbXB0IHRvIGRlcml2ZSBh bGwNCj4gZ3Vlc3QgdGltZXJzIGZyb20gWGVuJ3Mgc3lzdGVtIHRpbWUuLi4gYW5kIGFsc28g dG8gZW5zdXJlDQo+IHRoYXQgc3lzdGVtIHRpbWUgaXMgbm9uLWRlY3JlYXNpbmcuIEkgZG9u J3QgYmVsaWV2ZSB0aGUNCj4gcGF0Y2ggaXMgY29tcGxldGUuLi4gYW5kIHBvc3NpYmx5IG5v dCBldmVuIGNvcnJlY3QuDQo+IEZvciBleGFtcGxlLCBJJ20gY29uY2VybmVkIHRoYXQgWGVu J3Mgc3lzdGVtIHRpbWUgdXNlcw0KPiBkaWZmZXJlbnQgdW5pdHMgdGhhbiBhIGd1ZXN0IHRz YyBhbmQgSSBkb24ndCByZWNhbGwgaWYNCj4gYWxsIGd1ZXN0IHRzYyBhY2Nlc3NlcyBhcmUg dHJhcHBlZC4NCj4gDQo+IERhbg0KPiANCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCj4gVGhhbmtzLi4uIGZvciB0aGUgbWVtb3J5DQo+IEkgcmVhbGx5IGNvdWxk IHVzZSBtb3JlIC8gTXkgdGhyb3VnaHB1dCdzIG9uIHRoZSBmbG9vcg0KPiBUaGUgYmFsbG9v biBpcyBmbGF0IC8gTXkgc3dhcCBkaXNrJ3MgZmF0IC8gSSd2ZSBPT00ncyBpbiBzdG9yZQ0K PiBPdmVyY29tbWl0dGVkIHNvIG11Y2gNCj4gKHdpdGggYXBvbG9naWVzIHRvIHRoZSBsYXRl IGdyZWF0IEJvYiBIb3BlKQ0KPiA= ---------2a9f547b2a9f547b Content-Type: application/octet-stream; name="hvmstime5.patch" Content-Disposition: attachment; filename="hvmstime5.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBlM2IxM2UxZWNmNmMgeGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKLS0tIGEveGVu L2FyY2gveDg2L2h2bS9ocGV0LmMJVGh1IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vaHBldC5jCU1vbiBNYXkgMTkgMTY6MzA6NTcgMjAwOCAt 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 KysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwlNb24gTWF5IDE5IDE2OjMwOjU3IDIwMDgg 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 KyBiL3hlbi9hcmNoL3g4Ni9odm0vaTgyNTQuYwlNb24gTWF5IDE5IDE2OjMwOjU3IDIwMDgg LTA2MDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx4ZW4vbGliLmg+CiAjaW5jbHVk ZSA8eGVuL2Vycm5vLmg+CiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CisjaW5jbHVkZSA8YXNt L3RpbWUuaD4KICNpbmNsdWRlIDxhc20vaHZtL2h2bS5oPgogI2luY2x1ZGUgPGFzbS9odm0v aW8uaD4KICNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4KQEAgLTg2LDggKzg3LDggQEAg c3RhdGljIGludCBwaXRfZ2V0X2NvdW50KFBJVFN0YXRlICpwaXQsIAogCiAgICAgQVNTRVJU KHNwaW5faXNfbG9ja2VkKCZwaXQtPmxvY2spKTsKIAotICAgIGQgPSBtdWxkaXY2NChodm1f Z2V0X2d1ZXN0X3RpbWUodikgLSBwaXQtPmNvdW50X2xvYWRfdGltZVtjaGFubmVsXSwKLSAg ICAgICAgICAgICAgICAgUElUX0ZSRVEsIHRpY2tzX3Blcl9zZWModikpOworICAgIGQgPSBt dWxkaXY2NChodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyh2KSAtIHBpdC0+Y291bnRfbG9hZF90 aW1lW2NoYW5uZWxdLAorICAgICAgICAgICAgICAgICBQSVRfRlJFUSwgc190aWNrc19wZXJf c2VjKHYpKTsKIAogICAgIHN3aXRjaCAoIGMtPm1vZGUgKQogICAgIHsKQEAgLTExNyw4ICsx MTgsOCBAQCBzdGF0aWMgaW50IHBpdF9nZXRfb3V0KFBJVFN0YXRlICpwaXQsIGluCiAKICAg ICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJnBpdC0+bG9jaykpOwogCi0gICAgZCA9IG11bGRp djY0KGh2bV9nZXRfZ3Vlc3RfdGltZSh2KSAtIHBpdC0+Y291bnRfbG9hZF90aW1lW2NoYW5u ZWxdLCAKLSAgICAgICAgICAgICAgICAgUElUX0ZSRVEsIHRpY2tzX3Blcl9zZWModikpOwor ICAgIGQgPSBtdWxkaXY2NChodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyh2KSAtIHBpdC0+Y291 bnRfbG9hZF90aW1lW2NoYW5uZWxdLCAKKyAgICAgICAgICAgICAgICAgUElUX0ZSRVEsIHNf dGlja3NfcGVyX3NlYyh2KSk7CiAKICAgICBzd2l0Y2ggKCBzLT5tb2RlICkKICAgICB7CkBA IC0xNjQsNyArMTY1LDcgQEAgc3RhdGljIHZvaWQgcGl0X3NldF9nYXRlKFBJVFN0YXRlICpw aXQsIAogICAgIGNhc2UgMzoKICAgICAgICAgLyogUmVzdGFydCBjb3VudGluZyBvbiByaXNp bmcgZWRnZS4gKi8KICAgICAgICAgaWYgKCBzLT5nYXRlIDwgdmFsICkKLSAgICAgICAgICAg IHBpdC0+Y291bnRfbG9hZF90aW1lW2NoYW5uZWxdID0gaHZtX2dldF9ndWVzdF90aW1lKHYp OworICAgICAgICAgICAgcGl0LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0gPSBodm1fZ2V0 X2d1ZXN0X3RpbWVfbW9ubyh2KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xODAs NyArMTgxLDcgQEAgc3RhdGljIHZvaWQgcGl0X3RpbWVfZmlyZWQoc3RydWN0IHZjcHUgKgog c3RhdGljIHZvaWQgcGl0X3RpbWVfZmlyZWQoc3RydWN0IHZjcHUgKnYsIHZvaWQgKnByaXYp CiB7CiAgICAgdWludDY0X3QgKmNvdW50X2xvYWRfdGltZSA9IHByaXY7Ci0gICAgKmNvdW50 X2xvYWRfdGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZSh2KTsKKyAgICAqY291bnRfbG9hZF90 aW1lID0gaHZtX2dldF9ndWVzdF90aW1lX21vbm8odik7CiB9CiAKIHN0YXRpYyB2b2lkIHBp dF9sb2FkX2NvdW50KFBJVFN0YXRlICpwaXQsIGludCBjaGFubmVsLCBpbnQgdmFsKQpAQCAt MTk1LDExICsxOTYsMTEgQEAgc3RhdGljIHZvaWQgcGl0X2xvYWRfY291bnQoUElUU3RhdGUg KnBpdAogICAgICAgICB2YWwgPSAweDEwMDAwOwogCiAgICAgaWYgKCB2ID09IE5VTEwgKQot ICAgICAgICByZHRzY2xsKHBpdC0+Y291bnRfbG9hZF90aW1lW2NoYW5uZWxdKTsKKyAgICAg ICAgcGl0LT5jb3VudF9sb2FkX3RpbWVbY2hhbm5lbF0gPSAwOyAvKiBGSVhNRT8gKi8KICAg ICBlbHNlCi0gICAgICAgIHBpdC0+Y291bnRfbG9hZF90aW1lW2NoYW5uZWxdID0gaHZtX2dl dF9ndWVzdF90aW1lKHYpOworICAgICAgICBwaXQtPmNvdW50X2xvYWRfdGltZVtjaGFubmVs XSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpOwogICAgIHMtPmNvdW50ID0gdmFsOwot ICAgIHBlcmlvZCA9IERJVl9ST1VORCgodmFsICogMTAwMDAwMDAwMFVMTCksIFBJVF9GUkVR KTsKKyAgICBwZXJpb2QgPSBESVZfUk9VTkQoKHZhbCAqIHNfdGlja3NfcGVyX3NlYyh2KSks IFBJVF9GUkVRKTsKIAogICAgIGlmICggKHYgPT0gTlVMTCkgfHwgIWlzX2h2bV92Y3B1KHYp IHx8IChjaGFubmVsICE9IDApICkKICAgICAgICAgcmV0dXJuOwpAQCAtNDM1LDcgKzQzNiw3 IEBAIHN0YXRpYyBpbnQgcGl0X2xvYWQoc3RydWN0IGRvbWFpbiAqZCwgaHYKICAgICAgKiB0 aW1lIGppdHRlciBoZXJlLCBidXQgdGhlIHdhbGwtY2xvY2sgd2lsbCBoYXZlIGp1bXBlZCBt YXNzaXZlbHksIHNvIAogICAgICAqIHdlIGhvcGUgdGhlIGd1ZXN0IGNhbiBoYW5kbGUgaXQu CiAgICAgICovCi0gICAgcGl0LT5wdDAubGFzdF9wbHRfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0 X3RpbWUoZC0+dmNwdVswXSk7CisgICAgcGl0LT5wdDAubGFzdF9wbHRfZ3RpbWUgPSBodm1f Z2V0X2d1ZXN0X3RpbWVfbW9ubyhkLT52Y3B1WzBdKTsKICAgICBmb3IgKCBpID0gMDsgaSA8 IDM7IGkrKyApCiAgICAgICAgIHBpdF9sb2FkX2NvdW50KHBpdCwgaSwgcGl0LT5ody5jaGFu bmVsc1tpXS5jb3VudCk7CiAKZGlmZiAtciBlM2IxM2UxZWNmNmMgeGVuL2FyY2gveDg2L2h2 bS9wbXRpbWVyLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9wbXRpbWVyLmMJVGh1IE1heSAx NSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vcG10aW1lci5j CU1vbiBNYXkgMTkgMTY6MzA6NTcgMjAwOCAtMDYwMApAQCAtNzEsNyArNzEsNyBAQCBzdGF0 aWMgdm9pZCBwbXRfdXBkYXRlX3RpbWUoUE1UU3RhdGUgKnMpCiAgICAgQVNTRVJUKHNwaW5f aXNfbG9ja2VkKCZzLT5sb2NrKSk7CiAKICAgICAvKiBVcGRhdGUgdGhlIHRpbWVyICovCi0g ICAgY3Vycl9ndGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZShzLT52Y3B1KTsKKyAgICBjdXJy X2d0aW1lID0gaHZtX2dldF9ndWVzdF90aW1lX21vbm8ocy0+dmNwdSk7CiAgICAgcy0+cG0u dG1yX3ZhbCArPSAoKGN1cnJfZ3RpbWUgLSBzLT5sYXN0X2d0aW1lKSAqIHMtPnNjYWxlKSA+ PiAzMjsKICAgICBzLT5wbS50bXJfdmFsICY9IFRNUl9WQUxfTUFTSzsKICAgICBzLT5sYXN0 X2d0aW1lID0gY3Vycl9ndGltZTsKQEAgLTIzOCw3ICsyMzgsNyBAQCBzdGF0aWMgaW50IHBt dGltZXJfbG9hZChzdHJ1Y3QgZG9tYWluICpkCiAgICAgfQogCiAgICAgLyogQ2FsY3VsYXRl IGZ1dHVyZSBjb3VudGVyIHZhbHVlcyBmcm9tIG5vdy4gKi8KLSAgICBzLT5sYXN0X2d0aW1l ID0gaHZtX2dldF9ndWVzdF90aW1lKHMtPnZjcHUpOworICAgIHMtPmxhc3RfZ3RpbWUgPSBo dm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyhzLT52Y3B1KTsKIAogICAgIC8qIFNldCB0aGUgU0NJ IHN0YXRlIGZyb20gdGhlIHJlZ2lzdGVycyAqLyAKICAgICBwbXRfdXBkYXRlX3NjaShzKTsK QEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIHBtdGltZXJfaW5pdChzdHJ1Y3QgdmNwdSAqdikK IAogICAgIHNwaW5fbG9ja19pbml0KCZzLT5sb2NrKTsKIAotICAgIHMtPnNjYWxlID0gKCh1 aW50NjRfdClGUkVRVUVOQ0VfUE1USU1FUiA8PCAzMikgLyB0aWNrc19wZXJfc2VjKHYpOwor ICAgIHMtPnNjYWxlID0gKCh1aW50NjRfdClGUkVRVUVOQ0VfUE1USU1FUiA8PCAzMikgLyBz X3RpY2tzX3Blcl9zZWModik7CiAgICAgcy0+dmNwdSA9IHY7CiAKICAgICAvKiBJbnRlcmNl cHQgcG9ydCBJL08gKG5lZWQgdHdvIGhhbmRsZXJzIGJlY2F1c2UgUE0xYV9DTlQgaXMgYmV0 d2VlbgpkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwot LS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwlUaHUgTWF5IDE1IDE1OjEwOjA1IDIw MDggKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMJTW9uIE1heSAxOSAx NjozMDo1NyAyMDA4IC0wNjAwCkBAIC0yOTksNyArMjk5LDcgQEAgc3RhdGljIHZvaWQgc3Zt X3NhdmVfY3B1X3N0YXRlKHN0cnVjdCB2YwogICAgIGRhdGEtPm1zcl9lZmVyICAgICAgICAg PSB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2VmZXI7CiAgICAgZGF0YS0+bXNyX2ZsYWdzICAg ICAgICA9IC0xVUxMOwogCi0gICAgZGF0YS0+dHNjID0gaHZtX2dldF9ndWVzdF90aW1lKHYp OworICAgIGRhdGEtPnRzYyA9IGh2bV9nZXRfZ3Vlc3RfdHNjKHYpOwogfQogCiAKQEAgLTMx NSw3ICszMTUsNyBAQCBzdGF0aWMgdm9pZCBzdm1fbG9hZF9jcHVfc3RhdGUoc3RydWN0IHZj CiAgICAgdi0+YXJjaC5odm1fdmNwdS5ndWVzdF9lZmVyID0gZGF0YS0+bXNyX2VmZXI7CiAg ICAgc3ZtX3VwZGF0ZV9ndWVzdF9lZmVyKHYpOwogCi0gICAgaHZtX3NldF9ndWVzdF90aW1l KHYsIGRhdGEtPnRzYyk7CisgICAgaHZtX3NldF9ndWVzdF90c2ModiwgZGF0YS0+dHNjKTsK IH0KIAogc3RhdGljIHZvaWQgc3ZtX3NhdmVfdm1jYl9jdHh0KHN0cnVjdCB2Y3B1ICp2LCBz dHJ1Y3QgaHZtX2h3X2NwdSAqY3R4dCkKQEAgLTU4Myw2ICs1ODMsMTIgQEAgc3RhdGljIHZv aWQgc3ZtX3NldF90c2Nfb2Zmc2V0KHN0cnVjdCB2YwogICAgIHYtPmFyY2guaHZtX3N2bS52 bWNiLT50c2Nfb2Zmc2V0ID0gb2Zmc2V0OwogfQogCisKK3N0YXRpYyB2b2lkIHN2bV9zZXRf dGltZV9vZmZzZXQoc3RydWN0IHZjcHUgKnYsIHU2NCBvZmZzZXQpCit7CisgICAgdi0+YXJj aC5odm1fdmNwdS5jYWNoZV90aW1lX29mZnNldCA9IG9mZnNldDsKK30KKwogc3RhdGljIHZv aWQgc3ZtX2luaXRfaHlwZXJjYWxsX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqaHlw ZXJjYWxsX3BhZ2UpCiB7CiAgICAgY2hhciAqcDsKQEAgLTc5MCw2ICs3OTYsNyBAQCBzdGF0 aWMgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSBzdm1fZnVuCiAgICAgLnVwZGF0ZV9ndWVz dF9lZmVyICAgID0gc3ZtX3VwZGF0ZV9ndWVzdF9lZmVyLAogICAgIC5mbHVzaF9ndWVzdF90 bGJzICAgICA9IHN2bV9mbHVzaF9ndWVzdF90bGJzLAogICAgIC5zZXRfdHNjX29mZnNldCAg ICAgICA9IHN2bV9zZXRfdHNjX29mZnNldCwKKyAgICAuc2V0X3RpbWVfb2Zmc2V0ICAgICAg PSBzdm1fc2V0X3RpbWVfb2Zmc2V0LAogICAgIC5pbmplY3RfZXhjZXB0aW9uICAgICA9IHN2 bV9pbmplY3RfZXhjZXB0aW9uLAogICAgIC5pbml0X2h5cGVyY2FsbF9wYWdlICA9IHN2bV9p bml0X2h5cGVyY2FsbF9wYWdlLAogICAgIC5ldmVudF9wZW5kaW5nICAgICAgICA9IHN2bV9l dmVudF9wZW5kaW5nLApkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4vYXJjaC94ODYvaHZtL3Zs YXBpYy5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMJVGh1IE1heSAxNSAxNTox MDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMJTW9uIE1h eSAxOSAxNjozMDo1NyAyMDA4IC0wNjAwCkBAIC01MzUsOCArNTM1LDcgQEAgc3RhdGljIHVp bnQzMl90IHZsYXBpY19nZXRfdG1jY3Qoc3RydWN0IAogICAgIHVpbnQzMl90IHRtY2N0LCB0 bWljdCA9IHZsYXBpY19nZXRfcmVnKHZsYXBpYywgQVBJQ19UTUlDVCk7CiAgICAgdWludDY0 X3QgY291bnRlcl9wYXNzZWQ7CiAKLSAgICBjb3VudGVyX3Bhc3NlZCA9ICgoaHZtX2dldF9n dWVzdF90aW1lKHYpIC0gdmxhcGljLT50aW1lcl9sYXN0X3VwZGF0ZSkKLSAgICAgICAgICAg ICAgICAgICAgICAqIDEwMDAwMDAwMDBVTEwgLyB0aWNrc19wZXJfc2VjKHYpCisgICAgY291 bnRlcl9wYXNzZWQgPSAoKGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpIC0gdmxhcGljLT50 aW1lcl9sYXN0X3VwZGF0ZSkKICAgICAgICAgICAgICAgICAgICAgICAvIEFQSUNfQlVTX0NZ Q0xFX05TIC8gdmxhcGljLT5ody50aW1lcl9kaXZpc29yKTsKICAgICB0bWNjdCA9IHRtaWN0 IC0gY291bnRlcl9wYXNzZWQ7CiAKQEAgLTYzOCw3ICs2MzcsNyBAQCBzdGF0aWMgaW50IHZs YXBpY19yZWFkKAogCiB2b2lkIHZsYXBpY19wdF9jYihzdHJ1Y3QgdmNwdSAqdiwgdm9pZCAq ZGF0YSkKIHsKLSAgICAqKHNfdGltZV90ICopZGF0YSA9IGh2bV9nZXRfZ3Vlc3RfdGltZSh2 KTsKKyAgICAqKHNfdGltZV90ICopZGF0YSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYp OwogfQogCiBzdGF0aWMgaW50IHZsYXBpY193cml0ZShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgbG9uZyBhZGRyZXNzLApkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4vYXJjaC94ODYvaHZt L3ZteC92bXguYwotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwlUaHUgTWF5IDE1 IDE1OjEwOjA1IDIwMDggKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMJ TW9uIE1heSAxOSAxNjozMDo1NyAyMDA4IC0wNjAwCkBAIC02MDcsNyArNjA3LDcgQEAgc3Rh dGljIHZvaWQgdm14X3NhdmVfY3B1X3N0YXRlKHN0cnVjdCB2YwogICAgIGRhdGEtPm1zcl9z eXNjYWxsX21hc2sgPSBndWVzdF9zdGF0ZS0+bXNyc1tWTVhfSU5ERVhfTVNSX1NZU0NBTExf TUFTS107CiAjZW5kaWYKIAotICAgIGRhdGEtPnRzYyA9IGh2bV9nZXRfZ3Vlc3RfdGltZSh2 KTsKKyAgICBkYXRhLT50c2MgPSBodm1fZ2V0X2d1ZXN0X3RzYyh2KTsKIH0KIAogc3RhdGlj IHZvaWQgdm14X2xvYWRfY3B1X3N0YXRlKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgaHZtX2h3 X2NwdSAqZGF0YSkKQEAgLTYyNSw3ICs2MjUsNyBAQCBzdGF0aWMgdm9pZCB2bXhfbG9hZF9j cHVfc3RhdGUoc3RydWN0IHZjCiAgICAgdi0+YXJjaC5odm1fdm14LnNoYWRvd19ncyA9IGRh dGEtPnNoYWRvd19nczsKICNlbmRpZgogCi0gICAgaHZtX3NldF9ndWVzdF90aW1lKHYsIGRh dGEtPnRzYyk7CisgICAgaHZtX3NldF9ndWVzdF90c2ModiwgZGF0YS0+dHNjKTsKIH0KIAog CkBAIC04NjYsNiArODY2LDExIEBAIHN0YXRpYyB2b2lkIHZteF9zZXRfdHNjX29mZnNldChz dHJ1Y3QgdmMKICAgICBfX3Ztd3JpdGUoVFNDX09GRlNFVF9ISUdILCBvZmZzZXQgPj4gMzIp OwogI2VuZGlmCiAgICAgdm14X3ZtY3NfZXhpdCh2KTsKK30KKworc3RhdGljIHZvaWQgdm14 X3NldF90aW1lX29mZnNldChzdHJ1Y3QgdmNwdSAqdiwgdTY0IG9mZnNldCkKK3sKKyAgICB2 LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RpbWVfb2Zmc2V0ID0gb2Zmc2V0OwogfQogCiB2b2lk IGRvX25taShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqKTsKQEAgLTExODYsNiArMTE5MSw3IEBA IHN0YXRpYyBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHZteF9mdW4KICAgICAudXBkYXRl X2d1ZXN0X2VmZXIgICAgPSB2bXhfdXBkYXRlX2d1ZXN0X2VmZXIsCiAgICAgLmZsdXNoX2d1 ZXN0X3RsYnMgICAgID0gdm14X2ZsdXNoX2d1ZXN0X3RsYnMsCiAgICAgLnNldF90c2Nfb2Zm c2V0ICAgICAgID0gdm14X3NldF90c2Nfb2Zmc2V0LAorICAgIC5zZXRfdGltZV9vZmZzZXQg ICAgICAgPSB2bXhfc2V0X3RpbWVfb2Zmc2V0LAogICAgIC5pbmplY3RfZXhjZXB0aW9uICAg ICA9IHZteF9pbmplY3RfZXhjZXB0aW9uLAogICAgIC5pbml0X2h5cGVyY2FsbF9wYWdlICA9 IHZteF9pbml0X2h5cGVyY2FsbF9wYWdlLAogICAgIC5ldmVudF9wZW5kaW5nICAgICAgICA9 IHZteF9ldmVudF9wZW5kaW5nLApkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4vYXJjaC94ODYv aHZtL3ZwdC5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdnB0LmMJVGh1IE1heSAxNSAxNTox MDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdnB0LmMJTW9uIE1heSAx OSAxNjozMDo1NyAyMDA4IC0wNjAwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHZvaWQg cHRfZnJlZXplX3RpbWUoc3RydWN0IHZjcHUgKgogICAgIGlmICggIW1vZGVfaXModi0+ZG9t YWluLCBkZWxheV9mb3JfbWlzc2VkX3RpY2tzKSApCiAgICAgICAgIHJldHVybjsKIAotICAg IHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfdGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZSh2KTsK KyAgICB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWVf bW9ubyh2KTsKIH0KIAogc3RhdGljIHZvaWQgcHRfdGhhd190aW1lKHN0cnVjdCB2Y3B1ICp2 KQpAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgcHRfaW50cl9wb3N0KHN0cnVjdCB2Y3B1ICp2 LCBzdHJ1Y3QKICAgICAgICAgaWYgKCBtb2RlX2lzKHYtPmRvbWFpbiwgb25lX21pc3NlZF90 aWNrX3BlbmRpbmcpIHx8CiAgICAgICAgICAgICAgbW9kZV9pcyh2LT5kb21haW4sIG5vX21p c3NlZF90aWNrc19wZW5kaW5nKSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHB0LT5sYXN0 X3BsdF9ndGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZSh2KTsKKyAgICAgICAgICAgIHB0LT5s YXN0X3BsdF9ndGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZV9tb25vKHYpOwogICAgICAgICAg ICAgcHQtPnBlbmRpbmdfaW50cl9uciA9IDA7IC8qICdjb2xsYXBzZScgYWxsIG1pc3NlZCB0 aWNrcyAqLwogICAgICAgICB9CiAgICAgICAgIGVsc2UKQEAgLTI3OCw3ICsyNzgsNyBAQCB2 b2lkIHB0X2ludHJfcG9zdChzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0CiAgICAgfQogCiAgICAg aWYgKCBtb2RlX2lzKHYtPmRvbWFpbiwgZGVsYXlfZm9yX21pc3NlZF90aWNrcykgJiYKLSAg ICAgICAgIChodm1fZ2V0X2d1ZXN0X3RpbWUodikgPCBwdC0+bGFzdF9wbHRfZ3RpbWUpICkK KyAgICAgICAgIChodm1fZ2V0X2d1ZXN0X3RpbWVfbW9ubyh2KSA8IHB0LT5sYXN0X3BsdF9n dGltZSkgKQogICAgICAgICBodm1fc2V0X2d1ZXN0X3RpbWUodiwgcHQtPmxhc3RfcGx0X2d0 aW1lKTsKIAogICAgIGNiID0gcHQtPmNiOwpAQCAtMzAwLDcgKzMwMCw3IEBAIHZvaWQgcHRf cmVzZXQoc3RydWN0IHZjcHUgKnYpCiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHB0LCBo ZWFkLCBsaXN0ICkKICAgICB7CiAgICAgICAgIHB0LT5wZW5kaW5nX2ludHJfbnIgPSAwOwot ICAgICAgICBwdC0+bGFzdF9wbHRfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWUocHQtPnZj cHUpOworICAgICAgICBwdC0+bGFzdF9wbHRfZ3RpbWUgPSBodm1fZ2V0X2d1ZXN0X3RpbWVf bW9ubyhwdC0+dmNwdSk7CiAgICAgICAgIHB0LT5zY2hlZHVsZWQgPSBOT1coKSArIHB0LT5w ZXJpb2Q7CiAgICAgICAgIHNldF90aW1lcigmcHQtPnRpbWVyLCBwdC0+c2NoZWR1bGVkKTsK ICAgICB9CkBAIC0zNDYsOSArMzQ2LDkgQEAgdm9pZCBjcmVhdGVfcGVyaW9kaWNfdGltZSgK IAogICAgIHB0LT5wZXJpb2QgPSBwZXJpb2Q7CiAgICAgcHQtPnZjcHUgPSB2OwotICAgIHB0 LT5sYXN0X3BsdF9ndGltZSA9IGh2bV9nZXRfZ3Vlc3RfdGltZShwdC0+dmNwdSk7CisgICAg cHQtPmxhc3RfcGx0X2d0aW1lID0gaHZtX2dldF9ndWVzdF90aW1lX21vbm8ocHQtPnZjcHUp OwogICAgIHB0LT5pcnEgPSBpcnE7Ci0gICAgcHQtPnBlcmlvZF9jeWNsZXMgPSAodTY0KXBl cmlvZCAqIGNwdV9raHogLyAxMDAwMDAwTDsKKyAgICBwdC0+cGVyaW9kX2N5Y2xlcyA9ICh1 NjQpcGVyaW9kOwogICAgIHB0LT5vbmVfc2hvdCA9IG9uZV9zaG90OwogICAgIHB0LT5zY2hl ZHVsZWQgPSBOT1coKSArIHBlcmlvZDsKICAgICAvKgpkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4 ZW4vYXJjaC94ODYvdGltZS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni90aW1lLmMJVGh1IE1heSAx NSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMJTW9uIE1h eSAxOSAxNjozMDo1NyAyMDA4IC0wNjAwCkBAIC01MzUsNiArNTM1LDggQEAgc3RhdGljIHNf dGltZV90IHJlYWRfcGxhdGZvcm1fc3RpbWUodm9pZAogICAgIHJldHVybiBzdGltZTsKIH0K IAorZXh0ZXJuIHZvaWQgZ2V0X3NfdGltZV9tb25vX2luaXQodm9pZCk7CisKIHN0YXRpYyB2 b2lkIHBsYXRmb3JtX3RpbWVfY2FsaWJyYXRpb24odm9pZCkKIHsKICAgICB1NjQgY291bnQ7 CkBAIC01OTMsNiArNTk1LDcgQEAgc3RhdGljIHZvaWQgaW5pdF9wbGF0Zm9ybV90aW1lcih2 b2lkKQogICAgIHBsdF9vdmVyZmxvdyhOVUxMKTsKIAogICAgIHBsYXRmb3JtX3RpbWVyX3N0 YW1wID0gcGx0X3N0YW1wNjQ7CisgICAgZ2V0X3NfdGltZV9tb25vX2luaXQoKTsKIAogICAg IHByaW50aygiUGxhdGZvcm0gdGltZXIgaXMgJXMgJXNcbiIsCiAgICAgICAgICAgIGZyZXFf c3RyaW5nKHB0cy0+ZnJlcXVlbmN5KSwgcHRzLT5uYW1lKTsKQEAgLTcyOCw2ICs3MzEsMjkg QEAgc190aW1lX3QgZ2V0X3NfdGltZSh2b2lkKQogICAgIHJkdHNjbGwodHNjKTsKICAgICBk ZWx0YSA9IHRzYyAtIHQtPmxvY2FsX3RzY19zdGFtcDsKICAgICBub3cgPSB0LT5zdGltZV9s b2NhbF9zdGFtcCArIHNjYWxlX2RlbHRhKGRlbHRhLCAmdC0+dHNjX3NjYWxlKTsKKworICAg IHJldHVybiBub3c7Cit9CisKK3NwaW5sb2NrX3QgZ2V0X3NfdGltZV9tb25vX2xvY2s7CisK K3ZvaWQgZ2V0X3NfdGltZV9tb25vX2luaXQodm9pZCkKK3sKKyAgICBzcGluX2xvY2tfaW5p dCgmZ2V0X3NfdGltZV9tb25vX2xvY2spOworfQorCitzX3RpbWVfdCBnZXRfc190aW1lX21v bm8odm9pZCkKK3sKKyAgICBzX3RpbWVfdCBub3c7CisgICAgc3RhdGljIHNfdGltZV90IGxh c3QgPSAoc190aW1lX3QpMDsKKworICAgIHNwaW5fbG9jaygmZ2V0X3NfdGltZV9tb25vX2xv Y2spOworICAgIG5vdyA9IGdldF9zX3RpbWUoKTsKKyAgICBpZiAobm93ID4gbGFzdCkKKyAg ICAgICAgbGFzdCA9IG5vdzsKKyAgICBlbHNlCisgICAgICAgIG5vdyA9IGxhc3Q7CisgICAg c3Bpbl91bmxvY2soJmdldF9zX3RpbWVfbW9ub19sb2NrKTsKIAogICAgIHJldHVybiBub3c7 CiB9CmRpZmYgLXIgZTNiMTNlMWVjZjZjIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5o Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCVRodSBNYXkgMTUgMTU6MTA6 MDUgMjAwOCArMDEwMAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaAlNb24g TWF5IDE5IDE2OjMwOjU3IDIwMDggLTA2MDAKQEAgLTEwNyw2ICsxMDcsOCBAQCBzdHJ1Y3Qg aHZtX2Z1bmN0aW9uX3RhYmxlIHsKIAogICAgIHZvaWQgKCpzZXRfdHNjX29mZnNldCkoc3Ry dWN0IHZjcHUgKnYsIHU2NCBvZmZzZXQpOwogCisgICAgdm9pZCAoKnNldF90aW1lX29mZnNl dCkoc3RydWN0IHZjcHUgKnYsIHU2NCBvZmZzZXQpOworCiAgICAgdm9pZCAoKmluamVjdF9l eGNlcHRpb24pKHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2RlLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyMik7CiAKQEAgLTE0Niw4ICsx NDgsMTMgQEAgdm9pZCBodm1fc2VuZF9hc3Npc3RfcmVxKHN0cnVjdCB2Y3B1ICp2KQogCiB2 b2lkIGh2bV9zZXRfZ3Vlc3RfdHNjKHN0cnVjdCB2Y3B1ICp2LCB1NjQgZ3Vlc3RfdHNjKTsK IHU2NCBodm1fZ2V0X2d1ZXN0X3RzYyhzdHJ1Y3QgdmNwdSAqdik7Cit2b2lkIGh2bV9zZXRf Z3Vlc3RfdGltZShzdHJ1Y3QgdmNwdSAqdiwgdTY0IGd1ZXN0X3RpbWUpOwordTY0IGh2bV9n ZXRfZ3Vlc3RfdGltZShzdHJ1Y3QgdmNwdSAqdik7Cit1NjQgaHZtX2dldF9ndWVzdF90aW1l X21vbm8oc3RydWN0IHZjcHUgKnYpOworLyoKICNkZWZpbmUgaHZtX3NldF9ndWVzdF90aW1l KHZjcHUsIGd0aW1lKSBodm1fc2V0X2d1ZXN0X3RzYyh2Y3B1LCBndGltZSkKICNkZWZpbmUg aHZtX2dldF9ndWVzdF90aW1lKHZjcHUpICAgICAgICBodm1fZ2V0X2d1ZXN0X3RzYyh2Y3B1 KQorKi8KIAogI2RlZmluZSBodm1fcGFnaW5nX2VuYWJsZWQodikgXAogICAgICghISgodikt PmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMF0gJiBYODZfQ1IwX1BHKSkKZGlmZiAtciBlM2Ix M2UxZWNmNmMgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmNwdS5oCi0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3ZjcHUuaAlUaHUgTWF5IDE1IDE1OjEwOjA1IDIwMDggKzAxMDAK KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmNwdS5oCU1vbiBNYXkgMTkgMTY6MzA6 NTcgMjAwOCAtMDYwMApAQCAtNTAsNiArNTAsNyBAQCBzdHJ1Y3QgaHZtX3ZjcHUgewogICAg IHN0cnVjdCB2bGFwaWMgICAgICAgdmxhcGljOwogICAgIHM2NCAgICAgICAgICAgICAgICAg Y2FjaGVfdHNjX29mZnNldDsKICAgICB1NjQgICAgICAgICAgICAgICAgIGd1ZXN0X3RpbWU7 CisgICAgczY0ICAgICAgICAgICAgICAgICBjYWNoZV90aW1lX29mZnNldDsKIAogICAgIC8q IExvY2sgYW5kIGxpc3QgZm9yIHZpcnR1YWwgcGxhdGZvcm0gdGltZXJzLiAqLwogICAgIHNw aW5sb2NrX3QgICAgICAgICAgdG1fbG9jazsKZGlmZiAtciBlM2IxM2UxZWNmNmMgeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL3ZteC92bXguaAlUaHUgTWF5IDE1IDE1OjEwOjA1IDIwMDggKzAxMDAKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCU1vbiBNYXkgMTkgMTY6MzA6NTcgMjAw OCAtMDYwMApAQCAtNDksNyArNDksNiBAQCB2b2lkIHZteF9hc21fZG9fdm1lbnRyeSh2b2lk KTsKIHZvaWQgdm14X2FzbV9kb192bWVudHJ5KHZvaWQpOwogdm9pZCB2bXhfaW50cl9hc3Np c3Qodm9pZCk7CiB2b2lkIHZteF9kb19yZXN1bWUoc3RydWN0IHZjcHUgKik7Ci12b2lkIHNl dF9ndWVzdF90aW1lKHN0cnVjdCB2Y3B1ICp2LCB1NjQgZ3RpbWUpOwogdm9pZCB2bXhfdmxh cGljX21zcl9jaGFuZ2VkKHN0cnVjdCB2Y3B1ICp2KTsKIHZvaWQgdm14X3JlYWxtb2RlKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsKIApkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4ZW4v aW5jbHVkZS9hc20teDg2L2h2bS92cHQuaAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS92cHQuaAlUaHUgTWF5IDE1IDE1OjEwOjA1IDIwMDggKzAxMDAKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vdnB0LmgJTW9uIE1heSAxOSAxNjozMDo1NyAyMDA4IC0wNjAwCkBA IC01Nyw3ICs1Nyw3IEBAIHR5cGVkZWYgc3RydWN0IEhQRVRTdGF0ZSB7CiB0eXBlZGVmIHN0 cnVjdCBIUEVUU3RhdGUgewogICAgIHN0cnVjdCBocGV0X3JlZ2lzdGVycyBocGV0OwogICAg IHN0cnVjdCB2Y3B1ICp2Y3B1OwotICAgIHVpbnQ2NF90IHRzY19mcmVxOworICAgIHVpbnQ2 NF90IHN0aW1lX2ZyZXE7CiAgICAgdWludDY0X3QgaHBldF90b19uc19zY2FsZTsgLyogaHBl dCB0aWNrcyB0byBucyAobXVsdGlwbGllZCBieSAyXjEwKSAqLwogICAgIHVpbnQ2NF90IGhw ZXRfdG9fbnNfbGltaXQ7IC8qIG1heCBocGV0IHRpY2tzIGNvbnZlcnRhYmxlIHRvIG5zICAg ICAgKi8KICAgICB1aW50NjRfdCBtY19vZmZzZXQ7CmRpZmYgLXIgZTNiMTNlMWVjZjZjIHhl bi9pbmNsdWRlL2FzbS14ODYvdGltZS5oCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvdGlt ZS5oCVRodSBNYXkgMTUgMTU6MTA6MDUgMjAwOCArMDEwMAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L3RpbWUuaAlNb24gTWF5IDE5IDE2OjMwOjU3IDIwMDggLTA2MDAKQEAgLTM0LDQg KzM0LDYgQEAgc3RydWN0IHRtOwogc3RydWN0IHRtOwogc3RydWN0IHRtIHdhbGxjbG9ja190 aW1lKHZvaWQpOwogCisjZGVmaW5lIHNfdGlja3NfcGVyX3NlYyh2KQkxMDAwMDAwMDAwVUxM CisKICNlbmRpZiAvKiBfX1g4Nl9USU1FX0hfXyAqLwpkaWZmIC1yIGUzYjEzZTFlY2Y2YyB4 ZW4vaW5jbHVkZS94ZW4vdGltZS5oCi0tLSBhL3hlbi9pbmNsdWRlL3hlbi90aW1lLmgJVGh1 IE1heSAxNSAxNToxMDowNSAyMDA4ICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL3hlbi90aW1l LmgJTW9uIE1heSAxOSAxNjozMDo1NyAyMDA4IC0wNjAwCkBAIC0yNCw2ICsyNCw4IEBAIHN0 cnVjdCBkb21haW47CiAgKiBTeXN0ZW0gVGltZQogICogNjQgYml0IHZhbHVlIGNvbnRhaW5p bmcgdGhlIG5hbm9zZWNvbmRzIGVsYXBzZWQgc2luY2UgYm9vdCB0aW1lLgogICogVGhpcyB2 YWx1ZSBpcyBhZGp1c3RlZCBieSBmcmVxdWVuY3kgZHJpZnQuCisgKiBtb25vIHZlcnNpb24g Z3VhcmFudGVlcyB0aGF0IGNvbnNlY3V0aXZlIHJlYWRzIGFyZSBub24tZGVjcmVhc2luZywK KyAqIChlLmcuIHdoZW4gZmlyc3QgcmVhZCBpcyBvbiBhIGRpZmZlcmVudCBwcm9jZXNzb3Ig dGhhbiBzZWNvbmQgcmVhZCkKICAqIE5PVygpIHJldHVybnMgdGhlIGN1cnJlbnQgdGltZS4K ICAqIFRoZSBvdGhlciBtYWNyb3MgYXJlIGZvciBjb252ZW5pZW5jZSB0byBhcHByb3hpbWF0 ZSBzaG9ydCBpbnRlcnZhbHMKICAqIG9mIHJlYWwgdGltZSBpbnRvIHN5c3RlbSB0aW1lIApA QCAtMzIsNiArMzQsNyBAQCB0eXBlZGVmIHM2NCBzX3RpbWVfdDsKIHR5cGVkZWYgczY0IHNf dGltZV90OwogCiBzX3RpbWVfdCBnZXRfc190aW1lKHZvaWQpOworc190aW1lX3QgZ2V0X3Nf dGltZV9tb25vKHZvaWQpOwogdW5zaWduZWQgbG9uZyBnZXRfbG9jYWx0aW1lKHN0cnVjdCBk b21haW4gKmQpOwogCiBzdHJ1Y3QgdG0gewo= ---------2a9f547b2a9f547b 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 ---------2a9f547b2a9f547b--