Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750765AbVKIOFn (ORCPT ); Wed, 9 Nov 2005 09:05:43 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750782AbVKIOFn (ORCPT ); Wed, 9 Nov 2005 09:05:43 -0500 Received: from public.id2-vpn.continvity.gns.novell.com ([195.33.99.129]:44591 "EHLO emea1-mh.id2.novell.com") by vger.kernel.org with ESMTP id S1750765AbVKIOFm (ORCPT ); Wed, 9 Nov 2005 09:05:42 -0500 Message-Id: <43721081.76F0.0078.0@novell.com> X-Mailer: Novell GroupWise Internet Agent 7.0 Date: Wed, 09 Nov 2005 15:06:41 +0100 From: "Jan Beulich" To: Subject: [PATCH 12/39] NLKD/i386 - time adjustment References: <43720DAE.76F0.0078.0@novell.com> <43720E2E.76F0.0078.0@novell.com> <43720E72.76F0.0078.0@novell.com> <43720EAF.76F0.0078.0@novell.com> <43720F5E.76F0.0078.0@novell.com> <43720F95.76F0.0078.0@novell.com> <43720FBA.76F0.0078.0@novell.com> <43720FF6.76F0.0078.0@novell.com> <43721024.76F0.0078.0@novell.com> <4372105B.76F0.0078.0@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part3A180661.0__=" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 17374 Lines: 242 This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part3A180661.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Since i386 time handling is not overflow-safe, these are the adjustments needed for allowing debuggers to update time after having halted the system for perhaps extended periods of time. Signed-Off-By: Jan Beulich (actual patch attached) --=__Part3A180661.0__= Content-Type: application/octet-stream; name="linux-2.6.14-nlkd-time-i386.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-2.6.14-nlkd-time-i386.patch" U2luY2UgaTM4NiB0aW1lIGhhbmRsaW5nIGlzIG5vdCBvdmVyZmxvdy1zYWZlLCB0aGVzZSBhcmUg dGhlCmFkanVzdG1lbnRzIG5lZWRlZCBmb3IgYWxsb3dpbmcgZGVidWdnZXJzIHRvIHVwZGF0ZSB0 aW1lIGFmdGVyCmhhdmluZyBoYWx0ZWQgdGhlIHN5c3RlbSBmb3IgcGVyaGFwcyBleHRlbmRlZCBw ZXJpb2RzIG9mIHRpbWUuCgpTaWduZWQtT2ZmLUJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAbm92 ZWxsLmNvbT4KCkluZGV4OiAyLjYuMTQtbmxrZC9hcmNoL2kzODYva2VybmVsL3RpbWVycy9jb21t b24uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2FyY2gvaTM4Ni9rZXJuZWwvdGlt ZXJzL2NvbW1vbi5jCTIwMDUtMTEtMDkgMTA6NDA6MTcuMDAwMDAwMDAwICswMTAwCisrKyAyLjYu MTQtbmxrZC9hcmNoL2kzODYva2VybmVsL3RpbWVycy9jb21tb24uYwkyMDA1LTExLTA0IDE2OjE5 OjMzLjAwMDAwMDAwMCArMDEwMApAQCAtMTQ5LDcgKzE0OSw3IEBAIHVuc2lnbmVkIGxvbmcgcmVh ZF90aW1lcl90c2Modm9pZCkKIAogCiAvKiBjYWxjdWxhdGUgY3B1X2toeiAqLwotdm9pZCBpbml0 X2NwdV9raHoodm9pZCkKK3Vuc2lnbmVkIGxvbmcgaW5pdF9jcHVfa2h6KHZvaWQpCiB7CiAJaWYg KGNwdV9oYXNfdHNjKSB7CiAJCXVuc2lnbmVkIGxvbmcgdHNjX3F1b3RpZW50ID0gY2FsaWJyYXRl X3RzYygpOwpAQCAtMTY2LDcgKzE2Niw5IEBAIHZvaWQgaW5pdF9jcHVfa2h6KHZvaWQpCiAJCQkJ cHJpbnRrKCJEZXRlY3RlZCAldS4lMDN1IE1IeiBwcm9jZXNzb3IuXG4iLAogCQkJCQljcHVfa2h6 IC8gMTAwMCwgY3B1X2toeiAlIDEwMDApOwogCQkJfQorCQkJcmV0dXJuIHRzY19xdW90aWVudDsK IAkJfQogCX0KKwlyZXR1cm4gMDsKIH0KIApJbmRleDogMi42LjE0LW5sa2QvYXJjaC9pMzg2L2tl cm5lbC90aW1lcnMvdGltZXJfaHBldC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIDIuNi4xNC1ubGtkLm9yaWcv YXJjaC9pMzg2L2tlcm5lbC90aW1lcnMvdGltZXJfaHBldC5jCTIwMDUtMTEtMDkgMTA6NDA6MTcu MDAwMDAwMDAwICswMTAwCisrKyAyLjYuMTQtbmxrZC9hcmNoL2kzODYva2VybmVsL3RpbWVycy90 aW1lcl9ocGV0LmMJMjAwNS0xMS0wNCAxNjoxOTozMy4wMDAwMDAwMDAgKzAxMDAKQEAgLTk5LDcg Kzk5LDcgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X29mZnNldF9ocGV0KHZvaQogc3RhdGlj IHZvaWQgbWFya19vZmZzZXRfaHBldCh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgbG9uZyB0aGlz X29mZnNldCwgbGFzdF9vZmZzZXQ7Ci0JdW5zaWduZWQgbG9uZyBvZmZzZXQ7CisJdW5zaWduZWQg bG9uZyBvZmZzZXQsIGxvc3RfdGlja3MgPSAwOwogCiAJd3JpdGVfc2VxbG9jaygmbW9ub3Rvbmlj X2xvY2spOwogCWxhc3Rfb2Zmc2V0ID0gKCh1bnNpZ25lZCBsb25nIGxvbmcpbGFzdF90c2NfaGln aDw8MzIpfGxhc3RfdHNjX2xvdzsKQEAgLTEwOSwxNCArMTA5LDM0IEBAIHN0YXRpYyB2b2lkIG1h cmtfb2Zmc2V0X2hwZXQodm9pZCkKIAkJb2Zmc2V0ID0gaHBldF9yZWFkbChIUEVUX1QwX0NNUCkg LSBocGV0X3RpY2s7CiAJZWxzZQogCQlvZmZzZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUik7 Ci0JaWYgKHVubGlrZWx5KCgob2Zmc2V0IC0gaHBldF9sYXN0KSA+PSAoMipocGV0X3RpY2spKSAm JiAoaHBldF9sYXN0ICE9IDApKSkgewotCQlpbnQgbG9zdF90aWNrcyA9ICgob2Zmc2V0IC0gaHBl dF9sYXN0KSAvIGhwZXRfdGljaykgLSAxOwotCQlqaWZmaWVzXzY0ICs9IGxvc3RfdGlja3M7CisJ dGhpc19vZmZzZXQgPSAoKHVuc2lnbmVkIGxvbmcgbG9uZylsYXN0X3RzY19oaWdoPDwzMil8bGFz dF90c2NfbG93OworCWlmICh1bmxpa2VseShkZWJ1Z2dlcl9qaWZmaWVzKSkgeworCQl1bnNpZ25l ZCBsb25nIGxvbmcgZGVsdGEgPSB0aGlzX29mZnNldCAtIGxhc3Rfb2Zmc2V0OworCQl1bnNpZ25l ZCBsb25nIGxvLCBoaSwgbG8xOworCisjaWZuZGVmIENPTkZJR19TTVAKKwkJLyogV2hlbiB0aGUg VFNDIGdldHMgcmVzZXQgZHVyaW5nIEFQIHN0YXJ0dXAsIHRoZSBjb2RlIGJlbG93IHdvdWxkCisJ CSAgIGluY29ycmVjdGx5IHRoaW5rIHdlIGxvc3QgYSBodWdlIGFtb3VudCBvZiB0aWNrcy4gKi8K KwkJaWYgKHVubGlrZWx5KChsb25nIGxvbmcpZGVsdGEgPCAwKSkKKwkJCWRlbHRhID0gdGhpc19v ZmZzZXQ7CisjZW5kaWYKKwkJQVNNX01VTDY0X1JFRyhoaSAvKiBkdW1teSAqLywgbG8xLCB0c2Nf aHBldF9xdW90aWVudCwgKHVuc2lnbmVkIGxvbmcpZGVsdGEpOworCQlBU01fTVVMNjRfUkVHKGxv LCBoaSwgdHNjX2hwZXRfcXVvdGllbnQsICh1bnNpZ25lZCBsb25nKShkZWx0YSA+PiAzMikpOwor CQlfX2FzbV9fKCJhZGRsICUzLCAlMVxuXHQiCisJCSAgICAgICAgImFkY2wgJDAsICUyIgorCQkg ICAgICAgIDogIj1BIiAoZGVsdGEpCisJCSAgICAgICAgOiAiYSIgKGxvKSwgImQiIChoaSksICJy bSIgKGxvMSkKKwkJICAgICAgICA6ICJmbGFncyIpOworCQlkb19kaXYoZGVsdGEsIGhwZXRfdGlj ayk7CisJCWxvc3RfdGlja3MgPSBkZWx0YTsKIAl9CisJZWxzZSBpZiAodW5saWtlbHkoKChvZmZz ZXQgLSBocGV0X2xhc3QpID49ICgyKmhwZXRfdGljaykpICYmIChocGV0X2xhc3QgIT0gMCkpKQor CQlsb3N0X3RpY2tzID0gKChvZmZzZXQgLSBocGV0X2xhc3QpIC8gaHBldF90aWNrKTsKKwlpZiAo bG9zdF90aWNrcykKKwkJamlmZmllc182NCArPSBsb3N0X3RpY2tzIC0gMTsKIAlocGV0X2xhc3Qg PSBvZmZzZXQ7CiAKIAkvKiB1cGRhdGUgdGhlIG1vbm90b25pYyBiYXNlIHZhbHVlICovCi0JdGhp c19vZmZzZXQgPSAoKHVuc2lnbmVkIGxvbmcgbG9uZylsYXN0X3RzY19oaWdoPDwzMil8bGFzdF90 c2NfbG93OwogCW1vbm90b25pY19iYXNlICs9IGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0IC0gbGFz dF9vZmZzZXQpOwogCXdyaXRlX3NlcXVubG9jaygmbW9ub3RvbmljX2xvY2spOwogfQpJbmRleDog Mi42LjE0LW5sa2QvYXJjaC9pMzg2L2tlcm5lbC90aW1lcnMvdGltZXJfcG0uYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2FyY2gvaTM4Ni9rZXJuZWwvdGltZXJzL3RpbWVyX3BtLmMJ MjAwNS0xMS0wOSAxMDo0MDoxNy4wMDAwMDAwMDAgKzAxMDAKKysrIDIuNi4xNC1ubGtkL2FyY2gv aTM4Ni9rZXJuZWwvdGltZXJzL3RpbWVyX3BtLmMJMjAwNS0xMS0wNCAxNjoxOTozMy4wMDAwMDAw MDAgKzAxMDAKQEAgLTQyLDYgKzQyLDEwIEBAIHN0YXRpYyB1MzIgb2Zmc2V0X2RlbGF5OwogCiBz dGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIG1vbm90b25pY19iYXNlOwogc3RhdGljIHNlcWxvY2tf dCBtb25vdG9uaWNfbG9jayA9IFNFUUxPQ0tfVU5MT0NLRUQ7CisjaWZuZGVmIGRlYnVnZ2VyX2pp ZmZpZXMKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRzY19xdW90aWVudDsKK3N0YXRpYyB1NjQgdHNj X29mZnNldDsKKyNlbmRpZgogCiAjZGVmaW5lIEFDUElfUE1fTUFTSyAweEZGRkZGRiAvKiBsaW1p dCBpdCB0byAyNCBiaXRzICovCiAKQEAgLTEyNyw2ICsxMzEsOSBAQCBwbV9nb29kOgogCWlmICh2 ZXJpZnlfcG10bXJfcmF0ZSgpICE9IDApCiAJCXJldHVybiAtRU5PREVWOwogCisjaWZuZGVmIGRl YnVnZ2VyX2ppZmZpZXMKKwl0c2NfcXVvdGllbnQgPQorI2VuZGlmCiAJaW5pdF9jcHVfa2h6KCk7 CiAJcmV0dXJuIDA7CiB9CkBAIC0xNTEsNiArMTU4LDExIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGN5 YzJ1cyh1MzIgY3ljbGVzKQogc3RhdGljIHZvaWQgbWFya19vZmZzZXRfcG10bXIodm9pZCkKIHsK IAl1MzIgbG9zdCwgZGVsdGEsIGxhc3Rfb2Zmc2V0OworI2lmZGVmIGRlYnVnZ2VyX2ppZmZpZXMK KyMgZGVmaW5lIGRlbHRhNjQgZGVsdGEKKyNlbHNlCisJdTY0IGRlbHRhNjQsIGxhc3RfdHNjX29m ZnNldCA9IHRzY19vZmZzZXQ7CisjZW5kaWYKIAlzdGF0aWMgaW50IGZpcnN0X3J1biA9IDE7CiAJ bGFzdF9vZmZzZXQgPSBvZmZzZXRfdGljazsKIApAQCAtMTU4LDIxICsxNzAsNjAgQEAgc3RhdGlj IHZvaWQgbWFya19vZmZzZXRfcG10bXIodm9pZCkKIAogCW9mZnNldF90aWNrID0gcmVhZF9wbXRt cigpOwogCi0JLyogY2FsY3VsYXRlIHRpY2sgaW50ZXJ2YWwgKi8KLQlkZWx0YSA9IChvZmZzZXRf dGljayAtIGxhc3Rfb2Zmc2V0KSAmIEFDUElfUE1fTUFTSzsKKyNpZm5kZWYgZGVidWdnZXJfamlm ZmllcworCXJkdHNjbGwodHNjX29mZnNldCk7CiAKLQkvKiBjb252ZXJ0IHRvIHVzZWNzICovCi0J ZGVsdGEgPSBjeWMydXMoZGVsdGEpOworCWlmIChsaWtlbHkoIWRlYnVnZ2VyX2ppZmZpZXMpKSB7 CisjZW5kaWYKKworCQkvKiBjYWxjdWxhdGUgdGljayBpbnRlcnZhbCAqLworCQlkZWx0YSA9IChv ZmZzZXRfdGljayAtIGxhc3Rfb2Zmc2V0KSAmIEFDUElfUE1fTUFTSzsKKworCQkvKiBjb252ZXJ0 IHRvIHVzZWNzICovCisJCWRlbHRhID0gY3ljMnVzKGRlbHRhKTsKKworI2lmbmRlZiBkZWJ1Z2dl cl9qaWZmaWVzCisJCWRlbHRhNjQgPSBkZWx0YTsKKwl9CisJZWxzZSB7CisjIGlmZGVmIENPTkZJ R19TTVAKKwkJLyogV2hlbiB0aGUgVFNDIGdldHMgcmVzZXQgZHVyaW5nIEFQIHN0YXJ0dXAsIHRo ZSBjb2RlIGJlbG93IHdvdWxkCisJCSAgIGluY29ycmVjdGx5IHRoaW5rIHdlIGxvc3QgYSBodWdl IGFtb3VudCBvZiB0aWNrcy4gKi8KKwkJaWYgKHVubGlrZWx5KChsb25nIGxvbmcpKHRzY19vZmZz ZXQgLSBsYXN0X3RzY19vZmZzZXQpIDwgMCkpCisJCQlkZWx0YTY0ID0gdHNjX29mZnNldDsKKwkJ ZWxzZQorIyBlbmRpZgorCQkJZGVsdGE2NCA9IHRzY19vZmZzZXQgLSBsYXN0X3RzY19vZmZzZXQ7 CisJCV9fYXNtX18oIm11bGwgJTIiCisJCQk6ICI9YSIgKGxvc3QgLyoganVzdCBhIGR1bW15ICov KSwKKwkJCSAgIj1kIiAoZGVsdGEpCisJCQk6ICJybSIgKHRzY19xdW90aWVudCksCisJCQkgICIw IiAoKHVuc2lnbmVkIGxvbmcpZGVsdGE2NCkpOworCQlfX2FzbV9fKCJtdWxsICUxIgorCQkJOiAi PUEiIChkZWx0YTY0KQorCQkJOiAicm0iICh0c2NfcXVvdGllbnQpLAorCQkJICAiYSIgKCh1bnNp Z25lZCBsb25nKShkZWx0YTY0ID4+IDMyKSkpOworCQlkZWx0YTY0ICs9IGRlbHRhOworCQlkZWx0 YSA9ICh1MzIpZGVsdGE2NCA/ICh1MzIpZGVsdGE2NCAtIDEgOiAob2Zmc2V0X2RlbGF5ID0gMCk7 CisJfQorI2VuZGlmCiAKIAkvKiB1cGRhdGUgdGhlIG1vbm90b25pYyBiYXNlIHZhbHVlICovCiAJ bW9ub3RvbmljX2Jhc2UgKz0gZGVsdGEgKiBOU0VDX1BFUl9VU0VDOwogCXdyaXRlX3NlcXVubG9j aygmbW9ub3RvbmljX2xvY2spOwogCiAJLyogY29udmVydCB0byB0aWNrcyAqLwotCWRlbHRhICs9 IG9mZnNldF9kZWxheTsKLQlsb3N0ID0gZGVsdGEgLyAoVVNFQ19QRVJfU0VDIC8gSFopOwotCW9m ZnNldF9kZWxheSA9IGRlbHRhICUgKFVTRUNfUEVSX1NFQyAvIEhaKTsKLQorCWlmIChsaWtlbHko ZGVsdGEgPT0gZGVsdGE2NCkpIHsKKwkJZGVsdGEgKz0gb2Zmc2V0X2RlbGF5OworCQlsb3N0ID0g ZGVsdGEgLyAoVVNFQ19QRVJfU0VDIC8gSFopOworCQlvZmZzZXRfZGVsYXkgPSBkZWx0YSAlIChV U0VDX1BFUl9TRUMgLyBIWik7CisJfQorCWVsc2UgeworCQlkb19kaXYoZGVsdGE2NCwgVVNFQ19Q RVJfU0VDIC8gSFopOworCQlsb3N0ID0gZGVsdGE2NDsKKwkJb2Zmc2V0X2RlbGF5ID0gMDsKKwl9 CisjdW5kZWYgZGVsdGE2NAogCiAJLyogY29tcGVuc2F0ZSBmb3IgbG9zdCB0aWNrcyAqLwogCWlm IChsb3N0ID49IDIpCkluZGV4OiAyLjYuMTQtbmxrZC9hcmNoL2kzODYva2VybmVsL3RpbWVycy90 aW1lcl90c2MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2FyY2gvaTM4Ni9rZXJu ZWwvdGltZXJzL3RpbWVyX3RzYy5jCTIwMDUtMTEtMDkgMTA6NDA6MTcuMDAwMDAwMDAwICswMTAw CisrKyAyLjYuMTQtbmxrZC9hcmNoL2kzODYva2VybmVsL3RpbWVycy90aW1lcl90c2MuYwkyMDA1 LTExLTA0IDE2OjE5OjMzLjAwMDAwMDAwMCArMDEwMApAQCAtMzgsMTEgKzM4LDIxIEBAIGludCB0 c2NfZGlzYWJsZSBfX2RldmluaXRkYXRhID0gMDsKIAogc3RhdGljIGludCB1c2VfdHNjOwogLyog TnVtYmVyIG9mIHVzZWNzIHRoYXQgdGhlIGxhc3QgaW50ZXJydXB0IHdhcyBkZWxheWVkICovCi1z dGF0aWMgaW50IGRlbGF5X2F0X2xhc3RfaW50ZXJydXB0Oworc3RhdGljIHVuc2lnbmVkIGxvbmcg ZGVsYXlfYXRfbGFzdF9pbnRlcnJ1cHQ7CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RfdHNj X2xvdzsgLyogbHNiIDMyIGJpdHMgb2YgVGltZSBTdGFtcCBDb3VudGVyICovCiBzdGF0aWMgdW5z aWduZWQgbG9uZyBsYXN0X3RzY19oaWdoOyAvKiBtc2IgMzIgYml0cyBvZiBUaW1lIFN0YW1wIENv dW50ZXIgKi8KIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgbW9ub3RvbmljX2Jhc2U7CisjaWZk ZWYgQ09ORklHX0hQRVRfVElNRVIKKyNpZmRlZiBDT05GSUdfREVCVUdfS0VSTkVMCitzdGF0aWMg dW5zaWduZWQgbG9uZyB0c2NfaHBldF9xdW90aWVudDsJCS8qIGNvbnZlcnQgdHNjIHRvIGhwZXQg Y2xrcyAqLworI2RlZmluZSBUU0NfSFBFVF9RVU9USUVOVF9QVFIgKCZ0c2NfaHBldF9xdW90aWVu dCkKKyNlbHNlCisjZGVmaW5lIHRzY19ocGV0X3F1b3RpZW50IDAKKyNkZWZpbmUgVFNDX0hQRVRf UVVPVElFTlRfUFRSIE5VTEwKKyNlbmRpZgorI2VuZGlmCisKIHN0YXRpYyBzZXFsb2NrX3QgbW9u b3RvbmljX2xvY2sgPSBTRVFMT0NLX1VOTE9DS0VEOwogCiAvKiBjb252ZXJ0IGZyb20gY3ljbGVz KDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKQEAgLTE3MCw3ICsxODAsNyBAQCBzdGF0 aWMgdm9pZCBkZWxheV90c2ModW5zaWduZWQgbG9uZyBsb29wCiBzdGF0aWMgdm9pZCBtYXJrX29m ZnNldF90c2NfaHBldCh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgbG9uZyB0aGlzX29mZnNldCwg bGFzdF9vZmZzZXQ7Ci0gCXVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB0ZW1wLCBocGV0X2N1cnJlbnQ7 CisgCXVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB0ZW1wLCBocGV0X2N1cnJlbnQsIGxvc3RfdGlja3Mg PSAwOwogCiAJd3JpdGVfc2VxbG9jaygmbW9ub3RvbmljX2xvY2spOwogCWxhc3Rfb2Zmc2V0ID0g KCh1bnNpZ25lZCBsb25nIGxvbmcpbGFzdF90c2NfaGlnaDw8MzIpfGxhc3RfdHNjX2xvdzsKQEAg LTE5MCwxNSArMjAwLDMzIEBAIHN0YXRpYyB2b2lkIG1hcmtfb2Zmc2V0X3RzY19ocGV0KHZvaWQp CiAJcmR0c2MobGFzdF90c2NfbG93LCBsYXN0X3RzY19oaWdoKTsKIAogCS8qIGxvc3QgdGljayBj b21wZW5zYXRpb24gKi8KKwl0aGlzX29mZnNldCA9ICgodW5zaWduZWQgbG9uZyBsb25nKWxhc3Rf dHNjX2hpZ2g8PDMyKXxsYXN0X3RzY19sb3c7CiAJb2Zmc2V0ID0gaHBldF9yZWFkbChIUEVUX1Qw X0NNUCkgLSBocGV0X3RpY2s7Ci0JaWYgKHVubGlrZWx5KCgob2Zmc2V0IC0gaHBldF9sYXN0KSA+ IGhwZXRfdGljaykgJiYgKGhwZXRfbGFzdCAhPSAwKSkpIHsKLQkJaW50IGxvc3RfdGlja3MgPSAo b2Zmc2V0IC0gaHBldF9sYXN0KSAvIGhwZXRfdGljazsKLQkJamlmZmllc182NCArPSBsb3N0X3Rp Y2tzOworCWlmICh1bmxpa2VseShkZWJ1Z2dlcl9qaWZmaWVzKSkgeworCQl1bnNpZ25lZCBsb25n IGxvbmcgZGVsdGEgPSB0aGlzX29mZnNldCAtIGxhc3Rfb2Zmc2V0OworCisJCWlmIChsaWtlbHko KGxvbmcgbG9uZylkZWx0YSA+IDApKSB7CisJCQl1bnNpZ25lZCBsb25nIGxvLCBoaSwgbG8xOwor CQkJdW5zaWduZWQgbG9uZyBsb25nIGZ1bGw7CisKKwkJCUFTTV9NVUw2NF9SRUcodGVtcCwgbG8x LCB0c2NfaHBldF9xdW90aWVudCwgKHVuc2lnbmVkIGxvbmcpZGVsdGEpOworCQkJQVNNX01VTDY0 X1JFRyhsbywgaGksIHRzY19ocGV0X3F1b3RpZW50LCAodW5zaWduZWQgbG9uZykoZGVsdGEgPj4g MzIpKTsKKwkJCV9fYXNtX18oImFkZGwgJTMsICUxXG5cdCIKKwkJCSAgICAgICAgImFkY2wgJDAs ICUyIgorCQkJICAgICAgICA6ICI9QSIgKGZ1bGwpCisJCQkgICAgICAgIDogImEiIChsbyksICJk IiAoaGkpLCAicm0iIChsbzEpCisJCQkgICAgICAgIDogImZsYWdzIik7CisJCQlkb19kaXYoZnVs bCwgaHBldF90aWNrKTsKKwkJCWxvc3RfdGlja3MgPSBmdWxsOworCQl9CiAJfQorCWVsc2UgaWYg KHVubGlrZWx5KCgob2Zmc2V0IC0gaHBldF9sYXN0KSA+IGhwZXRfdGljaykgJiYgKGhwZXRfbGFz dCAhPSAwKSkpCisJCWxvc3RfdGlja3MgPSAob2Zmc2V0IC0gaHBldF9sYXN0KSAvIGhwZXRfdGlj azsKKwlpZiAobG9zdF90aWNrcykKKwkJamlmZmllc182NCArPSBsb3N0X3RpY2tzIC0gMTsKIAlo cGV0X2xhc3QgPSBocGV0X2N1cnJlbnQ7CiAKIAkvKiB1cGRhdGUgdGhlIG1vbm90b25pYyBiYXNl IHZhbHVlICovCi0JdGhpc19vZmZzZXQgPSAoKHVuc2lnbmVkIGxvbmcgbG9uZylsYXN0X3RzY19o aWdoPDwzMil8bGFzdF90c2NfbG93OwogCW1vbm90b25pY19iYXNlICs9IGN5Y2xlc18yX25zKHRo aXNfb2Zmc2V0IC0gbGFzdF9vZmZzZXQpOwogCXdyaXRlX3NlcXVubG9jaygmbW9ub3RvbmljX2xv Y2spOwogCkBAIC0zNDIsNyArMzcwLDYgQEAgRVhQT1JUX1NZTUJPTChyZWNhbGlicmF0ZV9jcHVf a2h6KTsKIHN0YXRpYyB2b2lkIG1hcmtfb2Zmc2V0X3RzYyh2b2lkKQogewogCXVuc2lnbmVkIGxv bmcgbG9zdCxkZWxheTsKLQl1bnNpZ25lZCBsb25nIGRlbHRhID0gbGFzdF90c2NfbG93OwogCWlu dCBjb3VudDsKIAlpbnQgY291bnRtcDsKIAlzdGF0aWMgaW50IGNvdW50MSA9IDA7CkBAIC00MDAs MjUgKzQyNyw1NSBAQCBzdGF0aWMgdm9pZCBtYXJrX29mZnNldF90c2Modm9pZCkKIAkJfQogCX0K IAorCXRoaXNfb2Zmc2V0ID0gKCh1bnNpZ25lZCBsb25nIGxvbmcpbGFzdF90c2NfaGlnaDw8MzIp fGxhc3RfdHNjX2xvdzsKKwogCS8qIGxvc3QgdGljayBjb21wZW5zYXRpb24gKi8KLQlkZWx0YSA9 IGxhc3RfdHNjX2xvdyAtIGRlbHRhOwotCXsKKwlpZiAobGlrZWx5KCFkZWJ1Z2dlcl9qaWZmaWVz KSkgeworCQl1bnNpZ25lZCBsb25nIGRlbHRhID0gbGFzdF90c2NfbG93IC0gKHVuc2lnbmVkIGxv bmcpbGFzdF9vZmZzZXQ7CiAJCXJlZ2lzdGVyIHVuc2lnbmVkIGxvbmcgZWF4LCBlZHg7CisKIAkJ ZWF4ID0gZGVsdGE7CiAJCV9fYXNtX18oIm11bGwgJTIiCiAJCToiPWEiIChlYXgpLCAiPWQiIChl ZHgpCiAJCToicm0iIChmYXN0X2dldHRpbWVvZmZzZXRfcXVvdGllbnQpLAogCQkgIjAiIChlYXgp KTsKIAkJZGVsdGEgPSBlZHg7CisJCWRlbHRhICs9IGRlbGF5X2F0X2xhc3RfaW50ZXJydXB0Owor CQlsb3N0ID0gZGVsdGEgLyAoVVNFQ19QRVJfU0VDIC8gSFopOworCQlkZWxheSA9IGRlbHRhICUg KFVTRUNfUEVSX1NFQyAvIEhaKTsKKwl9CisJZWxzZSB7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBk ZWx0YTsKKwkJdW5zaWduZWQgbG9uZyBkZWx0YV9sb3c7CisKKyNpZmRlZiBDT05GSUdfU01QCisJ CS8qIFdoZW4gdGhlIFRTQyBnZXRzIHJlc2V0IGR1cmluZyBBUCBzdGFydHVwLCB0aGUgY29kZSBi ZWxvdyB3b3VsZAorCQkgICBpbmNvcnJlY3RseSB0aGluayB3ZSBsb3N0IGEgaHVnZSBhbW91bnQg b2YgdGlja3MuICovCisJCWlmICh1bmxpa2VseSgobG9uZyBsb25nKSh0aGlzX29mZnNldCAtIGxh c3Rfb2Zmc2V0KSA8IDApKQorCQkJZGVsdGEgPSB0aGlzX29mZnNldDsKKwkJZWxzZQorI2VuZGlm CisJCQlkZWx0YSA9IHRoaXNfb2Zmc2V0IC0gbGFzdF9vZmZzZXQ7CisKKwkJX19hc21fXygibXVs bCAlMiIKKwkJCTogIj1hIiAobG9zdCAvKiBqdXN0IGEgZHVtbXkgKi8pLAorCQkJICAiPWQiIChk ZWx0YV9sb3cpCisJCQk6ICJybSIgKGZhc3RfZ2V0dGltZW9mZnNldF9xdW90aWVudCksCisJCQkg ICIwIiAoKHVuc2lnbmVkIGxvbmcpZGVsdGEpKTsKKwkJX19hc21fXygibXVsbCAlMSIKKwkJCTog Ij1BIiAoZGVsdGEpCisJCQk6ICJybSIgKGZhc3RfZ2V0dGltZW9mZnNldF9xdW90aWVudCksCisJ CQkgICJhIiAoKHVuc2lnbmVkIGxvbmcpKGRlbHRhID4+IDMyKSkpOworCQlkZWx0YSArPSBkZWx0 YV9sb3c7CisJCWRlbHRhICs9IGRlbGF5X2F0X2xhc3RfaW50ZXJydXB0OworCQlkZWxheSA9IGRv X2RpdihkZWx0YSwgVVNFQ19QRVJfU0VDIC8gSFopOworCQlsb3N0ID0gZGVsdGE7CiAJfQotCWRl bHRhICs9IGRlbGF5X2F0X2xhc3RfaW50ZXJydXB0OwotCWxvc3QgPSBkZWx0YS8oMTAwMDAwMC9I Wik7Ci0JZGVsYXkgPSBkZWx0YSUoMTAwMDAwMC9IWik7CiAJaWYgKGxvc3QgPj0gMikgewogCQlq aWZmaWVzXzY0ICs9IGxvc3QtMTsKIAogCQkvKiBzYW5pdHkgY2hlY2sgdG8gZW5zdXJlIHdlJ3Jl IG5vdCBhbHdheXMgbG9zaW5nIHRpY2tzICovCi0JCWlmIChsb3N0X2NvdW50KysgPiAxMDApIHsK KwkJaWYgKCFkZWJ1Z2dlcl9qaWZmaWVzICYmIGxvc3RfY291bnQrKyA+IDEwMCkgewogCQkJcHJp bnRrKEtFUk5fV0FSTklORyAiTG9zaW5nIHRvbyBtYW55IHRpY2tzIVxuIik7CiAJCQlwcmludGso S0VSTl9XQVJOSU5HICJUU0MgY2Fubm90IGJlIHVzZWQgYXMgYSB0aW1lc291cmNlLiAgXG4iKTsK IAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBvc3NpYmxlIHJlYXNvbnMgZm9yIHRoaXMgYXJlOlxu Iik7CkBAIC00MzUsNyArNDkyLDYgQEAgc3RhdGljIHZvaWQgbWFya19vZmZzZXRfdHNjKHZvaWQp CiAJfSBlbHNlCiAJCWxvc3RfY291bnQgPSAwOwogCS8qIHVwZGF0ZSB0aGUgbW9ub3RvbmljIGJh c2UgdmFsdWUgKi8KLQl0aGlzX29mZnNldCA9ICgodW5zaWduZWQgbG9uZyBsb25nKWxhc3RfdHNj X2hpZ2g8PDMyKXxsYXN0X3RzY19sb3c7CiAJbW9ub3RvbmljX2Jhc2UgKz0gY3ljbGVzXzJfbnMo dGhpc19vZmZzZXQgLSBsYXN0X29mZnNldCk7CiAJd3JpdGVfc2VxdW5sb2NrKCZtb25vdG9uaWNf bG9jayk7CiAKQEAgLTQ5OSw3ICs1NTUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBpbml0X3RzYyhj aGFyKiBvdmVycmlkCiAJCWlmIChpc19ocGV0X2VuYWJsZWQoKSAmJiBocGV0X3VzZV90aW1lcikg ewogCQkJdW5zaWduZWQgbG9uZyByZXN1bHQsIHJlbWFpbjsKIAkJCXByaW50aygiVXNpbmcgVFND IGZvciBnZXR0aW1lb2ZkYXlcbiIpOwotCQkJdHNjX3F1b3RpZW50ID0gY2FsaWJyYXRlX3RzY19o cGV0KE5VTEwpOworCQkJdHNjX3F1b3RpZW50ID0gY2FsaWJyYXRlX3RzY19ocGV0KFRTQ19IUEVU X1FVT1RJRU5UX1BUUik7CiAJCQl0aW1lcl90c2MubWFya19vZmZzZXQgPSAmbWFya19vZmZzZXRf dHNjX2hwZXQ7CiAJCQkvKgogCQkJICogTWF0aCB0byBjYWxjdWxhdGUgaHBldCB0byB1c2VjIG11 bHRpcGxpZXIKSW5kZXg6IDIuNi4xNC1ubGtkL2luY2x1ZGUvYXNtLWkzODYvdGltZXIuaAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2luY2x1ZGUvYXNtLWkzODYvdGltZXIuaAkyMDA1 LTExLTA5IDEwOjQwOjE3LjAwMDAwMDAwMCArMDEwMAorKysgMi42LjE0LW5sa2QvaW5jbHVkZS9h c20taTM4Ni90aW1lci5oCTIwMDUtMTEtMDQgMTY6MTk6MzQuMDAwMDAwMDAwICswMTAwCkBAIC01 Nyw3ICs1Nyw3IEBAIGV4dGVybiBzdHJ1Y3QgaW5pdF90aW1lcl9vcHRzIHRpbWVyX2N5Y2wKIAog ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgY2FsaWJyYXRlX3RzYyh2b2lkKTsKIGV4dGVybiB1bnNpZ25l ZCBsb25nIHJlYWRfdGltZXJfdHNjKHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdF9jcHVfa2h6KHZv aWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9jcHVfa2h6KHZvaWQpOwogZXh0ZXJuIGlu dCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpOwogI2lmZGVmIENPTkZJR19IUEVUX1RJTUVSCiBl eHRlcm4gc3RydWN0IGluaXRfdGltZXJfb3B0cyB0aW1lcl9ocGV0X2luaXQ7Cg== --=__Part3A180661.0__=-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/