Quoting [EMAIL PROTECTED]: > Quoting [EMAIL PROTECTED]: > >> Quoting ron minnich <[EMAIL PROTECTED]>: >> >>> On 10/13/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: >>>> How can I adjust the "BIOS-provided physical RAM map" that the linux >>>> kernel uses? Is this done in northbridge.c with ram_resource()??? >>>> Because mine does not look the same. >>>> >>>> ram_resource(dev, idx++, 0, 640); >>>> ram_resource(dev, idx++, 1024, tolmk - 1024); >>>> >>>> BIOS-provided physical RAM map: >>>> >>>> BIOS-e820: 0000000000001000 - 00000000000a0000 (usable) >>>> >>>> BIOS-e820: 0000000000100000 - 0000000008000000 (usable) >>>> >>>> 128MB LOWMEM available. >>> >>> hi joe, I am not sure I understand your question? what is the value of >>> tolmk in this case? >>> >>> When booting the kernel, there are a few cmdline parameters you can >>> use and, if you do, it will IIRC ignore the e820 map. It's been a >>> while since I looked at that code, though ... >>> >>> ron >> >> Well the problem is I don't think the memory regions are allocating >> memory properly still. For example here is the "BIOS-provided physical >> RAM map" from the original bios: >> >> BIOS-provided physical RAM map: >> >> BIOS-e801: 0000000000000000 - 000000000009f000 (usable) >> >> BIOS-e801: 0000000000100000 - 0000000007f00000 (usable) >> >> 127MB LOWMEM available. >> >> See how the map ends at 127MB. The last 1MB of memory is pre-allocated >> for the VGA frame buffer (IGD). The original bios excludes this from >> the ram map while LinuxBIOS does not. Linux will think this area is >> useable for system memory and the graphics will think it is useable >> for graphics causing them to write over each other and not good stuff >> will start to happen:-( >> >> Anyways, I am tring to figure out in what code LinuxBIOS configures >> this map so I can make adjustments. Basicly I need to tell LinuxBIOS to: >> >> Total LOWMEM - IGD pre-allocated memory = New LOWMEM >> >> I should be able to do this in northbridge.c right?? But would I >> subtract it from tomk or tolmk?? >> >> > Yep, I had a feeling. It looks like the AMD gx2 northbridge.c does > this exact thing. > > /* Sort out the framebuffer size */ > tomk -= FRAMEBUFFERK; > > I will test it and get back..... > > > Thanks - Joe > This myth is confirmed. I setup northbridge.c to subtract the IGD pre-allocated memory from tomk, and setup the IGD pre-allocated memory registers in raminit.c. For this example I used the max 8MB.
BIOS-provided physical RAM map: BIOS-e820: 0000000000001000 - 00000000000a0000 (usable) BIOS-e820: 0000000000100000 - 0000000007800000 (usable) 120MB LOWMEM available. Sweet, that's just one more thing to cross off my list:-) Thanks - Joe -- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
