From: Shawn Jin <shawnxjin@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Using DCACHE instead of internal SRAM as the initial stack on PPC440GP?
Date: Fri, 4 Mar 2005 18:07:08 -0800 [thread overview]
Message-ID: <c3d0340b0503041807365aa0f2@mail.gmail.com> (raw)
Hi,
I'm experimenting to set up the initial stack in DCACHE instead of
internal SRAM on Ebony. Our SoC only has a ppc440 core and no internal
SRAM available.
I made more changes than what I reported yesterday
(http://sourceforge.net/mailarchive/message.php?msg_id=11062649). My
understanding on the initial stack is:
1. CFG_INIT_RAM_ADDR is set to an address which nobody uses it. No
backup RAM is required.
2. Config only this area cacheable. All others are caching inhibited.
So I made the following changes on Ebony's uboot code.
1. set CFG_INIT_RAM_ADDR to 0x40000000, no memory or peripherals use
this address space, and CFG_INIT_DCACHE_CS to 4.
2. This address space is mapped to 0x1_4F00_0000, one of spared
peripheral areas. My TLB is set as follows.
(gdb) mon tlb 0 8
0 : 00 f0000000 256MB V0 -> 1_f0000000 U:0000 -I-G- XWRXWR
1 : 00 e0000000 256MB V0 -> 1_40000000 U:0000 -I-G- -WR-WR
2 : 00 40000000 4KB V0 -> 1_4f000000 U:0000 ----- XWRXWR
3 : 00 00000000 256MB V0 -> 0_00000000 U:0000 -I-G- XWRXWR
4 : 00 d0000000 256MB V0 -> 2_00000000 U:0000 -I-G- -WR-WR
5 : 00 80000000 256MB V0 -> 3_00000000 U:0000 -I-G- -WR-WR
6 : 00 00000000 1KB -0 -> 0_00000000 U:0000 ----- ------
7 : 00 00000000 1KB -0 -> 0_00000000 U:0000 ----- ------
8 : 00 00000000 1KB -0 -> 0_00000000 U:0000 ----- ------
3. Commented out internal SRAM initialization and TLB entries.
4. set up EBC bank 4 for this area.
/*----------------------------------------------------------------------- */
/* Memory Bank x (nothingness) initialization */
/* used as temporary stack pointer for stage0 */
/*----------------------------------------------------------------------- */
li r4, xbcfg
mtdcr ebccfga, r4
lis r1, 0x0400
ori r1, r1, 0x0000
mfdcr r4, ebccfgd
or r4, r4, r1
mtdcr ebccfgd, r4 /* set ATC */
li r4, PBxAP
mtdcr ebccfga, r4
lis r4, 0x0380
ori r4, r4, 0x0480
mtdcr ebccfgd, r4
addi r4, 0, PBxCR
mtdcr ebccfga, r4
lis r4, 0x4F01 /* BAS=0x4F0, BS=000 (1MB) */
ori r4, r4, 0xE000 /* BU=11 (r/w), BW=11 (32 bits) */
mtdcr ebccfgd, r4
However initializing the stack still causes machine check exception. I
really don't know what else I'm missing here. Any suggestions or hints
are greatly appreciated!
Thanks,
-Shawn.
next reply other threads:[~2005-03-05 2:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-05 2:07 Shawn Jin [this message]
2005-03-05 7:55 ` [U-Boot-Users] Using DCACHE instead of internal SRAM as the initial stack on PPC440GP? Stefan Roese
2005-03-07 17:44 ` Shawn Jin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c3d0340b0503041807365aa0f2@mail.gmail.com \
--to=shawnxjin@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.