<!-- X-URL: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;h=6164a2b3473389ddc882ef286ec30535abf02f25;hp=334ef4150d9291165fc9a3e78f77756c742f8221;hb=bb1657468152c5e5232c7bf35cf0e9c41b5d9910;f=arch/ppc/mm/init.c -->
<!-- Date: Fri, 01 Jul 2005 19:24:04 GMT -->
<BASE HREF="http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;h=6164a2b3473389ddc882ef286ec30535abf02f25;hp=334ef4150d9291165fc9a3e78f77756c742f8221;hb=bb1657468152c5e5232c7bf35cf0e9c41b5d9910;f=arch/ppc/mm/init.c">

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<!-- git web interface v225, (C) 2005, Kay Sievers <kay.sievers@vrfy.org>, Christian Gierke <ch@gierke.de> -->
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="robots" content="index, nofollow"/>
<title>git - linux/kernel/git/torvalds/linux-2.6.git/blobdiff</title>
<link rel="alternate" title="linux/kernel/git/torvalds/linux-2.6.git log" href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=rss" type="application/rss+xml"/>
<style type="text/css">
body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
a { color:#0000cc; }
a:hover, a:visited, a:active { color:#880000; }
div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
div.page_header a:visited { color:#0000cc; }
div.page_header a:hover { color:#880000; }
div.page_nav { padding:8px; }
div.page_nav a:visited { color:#0000cc; }
div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
div.page_footer { height:17px; padding:4px 8px; background-color: #d9d8d1; }
div.page_footer_text { float:left; color:#555555; font-style:italic; }
div.page_body { padding:8px; }
div.title, a.title {
	display:block; padding:6px 8px;
	font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
}
a.title:hover { background-color: #d9d8d1; }
div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
div.log_body { padding:8px 8px 8px 150px; }
span.age { position:relative; float:left; width:142px; font-style:italic; }
div.log_link {
	padding:0px 8px;
	font-size:10px; font-family:sans-serif; font-style:normal;
	position:relative; float:left; width:136px;
}
div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
a.list { text-decoration:none; color:#000000; }
a.list:hover { text-decoration:underline; color:#880000; }
table { padding:8px 4px; }
th { padding:2px 5px; font-size:12px; text-align:left; }
tr.light:hover { background-color:#edece6; }
tr.dark { background-color:#f6f6f0; }
tr.dark:hover { background-color:#edece6; }
td { padding:2px 5px; font-size:12px; vertical-align:top; }
td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
div.pre { font-family:monospace; font-size:12px; white-space:pre; }
div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
a.linenr { color:#999999; text-decoration:none }
a.rss_logo {
	float:right; padding:3px 0px; width:35px; line-height:10px;
	border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
	color:#ffffff; background-color:#ff6600;
	font-weight:bold; font-family:sans-serif; font-size:10px;
	text-align:center; text-decoration:none;
}
a.rss_logo:hover { background-color:#ee5500; }
</style>
</head>
<body>
<div class="page_header">
<a href="http://www.kernel.org/pub/software/scm/git/docs/" title="git documentation"><img src="/git/?a=git-logo.png" width="72" height="27" alt="git" style="float:right; border-width:0px;"/></a>
<a href="/git/">projects</a> / <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary">linux/kernel/git/torvalds/linux-2.6.git</a> / blobdiff
<form method="get" action="/git/" enctype="application/x-www-form-urlencoded">
<div class="search">
<input type="hidden" name="p" value="linux/kernel/git/torvalds/linux-2.6.git"  />
<input type="hidden" name="a" value="search"  />
<input type="text" name="s"  />
</div>
</form>
</div>
<div class="page_nav">
<a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary">summary</a> | <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=shortlog">shortlog</a> | <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=log">log</a> | <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb1657468152c5e5232c7bf35cf0e9c41b5d9910">commit</a> | <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=bb1657468152c5e5232c7bf35cf0e9c41b5d9910">commitdiff</a> | <a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;h=bf07dd8c83127551ecd03f116538e5d94ea77593;hb=bb1657468152c5e5232c7bf35cf0e9c41b5d9910">tree</a><br/>
<a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff_plain;h=6164a2b3473389ddc882ef286ec30535abf02f25;hp=334ef4150d9291165fc9a3e78f77756c742f8221">plain</a></div>
<div>
<a class="title" href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb1657468152c5e5232c7bf35cf0e9c41b5d9910">[PATCH] 8xx: avoid &quot;dcbst&quot; misbehaviour with unpopulated TLB</a>
</div>
<div class="page_path"><b>/arch/ppc/mm/init.c</b></div>
<div class="page_body">
<div class="diff_info">blob:<a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;h=334ef4150d9291165fc9a3e78f77756c742f8221;hb=bb1657468152c5e5232c7bf35cf0e9c41b5d9910;f=arch/ppc/mm/init.c">334ef4150d9291165fc9a3e78f77756c742f8221</a> -> blob:<a href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;h=6164a2b3473389ddc882ef286ec30535abf02f25;hb=bb1657468152c5e5232c7bf35cf0e9c41b5d9910;f=arch/ppc/mm/init.c">6164a2b3473389ddc882ef286ec30535abf02f25</a></div>
<div class="pre" style="color:#cc0000;">--- arch/ppc/mm/init.c</div>
<div class="pre" style="color:#008800;">+++ arch/ppc/mm/init.c</div>
<div class="pre" style="color:#990099;">@@ -606,9 +606,19 @@ void update_mmu_cache(struct vm_area_str</div>
<div class="pre">                 struct page *page = pfn_to_page(pfn);</div>
<div class="pre">                 if (!PageReserved(page)</div>
<div class="pre">                     &amp;&amp; !test_bit(PG_arch_1, &amp;page-&gt;flags)) {</div>
<div class="pre" style="color:#cc0000;">-                        if (vma-&gt;vm_mm == current-&gt;active_mm)</div>
<div class="pre" style="color:#008800;">+                        if (vma-&gt;vm_mm == current-&gt;active_mm) {</div>
<div class="pre" style="color:#008800;">+#ifdef CONFIG_8xx</div>
<div class="pre" style="color:#008800;">+                        /* On 8xx, cache control instructions (particularly </div>
<div class="pre" style="color:#008800;">+                         * &quot;dcbst&quot; from flush_dcache_icache) fault as write </div>
<div class="pre" style="color:#008800;">+                         * operation if there is an unpopulated TLB entry </div>
<div class="pre" style="color:#008800;">+                         * for the address in question. To workaround that, </div>
<div class="pre" style="color:#008800;">+                         * we invalidate the TLB here, thus avoiding dcbst </div>
<div class="pre" style="color:#008800;">+                         * misbehaviour.</div>
<div class="pre" style="color:#008800;">+                         */</div>
<div class="pre" style="color:#008800;">+                                _tlbie(address);</div>
<div class="pre" style="color:#008800;">+#endif</div>
<div class="pre">                                 __flush_dcache_icache((void *) address);</div>
<div class="pre" style="color:#cc0000;">-                        else</div>
<div class="pre" style="color:#008800;">+                        } else</div>
<div class="pre">                                 flush_dcache_icache_page(page);</div>
<div class="pre">                         set_bit(PG_arch_1, &amp;page-&gt;flags);</div>
<div class="pre">                 }</div>
</div><div class="page_footer">
<div class="page_footer_text">Linus&#39; kernel tree</div>
<a class="rss_logo" href="/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=rss">RSS</a>
</div>
</body>
</html>