linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 14:02 Absolut Hunter
  2005-07-11 14:39 ` Michael Richardson
  0 siblings, 1 reply; 8+ messages in thread
From: Absolut Hunter @ 2005-07-11 14:02 UTC (permalink / raw)
  To: linuxppc-embedded


A useful piece to this might be that I am attempting to map these two memory
regions contiguously, so that Linux doesn't see any memory holes.

0-2MB SRAM
2MB-34MB SDRAM

I would be open to any other ways that SRAM / SDRAM might be mapped to work,
and still provide a performance increase for the kernel.

-Russell

-----Original Message-----
From: Absolut Hunter [mailto:absoluthunter@comcast.net] 
Sent: Monday, July 11, 2005 6:38 AM
To: 'linuxppc-embedded@ozlabs.org'
Subject: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?

Anybody,

I ran into a peculiar issue, though it could be user error. 

I am using U-boot to configure up the SDRAM and SRAM in our system before we
launch Linux. We have 32 Mb of SDRAM and 2 MB of SRAM in the system. 

If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
0x00000000, like U-boot defaults to Linux works great. However, my goal is
to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
table, so I can achieve a very fast interrupt response time.

I hacked U-boot a little bit to remap these addresses, after all the init
code was finished. U-boot relocates itself to higher memory, i.e. the last
2MB's of SDRAM and all is well within U-boot. I ran a 14 hour test on the
memory area to proof it. Now we have 0x02200000 <34M> memory size being
reported to Linux, in the bd->memsize. However, now Linux crashes randomly
all over the place, mostly sig11's task: swapper. I know this is not an
issue with SDRAM stability, and I can't imagine SRAM having problems seeing
as its 8ns capable and we're running at 15ns at the moment (66mhz).

Linux reports BAT mappings as BAT2=32Mb, BAT3=2MB when all 34 Megs are
presented via U-boot. 

Does anyone have any idea what would cause this instability? Physically all
memory seems to be great if used by itself. I know very little about how
Linux manages its pages, BATS, TBLs, etc... Are the limits on odd memory
sizes? Or certain configurations that it expects to see?

Thanks in advance.

-Russell McGuire

^ permalink raw reply	[flat|nested] 8+ messages in thread
* RE: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 13:59 Steven Blakeslee
  0 siblings, 0 replies; 8+ messages in thread
From: Steven Blakeslee @ 2005-07-11 13:59 UTC (permalink / raw)
  To: Absolut Hunter, linuxppc-embedded

> I am using U-boot to configure up the SDRAM and SRAM in our=20
> system before we launch Linux. We have 32 Mb of SDRAM and 2=20
> MB of SRAM in the system.=20
>=20

When I was working on an 8260 a while back I had to map PSDRAM at
address 0x00000000 and LSDRAM starting at the PSDRAM's end.  I found
that when I made the PSDRAM smaller than the LSDRAM then the LSDRAM was
not mapped properly.  This was due to the fact that the start address
for the memory bank needed to be a multiple of the bank size.  If the
LSDRAM was 32Meg then the start address of the bank needed to be on a
32Meg boundary.

I am not sure but if you are mapping a 2Meg SRAM at 0x00000000 followed
by a 32Meg SDRAM then the SDRAM is not on a 32Meg boundary.  This may
not be your issue but it may be worth looking in to.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 13:38 Absolut Hunter
  2005-07-11 14:01 ` Michael Richardson
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Absolut Hunter @ 2005-07-11 13:38 UTC (permalink / raw)
  To: linuxppc-embedded

Anybody,

I ran into a peculiar issue, though it could be user error. 

I am using U-boot to configure up the SDRAM and SRAM in our system before we
launch Linux. We have 32 Mb of SDRAM and 2 MB of SRAM in the system. 

If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
0x00000000, like U-boot defaults to Linux works great. However, my goal is
to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
table, so I can achieve a very fast interrupt response time.

I hacked U-boot a little bit to remap these addresses, after all the init
code was finished. U-boot relocates itself to higher memory, i.e. the last
2MB's of SDRAM and all is well within U-boot. I ran a 14 hour test on the
memory area to proof it. Now we have 0x02200000 <34M> memory size being
reported to Linux, in the bd->memsize. However, now Linux crashes randomly
all over the place, mostly sig11's task: swapper. I know this is not an
issue with SDRAM stability, and I can't imagine SRAM having problems seeing
as its 8ns capable and we're running at 15ns at the moment (66mhz).

Linux reports BAT mappings as BAT2=32Mb, BAT3=2MB when all 34 Megs are
presented via U-boot. 

Does anyone have any idea what would cause this instability? Physically all
memory seems to be great if used by itself. I know very little about how
Linux manages its pages, BATS, TBLs, etc... Are the limits on odd memory
sizes? Or certain configurations that it expects to see?

Thanks in advance.

-Russell McGuire

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-07-11 18:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-11 14:02 Linux 2.4.25 / MPC8280 / ram config vs Linux instability? Absolut Hunter
2005-07-11 14:39 ` Michael Richardson
  -- strict thread matches above, loose matches on Subject: below --
2005-07-11 13:59 Steven Blakeslee
2005-07-11 13:38 Absolut Hunter
2005-07-11 14:01 ` Michael Richardson
2005-07-11 14:03 ` Mark Chambers
2005-07-11 14:22 ` Wolfgang Denk
2005-07-11 18:39 ` Dan Malek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).