Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757535AbXEUG4t (ORCPT ); Mon, 21 May 2007 02:56:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754645AbXEUG4k (ORCPT ); Mon, 21 May 2007 02:56:40 -0400 Received: from wx-out-0506.google.com ([66.249.82.227]:49072 "EHLO wx-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754614AbXEUG4i (ORCPT ); Mon, 21 May 2007 02:56:38 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=Kh4KPfmvH4idPSyWeNj51rVcxq7EpPkfz24jo5hmmcSFJAd4vlXeuef1k3to+PIIAEgYxOU4sHttSe4Qby2FAGMZdK8Q0AU5fW8h7vJHQYkUHtgoayxO1oVZfEoo0s1dTg+jTuxB2+ZsNgioLaZM4wCgAGfWRM7RXqoOOJL4MsY= Message-ID: <86802c440705202356n3311b70bg92e1b9c500fc386f@mail.gmail.com> Date: Sun, 20 May 2007 23:56:37 -0700 From: "Yinghai Lu" To: "Andrew Morton" Subject: Re: [PATCH]serial: make early_uart to use early_prarm instead of console_initcall Cc: "Eric W. Biederman" , "Bjorn Helgaas" , "Gerd Hoffmann" , "Andi Kleen" , "Linus Torvalds" , "linux kernel mailing list" In-Reply-To: <20070520214657.fcf5e9ce.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_88776_15298794.1179730597346" References: <200705181900.17101.yinghai.lu@sun.com> <20070520202332.145d93a6.akpm@linux-foundation.org> <86802c440705202129o6fe9fb89l47aef78e973c36c5@mail.gmail.com> <20070520214657.fcf5e9ce.akpm@linux-foundation.org> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 19639 Lines: 284 ------=_Part_88776_15298794.1179730597346 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 5/20/07, Andrew Morton wrote: > hm, OK. I hope you guys have it under control ;) > > > With http://userweb.kernel.org/~akpm/config-vmm.txt I get > > drivers/built-in.o:(.data+0x5790): undefined reference to `serial8250_find_port_for_earlycon' > please check this one Bjorn, I can not find fixmap.h for ia64.....hope you can use ioremap instead, then we can create one dummy fixmap.h in include/asm-ia64 [PATCH]serial: make early_uart to use early_prarm instead of console_initcall Make early_uart to use early_param, so uart console can be used earlier. Make it to be bootconsole with CON_BOOT flag, so can use console handover feature. and it will switch to corresponding normal serial console automatically. new command line will be earlycon=uart,io,0x3f8,9600n8 earlycon=uart,io,0x3f8,9600n8 console=tty0 earlycon=uart,mmio,0xff5e0000,115200n8 it will print in very early stage Early serial console at I/O port 0x3f8 (options '9600n8') later for console it will print console handover: boot [uart0] -> real [ttyS0] Signed-off-by: ------=_Part_88776_15298794.1179730597346 Content-Type: text/x-patch; name=earlycon_05202007.diff; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_f1yli27r Content-Disposition: attachment; filename="earlycon_05202007.diff" ZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9rZXJuZWwvaGVhZC5TIGIvYXJjaC9pMzg2L2tlcm5lbC9o ZWFkLlMKaW5kZXggZjc0ZGZjNC4uMmQzNzg1MCAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2tlcm5l bC9oZWFkLlMKKysrIGIvYXJjaC9pMzg2L2tlcm5lbC9oZWFkLlMKQEAgLTE2OCw2ICsxNjgsMTIg QEAgcGFnZV9wZGVfb2Zmc2V0ID0gKF9fUEFHRV9PRkZTRVQgPj4gMjApOwogLnNlY3Rpb24gLmlu aXQudGV4dCwiYXgiLEBwcm9nYml0cwogI2VuZGlmCiAKKwkvKiBEbyBhbiBlYXJseSBpbml0aWFs aXphdGlvbiBvZiB0aGUgZml4bWFwIGFyZWEgKi8KKwltb3ZsICQoc3dhcHBlcl9wZ19kaXIgLSBf X1BBR0VfT0ZGU0VUKSwgJWVkeAorCW1vdmwgJChzd2FwcGVyX3BnX3BtZCAtIF9fUEFHRV9PRkZT RVQpLCAlZWF4CisJYWRkbCAkMHgwMDcsICVlYXgJCQkvKiAweDAwNyA9IFBSRVNFTlQrUlcrVVNF UiAqLworCW1vdmwgJWVheCwgNDA5MiglZWR4KQorCiAjaWZkZWYgQ09ORklHX1NNUAogRU5UUlko c3RhcnR1cF8zMl9zbXApCiAJY2xkCkBAIC01MDcsNiArNTEzLDggQEAgRU5UUlkoX3N0ZXh0KQog LnNlY3Rpb24gIi5ic3MucGFnZV9hbGlnbmVkIiwidyIKIEVOVFJZKHN3YXBwZXJfcGdfZGlyKQog CS5maWxsIDEwMjQsNCwwCitFTlRSWShzd2FwcGVyX3BnX3BtZCkKKwkuZmlsbCAxMDI0LDQsMAkK IEVOVFJZKGVtcHR5X3plcm9fcGFnZSkKIAkuZmlsbCA0MDk2LDEsMAogCmRpZmYgLS1naXQgYS9h cmNoL3g4Nl82NC9rZXJuZWwvaGVhZC5TIGIvYXJjaC94ODZfNjQva2VybmVsL2hlYWQuUwppbmRl eCAxZmFiNDg3Li4yZGEzMGFkIDEwMDY0NAotLS0gYS9hcmNoL3g4Nl82NC9rZXJuZWwvaGVhZC5T CisrKyBiL2FyY2gveDg2XzY0L2tlcm5lbC9oZWFkLlMKQEAgLTczLDcgKzczLDExIEBAIHN0YXJ0 dXBfNjQ6CiAJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoNTExKjgpKCVyaXApCiAKIAlh ZGRxCSVyYnAsIGxldmVsM19pZGVudF9wZ3QgKyAwKCVyaXApCisJCiAJYWRkcQklcmJwLCBsZXZl bDNfa2VybmVsX3BndCArICg1MTAqOCkoJXJpcCkKKwlhZGRxCSVyYnAsIGxldmVsM19rZXJuZWxf cGd0ICsgKDUxMSo4KSglcmlwKQorCisJYWRkcQklcmJwLCBsZXZlbDJfZml4bWFwX3BndCArICg1 MDYqOCkoJXJpcCkKIAogCS8qIEFkZCBhbiBJZGVudGl0eSBtYXBwaW5nIGlmIEkgYW0gYWJvdmUg MUcgKi8KIAlsZWFxCV90ZXh0KCVyaXApLCAlcmRpCkBAIC0zMTQsNyArMzE4LDE2IEBAIE5FWFRf UEFHRShsZXZlbDNfa2VybmVsX3BndCkKIAkuZmlsbAk1MTAsOCwwCiAJLyogKDJeNDgtKDIqMTAy NCoxMDI0KjEwMjQpLSgoMl4zOSkqNTExKSkvKDJeMzApID0gNTEwICovCiAJLnF1YWQJbGV2ZWwy X2tlcm5lbF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCi0JLmZpbGwJ MSw4LDAKKyAJLnF1YWQJbGV2ZWwyX2ZpeG1hcF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBf UEFHRV9UQUJMRQorCitORVhUX1BBR0UobGV2ZWwyX2ZpeG1hcF9wZ3QpCisJLmZpbGwJNTA2LDgs MAorCS5xdWFkCWxldmVsMV9maXhtYXBfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5Q R19UQUJMRQorCS8qIDhNQiByZXNlcnZlZCBmb3IgdnN5c2NhbGxzICsgYSAyTUIgaG9sZSA9IDQg KyAxIGVudHJpZXMgKi8KKwkuZmlsbAk1LDgsMAorCitORVhUX1BBR0UobGV2ZWwxX2ZpeG1hcF9w Z3QpCisJLmZpbGwJNTEyLDgsMAogCiBORVhUX1BBR0UobGV2ZWwyX2lkZW50X3BndCkKIAkvKiBT aW5jZSBJIGVhc2lseSBjYW4sIG1hcCB0aGUgZmlyc3QgMUcuCmRpZmYgLS1naXQgYS9kcml2ZXJz L3NlcmlhbC84MjUwLmMgYi9kcml2ZXJzL3NlcmlhbC84MjUwLmMKaW5kZXggYzg0ZGFiMC4uNWE5 MWFjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvODI1MC5jCisrKyBiL2RyaXZlcnMvc2Vy aWFsLzgyNTAuYwpAQCAtMjM2Nyw2ICsyMzY3LDkgQEAgc3RhdGljIHN0cnVjdCB1YXJ0X29wcyBz ZXJpYWw4MjUwX3BvcHMgPSB7CiAJLnJlcXVlc3RfcG9ydAk9IHNlcmlhbDgyNTBfcmVxdWVzdF9w b3J0LAogCS5jb25maWdfcG9ydAk9IHNlcmlhbDgyNTBfY29uZmlnX3BvcnQsCiAJLnZlcmlmeV9w b3J0CT0gc2VyaWFsODI1MF92ZXJpZnlfcG9ydCwKKyNpZmRlZiBDT05GSUdfU0VSSUFMXzgyNTBf Q09OU09MRQorCS5maW5kX3BvcnRfZm9yX2Vhcmx5Y29uID0gc2VyaWFsODI1MF9maW5kX3BvcnRf Zm9yX2Vhcmx5Y29uLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgc3RydWN0IHVhcnRfODI1MF9wb3J0 IHNlcmlhbDgyNTBfcG9ydHNbVUFSVF9OUl07CkBAIC0yNTMzLDcgKzI1MzYsNyBAQCBzdGF0aWMg aW50IF9faW5pdCBzZXJpYWw4MjUwX2NvbnNvbGVfaW5pdCh2b2lkKQogfQogY29uc29sZV9pbml0 Y2FsbChzZXJpYWw4MjUwX2NvbnNvbGVfaW5pdCk7CiAKLXN0YXRpYyBpbnQgX19pbml0IGZpbmRf cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwKQoraW50IF9faW5pdCBmaW5kX3BvcnRfc2VyaWFsODI1 MChzdHJ1Y3QgdWFydF9wb3J0ICpwKQogewogCWludCBsaW5lOwogCXN0cnVjdCB1YXJ0X3BvcnQg KnBvcnQ7CkBAIC0yNTQ2LDI2ICsyNTQ5LDYgQEAgc3RhdGljIGludCBfX2luaXQgZmluZF9wb3J0 KHN0cnVjdCB1YXJ0X3BvcnQgKnApCiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKLWludCBfX2luaXQg c2VyaWFsODI1MF9zdGFydF9jb25zb2xlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGNoYXIgKm9w dGlvbnMpCi17Ci0JaW50IGxpbmU7Ci0KLQlsaW5lID0gZmluZF9wb3J0KHBvcnQpOwotCWlmIChs aW5lIDwgMCkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQlhZGRfcHJlZmVycmVkX2NvbnNvbGUoInR0 eVMiLCBsaW5lLCBvcHRpb25zKTsKLQlwcmludGsoIkFkZGluZyBjb25zb2xlIG9uIHR0eVMlZCBh dCAlcyAweCVseCAob3B0aW9ucyAnJXMnKVxuIiwKLQkJbGluZSwgcG9ydC0+aW90eXBlID09IFVQ SU9fTUVNID8gIk1NSU8iIDogIkkvTyBwb3J0IiwKLQkJcG9ydC0+aW90eXBlID09IFVQSU9fTUVN ID8gKHVuc2lnbmVkIGxvbmcpIHBvcnQtPm1hcGJhc2UgOgotCQkgICAgKHVuc2lnbmVkIGxvbmcp IHBvcnQtPmlvYmFzZSwgb3B0aW9ucyk7Ci0JaWYgKCEoc2VyaWFsODI1MF9jb25zb2xlLmZsYWdz ICYgQ09OX0VOQUJMRUQpKSB7Ci0JCXNlcmlhbDgyNTBfY29uc29sZS5mbGFncyAmPSB+Q09OX1BS SU5UQlVGRkVSOwotCQlyZWdpc3Rlcl9jb25zb2xlKCZzZXJpYWw4MjUwX2NvbnNvbGUpOwotCX0K LQlyZXR1cm4gbGluZTsKLX0KLQogI2RlZmluZSBTRVJJQUw4MjUwX0NPTlNPTEUJJnNlcmlhbDgy NTBfY29uc29sZQogI2Vsc2UKICNkZWZpbmUgU0VSSUFMODI1MF9DT05TT0xFCU5VTEwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvc2VyaWFsLzgyNTBfZWFybHkuYyBiL2RyaXZlcnMvc2VyaWFsLzgyNTBf ZWFybHkuYwppbmRleCA3ZTUxMTE5Li4wNTcyYTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Nlcmlh bC84MjUwX2Vhcmx5LmMKKysrIGIvZHJpdmVycy9zZXJpYWwvODI1MF9lYXJseS5jCkBAIC0xNywx MyArMTcsOSBAQAogICogd2UgbG9jYXRlIHRoZSBkZXZpY2UgZGlyZWN0bHkgYnkgaXRzIE1NSU8g b3IgSS9PIHBvcnQgYWRkcmVzcy4KICAqCiAgKiBUaGUgdXNlciBjYW4gc3BlY2lmeSB0aGUgZGV2 aWNlIGRpcmVjdGx5LCBlLmcuLAotICoJY29uc29sZT11YXJ0LGlvLDB4M2Y4LDk2MDBuOAotICoJ Y29uc29sZT11YXJ0LG1taW8sMHhmZjVlMDAwMCwxMTUyMDBuOAotICogb3IgcGxhdGZvcm0gY29k ZSBjYW4gY2FsbCBlYXJseV91YXJ0X2NvbnNvbGVfaW5pdCgpIHRvIHNldAotICogdGhlIGVhcmx5 IFVBUlQgZGV2aWNlLgorICoJZWFybHljb249dWFydCxpbywweDNmOCw5NjAwbjgKKyAqCWVhcmx5 Y29uPXVhcnQsbW1pbywweGZmNWUwMDAwLDExNTIwMG44CiAgKgotICogQWZ0ZXIgdGhlIG5vcm1h bCBzZXJpYWwgZHJpdmVyIHN0YXJ0cywgd2UgdHJ5IHRvIGxvY2F0ZSB0aGUKLSAqIG1hdGNoaW5n IHR0eVMgZGV2aWNlIGFuZCBzdGFydCBhIGNvbnNvbGUgdGhlcmUuCiAgKi8KIAogI2luY2x1ZGUg PGxpbnV4L3R0eS5oPgpAQCAtMzIsOCArMjgsMTEgQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWxf Y29yZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9z ZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgogI2luY2x1ZGUgPGFzbS9p by5oPgogI2luY2x1ZGUgPGFzbS9zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgor I2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KIAogc3RydWN0IGVhcmx5X3VhcnRfZGV2aWNlIHsKIAlz dHJ1Y3QgdWFydF9wb3J0IHBvcnQ7CkBAIC00Miw3ICs0MSw2IEBAIHN0cnVjdCBlYXJseV91YXJ0 X2RldmljZSB7CiB9OwogCiBzdGF0aWMgc3RydWN0IGVhcmx5X3VhcnRfZGV2aWNlIGVhcmx5X2Rl dmljZSBfX2luaXRkYXRhOwotc3RhdGljIGludCBlYXJseV91YXJ0X3JlZ2lzdGVyZWQgX19pbml0 ZGF0YTsKIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXQgc2VyaWFsX2luKHN0cnVjdCB1YXJ0 X3BvcnQgKnBvcnQsIGludCBvZmZzZXQpCiB7CkBAIC0xMzMsNyArMTMxLDYgQEAgc3RhdGljIHZv aWQgX19pbml0IGluaXRfcG9ydChzdHJ1Y3QgZWFybHlfdWFydF9kZXZpY2UgKmRldmljZSkKIHN0 YXRpYyBpbnQgX19pbml0IHBhcnNlX29wdGlvbnMoc3RydWN0IGVhcmx5X3VhcnRfZGV2aWNlICpk ZXZpY2UsIGNoYXIgKm9wdGlvbnMpCiB7CiAJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZkZXZp Y2UtPnBvcnQ7Ci0JaW50IG1hcHNpemUgPSA2NDsKIAlpbnQgbW1pbywgbGVuZ3RoOwogCiAJaWYg KCFvcHRpb25zKQpAQCAtMTQzLDEyICsxNDAsOSBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9v cHRpb25zKHN0cnVjdCBlYXJseV91YXJ0X2RldmljZSAqZGV2aWNlLCBjaGFyICpvcHRpb25zKQog CWlmICghc3RybmNtcChvcHRpb25zLCAibW1pbywiLCA1KSkgewogCQlwb3J0LT5pb3R5cGUgPSBV UElPX01FTTsKIAkJcG9ydC0+bWFwYmFzZSA9IHNpbXBsZV9zdHJ0b3VsKG9wdGlvbnMgKyA1LCAm b3B0aW9ucywgMCk7Ci0JCXBvcnQtPm1lbWJhc2UgPSBpb3JlbWFwKHBvcnQtPm1hcGJhc2UsIG1h cHNpemUpOwotCQlpZiAoIXBvcnQtPm1lbWJhc2UpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiJXM6 IENvdWxkbid0IGlvcmVtYXAgMHglbHhcbiIsCi0JCQkJX19GVU5DVElPTl9fLCBwb3J0LT5tYXBi YXNlKTsKLQkJCXJldHVybiAtRU5PTUVNOwotCQl9CisJCXNldF9maXhtYXBfbm9jYWNoZShGSVhf RUFSTFlDT05fTUVNX0JBU0UsIHBvcnQtPm1hcGJhc2UgJiBQQUdFX01BU0spOworCQlwb3J0LT5t ZW1iYXNlID0gKHZvaWQgX19pb21lbSAqKV9fZml4X3RvX3ZpcnQoRklYX0VBUkxZQ09OX01FTV9C QVNFKTsKKwkJcG9ydC0+bWVtYmFzZSArPSBwb3J0LT5tYXBiYXNlICYgflBBR0VfTUFTSzsKIAkJ bW1pbyA9IDE7CiAJfSBlbHNlIGlmICghc3RybmNtcChvcHRpb25zLCAiaW8sIiwgMykpIHsKIAkJ cG9ydC0+aW90eXBlID0gVVBJT19QT1JUOwpAQCAtMTc1LDYgKzE2OSwxMyBAQCBzdGF0aWMgaW50 IF9faW5pdCBwYXJzZV9vcHRpb25zKHN0cnVjdCBlYXJseV91YXJ0X2RldmljZSAqZGV2aWNlLCBj aGFyICpvcHRpb25zKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgc3RydWN0IGNvbnNvbGUgZWFy bHlfdWFydF9jb25zb2xlIF9faW5pdGRhdGEgPSB7CisJLm5hbWUJPSAidWFydCIsCisJLndyaXRl CT0gZWFybHlfdWFydF93cml0ZSwKKwkuZmxhZ3MJPSBDT05fUFJJTlRCVUZGRVIsCisJLmluZGV4 CT0gLTEsCit9OworCiBzdGF0aWMgaW50IF9faW5pdCBlYXJseV91YXJ0X3NldHVwKHN0cnVjdCBj b25zb2xlICpjb25zb2xlLCBjaGFyICpvcHRpb25zKQogewogCXN0cnVjdCBlYXJseV91YXJ0X2Rl dmljZSAqZGV2aWNlID0gJmVhcmx5X2RldmljZTsKQEAgLTE5MCw2MSArMTkxLDQzIEBAIHN0YXRp YyBpbnQgX19pbml0IGVhcmx5X3VhcnRfc2V0dXAoc3RydWN0IGNvbnNvbGUgKmNvbnNvbGUsIGNo YXIgKm9wdGlvbnMpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29uc29sZSBlYXJs eV91YXJ0X2NvbnNvbGUgX19pbml0ZGF0YSA9IHsKLQkubmFtZQk9ICJ1YXJ0IiwKLQkud3JpdGUJ PSBlYXJseV91YXJ0X3dyaXRlLAotCS5zZXR1cAk9IGVhcmx5X3VhcnRfc2V0dXAsCi0JLmZsYWdz CT0gQ09OX1BSSU5UQlVGRkVSLAotCS5pbmRleAk9IC0xLAotfTsKLQotc3RhdGljIGludCBfX2lu aXQgZWFybHlfdWFydF9jb25zb2xlX2luaXQodm9pZCkKLXsKLQlpZiAoIWVhcmx5X3VhcnRfcmVn aXN0ZXJlZCkgewotCQlyZWdpc3Rlcl9jb25zb2xlKCZlYXJseV91YXJ0X2NvbnNvbGUpOwotCQll YXJseV91YXJ0X3JlZ2lzdGVyZWQgPSAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLWNvbnNvbGVfaW5p dGNhbGwoZWFybHlfdWFydF9jb25zb2xlX2luaXQpOwotCi1pbnQgX19pbml0IGVhcmx5X3Nlcmlh bF9jb25zb2xlX2luaXQoY2hhciAqY21kbGluZSkKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX2Vh cmx5X3NlcmlhbF9jb25zb2xlKGNoYXIgKmNtZGxpbmUpCiB7CiAJY2hhciAqb3B0aW9uczsKIAlp bnQgZXJyOwogCi0Jb3B0aW9ucyA9IHN0cnN0cihjbWRsaW5lLCAiY29uc29sZT11YXJ0LCIpOwor CW9wdGlvbnMgPSBzdHJzdHIoY21kbGluZSwgInVhcnQsIik7CiAJaWYgKCFvcHRpb25zKQogCQly ZXR1cm4gLUVOT0RFVjsKIAogCW9wdGlvbnMgPSBzdHJjaHIoY21kbGluZSwgJywnKSArIDE7CiAJ aWYgKChlcnIgPSBlYXJseV91YXJ0X3NldHVwKE5VTEwsIG9wdGlvbnMpKSA8IDApCiAJCXJldHVy biBlcnI7Ci0JcmV0dXJuIGVhcmx5X3VhcnRfY29uc29sZV9pbml0KCk7CisKKwllYXJseV91YXJ0 X2NvbnNvbGUuZmxhZ3MgfD0gQ09OX0JPT1Q7CisJcmVnaXN0ZXJfY29uc29sZSgmZWFybHlfdWFy dF9jb25zb2xlKTsKKworCS8qIGFkZCBvbmUgZHVtbXkgZW50cnkgaW4gY29uc29sZV9jbWRsaW5l Ki8gCisJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJ0dHlTIiwgMjU1LCBlYXJseV9kZXZpY2Uub3B0 aW9ucyk7CisKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBfX2luaXQgZWFybHlfdWFydF9j b25zb2xlX3N3aXRjaCh2b2lkKQoraW50IHNlcmlhbDgyNTBfZmluZF9wb3J0X2Zvcl9lYXJseWNv bih2b2lkKQogewogCXN0cnVjdCBlYXJseV91YXJ0X2RldmljZSAqZGV2aWNlID0gJmVhcmx5X2Rl dmljZTsKIAlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJmRldmljZS0+cG9ydDsKLQlpbnQgbW1p bywgbGluZTsKKwlpbnQgbGluZTsKIAotCWlmICghKGVhcmx5X3VhcnRfY29uc29sZS5mbGFncyAm IENPTl9FTkFCTEVEKSkKLQkJcmV0dXJuIDA7CisJbGluZSA9IGZpbmRfcG9ydF9zZXJpYWw4MjUw KHBvcnQpOwogCi0JLyogVHJ5IHRvIHN0YXJ0IHRoZSBub3JtYWwgZHJpdmVyIG9uIGEgbWF0Y2hp bmcgbGluZS4gICovCi0JbW1pbyA9IChwb3J0LT5pb3R5cGUgPT0gVVBJT19NRU0pOwotCWxpbmUg PSBzZXJpYWw4MjUwX3N0YXJ0X2NvbnNvbGUocG9ydCwgZGV2aWNlLT5vcHRpb25zKTsKIAlpZiAo bGluZSA8IDApCi0JCXByaW50aygiTm8gdHR5UyBkZXZpY2UgYXQgJXMgMHglbHggZm9yIGNvbnNv bGVcbiIsCi0JCQltbWlvID8gIk1NSU8iIDogIkkvTyBwb3J0IiwKLQkJCW1taW8gPyBwb3J0LT5t YXBiYXNlIDoKLQkJCSAgICAodW5zaWduZWQgbG9uZykgcG9ydC0+aW9iYXNlKTsKLQotCXVucmVn aXN0ZXJfY29uc29sZSgmZWFybHlfdWFydF9jb25zb2xlKTsKLQlpZiAobW1pbykKLQkJaW91bm1h cChwb3J0LT5tZW1iYXNlKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJCisJLyogdXBkYXRlIHRoZSBk dW1teSBlbnRyeSB0byB3aGF0IHdlIHdhbnQgY29uc29sZSB0eXBlICovCisJdXBkYXRlX2NvbnNv bGVfY21kbGluZV9jb25zb2xlX2luZGV4KCJ0dHlTIiwgMjU1LCBsaW5lKTsKIAogCXJldHVybiAw OwogfQotbGF0ZV9pbml0Y2FsbChlYXJseV91YXJ0X2NvbnNvbGVfc3dpdGNoKTsKKworZWFybHlf cGFyYW0oImVhcmx5Y29uIiwgc2V0dXBfZWFybHlfc2VyaWFsX2NvbnNvbGUpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zZXJpYWwvS2NvbmZpZyBiL2RyaXZlcnMvc2VyaWFsL0tjb25maWcKaW5kZXgg MzE1ZWE5OS4uYjFkZTYwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvS2NvbmZpZworKysg Yi9kcml2ZXJzL3NlcmlhbC9LY29uZmlnCkBAIC02Miw2ICs2MiwxMiBAQCBjb25maWcgU0VSSUFM XzgyNTBfQ09OU09MRQogCSAga2VybmVsIHdpbGwgYXV0b21hdGljYWxseSB1c2UgdGhlIGZpcnN0 IHNlcmlhbCBsaW5lLCAvZGV2L3R0eVMwLCBhcwogCSAgc3lzdGVtIGNvbnNvbGUuCiAKKwkgIHlv dSBjYW4gc2V0IHRoYXQgdXNpbmcgYSBrZXJuZWwgY29tbWFuZCBsaW5lIG9wdGlvbiBzdWNoIGFz CisJICAiZWFybHljb249dWFydCxpbywweDNmOCw5NjAwbjgiIG9yIAorCSAgImVhcmx5Y29uPXVh cnQsbW1pbywweGZlMDAwMDA4LDExNTIwMG44Ii4gCisJICBhbmQgaXQgd2lsbCBzd2l0Y2ggdG8g bm9ybWFsIHNlcmlhbCBjb25zb2xlIHdoZW4gY29ycmVwb25kaW5nIHBvcnQgaXMgCisJICByZWFk eS4KKwogCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAogY29uZmlnIFNFUklBTF84MjUwX0dTQwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvc2VyaWFsX2NvcmUuYyBiL2RyaXZlcnMvc2VyaWFsL3Nl cmlhbF9jb3JlLmMKaW5kZXggMzI2MDIwZi4uOTU2ZDQzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9z ZXJpYWwvc2VyaWFsX2NvcmUuYworKysgYi9kcml2ZXJzL3NlcmlhbC9zZXJpYWxfY29yZS5jCkBA IC0yMzAzLDggKzIzMDMsMTEgQEAgaW50IHVhcnRfYWRkX29uZV9wb3J0KHN0cnVjdCB1YXJ0X2Ry aXZlciAqZHJ2LCBzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQogCSAqIEl0IG1heSBiZSB0aGF0IHRo ZSBwb3J0IHdhcyBub3QgYXZhaWxhYmxlLgogCSAqLwogCWlmIChwb3J0LT50eXBlICE9IFBPUlRf VU5LTk9XTiAmJgotCSAgICBwb3J0LT5jb25zICYmICEocG9ydC0+Y29ucy0+ZmxhZ3MgJiBDT05f RU5BQkxFRCkpCisJICAgIHBvcnQtPmNvbnMgJiYgIShwb3J0LT5jb25zLT5mbGFncyAmIENPTl9F TkFCTEVEKSkgeworCQlpZihwb3J0LT5vcHMgJiYgcG9ydC0+b3BzLT5maW5kX3BvcnRfZm9yX2Vh cmx5Y29uKSAKKwkJCXBvcnQtPm9wcy0+ZmluZF9wb3J0X2Zvcl9lYXJseWNvbigpOwogCQlyZWdp c3Rlcl9jb25zb2xlKHBvcnQtPmNvbnMpOworCX0KIAogCS8qCiAJICogRW5zdXJlIFVQRl9ERUFE IGlzIG5vdCBzZXQuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1pMzg2L2ZpeG1hcC5oIGIvaW5j bHVkZS9hc20taTM4Ni9maXhtYXAuaAppbmRleCA4MGVhMDUyLi4yNDllNzUzIDEwMDY0NAotLS0g YS9pbmNsdWRlL2FzbS1pMzg2L2ZpeG1hcC5oCisrKyBiL2luY2x1ZGUvYXNtLWkzODYvZml4bWFw LmgKQEAgLTU0LDYgKzU0LDggQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19GSVhBRERSX1RPUDsK IGVudW0gZml4ZWRfYWRkcmVzc2VzIHsKIAlGSVhfSE9MRSwKIAlGSVhfVkRTTywKKwlGSVhfREJH UF9CQVNFLAorCUZJWF9FQVJMWUNPTl9NRU1fQkFTRSwKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FM X0FQSUMKIAlGSVhfQVBJQ19CQVNFLAkvKiBsb2NhbCAoQ1BVKSBBUElDKSAtLSByZXF1aXJlZCBm b3IgU01QIG9yIG5vdCAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODZfNjQv Zml4bWFwLmggYi9pbmNsdWRlL2FzbS14ODZfNjQvZml4bWFwLmgKaW5kZXggZTkwZTE2Ny4uMmFj YjliNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2XzY0L2ZpeG1hcC5oCisrKyBiL2luY2x1 ZGUvYXNtLXg4Nl82NC9maXhtYXAuaApAQCAtMzUsNiArMzUsOCBAQCBlbnVtIGZpeGVkX2FkZHJl c3NlcyB7CiAJVlNZU0NBTExfTEFTVF9QQUdFLAogCVZTWVNDQUxMX0ZJUlNUX1BBR0UgPSBWU1lT Q0FMTF9MQVNUX1BBR0UgKyAoKFZTWVNDQUxMX0VORC1WU1lTQ0FMTF9TVEFSVCkgPj4gUEFHRV9T SElGVCkgLSAxLAogCVZTWVNDQUxMX0hQRVQsCisJRklYX0RCR1BfQkFTRSwKKwlGSVhfRUFSTFlD T05fTUVNX0JBU0UsCiAJRklYX0hQRVRfQkFTRSwKIAlGSVhfQVBJQ19CQVNFLAkvKiBsb2NhbCAo Q1BVKSBBUElDKSAtLSByZXF1aXJlZCBmb3IgU01QIG9yIG5vdCAqLwogCUZJWF9JT19BUElDX0JB U0VfMCwKQEAgLTg0LDcgKzg2LDcgQEAgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBs b25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCiAJaWYgKGlkeCA+PSBfX2Vu ZF9vZl9maXhlZF9hZGRyZXNzZXMpCiAJCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsK IAotICAgICAgICByZXR1cm4gX19maXhfdG9fdmlydChpZHgpOworCXJldHVybiBfX2ZpeF90b192 aXJ0KGlkeCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb25zb2xl LmggYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAppbmRleCA2MmVmNmUxLi40Y2I3NzQ5IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2NvbnNv bGUuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHN0cnVjdCBjb25zb2xlIHsKIH07CiAKIGV4dGVybiBp bnQgYWRkX3ByZWZlcnJlZF9jb25zb2xlKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm9wdGlv bnMpOworZXh0ZXJuIGludCB1cGRhdGVfY29uc29sZV9jbWRsaW5lX2NvbnNvbGVfaW5kZXgoY2hh ciAqbmFtZSwgaW50IGlkeF9vbGQsIGludCBpZHhfbmV3KTsKIGV4dGVybiB2b2lkIHJlZ2lzdGVy X2NvbnNvbGUoc3RydWN0IGNvbnNvbGUgKik7CiBleHRlcm4gaW50IHVucmVnaXN0ZXJfY29uc29s ZShzdHJ1Y3QgY29uc29sZSAqKTsKIGV4dGVybiBzdHJ1Y3QgY29uc29sZSAqY29uc29sZV9kcml2 ZXJzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zZXJpYWwuaCBiL2luY2x1ZGUvbGludXgv c2VyaWFsLmgKaW5kZXggMzNmYzhjYi4uZGViNzE0MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51 eC9zZXJpYWwuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NlcmlhbC5oCkBAIC0xNzcsMTEgKzE3Nyw1 IEBAIHN0cnVjdCBzZXJpYWxfaWNvdW50ZXJfc3RydWN0IHsKICNpZmRlZiBfX0tFUk5FTF9fCiAj aW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KIAotLyogQWxsb3cgYXJjaGl0ZWN0dXJlcyB0byBv dmVycmlkZSBlbnRyaWVzIGluIHNlcmlhbDgyNTBfcG9ydHNbXSBhdCBydW4gdGltZTogKi8KLXN0 cnVjdCB1YXJ0X3BvcnQ7CS8qIGZvcndhcmQgZGVjbGFyYXRpb24gKi8KLWV4dGVybiBpbnQgZWFy bHlfc2VyaWFsX3NldHVwKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpOwotZXh0ZXJuIGludCBlYXJs eV9zZXJpYWxfY29uc29sZV9pbml0KGNoYXIgKm9wdGlvbnMpOwotZXh0ZXJuIGludCBzZXJpYWw4 MjUwX3N0YXJ0X2NvbnNvbGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgY2hhciAqb3B0aW9ucyk7 Ci0KICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAjZW5kaWYgLyogX0xJTlVYX1NFUklBTF9IICov CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NlcmlhbF84MjUwLmggYi9pbmNsdWRlL2xpbnV4 L3NlcmlhbF84MjUwLmgKaW5kZXggNzEzMTBkOC4uMGQ3OWZjNSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9saW51eC9zZXJpYWxfODI1MC5oCisrKyBiL2luY2x1ZGUvbGludXgvc2VyaWFsXzgyNTAuaApA QCAtNjAsNCArNjAsNyBAQCB2b2lkIHNlcmlhbDgyNTBfdW5yZWdpc3Rlcl9wb3J0KGludCBsaW5l KTsKIHZvaWQgc2VyaWFsODI1MF9zdXNwZW5kX3BvcnQoaW50IGxpbmUpOwogdm9pZCBzZXJpYWw4 MjUwX3Jlc3VtZV9wb3J0KGludCBsaW5lKTsKIAorZXh0ZXJuIGludCBmaW5kX3BvcnRfc2VyaWFs ODI1MChzdHJ1Y3QgdWFydF9wb3J0ICpwKTsKK2V4dGVybiBpbnQgc2VyaWFsODI1MF9maW5kX3Bv cnRfZm9yX2Vhcmx5Y29uKHZvaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvc2VyaWFsX2NvcmUuaCBiL2luY2x1ZGUvbGludXgvc2VyaWFsX2NvcmUuaAppbmRleCBhM2Fj NGM4Li5iNzRmYTRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NlcmlhbF9jb3JlLmgKKysr IGIvaW5jbHVkZS9saW51eC9zZXJpYWxfY29yZS5oCkBAIC0xOTksNiArMTk5LDExIEBAIHN0cnVj dCB1YXJ0X29wcyB7CiAJdm9pZAkJKCpjb25maWdfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBp bnQpOwogCWludAkJKCp2ZXJpZnlfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3Qgc2Vy aWFsX3N0cnVjdCAqKTsKIAlpbnQJCSgqaW9jdGwpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgdW5zaWdu ZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKKwkKKwkvKgorCSAqIGZvciBlYXJseWNvbiB0byBjb25z b2xlIHN3aXRjaAorCSAqLworCWludAkJKCpmaW5kX3BvcnRfZm9yX2Vhcmx5Y29uKSh2b2lkKTsK IH07CiAKICNkZWZpbmUgVUFSVF9DT05GSUdfVFlQRQkoMSA8PCAwKQpkaWZmIC0tZ2l0IGEva2Vy bmVsL3ByaW50ay5jIGIva2VybmVsL3ByaW50ay5jCmluZGV4IDBiYmRlYWMuLjI1M2MwZjcgMTAw NjQ0Ci0tLSBhL2tlcm5lbC9wcmludGsuYworKysgYi9rZXJuZWwvcHJpbnRrLmMKQEAgLTcyNiw2 ICs3MjYsMjEgQEAgaW50IF9faW5pdCBhZGRfcHJlZmVycmVkX2NvbnNvbGUoY2hhciAqbmFtZSwg aW50IGlkeCwgY2hhciAqb3B0aW9ucykKIAlyZXR1cm4gMDsKIH0KIAoraW50IF9faW5pdCB1cGRh dGVfY29uc29sZV9jbWRsaW5lX2NvbnNvbGVfaW5kZXgoY2hhciAqbmFtZSwgaW50IGlkeF9vbGQs IGludCBpZHhfbmV3KQoreworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgTUFYX0NNRExJTkVD T05TT0xFUyAmJiBjb25zb2xlX2NtZGxpbmVbaV0ubmFtZVswXTsgaSsrKQorCQlpZiAoc3RyY21w KGNvbnNvbGVfY21kbGluZVtpXS5uYW1lLCBuYW1lKSA9PSAwICYmCisJCQkgIGNvbnNvbGVfY21k bGluZVtpXS5pbmRleCA9PSBpZHhfb2xkKSB7CisJCQkgIAljb25zb2xlX2NtZGxpbmVbaV0uaW5k ZXggPSBpZHhfbmV3OworCQkJCXJldHVybiAwOworCQl9CisKKwlyZXR1cm4gMDsKK30KKwkKKwog I2lmbmRlZiBDT05GSUdfRElTQUJMRV9DT05TT0xFX1NVU1BFTkQKIC8qKgogICogc3VzcGVuZF9j b25zb2xlIC0gc3VzcGVuZCB0aGUgY29uc29sZSBzdWJzeXN0ZW0K ------=_Part_88776_15298794.1179730597346-- - 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/