Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754462AbYAHXnR (ORCPT ); Tue, 8 Jan 2008 18:43:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753063AbYAHXnD (ORCPT ); Tue, 8 Jan 2008 18:43:03 -0500 Received: from smtp-out.google.com ([216.239.45.13]:1906 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750844AbYAHXnA (ORCPT ); Tue, 8 Jan 2008 18:43:00 -0500 DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=received:message-id:date:from:to:subject:in-reply-to: mime-version:content-type:references; b=BlwKjgMf2+vyCkVaq3V3gwEboeDcDnV2hspa1VDO/XBdm8dxRvDpvT79pBMcL8w3c m+jNp7QBsGPz8EQ8hX5Jg== Message-ID: <3f1a065b0801081542p6cca6249g35e83f7e1f450fbd@mail.gmail.com> Date: Tue, 8 Jan 2008 15:42:56 -0800 From: "Russell Leidich" To: "Andi Kleen" , "Torsten Kaiser" , "Andrew Morton" , linux-kernel@vger.kernel.org, "Thomas Gleixner" , "Ingo Molnar" , valdis.kletnieks@vt.edu, "Tim Hockin" Subject: Re: [PATCH] AMD Thermal Interrupt Support In-Reply-To: <3f1a065b0801051208y7e832e8ctda61f28e6328dec3@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_19803_13178826.1199835776157" References: <3f1a065b0801021312w6f823cbeh9ea6b73d2b0c46c8@mail.gmail.com> <64bb37e0801021333g3cccff81k68df75463e4a21d0@mail.gmail.com> <3f1a065b0801021350x7fd065fbj9680ce1a4f3c6538@mail.gmail.com> <20080102215433.GB13784@one.firstfloor.org> <3f1a065b0801041333x579d0a8fs9c5535f95dd56015@mail.gmail.com> <20080104222637.GA19248@one.firstfloor.org> <3f1a065b0801041653y77c27a8cvce703cb7d13e10a0@mail.gmail.com> <20080105132402.GA705@one.firstfloor.org> <3f1a065b0801051208y7e832e8ctda61f28e6328dec3@mail.gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 16676 Lines: 232 ------=_Part_19803_13178826.1199835776157 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline OK all, I fixed the comments about accessing PCI config space in an interrupt context. Can someone please give me a thumbs up or down about checking this in? If it's thumbs up, I will do a final retest and mail back a Signed-off-by patch. -- Russell Leidich ------=_Part_19803_13178826.1199835776157 Content-Type: text/plain; name=patch.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fb73841g0 Content-Disposition: attachment; filename=patch.txt ZGlmZiAtdXByTiAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS5vcmlnL2FyY2gveDg2L2tlcm5l bC9jcHUvbWNoZWNrL01ha2VmaWxlIC9ob21lL3JtbC9saW51eC0yLjYuMjQtcmM1L2FyY2gveDg2 L2tlcm5lbC9jcHUvbWNoZWNrL01ha2VmaWxlCi0tLSAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJj NS5vcmlnL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL01ha2VmaWxlCTIwMDctMTItMTEgMTQ6 MzA6NTMuNTMzMjk3MDAwIC0wODAwCisrKyAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS9hcmNo L3g4Ni9rZXJuZWwvY3B1L21jaGVjay9NYWtlZmlsZQkyMDA3LTEyLTExIDExOjU2OjIwLjU0OTE4 NTAwMCAtMDgwMApAQCAtMSw0ICsxLDQgQEAKLW9iai15CQkJCT0gIG1jZV8kKEJJVFMpLm8gdGhl cm1fdGhyb3Qubworb2JqLXkJCQkJPSAgbWNlXyQoQklUUykubyB0aGVybV90aHJvdC5vIG1jZV90 aGVybWFsLm8KIAogb2JqLSQoQ09ORklHX1g4Nl8zMikJCSs9IGs3Lm8gcDQubyBwNS5vIHA2Lm8g d2luY2hpcC5vCiBvYmotJChDT05GSUdfWDg2X01DRV9JTlRFTCkJKz0gbWNlX2ludGVsXzY0Lm8K ZGlmZiAtdXByTiAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS5vcmlnL2FyY2gveDg2L2tlcm5l bC9jcHUvbWNoZWNrL21jZV9hbWRfNjQuYyAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS9hcmNo L3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfYW1kXzY0LmMKLS0tIC9ob21lL3JtbC9saW51eC0y LjYuMjQtcmM1Lm9yaWcvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2FtZF82NC5jCTIw MDctMTItMTEgMTQ6MzA6NTMuNTU5Mjk4MDAwIC0wODAwCisrKyAvaG9tZS9ybWwvbGludXgtMi42 LjI0LXJjNS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfYW1kXzY0LmMJMjAwOC0wMS0w OCAxNToyMTo0NC4yNDEzMTAwMDAgLTA4MDAKQEAgLTIwLDE1ICsyMCwxOCBAQAogI2luY2x1ZGUg PGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KICNpbmNsdWRl IDxsaW51eC9ub3RpZmllci5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KICNpbmNsdWRl IDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4 L3N5c2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMu aD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUg PGFzbS9wZXJjcHUuaD4KICNpbmNsdWRlIDxhc20vaWRsZS5oPgorI2luY2x1ZGUgPGFzbS90aGVy bV90aHJvdC5oPgorI2luY2x1ZGUgPGFzbS9rOC5oPgorI2luY2x1ZGUgIm1jZV90aGVybWFsLmgi CiAKICNkZWZpbmUgUEZYICAgICAgICAgICAgICAgIm1jZV90aHJlc2hvbGQ6ICIKICNkZWZpbmUg VkVSU0lPTiAgICAgICAgICAgInZlcnNpb24gMS4xLjEiCkBAIC00Niw2ICs0OSwxNiBAQAogI2Rl ZmluZSBNQVNLX0VSUl9DT1VOVF9ISSAweDAwMDAwRkZGCiAjZGVmaW5lIE1BU0tfQkxLUFRSX0xP ICAgIDB4RkYwMDAwMDAKICNkZWZpbmUgTUNHX1hCTEtfQUREUiAgICAgMHhDMDAwMDQwMAorI2Rl ZmluZSBUSEVSTV9DVExfRjNYNjQgICAweDY0CisjZGVmaW5lIFBTTF9BUElDX0xPX0VOICAgIDB4 ODAKKyNkZWZpbmUgUFNMX0FQSUNfSElfRU4gICAgMHg0MAorI2RlZmluZSBIVENfQUNUSVZFICAg ICAgICAweDEwCisjZGVmaW5lIEhUQ19FTiAgICAgICAgICAgIDEKKyNkZWZpbmUgTkJfUENJX0RF Vl9CQVNFICAgMHgxOAorCitzdGF0aWMgaW50IHNtcF90aGVybWFsX2ludGVycnVwdF9pbml0KHZv aWQpOworc3RhdGljIGludCB0aGVybWFsX2FwaWNfaW5pdF9hbGxvd2VkOworc3RhdGljIHZvaWQg dGhlcm1hbF9hcGljX2luaXQodm9pZCAqdW51c2VkKTsKIAogc3RydWN0IHRocmVzaG9sZF9ibG9j ayB7CiAJdW5zaWduZWQgaW50IGJsb2NrOwpAQCAtNjU3LDYgKzY3MCw5IEBAIHN0YXRpYyBpbnQg dGhyZXNob2xkX2NwdV9jYWxsYmFjayhzdHJ1Y3QKIAljYXNlIENQVV9PTkxJTkU6CiAJY2FzZSBD UFVfT05MSU5FX0ZST1pFTjoKIAkJdGhyZXNob2xkX2NyZWF0ZV9kZXZpY2UoY3B1KTsKKwkJaWYg KHRoZXJtYWxfYXBpY19pbml0X2FsbG93ZWQpCisJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUo Y3B1LAorCQkJCQkmdGhlcm1hbF9hcGljX2luaXQsIE5VTEwsIDEsIDApOwogCQlicmVhazsKIAlj YXNlIENQVV9ERUFEOgogCWNhc2UgQ1BVX0RFQURfRlJPWkVOOgpAQCAtNjY1LDcgKzY4MSw3IEBA IHN0YXRpYyBpbnQgdGhyZXNob2xkX2NwdV9jYWxsYmFjayhzdHJ1Y3QKIAlkZWZhdWx0OgogCQli cmVhazsKIAl9Ci0gICAgICBvdXQ6CitvdXQ6CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApAQCAt Njg4LDMgKzcwNCwxODIgQEAgc3RhdGljIF9faW5pdCBpbnQgdGhyZXNob2xkX2luaXRfZGV2aWNl KAogfQogCiBkZXZpY2VfaW5pdGNhbGwodGhyZXNob2xkX2luaXRfZGV2aWNlKTsKKworLyoKKyAq IEFNRC1zcGVjaWZpYyB0aGVybWFsIGludGVycnVwdCBoYW5kbGVyLgorICovCit2b2lkIGFtZF9z bXBfdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3By b2Nlc3Nvcl9pZCgpOworCisJYWNrX0FQSUNfaXJxKCk7CisJZXhpdF9pZGxlKCk7CisJaXJxX2Vu dGVyKCk7CisJLyoKKwkgKiBXZSdyZSBoZXJlIGJlY2F1c2UgdGhlcm1hbCB0aHJvdHRsaW5nIGhh cyBqdXN0IGJlZW4gYWN0aXZhdGVkIC0tIG5vdAorCSAqIGRlYWN0aXZhdGVkIC0tIGhlbmNlIHRo ZXJtX3Rocm90X3Byb2Nlc3MoMSkuCisJICovCisJaWYgKHRoZXJtX3Rocm90X3Byb2Nlc3MoMSkp CisJCW1jZV9sb2dfdGhlcm1fdGhyb3RfZXZlbnQoY3B1LCAxKTsKKwkvKgorCSAqIFdlJ2xsIHN0 aWxsIGdldCBzdWJzZXF1ZW50IGludGVycnVwdHMgZXZlbiBpZiB3ZSBkb24ndCBjbGVhciB0aGUK KwkgKiBzdGF0dXMgYml0IGluIFRIRVJNX0NUTF9GM1g2NC4gIFRha2UgYWR2YW50YWdlIG9mIHRo aXMgZmFjdCB0byBhdm9pZAorCSAqIHdhc3RpbmcgdGltZSBhbmQgaWNhY2hlIGJ5IHRvdWNoaW5n IFBDSSBjb25maWcgc3BhY2UuCisJICovCisJaXJxX2V4aXQoKTsKK30KKworLyoKKyAqIEluaXRp YWxpemUgZWFjaCBub3J0aGJyaWRnZSdzIHRoZXJtYWwgdGhyb3R0bGluZyBsb2dpYy4KKyAqLwor c3RhdGljIHZvaWQgc21wX3RoZXJtYWxfbm9ydGhicmlkZ2VfaW5pdCh2b2lkKQoreworCWludCBu Yl9udW07CisJdTMyIHRoZXJtX2N0bF9mM3g2NDsKKworCWZvciAobmJfbnVtID0gMDsgbmJfbnVt IDwgbnVtX2s4X25vcnRoYnJpZGdlczsgbmJfbnVtKyspIHsKKwkJLyoKKwkJICogQ29uZmlndXJl IHRoZSB0aGVybWFsIGludGVycnVwdCBmb3IgdGhpcyBub3J0aGJyaWRnZS4KKwkJICovCisJCXBj aV9yZWFkX2NvbmZpZ19kd29yZChrOF9ub3J0aGJyaWRnZXNbbmJfbnVtXSwKKwkJCQkJVEhFUk1f Q1RMX0YzWDY0LCAmdGhlcm1fY3RsX2YzeDY0KTsKKwkJdGhlcm1fY3RsX2YzeDY0IHw9IFBTTF9B UElDX0hJX0VOIHwgSFRDX0VOOworCQl0aGVybV9jdGxfZjN4NjQgJj0gKH5QU0xfQVBJQ19MT19F Tik7CisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoazhfbm9ydGhicmlkZ2VzW25iX251bV0sCisJ CQkJCVRIRVJNX0NUTF9GM1g2NCwgdGhlcm1fY3RsX2YzeDY0KTsKKwkJcHJpbnRrKEtFUk5fSU5G TyAiTm9ydGhicmlkZ2UgYXQgUENJIGRldmljZSAweCV4OiAiCisJCQkidGhlcm1hbCBtb25pdG9y aW5nIGVuYWJsZWQuXG4iLCBOQl9QQ0lfREVWX0JBU0UgKworCQkJCQkJCQkJbmJfbnVtKTsKKwl9 Cit9CisKKy8qCisgKiBFbmFibGUgdGhlIGRlbGl2ZXJ5IG9mIHRoZXJtYWwgaW50ZXJydXB0cyB2 aWEgdGhlIGxvY2FsIEFQSUMuCisgKi8KK3N0YXRpYyB2b2lkIHRoZXJtYWxfYXBpY19pbml0KHZv aWQgKnVudXNlZCkKK3sKKwl1bnNpZ25lZCBpbnQgYXBpY19sdl90aGVybTsKKworCS8qIFNldCB1 cCBBUElDX0xWVFRITVIgdG8gaXNzdWUgVEhFUk1BTF9BUElDX1ZFQ1RPUi4gKi8KKwlhcGljX2x2 X3RoZXJtID0gYXBpY19yZWFkKEFQSUNfTFZUVEhNUik7CisJLyoKKwkgKiBTZWUgaWYgc29tZSBh Z2VudCBvdGhlciB0aGFuIHRoaXMgcm91dGluZSBoYXMgYWxyZWFkeSBpbml0aWFsaXplZAorCSAq IEFQSUNfTFZUVEhNUiwgaS5lLiBpZiBpdCdzIHVubWFza2VkLCBidXQgbm90IGVxdWFsIHRvIHRo ZSB2YWx1ZSB0aGF0CisJICogd2Ugd291bGQgaGF2ZSBwcm9ncmFtbWVkLCBoYWQgd2UgYmVlbiBo ZXJlIGJlZm9yZSBvbiB0aGlzIGNvcmUuCisJICovCisJaWYgKCghKGFwaWNfbHZfdGhlcm0gJiBB UElDX0xWVF9NQVNLRUQpKSAmJiAoKGFwaWNfbHZfdGhlcm0gJgorCQkoQVBJQ19NT0RFX01BU0sg fCBBUElDX1ZFQ1RPUl9NQVNLKSkgIT0gKEFQSUNfRE1fRklYRUQgfAorCQlUSEVSTUFMX0FQSUNf VkVDVE9SKSkpIHsKKwkJdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwor CQlwcmludGsoS0VSTl9XQVJOSU5HICJDUFUgMHgleDogVGhlcm1hbCBtb25pdG9yaW5nIG5vdCAi CisJCQkiZnVuY3Rpb25hbC5cbiIsIGNwdSk7CisJCWlmICgoYXBpY19sdl90aGVybSAmIEFQSUNf TU9ERV9NQVNLKSA9PSBBUElDX0RNX1NNSSkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJUaGVybWFs IGludGVycnVwdHMgYWxyZWFkeSAiCisJCQkJImhhbmRsZWQgYnkgU01JIGFjY29yZGluZyB0byAo KChsb2NhbCBBUElDICIKKwkJCQkiYmFzZSkgKyAweDMzMCkgYml0IDB4OSkuXG4iKTsKKwkJZWxz ZQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIlRoZXJtYWwgaW50ZXJydXB0cyB1bmV4cGVjdGVkbHkg IgorCQkJCSJlbmFibGVkIGF0ICgoKGxvY2FsIEFQSUMgYmFzZSkgKyAweDMzMCkgYml0ICIKKwkJ CQkiMHgxMCkuXG4iKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBDb25maWd1cmUgdGhlIExvY2Fs IFRoZXJtYWwgVmVjdG9yIFRhYmxlIEVudHJ5IHRvIGlzc3VlCisJCSAqIGlzc3VlIHRoZXJtYWwg aW50ZXJydXB0cyB0byBUSEVSTUFMX0FQSUNfVkVDVE9SLgorCQkgKgorCQkgKiBTdGFydCBieSBt YXNraW5nIG9mZiBEZWxpdmVyeSBNb2RlIGFuZCBWZWN0b3IuCisJCSAqLworCQlhcGljX2x2X3Ro ZXJtICY9IH4oQVBJQ19NT0RFX01BU0sgfCBBUElDX1ZFQ1RPUl9NQVNLKTsKKwkJLyogRml4ZWQg aW50ZXJydXB0LCBtYXNrZWQgZm9yIG5vdy4gKi8KKwkJYXBpY19sdl90aGVybSB8PSBBUElDX0xW VF9NQVNLRUQgfCBBUElDX0RNX0ZJWEVEIHwKKwkJCQkJCQlUSEVSTUFMX0FQSUNfVkVDVE9SOwor CQlhcGljX3dyaXRlKEFQSUNfTFZUVEhNUiwgYXBpY19sdl90aGVybSk7CisJCS8qCisJCSAqIFRo ZSBJbnRlbCB0aGVybWFsIGtlcm5lbCBjb2RlIGltcGxpZXMgdGhhdCB0aGVyZSBtYXkgYmUgYQor CQkgKiByYWNlIGludm9sdmluZyB0aGUgbWFzayBiaXQsIHNvIGNsZWFyIGl0IG9ubHkgbm93LCBh ZnRlcgorCQkgKiB0aGUgb3RoZXIgYml0cyBoYXZlIHNldHRsZWQuCisJCSAqLworCQlhcGljX3dy aXRlKEFQSUNfTFZUVEhNUiwgYXBpY19sdl90aGVybSAmIH5BUElDX0xWVF9NQVNLRUQpOworCX0K K30KKworLyoKKyogVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBiZSBjYWxsZWQganVzdCBh ZnRlciB0aGVybWFsIHRocm90dGxpbmcgaGFzCisgKiBiZWVuIGVuYWJsZWQuICBJdCB3YXJucyB0 aGUgdXNlciBpZiB0aHJvdHRsaW5nIGlzIGFscmVhZHkgYWN0aXZlLCB3aGljaAorICogY291bGQg aW5kaWNhdGUgYSBmYWlsZWQgY29vbGluZyBzeXN0ZW0uICBJdCBtYXkgYmUgdGhlIGxhc3QgY2hh bmNlIHRvIGdldAorICogYSB3YXJuaW5nIG91dCBiZWZvcmUgdGhlcm1hbCBzaHV0ZG93biBvY2N1 cnMuCisgKi8KK3N0YXRpYyB2b2lkIHNtcF90aGVybWFsX2Vhcmx5X3Rocm90dGxlX2NoZWNrKHZv aWQpCit7CisJaW50IG5iX251bTsKKwl1MzIgdGhlcm1fY3RsX2YzeDY0OworCisJZm9yIChuYl9u dW0gPSAwOyBuYl9udW0gPCBudW1fazhfbm9ydGhicmlkZ2VzOyBuYl9udW0rKykgeworCQkvKgor CQkgKiBSZWFkIGJhY2sgVEhFUk1fQ1RMX0YzWDY0IHRvIGNoZWNrIHdodGhlciBIVENfQUNUSVZF IGlzCisJCSAqIGFzc2VydGVkLCBpbiB3aGljaCBjYXNlLCB3YXJuIHRoZSB1c2VyLgorCQkgKi8K KwkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGs4X25vcnRoYnJpZGdlc1tuYl9udW1dLAorCQkJCQlU SEVSTV9DVExfRjNYNjQsICZ0aGVybV9jdGxfZjN4NjQpOworCQlpZiAodGhlcm1fY3RsX2YzeDY0 ICYgSFRDX0FDVElWRSkKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIkhpZ2ggdGVtcGVyYXR1cmUg b24gbm9ydGhicmlkZ2UgIgorCQkJCSJhdCBQQ0kgZGV2aWNlIDB4JXguICBUaHJvdHRsaW5nIGVu YWJsZWQuXG4iLAorCQkJCU5CX1BDSV9ERVZfQkFTRSArIG5iX251bSk7CisJfQorfQorCisvKgor ICogRGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBub3J0aGJyaWRnZXMgc3VwcG9ydCB0aGVy bWFsIHRocm90dGxpbmcKKyAqIGludGVycnVwdHMuICBJZiBzbywgaW5pdGlhbGl6ZSB0aGVtIGZv ciByZWNlaXZpbmcgdGhlIHNhbWUsIHRoZW4gcGVyZm9ybQorICogY29ycmVzcG9uZGluZyBBUElD IGluaXRpYWxpemF0aW9uIG9uIGVhY2ggY29yZS4KKyAqCisgKiBEdWUgdG8gYW4gZXJyYXR1bSBp bnZvbHZpbmcgdGhlIHRoZXJtYWwgc2Vuc29yLCB0aGlzIGNvZGUgZG9lcyBub3Qgd29yaworICog b24gYW55IENQVSBwcmlvciB0byBGYW1pbHkgMHgxMCAoQU1EIFF1YWQgQ29yZSkuCisgKi8KK3N0 YXRpYyBpbnQgc21wX3RoZXJtYWxfaW50ZXJydXB0X2luaXQodm9pZCkKK3sKKwlpbnQgbmJfbnVt OworCisJaWYgKG51bV9rOF9ub3J0aGJyaWRnZXMgPT0gMCkKKwkJZ290byBvdXQ7CisJLyoKKwkg KiBJZiBhbnkgb2YgdGhlIG5vcnRoYnJpZGdlcyBoYXMgUENJIElEIDB4MTEwMywgdGhlbiBpdHMg dGhlcm1hbAorCSAqIGhhcmR3YXJlIHN1ZmZlcnMgZnJvbSBhbiBlcnJhdHVtIHdoaWNoIHByZXZl bnRzIHRoaXMgY29kZSBmcm9tCisJICogd29ya2luZywgc28gYWJvcnQuICAoVGhpcyBpbXBsaWVz IHRoYXQgaXQgb25seSB3b3JrcyBvbiBGYW1pbHkKKwkgKiAweDEwIChBTUQgUXVhZCBDb3JlKS4p CisJICovCisJZm9yIChuYl9udW0gPSAwOyBuYl9udW0gPCBudW1fazhfbm9ydGhicmlkZ2VzOyBu Yl9udW0rKykgeworCQlpZiAoKGs4X25vcnRoYnJpZGdlc1tuYl9udW1dLT5kZXZpY2UpID09IDB4 MTEwMykKKwkJCWdvdG8gb3V0OworCX0KKwkvKgorCSAqIEFzc2VydCB0aGF0IHdlIHNob3VsZCBs b2cgdGhlcm1hbCB0aHJvdHRsaW5nIGV2ZW50cywgd2hlbmV2ZXIKKwkgKiB3ZSBldmVudHVhbGx5 IGdldCBhcm91bmQgdG8gZW5hYmxpbmcgdGhlbS4KKwkgKi8KKwlhdG9taWNfc2V0KCZ0aGVybV90 aHJvdF9lbiwgMSk7CisJLyoKKwkgKiBCaW5kIHNtcF90aGVybWFsX2ludGVycnVwdCgpIHRvIGFt ZF9zbXBfdGhlcm1hbF9pbnRlcnJ1cHQoKS4KKwkgKi8KKwlzbXBfdGhlcm1hbF9pbnRlcnJ1cHQg PSBhbWRfc21wX3RoZXJtYWxfaW50ZXJydXB0OworCXNtcF90aGVybWFsX25vcnRoYnJpZGdlX2lu aXQoKTsKKwkvKgorCSAqIFdlJ3ZlIG5vdyBpbml0aWFsaXplZCBzdWZmaWNpZW50IGZhYnJpYyB0 byBwZXJtaXQgdGhlCisJICogaW5pdGlhbGl6YXRpb24gb2YgdGhlIHRoZXJtYWwgaW50ZXJydXB0 IEFQSUMgdmVjdG9ycywgc3VjaCBhcworCSAqIHdoZW4gYSBjb3JlIGNvbWVzIG9ubGluZSBhbmQg Y2FsbHMgdGhyZXNob2xkX2NwdV9jYWxsYmFjaygpLgorCSAqLworCXRoZXJtYWxfYXBpY19pbml0 X2FsbG93ZWQgPSAxOworCS8qCisJICogQ2FsbCB0aGVybWFsX2FwaWNfaW5pdCgpIG9uIGVhY2gg Y29yZS4KKwkgKi8KKwlvbl9lYWNoX2NwdSgmdGhlcm1hbF9hcGljX2luaXQsIE5VTEwsIDEsIDAp OworCXNtcF90aGVybWFsX2Vhcmx5X3Rocm90dGxlX2NoZWNrKCk7CitvdXQ6CisJcmV0dXJuIDA7 Cit9CisKKy8qCisgKiBFbnN1cmUgdGhhdCBzbXBfdGhlcm1hbF9pbnRlcnJ1cHRfaW5pdCgpIGV4 ZWN1dGVzIGFmdGVyIG51bV9rOF9ub3J0aGJyaWRnZXMKKyAqIGhhcyBiZWVuIGluaXRpYWxpemVk LgorICovCitsYXRlX2luaXRjYWxsKHNtcF90aGVybWFsX2ludGVycnVwdF9pbml0KTsKKwpkaWZm IC11cHJOIC9ob21lL3JtbC9saW51eC0yLjYuMjQtcmM1Lm9yaWcvYXJjaC94ODYva2VybmVsL2Nw dS9tY2hlY2svbWNlX2ludGVsXzY0LmMgL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1yYzUvYXJjaC94 ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2ludGVsXzY0LmMKLS0tIC9ob21lL3JtbC9saW51eC0y LjYuMjQtcmM1Lm9yaWcvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2ludGVsXzY0LmMJ MjAwNy0xMi0xMSAxNDozMDo1My41NjQzMDMwMDAgLTA4MDAKKysrIC9ob21lL3JtbC9saW51eC0y LjYuMjQtcmM1L2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9pbnRlbF82NC5jCTIwMDgt MDEtMDQgMTY6MjU6MDguNTQ3OTk5MDAwIC0wODAwCkBAIC04LDI0ICs4LDIxIEBACiAjaW5jbHVk ZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUg PGFzbS9tc3IuaD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+CiAjaW5jbHVkZSA8YXNtL2h3X2lycS5o PgogI2luY2x1ZGUgPGFzbS9pZGxlLmg+CiAjaW5jbHVkZSA8YXNtL3RoZXJtX3Rocm90Lmg+Cisj aW5jbHVkZSAibWNlX3RoZXJtYWwuaCIKIAotYXNtbGlua2FnZSB2b2lkIHNtcF90aGVybWFsX2lu dGVycnVwdCh2b2lkKQordm9pZCBpbnRlbF9zbXBfdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCkKIHsK IAlfX3U2NCBtc3JfdmFsOwogCiAJYWNrX0FQSUNfaXJxKCk7Ci0KIAlleGl0X2lkbGUoKTsKIAlp cnFfZW50ZXIoKTsKLQogCXJkbXNybChNU1JfSUEzMl9USEVSTV9TVEFUVVMsIG1zcl92YWwpOwog CWlmICh0aGVybV90aHJvdF9wcm9jZXNzKG1zcl92YWwgJiAxKSkKIAkJbWNlX2xvZ190aGVybV90 aHJvdF9ldmVudChzbXBfcHJvY2Vzc29yX2lkKCksIG1zcl92YWwpOwotCiAJYWRkX3BkYShpcnFf dGhlcm1hbF9jb3VudCwgMSk7CiAJaXJxX2V4aXQoKTsKIH0KQEAgLTc1LDYgKzcyLDEwIEBAIHN0 YXRpYyB2b2lkIF9fY3B1aW5pdCBpbnRlbF9pbml0X3RoZXJtYWwKIAl3cm1zcihNU1JfSUEzMl9N SVNDX0VOQUJMRSwgbCB8ICgxIDw8IDMpLCBoKTsKIAogCWwgPSBhcGljX3JlYWQoQVBJQ19MVlRU SE1SKTsKKwkvKgorCSAqIEJpbmQgc21wX3RoZXJtYWxfaW50ZXJydXB0KCkgdG8gaW50ZWxfc21w X3RoZXJtYWxfaW50ZXJydXB0KCkuCisJICovCisJc21wX3RoZXJtYWxfaW50ZXJydXB0ID0gaW50 ZWxfc21wX3RoZXJtYWxfaW50ZXJydXB0OwogCWFwaWNfd3JpdGUoQVBJQ19MVlRUSE1SLCBsICYg fkFQSUNfTFZUX01BU0tFRCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVJWQ6IFRoZXJtYWwgbW9u aXRvcmluZyBlbmFibGVkICglcylcbiIsCiAJCWNwdSwgdG0yID8gIlRNMiIgOiAiVE0xIik7CmRp ZmYgLXVwck4gL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1yYzUub3JpZy9hcmNoL3g4Ni9rZXJuZWwv Y3B1L21jaGVjay9tY2VfdGhlcm1hbC5jIC9ob21lL3JtbC9saW51eC0yLjYuMjQtcmM1L2FyY2gv eDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV90aGVybWFsLmMKLS0tIC9ob21lL3JtbC9saW51eC0y LjYuMjQtcmM1Lm9yaWcvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX3RoZXJtYWwuYwkx OTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysgL2hvbWUvcm1sL2xpbnV4LTIu Ni4yNC1yYzUvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX3RoZXJtYWwuYwkyMDA4LTAx LTA0IDE1OjQ1OjQwLjY4Njc3NTAwMCAtMDgwMApAQCAtMCwwICsxLDI0IEBACisvKgorICogQ29w eXJpZ2h0IChjKSAyMDA3IEdvb2dsZSBJbmMuCisgKgorICogV3JpdHRlbiBieSBNaWtlIFdheWNo aXNvbiA8bWlrZXdAZ29vZ2xlLmNvbT4gYW5kIFJ1c3NlbGwgTGVpZGljaAorICogPHJtbEBnb29n bGUuY29tPi4KKyAqCisgKiBDUFUtaW5kZXBlbmRlbnQgdGhlcm1hbCBpbnRlcnJ1cHQgaGFuZGxl ci4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVy cnVwdC5oPgorI2luY2x1ZGUgPGFzbS9od19pcnEuaD4KKyNpbmNsdWRlIDxhc20vaWRsZS5oPgor I2luY2x1ZGUgIm1jZV90aGVybWFsLmgiCisKK3N0YXRpYyB2b2lkIGRlZmF1bHRfc21wX3RoZXJt YWxfaW50ZXJydXB0KHZvaWQpCit7CisJaWYgKHByaW50a19yYXRlbGltaXQoKSkKKwkJcHJpbnRr KEtFUk5fREVCVUcgIlVuZXhwZWN0ZWQgdGhlcm1hbCB0aHJvdHRsaW5nIGludGVycnVwdC5cbiIp OworfQorCitzbXBfdGhlcm1hbF9pbnRlcnJ1cHRfY2FsbGJhY2tfdCBzbXBfdGhlcm1hbF9pbnRl cnJ1cHQKKwkJCQkJCT0gZGVmYXVsdF9zbXBfdGhlcm1hbF9pbnRlcnJ1cHQ7CisKZGlmZiAtdXBy TiAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS5vcmlnL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNo ZWNrL21jZV90aGVybWFsLmggL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1yYzUvYXJjaC94ODYva2Vy bmVsL2NwdS9tY2hlY2svbWNlX3RoZXJtYWwuaAotLS0gL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1y YzUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfdGhlcm1hbC5oCTE5NjktMTIt MzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKyAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJj NS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfdGhlcm1hbC5oCTIwMDgtMDEtMDQgMTU6 NTM6MDcuNjE0NjU4MDAwIC0wODAwCkBAIC0wLDAgKzEsOCBAQAorI2luY2x1ZGUgPGxpbnV4L2lu aXQuaD4KKyNpbmNsdWRlIDxhc20vbWNlLmg+CisKK3R5cGVkZWYgdm9pZCAoKnNtcF90aGVybWFs X2ludGVycnVwdF9jYWxsYmFja190KSh2b2lkKTsKK2V4dGVybiBzbXBfdGhlcm1hbF9pbnRlcnJ1 cHRfY2FsbGJhY2tfdAlzbXBfdGhlcm1hbF9pbnRlcnJ1cHQ7CisKK3ZvaWQgbWNlX2xvZ190aGVy bV90aHJvdF9ldmVudCh1bnNpZ25lZCBpbnQgY3B1LCBfX3U2NCBzdGF0dXMpOworCmRpZmYgLXVw ck4gL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1yYzUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvZW50cnlf NjQuUyAvaG9tZS9ybWwvbGludXgtMi42LjI0LXJjNS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQu UwotLS0gL2hvbWUvcm1sL2xpbnV4LTIuNi4yNC1yYzUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvZW50 cnlfNjQuUwkyMDA3LTEyLTExIDE0OjMwOjUzLjc1NjI5NzAwMCAtMDgwMAorKysgL2hvbWUvcm1s L2xpbnV4LTIuNi4yNC1yYzUvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMJMjAwOC0wMS0wNCAx NTozNDoxNi43NjEzNDIwMDAgLTA4MDAKQEAgLTY0OSw3ICs2NDksNyBAQCBFTkQoY29tbW9uX2lu dGVycnVwdCkKIAkuZW5kbQogCiBFTlRSWSh0aGVybWFsX2ludGVycnVwdCkKLQlhcGljaW50ZXJy dXB0IFRIRVJNQUxfQVBJQ19WRUNUT1Isc21wX3RoZXJtYWxfaW50ZXJydXB0CisJYXBpY2ludGVy cnVwdCBUSEVSTUFMX0FQSUNfVkVDVE9SLHNtcF90aGVybWFsX2ludGVycnVwdCglcmlwKQogRU5E KHRoZXJtYWxfaW50ZXJydXB0KQogCiBFTlRSWSh0aHJlc2hvbGRfaW50ZXJydXB0KQo= ------=_Part_19803_13178826.1199835776157-- -- 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/