Linux MIPS Architecture development
 help / color / mirror / Atom feed
* how to support more than 512MB RAM for MIPS32 ?
@ 2009-11-25  6:34 figo zhang
  2009-11-25 14:37 ` Kevin Hickey
  0 siblings, 1 reply; 5+ messages in thread
From: figo zhang @ 2009-11-25  6:34 UTC (permalink / raw)
  To: ralf; +Cc: linux-mips

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

hi all,

I am using 24KEC SOC, i want to support larger more than 512MB RAM. The
mips32 architure  in Kseg0/Kseg1,
such as:
0x8000,0000 ~ 0x92c0,0000  # 300MB for RAM
0x92c0,0000 ~ 0xa000,0000  # 212 for I/O register

so, mips32 only support 300MB memory, i dont how to support more than 512MB
in linux-mips kernel , such as 2GB memory? it is using HIGHMEM strategy
for kernel(ZONE_HIGHMEM)?

Best,
Figo.zhang

[-- Attachment #2: Type: text/html, Size: 450 bytes --]

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

* Re: how to support more than 512MB RAM for MIPS32 ?
  2009-11-25  6:34 how to support more than 512MB RAM for MIPS32 ? figo zhang
@ 2009-11-25 14:37 ` Kevin Hickey
  2009-11-25 15:31   ` Figo.zhang
  0 siblings, 1 reply; 5+ messages in thread
From: Kevin Hickey @ 2009-11-25 14:37 UTC (permalink / raw)
  To: figo zhang; +Cc: ralf, linux-mips

We use HIGHMEM on the Au1300 to access any memory spaces >256 MB.  Our
I/O area starts at 256 MB.  We just map the extra DRAM to any area
outside the I/O space, enable highmem, and register it as BOOT_MEM_RAM
with add_memory_region.  Works great.

=Kevin
--
Kevin Hickey
Netlogic Microsystems


On Wed, 2009-11-25 at 14:34 +0800, figo zhang wrote:
> hi all,
> 
> I am using 24KEC SOC, i want to support larger more than 512MB RAM.
> The mips32 architure  in Kseg0/Kseg1,
> such as:
> 0x8000,0000 ~ 0x92c0,0000  # 300MB for RAM
> 0x92c0,0000 ~ 0xa000,0000  # 212 for I/O register
> 
> so, mips32 only support 300MB memory, i dont how to support more than
> 512MB in linux-mips kernel , such as 2GB memory? it is using HIGHMEM
> strategy
> for kernel(ZONE_HIGHMEM)?
> 
> Best,
> Figo.zhang

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

* Re: how to support more than 512MB RAM for MIPS32 ?
  2009-11-25 14:37 ` Kevin Hickey
@ 2009-11-25 15:31   ` Figo.zhang
  2009-11-25 16:00     ` Ralf Baechle
  0 siblings, 1 reply; 5+ messages in thread
From: Figo.zhang @ 2009-11-25 15:31 UTC (permalink / raw)
  To: Kevin Hickey; +Cc: ralf, linux-mips

On Wed, 2009-11-25 at 08:37 -0600, Kevin Hickey wrote:
> We use HIGHMEM on the Au1300 to access any memory spaces >256 MB.  Our
> I/O area starts at 256 MB.  We just map the extra DRAM to any area
> outside the I/O space,

how to do map extra RAM to any ouside I/O space?
it is just motify:

1. arch/mips/kernel/setup.c: bootm_init()function, motity the define
"HIGHMEM_START", for me: 
#define HIGHMEM_START 0x2000,0000   //512MB

2. use add_memory_region, for me:
 add_memory_region(0x20000000, 0x40000000, BOOT_MEM_RAM); //extra 1G RAM

is it ok ?

Best,
Figo.zhang


>  enable highmem, and register it as BOOT_MEM_RAM
> with add_memory_region.  Works great.
> 
> =Kevin
> --
> Kevin Hickey
> Netlogic Microsystems
> 
> 
> On Wed, 2009-11-25 at 14:34 +0800, figo zhang wrote:
> > hi all,
> > 
> > I am using 24KEC SOC, i want to support larger more than 512MB RAM.
> > The mips32 architure  in Kseg0/Kseg1,
> > such as:
> > 0x8000,0000 ~ 0x92c0,0000  # 300MB for RAM
> > 0x92c0,0000 ~ 0xa000,0000  # 212 for I/O register
> > 
> > so, mips32 only support 300MB memory, i dont how to support more than
> > 512MB in linux-mips kernel , such as 2GB memory? it is using HIGHMEM
> > strategy
> > for kernel(ZONE_HIGHMEM)?
> > 
> > Best,
> > Figo.zhang
> 

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

* Re: how to support more than 512MB RAM for MIPS32 ?
  2009-11-25 15:31   ` Figo.zhang
@ 2009-11-25 16:00     ` Ralf Baechle
  2009-11-25 16:17       ` Figo.zhang
  0 siblings, 1 reply; 5+ messages in thread
From: Ralf Baechle @ 2009-11-25 16:00 UTC (permalink / raw)
  To: Figo.zhang; +Cc: Kevin Hickey, linux-mips

On Wed, Nov 25, 2009 at 11:31:14PM +0800, Figo.zhang wrote:

> how to do map extra RAM to any ouside I/O space?
> it is just motify:
> 
> 1. arch/mips/kernel/setup.c: bootm_init()function, motity the define
> "HIGHMEM_START", for me: 
> #define HIGHMEM_START 0x2000,0000   //512MB

Leave HIGHMEM_START unchanged; it should always be 512MB no matter what
the actual memory addresses of a particular platform are.  The kernel
needs to treat anything above 512MB differently because it's not
permanently mapped and HIGHMEM_START stands for this limit.

  Ralf

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

* Re: how to support more than 512MB RAM for MIPS32 ?
  2009-11-25 16:00     ` Ralf Baechle
@ 2009-11-25 16:17       ` Figo.zhang
  0 siblings, 0 replies; 5+ messages in thread
From: Figo.zhang @ 2009-11-25 16:17 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Kevin Hickey, linux-mips

On Wed, 2009-11-25 at 16:00 +0000, Ralf Baechle wrote:
> On Wed, Nov 25, 2009 at 11:31:14PM +0800, Figo.zhang wrote:
> 
> > how to do map extra RAM to any ouside I/O space?
> > it is just motify:
> > 
> > 1. arch/mips/kernel/setup.c: bootm_init()function, motity the define
> > "HIGHMEM_START", for me: 
> > #define HIGHMEM_START 0x2000,0000   //512MB
> 
> Leave HIGHMEM_START unchanged; it should always be 512MB no matter what
> the actual memory addresses of a particular platform are.  The kernel
> needs to treat anything above 512MB differently because it's not
> permanently mapped and HIGHMEM_START stands for this limit.
> 

HIGHMEM canot directly invoke __get_free_pages() to allocate pages, so
it would slow performance ?

Is it anyother solution in current linux-mips kernel? for example,
directly map extra RAM to 0x40000000~0x80000000, the user space
decreased, only 0x0~0x40000000.

Best,
Figo.zhang

>   Ralf

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

end of thread, other threads:[~2009-11-25 16:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-25  6:34 how to support more than 512MB RAM for MIPS32 ? figo zhang
2009-11-25 14:37 ` Kevin Hickey
2009-11-25 15:31   ` Figo.zhang
2009-11-25 16:00     ` Ralf Baechle
2009-11-25 16:17       ` Figo.zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox