On Wed, Dec 24, 2008 at 6:25 AM, Corey Osgood <span dir="ltr"><<a href="mailto:corey.osgood@gmail.com">corey.osgood@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Wed, Dec 24, 2008 at 5:20 AM, Corey Osgood <span dir="ltr"><<a href="mailto:corey.osgood@gmail.com" target="_blank">corey.osgood@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_quote">
<div><div></div><div class="Wj3C7c"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>On Wed, Dec 24, 2008 at 5:09 AM, ron minnich <span dir="ltr"><<a href="mailto:rminnich@gmail.com" target="_blank">rminnich@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote"><div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>On Wed, Dec 24, 2008 at 12:14 AM, Corey Osgood <<a href="mailto:corey.osgood@gmail.com" target="_blank">corey.osgood@gmail.com</a>> wrote:<br>
<br>
> *phew* I was worried that was how v3 was always going to run. As for those<br>
> times Ron, stage0 takes <1 second, initram is ~5 seconds,<br>
<br>
</div>the initram seems way too long. But that stage 2 tells me you have<br>
some real problems with your dram setup.</blockquote></div><div><br>It could have been less, timing output from a serial port with a stopwatch isn't very exact. I don't think there's anything wrong with the dram setup, I ran memtest86 overnight without any errors.<br>


<br></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I know nothing about this part. I wonder if you could dump your mtrr<br>

settings and let us see them.</blockquote></div><div><br>Sure, what point do you want them from? End of stage1?</div></div></blockquote></div></div><div><br>Here's a boot log that dumps them right after serial comes up, again just before disable_car(), and once more before loading stage2. After that mtrrs aren't touched until stage 2 phase 6 AFAIK. I wish I knew more about this stuff, I should probably make some time to read those Intel x86 programming guides.</div>
</div></blockquote><div><br>Alright, it was ridiculously simple. I added #defines for XIP_ROM_SIZE/BASE in stage0.S like core2 has, and now it boots MUCH MUCH faster, until it gets into phase6_init and does the MTRR init that I brought in from v2, after that it slows back down. I'll send a patch to set that properly and to fix it in core2 (currently hardcoded to a 1MB rom) soonish. Is the proper solution to the MTRR problem to teach that mtrr_init() not to mess up the caching MTRR, to set the caching back up after init, or just to not bother with the late init?<br>
</div></div><br>Thanks,<br>Corey<br>