<div dir="ltr">Hello Ron,<div><br></div><div>These are the excellent points! I did not know/had no clue this myself. It is a good remark, I would not know to search/discover for this!?</div><div><br></div><div>The other good point is that CAR/NEM was developed by student in INTEL, doing his internship (which I always asked myself why such major things were developed by students???)?! ;-)</div><div><br></div><div>I have one question here: </div><div><br></div><div><div style="font-size:12.8px">> Basically, in the classic car we got in 2005, the steps on x86 are:</div><div style="font-size:12.8px">> enable cache</div><div style="font-size:12.8px"><b><i><u><font color="#ff0000">> do references to set tags</font></u></i></b></div><div style="font-size:12.8px">> disable cache (really!)</div><div style="font-size:12.8px">> then cache as ram works.</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I am interested how this is implemented, in <u><i><b><font color="#ff0000">RED</font></b></i></u> (if you can point to some Coreboot implementation)?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Hello Qureshi,</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Any quick points about <u style="color:rgb(255,0,0);font-weight:bold;font-style:italic">do reference to set tags </u><font color="#000000">(implementation wise)</font>?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Thank you all,</div><div style="font-size:12.8px">Zoran</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 9, 2016 at 6:44 PM, ron minnich <span dir="ltr"><<a href="mailto:rminnich@gmail.com" target="_blank">rminnich@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have not read this thread closely and maybe I'm telling you something you know. But I want to warn you about CD. I know it is named 'cache disabled'<div>but that's not quite what it means. </div><div><br></div><div>I'm trying and failing to find the original slide deck from the UNM grad student (and intel employee) who first implemented our cache as ram in 2005. His point to me was that CD doesn't *really* mean cache hardware is disabled, just that it changes cache hardware behavior such that refills from memory are disabled. If there are valid tags in the cache then loads that hit those tags will work. So the task for CAR on x86 is to create valid tags, then set CD. His point was the breakthrough for me on understanding CAR on x86. Ollie Lo and I had been stuck on this point for a while, we kept thinking we could not set CD and have CAR work; in fact, setting CD is part of ensuring CAR works. The Intel employee's point was "you have to read between the lines in section III". </div><div><br></div><div>you can </div><div>git grep DO.NOT.INVALIDATE</div><div>for a few comments on this and it may help.</div><div><br></div><div>Basically, in the classic car we got in 2005, the steps on x86 are:</div><div>enable cache</div><div>do references to set tags</div><div>disable cache (really!)</div><div>then cache as ram works. </div><div><br></div><div>Things have changed on some CPUs since then and we now even have chipset-dependent x86 CAR code but I suspect the basic idea remains the same on x86. </div><div><br></div><div>You may already know this, just wanted to make sure.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>ron</div><div class="gmail_quote"></div></font></span></div>
<br>--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="https://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://www.coreboot.org/<wbr>mailman/listinfo/coreboot</a><br></blockquote></div><br></div>