kmsgdump && ksymoops result for the 1GB RAM problem in kernel compiled with high-mem (4GB)

Adrian Golumbovici (adrian.golumbovici@t-online.de)
Sat, 8 Mar 2003 21:07:03 +0100


This is a MIME-formatted message. If you see this text it means that your
E-mail software does not support MIME-formatted messages.

--=_courier-16072-1047167286-0001-2
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.
:)

--=_courier-16072-1047167286-0001-2
Content-Type: text/plain; name="MESSAGES.TXT"; charset=iso-8859-1
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==

--=_courier-16072-1047167286-0001-2
Content-Type: text/plain; name="oopsresult.txt"; charset=iso-8859-1
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:[<c011d100>] 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> [<c013bce0>] get_vm_area+0x20/0xf0 [kernel]=0A=
<4> [<c011d385>] __ioremap+0xe5/0x120 [kernel]=0A=
<4> [<c0105000>] stext+0x0/0x60 [kernel]=0A=
<4> [<c017d443>] devfs_mk_dir+0x123/0x160 [kernel]=0A=
<4> [<c0105000>] stext+0x0/0x60 [kernel]=0A=
<4> [<c010508d>] init+0x2d/0x190 [kernel]=0A=
<4> [<c0105000>] stext+0x0/0x60 [kernel]=0A=
<4> [<c0107bee>] kernel_thread+0x2e/0x40 [kernel]=0A=
<4> [<c0105060>] 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 <remap_area_pages+30/1d0> <=3D=3D=3D=3D=3D=0A=
=0A=
>>ecx; f8800000 <_end+383b1fd4/383b4034>=0A=
>>edx; c0101f88 <swapper_pg_dir+f88/1000>=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 <get_vm_area+20/f0>=0A=
Trace; c011d385 <__ioremap+e5/120>=0A=
Trace; c0105000 <_stext+0/0>=0A=
Trace; c017d443 <devfs_mk_dir+123/160>=0A=
Trace; c0105000 <_stext+0/0>=0A=
Trace; c010508d <init+2d/190>=0A=
Trace; c0105000 <_stext+0/0>=0A=
Trace; c0107bee <kernel_thread+2e/40>=0A=
Trace; c0105060 <init+0/190>=0A=
=0A=
Code; c011d100 <remap_area_pages+30/1d0>=0A=
00000000 <_EIP>:=0A=
Code; c011d100 <remap_area_pages+30/1d0> <=3D=3D=3D=3D=3D=0A=
0: 0f 0b ud2a <=3D=3D=3D=3D=3D=0A=
Code; c011d102 <remap_area_pages+32/1d0>=0A=
2: 49 dec %ecx=0A=
Code; c011d103 <remap_area_pages+33/1d0>=0A=
3: 00 b8 e0 29 c0 f0 add %bh,0xf0c029e0(%eax)=0A=
Code; c011d109 <remap_area_pages+39/1d0>=0A=
9: fe 0d 8c 6d 36 c0 decb 0xc0366d8c=0A=
Code; c011d10f <remap_area_pages+3f/1d0>=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=

--=_courier-16072-1047167286-0001-2
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 <linux/vmalloc.h>=0A=
#include <asm/io.h>=0A=
#include <asm/pgalloc.h>=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=

--=_courier-16072-1047167286-0001-2
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=

--=_courier-16072-1047167286-0001-2--