From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29796 invoked by alias); 4 Sep 2006 11:37:08 -0000 Received: (qmail 29779 invoked by uid 22791); 4 Sep 2006 11:37:05 -0000 X-Spam-Check-By: sourceware.org Received: from d5152EF28.access.telenet.be (HELO lx-dmz.televic.com) (81.82.239.40) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 04 Sep 2006 11:37:01 +0000 Received: (qmail 17362 invoked from network); 4 Sep 2006 11:36:58 -0000 Received: from nt-email.televic.com (10.0.0.9) by 10.1.8.1 with SMTP; 4 Sep 2006 11:36:58 -0000 Received: from nt-server-email.TELEVIC.COM ([10.0.0.7]) by nt-email.TELEVIC.COM with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Sep 2006 13:36:34 +0200 Received: from [10.0.56.4] ([10.0.56.4]) by nt-server-email.TELEVIC.COM with Microsoft SMTPSVC(5.0.2195.6713); Mon, 4 Sep 2006 13:36:34 +0200 Message-ID: <44FC0FC2.2060504@tiscali.be> Date: Mon, 04 Sep 2006 11:37:00 -0000 From: =?ISO-8859-1?Q?J=FCrgen_Lambrecht?= User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.13) Gecko/20060414 MIME-Version: 1.0 To: Dmitry Varakin CC: ecos-discuss@ecos.sourceware.org References: <946879030609040005h60b4e1b4q711a48aee19bbd50@mail.gmail.com> In-Reply-To: <946879030609040005h60b4e1b4q711a48aee19bbd50@mail.gmail.com> Content-Type: multipart/mixed; boundary="------------080203030605080101000204" Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Some simple questitions X-SW-Source: 2006-09/txt/msg00008.txt.bz2 --------------080203030605080101000204 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Content-length: 1248 Dmitry Varakin wrote: > Hello! > > I have questitions about eCos: > 1. Is it possible to change MAC and IP addresses "on the fly". For > example, function like "set_mac_addr (eth0, my_mac)". yes, I do it. Please search through the mailing list. It was not that easy to find, but I did find it: see attach ims_eth.c; and in the comments you can find a link to the original contribution from Sébastien Couret > 2. Can I have direct access to processor's registers from my user > application? Linux has "mmap()" function for that purpose. > 3. Is it possible to unload RedBoot from RAM when my user application > is starting (to increase amount of free RAM)? yes, I do. As Bob K also says, I use romram mode because my resources are indeed that scarce. for safety, I always start up with redboot, and then jump to the application that is compiled in romram mode; I only needed to do some changes in hal_platform_setup not to initialize the hardware again (define out that assembly code for that specific startup) > 4. Where can I download the toolchain to compile eCos with cygwin? > > Thanks for all answers! > > -- > Dmitry. > -- Jürgen Lambrecht Diksmuidse Heerweg 338 8200 Sint-Andries Tel: +32 (0)50 842901 GSM: +32 (0)476 313389 --------------080203030605080101000204 Content-Type: text/plain; name="ims_eth.c" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ims_eth.c" Content-length: 17446 LyogI2luY2x1ZGUgPHBrZ2NvbmYvc3lzdGVtLmg+ICovDQovKiAjaWZkZWYg Q1lHQkxEX0RFVlNfRVRIX0RFVklDRV9IICAgIC8vIEdldCB0aGUgZGV2aWNl IGNvbmZpZyBpZiBpdCBleGlzdHMgKi8NCi8qICNpbmNsdWRlIENZR0JMRF9E RVZTX0VUSF9ERVZJQ0VfSCAqLw0KLyogI2VuZGlmICovDQoNCg0KI2luY2x1 ZGUgPGVycm5vLmg+DQojaW5jbHVkZSA8bmV0d29yay5oPg0KI2luY2x1ZGUg PG5ldGluZXQvaWZfZXRoZXIuaD4NCiNpbmNsdWRlIDxhcnBhL2luZXQuaD4g Ly9pbmV0X2FkZHINCiNpbmNsdWRlIDxzeXMvcGFyYW0uaD4NCiNpbmNsdWRl IDxjeWcvaW5mcmEvZGlhZy5oPgkJCS8vIGRpYWdfc25wcmludGYNCg0KLyog I2luY2x1ZGUgPGN5Zy9oYWwvaGFsX2FyY2guaD4gKi8NCi8qICNpbmNsdWRl IDxjeWcvaW8vZXRoL2V0aF9kcnYuaD4gLy9ldGggZGVmaW5lcyAqLw0KI2lu Y2x1ZGUgIi4uL2luYy9pbXNfbG9nZ2luZy5oIiAvL2RlYnVnX3ByaW50Zg0K I2luY2x1ZGUgIi4uL2luYy9pbXNfZ2xvYmFsLmgiIC8vZGVidWcgZGVmaW5l cywgdGx2IHR5cGVzLCAuLg0KDQojZGVmaW5lIE1BQ1NUUklORyAxOA0KDQoN Ci8vc3RydWN0CWlmcmVxIHsNCi8vI2RlZmluZSBJRkhXQUREUkxFTiAgNg0K Ly8JY2hhcglpZnJfbmFtZVtJRk5BTVNJWl07CQkvKiBpZiBuYW1lLCBlLmcu ICJlbjAiICovDQovLwl1bmlvbiB7DQovLwkJc3RydWN0CXNvY2thZGRyIGlm cnVfYWRkcjsNCi8vCQlzdHJ1Y3QJc29ja2FkZHIgaWZydV9kc3RhZGRyOw0K Ly8JCXN0cnVjdAlzb2NrYWRkciBpZnJ1X2Jyb2FkYWRkcjsNCi8vCQlzdHJ1 Y3QJc29ja2FkZHIgaWZydV9od2FkZHI7DQovLwkJc2hvcnQJaWZydV9mbGFn c1syXTsNCi8vCQlpbnQJaWZydV9tZXRyaWM7DQovLwkJaW50CWlmcnVfbXR1 Ow0KLy8JCWludAlpZnJ1X3BoeXM7DQovLwkJaW50CWlmcnVfbWVkaWE7DQov LwkJY2FkZHJfdAlpZnJ1X2RhdGE7DQovLwl9IGlmcl9pZnJ1Ow0KLy8jZGVm aW5lCWlmcl9hZGRyCWlmcl9pZnJ1LmlmcnVfYWRkcgkvKiBhZGRyZXNzICov DQovLyNkZWZpbmUJaWZyX2h3YWRkcglpZnJfaWZydS5pZnJ1X2h3YWRkcgkv KiBNQUMgYWRkcmVzcyAqLw0KLy8jZGVmaW5lCWlmcl9kc3RhZGRyCWlmcl9p ZnJ1LmlmcnVfZHN0YWRkcgkvKiBvdGhlciBlbmQgb2YgcC10by1wIGxpbmsg Ki8NCi8vI2RlZmluZQlpZnJfYnJvYWRhZGRyCWlmcl9pZnJ1LmlmcnVfYnJv YWRhZGRyCS8qIGJyb2FkY2FzdCBhZGRyZXNzICovDQovLyNkZWZpbmUJaWZy X2ZsYWdzCWlmcl9pZnJ1LmlmcnVfZmxhZ3NbMF0JLyogZmxhZ3MgKi8NCi8v I2RlZmluZQlpZnJfcHJldmZsYWdzCWlmcl9pZnJ1LmlmcnVfZmxhZ3NbMV0J LyogZmxhZ3MgKi8NCi8vI2RlZmluZQlpZnJfbWV0cmljCWlmcl9pZnJ1Lmlm cnVfbWV0cmljCS8qIG1ldHJpYyAqLw0KLy8jZGVmaW5lCWlmcl9tdHUJCWlm cl9pZnJ1LmlmcnVfbXR1CS8qIG10dSAqLw0KLy8jZGVmaW5lIGlmcl9waHlz CWlmcl9pZnJ1LmlmcnVfcGh5cwkvKiBwaHlzaWNhbCB3aXJlICovDQovLyNk ZWZpbmUgaWZyX21lZGlhCWlmcl9pZnJ1LmlmcnVfbWVkaWEJLyogcGh5c2lj YWwgbWVkaWEgKi8NCi8vI2RlZmluZQlpZnJfZGF0YQlpZnJfaWZydS5pZnJ1 X2RhdGEJLyogZm9yIHVzZSBieSBpbnRlcmZhY2UgKi8NCi8vfTsNCg0KLyog ZXh0ZXJuIHN0cnVjdCBib290cCBldGgwX2Jvb3RwX2RhdGE7ICovDQovKiBl eHRlcm4gY3lnX2Jvb2xfdCAgIGV0aDBfdXA7ICovDQovKiBleHRlcm4gY29u c3QgY2hhciAgKmV0aDBfbmFtZTsgKi8NCg0KLyogZXh0ZXJuIHVuc2lnbmVk IGNoYXIgX19sb2NhbF9lbmV0X2FkZHJbXTsgKi8NCi8qIGV4dGVybiBzdHJ1 Y3QgZXRoX2Rydl9zYyAqX19sb2NhbF9lbmV0X3NjOyAqLw0KLyogc3RydWN0 IGV0aF9kcnZfc2MgeyAqLw0KLyogICAgIHN0cnVjdCBldGhfaHdyX2Z1bnMg KmZ1bnM7ICovDQovKiAgICAgdm9pZCAgICAgICAgICAgICAgICAqZHJpdmVy X3ByaXZhdGU7ICovDQovKiAgICAgY29uc3QgY2hhciAgICAgICAgICAqZGV2 X25hbWU7ICovDQovKiAgICAgaW50ICAgICAgICAgICAgICAgICAgc3RhdGU7 ICovDQovKiAgICAgc3RydWN0IGFycGNvbSAgICAgICAgc2NfYXJwY29tOyAq IGV0aGVybmV0IGNvbW1vbiAqICovDQovKiB9OyAqLw0KLyogc3RydWN0IGV0 aF9od3JfZnVucyB7ICovDQovKiAgICAgLy8gSW5pdGlhbGl6ZSBoYXJkd2Fy ZSAoaW5jbHVkaW5nIHN0YXJ0dXApICovDQovKiAgICAgdm9pZCAoKnN0YXJ0 KShzdHJ1Y3QgZXRoX2Rydl9zYyAqc2MsICovDQovKiAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBjaGFyICplbmFkZHIsICovDQovKiAgICAgICAgICAg ICAgICAgICBpbnQgZmxhZ3MpOyAqLw0KLyogICAgIC8vIFNodXQgZG93biBo YXJkd2FyZSAqLw0KLyogICAgIHZvaWQgKCpzdG9wKShzdHJ1Y3QgZXRoX2Ry dl9zYyAqc2MpOyAqLw0KLyogICAgIC8vIERldmljZSBjb250cm9sIChpb2N0 bCBwYXNzLXRocnUpICovDQovKiAgICAgaW50ICAoKmNvbnRyb2wpKHN0cnVj dCBldGhfZHJ2X3NjICpzYywgKi8NCi8qICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBrZXksICovDQovKiAgICAgICAgICAgICAgICAgICAg IHZvaWQgKmRhdGEsICovDQovKiAgICAgICAgICAgICAgICAgICAgIGludCAg IGRhdGFfbGVuZ3RoKTsgKi8NCi8qICAgICAvLyBRdWVyeSAtIGNhbiBhIHBh Y2tldCBiZSBzZW50PyAqLw0KLyogICAgIGludCAgKCpjYW5fc2VuZCkoc3Ry dWN0IGV0aF9kcnZfc2MgKnNjKTsgKi8NCi8qICAgICAvLyBTZW5kIGEgcGFj a2V0IG9mIGRhdGEgKi8NCi8qICAgICB2b2lkICgqc2VuZCkoc3RydWN0IGV0 aF9kcnZfc2MgKnNjLCAqLw0KLyogICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZXRoX2Rydl9zZyAqc2dfbGlzdCwgKi8NCi8qICAgICAgICAgICAgICAgICAg aW50IHNnX2xlbiwgKi8NCi8qICAgICAgICAgICAgICAgICAgaW50IHRvdGFs X2xlbiwgKi8NCi8qICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBr ZXkpOyAqLw0KLyogICAgIC8vIFJlY2VpdmUgW3VubG9hZF0gYSBwYWNrZXQg b2YgZGF0YSAqLw0KLyogICAgIHZvaWQgKCpyZWN2KShzdHJ1Y3QgZXRoX2Ry dl9zYyAqc2MsICovDQovKiAgICAgICAgICAgICAgICAgIHN0cnVjdCBldGhf ZHJ2X3NnICpzZ19saXN0LCAqLw0KLyogICAgICAgICAgICAgICAgICBpbnQg c2dfbGVuKTsgKi8NCi8qICAgICAvLyBEZWxpdmVyIGRhdGEgdG8vZnJvbSBk ZXZpY2UgZnJvbS90byBzdGFjayBtZW1vcnkgc3BhY2UgKi8NCi8qICAgICAv LyAobW92ZXMgbG90cyBvZiBtZW1jcHkoKXMgb3V0IG9mIERTUnMgaW50byB0 aHJlYWQpICovDQovKiAgICAgdm9pZCAoKmRlbGl2ZXIpKHN0cnVjdCBldGhf ZHJ2X3NjICpzYyk7ICovDQovKiAgICAgLy8gUG9sbCBmb3IgaW50ZXJydXB0 cy9kZXZpY2Ugc2VydmljZSAqLw0KLyogICAgIHZvaWQgKCpwb2xsKShzdHJ1 Y3QgZXRoX2Rydl9zYyAqc2MpOyAqLw0KLyogICAgIC8vIEdldCBpbnRlcnJ1 cHQgaW5mb3JtYXRpb24gZnJvbSBoYXJkd2FyZSBkcml2ZXIgKi8NCi8qICAg ICBpbnQgKCppbnRfdmVjdG9yKShzdHJ1Y3QgZXRoX2Rydl9zYyAqc2MpOyAq Lw0KLyogICAgIC8vIExvZ2ljYWwgZHJpdmVyIGludGVyZmFjZSAqLw0KLyog ICAgIHN0cnVjdCBldGhfZHJ2X2Z1bnMgKmV0aF9kcnYsICpldGhfZHJ2X29s ZDsgKi8NCi8qIH07ICovDQovKiBzdHJ1Y3QgYm9vdHAgeyAqLw0KLyogICAg IHVuc2lnbmVkIGNoYXIgICAgYnBfb3A7CQkJKiBwYWNrZXQgb3Bjb2RlIHR5 cGUgKiAqLw0KLyogICAgIHVuc2lnbmVkIGNoYXIgICAgYnBfaHR5cGU7CQkJ KiBoYXJkd2FyZSBhZGRyIHR5cGUgKiAqLw0KLyogICAgIHVuc2lnbmVkIGNo YXIgICAgYnBfaGxlbjsJCQkqIGhhcmR3YXJlIGFkZHIgbGVuZ3RoICogKi8N Ci8qICAgICB1bnNpZ25lZCBjaGFyICAgIGJwX2hvcHM7CQkJKiBnYXRld2F5 IGhvcHMgKiAqLw0KLyogI2lmZGVmIF9fRUNPUyAqLw0KLyogICAgIHVfaW50 MzJfdCAgICAgICAgYnBfeGlkOwkJCSogdHJhbnNhY3Rpb24gSUQgKiAqLw0K LyogI2Vsc2UgKi8NCi8qICAgICB1bnNpZ25lZCBpbnQgICAgIGJwX3hpZDsJ CQkqIHRyYW5zYWN0aW9uIElEICogKi8NCi8qICNlbmRpZiAqLw0KLyogICAg IHVuc2lnbmVkIHNob3J0ICAgYnBfc2VjczsJCQkqIHNlY29uZHMgc2luY2Ug Ym9vdCBiZWdhbiAqICovDQovKiAgICAgdW5zaWduZWQgc2hvcnQgICBicF9m bGFnczsJCQkqIFJGQzE1MzIgYnJvYWRjYXN0LCBldGMuICogKi8NCi8qICAg ICBzdHJ1Y3QgaW5fYWRkciAgIGJwX2NpYWRkcjsJCQkqIGNsaWVudCBJUCBh ZGRyZXNzICogKi8NCi8qICAgICBzdHJ1Y3QgaW5fYWRkciAgIGJwX3lpYWRk cjsJCQkqICd5b3VyJyBJUCBhZGRyZXNzICogKi8NCi8qICAgICBzdHJ1Y3Qg aW5fYWRkciAgIGJwX3NpYWRkcjsJCQkqIHNlcnZlciBJUCBhZGRyZXNzICog Ki8NCi8qICAgICBzdHJ1Y3QgaW5fYWRkciAgIGJwX2dpYWRkcjsJCQkqIGdh dGV3YXkgSVAgYWRkcmVzcyAqICovDQovKiAgICAgdW5zaWduZWQgY2hhciAg ICBicF9jaGFkZHJbQlBfQ0hBRERSX0xFTl07CSogY2xpZW50IGhhcmR3YXJl IGFkZHJlc3MgKiAqLw0KLyogICAgIGNoYXIJICAgICBicF9zbmFtZVtCUF9T TkFNRV9MRU5dOwkqIHNlcnZlciBob3N0IG5hbWUgKiAqLw0KLyogICAgIGNo YXIJICAgICBicF9maWxlW0JQX0ZJTEVfTEVOXTsJKiBib290IGZpbGUgbmFt ZSAqICovDQovKiAgICAgdW5zaWduZWQgY2hhciAgICBicF92ZW5kW0JQX1ZF TkRfTEVOXTsJKiB2ZW5kb3Itc3BlY2lmaWMgYXJlYSAqICovDQovKiAgICAg Ly8gbm90ZSB0aGF0IGJwX3ZlbmQgY2FuIGJlIGxvbmdlciwgZXh0ZW5kaW5n IHRvIGVuZCBvZiBwYWNrZXQuICovDQovKiB9OyAqLw0KLyogc3RydWN0IGJv b3RwIGV0aDBfYm9vdHBfZGF0YTsgZmlsbGVkIGluIGJ5IGluaXRfYWxsX25l dHdvcmtfaW50ZXJmYWNlcyovDQovKiAgICAgZGlhZ19wcmludGYoIkJPT1RQ WyVzXSBvcDogJXNcbiIsIGludGYsIF9ib290cF9vcFticC0+YnBfb3BdKTsg Ki8NCi8qICAgICBkaWFnX3ByaW50ZigiICAgICAgIGh0eXBlOiAlc1xuIiwg X2Jvb3RwX2h3X3R5cGVbYnAtPmJwX2h0eXBlXSk7ICovDQovKiAgICAgZGlh Z19wcmludGYoIiAgICAgICAgaGxlbjogJWRcbiIsIGJwLT5icF9obGVuICk7 ICovDQovKiAgICAgZGlhZ19wcmludGYoIiAgICAgICAgaG9wczogJWRcbiIs IGJwLT5icF9ob3BzICk7ICovDQovKiAgICAgZGlhZ19wcmludGYoIiAgICAg ICAgIHhpZDogMHgleFxuIiwgYnAtPmJwX3hpZCApOyAqLw0KLyogICAgIGRp YWdfcHJpbnRmKCIgICAgICAgIHNlY3M6ICVkXG4iLCBicC0+YnBfc2VjcyAp OyAqLw0KLyogICAgIGRpYWdfcHJpbnRmKCIgICAgICAgZmxhZ3M6IDB4JXhc biIsIGJwLT5icF9mbGFncyApOyAqLw0KLyogICAgIGRpYWdfcHJpbnRmKCIg ICAgICAgaHdfYWRkcjogIik7ICovDQovKiAgICAgZm9yIChpID0gMDsgIGkg PCBicC0+YnBfaGxlbjsgIGkrKykgeyAqLw0KLyogICAgICAgICBkaWFnX3By aW50ZigiJTAyeCIsIGJwLT5icF9jaGFkZHJbaV0pOyAqLw0KLyogICAgICAg ICBpZiAoaSAhPSAoYnAtPmJwX2hsZW4tMSkpIGRpYWdfcHJpbnRmKCI6Iik7 ICovDQovKiAgICAgfSAqLw0KLyogICAgIGRpYWdfcHJpbnRmKCJcbiIpOyAq Lw0KLyogICAgIGRpYWdfcHJpbnRmKCIgICAgIGNsaWVudCBJUDogJXNcbiIs IGluZXRfbnRvYShicC0+YnBfY2lhZGRyKSk7ICovDQovKiAgICAgZGlhZ19w cmludGYoIiAgICAgICAgIG15IElQOiAlc1xuIiwgaW5ldF9udG9hKGJwLT5i cF95aWFkZHIpKTsgKi8NCi8qICAgICBkaWFnX3ByaW50ZigiICAgICBzZXJ2 ZXIgSVA6ICVzXG4iLCBpbmV0X250b2EoYnAtPmJwX3NpYWRkcikpOyAqLw0K LyogICAgIGRpYWdfcHJpbnRmKCIgICAgZ2F0ZXdheSBJUDogJXNcbiIsIGlu ZXRfbnRvYShicC0+YnBfZ2lhZGRyKSk7ICovDQoNCi8qICAgICBvcHRvdmVy ID0gMDsgLy8gU2VlIHdoZXRoZXIgc25hbWUgYW5kIGZpbGUgYXJlIG92ZXJy aWRkZW4gZm9yIG9wdGlvbnMgKi8NCi8qICAgICBsZW5ndGggPSBzaXplb2Yo b3B0b3Zlcik7ICovDQovKiAgICAgKHZvaWQpZ2V0X2Jvb3RwX29wdGlvbigg YnAsIFRBR19ESENQX09QVE9WRVIsICZvcHRvdmVyLCAmbGVuZ3RoICk7ICov DQovKiAgICAgaWYgKCAhKDEgJiBvcHRvdmVyKSAmJiBicC0+YnBfc25hbWVb MF0gKSAqLw0KLyogICAgICAgICBkaWFnX3ByaW50ZigiICAgICAgICBzZXJ2 ZXI6ICVzXG4iLCBicC0+YnBfc25hbWUpOyAqLw0KLyogICAgIGlmICggISAo MiAmIG9wdG92ZXIpICYmIGJwLT5icF9maWxlWzBdICkgKi8NCi8qICAgICAg ICAgZGlhZ19wcmludGYoIiAgICAgICAgICBmaWxlOiAlc1xuIiwgYnAtPmJw X2ZpbGUpOyAqLw0KLyogICAgIGlmIChicC0+YnBfdmVuZFswXSkgeyAqLw0K LyogICAgICAgICBkaWFnX3ByaW50ZigiICBvcHRpb25zOlxuIik7ICovDQov KiAgICAgICAgIG9wID0gJmJwLT5icF92ZW5kWzRdOyAqLw0KLyogICAgICAg ICB3aGlsZSAoKm9wICE9IFRBR19FTkQpIHsgKi8NCi8qICAgICAgICAgICAg IHN3aXRjaCAoKm9wKSB7ICovDQovKiAgICAgICAgICAgICBjYXNlIFRBR19Q QUQ6ICovDQovKiAgICAgICAgICAgICAgICAgb3ArKzsgKi8NCi8qICAgICAg ICAgICAgICAgICBjb250aW51ZTsgKi8NCi8qICAgICAgICAgICAgIGNhc2Ug VEFHX1NVQk5FVF9NQVNLOiAqLw0KLyogICAgICAgICAgICAgY2FzZSBUQUdf R0FURVdBWTogKi8NCi8qICAgICAgICAgICAgIGNhc2UgVEFHX0lQX0JST0FE Q0FTVDogKi8NCi8qICAgICAgICAgICAgIGNhc2UgVEFHX0RPTUFJTl9TRVJW RVI6ICovDQovKiAgICAgICAgICAgICAgICAgYXAgPSAoY2hhciAqKSZhZGRy WzBdOyAqLw0KLyogICAgICAgICAgICAgICAgIGxlbiA9ICoob3ArMSk7ICov DQovKiAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgIGkgPCBsZW47ICBp KyspIHsgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgKmFwKysgPSAqKG9w K2krMik7ICovDQovKiAgICAgICAgICAgICAgICAgfSAqLw0KLyogICAgICAg ICAgICAgICAgIGlmICgqb3AgPT0gVEFHX1NVQk5FVF9NQVNLKSAgIGFwID0g ICIgIHN1Ym5ldCBtYXNrIjsgKi8NCi8qICAgICAgICAgICAgICAgICBpZiAo Km9wID09IFRBR19HQVRFV0FZKSAgICAgICBhcCA9ICAiICAgICAgZ2F0ZXdh eSI7ICovDQovKiAgICAgICAgICAgICAgICAgaWYgKCpvcCA9PSBUQUdfSVBf QlJPQURDQVNUKSAgYXAgPSAgIiBJUCBicm9hZGNhc3QiOyAqLw0KLyogICAg ICAgICAgICAgICAgIGlmICgqb3AgPT0gVEFHX0RPTUFJTl9TRVJWRVIpIGFw ID0gICJkb21haW4gc2VydmVyIjsgKi8NCi8qIEJPT1RQW2V0aDBdIG9wOiBS RVBMWSAqLw0KLyogICAgICAgIGh0eXBlOiBFdGhlcm5ldCAqLw0KLyogICAg ICAgICBobGVuOiA2ICovDQovKiAgICAgICAgIGhvcHM6IDAgKi8NCi8qICAg ICAgICAgIHhpZDogMHgwICovDQovKiAgICAgICAgIHNlY3M6IDAgKi8NCi8q ICAgICAgICBmbGFnczogMHgwICovDQovKiAgICAgICAgaHdfYWRkcjogMDA6 MGU6M2Q6MDI6MDA6MDAgKi8NCi8qICAgICAgY2xpZW50IElQOiAxMC4wLjU2 LjI1MiAqLw0KLyogICAgICAgICAgbXkgSVA6IDEwLjAuNTYuMjUyICovDQov KiAgICAgIHNlcnZlciBJUDogMTAuMC42MC4xICovDQovKiAgICAgZ2F0ZXdh eSBJUDogMC4wLjAuMCAqLw0KLyogICBvcHRpb25zOiAqLw0KLyogICAgICAg ICBzdWJuZXQgbWFzazogMjU1LjI1NS4wLjAgKi8NCi8qICAgICAgICBJUCBi cm9hZGNhc3Q6IDEwLjAuMjU1LjI1NSAqLw0KLyogICAgICAgICAgICAgZ2F0 ZXdheTogMC4wLjAuMCAqLw0KDQpjaGFyKiBldGhlcl9wcmludChjb25zdCBj aGFyIGNwW0VUSEVSX0FERFJfTEVOXSwgY2hhciAqZXRoZXJhZGRyLGNvbnN0 IHVuc2lnbmVkIGludCBsZW4pDQp7DQogZGlhZ19zbnByaW50ZihldGhlcmFk ZHIsbGVuLCIlMDJ4OiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeCIsY3BbMF0s Y3BbMV0sY3BbMl0sY3BbM10sY3BbNF0sY3BbNV0pOw0KIHJldHVybihldGhl cmFkZHIpOw0KfQ0KDQoNCiNkZWZpbmUgRlBHQV9NQUNfUkVHIDB4MDgwMDAw NTANCnZvaWQgc3RkX2ltc19yZWFkX21hYyhjaGFyICplc2EpDQp7DQogIGlu dCBpOw0KICBjeWdfdWludDE2IHN0YXR1czsNCiAgLy90b2RvOiByZWFkIGl0 IGZyb20gZmlzDQogIGZvciAoaT0wOyBpPDY7IGkrPTIpIHsNCiAgICBIQUxf UkVBRF9VSU5UMTYoKEZQR0FfTUFDX1JFRytpKSwgc3RhdHVzKTsNCiAgICBl c2FbNC1pXSA9IChjaGFyKShzdGF0dXM+PjgpOw0KICAgIGVzYVs1LWldID0g KGNoYXIpKHN0YXR1cyk7DQogIH0NCiNpZiAgTkVUV19ERUJVRw0KICBkZWJ1 Z19wcmludGYoIkZQR0EgTWFjIGFkZHIgJTAyeDolMDJ4OiUwMng6JTAyeDol MDJ4OiUwMnhcbiIsDQogICAgICAgICAgICAgICBlc2FbMF0sIGVzYVsxXSwg ZXNhWzJdLCBlc2FbM10sIGVzYVs0XSwgZXNhWzVdKTsNCiNlbmRpZg0KfQ0K Ly8vbmV0L2NvbW1vbi9jdXJyZW50L3Rlc3RzL3NldF9tYWNfYWRkcmVzcy5j OiBub3QgdXNhYmxlIGZvciBtZQ0KLy9odHRwOi8vc291cmNld2FyZS5vcmcv bWwvZWNvcy1kaXNjdXNzLzIwMDUtMDgvbXNnMDAwMTUuaHRtbA0KLy9KTDog T0ssIHRoaXMgYWxzbyBjaGFuZ2VzIHRoZSBmcGdhIG1hYyBhZGRyZXNzIHJl Z2lzdGVyICh2aWEgZWNvcyBldGggZHJpdmVyDQovL2lvY3RsIGNhbGxzKQ0K VExWX0JPT0wgc2V0X21hY19hZGRyZXNzKGNvbnN0IGNoYXIgKmludGVyZmFj ZSwgY2hhciAqbWFjX2FkZHJlc3MpDQp7DQogIGludCB0ZXN0X3NvY2s9MCwg aT0wOwkJCS8vIFNvY2tldCBQRl9JTkVUL1NPQ0tfREdSQU0NCiAgc3RydWN0 IGlmcmVxIGlmcjsNCiNpZiAgTkVUV19ERUJVRw0KICB1bnNpZ25lZCBjaGFy IGRpc3BsYXlbTUFDU1RSSU5HXTsNCiNlbmRpZg0KICB0ZXN0X3NvY2sgPSBz b2NrZXQoIFBGX0lORVQsIFNPQ0tfREdSQU0sIDAgKTsNCiAgaWYoIHRlc3Rf c29jayA9PSAtMSApDQogIHsNCiAgICBkZWJ1Z19wcmludGYoIkNhbm5vdCBv YnRhaW4gc29ja2V0XG4iKTsNCiAgICByZXR1cm4gVExWX0ZBTFNFOw0KICB9 DQogIA0KICBtZW1zZXQoJmlmciwwLHNpemVvZiggc3RydWN0IGlmcmVxICkg KTsNCiAgc3RybmNweShpZnIuaWZyX25hbWUsaW50ZXJmYWNlLElGTkFNU0la KTsNCiAgZm9yIChpPTA7aTxFVEhFUl9BRERSX0xFTjtpKyspDQogICAgaWZy Lmlmcl9od2FkZHIuc2FfZGF0YVtpXT1tYWNfYWRkcmVzc1tpXTsNCiNpZiAg TkVUV19ERUJVRw0KICBldGhlcl9wcmludChtYWNfYWRkcmVzcyxkaXNwbGF5 LE1BQ1NUUklORyk7DQojZW5kaWYNCiAgaWYoIGlvY3RsKCB0ZXN0X3NvY2ss IFNJT0NTSUZIV0FERFIsICZpZnIgKSA9PSAtMSApDQogIHsNCiAgICBkZWJ1 Z19wcmludGYoIkNhbm5vdCBzZXQgTUFDIGFkcmVzcyBmb3IgJXM6ICVzXG4i LGludGVyZmFjZSxzdHJlcnJvcihlcnJubykpOw0KICAgIGNsb3NlKHRlc3Rf c29jayk7DQogICAgcmV0dXJuIFRMVl9GQUxTRTsNCiAgfQ0KICBlbHNlIA0K ICB7DQojaWYgIE5FVFdfREVCVUcNCiAgICBkZWJ1Z19wcmludGYoIk1BQyBB ZHJlc3MgZm9yICVzIHNldCB0byAlc1xuIixpbnRlcmZhY2UsZGlzcGxheSk7 DQojZW5kaWYNCiAgICBjbG9zZSh0ZXN0X3NvY2spOw0KICAgIHJldHVybiBU TFZfVFJVRTsNCiAgfQ0KDQovKiAjaWYgIE5FVFdfREVCVUcgKi8NCi8qICAg ZGVidWdfcHJpbnRmKCAiTWFjIGFkZHIgJTAyeDolMDJ4OiUwMng6JTAyeDol MDJ4OiUwMnhcbiIsICovDQovKiAgICAgICAgICAgICAgICAgaWZyLmlmcl9o d2FkZHIuc2FfZGF0YVswXSwgKi8NCi8qICAgICAgICAgICAgICAgICBpZnIu aWZyX2h3YWRkci5zYV9kYXRhWzFdLCAqLw0KLyogICAgICAgICAgICAgICAg IGlmci5pZnJfaHdhZGRyLnNhX2RhdGFbMl0sICovDQovKiAgICAgICAgICAg ICAgICAgaWZyLmlmcl9od2FkZHIuc2FfZGF0YVszXSwgKi8NCi8qICAgICAg ICAgICAgICAgICBpZnIuaWZyX2h3YWRkci5zYV9kYXRhWzRdLCAqLw0KLyog ICAgICAgICAgICAgICAgIGlmci5pZnJfaHdhZGRyLnNhX2RhdGFbNV0gKTsg Ki8NCi8qICNlbmRpZiAqLw0KfQ0KDQovKiAgIF9fbG9jYWxfZW5ldF9zYy0+ ZnVucy0+Y29udHJvbChfX2xvY2FsX2VuZXRfc2MsICovDQovKiAgIEVUSF9E UlZfU0VUX01BQ19BRERSRVNTLG5ld19ldGgwX2FkZHIsIDApOyAqLw0KLyog ICAgIGZvciAoaSA9IDA7ICBpIDwgYnAtPmJwX2hsZW47ICBpKyspIHsgKi8N Ci8qICAgICAgICAgZGlhZ19wcmludGYoIiUwMngiLCBicC0+YnBfY2hhZGRy W2ldKTsgKi8NCi8qICAgICAgICAgaWYgKGkgIT0gKGJwLT5icF9obGVuLTEp KSBkaWFnX3ByaW50ZigiOiIpOyAqLw0KLyogICAgICAgIGh3X2FkZHI6IDAw OjBlOjNkOjAyOjAwOjAwICovDQovKiBjb250cm9sKHN0cnVjdCBldGhfZHJ2 X3NjKiBzYywgdW5zaWduZWQgbG9uZyBrZXksIHZvaWQqIGRhdGEsIGludA0K ICAgZGF0YV9sZW5ndGgpIE9ubHkgdGhlIGxhc3QgMiBieXRlcyBhcmUgd3Jp dHRlbi4gKi8NCg0KDQovL2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9lY29z LWRpc2N1c3MvMjAwNS0wOC9tc2cwMDAxNS5odG1sDQpUTFZfQk9PTCBzZXRf aXBfYWRkcmVzcyhjb25zdCBjaGFyICppbnRlcmZhY2UsIGNvbnN0IGNoYXIg KmlwX2FkZHJlc3MpDQp7DQogIGludCB0ZXN0X3NvY2s7DQogIHN0cnVjdCBz b2NrYWRkcl9pbiogYWRkcj1OVUxMOw0KICBzdHJ1Y3QgaWZyZXEgaWZyOw0K DQogIHRlc3Rfc29jayA9IHNvY2tldCggUEZfSU5FVCwgU09DS19ER1JBTSwg MCApOw0KICBpZiggdGVzdF9zb2NrID09IC0xICkNCiAgew0KICAgIGRlYnVn X3ByaW50ZigiQ2Fubm90IG9idGFpbiBJUCBzb2NrXG4iKTsNCiAgICByZXR1 cm4gVExWX0ZBTFNFOw0KICB9DQoNCiAgbWVtc2V0KCZpZnIsMCxzaXplb2Yo IHN0cnVjdCBpZnJlcSApICk7DQogIHN0cm5jcHkoaWZyLmlmcl9uYW1lLGlu dGVyZmFjZSxJRk5BTVNJWik7DQogIC8vSkw6IERlbGV0ZSBvbGQgSVAgYWRk cmVzcywgZWxzZSB0aGVyZSB3aWxsIGJlIDIgSVAgYWRkcmVzc2VzIQ0KICBp ZiggaW9jdGwoIHRlc3Rfc29jaywgU0lPQ0dJRkFERFIsICZpZnIgKSA9PSAt MSApDQogIHsNCiAgICBkZWJ1Z19wcmludGYoIkNhbm5vdCBvYnRhaW4gSVAg YWRkcmVzcyBvZiAlczogJXNcbiIsaW50ZXJmYWNlLHN0cmVycm9yKGVycm5v KSk7DQogIH0NCiAgZWxzZQ0KICB7DQogICAgaWYoIGlvY3RsKCB0ZXN0X3Nv Y2ssIFNJT0NESUZBRERSLCAmaWZyICkgIT0gMCApDQogICAgew0KICAgICAg ZGVidWdfcHJpbnRmKCJDYW5ub3Qgc3VwcHJlc3Mgb2xkIElQIGZvciAlczog JXNcbiIsaW50ZXJmYWNlLHN0cmVycm9yKGVycm5vKSk7DQogICAgfQ0KICB9 DQoNCiAgbWVtc2V0KCAmaWZyLCAwLCBzaXplb2YoIHN0cnVjdCBpZnJlcSAp ICk7DQogIGFkZHI9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikmKGlmci5pZnJf YWRkcik7DQogIG1lbXNldChhZGRyLCAwLCBzaXplb2YoIHN0cnVjdCBzb2Nr YWRkcl9pbikgKTsNCiAgYWRkci0+c2luX2xlbj1zaXplb2Yoc3RydWN0IHNv Y2thZGRyX2luKTsNCiAgYWRkci0+c2luX2ZhbWlseT1BRl9JTkVUOw0KICBh ZGRyLT5zaW5fYWRkci5zX2FkZHI9aW5ldF9hZGRyKGlwX2FkZHJlc3MpOw0K ICBzdHJuY3B5KGlmci5pZnJfbmFtZSxpbnRlcmZhY2UsSUZOQU1TSVopOw0K DQogIGlmKCBpb2N0bCggdGVzdF9zb2NrLCBTSU9DU0lGQUREUiwgJmlmciAp ICE9IDAgKQ0KICB7DQogICAgZGVidWdfcHJpbnRmKCJDYW5ub3Qgc2V0IElQ IGFkZHJlc3Mgb2YgJXMgdG8gJXM6ICVzXG4iLGludGVyZmFjZSxpcF9hZGRy ZXNzLHN0cmVycm9yKGVycm5vKSk7DQogICAgY2xvc2UodGVzdF9zb2NrKTsN CiAgICByZXR1cm4gVExWX0ZBTFNFOzsNCiAgfQ0KICBlbHNlIA0KICB7DQoj aWYgIE5FVFdfREVCVUcNCiAgICBkZWJ1Z19wcmludGYoIklQIGFkZHJlc3Mg Zm9yICVzIHNldCB0byAlc1xuIixpbnRlcmZhY2UsaW5ldF9udG9hKGFkZHIt PnNpbl9hZGRyKSk7DQojZW5kaWYNCiAgICBjbG9zZSh0ZXN0X3NvY2spOw0K ICAgIHJldHVybiBUTFZfVFJVRTsNCiAgfQ0KfQ0KDQpUTFZfQk9PTCByZWFk X2lwX2FkZHJlc3MoY29uc3QgY2hhciAqaW50ZXJmYWNlLCBjaGFyICppcF9h ZGRyZXNzKQ0Kew0KICBpbnQgczsNCiAgc3RydWN0IGlmcmVxIGlmcjsNCiAg c3RydWN0IHNvY2thZGRyX2luKiBhZGRyPU5VTEw7DQogIA0KICBzID0gc29j a2V0KEFGX0lORVQsIFNPQ0tfREdSQU0sIDApOw0KICBpZiAocyA8IDApIA0K ICB7DQogICAgZGVidWdfcHJpbnRmKCJDYW5ub3Qgb2J0YWluIElQIHNvY2tl dFxuIik7DQogICAgcmV0dXJuIFRMVl9GQUxTRTsNCiAgfQ0KDQogIHN0cmNw eShpZnIuaWZyX25hbWUsIGludGVyZmFjZSk7DQoNCiAgaWYoIGlvY3RsKCBz LCBTSU9DR0lGQUREUiwgJmlmciApID09IC0xICkNCiAgew0KICAgIGRlYnVn X3ByaW50ZigiQ2Fubm90IG9idGFpbiBJUCBhZGRyZXNzXG4iKTsNCiAgICBy ZXR1cm4gVExWX0ZBTFNFOw0KICB9DQogIGVsc2UNCiAgew0KICAgIGFkZHI9 IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikmKGlmci5pZnJfYWRkcik7DQogICAg c3RyY3B5KGlwX2FkZHJlc3MsaW5ldF9udG9hKGFkZHItPnNpbl9hZGRyKSk7 DQojaWYgIE5FVFdfREVCVUcNCiAgICBkZWJ1Z19wcmludGYoIklQIGFkZHJl c3MgZm9yICclcycgaXMgJyVzJ1xuIixpbnRlcmZhY2UsaW5ldF9udG9hKGFk ZHItPnNpbl9hZGRyKSk7DQogICAgc2hvd19ib290cChldGgwX25hbWUsICZl dGgwX2Jvb3RwX2RhdGEpOw0KLyogICAgIHNob3dfbmV0d29ya190YWJsZXMo KTsgKi8NCiNlbmRpZg0KICAgIHJldHVybiBUTFZfVFJVRTsNCiAgfQ0KfQ0K --------------080203030605080101000204 Content-Type: text/plain; charset=us-ascii Content-length: 148 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss --------------080203030605080101000204--