<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/microblaze/include/asm/tlb.h, branch v5.0</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>mmu_gather: move minimal range calculations into generic code</title>
<updated>2014-11-17T10:12:42+00:00</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2014-10-29T10:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb7332a9fedfd62b1ba6530c86f39f0fa38afd49'/>
<id>fb7332a9fedfd62b1ba6530c86f39f0fa38afd49</id>
<content type='text'>
On architectures with hardware broadcasting of TLB invalidation messages
, it makes sense to reduce the range of the mmu_gather structure when
unmapping page ranges based on the dirty address information passed to
tlb_remove_tlb_entry.

arm64 already does this by directly manipulating the start/end fields
of the gather structure, but this confuses the generic code which
does not expect these fields to change and can end up calculating
invalid, negative ranges when forcing a flush in zap_pte_range.

This patch moves the minimal range calculation out of the arm64 code
and into the generic implementation, simplifying zap_pte_range in the
process (which no longer needs to care about start/end, since they will
point to the appropriate ranges already). With the range being tracked
by core code, the need_flush flag is dropped in favour of checking that
the end of the range has actually been set.

Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On architectures with hardware broadcasting of TLB invalidation messages
, it makes sense to reduce the range of the mmu_gather structure when
unmapping page ranges based on the dirty address information passed to
tlb_remove_tlb_entry.

arm64 already does this by directly manipulating the start/end fields
of the gather structure, but this confuses the generic code which
does not expect these fields to change and can end up calculating
invalid, negative ranges when forcing a flush in zap_pte_range.

This patch moves the minimal range calculation out of the arm64 code
and into the generic implementation, simplifying zap_pte_range in the
process (which no longer needs to care about start/end, since they will
point to the appropriate ranges already). With the range being tracked
by core code, the need_flush flag is dropped in favour of checking that
the end of the range has actually been set.

Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Fix missing pagemap.h</title>
<updated>2011-01-16T13:29:21+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2011-01-16T12:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1947fc1d51fa7c21e9c253d37d076ef6f4d73130'/>
<id>1947fc1d51fa7c21e9c253d37d076ef6f4d73130</id>
<content type='text'>
Add missing linux/pagemap.h to solve compilation error.

Error log:
In file included from linux/arch/microblaze/include/asm/tlb.h:17,
                 from mm/pgtable-generic.c:9:
include/asm-generic/tlb.h: In function 'tlb_flush_mmu':
include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages'
include/asm-generic/tlb.h: In function 'tlb_remove_page':
include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release'

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add missing linux/pagemap.h to solve compilation error.

Error log:
In file included from linux/arch/microblaze/include/asm/tlb.h:17,
                 from mm/pgtable-generic.c:9:
include/asm-generic/tlb.h: In function 'tlb_flush_mmu':
include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages'
include/asm-generic/tlb.h: In function 'tlb_remove_page':
include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release'

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Define tlb_flush macro</title>
<updated>2009-07-27T05:39:53+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2009-07-09T09:33:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=efffde36d20613d91a5ea9529b03f477077f41ea'/>
<id>efffde36d20613d91a5ea9529b03f477077f41ea</id>
<content type='text'>
This fix remove bug which we had till now in all
Microblaze MMU code. Primary tested on mmap01 LTP test.
We forget to flush invalid tlb which were changed - we
used them and there were wrong old data which wasn't correct.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fix remove bug which we had till now in all
Microblaze MMU code. Primary tested on mmap01 LTP test.
We forget to flush invalid tlb which were changed - we
used them and there were wrong old data which wasn't correct.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze_mmu_v2: Update tlb.h and tlbflush.h</title>
<updated>2009-05-26T14:45:19+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2009-05-26T14:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=45be7d46a9928c6b8ed747e020748500da7e66f1'/>
<id>45be7d46a9928c6b8ed747e020748500da7e66f1</id>
<content type='text'>
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze_v8: memory inicialization, MMU, TLB</title>
<updated>2009-03-27T13:25:29+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2009-03-27T13:25:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a95d0e1602f9f3ab54c7dbc9727bf22095705d1e'/>
<id>a95d0e1602f9f3ab54c7dbc9727bf22095705d1e</id>
<content type='text'>
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: John Linn &lt;john.linn@xilinx.com&gt;
Acked-by: Stephen Neuendorffer &lt;stephen.neuendorffer@xilinx.com&gt;
Acked-by: John Williams &lt;john.williams@petalogix.com&gt;
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: John Linn &lt;john.linn@xilinx.com&gt;
Acked-by: Stephen Neuendorffer &lt;stephen.neuendorffer@xilinx.com&gt;
Acked-by: John Williams &lt;john.williams@petalogix.com&gt;
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
</feed>
