On Dec 21, 2007 1:40 PM, Corey Osgood <corey.osgood@gmail.com> wrote:
aaron lwe wrote:
> Dear All,
>
> I'm terribly sorry that I just found I've mistakenly configured the
> dram MA Map Type, and now memtest
> showed no errors. But I still have to reduce the mem size when
> reporting to system through ram_resource
> or filo couldn't be started.  I have disabled the integrated graphics
> card and the agp, so I don't think the top
> memory should be reserved for frame buffer.

And now you're where I am. For some reason there's a reserved memory
range _somewhere_ at the tolm, of some unknown size. I've found that
reserving an extra 1MB doesn't work, but 32MB does. I've found nothing
in the documentation I have to explain this. BTW, have you had to make
any code changes other than the MA Map, and board-specific fixes? I'm
wondering how generic that code really is.

-Corey


From what you have said, I guess it might be AGP aperture memory
that caused this problem. I saw you allocated 32MB for agp
aperture memory in agp.c, so reserving 32MB works for you, and I
changed this to 128MB for agp aperture memory so 128MB works for me.
The problem is why this agp aperture memory is at physical memory range
(tolm - agp_aperture_size to tolm) while we have set this agp aperture memory
base at some very large address(e.g 0xe0000000). should this memory range
be assigned a mtrr?
 
The changes I made to your code are :
1) some registers in host bus, as their values are different from the factory BIOS ones;
2) dram size releated registers
3) dram timing is ok. and I found couldn't change dram operating frequency ;-(