The problem is no body touch that range. Even init_ecc_memory will skip the first 1M range.
YH -----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 7:50 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 19:50, YhLu wrote:
It seems after if after cpu init do the onboard vga init, it will work.
The CPU init only do the init ECC and clear that after 1M. ... Werid! And
it
is not wiped out after power off.
I read your log file again. The font buffer address (0xA0000 - 0xBFFFF) is controlled by MTRR. The MTRR can direct access of this region to the main memory or to IO cards. Because the VGA card is inited before CPU, the MTRRs are not inited correctly. When BIOS loads font data, it loads it into main memory not the DRAM on the card (actually also on the mainboard).
Ollie
On Thu, 2005-01-13 at 22:20, YhLu wrote:
The problem is no body touch that range. Even init_ecc_memory will skip the first 1M range.
No. The problem is amd/early_mtrr and amd/mtrr are wrong. The amd/early_mtrr does not enable MEM forwarding of A0000-BFFFF to main memory and amd/mtrr is called to late (it doesn't check if A0000-BFFFF should be forward to IO or MEM neither).
I fixed it a long time ago. Eric's CPU code just wipe them out.
Ollie