Skip to contentSkip to conversation

PPC8247 booting error

DISCUSSION Sauce.Cheng 2 participants 3 messages May 5, 2009 – May 8, 2009

lore
Share & tools
lore
#0 lore raw

i want to mapping FIFO memory to bank 3 by configure br3 and or3 the boot info as following.

in my code, i have mapped FIFO to 0xD0000000, then i red the value from this address.

the prompts as following

there is some wrong with BRx and ORx set? or something others?

please give me some suggestion, thanks everyone.

## Booting image at 00400000 ...

   Image Name:   Linux-2.6.11
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    818473 Bytes = 799.3 kB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
OK
Linux version 2.6.11 ([email protected]) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0))

#108 Mon May 4 22:54:23 EDT 2009

Motorola PQ2 ADS PowerPC port

Built 1 zonelists

Kernel command line: mem=32M console=ttyCPM0,9600 root=/dev/nfs/ rw

nfsroot=192.168.0.131:/root/chengmo/fs_folder/rootfs

ip=192.168.0.100:192.168.0.131:#:255.0.0.0:::off

PID hash table entries: 256 (order: 8, 4096 bytes)

Warning: real time clock seems stuck!

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 30632k available (1420k kernel code, 272k data, 88k init, 0k highmem)

Mount-cache hash table entries: 512 (order: 0, 4096 bytes)

scheduling while atomic: swapper/0x00000002/0

Call trace: [c015fe20]  [c0003fe0]  [c01a09b4]  [c0194614]  [000035fc] 

NET: Registered protocol family 16

Sauce : fifo mapping to bank3 ! // here, indicate has enter fifo_init
function, but after

this...

Oops: kernel access of bad area, sig: 11 [#1]

PREEMPT

NIP: C01A2108 LR: C01A2104 SP: C0227FC0 REGS: c0227f10 TRAP: 0300 Not
tainted

MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11

DAR: D0000000, DSISR: 20000000

TASK = c0220ab0[1] 'swapper' THREAD: c0226000

Last syscall: 120

GPR00: C01A2104 C0227FC0 C0220AB0 00000025 00000467 FFFFFFFF F00000A0 00000022

GPR08: 001FF1A0 D0000000 F00000A8 C0227ED0 00000001 7FBDFFFF 02000000 00000000

GPR16: 00800000 01FFF9E8 FFFFFFFF 00000000 007FFF00 01FFA4DC 01BD92B8 00000001

GPR24: 00000000 00400000 C01B0000 C0160000 C01A0000 00000001 C0226000 C01A86A8

Call trace: [c0003a40]  [c0006504] 

Kernel panic - not syncing: Attempted to kill init!

here, i have other questions about these information.

what dose mean by "NIP : C01A2108" ? i supposed "C01A2108" may be a address of user space,

what about NIP ?
and what the expression "DAR, DSISR, TASK, and GPR00-24" represent.

i hope some will let me know those or recommand some book for me. thanks

Signature · 2 lines
View this message in context: http://www.nabble.com/PPC8247-booting-error-tp23381214p23381214.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
#1 lore raw
Quoted 9 lines · Sauce.Cheng

i want to mapping FIFO memory to bank 3 by configure br3 and or3 the boot info as following.

in my code, i have mapped FIFO to 0xD0000000, then i red the value from this address.

the prompts as following

there is some wrong with BRx and ORx set? or something others?

You need to pass your physical address (0xd0000000) to ioremap() to obtain a virtual address that you can dereference.

Quoted 3 lines

scheduling while atomic: swapper/0x00000002/0

Call trace: [c015fe20]  [c0003fe0]  [c01a09b4]  [c0194614]  [000035fc] 

You've got another problem here that you'll want to look into.

-Scott

#2 lore raw

thanks for Scott's following

Quoted 2 lines

You need to pass your physical address (0xd0000000) to ioremap() to obtain a virtual address that you can dereference.

actually, i have done that like you said. pass my phy addr to a virtual addr, but i suppose it is a kernel virtual addr. i wanna get data from phy in my application of user space. i try it by copy_to_user transfer a kernel virtual addr to a use virtual addr for using by user. but copy_to_user failed...

i do it like this

ssize_t read(....,char *buf,....,....)

{
     ....
      kernel_buf = (void *)ioremap(0xD0000000, 4096);
      copy_to_user(buf, kernel_buf, 4096); 
     ....
}
Signature · 2 lines
View this message in context: http://www.nabble.com/PPC8247-booting-error-tp23381214p23438722.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.