* 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