Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Sat, 8 Mar 2003 18:36:52 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Sat, 8 Mar 2003 18:36:52 -0500 Received: from mailout02.sul.t-online.com ([194.25.134.17]:34494 "EHLO mailout02.sul.t-online.com") by vger.kernel.org with ESMTP id ; Sat, 8 Mar 2003 18:36:35 -0500 Message-ID: <004c01c2e5ae$4a314b90$162ea8c0@ares> From: adrian.golumbovici@t-online.de (Adrian Golumbovici) To: Subject: kmsgdump && ksymoops result for the 1GB RAM problem in kernel compiled with high-mem (4GB) Date: Sat, 8 Mar 2003 21:07:03 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0049_01C2E5B6.ABB0E260" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 42693 Lines: 1079 This is a multi-part message in MIME format. ------=_NextPart_000_0049_01C2E5B6.ABB0E260 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi guys, I have a problem with 1GB of memory on my A7V8X card, vga=788 and kernel compiled with high mem support (2.4.21-0.13mdk enterprise; based on the 2.4.21-pre5) combination ending in a kernel oops (black screen, dead frozen PC and Scroll lock and Caps lock leds remain on). Without vga=788 (default setting for my Mandrake 9.1 rc2 distro) it works ok. I did my best to learn about tracing stuff in linux / linux kernel and I patched the kernel with the kmsgdump and also installed ksymoops. I set up kmsgdump to do an automatic dump on floppy in case of kernel oops. I attached the resulting messages.txt and also the oopsresults.txt as the result of running ksymoops on the messages.txt There is a warning in it which says results might not be reliable because of some module mismatch, but it is ok. The oops had nothing to do with that module. So make abstraction of it. The pwcx-i386 is compiled for some other version but it works and I need it for my webcam. I had same error before insmod-ing it so forget it is there. It appears in the result of the ksymoops but at the moment it crashes (right at boot) it doesn't even get to the point where it has anything to do with the modules. Can anyone tell me if any kernel guru can understand any of these results? Is there a specific place where I must send the results for interpretation? If anyone needs more info please don't hesitate to contact me by email. Best regards, Adrian P.S. I also added the ioremap.c and the ioremap.s (compiled for debugging) so maybe people would have all the info in order to understand what happens. :) ------=_NextPart_000_0049_01C2E5B6.ABB0E260 Content-Type: text/plain; name="MESSAGES.TXT" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="MESSAGES.TXT" PDQ+TGludXggdmVyc2lvbiAyLjQuMjEtMC4xM21ka2N1c3RvbSAocm9vdEBhcmVzLmFyYmVpdHNn cnVwcGUpIChnY2MgdmVyc2lvbiAzLjIuMiAoTWFuZHJha2UgTGludXggOS4xIDMuMi4yLTNtZGsp KSAjNiBTTVAgU2F0IE1hciA4IDE5OjI1OjU5IENFVCAyMDAzCjw2PkJJT1MtcHJvdmlkZWQgcGh5 c2ljYWwgUkFNIG1hcDoKPDQ+IEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAw MDAwOWZjMDAgKHVzYWJsZSkKPDQ+IEJJT1MtZTgyMDogMDAwMDAwMDAwMDA5ZmMwMCAtIDAwMDAw MDAwMDAwYTAwMDAgKHJlc2VydmVkKQo8ND4gQklPUy1lODIwOiAwMDAwMDAwMDAwMGYwMDAwIC0g MDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCjw0PiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAxMDAw MDAgLSAwMDAwMDAwMDNmZmZjMDAwICh1c2FibGUpCjw0PiBCSU9TLWU4MjA6IDAwMDAwMDAwM2Zm ZmMwMDAgLSAwMDAwMDAwMDNmZmZmMDAwIChBQ1BJIGRhdGEpCjw0PiBCSU9TLWU4MjA6IDAwMDAw MDAwM2ZmZmYwMDAgLSAwMDAwMDAwMDQwMDAwMDAwIChBQ1BJIE5WUykKPDQ+IEJJT1MtZTgyMDog MDAwMDAwMDBmZWMwMDAwMCAtIDAwMDAwMDAwZmVjMDEwMDAgKHJlc2VydmVkKQo8ND4gQklPUy1l ODIwOiAwMDAwMDAwMGZlZTAwMDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCjw0PiBC SU9TLWU4MjA6IDAwMDAwMDAwZmZmZjAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkK PDU+MTI3TUIgSElHSE1FTSBhdmFpbGFibGUuCjw1Pjg5Nk1CIExPV01FTSBhdmFpbGFibGUuCjw3 PkFDUEk6IGhhdmUgd2FrZXVwIGFkZHJlc3MgMHhjMDAwMjAwMAo8ND5PbiBub2RlIDAgdG90YWxw YWdlczogMjYyMTQwCjw0PnpvbmUoMCk6IDQwOTYgcGFnZXMuCjw0PnpvbmUoMSk6IDIyNTI4MCBw YWdlcy4KPDQ+em9uZSgyKTogMzI3NjQgcGFnZXMuCjw0Pktlcm5lbCBjb21tYW5kIGxpbmU6IEJP T1RfSU1BR0U9MjQyMS0xM2N1c3RvbSBybyByb290PTMwOSBkZXZmcz1tb3VudCBoZGQ9aWRlLXNj c2kgYWNwaT1vZmYgcGNpPWJpb3NpcnEgcXVpZXQKPDY+aWRlX3NldHVwOiBoZGQ9aWRlLXNjc2kK PDQ+Rm91bmQgYW5kIGVuYWJsZWQgbG9jYWwgQVBJQyEKPDY+SW5pdGlhbGl6aW5nIENQVSMwCjw0 PkRldGVjdGVkIDIwMDAuMTIxIE1IeiBwcm9jZXNzb3IuCjw0PkNvbnNvbGU6IGNvbG91ciBkdW1t eSBkZXZpY2UgODB4MjUKPDQ+Q2FsaWJyYXRpbmcgZGVsYXkgbG9vcC4uLiAzOTg0LjU4IEJvZ29N SVBTCjw2Pk1lbW9yeTogMTAzMjQwOGsvMTA0ODU2MGsgYXZhaWxhYmxlICgxNTg3ayBrZXJuZWwg Y29kZSwgMTU3NjRrIHJlc2VydmVkLCAxMTM2ayBkYXRhLCAxNTZrIGluaXQsIDEzMTA1NmsgaGln aG1lbSkKPDY+RGVudHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMTMxMDcyIChvcmRlcjog OCwgMTA0ODU3NiBieXRlcykKPDY+SW5vZGUgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUz NiAob3JkZXI6IDcsIDUyNDI4OCBieXRlcykKPDY+TW91bnQgY2FjaGUgaGFzaCB0YWJsZSBlbnRy aWVzOiA1MTIgKG9yZGVyOiAwLCA0MDk2IGJ5dGVzKQo8ND5CdWZmZXItY2FjaGUgaGFzaCB0YWJs ZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDYsIDI2MjE0NCBieXRlcykKPDQ+UGFnZS1jYWNoZSBo YXNoIHRhYmxlIGVudHJpZXM6IDI2MjE0NCAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpCjw2PkNQ VTogTDEgSSBDYWNoZTogNjRLICg2NCBieXRlcy9saW5lKSwgRCBjYWNoZSA2NEsgKDY0IGJ5dGVz L2xpbmUpCjw2PkNQVTogTDIgQ2FjaGU6IDI1NksgKDY0IGJ5dGVzL2xpbmUpCjw2PkludGVsIG1h Y2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC4KPDY+SW50ZWwgbWFjaGluZSBjaGVj ayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjMC4KPDc+Q1BVOiAgICAgQWZ0ZXIgZ2VuZXJpYywg Y2FwczogMDM4M2ZiZmYgYzFjM2ZiZmYgMDAwMDAwMDAgMDAwMDAwMDAKPDc+Q1BVOiAgICAgICAg ICAgICBDb21tb24gY2FwczogMDM4M2ZiZmYgYzFjM2ZiZmYgMDAwMDAwMDAgMDAwMDAwMDAKPDY+ RW5hYmxpbmcgZmFzdCBGUFUgc2F2ZSBhbmQgcmVzdG9yZS4uLiBkb25lLgo8Nj5FbmFibGluZyB1 bm1hc2tlZCBTSU1EIEZQVSBleGNlcHRpb24gc3VwcG9ydC4uLiBkb25lLgo8Nj5DaGVja2luZyAn aGx0JyBpbnN0cnVjdGlvbi4uLiBPSy4KPDQ+UE9TSVggY29uZm9ybWFuY2UgdGVzdGluZyBieSBV TklGSVgKPDQ+bXRycjogdjEuNDAgKDIwMDEwMzI3KSBSaWNoYXJkIEdvb2NoIChyZ29vY2hAYXRu Zi5jc2lyby5hdSkKPDQ+bXRycjogZGV0ZWN0ZWQgbXRyciB0eXBlOiBJbnRlbAo8Nj5DUFU6IEwx IEkgQ2FjaGU6IDY0SyAoNjQgYnl0ZXMvbGluZSksIEQgY2FjaGUgNjRLICg2NCBieXRlcy9saW5l KQo8Nj5DUFU6IEwyIENhY2hlOiAyNTZLICg2NCBieXRlcy9saW5lKQo8Nj5JbnRlbCBtYWNoaW5l IGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMwLgo8Nz5DUFU6ICAgICBBZnRlciBnZW5l cmljLCBjYXBzOiAwMzgzZmJmZiBjMWMzZmJmZiAwMDAwMDAwMCAwMDAwMDAwMAo8Nz5DUFU6ICAg ICAgICAgICAgIENvbW1vbiBjYXBzOiAwMzgzZmJmZiBjMWMzZmJmZiAwMDAwMDAwMCAwMDAwMDAw MAo8ND5DUFUwOiBBTUQgQXRobG9uKFRNKSBYUCAyNDAwKyBzdGVwcGluZyAwMQo8ND5wZXItQ1BV IHRpbWVzbGljZSBjdXRvZmY6IDczMS4zOCB1c2Vjcy4KPDU+U01QIG1vdGhlcmJvYXJkIG5vdCBk ZXRlY3RlZC4KPDQ+ZW5hYmxlZCBFeHRJTlQgb24gQ1BVIzAKPDQ+RVNSIHZhbHVlIGJlZm9yZSBl bmFibGluZyB2ZWN0b3I6IDAwMDAwMDAwCjw0PkVTUiB2YWx1ZSBhZnRlciBlbmFibGluZyB2ZWN0 b3I6IDAwMDAwMDAwCjw0PlVzaW5nIGxvY2FsIEFQSUMgdGltZXIgaW50ZXJydXB0cy4KPDQ+Y2Fs aWJyYXRpbmcgQVBJQyB0aW1lciAuLi4KPDQ+Li4uLi4gQ1BVIGNsb2NrIHNwZWVkIGlzIDE5OTku OTg3MSBNSHouCjw0Pi4uLi4uIGhvc3QgYnVzIGNsb2NrIHNwZWVkIGlzIDI2Ni42NjQ5IE1Iei4K PDQ+Y3B1OiAwLCBjbG9ja3M6IDI2NjY2NDksIHNsaWNlOiAxMzMzMzI0Cjw0PkNQVTA8VDA6MjY2 NjY0MCxUMToxMzMzMzEyLEQ6NCxTOjEzMzMzMjQsQzoyNjY2NjQ5Pgo8ND5XYWl0aW5nIG9uIHdh aXRfaW5pdF9pZGxlIChtYXAgPSAweDApCjw0PkFsbCBwcm9jZXNzb3JzIGhhdmUgZG9uZSBpbml0 X2lkbGUKPDY+QUNQSTogU3Vic3lzdGVtIHJldmlzaW9uIDIwMDMwMTIyCjw2PkFDUEk6IERpc2Fi bGVkIHZpYSBjb21tYW5kIGxpbmUgKGFjcGk9b2ZmKQo8Nj5QQ0k6IFBDSSBCSU9TIHJldmlzaW9u IDIuMTAgZW50cnkgYXQgMHhmMTcyMCwgbGFzdCBidXM9MQo8Nj5QQ0k6IFVzaW5nIGNvbmZpZ3Vy YXRpb24gdHlwZSAxCjw2PlBDSTogUHJvYmluZyBQQ0kgaGFyZHdhcmUKPDQ+UENJOiBBQ1BJIHRh YmxlcyBjb250YWluIG5vIFBDSSBJUlEgcm91dGluZyBlbnRyaWVzCjw0PlBDSTogUHJvYmluZyBQ Q0kgaGFyZHdhcmUgKGJ1cyAwMCkKPDY+UENJOiBVc2luZyBJUlEgcm91dGVyIFZJQSBbMTEwNi8z MTc3XSBhdCAwMDoxMS4wCjw2PmlzYXBucDogU2Nhbm5pbmcgZm9yIFBuUCBjYXJkcy4uLgo8Nj5p c2FwbnA6IE5vIFBsdWcgJiBQbGF5IGRldmljZSBmb3VuZAo8Nj5MaW51eCBORVQ0LjAgZm9yIExp bnV4IDIuNAo8Nj5CYXNlZCB1cG9uIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5 IE5FVDMuMDM5Cjw0PkluaXRpYWxpemluZyBSVCBuZXRsaW5rIHNvY2tldAo8Nj5hcG06IEJJT1Mg dmVyc2lvbiAxLjIgRmxhZ3MgMHgwYiAoRHJpdmVyIHZlcnNpb24gMS4xNikKPDQ+U3RhcnRpbmcg a3N3YXBkCjw0PmFsbG9jYXRlZCAzMiBwYWdlcyBhbmQgMzIgYmhzIHJlc2VydmVkIGZvciB0aGUg aGlnaG1lbSBib3VuY2VzCjw1PlZGUzogRGlzayBxdW90YXMgdmRxdW90XzYuNS4xCjw2PmRldmZz OiB2MS4xMmMgKDIwMDIwODE4KSBSaWNoYXJkIEdvb2NoIChyZ29vY2hAYXRuZi5jc2lyby5hdSkK PDY+ZGV2ZnM6IGJvb3Rfb3B0aW9uczogMHgxCjw0Pmtlcm5lbCBCVUcgYXQgaW9yZW1hcC5jOjcz IQo8ND5pbnZhbGlkIG9wZXJhbmQ6IDAwMDAKPDQ+IAo8ND5DUFU6ICAgIDAKPDQ+RUlQOiAgICAw MDEwOls8YzAxMWQxMDA+XSAgICBOb3QgdGFpbnRlZAo8ND5FRkxBR1M6IDAwMDEwMjg2Cjw0PkVJ UCBpcyBhdCByZW1hcF9hcmVhX3BhZ2VzKzB4MzAvMHgxZDAgW2tlcm5lbF0KPDQ+ZWF4OiAwMDgw MDAwMCAgIGVieDogMDgwMDAwMDAgICBlY3g6IGY4ODAwMDAwICAgZWR4OiBjMDEwMWY4OAo8ND5l c2k6IGYwMDAwMDAwICAgZWRpOiBmODgwMDAwMCAgIGVicDogYzFjMTNmMzQgICBlc3A6IGMxYzEz ZjA0Cjw0PmRzOiAwMDE4ICAgZXM6IDAwMTggICBzczogMDAxOAo8ND5Qcm9jZXNzIHN3YXBwZXIg KHBpZDogMSwgc3RhY2twYWdlPWMxYzEzMDAwKQo8ND5TdGFjazogMDgwMDAwMDAgMDgwMDAwMDAg ZjdmZmZmZmYgYzFjMTNmMzQgYzAxM2JjZTAgYzFjMGYwNjAgMDA4MDAwMDAgYzAxMDFmODggCjw0 PiAgICAgICBjMDQwNTkyOCAwODAwMDAwMCBmMDAwMDAwMCBmODgwMDAwMCBjMWMxM2Y1YyBjMDEx ZDM4NSBmODgwMDAwMCBmNzgwMDAwMCAKPDQ+ICAgICAgIDA4MDAwMDAwIDAwMDAwMDAwIDAwMDAw MDAwIGYwMDAwMDAwIDAwMDAwMjU4IGMwMTA1MDAwIGMxYzEzZjljIGMwM2M4YjJiIAo8ND5DYWxs IFRyYWNlOgo8ND4gWzxjMDEzYmNlMD5dIGdldF92bV9hcmVhKzB4MjAvMHhmMCBba2VybmVsXQo8 ND4gWzxjMDExZDM4NT5dIF9faW9yZW1hcCsweGU1LzB4MTIwIFtrZXJuZWxdCjw0PiBbPGMwMTA1 MDAwPl0gc3RleHQrMHgwLzB4NjAgW2tlcm5lbF0KPDQ+IFs8YzAxN2Q0NDM+XSBkZXZmc19ta19k aXIrMHgxMjMvMHgxNjAgW2tlcm5lbF0KPDQ+IFs8YzAxMDUwMDA+XSBzdGV4dCsweDAvMHg2MCBb a2VybmVsXQo8ND4gWzxjMDEwNTA4ZD5dIGluaXQrMHgyZC8weDE5MCBba2VybmVsXQo8ND4gWzxj MDEwNTAwMD5dIHN0ZXh0KzB4MC8weDYwIFtrZXJuZWxdCjw0PiBbPGMwMTA3YmVlPl0ga2VybmVs X3RocmVhZCsweDJlLzB4NDAgW2tlcm5lbF0KPDQ+IFs8YzAxMDUwNjA+XSBpbml0KzB4MC8weDE5 MCBba2VybmVsXQo8ND4KPDQ+Q29kZTogMGYgMGIgNDkgMDAgYjggZTAgMjkgYzAgZjAgZmUgMGQg OGMgNmQgMzYgYzAgMGYgODggYzkgMDIgMDAgCjw0PiA8MD5LZXJuZWwgcGFuaWM6IEF0dGVtcHRl ZCB0byBraWxsIGluaXQhCjw0PiA8MD5EdW1waW5nIG1lc3NhZ2VzIGluIDAgc2Vjb25kcyA6IGxh c3QgY2hhbmNlIGZvciBBbHQtU3lzUnEuLi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0049_01C2E5B6.ABB0E260 Content-Type: text/plain; name="oopsresult.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="oopsresult.txt" ksymoops 2.4.8 on i686 2.4.21-0.13mdkcustom. Options used=0A= -v /usr/src/linux-2.4.21-0.13mdk/vmlinux (specified)=0A= -k /proc/ksyms (default)=0A= -l /proc/modules (default)=0A= -o /lib/modules/2.4.21-0.13mdkcustom/ (default)=0A= -m /boot/System.map-2.4.21-0.13mdkcustom (default)=0A= =0A= Warning (compare_Version): Version mismatch. 8139too says 2.4.21, = pwcx-i386 says 2.4.18. Expect lots of address mismatches.=0A= <4>cpu: 0, clocks: 2666649, slice: 1333324=0A= <4>kernel BUG at ioremap.c:73!=0A= <4>invalid operand: 0000=0A= <4>CPU: 0=0A= <4>EIP: 0010:[] Not tainted=0A= Using defaults from ksymoops -t elf32-i386 -a i386=0A= <4>EFLAGS: 00010286=0A= <4>eax: 00800000 ebx: 08000000 ecx: f8800000 edx: c0101f88=0A= <4>esi: f0000000 edi: f8800000 ebp: c1c13f34 esp: c1c13f04=0A= <4>ds: 0018 es: 0018 ss: 0018=0A= <4>Process swapper (pid: 1, stackpage=3Dc1c13000)=0A= <4>Stack: 08000000 08000000 f7ffffff c1c13f34 c013bce0 c1c0f060 00800000 = c0101f88 =0A= <4> c0405928 08000000 f0000000 f8800000 c1c13f5c c011d385 f8800000 = f7800000 =0A= <4> 08000000 00000000 00000000 f0000000 00000258 c0105000 c1c13f9c = c03c8b2b =0A= <4>Call Trace:=0A= <4> [] get_vm_area+0x20/0xf0 [kernel]=0A= <4> [] __ioremap+0xe5/0x120 [kernel]=0A= <4> [] stext+0x0/0x60 [kernel]=0A= <4> [] devfs_mk_dir+0x123/0x160 [kernel]=0A= <4> [] stext+0x0/0x60 [kernel]=0A= <4> [] init+0x2d/0x190 [kernel]=0A= <4> [] stext+0x0/0x60 [kernel]=0A= <4> [] kernel_thread+0x2e/0x40 [kernel]=0A= <4> [] init+0x0/0x190 [kernel]=0A= <4>Code: 0f 0b 49 00 b8 e0 29 c0 f0 fe 0d 8c 6d 36 c0 0f 88 c9 02 00 =0A= =0A= =0A= >>EIP; c011d100 <=3D=3D=3D=3D=3D=0A= =0A= >>ecx; f8800000 <_end+383b1fd4/383b4034>=0A= >>edx; c0101f88 =0A= >>esi; f0000000 <_end+2fbb1fd4/383b4034>=0A= >>edi; f8800000 <_end+383b1fd4/383b4034>=0A= >>ebp; c1c13f34 <_end+17c5f08/383b4034>=0A= >>esp; c1c13f04 <_end+17c5ed8/383b4034>=0A= =0A= Trace; c013bce0 =0A= Trace; c011d385 <__ioremap+e5/120>=0A= Trace; c0105000 <_stext+0/0>=0A= Trace; c017d443 =0A= Trace; c0105000 <_stext+0/0>=0A= Trace; c010508d =0A= Trace; c0105000 <_stext+0/0>=0A= Trace; c0107bee =0A= Trace; c0105060 =0A= =0A= Code; c011d100 =0A= 00000000 <_EIP>:=0A= Code; c011d100 <=3D=3D=3D=3D=3D=0A= 0: 0f 0b ud2a <=3D=3D=3D=3D=3D=0A= Code; c011d102 =0A= 2: 49 dec %ecx=0A= Code; c011d103 =0A= 3: 00 b8 e0 29 c0 f0 add %bh,0xf0c029e0(%eax)=0A= Code; c011d109 =0A= 9: fe 0d 8c 6d 36 c0 decb 0xc0366d8c=0A= Code; c011d10f =0A= f: 0f 88 c9 02 00 00 js 2de <_EIP+0x2de>=0A= =0A= <4> <0>Kernel panic: Attempted to kill init!=0A= =0A= 1 warning issued. Results may not be reliable.=0A= ------=_NextPart_000_0049_01C2E5B6.ABB0E260 Content-Type: application/octet-stream; name="ioremap.c" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="ioremap.c" /*=0A= * arch/i386/mm/ioremap.c=0A= *=0A= * Re-map IO memory to kernel address space so that we can access it.=0A= * This is needed for high PCI addresses that aren't mapped in the=0A= * 640k-1MB IO memory area on PC's=0A= *=0A= * (C) Copyright 1995 1996 Linus Torvalds=0A= */=0A= =0A= #include =0A= #include =0A= #include =0A= =0A= static inline void remap_area_pte(pte_t * pte, unsigned long address, = unsigned long size,=0A= unsigned long phys_addr, unsigned long flags)=0A= {=0A= unsigned long end;=0A= =0A= address &=3D ~PMD_MASK;=0A= end =3D address + size;=0A= if (end > PMD_SIZE)=0A= end =3D PMD_SIZE;=0A= if (address >=3D end)=0A= BUG();=0A= do {=0A= if (!pte_none(*pte)) {=0A= printk("remap_area_pte: page already exists\n");=0A= BUG();=0A= }=0A= set_pte(pte, mk_pte_phys(phys_addr, __pgprot(_PAGE_PRESENT | _PAGE_RW = | =0A= _PAGE_DIRTY | _PAGE_ACCESSED | flags)));=0A= address +=3D PAGE_SIZE;=0A= phys_addr +=3D PAGE_SIZE;=0A= pte++;=0A= } while (address && (address < end));=0A= }=0A= =0A= static inline int remap_area_pmd(pmd_t * pmd, unsigned long address, = unsigned long size,=0A= unsigned long phys_addr, unsigned long flags)=0A= {=0A= unsigned long end;=0A= =0A= address &=3D ~PGDIR_MASK;=0A= end =3D address + size;=0A= if (end > PGDIR_SIZE)=0A= end =3D PGDIR_SIZE;=0A= phys_addr -=3D address;=0A= if (address >=3D end)=0A= BUG();=0A= do {=0A= pte_t * pte =3D pte_alloc(&init_mm, pmd, address);=0A= if (!pte)=0A= return -ENOMEM;=0A= remap_area_pte(pte, address, end - address, address + phys_addr, = flags);=0A= address =3D (address + PMD_SIZE) & PMD_MASK;=0A= pmd++;=0A= } while (address && (address < end));=0A= return 0;=0A= }=0A= =0A= static int remap_area_pages(unsigned long address, unsigned long = phys_addr,=0A= unsigned long size, unsigned long flags)=0A= {=0A= int error;=0A= pgd_t * dir;=0A= unsigned long end =3D address + size;=0A= =0A= phys_addr -=3D address;=0A= dir =3D pgd_offset(&init_mm, address);=0A= flush_cache_all();=0A= if (address >=3D end)=0A= BUG();=0A= spin_lock(&init_mm.page_table_lock);=0A= do {=0A= pmd_t *pmd;=0A= pmd =3D pmd_alloc(&init_mm, dir, address);=0A= error =3D -ENOMEM;=0A= if (!pmd)=0A= break;=0A= if (remap_area_pmd(pmd, address, end - address,=0A= phys_addr + address, flags))=0A= break;=0A= error =3D 0;=0A= address =3D (address + PGDIR_SIZE) & PGDIR_MASK;=0A= dir++;=0A= } while (address && (address < end));=0A= spin_unlock(&init_mm.page_table_lock);=0A= flush_tlb_all();=0A= return error;=0A= }=0A= =0A= /*=0A= * Generic mapping function (not visible outside):=0A= */=0A= =0A= /*=0A= * Remap an arbitrary physical address space into the kernel virtual=0A= * address space. Needed when the kernel wants to access high addresses=0A= * directly.=0A= *=0A= * NOTE! We need to allow non-page-aligned mappings too: we will = obviously=0A= * have to convert them into an offset in a page-aligned mapping, but the=0A= * caller shouldn't need to know that small detail.=0A= */=0A= void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned = long flags)=0A= {=0A= void * addr;=0A= struct vm_struct * area;=0A= unsigned long offset, last_addr;=0A= =0A= /* Don't allow wraparound or zero size */=0A= last_addr =3D phys_addr + size - 1;=0A= if (!size || last_addr < phys_addr)=0A= return NULL;=0A= =0A= /*=0A= * Don't remap the low PCI/ISA area, it's always mapped..=0A= */=0A= if (phys_addr >=3D 0xA0000 && last_addr < 0x100000)=0A= return phys_to_virt(phys_addr);=0A= =0A= /*=0A= * Don't allow anybody to remap normal RAM that we're using..=0A= */=0A= if (phys_addr < virt_to_phys(high_memory)) {=0A= char *t_addr, *t_end;=0A= struct page *page;=0A= =0A= t_addr =3D __va(phys_addr);=0A= t_end =3D t_addr + (size - 1);=0A= =0A= for(page =3D virt_to_page(t_addr); page <=3D virt_to_page(t_end); = page++)=0A= if(!PageReserved(page))=0A= return NULL;=0A= }=0A= =0A= /*=0A= * Mappings have to be page-aligned=0A= */=0A= offset =3D phys_addr & ~PAGE_MASK;=0A= phys_addr &=3D PAGE_MASK;=0A= size =3D PAGE_ALIGN(last_addr) - phys_addr;=0A= =0A= /*=0A= * Ok, go for it..=0A= */=0A= area =3D get_vm_area(size, VM_IOREMAP);=0A= if (!area)=0A= return NULL;=0A= addr =3D area->addr;=0A= if (remap_area_pages(VMALLOC_VMADDR(addr), phys_addr, size, flags)) {=0A= vfree(addr);=0A= return NULL;=0A= }=0A= return (void *) (offset + (char *)addr);=0A= }=0A= =0A= void iounmap(void *addr)=0A= {=0A= if (addr > high_memory)=0A= return vfree((void *) (PAGE_MASK & (unsigned long) addr));=0A= }=0A= =0A= void __init *bt_ioremap(unsigned long phys_addr, unsigned long size)=0A= {=0A= unsigned long offset, last_addr;=0A= unsigned int nrpages;=0A= enum fixed_addresses idx;=0A= =0A= /* Don't allow wraparound or zero size */=0A= last_addr =3D phys_addr + size - 1;=0A= if (!size || last_addr < phys_addr)=0A= return NULL;=0A= =0A= /*=0A= * Don't remap the low PCI/ISA area, it's always mapped..=0A= */=0A= if (phys_addr >=3D 0xA0000 && last_addr < 0x100000)=0A= return phys_to_virt(phys_addr);=0A= =0A= /*=0A= * Mappings have to be page-aligned=0A= */=0A= offset =3D phys_addr & ~PAGE_MASK;=0A= phys_addr &=3D PAGE_MASK;=0A= size =3D PAGE_ALIGN(last_addr) - phys_addr;=0A= =0A= /*=0A= * Mappings have to fit in the FIX_BTMAP area.=0A= */=0A= nrpages =3D size >> PAGE_SHIFT;=0A= if (nrpages > NR_FIX_BTMAPS)=0A= return NULL;=0A= =0A= /*=0A= * Ok, go for it..=0A= */=0A= idx =3D FIX_BTMAP_BEGIN;=0A= while (nrpages > 0) {=0A= set_fixmap(idx, phys_addr);=0A= phys_addr +=3D PAGE_SIZE;=0A= --idx;=0A= --nrpages;=0A= }=0A= return (void*) (offset + fix_to_virt(FIX_BTMAP_BEGIN));=0A= }=0A= =0A= void __init bt_iounmap(void *addr, unsigned long size)=0A= {=0A= unsigned long virt_addr;=0A= unsigned long offset;=0A= unsigned int nrpages;=0A= enum fixed_addresses idx;=0A= =0A= virt_addr =3D (unsigned long)addr;=0A= if (virt_addr < fix_to_virt(FIX_BTMAP_BEGIN))=0A= return;=0A= offset =3D virt_addr & ~PAGE_MASK;=0A= nrpages =3D PAGE_ALIGN(offset + size - 1) >> PAGE_SHIFT;=0A= =0A= idx =3D FIX_BTMAP_BEGIN;=0A= while (nrpages > 0) {=0A= __set_fixmap(idx, 0, __pgprot(0));=0A= --idx;=0A= --nrpages;=0A= }=0A= }=0A= ------=_NextPart_000_0049_01C2E5B6.ABB0E260 Content-Type: application/octet-stream; name="ioremap.s" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="ioremap.s" .file "ioremap.c"=0A= .section .rodata.str1.1,"aMS",@progbits,1=0A= .LC0:=0A= .string "arch/i386/mm/ioremap.c"=0A= .section .rodata.str1.32,"aMS",@progbits,1=0A= .align 32=0A= .LC1:=0A= .string "remap_area_pte: page already exists\n"=0A= .text=0A= .p2align 4,,15=0A= .type remap_area_pages,@function=0A= remap_area_pages:=0A= pushl %ebp=0A= movl %esp, %ebp=0A= pushl %edi=0A= pushl %esi=0A= pushl %ebx=0A= subl $36, %esp=0A= movl 16(%ebp), %edx=0A= movl 8(%ebp), %eax=0A= addl %edx, %eax=0A= movl 8(%ebp), %edx=0A= movl %eax, -24(%ebp)=0A= movl init_mm+12, %eax=0A= subl %edx, 12(%ebp)=0A= shrl $22, %edx=0A= leal (%eax,%edx,4), %edx=0A= movl -24(%ebp), %eax=0A= cmpl %eax, 8(%ebp)=0A= movl %edx, -20(%ebp)=0A= jb .L111=0A= #APP=0A= ud2=0A= .word 73=0A= .long .LC0=0A= =0A= #NO_APP=0A= .L111:=0A= #APP=0A= =0A= 1: lock ; decb init_mm+44=0A= js 2f=0A= .subsection 1=0A= .ifndef .text.lock.ioremap=0A= .text.lock.ioremap:=0A= .endif=0A= 2: cmpb $0,init_mm+44=0A= rep;nop=0A= jle 2b=0A= jmp 1b=0A= .previous=0A= =0A= #NO_APP=0A= .L113:=0A= movl $-12, -16(%ebp)=0A= movl -20(%ebp), %edi=0A= testl %edi, %edi=0A= je .L114=0A= movl -20(%ebp), %edx=0A= movl 8(%ebp), %ebx=0A= movl -24(%ebp), %eax=0A= movl %edx, -28(%ebp)=0A= movl 12(%ebp), %edx=0A= movl 8(%ebp), %esi=0A= addl %ebx, %edx=0A= subl %esi, %eax=0A= movl %edx, -36(%ebp)=0A= movl 8(%ebp), %edx=0A= andl $4194303, %edx=0A= movl %edx, -32(%ebp)=0A= addl %edx, %eax=0A= cmpl $4194305, %eax=0A= movl %eax, -40(%ebp)=0A= movl $4194304, %eax=0A= cmovb -40(%ebp), %eax=0A= subl %edx, -36(%ebp)=0A= cmpl %eax, %edx=0A= movl %eax, -40(%ebp)=0A= jb .L124=0A= #APP=0A= ud2=0A= .word 50=0A= .long .LC0=0A= =0A= .p2align 4,,15=0A= #NO_APP=0A= .L124:=0A= movl -28(%ebp), %edx=0A= movl $init_mm, %eax=0A= movl -32(%ebp), %ecx=0A= call pte_alloc=0A= movl $-12, %edx=0A= testl %eax, %eax=0A= je .L128=0A= movl %eax, %esi=0A= movl -32(%ebp), %ecx=0A= movl -40(%ebp), %eax=0A= movl -32(%ebp), %ebx=0A= movl -32(%ebp), %edi=0A= movl -36(%ebp), %edx=0A= andl $4194303, %ebx=0A= subl %ecx, %eax=0A= leal (%eax,%ebx), %eax=0A= movl %eax, -44(%ebp)=0A= addl %edx, %edi=0A= cmpl $4194305, %eax=0A= movl $4194304, %eax=0A= cmovb -44(%ebp), %eax=0A= cmpl %eax, %ebx=0A= movl %eax, -44(%ebp)=0A= jb .L131=0A= #APP=0A= ud2=0A= .word 25=0A= .long .LC0=0A= =0A= .p2align 4,,15=0A= #NO_APP=0A= .L131:=0A= movl (%esi), %eax=0A= testl %eax, %eax=0A= jne .L143=0A= .L134:=0A= movl 20(%ebp), %edx=0A= movl %edi, %eax=0A= addl $4096, %edi=0A= andl $-4096, %eax=0A= orl $99, %edx=0A= orl %edx, %eax=0A= movl %eax, (%esi)=0A= addl $4, %esi=0A= addl $4096, %ebx=0A= je .L137=0A= cmpl -44(%ebp), %ebx=0A= jb .L131=0A= .L137:=0A= addl $4, -28(%ebp)=0A= movl -32(%ebp), %eax=0A= addl $4194304, %eax=0A= andl $-4194304, %eax=0A= movl %eax, -32(%ebp)=0A= je .L125=0A= movl -40(%ebp), %edx=0A= cmpl %edx, %eax=0A= jb .L124=0A= .L125:=0A= xorl %edx, %edx=0A= .L128:=0A= testl %edx, %edx=0A= jne .L114=0A= addl $4, -20(%ebp)=0A= movl 8(%ebp), %eax=0A= movl $0, -16(%ebp)=0A= addl $4194304, %eax=0A= andl $-4194304, %eax=0A= movl %eax, 8(%ebp)=0A= je .L114=0A= movl -24(%ebp), %edx=0A= cmpl %edx, %eax=0A= jb .L113=0A= .L114:=0A= movb $1, %al=0A= #APP=0A= xchgb %al, init_mm+44=0A= #NO_APP=0A= call flush_tlb_all=0A= movl -16(%ebp), %eax=0A= addl $36, %esp=0A= popl %ebx=0A= popl %esi=0A= popl %edi=0A= popl %ebp=0A= ret=0A= .p2align 4,,7=0A= .L143:=0A= movl $.LC1, (%esp)=0A= call printk=0A= #APP=0A= ud2=0A= .word 29=0A= .long .LC0=0A= =0A= #NO_APP=0A= jmp .L134=0A= .Lfe1:=0A= .size remap_area_pages,.Lfe1-remap_area_pages=0A= .p2align 4,,15=0A= .globl __ioremap=0A= .type __ioremap,@function=0A= __ioremap:=0A= pushl %ebp=0A= movl %esp, %ebp=0A= subl $32, %esp=0A= movl %ebx, -12(%ebp)=0A= movl 12(%ebp), %ebx=0A= movl %esi, -8(%ebp)=0A= movl 8(%ebp), %esi=0A= testl %ebx, %ebx=0A= movl %edi, -4(%ebp)=0A= leal -1(%ebx,%esi), %edi=0A= je .L161=0A= cmpl %esi, %edi=0A= jb .L161=0A= cmpl $655359, %esi=0A= jbe .L147=0A= cmpl $1048575, %edi=0A= leal -1073741824(%esi), %eax=0A= jbe .L144=0A= .L147:=0A= movl high_memory, %eax=0A= addl $1073741824, %eax=0A= cmpl %eax, %esi=0A= jae .L149=0A= movl %esi, %eax=0A= shrl $12, %eax=0A= movl mem_map, %edx=0A= leal (%eax,%eax,2), %eax=0A= sall $4, %eax=0A= leal (%eax,%edx), %ecx=0A= leal -1(%ebx,%esi), %eax=0A= shrl $12, %eax=0A= leal (%eax,%eax,2), %eax=0A= sall $4, %eax=0A= leal (%eax,%edx), %eax=0A= cmpl %eax, %ecx=0A= ja .L149=0A= movl %eax, %edx=0A= .p2align 4,,15=0A= .L157:=0A= movl 24(%ecx), %eax=0A= testl $16384, %eax=0A= je .L161=0A= addl $48, %ecx=0A= cmpl %edx, %ecx=0A= jbe .L157=0A= .L149:=0A= movl $1, 4(%esp)=0A= leal 4095(%edi), %ebx=0A= movl %esi, %eax=0A= andl $-4096, %ebx=0A= andl $-4096, %esi=0A= andl $4095, %eax=0A= movl %eax, -16(%ebp)=0A= subl %esi, %ebx=0A= movl %ebx, (%esp)=0A= call get_vm_area=0A= movl %eax, %edx=0A= xorl %eax, %eax=0A= testl %edx, %edx=0A= je .L144=0A= movl 4(%edx), %edi=0A= movl 16(%ebp), %eax=0A= movl %ebx, 8(%esp)=0A= movl %esi, 4(%esp)=0A= movl %eax, 12(%esp)=0A= movl %edi, (%esp)=0A= call remap_area_pages=0A= testl %eax, %eax=0A= jne .L162=0A= movl -16(%ebp), %edx=0A= leal (%edx,%edi), %eax=0A= .p2align 4,,15=0A= .L144:=0A= movl -12(%ebp), %ebx=0A= movl -8(%ebp), %esi=0A= movl -4(%ebp), %edi=0A= movl %ebp, %esp=0A= popl %ebp=0A= ret=0A= .L162:=0A= movl %edi, (%esp)=0A= call vfree=0A= .p2align 4,,15=0A= .L161:=0A= xorl %eax, %eax=0A= jmp .L144=0A= .Lfe2:=0A= .size __ioremap,.Lfe2-__ioremap=0A= .p2align 4,,15=0A= .globl iounmap=0A= .type iounmap,@function=0A= iounmap:=0A= pushl %ebp=0A= movl %esp, %ebp=0A= movl 8(%ebp), %eax=0A= cmpl high_memory, %eax=0A= ja .L165=0A= popl %ebp=0A= ret=0A= .p2align 4,,7=0A= .L165:=0A= andl $-4096, %eax=0A= movl %eax, 8(%ebp)=0A= popl %ebp=0A= jmp vfree=0A= .Lfe3:=0A= .size iounmap,.Lfe3-iounmap=0A= .section .text.init,"ax",@progbits=0A= .p2align 4,,15=0A= .globl bt_ioremap=0A= .type bt_ioremap,@function=0A= bt_ioremap:=0A= pushl %ebp=0A= movl %esp, %ebp=0A= subl $28, %esp=0A= movl %ebx, -12(%ebp)=0A= movl 12(%ebp), %eax=0A= movl 8(%ebp), %ebx=0A= movl %esi, -8(%ebp)=0A= testl %eax, %eax=0A= leal -1(%eax,%ebx), %edx=0A= movl %edi, -4(%ebp)=0A= je .L168=0A= cmpl %ebx, %edx=0A= jae .L167=0A= .L168:=0A= xorl %eax, %eax=0A= .L166:=0A= movl -12(%ebp), %ebx=0A= movl -8(%ebp), %esi=0A= movl -4(%ebp), %edi=0A= movl %ebp, %esp=0A= popl %ebp=0A= ret=0A= .p2align 4,,7=0A= .L167:=0A= cmpl $655359, %ebx=0A= jbe .L169=0A= cmpl $1048575, %edx=0A= leal -1073741824(%ebx), %eax=0A= jbe .L166=0A= .L169:=0A= leal 4095(%edx), %esi=0A= movl %ebx, %eax=0A= andl $-4096, %esi=0A= andl $-4096, %ebx=0A= subl %ebx, %esi=0A= andl $4095, %eax=0A= movl %eax, -16(%ebp)=0A= shrl $12, %esi=0A= xorl %eax, %eax=0A= cmpl $16, %esi=0A= ja .L166=0A= testl %esi, %esi=0A= movl $252, %edi=0A= jne .L175=0A= .L179:=0A= movl -16(%ebp), %eax=0A= subl $1040384, %eax=0A= jmp .L166=0A= .p2align 4,,7=0A= .L175:=0A= movl %ebx, 4(%esp)=0A= addl $4096, %ebx=0A= movl %edi, (%esp)=0A= decl %edi=0A= movl $355, 8(%esp)=0A= call __set_fixmap=0A= decl %esi=0A= jne .L175=0A= jmp .L179=0A= .Lfe4:=0A= .size bt_ioremap,.Lfe4-bt_ioremap=0A= .p2align 4,,15=0A= .globl bt_iounmap=0A= .type bt_iounmap,@function=0A= bt_iounmap:=0A= pushl %ebp=0A= movl %esp, %ebp=0A= subl $20, %esp=0A= movl %ebx, -8(%ebp)=0A= movl 8(%ebp), %edx=0A= movl %esi, -4(%ebp)=0A= cmpl $-1040384, %edx=0A= jb .L180=0A= movl 12(%ebp), %eax=0A= andl $4095, %edx=0A= movl $252, %esi=0A= leal 4094(%eax,%edx), %eax=0A= movl %eax, %ebx=0A= shrl $12, %ebx=0A= jne .L187=0A= .L180:=0A= movl -8(%ebp), %ebx=0A= movl -4(%ebp), %esi=0A= movl %ebp, %esp=0A= popl %ebp=0A= ret=0A= .p2align 4,,7=0A= .L187:=0A= movl %esi, (%esp)=0A= decl %esi=0A= movl $0, 8(%esp)=0A= movl $0, 4(%esp)=0A= call __set_fixmap=0A= decl %ebx=0A= jne .L187=0A= jmp .L180=0A= .Lfe5:=0A= .size bt_iounmap,.Lfe5-bt_iounmap=0A= .ident "GCC: (GNU) 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)"=0A= ------=_NextPart_000_0049_01C2E5B6.ABB0E260-- - 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/