RE: Lots of memory on 826x
flat view
From: Rune Torgersen <hidden>
Date: 2005-03-08 21:16:55
What about moving the VMALLOC_START and VMALLOC_END #defines to something else (like start at 0x80000000 and end at 0xc0000000), or will that break some assumptions in the kernel about the position of the vmalloc area?
-----Original Message----- From: Matt Porter [mailto:mporter@kernel.crashing.org]=20 Sent: Tuesday, March 08, 2005 14:33 To: Rune Torgersen Cc: Kumar Gala; linuxppc-embedded@ozlabs.org Subject: Re: Lots of memory on 826x =20 On Tue, Mar 08, 2005 at 12:37:33PM -0600, Rune Torgersen wrote:quoted
Ok... Got a little closer.... =20 I have PCI (outbound) mapped in the area 0x80000000-0x8fffffff (prefetch/non-prefetch and IO) IMMR of cource is at 0xf0000000 =20 So I map the IO as following: /* Map IMMR region to a 256MB BAT */ addr =3D (cpm2_immr !=3D NULL) ? (uint)cpm2_immr : CPM_MAP_ADDR; io_block_mapping(addr, addr, 0x10000000, _PAGE_IO); =20 io_block_mapping(0x80000000, 0x80000000, 0x10000000, _PAGE_IO); =20 Now I can almost boot....: It craches when trying to read from harddisk (only happens with more than 512MB)=20 That's expected if you are going to 768MB. You have kernel lowmem being mapped at 0xc0000000+<size_of_system_memory>. With 768MB that takes you all the way to where you have the IMMR mapped 1:1 I guess. This leaves no room for vmalloc space. With 768MB of ram the kernel will calculate VMALLOC_START at 0xf1000000 which is a problem. =20 A few options are: =20 * Move the IMMR much higher to allow vmalloc space * Modify maximum low memory to limit to 512MB using the advanced options menu * Modify KERNELBASE to something like 0xa0000000 using the advanced options menu =20 All of these methods will provide addition vmalloc space. =20 Don't forget to turn on HIGHMEM to use everything above MAX_LOW_MEM. =20 -Matt =20 =20