mainlining shenanigans
Go to file
Christophe Leroy da74f65920 powerpc/32: add memset16()
Commit 694fc88ce2 ("powerpc/string: Implement optimized
memset variants") added memset16(), memset32() and memset64()
for the 64 bits PPC.

On 32 bits, memset64() is not relevant, and as shown below,
the generic version of memset32() gives a good code, so only
memset16() is candidate for an optimised version.

000009c0 <memset32>:
 9c0:   2c 05 00 00     cmpwi   r5,0
 9c4:   39 23 ff fc     addi    r9,r3,-4
 9c8:   4d 82 00 20     beqlr
 9cc:   7c a9 03 a6     mtctr   r5
 9d0:   94 89 00 04     stwu    r4,4(r9)
 9d4:   42 00 ff fc     bdnz    9d0 <memset32+0x10>
 9d8:   4e 80 00 20     blr

The last part of memset() handling the not 4-bytes multiples
operates on bytes, making it unsuitable for handling word without
modification. As it would increase memset() complexity, it is
better to implement memset16() from scratch. In addition it
has the advantage of allowing a more optimised memset16() than what
we would have by using the memset() function.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-09-01 16:42:45 +10:00
arch powerpc/32: add memset16() 2017-09-01 16:42:45 +10:00
block
certs
crypto
Documentation powerpc/powernv/vas: Define vas_init() and vas_exit() 2017-08-31 14:26:26 +10:00
drivers cxl: Fix driver use count 2017-08-31 14:26:49 +10:00
firmware
fs NFS client bugfixes for 4.13 2017-07-21 16:26:01 -07:00
include mm/hugetlb: Allow arch to override and call the weak function 2017-08-15 23:20:30 +10:00
init
ipc
kernel Three minor updates 2017-07-21 13:59:51 -07:00
lib
mm mm/hugetlb: Allow arch to override and call the weak function 2017-08-15 23:20:30 +10:00
net NFS client bugfixes for 4.13 2017-07-21 16:26:01 -07:00
samples
scripts Properly alphabetize MAINTAINERS file 2017-07-23 16:06:21 -07:00
security
sound
tools selftests/powerpc: Force ptrace tests to build -fno-pie 2017-08-31 14:26:49 +10:00
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Add drivers/watchdog/wdrtas.c to powerpc section 2017-08-31 14:26:46 +10:00
Makefile Linux 4.13-rc2 2017-07-23 16:15:17 -07:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.