<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/mm/cache.S, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-04-28T11:05:45Z</updated>
<entry>
<title>arm64: Fold proc-macros.S into assembler.h</title>
<updated>2016-04-28T11:05:45Z</updated>
<author>
<name>Geoff Levand</name>
</author>
<published>2016-04-27T16:47:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b7293ae3dbd0a1965bf310b77fed5f9bb37bb93'/>
<id>urn:sha1:7b7293ae3dbd0a1965bf310b77fed5f9bb37bb93</id>
<content type='text'>
To allow the assembler macros defined in arch/arm64/mm/proc-macros.S to
be used outside the mm code move the contents of proc-macros.S to
asm/assembler.h.  Also, delete proc-macros.S, and fix up all references
to proc-macros.S.

Signed-off-by: Geoff Levand &lt;geoff@infradead.org&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
[rebased, included dcache_by_line_op]
Signed-off-by: James Morse &lt;james.morse@arm.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Use PoU cache instr for I/D coherency</title>
<updated>2015-12-17T11:07:13Z</updated>
<author>
<name>Ashok Kumar</name>
</author>
<published>2015-12-17T09:38:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a28714c53fd4f7aea709be7577dfbe0095c8c3e'/>
<id>urn:sha1:0a28714c53fd4f7aea709be7577dfbe0095c8c3e</id>
<content type='text'>
In systems with three levels of cache(PoU at L1 and PoC at L3),
PoC cache flush instructions flushes L2 and L3 caches which could affect
performance.
For cache flushes for I and D coherency, PoU should suffice.
So changing all I and D coherency related cache flushes to PoU.

Introduced a new __clean_dcache_area_pou API for dcache flush till PoU
and provided a common macro for __flush_dcache_area and
__clean_dcache_area_pou.

Also, now in __sync_icache_dcache, icache invalidation for non-aliasing
VIPT icache is done only for that particular page instead of the earlier
__flush_icache_all.

Reviewed-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Ashok Kumar &lt;ashoks@broadcom.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: use ENDPIPROC() to annotate position independent assembler routines</title>
<updated>2015-10-12T15:19:45Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2015-10-08T19:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=207918461eb0aca720fddec5da79bc71c133b9f1'/>
<id>urn:sha1:207918461eb0aca720fddec5da79bc71c133b9f1</id>
<content type='text'>
For more control over which functions are called with the MMU off or
with the UEFI 1:1 mapping active, annotate some assembler routines as
position independent. This is done by introducing ENDPIPROC(), which
replaces the ENDPROC() declaration of those routines.

Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: mm: Adopt new alternative assembler macros</title>
<updated>2015-07-27T10:08:40Z</updated>
<author>
<name>Daniel Thompson</name>
</author>
<published>2015-07-22T11:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=271d35eb77d0f53177b44968417b630d1fee8b99'/>
<id>urn:sha1:271d35eb77d0f53177b44968417b630d1fee8b99</id>
<content type='text'>
Convert the dynamic patching for ARM64_WORKAROUND_CLEAN_CACHE over to
the newly added alternative assembler macros.

Signed-off-by: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: alternative: Merge alternative-asm.h into alternative.h</title>
<updated>2015-06-05T09:38:53Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2015-06-01T09:47:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d883b23aed73cad844ba48051c7e96eddf0f51c'/>
<id>urn:sha1:8d883b23aed73cad844ba48051c7e96eddf0f51c</id>
<content type='text'>
asm/alternative-asm.h and asm/alternative.h are extremely similar,
and really deserve to live in the same file (as this makes further
modufications a bit easier).

Fold the content of alternative-asm.h into alternative.h, and
update the few users.

Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: kill flush_cache_all()</title>
<updated>2015-05-19T14:27:42Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2015-04-20T09:24:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68234df4ea7939f98431aa81113fbdce10c4a84b'/>
<id>urn:sha1:68234df4ea7939f98431aa81113fbdce10c4a84b</id>
<content type='text'>
The documented semantics of flush_cache_all are not possible to provide
for arm64 (short of flushing the entire physical address space by VA),
and there are currently no users; KVM uses VA maintenance exclusively,
cpu_reset is never called, and the only two users outside of arch code
cannot be built for arm64.

While cpu_soft_reset and related functions (which call flush_cache_all)
were thought to be useful for kexec, their current implementations only
serve to mask bugs. For correctness kexec will need to perform
maintenance by VA anyway to account for system caches, line migration,
and other subtleties of the cache architecture. As the extent of this
cache maintenance will be kexec-specific, it should probably live in the
kexec code.

This patch removes flush_cache_all, and related unused components,
preventing further abuse.

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Cc: AKASHI Takahiro &lt;takahiro.akashi@linaro.org&gt;
Cc: Geoff Levand &lt;geoff@infradead.org&gt;
Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Acked-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
Acked-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: compat: align cacheflush syscall with arch/arm</title>
<updated>2014-12-01T13:31:12Z</updated>
<author>
<name>Vladimir Murzin</name>
</author>
<published>2014-12-01T10:53:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2d25a5391ca219f196f9fee7b535c40d201c6bf'/>
<id>urn:sha1:a2d25a5391ca219f196f9fee7b535c40d201c6bf</id>
<content type='text'>
Update handling of cacheflush syscall with changes made in arch/arm
counterpart:
 - return error to userspace when flushing syscall fails
 - split user cache-flushing into interruptible chunks
 - don't bother rounding to nearest vma

Signed-off-by: Vladimir Murzin &lt;vladimir.murzin@arm.com&gt;
[will: changed internal return value from -EINTR to 0 to match arch/arm/]
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: add Cortex-A53 cache errata workaround</title>
<updated>2014-11-25T15:56:21Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2014-11-14T15:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=301bcfac42897dbd1b0b3c1be49f24654a1bc49e'/>
<id>urn:sha1:301bcfac42897dbd1b0b3c1be49f24654a1bc49e</id>
<content type='text'>
The ARM errata 819472, 826319, 827319 and 824069 define the same
workaround for these hardware issues in certain Cortex-A53 parts.
Use the new alternatives framework and the CPU MIDR detection to
patch "cache clean" into "cache clean and invalidate" instructions if
an affected CPU is detected at runtime.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
[will: add __maybe_unused to squash gcc warning]
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: mm: use inner-shareable barriers for inner-shareable maintenance</title>
<updated>2014-05-09T16:21:24Z</updated>
<author>
<name>Will Deacon</name>
</author>
<published>2014-05-02T15:24:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc60b777fcdddbadab111028e266fd69d4702b34'/>
<id>urn:sha1:dc60b777fcdddbadab111028e266fd69d4702b34</id>
<content type='text'>
In order to ensure ordering and completion of inner-shareable maintenance
instructions (cache and TLB) on AArch64, we can use the -ish suffix to
the dmb and dsb instructions respectively.

This patch updates our low-level cache and tlb maintenance routines to
use the inner-shareable barrier variants where appropriate.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Fix DMA range invalidation for cache line unaligned buffers</title>
<updated>2014-04-08T10:45:08Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2014-04-01T17:32:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ebf81a938dade3b450eb11c57fa744cfac4b523f'/>
<id>urn:sha1:ebf81a938dade3b450eb11c57fa744cfac4b523f</id>
<content type='text'>
If the buffer needing cache invalidation for inbound DMA does start or
end on a cache line aligned address, we need to use the non-destructive
clean&amp;invalidate operation. This issue was introduced by commit
7363590d2c46 (arm64: Implement coherent DMA API based on swiotlb).

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reported-by: Jon Medhurst (Tixy) &lt;tixy@linaro.org&gt;
</content>
</entry>
</feed>
