Skip to contentSkip to conversation

Help with crash

U-Boot-Users Richard Danter 3 participants 5 messages Jul 5, 2005

lore
Share & tools
lore
#0 lore raw

Hi All,

I have been making some progress with porting U-Boot to a 7400/107 board. I now have serial out, but crash before the code is relocated to RAM. Can anyone help me please?

The last thing I see on the serial console is:

Reserving 48 Bytes for Global Data at: 03fc9f98

I think the address looks OK as I have 64MB RAM on this board so Global Data is just below the top of that.

This is where I get to in lib_ppc/board.c:

	/*
	 * Finally, we set up a new (bigger) stack.
	 *
	 * Leave some safety gap for SP, force alignment on 16 byte
boundary
	 * Clear initial stack frame
	 */
	addr_sp -= 16;
fff036b4  subi    r31,r26,0x1078
fff036b8  crclr   cr6
fff036bc  bl      printf
	debug ("Reserving %d Bytes for Global Data at: %08lx\n",
fff036c0  li      r4,0x30
fff036c4  lwz     r3,-0x7FC4(r30)
fff036c8  mr      r5,r24
	addr_sp &= ~0xF;
fff036cc  clrrwi  r31,r31,4
fff036d0  crclr   cr6
fff036d4  bl      printf
fff036d8  mr      r11,r31
fff036dc  subi    r31,r31,4
fff036e0  stw     r25,__fixup_entries(r11)           <== Crash here
	*((ulong *) addr_sp)-- = 0;
	debug ("Stack Pointer at: %08lx\n", addr_sp);
fff036e4  lwz     r3,-0x7FC0(r30)
fff036e8  stw     r25,__fixup_entries(r31)
fff036ec  subi    r31,r31,4
fff036f0  mr      r4,r31
fff036f4  crclr   cr6
fff036f8  bl      printf

When I step through the instruction at fff036e0 I end up@700, which is the Program Exception vector (srr0 = 0x800, srr1 = 80000) which implies an illegal instruction?

From the System.map file I can see that __fixup_entries is 0. Is this
correct?

Can anyone suggest where I should be looking to fix this? I appreciate I have not given much info, I can send more if you let me know what you need.

Thanks
Rich

#1 lore raw

[U-Boot-Users] Help with crash -- SOLVED

Quoted 13 lines · Richard Danter
fff036d8  mr      r11,r31
fff036dc  subi    r31,r31,4
fff036e0  stw     r25,__fixup_entries(r11)           <== Crash here
    *((ulong *) addr_sp)-- = 0;
    debug ("Stack Pointer at: %08lx\n", addr_sp);
fff036e4  lwz     r3,-0x7FC0(r30)
fff036e8  stw     r25,__fixup_entries(r31)
fff036ec  subi    r31,r31,4
fff036f0  mr      r4,r31
fff036f4  crclr   cr6
fff036f8  bl      printf
Quoted 3 lines

When I step through the instruction at fff036e0 I end up at 700, which is the Program Exception vector (srr0 = 0x800, srr1 = 80000) which implies an illegal instruction?

The problem was a typo in my config file. Was loading DBAT0 with the values from IBAT1 instead of IBAT0.

Rich

#2 lore raw

[U-Boot-Users] Silicon Image 0680A and CF-ATA drive

Hi all,

My custom board has the PCI to ATA chip Silicon Image 0680A, which connects to the CompactFlash Storage Card that acts as a standard IDE disk if configured right. Anyone knows if U-boot already had the implementation for the Silicon Image 0680A and CF-ATA drive? I looked through the source code but didn't find anything. If not, any recommendations of how to implement them?

Any pointer is appreciated.

Sam

____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com

#3 lore raw

[U-Boot-Users] Silicon Image 0680A and CF-ATA drive

Quoted 6 lines · In message <[email protected]> you wrote:

My custom board has the PCI to ATA chip Silicon Image 0680A, which connects to the CompactFlash Storage Card that acts as a standard IDE disk if configured right. Anyone knows if U-boot already had the implementation for the Silicon Image 0680A and CF-ATA drive? I

No.

Quoted 3 lines

looked through the source code but didn't find anything. If not, any recommendations of how to implement them?

Find the Linux driver for this controller, analyze it, and port the unavoidable parts of it to U-Boot.

Best regards,

Wolfgang Denk

Signature · 4 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
To know how another being, another creature feels -  that  is  impos-
sible.                  - Terry Pratchett, _The Dark Side of the Sun_
#4 lore raw

[U-Boot-Users] Silicon Image 0680A and CF-ATA drive

Quoted 16 lines · --- Wolfgang Denk

In message <[email protected]>

Quoted 2 lines · you

My custom board has the PCI to ATA chip Silicon

Image

Quoted 1 line

0680A, which connects to the CompactFlash Storage

Card

Quoted 1 line

that acts as a standard IDE disk if configured

right.

Quoted 1 line

Anyone knows if U-boot already had the

implementation

Quoted 1 line

for the Silicon Image 0680A and CF-ATA drive? I

No.

Quoted 7 lines
Quoted 3 lines

looked through the source code but didn't find
anything. If not, any recommendations of how to
implement them?

Find the Linux driver for this controller, analyze it, and port the
unavoidable parts of it to U-Boot.

Thanks. This would help for starting.

Sam

Quoted 15 lines

Best regards,

Wolfgang Denk

Signature · 8 lines
Software Engineering:  Embedded and Realtime
Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80
Email: wd at denx.de
To know how another being, another creature feels - 
that  is  impos-
sible.                  - Terry Pratchett, _The Dark
Side of the Sun_

____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com