From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <390F46F8.1748ACC9@motorola.com> Date: Tue, 02 May 2000 16:22:00 -0500 From: "Richard Hendricks" MIME-Version: 1.0 To: linuxppc-embedded@lists.linuxppc.org Subject: Re: Board boots when in BDM, hangs otherwise References: <2.2.32.20000501224050.00d776fc@electra.znyx.com> <390E1575.5FED84DD@mvista.com> <390EEDC5.362C58FB@motorola.com> Content-Type: multipart/mixed; boundary="------------84215F75D7B2A941AE85A398" Sender: owner-linuxppc-embedded@lists.linuxppc.org List-Id: This is a multi-part message in MIME format. --------------84215F75D7B2A941AE85A398 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Note: This stuff only applies for Metrowerks running bare metal on the FADS board. Here are the instructions: > Changes to PowerPC Runtime Source > > Add a __declspec(".init") before "extern void __start(void)" in > __start.c > Remove #pragma code_type ".init" in __start.c > Add the following lines of code to __init_hardware() in > __ppc_eabi_init.c and .cpp right after the nofralloc > > /* Our address is really in high Flash ROM space. When reset, > execution > * starts at 0x0100. This code fragment jumps us to the correct > * high memory area */ > > lis r3, __init_hardware@h /* high address of __start */ > ori r3, r3, __init_hardware@l > addi r3, r3, 0x0014 /* Jumps us into the NOPs below */ > mtctr r3 > bctr > > nop > nop > > /* Now we need to fix the LR since it points back to 0x0000_010x, > * not 0x0280_010x like it needs to after we muck up the BCSR's */ > > mflr r3 > oris r3, r3, 0x0280 > mtlr r3 > > //Do rest of board setup here, including MSR, IMMR, disable and > invalidate caches, program UPM, ICTRL, DER, and ICR > > Chages to PowerPC Runtime Include > > Remove declspec from both __init_hardware() and ADSInit() in file > __ppc_eabi_init.h > > Next recompile Runtime. > Make sure __ppc_eabi_init in project file points to new modified > version. > > Then goto the project you wish to use flash, and change the Code Address > to start at 0x02800100. Since __start is the only function marked as > .init, it will now be at the correct location, 0x0100 during bootup. > > The runtime will also work when not flashing. > > This will also allow you to run standalone, and with MPC8bug attached by > "go 02800100". I sent them in to Metrowerks, so hopefully their next iteration will work. I have also included my whole _FADS.cpp init file. "Richard Hendricks (ra6353)" wrote: > > Jim Lewis wrote: > > > > Hi Josh, > .. > > Ther is one register that the IN command sets that it does not tell you about. That > > is the ICTRL register, which controls serialization of the core, among other > > things. On powerup, it is set to SHOW-ALL-INSTRUCTION-FETCH-CYCLES. Some 8xx > > processors have problems with this. Read the errata. Check to make sure you are > > setting ICTRL to something like 0x07 in your firmware. > > > > -Jim > > This is also probably the source of your slowdown when running > off of BDM. > > Also make sure the watchdog is disabled (Dan's code does this, I think). > > If anyone is interested, I can post the startup file I use for > running from flash on the FADS board using Metrowerks. I finally > figured out a way that I can run the same flash image standalone, > and through MPC8bug. > > -- > MPC823 Applications Engineering Development > -- MPC823 Applications Engineering Development --------------84215F75D7B2A941AE85A398 Content-Type: application/x-unknown-content-type-CodeWarrior_cpp; name="__ppc_eabi_init_FADS.cpp" Content-Disposition: inline; filename="__ppc_eabi_init_FADS.cpp" Content-Transfer-Encoding: base64 LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8NCi8qDQoNCkZJTEUNCglfX3BwY19lYWJpX2luaXQu Y3BwDQoNCkRFU0NSSVBUSU9ODQoNCglVc2UgdGhpcyBmaWxlIGZvciBDKysuICBDb250YWlu cyBjYWxscyB0byBpbml0aWFsaXplIG1lbW9yeSBwb29scw0KCWZvciB1c2Ugd2l0aCBtYWxs b2MvZnJlZSwgZXhjZXB0aW9ucyBhbmQgc3RhdGljIGluaXRpYWxpemVycy4gIFlvdQ0KCW1h eSB1c2UgaXQgd2l0aCBDIGlmIHlvdSB3aXNoLiAgSWYgdXNlZCB3aXRoIEMsIHlvdXIgcHJv Z3JhbSB3aWxsIGJlDQoJYSBsaXR0bGUgYmlnZ2VyICgzNjggYnl0ZXMpLg0KDQoJSW50ZXJm YWNlIGZvciBib2FyZC1sZXZlbCBpbml0aWFsaXphdGlvbiBhbmQgdXNlci1sZXZlbCBpbml0 aWFsaXphdGlvbi4NCgkNCglJZiBoYXJkd2FyZSBpbml0aWFsaXphdGlvbiBhbmQgcHJlLW1h aW4gdXNlciBpbml0aWFsaXphdGlvbiBhcmUgcmVxdWlyZWQsDQoJY29weSB0aGlzIGZpbGUg dG8geW91ciBwcm9qZWN0IGRpcmVjdG9yeSBhbmQgY3VzdG9taXplIGl0IChpbnN0ZWFkIG9m DQoJY3VzdG9taXppbmcgX19zdGFydC5jKS4NCgkNCglOb3RlIHRoYXQgX19pbml0X2hhcmR3 YXJlIHNob3VsZCBub3Qgd3JpdGUgb24gdGhlIHN0YWNrIHVudGlsIHRoZQ0KCW1lbW9yeSBj b250cm9sbGVyIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQuDQoNCgkNCgl2b2lkIF9faW5pdF9o YXJkd2FyZSh2b2lkKQ0KCQ0KCQlJbml0aWFsaXplIHRoZSBoYXJkd2FyZSwgaW5jbHVkaW5n IHRoZSBtZW1vcnkgY29udHJvbGxlci4NCgkNCgl2b2lkIF9faW5pdF91c2VyKHZvaWQpDQoJ DQoJCUFsbG93IHRoZSB1c2VyIHRvIHBlcmZvcm0gaW5pdGlhbGl6YXRpb24gYmVmb3JlIGNh bGxpbmcgbWFpbigpLg0KCQ0KCXZvaWQgX19pbml0X2NwcCh2b2lkKQ0KCQ0KCQlDb2RlV2Fy cmlvciBDKysgaW5pdGlhbGl6YXRpb24gYmVmb3JlIGNhbGxpbmcgbWFpbigpLg0KCQ0KCXZv aWQgX19pbml0KHZvaWQpDQoJDQoJCUNvZGVXYXJyaW9yIGxpbmtlciBnZW5lcmF0ZWQgZnVu Y3Rpb24gZm9yIGNhbGxpbmcgc3RhdGljIA0KCQljb25zdHJ1Y3RvcnMuICBEbyBub3QgdG91 Y2ghDQoNCgl2b2lkIF9FeGl0UHJvY2Vzcyh2b2lkKQ0KIAkJDQogCQlUaGlzIGZ1bmN0aW9u IHNpbXBseSBzdGFsbHMgdGhlIGRlYnVnZ2VyLiAgWW91IG1heSB3YW50IHRvIHJld3JpdGUg dGhpcw0KIAkJZnVuY3Rpb24gaWYgeW91IGFyZSB1c2luZyBhbiBPUy4NCgkNCiAJYWJvcnQg YW5kIGV4aXQNCiANCiAJSW4gb3JkZXIgdG8gY29ycmVjdGx5IGltcGxlbWVudCB0aGUgcmVx dWlyZWQgc3RhcnR1cC90ZXJtaW5hdGlvbiBzZXF1ZW5jZSBmb3INCiAJQyBhbmQgQysrIHBy b2dyYW1zLCB3ZSBuZWVkIHRvIGhhdmUgYW4gZXhpdCgpIHJvdXRpbmUgdGhhdCBjYW4gYmUg Y2FsbGVkIGJ5DQogCXRoZSBwcm9ncmFtIHN0YXJ0dXAgY29kZS4gVGhlIGV4aXQoKSByb3V0 aW5lIGlzIHN1cHBvc2VkIHRvDQogDQogCQkoMSkJY2FsbCBhbnkgZnVuY3Rpb25zIHJlZ2lz dGVyZWQgdmlhIGF0ZXhpdCgpDQogCQkoMikgY2FsbCBkZXN0cnVjdG9ycyBmb3IgYW55IGds b2JhbCBvYmplY3RzDQogCQkoMykJZmx1c2ggYW55IHVud3JpdHRlbiBidWZmZXJzLCBjbG9z ZSBhbnkgb3BlbiBmaWxlcywgZXRjLg0KIAkJKDQpIHRlcm1pbmF0ZXMgdGhlIHByb2dyYW0N CiANCiAJV2UgZG9uJ3QsIGhvd2V2ZXIsIHdhbnQgdG8gcmVxdWlyZSB0aGUgQU5TSSBDIGxp YnJhcnkgZm9yIGV2ZXJ5IENvZGVXYXJyaW9yDQogCXByb2dyYW0sIHNpbmNlIGl0IGRyYWdz IGluIGxvdHMgb2YgY29kZSB0aGF0IG1heSBub3QgYmUgbmVlZGVkLg0KIA0KIAlJbnN0ZWFk IHdlIHByb3ZpZGUgYSBkdW1teSBleGl0KCkgZnVuY3Rpb24gd2hpY2ggc2ltcGx5IGNhbGxz IHRoZSBkZXN0cnVjdG9ycw0KIAlhbmQgdGVybWluYXRlcyB0aGUgcHJvZ3JhbS4gV2UgYXNz dW1lIHRoYXQgYW55IHByb2dyYW0gd2hpY2ggdXNlcyBhdGV4aXQoKQ0KIAlvciA8c3RkaW8u aD4gYW5kIHdoaWNoIHJlcXVpcmVzIHRob3NlIGNsZWFudXAgYmVoYXZpb3JzIHdpbGwgaGF2 ZSBsaW5rZWQgd2l0aA0KIAl0aGUgQU5TSSBDIGxpYnJhcnksIHdob3NlIGRlZmluaXRpb24g b2YgZXhpdCgpIHdpbGwgb3ZlcnJpZGUgdGhlIG9uZSBoZXJlLg0KIA0KIAlXZSBzaW1pbGFy bHkgZGVmaW5lIGEgZHVtbXkgYWJvcnQoKSBmdW5jdGlvbiAod2hpY2ggaXMgY2FsbGVkIGJ5 IHRoZSBkZWZhdWx0DQogCXRlcm1pbmF0ZSgpIGhhbmRsZXIpLg0KIA0KIAlQcm9ncmFtcyB3 aGljaCByZWx5IG9uIHRoZSBwcm9wZXIgQU5TSSBDL0MrKyBiZWhhdmlvciBtdXN0IHVzZSB0 aGUgQU5TSSBDDQogCWxpYnJhcnksIGFuZCBvcmRlciBpdCBpbiB0aGUgQ29kZVdhcnJpb3Ig cHJvamVjdCBvciBjb21tYW5kLWxpbmUgc28gdGhhdA0KIAlpdHMgZGVmaW5pdGlvbnMgc3Vw ZXJzZWRlIHRoZXNlIGRlZmluaXRpb25zIGluIHRoZSBydW50aW1lIHN1cHBvcnQgbGlicmFy eS4NCg0KQ09QWVJJR0hUCQ0KCShjKSAxOTk3IE1ldHJvd2Vya3MgQ29ycG9yYXRpb24NCglB bGwgcmlnaHRzIHJlc2VydmVkLg0KDQpISVNUT1JZDQoJOTcgQVBSIDE3IExMWQlDcmVhdGVk Lg0KCTk3IEpVTiAyNCBNRUEJQWRkZWQgc3VwcG9ydCBmb3IgQysrIGFuZCBtYWxsb2MgbWVt b3J5IGhlYXBzLg0KCTk3IEpVTCAxNyBTQ00JQ3VzdG9taXplZCBmb3IgTVBDODIxIEFEUyBi b2FyZC4NCgk5NyBKVUwgMjAgTUVBCUNoYW5nZWQgX19leGl0IHRvIF9FeGl0UHJvY2VzcyBz byBhcyBub3QgdG8gY29uZmxpY3Qgd2l0aCBNU0wuDQoJCQkJCV9FeGl0UHJvY2VzcyBhZGRl ZCB0byB0aGlzIGZpbGU7IHJlbW92ZWQgZm9ybSBfX3N0YXJ0LmMuDQoNCiovDQovKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLw0KDQojaW5jbHVkZSA8X19wcGNfZWFiaV9pbml0Lmg+DQojaW5j bHVkZSA8X19wcGNfZWFiaV9saW5rZXIuaD4JCS8qIGxpbmtlci1nZW5lcmF0ZWQgc3ltYm9s IGRlY2xhcmF0aW9ucyAqLw0KI2luY2x1ZGUgPHBvb2xfYWxsb2MuaD4NCiNpbmNsdWRlIDxO TVdFeGNlcHRpb24uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCg0KI2lmZGVmIF9fY3BsdXNw bHVzDQpleHRlcm4gIkMiIHsNCiNlbmRpZg0KDQpleHRlcm4gdm9pZCBfX3Npbml0KHZvaWQp Ow0Kc3RhdGljIHZvaWQgX19pbml0X2NwcCh2b2lkKTsNCg0KI2lmZGVmIF9fY3BsdXNwbHVz DQp9DQojZW5kaWYNCg0Kc3RhdGljIGludCBmcmFnbWVudElEOwkJCS8qIElEIGdpdmVuIHRv IGZyYWdtZW50IGJ5IGV4Y2VwdGlvbi1oYW5kbGluZwkJKi8NCg0KDQojZGVmaW5lIFNSUjAJ MjYNCiNkZWZpbmUgU1JSMQkyNw0KI2RlZmluZSBDVFINCiNkZWZpbmUgTFINCiNkZWZpbmUg SU1NUgk2MzgNCiNkZWZpbmUgSUNSCQkxNDgNCiNkZWZpbmUgREVSCQkxNDkNCiNkZWZpbmUg SUNUUkwJMTU4DQojZGVmaW5lIElDX0NTVAk1NjANCiNkZWZpbmUgRENfQ1NUCTU2OA0KI2Rl ZmluZSBTSVVNQ1IJMHgwMDAwDQojZGVmaW5lIFNZUENSCTB4MDAwNA0KI2RlZmluZSBNQVIJ CTB4MDE2NA0KI2RlZmluZSBNQ1IJCTB4MDE2OA0KI2RlZmluZSBNQU1SCTB4MDE3MA0KI2Rl ZmluZSBNQk1SCTB4MDE3NA0KI2RlZmluZSBNUFRQUgkweDAxN2ENCiNkZWZpbmUgTURSCQkw eDAxN2MNCiNkZWZpbmUgQlIwCQkweDAxMDANCiNkZWZpbmUgT1IwCQkweDAxMDQNCiNkZWZp bmUgQlIxCQkweDAxMDgNCiNkZWZpbmUgT1IxCQkweDAxMGMNCiNkZWZpbmUgQlIyCQkweDAx MTANCiNkZWZpbmUgT1IyCQkweDAxMTQNCiNkZWZpbmUgQlIzCQkweDAxMTgNCiNkZWZpbmUg T1IzCQkweDAxMWMNCiNkZWZpbmUgQlI0CQkweDAxMjANCiNkZWZpbmUgT1I0CQkweDAxMjQN CiNkZWZpbmUgQlI1CQkweDAxMjgNCiNkZWZpbmUgT1I1CQkweDAxMmMNCiNkZWZpbmUgVEJT Q1IJMHgwMjAwDQojZGVmaW5lCVBJU0NSCTB4MDI0MA0KI2RlZmluZSBESVNBQkxFX0NBQ0hF CTB4MDQwMA0KI2RlZmluZSBJTlZBTElEX0NBQ0hFCTB4MEMwMA0KDQpjb25zdCB1bnNpZ25l ZCBpbnQgVXBtQVRhYmxlW10gPQ0Kew0KLyogTm9ybWFsIHJlYWQgKi8NCjB4OGZmZmVjMjQs IDB4MGZmZmVjMDQsIDB4MGNmZmVjMDQsIDB4MDBmZmVjMDQsDQoweDAwZmZlYzAwLCAweDM3 ZmZlYzQ3LCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KDQovKiBCdXJzdCByZWFkICovDQow eDhmZmZlYzI0LCAweDBmZmZlYzA0LCAweDA4ZmZlYzA0LCAweDAwZmZlYzBjLA0KMHgwM2Zm ZWMwMCwgMHgwMGZmZWM0NCwgMHgwMGZmY2MwOCwgMHgwY2ZmY2M0NCwNCjB4MDBmZmVjMGMs IDB4MDNmZmVjMDAsIDB4MDBmZmVjNDQsIDB4MDBmZmNjMDAsDQoweDNmZmZjODQ3LCAweGZm ZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KDQovKiBOb3JtYWwgd3JpdGUgKi8N CjB4OGZhZmNjMjQsIDB4MGZhZmNjMDQsIDB4MGNhZmNjMDAsIDB4MTFiZmNjNDcsDQoweGMw ZmZjYzg0LCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KDQovKiBCdXJz dCB3cml0ZSAqLw0KMHg4ZmFmY2MyNCwgMHgwZmFmY2MwNCwgMHgwY2FmY2MwMCwgMHgwM2Fm Y2M0YywNCjB4MGNhZmNjMDAsIDB4MDNhZmNjNGMsIDB4MGNhZmNjMDAsIDB4MDNhZmNjNGMs DQoweDBjYWZjYzAwLCAweDMzYmZjYzRmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KMHhm ZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwNCg0KLyogUmVm cmVzaCAqLw0KMHhjMGZmY2M4NCwgMHgwMGZmY2MwNCwgMHgwN2ZmY2MwNCwgMHgzZmZmY2Mw NiwNCjB4ZmZmZmNjODUsIDB4ZmZmZmNjMDUsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYsDQow eGZmZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KDQovKiBF eGNlcHRpb24gKi8NCjB4MzNmZmNjMDcsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYsIDB4ZmZm ZmZmZmYNCg0KfTsNCg0KY29uc3QgdW5zaWduZWQgaW50IFVwbUJUYWJsZVtdID0NCnsNCi8q IE5vcm1hbCByZWFkICovDQoweDFmMDdmYzA0LCAweGVlYWVmYzA0LCAweDExYWRmYzA0LCAw eGVmYmJiYzAwLA0KMHgxZmY3N2M0NywgMHgxZmY3N2MzNCwgMHhlZmVhYmMzNCwgMHgxZmI1 N2MzNSwNCg0KLyogQnVyc3QgcmVhZCAqLw0KMHgxZjA3ZmMwNCwgMHhlZWFlZmMwNCwgMHgx MGFkZmMwNCwgMHhmMGFmZmMwMCwNCjB4ZjBhZmZjMDAsIDB4ZjFhZmZjMDAsIDB4ZWZiYmJj MDAsIDB4MWZmNzdjNDcsDQoweGZmZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLCAw eGZmZmZmZmZmLA0KMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZm ZmZmZiwNCg0KLyogTm9ybWFsIHdyaXRlICovDQoweDFmMjdmYzA0LCAweGVlYWViYzAwLCAw eDAxYjkzYzA0LCAweDFmZjc3YzQ3LA0KMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZm ZmZmZiwgMHhmZmZmZmZmZiwNCg0KLyogQnVyc3Qgd3JpdGUgKi8NCjB4MWYwN2ZjMDQsIDB4 ZWVhZWJjMDAsIDB4MTBhZDdjMDAsIDB4ZjBhZmZjMDAsDQoweGYwYWZmYzAwLCAweGUxYmJi YzA0LCAweDFmZjc3YzQ3LCAweGZmZmZmZmZmLA0KMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwg MHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwNCjB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYsIDB4ZmZm ZmZmZmYsIDB4ZmZmZmZmZmYsDQoNCi8qIFJlZnJlc2ggKi8NCjB4MWZmNWZjODQsIDB4ZmZm ZmZjMDQsIDB4ZmZmZmZjMDQsIDB4ZmZmZmZjMDQsDQoweGZmZmZmYzg0LCAweGZmZmZmYzA3 LCAweGZmZmZmZmZmLCAweGZmZmZmZmZmLA0KMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhm ZmZmZmZmZiwgMHhmZmZmZmZmZiwNCg0KLyogRXhjZXB0aW9uICovDQoweDdmZmZmYzA3LCAw eGZmZmZmZmZmLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmDQoNCn07DQoNCmFzbSB2b2lkIF9f aW5pdF9oYXJkd2FyZSh2b2lkKQ0Kew0KCS8qDQoJICoJSW5pdGlhbGl6ZSBNb3Rvcm9sYSBB RFMgYm9hcmQgdW5sZXNzIHJ1bm5pbmcgd2l0aCBNV0RlYnVnLg0KCSAqCVVuY29tbWVudCB0 aGUgaW5pdGlhbGl6YXRpb24gYmVsb3cgaWYgcnVubmluZyB3aXRoIE1QQzhCVUcNCgkgKglv ciBzdGFuZGFsb25lLiAgWW91IG1heSBuZWVkIHRvIHBlcmZvcm0gb3RoZXIgaW5pdGlhbGl6 YXRpb25zLg0KCSAqLw0KCW5vZnJhbGxvYw0KCQ0KCS8qDQoJICoJV2hlbiBjdXN0b21pemlu ZywgYmUgYXdhcmUgdGhhdCB0aGUgbWVtb3J5IGNvbnRyb2xsZXIgbWF5IG5vdCBiZQ0KCSAq CWNvbmZpZ3VyZWQuICBSMSwgUjIsIGFuZCBSMTMgYXJlIGFscmVhZHkgaW5pdGlhbGl6ZWQg YW5kIGNhbm5vdCBiZSB1c2VkLg0KCSAqICBTdGFjayBwb2ludGVyIGlzIGNvbmZpZ3VyZWQs IGJ1dCB0aGUgbWVtb3J5IGl0IHBvaW50cyB0byBpcyBub3QhDQoJICovDQoNCgkvKiBPdXIg YWRkcmVzcyBpcyByZWFsbHkgaW4gaGlnaCBGbGFzaCBST00gc3BhY2UuICBXaGVuIHJlc2V0 LCBleGVjdXRpb24NCgkgKiBzdGFydHMgYXQgMHgwMTAwLiAgVGhpcyBjb2RlIGZyYWdtZW50 IGp1bXBzIHVzIHRvIHRoZSBjb3JyZWN0IA0KCSAqIGhpZ2ggbWVtb3J5IGFyZWEgKi8NCgkN CglsaXMgcjMsIF9faW5pdF9oYXJkd2FyZUBoICAvKiBoaWdoIGFkZHJlc3Mgb2YgX19zdGFy dCAqLw0KCW9yaSByMywgcjMsIF9faW5pdF9oYXJkd2FyZUBsDQoJYWRkaSByMywgcjMsIDB4 MDAxNCAgLyogSnVtcHMgdXMgaW50byB0aGUgTk9QcyBiZWxvdyAqLw0KCW10Y3RyIHIzDQoJ YmN0cg0KCQ0KCW5vcA0KCW5vcA0KDQogICAgLyogTm93IHdlIG5lZWQgdG8gZml4IHRoZSBM UiBzaW5jZSBpdCBwb2ludHMgYmFjayB0byAweDAwMDBfMDEweCwNCiAgICAgKiBub3QgMHgw MjgwXzAxMHggbGlrZSBpdCBuZWVkcyB0byBhZnRlciB3ZSBtdWNrIHVwIHRoZSBCQ1NSJ3Mg Ki8NCiAgICAgDQogICAgbWZsciByMw0KICAgIG9yaXMgcjMsIHIzLCAweDAyODANCiAgICBt dGxyIHIzDQoNCi8vU2V0dXAgTVNSDQoJYWRkaSByNCwgcjAsIDB4MTAwMg0KCW10bXNyIHI0 DQoJbXRzcHIgU1JSMSwgcjQNCg0KLy9TZXR1cCBJTU1SCQ0KCWxpcyByNCwgMHgwMjIwIA0K CW9yaSByNCwgcjQsIDB4MDAwMA0KCW10c3ByIElNTVIsIHI0DQoNCi8vRGlzYWJsZSBhbmQg SW52YWxpZGF0ZSBJIGFuZCBEIGNhY2hlcw0KCWxpcyByMywgRElTQUJMRV9DQUNIRQ0KCW10 c3ByIElDX0NTVCwgcjMNCglpc3luYw0KCW10c3ByIERDX0NTVCwgcjMNCgkNCglsaXMgcjMs IElOVkFMSURfQ0FDSEUNCgltdHNwciBJQ19DU1QsIHIzDQoJaXN5bmMNCgltdHNwciBEQ19D U1QsIHIzDQoJDQovL1NldHVwIFNZUENSICYgZGlzYWJsZSBzb2Z0d2FyZSB3YXRjaGRvZw0K CWxpcyByMywgMHhmZmZmDQoJb3JpIHIzLCByMywgMHhmZjA4DQoJc3R3CXIzLCBTWVBDUihy NCkNCg0KDQovL1NldHVwIFNJVU1DUiB0byAweDAxMDFfMjQ0MA0KCWFkZGlzIHI1LCByMCwg MHgwMTAxDQoJb3JpIHI1LCByNSwgMHgyNDQwDQoJc3R3IHI1LCBTSVVNQ1IocjQpDQoNCiNk ZWZpbmUgRFJBTV9TSVpFCTQJLy8gNE1CIERSQU1zIG5vcm1hbGx5IHNoaXBwZWQgd2l0aCBG QURTDQovLyNkZWZpbmUgRFJBTV9TSVpFIDE2DQojZGVmaW5lIFNEUkFNX1NJWkUJNAkvLyA0 TUIgU0RSQU1zIG5vcm1hbGx5IGluc3RhbGxlZCBvbiBGQURTDQojZGVmaW5lIEZMQVNIX1NJ WkUJMgkvLyAyTUIgRkxBU0ggDQoNCi8vU2V0dXAgVVBNIEEgdG8gYWNjZXNzIERSQU1zDQov L1NldHVwIFI1IHdpdGggVVBNIFRhYmxlIGxvY2F0aW9uDQoJbGlzIHI1LCBVcG1BVGFibGVA aA0KCW9yaSByNSwgcjUsIFVwbUFUYWJsZUBsDQoJDQovL1NldHVwIFI2IHdpdGggc2l6ZSBv ZiBVUE0gdGFibGUgaW4gd29yZHMgKDY0ID0gMHgwMDQwKQkNCglsaXMgcjcsIDB4MDAwMA0K CW9yaSByNywgcjcsIDB4MDA0MA0KDQovL09SIGluIHRoZSBVUE1BIHRvIFI3IHRvIGZpbmQg bGFzdCBNQ1IgdG8gZXhlY3V0ZSBiZWNhdXNlIFVQTUENCglvcmlzIHI3LCByNywgMHgwMDAw DQoJCQ0KLy9TZXR1cCBVUE0gd3JpdGUgb3BlcmF0aW9uIGluIE1DUiAoMHgwMDAwXzAwMDAg YmVjYXVzZSBVUE1BKQ0KCWxpcyByNiwgMHgwMDAwDQoJb3JpIHI2LCByNiwgMHgwMDAwDQoJ DQovL1VwbSBXcml0ZSBsb29wDQpVcG1BV3JpdGVMb29wOg0KCWx3eglyMywgMChyNSkNCglz dHcgcjMsIE1EUihyNCkNCgkNCglzdHcgcjYsIE1DUihyNCkNCglhZGRpIHI1LCByNSwgMHgw MDA0DQoJYWRkaSByNiwgcjYsIDB4MDAwMQ0KCWNtcHcgY3IwLCByNiwgcjcNCglibHQgVXBt QVdyaXRlTG9vcA0KCQ0KLy9TZXR1cCBNQU1SIA0KCWxpcyByMywgMHg5Y2EyDQoJb3JpIHIz LCByMywgMHgxMTE0DQoJc3R3IHIzLCBNQU1SKHI0KQ0KDQovL1NldHVwIFVQTSBCIHRvIGFj Y2VzcyBTRFJBTXMNCi8vU2V0dXAgUjUgd2l0aCBVUE0gVGFibGUgbG9jYXRpb24NCglsaXMg cjUsIFVwbUJUYWJsZUBoDQoJb3JpIHI1LCByNSwgVXBtQlRhYmxlQGwNCgkNCi8vU2V0dXAg UjYgd2l0aCBzaXplIG9mIFVQTSB0YWJsZSBpbiB3b3JkcyAoNjQgPSAweDAwNDApCQ0KCWxp cyByNywgMHgwMDAwDQoJb3JpIHI3LCByNywgMHgwMDQwDQoNCi8vT1IgaW4gdGhlIFVQTUIg dG8gUjcgdG8gZmluZCBsYXN0IE1DUiB0byBleGVjdXRlIGJlY2F1c2UgVVBNQg0KCW9yaXMg cjcsIHI3LCAweDAwODANCgkJDQovL1NldHVwIFVQTSB3cml0ZSBvcGVyYXRpb24gaW4gTUNS ICgweDAwODBfMDAwMCBiZWNhdXNlIFVQTUIpDQoJbGlzIHI2LCAweDAwODANCglvcmkgcjYs IHI2LCAweDAwMDANCgkNCi8vVXBtIFdyaXRlIGxvb3ANClVwbUJXcml0ZUxvb3A6DQoJbHd6 CXIzLCAwKHI1KQ0KCXN0dyByMywgTURSKHI0KQ0KCQ0KCXN0dyByNiwgTUNSKHI0KQ0KCWFk ZGkgcjUsIHI1LCAweDAwMDQNCglhZGRpIHI2LCByNiwgMHgwMDAxDQoJY21wdyBjcjAsIHI2 LCByNw0KCWJsdCBVcG1CV3JpdGVMb29wDQoJDQovL1NldHVwIE1CTVINCglsaXMgcjMsIDB4 ODA4MA0KCW9yaSByMywgcjMsIDB4MjExNA0KCXN0dyByMywgTUJNUihyNCkNCg0KLy9TZXR1 cCBNUFRQUgkNCglsaQlyMywgMHgwNDAwDQoJc3RoIHIzLCBNUFRQUihyNCkNCgkNCi8vU2V0 dXAgYmFzZSBhbmQgb3B0aW9uIHJlZ2lzdGVycw0KDQovL0ZsYXNoIHNldHRpbmdzDQojaWYg RkxBU0hfU0laRT09Mg0KCWxpcyByMywgMHgwMjgwDQoJb3JpIHIzLCByMywgMHgwMDAxDQoN CglsaXMgcjUsIDB4ZmZlMA0KCW9yaSByNSwgcjUsIDB4MGQzNA0KCQ0KCXN0dyByMywgQlIw KHI0KQ0KCXN0dyByNSwgT1IwKHI0KQ0KDQoJbGlzIHIzLCAweDA0MDANCglvcmkgcjMsIHIz LCAweDAwMDENCg0KCWxpcyByNSwgMHhmYzAwDQoJb3JpIHI1LCByNSwgMHgwNzkwDQoJDQoJ c3R3IHIzLCBCUjUocjQpDQoJc3R3IHI1LCBPUjUocjQpDQojZW5kaWYNCg0KI2lmIERSQU1f U0laRSA9PSA0DQoJbGlzIHIzLCAweDAwMDANCglvcmkgcjMsIHIzLCAweDAwODENCg0KCWxp cyByNSwgMHhmZmMwDQoJb3JpIHI1LCByNSwgMHgwODAwDQoJDQoJc3R3IHIzLCBCUjIocjQp DQoJc3R3IHI1LCBPUjIocjQpDQoJDQoJbGlzIHIzLCAweDgwMDANCglvcmkgcjMsIHIzLCAw eDAwMDANCgkNCglsaXMgcjUsIDB4ZmZjMA0KCW9yaSByNSwgcjUsIDB4MDgwMA0KCQ0KCXN0 dyByMywgQlIzKHI0KQ0KCXN0dyByNSwgT1IzKHI0KQ0KI2VuZGlmDQoNCiNpZiBEUkFNX1NJ WkUgPT0gMTYNCglsaXMgcjMsIDB4MDAwMA0KCW9yaSByMywgcjMsIDB4MDA4MQ0KDQoJbGlz IHI1LCAweGZmMDANCglvcmkgcjUsIHI1LCAweDA4MDANCgkNCglzdHcgcjMsIEJSMihyNCkN CglzdHcgcjUsIE9SMihyNCkNCgkNCglsaXMgcjMsIDB4ODAwMA0KCW9yaSByMywgcjMsIDB4 MDAwMA0KCQ0KCWxpcyByNSwgMHhmZmMwDQoJb3JpIHI1LCByNSwgMHgwODAwDQoJDQoJc3R3 IHIzLCBCUjMocjQpDQoJc3R3IHI1LCBPUjMocjQpDQojZW5kaWYNCgkNCiNpZiBTRFJBTV9T SVpFPT00DQoJbGlzIHIzLCAweDAzMDANCglvcmkgcjMsIHIzLCAweDAwYzENCg0KCWxpcyBy NSwgMHhmZmMwDQoJb3JpIHI1LCByNSwgMHgwYTAwDQoJDQoJc3R3IHIzLCBCUjQocjQpDQoJ c3R3IHI1LCBPUjQocjQpDQoJDQovL0RvIFNEUkFNIGluaXRpYWxpemF0aW9uIHJvdXRpbmUN CglsaXMgcjMsIDANCglvcmkgcjMsIHIzLCAweDAwODgNCglzdHcgcjMsIE1BUihyNCkNCgkN CglsaXMgcjMsIDB4ODA4MA0KCW9yaSByMywgcjMsIDB4ODEwNQ0KCXN0dyByMywgTUNSKHI0 KQ0KCQ0KCWxpcyByMywgMHg4MDgwDQoJb3JpIHIzLCByMywgMHg4MTMwDQoJc3R3IHIzLCBN Q1IocjQpDQoNCiNlbmRpZg0KDQovL0JDU1Igc2V0dGluZ3MNCglsaXMgcjE3LCAweDAyMTAN CglvcmkgcjE3LCByMTcsIDB4MDAwMQ0KDQoJbGlzIHIxOCwgMHhmZmZmDQoJb3JpIHIxOCwg cjE4LCAweDgxMTANCgkNCglzdHcgcjE3LCBCUjEocjQpDQoJc3R3IHIxOCwgT1IxKHI0KQ0K DQovL0NsZWFyIFRpbWVCYXNlIGFuZCBQSVQgaW50ZXJydXB0cw0KLy9GcmVlemUgVEIgYW5k IFBJVCBpbiBkZWJ1ZyBtb2RlDQoJbGkgcjMsIDB4MDBjMg0KCXN0aCByMywgVEJTQ1IocjQp DQoJDQoJbGkgcjMsIDB4MDA4Mg0KCXN0aCByMywgUElTQ1IocjQpDQoJDQovL1NldHVwIHRo ZSByZXN0IG9mIHRoZSBjb3JlIHJlZ2lzdGVycwkNCg0KLy9Ob3JtYWwgbW9kZSwgbm8gc2hv dyBjeWNsZXMNCglsaXMgcjMsIDB4MDAwMA0KCW9yaSByMywgcjMsIDB4MDAwNw0KCW10c3By IElDVFJMLCByMw0KDQovL0RFUiA9IDB4MCwgYWxsIGV4Y2VwdGlvbnMgdG8gdGFyZ2V0DQoJ bGlzIHIzLCAweGZkYzcNCglvcmkgcjMsIHIzLCAweDQwMGYNCgltdHNwciBERVIsIHIzDQoN Ci8vQ2xlYXIgSUNSDQoJbXRzcHIgSUNSLCByMw0KCQkNCglibHINCg0KfQ0KDQpzdGF0aWMg dm9pZCBBbGxvY01vcmVIZWFwcyh2b2lkKQ0Kew0KCS8qDQoJICoJQnkgZGVmYXVsdCwgd2Ug TVNMJ3MgYWxsb2NhdGlvbiAobWFsbG9jL2ZyZWUpIGV2ZW4gd2l0aCBDKysuDQoJICoJSWYg eW91IGhhdmUgZGVjbGFyZWQgYSBoZWFwIHNpemUgaW4gdGhlIFByb2plY3QgUHJlZiBwYW5l bCwNCgkgKglhIGRlZmF1bGwgaGVhcCB3aWxsIGJlIGNyZWF0ZWQgdGhlIGZpcnN0IHRpbWUg eW91IGNhbGwNCgkgKgltYWxsb2MuICBZb3UgY2FuIGFkZCBtb3JlIGNhbGxzIHRvIGluaXRf YWxsb2MgdG8gY3JlYXRlIGFkZGl0aW9uYWwNCgkgKgloZWFwcy4NCgkgKi8NCi8vCWluaXRf YWxsb2Moc29tZSBhZGRyZXNzLCBzb21lIHNpemUpOw0KfQ0KDQphc20gdm9pZCBfX2luaXRf dXNlcih2b2lkKQ0Kew0KCWZyYWxsb2MNCgkvKg0KCSAqCUFsbG9jYXRlIGFkZGl0aW9uYWwg aGVhcHMuDQoJICovDQovLwlibAkJQWxsb2NNb3JlSGVhcHMNCg0KCS8qDQoJICoJaW5pdGlh bGl6YXRpb24gb2YgZXhjZXB0aW9ucyBhbmQgc3RhdGljIGluaXRpYWxpemVycw0KCSAqLwkN CglibAkJX19pbml0X2NwcA0KDQoJLyoNCgkgKglBZGQgeW91ciBpbml0aWFsaXphdGlvbnMg aGVyZS4NCgkgKi8NCglmcmZyZWUNCg0KCWJscg0KfQ0KDQpzdGF0aWMgYXNtIGNoYXIgKkdl dFIyKHZvaWQpDQp7DQoJLyoNCgkgKglHZXQgdGhlIGNvbnRlbnRzIG9mIHRoZSByMiByZWdp c3Rlcg0KCSAqLw0KCW5vZnJhbGxvYw0KCW1yICAgICAgcjMscjINCglibHINCn0NCg0KDQpl eHRlcm4gdm9pZCBfX2luaXRfY3BwKHZvaWQpDQp7DQoJY2hhciAqUjI7CQkJCS8qIHIyIHJl Z2lzdGVyIGNvbnRlbnRzCQkJCQkJCQkqLw0KCS8qDQoJICoJRGVmYXVsdCB1c2VzIG9uZSBj YWxsIHRvIF9fcmVnaXN0ZXJfZnJhZ21lbnQNCgkgKglUbyB1c2UgbGlua2VyIGdlbmVyYXRl ZCBzeW1ib2xzIHRoYXQgYXJlbid0IEMgdmFyaWFibGVzLA0KCSAqCXlvdSBmYWtlIG91dCB0 aGUgY29tcGlsZXIgYW5kIHByZXRlbmQgdGhhdCB5b3UgYXJlIA0KCSAqIAlvbmx5IGludGVy ZXN0ZWQgaW4gdGhlIGFkZHJlc3MuDQoJICovDQoJUjIgPSBHZXRSMigpOw0KCWZyYWdtZW50 SUQgPSBfX3JlZ2lzdGVyX2ZyYWdtZW50KDAsKGNoYXIgKikoLTEpLDAsKGNoYXIgKikoLTEp LA0KCQkJCQkJCV9mZXh0YWJpbmRleCwgX2VleHRhYmluZGV4ICxSMik7DQoJLyoNCgkgKglj YWxsIHN0YXRpYyBpbml0aWFsaXplcnMNCgkgKi8NCglfX3Npbml0KCk7DQp9DQoNCg0KI3By YWdtYSBvdmVybG9hZCB2b2lkIGFib3J0KHZvaWQpOw0Kdm9pZCBhYm9ydCh2b2lkKQ0Kew0K CV9FeGl0UHJvY2VzcygpOw0KfQ0KDQoNCiNwcmFnbWEgb3ZlcmxvYWQgdm9pZCBleGl0KGlu dCBzdGF0dXMpOw0Kdm9pZCBleGl0KGludCBzdGF0dXMpDQp7DQoJI3ByYWdtYSB1bnVzZWQo c3RhdHVzKQ0KCV9fZGVzdHJveV9nbG9iYWxfY2hhaW4oKTsNCglfRXhpdFByb2Nlc3MoKTsN Cn0NCg0KDQovKg0KICoJX0V4aXRQcm9jZXNzDQogKg0KICoJUG93ZXJQQyBFQUJJIFJ1bnRp bWUgdGVybWluYXRpb24NCiAqLw0KYXNtIHZvaWQgX0V4aXRQcm9jZXNzKHZvaWQpDQp7DQoJ bm9mcmFsbG9jDQoJDQoJdHcJCTMxLHIzLHI0CQkJCQkvKiBhcmJpdHJhcnkgYnJlYWsgdHJh cCBmb3IgaGFsdCAqLw0KfQ0K --------------84215F75D7B2A941AE85A398-- ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/