From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v4 01/15] x86/pmtimer: Move ACPI registers from PMTState to hvm_domain Date: Tue, 29 Nov 2016 10:33:08 -0500 Message-ID: <1480433602-13290-2-git-send-email-boris.ostrovsky@oracle.com> References: <1480433602-13290-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1480433602-13290-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, Boris Ostrovsky , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhlc2UgcmVnaXN0ZXJzIChwbTFhIHNwZWNpZmljYWxseSkgYXJlIG5vdCBhbGwgc3BlY2lmaWMg dG8gcG0gdGltZXIKYW5kIGFyZSBhY2Nlc3NlZCBieSBub24tcG10aW1lciBjb2RlIChmb3IgZXhh bXBsZSwgc2xlZXAvcG93ZXIgYnV0dG9uCmVtdWxhdGlvbikuCgpJbiBhZGRpdGlvbiB0byBtb3Zp bmcgdGhvc2UgcmVnc3RlcnMgdG8gc3RydWN0IGh2bV9kb21haW4gcmVuYW1lCkhWTSBzYXZlIHN0 YXRlIHN0cnVjdHVyZXMgYW5kIHJvdXRpbmVzIGFzIHdlbGwuCgpObyBmdW5jdGlvbmFsIGNoYW5n ZXMgYXJlIGludHJvZHVjZWQuCgooV2hpbGUgdGhpcyBmaWxlIGlzIGJlaW5nIG1vZGlmaWVkLCBh bHNvIGFkZCBlbWFjcyBtb2RlIHN0eWxlIHJ1bmUpCgpTaWduZWQtb2ZmLWJ5OiBCb3JpcyBPc3Ry b3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgotLS0KQ2hhbmdlcyBpbiB2NDoKKiBO ZXcgcGF0Y2gKCiB0b29scy9taXNjL3hlbi1odm1jdHguYyAgICAgICAgICAgICAgICB8ICA0ICst CiB4ZW4vYXJjaC94ODYvaHZtL3BtdGltZXIuYyAgICAgICAgICAgICB8IDY3ICsrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5o ICAgICAgIHwgIDIgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdnB0LmggICAgICAgICAgfCAg MSAtCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvaHZtL3NhdmUuaCB8ICA2ICstLQogNSBm aWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS90b29scy9taXNjL3hlbi1odm1jdHguYyBiL3Rvb2xzL21pc2MveGVuLWh2bWN0eC5jCmlu ZGV4IDMyYmUxMjAuLjhlOGEyNDUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL21pc2MveGVuLWh2bWN0eC5j CisrKyBiL3Rvb2xzL21pc2MveGVuLWh2bWN0eC5jCkBAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGlj IHZvaWQgZHVtcF9ocGV0KHZvaWQpCiAKIHN0YXRpYyB2b2lkIGR1bXBfcG10aW1lcih2b2lkKQog ewotICAgIEhWTV9TQVZFX1RZUEUoUE1USU1FUikgcDsKKyAgICBIVk1fU0FWRV9UWVBFKEFDUEkp IHA7CiAgICAgUkVBRChwKTsKICAgICBwcmludGYoIiAgICBBQ1BJIFBNOiBUTVJfVkFMIDB4JXgs IFBNMWFfU1RTIDB4JXgsIFBNMWFfRU4gMHgleFxuIiwgCiAgICAgICAgICAgIHAudG1yX3ZhbCwg KHVuc2lnbmVkKSBwLnBtMWFfc3RzLCAodW5zaWduZWQpIHAucG0xYV9lbik7CkBAIC00NjIsNyAr NDYyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBjYXNlIEhW TV9TQVZFX0NPREUoUElUKTogZHVtcF9waXQoKTsgYnJlYWs7CiAgICAgICAgIGNhc2UgSFZNX1NB VkVfQ09ERShSVEMpOiBkdW1wX3J0YygpOyBicmVhazsKICAgICAgICAgY2FzZSBIVk1fU0FWRV9D T0RFKEhQRVQpOiBkdW1wX2hwZXQoKTsgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFZNX1NBVkVfQ09E RShQTVRJTUVSKTogZHVtcF9wbXRpbWVyKCk7IGJyZWFrOworICAgICAgICBjYXNlIEhWTV9TQVZF X0NPREUoQUNQSSk6IGR1bXBfcG10aW1lcigpOyBicmVhazsKICAgICAgICAgY2FzZSBIVk1fU0FW RV9DT0RFKE1UUlIpOiBkdW1wX210cnIoKTsgYnJlYWs7CiAgICAgICAgIGNhc2UgSFZNX1NBVkVf Q09ERShWSVJJRElBTl9ET01BSU4pOiBkdW1wX3ZpcmlkaWFuX2RvbWFpbigpOyBicmVhazsKICAg ICAgICAgY2FzZSBIVk1fU0FWRV9DT0RFKFZJUklESUFOX1ZDUFUpOiBkdW1wX3ZpcmlkaWFuX3Zj cHUoKTsgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3BtdGltZXIuYyBiL3hl bi9hcmNoL3g4Ni9odm0vcG10aW1lci5jCmluZGV4IDk5ZDFlODYuLjUxNDQ5MjggMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9odm0vcG10aW1lci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vcG10 aW1lci5jCkBAIC01Niw5ICs1NiwxMSBAQAogLyogRGlzcGF0Y2ggU0NJcyBiYXNlZCBvbiB0aGUg UE0xYV9TVFMgYW5kIFBNMWFfRU4gcmVnaXN0ZXJzICovCiBzdGF0aWMgdm9pZCBwbXRfdXBkYXRl X3NjaShQTVRTdGF0ZSAqcykKIHsKKyAgICBzdHJ1Y3QgaHZtX2h3X2FjcGkgKmFjcGkgPSAmcy0+ dmNwdS0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4uYWNwaTsKKwogICAgIEFTU0VSVChzcGluX2lz X2xvY2tlZCgmcy0+bG9jaykpOwogCi0gICAgaWYgKCBzLT5wbS5wbTFhX2VuICYgcy0+cG0ucG0x YV9zdHMgJiBTQ0lfTUFTSyApCisgICAgaWYgKCBhY3BpLT5wbTFhX2VuICYgYWNwaS0+cG0xYV9z dHMgJiBTQ0lfTUFTSyApCiAgICAgICAgIGh2bV9pc2FfaXJxX2Fzc2VydChzLT52Y3B1LT5kb21h aW4sIFNDSV9JUlEpOwogICAgIGVsc2UKICAgICAgICAgaHZtX2lzYV9pcnFfZGVhc3NlcnQocy0+ dmNwdS0+ZG9tYWluLCBTQ0lfSVJRKTsKQEAgLTcyLDcgKzc0LDcgQEAgdm9pZCBodm1fYWNwaV9w b3dlcl9idXR0b24oc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3Bp bl9sb2NrKCZzLT5sb2NrKTsKLSAgICBzLT5wbS5wbTFhX3N0cyB8PSBQV1JCVE5fU1RTOworICAg IGQtPmFyY2guaHZtX2RvbWFpbi5hY3BpLnBtMWFfc3RzIHw9IFBXUkJUTl9TVFM7CiAgICAgcG10 X3VwZGF0ZV9zY2kocyk7CiAgICAgc3Bpbl91bmxvY2soJnMtPmxvY2spOwogfQpAQCAtODUsNyAr ODcsNyBAQCB2b2lkIGh2bV9hY3BpX3NsZWVwX2J1dHRvbihzdHJ1Y3QgZG9tYWluICpkKQogICAg ICAgICByZXR1cm47CiAKICAgICBzcGluX2xvY2soJnMtPmxvY2spOwotICAgIHMtPnBtLnBtMWFf c3RzIHw9IFNMUEJUTl9TVFM7CisgICAgZC0+YXJjaC5odm1fZG9tYWluLmFjcGkucG0xYV9zdHMg fD0gUFdSQlROX1NUUzsKICAgICBwbXRfdXBkYXRlX3NjaShzKTsKICAgICBzcGluX3VubG9jaygm cy0+bG9jayk7CiB9CkBAIC05NSw3ICs5Nyw4IEBAIHZvaWQgaHZtX2FjcGlfc2xlZXBfYnV0dG9u KHN0cnVjdCBkb21haW4gKmQpCiBzdGF0aWMgdm9pZCBwbXRfdXBkYXRlX3RpbWUoUE1UU3RhdGUg KnMpCiB7CiAgICAgdWludDY0X3QgY3Vycl9ndGltZSwgdG1wOwotICAgIHVpbnQzMl90IHRtcl92 YWwgPSBzLT5wbS50bXJfdmFsLCBtc2IgPSB0bXJfdmFsICYgVE1SX1ZBTF9NU0I7CisgICAgc3Ry dWN0IGh2bV9od19hY3BpICphY3BpID0gJnMtPnZjcHUtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWlu LmFjcGk7CisgICAgdWludDMyX3QgdG1yX3ZhbCA9IGFjcGktPnRtcl92YWwsIG1zYiA9IHRtcl92 YWwgJiBUTVJfVkFMX01TQjsKICAgICAKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJnMtPmxv Y2spKTsKIApAQCAtMTA4LDEyICsxMTEsMTIgQEAgc3RhdGljIHZvaWQgcG10X3VwZGF0ZV90aW1l KFBNVFN0YXRlICpzKQogICAgIHMtPmxhc3RfZ3RpbWUgPSBjdXJyX2d0aW1lOwogCiAgICAgLyog VXBkYXRlIHRpbWVyIHZhbHVlIGF0b21pY2FsbHkgd3J0IGxvY2stZnJlZSByZWFkcyBpbiBoYW5k bGVfcG10X2lvKCkuICovCi0gICAgKih2b2xhdGlsZSB1aW50MzJfdCAqKSZzLT5wbS50bXJfdmFs ID0gdG1yX3ZhbDsKKyAgICAqKHZvbGF0aWxlIHVpbnQzMl90ICopJmFjcGktPnRtcl92YWwgPSB0 bXJfdmFsOwogCiAgICAgLyogSWYgdGhlIGNvdW50ZXIncyBNU0IgaGFzIGNoYW5nZWQsIHNldCB0 aGUgc3RhdHVzIGJpdCAqLwogICAgIGlmICggKHRtcl92YWwgJiBUTVJfVkFMX01TQikgIT0gbXNi ICkKICAgICB7Ci0gICAgICAgIHMtPnBtLnBtMWFfc3RzIHw9IFRNUl9TVFM7CisgICAgICAgIGFj cGktPnBtMWFfc3RzIHw9IFRNUl9TVFM7CiAgICAgICAgIHBtdF91cGRhdGVfc2NpKHMpOwogICAg IH0KIH0KQEAgLTEzMyw3ICsxMzYsOCBAQCBzdGF0aWMgdm9pZCBwbXRfdGltZXJfY2FsbGJhY2so dm9pZCAqb3BhcXVlKQogICAgIHBtdF91cGRhdGVfdGltZShzKTsKIAogICAgIC8qIEhvdyBjbG9z ZSBhcmUgd2UgdG8gdGhlIG5leHQgTVNCIGZsaXA/ICovCi0gICAgcG10X2N5Y2xlc191bnRpbF9m bGlwID0gVE1SX1ZBTF9NU0IgLSAocy0+cG0udG1yX3ZhbCAmIChUTVJfVkFMX01TQiAtIDEpKTsK KyAgICBwbXRfY3ljbGVzX3VudGlsX2ZsaXAgPSBUTVJfVkFMX01TQiAtCisgICAgICAgIChzLT52 Y3B1LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5hY3BpLnRtcl92YWwgJiAoVE1SX1ZBTF9NU0Ig LSAxKSk7CiAKICAgICAvKiBPdmVyYWxsIHRpbWUgYmV0d2VlbiBNU0IgZmxpcHMgKi8KICAgICB0 aW1lX3VudGlsX2ZsaXAgPSAoMTAwMDAwMDAwMFVMTCA8PCAyMykgLyBGUkVRVUVOQ0VfUE1USU1F UjsKQEAgLTE1Miw2ICsxNTYsNyBAQCBzdGF0aWMgaW50IGhhbmRsZV9ldnRfaW8oCiAgICAgaW50 IGRpciwgdW5zaWduZWQgaW50IHBvcnQsIHVuc2lnbmVkIGludCBieXRlcywgdWludDMyX3QgKnZh bCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7CisgICAgc3RydWN0IGh2bV9od19h Y3BpICphY3BpID0gJnYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWluLmFjcGk7CiAgICAgUE1UU3Rh dGUgKnMgPSAmdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGxfdGltZS0+dnBtdDsKICAgICB1 aW50MzJfdCBhZGRyLCBkYXRhLCBieXRlOwogICAgIGludCBpOwpAQCAtMTc1LDE2ICsxODAsMTYg QEAgc3RhdGljIGludCBoYW5kbGVfZXZ0X2lvKAogICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgIC8qIFBNMWFfU1RTIHJlZ2lzdGVyIGJpdHMgYXJlIHdyaXRlLXRvLWNsZWFyICovCiAgICAg ICAgICAgICBjYXNlIDAgLyogUE0xYV9TVFNfQUREUiAqLzoKLSAgICAgICAgICAgICAgICBzLT5w bS5wbTFhX3N0cyAmPSB+Ynl0ZTsKKyAgICAgICAgICAgICAgICBhY3BpLT5wbTFhX3N0cyAmPSB+ Ynl0ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgMSAvKiBQTTFh X1NUU19BRERSICsgMSAqLzoKLSAgICAgICAgICAgICAgICBzLT5wbS5wbTFhX3N0cyAmPSB+KGJ5 dGUgPDwgOCk7CisgICAgICAgICAgICAgICAgYWNwaS0+cG0xYV9zdHMgJj0gfihieXRlIDw8IDgp OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAyIC8qIFBNMWFfRU5f QUREUiAqLzoKLSAgICAgICAgICAgICAgICBzLT5wbS5wbTFhX2VuID0gKHMtPnBtLnBtMWFfZW4g JiAweGZmMDApIHwgYnl0ZTsKKyAgICAgICAgICAgICAgICBhY3BpLT5wbTFhX2VuID0gKGFjcGkt PnBtMWFfZW4gJiAweGZmMDApIHwgYnl0ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgICAgIGNhc2UgMyAvKiBQTTFhX0VOX0FERFIgKyAxICovOgotICAgICAgICAgICAgICAgIHMt PnBtLnBtMWFfZW4gPSAocy0+cG0ucG0xYV9lbiAmIDB4ZmYpIHwgKGJ5dGUgPDwgOCk7CisgICAg ICAgICAgICAgICAgYWNwaS0+cG0xYV9lbiA9IChhY3BpLT5wbTFhX2VuICYgMHhmZikgfCAoYnl0 ZSA8PCA4KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAg ICAgICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsIApAQCAtMTk3LDcgKzIwMiw3 IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2V2dF9pbygKICAgICB9CiAgICAgZWxzZSAvKiBwLT5kaXIg PT0gSU9SRVFfUkVBRCAqLwogICAgIHsKLSAgICAgICAgZGF0YSA9IHMtPnBtLnBtMWFfc3RzIHwg KCgodWludDMyX3QpIHMtPnBtLnBtMWFfZW4pIDw8IDE2KTsKKyAgICAgICAgZGF0YSA9IGFjcGkt PnBtMWFfc3RzIHwgKCgodWludDMyX3QpIGFjcGktPnBtMWFfZW4pIDw8IDE2KTsKICAgICAgICAg ZGF0YSA+Pj0gOCAqIGFkZHI7CiAgICAgICAgIGlmICggYnl0ZXMgPT0gMSApIGRhdGEgJj0gMHhm ZjsKICAgICAgICAgZWxzZSBpZiAoIGJ5dGVzID09IDIgKSBkYXRhICY9IDB4ZmZmZjsKQEAgLTIx NSw2ICsyMjAsNyBAQCBzdGF0aWMgaW50IGhhbmRsZV9wbXRfaW8oCiAgICAgaW50IGRpciwgdW5z aWduZWQgaW50IHBvcnQsIHVuc2lnbmVkIGludCBieXRlcywgdWludDMyX3QgKnZhbCkKIHsKICAg ICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7CisgICAgc3RydWN0IGh2bV9od19hY3BpICphY3Bp ID0gJnYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWluLmFjcGk7CiAgICAgUE1UU3RhdGUgKnMgPSAm di0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGxfdGltZS0+dnBtdDsKIAogICAgIGlmICggYnl0 ZXMgIT0gNCB8fCBkaXIgIT0gSU9SRVFfUkVBRCApCkBAIC0yMjYsNyArMjMyLDcgQEAgc3RhdGlj IGludCBoYW5kbGVfcG10X2lvKAogICAgIHsKICAgICAgICAgLyogV2UgaG9sZCB0aGUgbG9jazog dXBkYXRlIHRpbWVyIHZhbHVlIGFuZCByZXR1cm4gaXQuICovCiAgICAgICAgIHBtdF91cGRhdGVf dGltZShzKTsKLSAgICAgICAgKnZhbCA9IHMtPnBtLnRtcl92YWw7CisgICAgICAgICp2YWwgPSBh Y3BpLT50bXJfdmFsOwogICAgICAgICBzcGluX3VubG9jaygmcy0+bG9jayk7CiAgICAgfQogICAg IGVsc2UKQEAgLTIzNywxNiArMjQzLDE3IEBAIHN0YXRpYyBpbnQgaGFuZGxlX3BtdF9pbygKICAg ICAgICAgICogdXBkYXRlZCB2YWx1ZSB3aXRoIGEgbG9jay1mcmVlIGF0b21pYyByZWFkLgogICAg ICAgICAgKi8KICAgICAgICAgc3Bpbl9iYXJyaWVyKCZzLT5sb2NrKTsKLSAgICAgICAgKnZhbCA9 IHJlYWRfYXRvbWljKCZzLT5wbS50bXJfdmFsKTsKKyAgICAgICAgKnZhbCA9IHJlYWRfYXRvbWlj KCYoYWNwaS0+dG1yX3ZhbCkpOwogICAgIH0KIAogICAgIHJldHVybiBYODZFTVVMX09LQVk7CiB9 CiAKLXN0YXRpYyBpbnQgcG10aW1lcl9zYXZlKHN0cnVjdCBkb21haW4gKmQsIGh2bV9kb21haW5f Y29udGV4dF90ICpoKQorc3RhdGljIGludCBhY3BpX3NhdmUoc3RydWN0IGRvbWFpbiAqZCwgaHZt X2RvbWFpbl9jb250ZXh0X3QgKmgpCiB7CisgICAgc3RydWN0IGh2bV9od19hY3BpICphY3BpID0g JmQtPmFyY2guaHZtX2RvbWFpbi5hY3BpOwogICAgIFBNVFN0YXRlICpzID0gJmQtPmFyY2guaHZt X2RvbWFpbi5wbF90aW1lLT52cG10OwotICAgIHVpbnQzMl90IHgsIG1zYiA9IHMtPnBtLnRtcl92 YWwgJiBUTVJfVkFMX01TQjsKKyAgICB1aW50MzJfdCB4LCBtc2IgPSBhY3BpLT50bXJfdmFsICYg VE1SX1ZBTF9NU0I7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCAhaGFzX3ZwbShkKSApCkBAIC0y NjEsMjEgKzI2OCwyMSBAQCBzdGF0aWMgaW50IHBtdGltZXJfc2F2ZShzdHJ1Y3QgZG9tYWluICpk LCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICB4ID0gKCgocy0+dmNwdS0+YXJjaC5odm1f dmNwdS5ndWVzdF90aW1lID86IGh2bV9nZXRfZ3Vlc3RfdGltZShzLT52Y3B1KSkgLQogICAgICAg ICAgIHMtPmxhc3RfZ3RpbWUpICogcy0+c2NhbGUpID4+IDMyOwogICAgIGlmICggeCA8IDFVTDw8 MzEgKQotICAgICAgICBzLT5wbS50bXJfdmFsICs9IHg7Ci0gICAgaWYgKCAocy0+cG0udG1yX3Zh bCAmIFRNUl9WQUxfTVNCKSAhPSBtc2IgKQotICAgICAgICBzLT5wbS5wbTFhX3N0cyB8PSBUTVJf U1RTOworCWFjcGktPnRtcl92YWwgKz0geDsKKyAgICBpZiAoIChhY3BpLT50bXJfdmFsICYgVE1S X1ZBTF9NU0IpICE9IG1zYiApCisgICAgICAgIGFjcGktPnBtMWFfc3RzIHw9IFRNUl9TVFM7CiAg ICAgLyogTm8gcG9pbnQgaW4gc2V0dGluZyB0aGUgU0NJIGhlcmUgYmVjYXVzZSB3ZSdsbCBhbHJl YWR5IGhhdmUgc2F2ZWQgdGhlIAogICAgICAqIElSUSBhbmQgKlBJQyBzdGF0ZTsgd2UnbGwgZml4 IGl0IHVwIHdoZW4gd2UgcmVzdG9yZSB0aGUgZG9tYWluICovCi0KLSAgICByYyA9IGh2bV9zYXZl X2VudHJ5KFBNVElNRVIsIDAsIGgsICZzLT5wbSk7CisgICAgcmMgPSBodm1fc2F2ZV9lbnRyeShB Q1BJLCAwLCBoLCBhY3BpKTsKIAogICAgIHNwaW5fdW5sb2NrKCZzLT5sb2NrKTsKIAogICAgIHJl dHVybiByYzsKIH0KIAotc3RhdGljIGludCBwbXRpbWVyX2xvYWQoc3RydWN0IGRvbWFpbiAqZCwg aHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCitzdGF0aWMgaW50IGFjcGlfbG9hZChzdHJ1Y3QgZG9t YWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKIHsKKyAgICBzdHJ1Y3QgaHZtX2h3X2Fj cGkgKmFjcGkgPSAmZC0+YXJjaC5odm1fZG9tYWluLmFjcGk7CiAgICAgUE1UU3RhdGUgKnMgPSAm ZC0+YXJjaC5odm1fZG9tYWluLnBsX3RpbWUtPnZwbXQ7CiAKICAgICBpZiAoICFoYXNfdnBtKGQp ICkKQEAgLTI4NCw3ICsyOTEsNyBAQCBzdGF0aWMgaW50IHBtdGltZXJfbG9hZChzdHJ1Y3QgZG9t YWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICBzcGluX2xvY2soJnMtPmxvY2sp OwogCiAgICAgLyogUmVsb2FkIHRoZSByZWdpc3RlcnMgKi8KLSAgICBpZiAoIGh2bV9sb2FkX2Vu dHJ5KFBNVElNRVIsIGgsICZzLT5wbSkgKQorICAgIGlmICggaHZtX2xvYWRfZW50cnkoQUNQSSwg aCwgYWNwaSkgKQogICAgIHsKICAgICAgICAgc3Bpbl91bmxvY2soJnMtPmxvY2spOwogICAgICAg ICByZXR1cm4gLUVJTlZBTDsKQEAgLTMwMiw3ICszMDksNyBAQCBzdGF0aWMgaW50IHBtdGltZXJf bG9hZChzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICByZXR1 cm4gMDsKIH0KIAotSFZNX1JFR0lTVEVSX1NBVkVfUkVTVE9SRShQTVRJTUVSLCBwbXRpbWVyX3Nh dmUsIHBtdGltZXJfbG9hZCwgCitIVk1fUkVHSVNURVJfU0FWRV9SRVNUT1JFKEFDUEksIGFjcGlf c2F2ZSwgYWNwaV9sb2FkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAxLCBIVk1TUl9QRVJf RE9NKTsKIAogaW50IHBtdGltZXJfY2hhbmdlX2lvcG9ydChzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBpbnQgdmVyc2lvbikKQEAgLTM3Nyw1ICszODQsMTUgQEAgdm9pZCBwbXRpbWVyX3Jlc2V0 KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8qIFJlc2V0IHRoZSBj b3VudGVyLiAqLwotICAgIGQtPmFyY2guaHZtX2RvbWFpbi5wbF90aW1lLT52cG10LnBtLnRtcl92 YWwgPSAwOworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5hY3BpLnRtcl92YWwgPSAwOwogfQorCisv KgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNE IgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMt bW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKaW5kZXggZjM0 ZDc4NC4uZDU1YjQzMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWlu LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKQEAgLTEwMiw2ICsxMDIs OCBAQCBzdHJ1Y3QgaHZtX2RvbWFpbiB7CiAgICAgc3RydWN0IGh2bV92aW9hcGljICAgICp2aW9h cGljOwogICAgIHN0cnVjdCBodm1faHdfc3RkdmdhICAgc3RkdmdhOwogCisgICAgc3RydWN0IGh2 bV9od19hY3BpICAgICBhY3BpOworCiAgICAgLyogVkNQVSB3aGljaCBpcyBjdXJyZW50IHRhcmdl dCBmb3IgODI1OSBpbnRlcnJ1cHRzLiAqLwogICAgIHN0cnVjdCB2Y3B1ICAgICAgICAgICAqaTgy NTlfdGFyZ2V0OwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92cHQuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZwdC5oCmluZGV4IGEyN2JlYTQuLjFiNzIxM2QgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZwdC5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvaHZtL3ZwdC5oCkBAIC0xMjEsNyArMTIxLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUlRD U3RhdGUgewogCiAjZGVmaW5lIEZSRVFVRU5DRV9QTVRJTUVSICAzNTc5NTQ1ICAvKiBUaW1lciBz aG91bGQgcnVuIGF0IDMuNTc5NTQ1IE1IeiAqLwogdHlwZWRlZiBzdHJ1Y3QgUE1UU3RhdGUgewot ICAgIHN0cnVjdCBodm1faHdfcG10aW1lciBwbTsgICAvKiAzMmJpdCB0aW1lciB2YWx1ZSAqLwog ICAgIHN0cnVjdCB2Y3B1ICp2Y3B1OyAgICAgICAgICAvKiBLZWVwcyBzeW5jIHdpdGggdGhpcyB2 Y3B1J3MgZ3Vlc3QtdGltZSAqLwogICAgIHVpbnQ2NF90IGxhc3RfZ3RpbWU7ICAgICAgICAvKiBM YXN0IChndWVzdCkgdGltZSB3ZSB1cGRhdGVkIHRoZSB0aW1lciAqLwogICAgIHVpbnQzMl90IG5v dF9hY2NvdW50ZWQ7ICAgICAvKiB0aW1lIG5vdCBhY2NvdW50ZWQgYXQgbGFzdCB1cGRhdGUgKi8K ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0vc2F2ZS5oIGIveGVu L2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZlLmgKaW5kZXggOGQ3M2I1MS4uMzk5NzQ4 NyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZlLmgKKysr IGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZlLmgKQEAgLTUyNSwxNiArNTI1 LDE2IEBAIERFQ0xBUkVfSFZNX1NBVkVfVFlQRShIUEVULCAxMiwgc3RydWN0IGh2bV9od19ocGV0 KTsKIAogCiAvKgotICogUE0gdGltZXIKKyAqIEFDUEkgcmVnaXN0ZXJzCiAgKi8KIAotc3RydWN0 IGh2bV9od19wbXRpbWVyIHsKK3N0cnVjdCBodm1faHdfYWNwaSB7CiAgICAgdWludDMyX3QgdG1y X3ZhbDsgICAvKiBQTV9UTVJfQkxLLlRNUl9WQUw6IDMyYml0IGZyZWUtcnVubmluZyBjb3VudGVy ICovCiAgICAgdWludDE2X3QgcG0xYV9zdHM7ICAvKiBQTTFhX0VWVF9CTEsuUE0xYV9TVFM6IHN0 YXR1cyByZWdpc3RlciAqLwogICAgIHVpbnQxNl90IHBtMWFfZW47ICAgLyogUE0xYV9FVlRfQkxL LlBNMWFfRU46IGVuYWJsZSByZWdpc3RlciAqLwogfTsKIAotREVDTEFSRV9IVk1fU0FWRV9UWVBF KFBNVElNRVIsIDEzLCBzdHJ1Y3QgaHZtX2h3X3BtdGltZXIpOworREVDTEFSRV9IVk1fU0FWRV9U WVBFKEFDUEksIDEzLCBzdHJ1Y3QgaHZtX2h3X2FjcGkpOwogCiAvKgogICogTVRSUiBNU1JzCi0t IAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=