<div dir="ltr"><div><div><div><div class="gmail_quote">2008/9/5 Stefan Reinauer <span dir="ltr"><<a href="mailto:stepan@coresystems.de">stepan@coresystems.de</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="Wj3C7c">Carl-Daniel Hailfinger wrote:<br>
> On 05.09.2008 12:54, Stefan Reinauer wrote:<br>
><br>
><br>
>> On 05.09.2008 09:45, Jackie Pan wrote:<br>
>><br>
>>> if it's possible to place code into cache-emulated RAM<br>
>>><br>
>> Core 2 Duo can do cache for ram and code... But it works well enough<br>
>> to just set an mtrr to make rom cacheable during car and that also<br>
>> works for older intel CPUs<br>
>><br>
><br>
> We're talking about different things.<br>
> Jackie was talking about executing code stored inside the pseudo-RAM CAR<br>
> area. I was talking about that as well.<br>
> Stefan wrote about using cache for code outside the CAR area.<br>
><br>
</div></div>No, not at all different things. As I said, the Core 2 Duo can execute<br>
code stored in CAR.<br>
<font color="#888888"><br>
<br>
<br>
--<br>
</font><div><div></div><div class="Wj3C7c">coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.<br>
      Tel.: +49 761 7668825 • Fax: +49 761 7664613<br>
Email: <a href="mailto:info@coresystems.de">info@coresystems.de</a>  • <a href="http://www.coresystems.de/" target="_blank">http://www.coresystems.de/</a><br>
Registergericht: Amtsgericht Freiburg • HRB 7656<br>
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866<br>
<br>
</div></div></blockquote></div>Hi Stefan, <div><br></div><div>I'm very curious about how you achieve this. As Intel's separate L1 data cache and instruction cache,<div>after checking the prog. manual I come to the conclusion that the i-cache can only be filled by instruction fetching </div>
<div>process(or am i wrong?), when I copy code into the CAR region(i.e., not by caching of the XIP region using MTRR), </div><div>the data I supplied goes directly into the d-cache, at the same time the corresponding line in the i-cache(if any) gets</div>
<div>invalidated immediately, or more exactly for the CAR case, there's no such line in the i-cache at all because there's</div><div>not been any instruction fetching targeting at the CAR region before. Thus it seems impossible to synchronize the</div>
<div>i-cache and d-cache without a RAM as backup.</div><div><br></div><div>let me guess, are you implying storing  to another core's cache while using MESI for the purpose of synchronizing? </div><div><br></div><div></div>
</div></div></div></div></div>