Re: Memory Started not at 0x00000000

From: NIIBE Yutaka (gniibe@chroot.org)
Date: Wed Feb 09 2000 - 19:16:17 EST


Roman Zippel wrote:
> 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])?

That's PAGE_OFFSET + (pysical)MEMORY_START_ADDRESS, where PAGE_OFFSET
== 0x80000000. THe physical address will generated by masking the
virtual address with 0x80000000, with no TLB lookup.

Since we don't want to waste the memory of mem_map, we "shift" the map
number so that mem_map[0] becomes the one of start page.

Yes, for SuperH, memory can be different location for each machine
too. But it's compile time option since the address of kernel depends
on memory start address. We don't share kernel image among different
memory location machines.

-- 
Niibe Yutaka

- 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/



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:16 EST