lkml.org 
[lkml]   [2000]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Memory Started not at 0x00000000
Hi,

> >
> > void __init free_area_init(unsigned int *zones_size)
> > {
> > - free_area_init_core(0, NODE_DATA(0), &mem_map, zones_size, 0);
> > + free_area_init_core(0, NODE_DATA(0), &mem_map, zones_size, PAGE_OFFSET);
> > }
> >
> > static int __init setup_mem_frac(char *str)
>
> Well, it seems that you are using mm tricks mapping physical memory
> start address to virtual address PAGE_OFFSET. It can't be applicable
> to SuperH architecture (or MIPS, I believe). For SuperH, the kernel
> space mapping are done with *no* TLB lookup, but just mask the
> address. I don't know if it is usual or not for the MIPS architecture
> where memory starts not at 0x00000000, but for SuperH, main memory start
> not at 0x00000000. For example, my evaluation board of SH-3 it starts
> at 0x0c000000, and evaluation board of SH-4 it start at 0x08000000.

On m68k the memory can be on a different location for every machine, so we
only have the virtual mapping. But I don't really understand why the patch
shouldn't work on other machine, what is at PAGE_OFFSET on SuperH or MIPS?
I always assumed that would be the address of page_address(mem_map[0])?

bye, Roman


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [from the cache]
©2003-2011 Jasper Spaans