Li-Ta Lo ollie@lanl.gov writes:
On Thu, 2004-10-21 at 12:00, Eric W. Biederman wrote:
At this point we should be able to look at the device tree and see if we need to use and io range register or the RdRam WrDram bits.
Are you talking somthing in my mind ? I hope in the mtrr.c for K8 instead of hack with the mem_map we have:
setup_mtrr() { if (search_for_vga_device_on_the_tree() == FOUND) { enable_rd_wr_mem_in_fixed_mtrr(); clear_rd_wr_mem_for_legacy_vga_buffer(); set_IORR_to_AGP_aperture(); } else { disable_rd_wr_mem(); }
do_some_other_thigs(); }
And the code is executed on each processors.
I was thinking more like:
for_each_mem_resource() { if (resource < TOP_MEM) { if (can_use_fixed_iorr()) { setup_fixed_iorr_in_fixed_mtrr(); } else { setup_iorr(); } } }
That should be a fairly simple loop to code up. The interesting part is to add a resource to the VGA devices who gets to live at the legacy address.
Largely I had not realized mtrr.c had been updated to handle this before my merge or I would have made an attempt to convert that code.
It looks like it would be profitable for me to look through the old cpu directories and see what code changes I have missed.
Eric