[U-Boot-Users] Help with crash

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 at 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

Richard Danter wrote:
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 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

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

In message 20050705161452.30133.qmail@web54108.mail.yahoo.com 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.
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

--- Wolfgang Denk wd@denx.de wrote:
In message 20050705161452.30133.qmail@web54108.mail.yahoo.com 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.
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
Best regards,
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@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
participants (3)
-
Richard Danter
-
Sam Pham
-
Wolfgang Denk