Re: something wrong when I read infomation from portG ,s3c44b0 | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
#define PCONC (unsigned int *)0x01D20010 #define PUPC (unsigned int *)0x01D20018 #define PCONG (unsigned int *)0x01D20040 #define PUPG (unsigned int *)0x01D20048 I also tried to do like this: u32 save_C __attribute__((aligned(4))); u16 save_G __attribute__((aligned(4))); but it seems ineffective . 2007/3/28, Zhu Tom-a2289c <ling.zhu@xxxxxxxxxxxx>:
It seems that the address of PCONC or PUPC is not in a word alignment. Say, 0x.....2 or 0x...6 etc. Tom -----Original Message----- From: zhang guocheng [mailto:gczh1006@xxxxxxxxx] Sent: 2007年3月27日 22:52 To: Zhu Tom-a2289c Subject: Re: something wrong when I read infomation from portG ,s3c44b0 thanks the register PCONG[0:15] , R/W sorry,maybe I didn't discribe clearly when I read PUPC,PCONC save_C=inl(PCONC); save_PC=inw(PUPC); it looks well, just when the driver initiaization runs to reading the configuration of PCONG,the error occures. 2007/3/28, Zhu Tom-a2289c <ling.zhu@xxxxxxxxxxxx>: > Looks like the PCONG/PCONC/PUPC is not aligned in word? > > Tom > > -----Original Message----- > From: linux-arm-bounces@xxxxxxxxxxxxxxxxxxxxxx > [mailto:linux-arm-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of zhang > guocheng > Sent: 2007年3月27日 21:29 > To: linux-arm > Subject: something wrong when I read infomation from portG ,s3c44b0 > > hi,everyone > first ,please excuse my poor english,these is one problem that has confused me for a few days,so I hope these is someone could help me. > first I introduce some infomation about my board. the cpu is s3c44b0. > when I read the configuration register of portG(PCONG),which is a output/input port of 8bit. > save_G=inw(PCONG); > the initialization of my driver will be wrong, while everything is ok when I read the configuration register of portC(PCONC),or PUPC,etc. > save_C=inl(PCONC); > save_PC=inw(PUPC); > > the error happened when I execute the conmand #insmod abc (abc is a module , my driver) the log will be at the end. > #lsmod > module size used by not tainted > abc 3300 1(initializing) > > log: > Unhandled fault: alignment exception (93) at 0x00000001 > fault-common.c(97): start_code=0xc5c0040, start_stack=0xc5fff84) > Internal error: Oops: 0 > CPU: 0 > pc : [<0c01ee6c>] lr : [<00030001>] Not tainted sp : 0c607e1c ip : > 00000004 fp : 0c607eb0 > r10: 0c5ad000 r9 : 20000013 r8 : 00000060 > r7 : ffffffea r6 : 0c5a6000 r5 : e1d230b0 r4 : 20000013 > r3 : 00000000 r2 : 0c60601c r1 : 0c607e1c r0 : 00000004 > Flags: nZCv IRQs off FIQs on Mode SVC_32 Segment user > Control: 0 > Process insmod (pid: 25, stackpage=0c607000) > Stack: > 0c607e00: 00030001 0c01ee6c 60000093 ffffffff 00000004 > 0c607e20: 00000000 00030001 0c050678 0c050118 00000000 0000102b > 0c33a740 0c31a800 > 0c607e40: 0c5b7460 ffffffea 00000000 20000013 0c2c62b8 00000000 > 00000003 00000001 > 0c607e60: 00000001 000001f0 0c2c60fc 0c607eb0 0c607e7c 0c037758 > 0c037000 0c63aee0 > 0c607e80: 0c2c62b4 0c5b74cc 00000000 20000013 0c2c62b8 00000000 > 00000003 e1d230b0 > 0c607ea0: 0c607ee8 0c607f10 0c607eb4 0c01fc98 0c01ee3c 00000000 > 0c5accb8 000000ff > 0c607ec0: 01d20040 0c5acc30 00000000 0c5a6000 ffffffea 00000060 > 00000004 0c5ad000 > 0c607ee0: 0c607f10 0c5acc34 0c607efc 0c5acbe8 0c5aca38 20000013 > ffffffff 00000000 > 0c607f00: 0c5ac000 0c607fac 0c607f14 0c02466c 0c5ac9d0 0c5a6000 > 0c5a7000 0c5ae560 > 0c607f20: 0c647ce0 00000060 0c2c55c8 0c5ac060 00000d20 00000000 > 00000000 00000000 > 0c607f40: 00000000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 > 0c607f60: 00000000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 > 0c607f80: 00000000 0c5feee8 0c66d000 0c5e1f54 0c606000 0c01ab20 > 00000080 00000d20 > 0c607fa0: 00000000 0c607fb0 0c01a980 0c024000 0c5feee8 0c01b1b4 > 0c5feee8 0c5ad000 > 0c607fc0: 00000000 0c5acc30 0c5feee8 0c66d000 0c5e1f54 0c5ac000 > 0c5feee8 00000002 > 0c607fe0: 00000d20 00000000 0c5accc0 0c5fbd2c 0c5c22f0 0c5d68e4 > 60000010 0c5feee8 > Backtrace: > Function entered at [<0c01ee2c>] from [<0c01fc98>] > r5 = 0C607EE8 r4 = E1D230B0 > Function entered at [<0c5ac9c0>] from [<0c02466c>] > r5 = 0C5AC000 r4 = 00000000 > Function entered at [<0c023ff0>] from [<0c01a980>] > Code: e50be08c e3cd2d7f (e594303c) e3c2203f e50b3088 pid 25: failed 11 > > ------------------------------------------------------------------- > List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm > FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php > Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php >
------------------------------------------------------------------- List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
[Site Home] [IETF Annouce] [Security] [Bugtraq] [Linux] [Linux ARM Kernel] [Linux MIPS] [ECOS] [Tools] [DDR & Rambus] [Monitors]