From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH incomplete] xen: arm: wallclock support (incomplete, needs work/refactoring) Date: Tue, 21 Oct 2014 15:07:50 +0100 Message-ID: <1413900470.23337.47.camel@citrix.com> References: <1412328051-20015-1-git-send-email-talex5@gmail.com> <1412328051-20015-2-git-send-email-talex5@gmail.com> <1413888616.23337.22.camel@citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-0mxW9lg0E2INV2c4MBNr" Return-path: In-Reply-To: <1413888616.23337.22.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org --=-0mxW9lg0E2INV2c4MBNr Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Tue, 2014-10-21 at 11:50 +0100, Ian Campbell wrote: > > +/* Wall-clock time is not currently available on ARM, so this is always zero for now: > > + * http://secure-web.cisco.com/1riZQA377dZLKCo5tuoXAK4khWPPIvJePpjzLaQORhQEDB_kQWnA4fzAgRlX09RiW8tAnBtxXwom3oU37PxptJvdEgqAEvbJAHz9mB8G4h6XwnaDr9bcSh1o32Mldi1w6uBD_3Bf3fOL4m9UHxTUsdzkhF1wAMQEQej0ALt0lZHQ/http%3A%2F%2Fwiki.xenproject.org%2Fwiki%2FXen_ARM_TODO#Expose_Wallclock_time_to_guests > > I have some slightly hacky patches for this, I really should dust them > off and submit them... Since that doesn't seem likely to happen soon rather than let them rot in my tree here are the two patches (one for Xen, one for Linux). IMO they need a fair bit of refactoring (e.g. to make useful bits of the x86 support common/generic) and other code cleanup etc. Maybe someone would like to pick them up, or else I'll get to it eventually. Ian. --=-0mxW9lg0E2INV2c4MBNr Content-Disposition: attachment; filename="xen.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="xen.patch"; charset="UTF-8" RnJvbSA4MjkwOTI3MjU3NjAwOTUxNjIyZDQxNmM5ZTc2YWI5MDQyYzRkNDdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29t PgpEYXRlOiBUdWUsIDUgQXVnIDIwMTQgMTE6MTA6NTQgKzAxMDAKU3ViamVjdDogW1BBVENIXSB4 ZW46IGFybTogc3VwcG9ydCBwbGF0Zm9ybV9oeXBlcmNhbGxzIGZvciBYRU5QRl9zZXR0aW1lCgpW ZXJ5IFdJUC4gTmVlZHMgcHJvcGVyIHJlZmFjdG9yaW5nIG9mIHg4NiBzdHVmZiBldGMuCgpTaWdu ZWQtb2ZmLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgotLS0KIHhl bi9hcmNoL2FybS9NYWtlZmlsZSAgIHwgICAgMSArCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICB8 ICAgIDQgKysrCiB4ZW4vYXJjaC9hcm0vdGltZS5jICAgICB8ICAgNjMgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAg IHwgICAgMSArCiB4ZW4vaW5jbHVkZS94c20vZHVtbXkuaCB8ICAgMTIgKysrKy0tLS0tCiB4ZW4v aW5jbHVkZS94c20veHNtLmggICB8ICAgMTMgKysrKystLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCA4 MSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKaW5kZXggYzEzMjA2Zi4uZjA4MTg3 ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL3hlbi9hcmNoL2FybS9N YWtlZmlsZQpAQCAtMzQsNiArMzQsNyBAQCBvYmoteSArPSBodm0ubwogb2JqLXkgKz0gZGV2aWNl Lm8KIG9iai15ICs9IGRlY29kZS5vCiBvYmoteSArPSBwcm9jZXNzb3Iubworb2JqLXkgKz0gcGxh dGZvcm1faHlwZXJjYWxsLm8KIAogI29iai1iaW4teSArPSAuLi4ubwogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggMmI1Mzkz MS4uYTQ4YWRmYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9h cmNoL2FybS9kb21haW4uYwpAQCAtNjMwLDYgKzYzMCw3IEBAIHN0YXRpYyBpbnQgaXNfZ3Vlc3Rf cHY2NF9wc3IodWludDMyX3QgcHNyKQogaW50IGFyY2hfc2V0X2luZm9fZ3Vlc3QoCiAgICAgc3Ry dWN0IHZjcHUgKnYsIHZjcHVfZ3Vlc3RfY29udGV4dF91IGMpCiB7CisgICAgc3RydWN0IGRvbWFp biAqZCA9IHYtPmRvbWFpbjsKICAgICBzdHJ1Y3QgdmNwdV9ndWVzdF9jb250ZXh0ICpjdHh0ID0g Yy5uYXQ7CiAgICAgc3RydWN0IHZjcHVfZ3Vlc3RfY29yZV9yZWdzICpyZWdzID0gJmMubmF0LT51 c2VyX3JlZ3M7CiAKQEAgLTY2Nyw2ICs2NjgsOSBAQCBpbnQgYXJjaF9zZXRfaW5mb19ndWVzdCgK ICAgICB2LT5hcmNoLnR0YnIxID0gY3R4dC0+dHRicjE7CiAgICAgdi0+YXJjaC50dGJjciA9IGN0 eHQtPnR0YmNyOwogCisgICAgaWYgKCB2LT52Y3B1X2lkID09IDAgKQorICAgICAgICB1cGRhdGVf ZG9tYWluX3dhbGxjbG9ja190aW1lKGQpOworCiAgICAgdi0+aXNfaW5pdGlhbGlzZWQgPSAxOwog CiAgICAgaWYgKCBjdHh0LT5mbGFncyAmIFZHQ0Zfb25saW5lICkKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS90aW1lLmMgYi94ZW4vYXJjaC9hcm0vdGltZS5jCmluZGV4IGE2NDM2ZjEuLmUyNzE1 MzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90aW1lLmMKKysrIGIveGVuL2FyY2gvYXJtL3Rp bWUuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGFzbS92Z2ljLmg+CiAjaW5jbHVkZSA8 YXNtL2NwdWZlYXR1cmUuaD4KICNpbmNsdWRlIDxhc20vcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxh c20vZGl2NjQuaD4KIAogdWludDY0X3QgX19yZWFkX21vc3RseSBib290X2NvdW50OwogCkBAIC0y MTcsMTMgKzIxOCw3MyBAQCB2b2lkIHVwZGF0ZV92Y3B1X3N5c3RlbV90aW1lKHN0cnVjdCB2Y3B1 ICp2KQogCiB2b2lkIGRvbWFpbl9zZXRfdGltZV9vZmZzZXQoc3RydWN0IGRvbWFpbiAqZCwgaW50 MzJfdCB0aW1lX29mZnNldF9zZWNvbmRzKQogeworICAgIHByaW50aygiZG9tJWQgdGltZSBvZmZz ZXQgJSJQUklkMzIiXG4iLCBkLT5kb21haW5faWQsIHRpbWVfb2Zmc2V0X3NlY29uZHMpOwogICAg IGQtPnRpbWVfb2Zmc2V0X3NlY29uZHMgPSB0aW1lX29mZnNldF9zZWNvbmRzOwogICAgIC8qIFhY WCB1cGRhdGUgZ3Vlc3QgdmlzaWJsZSB3YWxsY2xvY2sgdGltZSAqLwogfQogCitzdGF0aWMgdTMy IHdjX3NlYywgd2NfbnNlYzsgLyogVVRDIHRpbWUgYXQgbGFzdCAndGltZSB1cGRhdGUnLiAqLwor c3RhdGljIERFRklORV9TUElOTE9DSyh3Y19sb2NrKTsKKworLyogRXhwbGljaXRseSBPUiB3aXRo IDEganVzdCBpbiBjYXNlIHZlcnNpb24gbnVtYmVyIGdldHMgb3V0IG9mIHN5bmMuICovCisjZGVm aW5lIHZlcnNpb25fdXBkYXRlX2JlZ2luKHYpICgoKHYpKzEpfDEpCisjZGVmaW5lIHZlcnNpb25f dXBkYXRlX2VuZCh2KSAgICgodikrMSkKKwordm9pZCB1cGRhdGVfZG9tYWluX3dhbGxjbG9ja190 aW1lKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgdWludDMyX3QgKndjX3ZlcnNpb247CisKKyAg ICBzcGluX2xvY2soJndjX2xvY2spOworCisgICAgd2NfdmVyc2lvbiA9ICZzaGFyZWRfaW5mbyhk LCB3Y192ZXJzaW9uKTsKKyAgICAqd2NfdmVyc2lvbiA9IHZlcnNpb25fdXBkYXRlX2JlZ2luKCp3 Y192ZXJzaW9uKTsKKyAgICB3bWIoKTsKKworICAgIHNoYXJlZF9pbmZvKGQsIHdjX3NlYykgID0g d2Nfc2VjICsgZC0+dGltZV9vZmZzZXRfc2Vjb25kczsKKyAgICBzaGFyZWRfaW5mbyhkLCB3Y19u c2VjKSA9IHdjX25zZWM7CisKKyAgICB3bWIoKTsKKyAgICAqd2NfdmVyc2lvbiA9IHZlcnNpb25f dXBkYXRlX2VuZCgqd2NfdmVyc2lvbik7CisKKyAgICBzcGluX3VubG9jaygmd2NfbG9jayk7Cit9 CisKKy8qIFNldCBjbG9jayB0byA8c2Vjcyx1c2Vjcz4gYWZ0ZXIgMDA6MDA6MDAgVVRDLCAxIEph bnVhcnksIDE5NzAuICovCisvKiBYWFggcmVmYWN0b3IgeDg2ICovCit2b2lkIGRvX3NldHRpbWUo dW5zaWduZWQgbG9uZyBzZWNzLCB1bnNpZ25lZCBsb25nIG5zZWNzLCB1NjQgc3lzdGVtX3RpbWVf YmFzZSkKK3sKKyAgICB1NjQgeDsKKyAgICB1MzIgeTsKKyAgICBzdHJ1Y3QgZG9tYWluICpkOwor CisgICAgeCA9IFNFQ09ORFMoc2VjcykgKyAodTY0KW5zZWNzIC0gc3lzdGVtX3RpbWVfYmFzZTsK KyAgICB5ID0gZG9fZGl2KHgsIDEwMDAwMDAwMDApOworCisgICAgc3Bpbl9sb2NrKCZ3Y19sb2Nr KTsKKyAgICB3Y19zZWMgID0geDsKKyAgICB3Y19uc2VjID0geTsKKyAgICBzcGluX3VubG9jaygm d2NfbG9jayk7CisKKyAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7CisgICAg Zm9yX2VhY2hfZG9tYWluICggZCApCisgICAgICAgIHVwZGF0ZV9kb21haW5fd2FsbGNsb2NrX3Rp bWUoZCk7CisgICAgcmN1X3JlYWRfdW5sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7Cit9CisKIHN0 cnVjdCB0bSB3YWxsY2xvY2tfdGltZSh1aW50NjRfdCAqbnMpCiB7Ci0gICAgcmV0dXJuIChzdHJ1 Y3QgdG0pIHsgMCB9OworICAgIHVpbnQ2NF90IHNlY29uZHMsIG5zZWM7CisKKyAgICBpZiAoICF3 Y19zZWMgKQorICAgICAgICByZXR1cm4gKHN0cnVjdCB0bSkgeyAwIH07CisKKyAgICBzZWNvbmRz ID0gTk9XKCkgKyBTRUNPTkRTKHdjX3NlYykgKyB3Y19uc2VjOworICAgIG5zZWMgPSBkb19kaXYo c2Vjb25kcywgMTAwMDAwMDAwMCk7CisKKyAgICBpZiAoIG5zICkKKyAgICAgICAgKm5zID0gbnNl YzsKKworICAgIHJldHVybiBnbXRpbWUoc2Vjb25kcyk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IDc2YTk1ODYu LjIyN2I0ZTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNo L2FybS90cmFwcy5jCkBAIC0xMDM1LDYgKzEwMzUsNyBAQCBzdGF0aWMgYXJtX2h5cGVyY2FsbF90 IGFybV9oeXBlcmNhbGxfdGFibGVbXSA9IHsKICAgICBIWVBFUkNBTEwoZ3JhbnRfdGFibGVfb3As IDMpLAogICAgIEhZUEVSQ0FMTChtdWx0aWNhbGwsIDIpLAogICAgIEhZUEVSQ0FMTF9BUk0odmNw dV9vcCwgMyksCisgICAgSFlQRVJDQUxMKHBsYXRmb3JtX29wLCAxKSwKIH07CiAKIHR5cGVkZWYg aW50ICgqYXJtX3BzY2lfZm5fdCkodWludDMyX3QsIHJlZ2lzdGVyX3QpOwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUveHNtL2R1bW15LmggYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAppbmRleCBj NWFhMzE2Li4yY2MxNDVjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysg Yi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtNTA3LDYgKzUwNywxMiBAQCBzdGF0aWMgWFNN X0lOTElORSBpbnQgeHNtX2h2bV9wYXJhbV9uZXN0ZWQoWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBk b21haW4gKmQpCiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt PmRvbWFpbiwgZCk7CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCB4c21fcGxhdGZvcm1fb3Ao WFNNX0RFRkFVTFRfQVJHIHVpbnQzMl90IG9wKQoreworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhT TV9QUklWKTsKKyAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ ZG9tYWluLCBOVUxMKTsKK30KKwogI2lmZGVmIENPTkZJR19YODYKIHN0YXRpYyBYU01fSU5MSU5F IGludCB4c21fZG9fbWNhKFhTTV9ERUZBVUxUX1ZPSUQpCiB7CkBAIC01NzQsMTIgKzU4MCw2IEBA IHN0YXRpYyBYU01fSU5MSU5FIGludCB4c21fYXBpYyhYU01fREVGQVVMVF9BUkcgc3RydWN0IGRv bWFpbiAqZCwgaW50IGNtZCkKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwg ZCwgTlVMTCk7CiB9CiAKLXN0YXRpYyBYU01fSU5MSU5FIGludCB4c21fcGxhdGZvcm1fb3AoWFNN X0RFRkFVTFRfQVJHIHVpbnQzMl90IG9wKQotewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9Q UklWKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t YWluLCBOVUxMKTsKLX0KLQogc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9tYWNoaW5lX21lbW9y eV9tYXAoWFNNX0RFRkFVTFRfVk9JRCkKIHsKICAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJ Vik7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94c20veHNtLmggYi94ZW4vaW5jbHVkZS94c20v eHNtLmgKaW5kZXggYTg1MDQ1ZC4uNzc1MmIzNyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveHNt L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtMTQwLDYgKzE0MCw4IEBAIHN0 cnVjdCB4c21fb3BlcmF0aW9ucyB7CiAgICAgaW50ICgqaHZtX2NvbnRyb2wpIChzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIG9wKTsKICAgICBpbnQgKCpodm1fcGFyYW1fbmVzdGVkKSAo c3RydWN0IGRvbWFpbiAqZCk7CiAKKyAgICBpbnQgKCpwbGF0Zm9ybV9vcCkgKHVpbnQzMl90IGNt ZCk7CisKICNpZmRlZiBDT05GSUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSAodm9pZCk7CiAgICAg aW50ICgqc2hhZG93X2NvbnRyb2wpIChzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCk7CkBA IC0xNTMsNyArMTU1LDYgQEAgc3RydWN0IHhzbV9vcGVyYXRpb25zIHsKICAgICBpbnQgKCptZW1f c2hhcmluZ19vcCkgKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21haW4gKmNkLCBpbnQgb3Ap OwogICAgIGludCAoKmFwaWMpIChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQg KCptZW10eXBlKSAodWludDMyX3QgYWNjZXNzKTsKLSAgICBpbnQgKCpwbGF0Zm9ybV9vcCkgKHVp bnQzMl90IGNtZCk7CiAgICAgaW50ICgqbWFjaGluZV9tZW1vcnlfbWFwKSAodm9pZCk7CiAgICAg aW50ICgqZG9tYWluX21lbW9yeV9tYXApIChzdHJ1Y3QgZG9tYWluICpkKTsKICNkZWZpbmUgWFNN X01NVV9VUERBVEVfUkVBRCAgICAgIDEKQEAgLTUzNCw2ICs1MzUsMTEgQEAgc3RhdGljIGlubGlu ZSBpbnQgeHNtX2h2bV9wYXJhbV9uZXN0ZWQgKHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9t YWluICpkKQogICAgIHJldHVybiB4c21fb3BzLT5odm1fcGFyYW1fbmVzdGVkKGQpOwogfQogCitz dGF0aWMgaW5saW5lIGludCB4c21fcGxhdGZvcm1fb3AgKHhzbV9kZWZhdWx0X3QgZGVmLCB1aW50 MzJfdCBvcCkKK3sKKyAgICByZXR1cm4geHNtX29wcy0+cGxhdGZvcm1fb3Aob3ApOworfQorCiAj aWZkZWYgQ09ORklHX1g4Ngogc3RhdGljIGlubGluZSBpbnQgeHNtX2RvX21jYSh4c21fZGVmYXVs dF90IGRlZikKIHsKQEAgLTU5NSwxMSArNjAxLDYgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX21l bXR5cGUgKHhzbV9kZWZhdWx0X3QgZGVmLCB1aW50MzJfdCBhY2Nlc3MpCiAgICAgcmV0dXJuIHhz bV9vcHMtPm1lbXR5cGUoYWNjZXNzKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeHNtX3BsYXRm b3JtX29wICh4c21fZGVmYXVsdF90IGRlZiwgdWludDMyX3Qgb3ApCi17Ci0gICAgcmV0dXJuIHhz bV9vcHMtPnBsYXRmb3JtX29wKG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgeHNtX21hY2hp bmVfbWVtb3J5X21hcCh4c21fZGVmYXVsdF90IGRlZikKIHsKICAgICByZXR1cm4geHNtX29wcy0+ bWFjaGluZV9tZW1vcnlfbWFwKCk7Ci0tIAoxLjcuMTAuNAoK --=-0mxW9lg0E2INV2c4MBNr Content-Disposition: attachment; filename="linux.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="linux.patch"; charset="UTF-8" RnJvbSAxMjg0YmEyMzgwYjMyYmY2Mjc4OWI3MzhkYmFjNGQ5OWRhNDYzZWExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29t PgpEYXRlOiBUdWUsIDUgQXVnIDIwMTQgMTU6MjM6MjMgKzAxMDAKU3ViamVjdDogW1BBVENIXSBX YWxsY2xvY2sgdGltZSBzdXBwb3J0LiBOZWVkcyBtdWNoIHJlZmFjdG9yaW5nIGV0YwoKLS0tCiBh cmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmggfCAgICA5ICsrKwogYXJjaC9hcm0v eGVuL2VubGlnaHRlbi5jICAgICAgICAgICAgIHwgIDEyMSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiBhcmNoL2FybS94ZW4vaHlwZXJjYWxsLlMgICAgICAgICAgICAgfCAgICA0 ICstCiAzIGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oIGIvYXJjaC9h cm0vaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oCmluZGV4IDcxMmI1MGUuLjA1NTM5OWEgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaAorKysgYi9hcmNo L2FybS9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKQEAgLTM1LDYgKzM1LDcgQEAKIAogI2lu Y2x1ZGUgPHhlbi9pbnRlcmZhY2UveGVuLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9zY2hl ZC5oPgorI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvcGxhdGZvcm0uaD4KIAogbG9uZyBwcml2Y21k X2NhbGwodW5zaWduZWQgY2FsbCwgdW5zaWduZWQgbG9uZyBhMSwKIAkJdW5zaWduZWQgbG9uZyBh MiwgdW5zaWduZWQgbG9uZyBhMywKQEAgLTQ5LDYgKzUwLDE0IEBAIGludCBIWVBFUlZJU09SX21l bW9yeV9vcCh1bnNpZ25lZCBpbnQgY21kLCB2b2lkICphcmcpOwogaW50IEhZUEVSVklTT1JfcGh5 c2Rldl9vcChpbnQgY21kLCB2b2lkICphcmcpOwogaW50IEhZUEVSVklTT1JfdmNwdV9vcChpbnQg Y21kLCBpbnQgdmNwdWlkLCB2b2lkICpleHRyYV9hcmdzKTsKIGludCBIWVBFUlZJU09SX3RtZW1f b3Aodm9pZCAqYXJnKTsKK2ludCBIWVBFUlZJU09SX2RvbTBfb3BfcmF3KHN0cnVjdCB4ZW5fcGxh dGZvcm1fb3AgKnBsYXRmb3JtX29wKTsKK3N0YXRpYyBpbmxpbmUgaW50CitIWVBFUlZJU09SX2Rv bTBfb3Aoc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCAqcGxhdGZvcm1fb3ApCit7CisgICAgICAgIHBs YXRmb3JtX29wLT5pbnRlcmZhY2VfdmVyc2lvbiA9IFhFTlBGX0lOVEVSRkFDRV9WRVJTSU9OOwor ICAgICAgICByZXR1cm4gSFlQRVJWSVNPUl9kb20wX29wX3JhdyhwbGF0Zm9ybV9vcCk7Cit9CisK IGludCBIWVBFUlZJU09SX211bHRpY2FsbChzdHJ1Y3QgbXVsdGljYWxsX2VudHJ5ICpjYWxscywg dWludDMyX3QgbnIpOwogCiBzdGF0aWMgaW5saW5lIGludApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v eGVuL2VubGlnaHRlbi5jIGIvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jCmluZGV4IDFlNjMyNDMu LjAzNjQ5ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYworKysgYi9hcmNo L2FybS94ZW4vZW5saWdodGVuLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDx4ZW4veGVu YnVzLmg+CiAjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3Nj aGVkLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9wbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHhl bi94ZW4tb3BzLmg+CiAjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8 YXNtL3hlbi9oeXBlcmNhbGwuaD4KQEAgLTI0LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9j cHVpZGxlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nw dS5oPgorI2luY2x1ZGUgPGxpbnV4L3B2Y2xvY2tfZ3RvZC5oPgogCiAjaW5jbHVkZSA8bGludXgv bW0uaD4KIApAQCAtMjE5LDYgKzIyMSwxMjIgQEAgc3RhdGljIGlycXJldHVybl90IHhlbl9hcm1f Y2FsbGJhY2soaW50IGlycSwgdm9pZCAqYXJnKQogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAor dW5zaWduZWQgbG9uZyB4ZW5fY2xvY2tzb3VyY2VfcmVhZCh2b2lkKQoreworCXVuc2lnbmVkIGxv bmcgdmFsID0gMDsKKwkvKiBYWFggYXJjaCB0aW1lcj8gRXJyb3IgaGFuZGxpbmcgZXRjIGV0YyAq LworCWlmIChyZWFkX2N1cnJlbnRfdGltZXIoJnZhbCkgPCAwKQorCQlwcmludGsoInJlYWRfY3Vy cmVudF90aW1lciBmYWlsZWQ/XG4iKTsKKwlyZXR1cm4gdmFsOworfQorCit2b2lkIHB2Y2xvY2tf cmVhZF93YWxsY2xvY2soc3RydWN0IHB2Y2xvY2tfd2FsbF9jbG9jayAqd2FsbF9jbG9jaywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHZjbG9ja192Y3B1X3RpbWVfaW5mbyAq dmNwdV90aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1lc3BlYyAq dHMpCit7CisgICAgICAgIHUzMiB2ZXJzaW9uOworICAgICAgICB1NjQgZGVsdGE7CisgICAgICAg IHN0cnVjdCB0aW1lc3BlYyBub3c7CisKKyAgICAgICAgLyogZ2V0IHdhbGxjbG9jayBhdCBzeXN0 ZW0gYm9vdCAqLworICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgdmVyc2lvbiA9IHdhbGxf Y2xvY2stPnZlcnNpb247CisgICAgICAgICAgICAgICAgcm1iKCk7ICAgICAgICAgIC8qIGZldGNo IHZlcnNpb24gYmVmb3JlIHRpbWUgKi8KKyAgICAgICAgICAgICAgICBub3cudHZfc2VjICA9IHdh bGxfY2xvY2stPnNlYzsKKyAgICAgICAgICAgICAgICBub3cudHZfbnNlYyA9IHdhbGxfY2xvY2st Pm5zZWM7CisgICAgICAgICAgICAgICAgcm1iKCk7ICAgICAgICAgIC8qIGZldGNoIHRpbWUgYmVm b3JlIGNoZWNraW5nIHZlcnNpb24gKi8KKyAgICAgICAgfSB3aGlsZSAoKHdhbGxfY2xvY2stPnZl cnNpb24gJiAxKSB8fCAodmVyc2lvbiAhPSB3YWxsX2Nsb2NrLT52ZXJzaW9uKSk7CisKKyAgICAg ICAgLy9kZWx0YSA9IHB2Y2xvY2tfY2xvY2tzb3VyY2VfcmVhZCh2Y3B1X3RpbWUpOyAgICAvKiB0 aW1lIHNpbmNlIHN5c3RlbSBib290ICovCisJZGVsdGEgPSB4ZW5fY2xvY2tzb3VyY2VfcmVhZCgp OworICAgICAgICBkZWx0YSArPSBub3cudHZfc2VjICogKHU2NClOU0VDX1BFUl9TRUMgKyBub3cu dHZfbnNlYzsKKworICAgICAgICBub3cudHZfbnNlYyA9IGRvX2RpdihkZWx0YSwgTlNFQ19QRVJf U0VDKTsKKyAgICAgICAgbm93LnR2X3NlYyA9IGRlbHRhOworCisgICAgICAgIHNldF9ub3JtYWxp emVkX3RpbWVzcGVjKHRzLCBub3cudHZfc2VjLCBub3cudHZfbnNlYyk7Cit9CisKK3N0YXRpYyB2 b2lkIHhlbl9yZWFkX3dhbGxjbG9jayhzdHJ1Y3QgdGltZXNwZWMgKnRzKQoreworCXN0cnVjdCBz aGFyZWRfaW5mbyAqcyA9IEhZUEVSVklTT1Jfc2hhcmVkX2luZm87CisJc3RydWN0IHB2Y2xvY2tf d2FsbF9jbG9jayAqd2FsbF9jbG9jayA9ICYocy0+d2MpOworICAgICAgICBzdHJ1Y3QgcHZjbG9j a192Y3B1X3RpbWVfaW5mbyAqdmNwdV90aW1lOworCisJdmNwdV90aW1lID0gJmdldF9jcHVfdmFy KHhlbl92Y3B1KS0+dGltZTsKKwlwdmNsb2NrX3JlYWRfd2FsbGNsb2NrKHdhbGxfY2xvY2ssIHZj cHVfdGltZSwgdHMpOworCXB1dF9jcHVfdmFyKHhlbl92Y3B1KTsKK30KKworLyogUGFydHMgY291 bGQgYmUgY29tbW9uIHdpdGggeDg2PyAqLworc3RhdGljIGludCB4ZW5fcHZjbG9ja19ndG9kX25v dGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAorCQkJCSAgIHVuc2lnbmVkIGxvbmcgd2Fz X3NldCwgdm9pZCAqcHJpdikKK3sKKwkvKiBQcm90ZWN0ZWQgYnkgdGhlIGNhbGxpbmcgY29yZSBj b2RlIHNlcmlhbGl6YXRpb24gKi8KKwlzdGF0aWMgc3RydWN0IHRpbWVzcGVjIG5leHRfc3luYzsK KworCXN0cnVjdCB4ZW5fcGxhdGZvcm1fb3Agb3A7CisJc3RydWN0IHRpbWVzcGVjIG5vdzsKKwor CW5vdyA9IF9fY3VycmVudF9rZXJuZWxfdGltZSgpOworCisJLyoKKwkgKiBXZSBvbmx5IHRha2Ug dGhlIGV4cGVuc2l2ZSBIViBjYWxsIHdoZW4gdGhlIGNsb2NrIHdhcyBzZXQKKwkgKiBvciB3aGVu IHRoZSAxMSBtaW51dGVzIFJUQyBzeW5jaHJvbml6YXRpb24gdGltZSBlbGFwc2VkLgorCSAqLwor CWlmICghd2FzX3NldCAmJiB0aW1lc3BlY19jb21wYXJlKCZub3csICZuZXh0X3N5bmMpIDwgMCkK KwkJcmV0dXJuIE5PVElGWV9PSzsKKworCW9wLmNtZCA9IFhFTlBGX3NldHRpbWU7CisJb3AudS5z ZXR0aW1lLnNlY3MgPSBub3cudHZfc2VjOworCW9wLnUuc2V0dGltZS5uc2VjcyA9IG5vdy50dl9u c2VjOworCW9wLnUuc2V0dGltZS5zeXN0ZW1fdGltZSA9IHhlbl9jbG9ja3NvdXJjZV9yZWFkKCk7 CisJcHJpbnRrKCJHVE9EOiBTZXR0aW5nIHRvICVsZC4lbGQgYXQgJWxsZFxuIiwKKwkgICAgICAg KGxvbmcpb3AudS5zZXR0aW1lLnNlY3MsCisJICAgICAgIChsb25nKW9wLnUuc2V0dGltZS5uc2Vj cywKKwkgICAgICAgKGxvbmcgbG9uZylvcC51LnNldHRpbWUuc3lzdGVtX3RpbWUpOworCSh2b2lk KUhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworCisJLyoKKwkgKiBNb3ZlIHRoZSBuZXh0IGRyaWZ0 IGNvbXBlbnNhdGlvbiB0aW1lIDExIG1pbnV0ZXMKKwkgKiBhaGVhZC4gVGhhdCdzIGVtdWxhdGlu ZyB0aGUgc3luY19jbW9zX2Nsb2NrKCkgdXBkYXRlIGZvcgorCSAqIHRoZSBoYXJkd2FyZSBSVEMu CisJICovCisJbmV4dF9zeW5jID0gbm93OworCW5leHRfc3luYy50dl9zZWMgKz0gMTEgKiA2MDsK KworCXJldHVybiBOT1RJRllfT0s7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sg eGVuX3B2Y2xvY2tfZ3RvZF9ub3RpZmllciA9IHsKKwkubm90aWZpZXJfY2FsbCA9IHhlbl9wdmNs b2NrX2d0b2Rfbm90aWZ5LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHhlbl90aW1lX2luaXQo dm9pZCkKK3sKKwkvL2ludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJc3RydWN0IHRpbWVz cGVjIHRwOworCisJLyogU2V0IGluaXRpYWwgc3lzdGVtIHRpbWUgd2l0aCBmdWxsIHJlc29sdXRp b24gKi8KKwl4ZW5fcmVhZF93YWxsY2xvY2soJnRwKTsKKwlkb19zZXR0aW1lb2ZkYXkoJnRwKTsK KworCXByaW50aygiSU5JVElBTCBUSU1FICVsZC4lbGRcbiIsCisJICAgICAgIChsb25nKXRwLnR2 X3NlYywKKwkgICAgICAgKGxvbmcpdHAudHZfbnNlYyk7CisJeworCQlzdHJ1Y3Qgc2hhcmVkX2lu Zm8gKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOworCQlzdHJ1Y3QgcHZjbG9ja193YWxsX2Ns b2NrICp3YWxsX2Nsb2NrID0gJihzLT53Yyk7CisJCXN0cnVjdCBwdmNsb2NrX3ZjcHVfdGltZV9p bmZvICp2Y3B1X3RpbWU7CisJCXByaW50aygiU0hBUkVEIElORk8gVElNRSAlbGQuJWxkXG4iLAor CQkgICAgICAgKGxvbmcpd2FsbF9jbG9jay0+c2VjLAorCQkgICAgICAgKGxvbmcpd2FsbF9jbG9j ay0+bnNlYyk7CisJfQorCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQorCQlwdmNsb2NrX2d0 b2RfcmVnaXN0ZXJfbm90aWZpZXIoJnhlbl9wdmNsb2NrX2d0b2Rfbm90aWZpZXIpOworfQorCiAv KgogICogc2VlIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0veGVuLnR4dCBm b3IgdGhlCiAgKiBkb2N1bWVudGF0aW9uIG9mIHRoZSBYZW4gRGV2aWNlIFRyZWUgZm9ybWF0LgpA QCAtMzIzLDYgKzQ0MSw4IEBAIHN0YXRpYyBpbnQgX19pbml0IHhlbl9ndWVzdF9pbml0KHZvaWQp CiAKIAlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnhlbl9jcHVfbm90aWZpZXIpOwogCisJeGVuX3Rp bWVfaW5pdCgpOworCiAJcmV0dXJuIDA7CiB9CiBlYXJseV9pbml0Y2FsbCh4ZW5fZ3Vlc3RfaW5p dCk7CkBAIC0zNTksNCArNDc5LDUgQEAgRVhQT1JUX1NZTUJPTF9HUEwoSFlQRVJWSVNPUl9waHlz ZGV2X29wKTsKIEVYUE9SVF9TWU1CT0xfR1BMKEhZUEVSVklTT1JfdmNwdV9vcCk7CiBFWFBPUlRf U1lNQk9MX0dQTChIWVBFUlZJU09SX3RtZW1fb3ApOwogRVhQT1JUX1NZTUJPTF9HUEwoSFlQRVJW SVNPUl9tdWx0aWNhbGwpOworRVhQT1JUX1NZTUJPTF9HUEwoSFlQRVJWSVNPUl9kb20wX29wX3Jh dyk7CiBFWFBPUlRfU1lNQk9MX0dQTChwcml2Y21kX2NhbGwpOwpkaWZmIC0tZ2l0IGEvYXJjaC9h cm0veGVuL2h5cGVyY2FsbC5TIGIvYXJjaC9hcm0veGVuL2h5cGVyY2FsbC5TCmluZGV4IDQ0ZTNh NWYuLmQzYmYzNWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3hlbi9oeXBlcmNhbGwuUworKysgYi9h cmNoL2FybS94ZW4vaHlwZXJjYWxsLlMKQEAgLTc4LDcgKzc4LDYgQEAgRU5UUlkoSFlQRVJWSVNP Ul8jI2h5cGVyY2FsbCkJCQlcCiBFTkRQUk9DKEhZUEVSVklTT1JfIyNoeXBlcmNhbGwpCiAKICAg ICAgICAgICAgICAgICAudGV4dAotCiBIWVBFUkNBTEwyKHhlbl92ZXJzaW9uKTsKIEhZUEVSQ0FM TDMoY29uc29sZV9pbyk7CiBIWVBFUkNBTEwzKGdyYW50X3RhYmxlX29wKTsKQEAgLTkxLDYgKzkw LDkgQEAgSFlQRVJDQUxMMyh2Y3B1X29wKTsKIEhZUEVSQ0FMTDEodG1lbV9vcCk7CiBIWVBFUkNB TEwyKG11bHRpY2FsbCk7CiAKKyNkZWZpbmUgX19IWVBFUlZJU09SX2RvbTBfb3BfcmF3IF9fSFlQ RVJWSVNPUl9kb20wX29wIC8qIEhhY2sgdG8gYWxsb3cgc2V0dGluZyBpbnRlcmZhY2UgdmVyc2lv biBmcm9tIEMgd3JhcHBlciAqLworSFlQRVJDQUxMMShkb20wX29wX3Jhdyk7LypYWFggbGVnYWN5 IG5hbWUgZm9yIHdoYXQgaXMgbm93IHBsYXRmb3JtX29wLCB1c2VkIGJ5IHg4NiB0b28qLworCiBF TlRSWShwcml2Y21kX2NhbGwpCiAJc3RtZGIgc3AhLCB7cjR9CiAJbW92IHIxMiwgcjAKLS0gCjEu Ny4xMC40Cgo= --=-0mxW9lg0E2INV2c4MBNr 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.xen.org http://lists.xen.org/xen-devel --=-0mxW9lg0E2INV2c4MBNr--