android_kernel_xiaomi_sm8450/arch/powerpc/include/asm
Anton Blanchard b4c112114a powerpc: Fix bad inline asm constraint in create_zero_mask()
In create_zero_mask() we have:

	addi	%1,%2,-1
	andc	%1,%1,%2
	popcntd	%0,%1

using the "r" constraint for %2. r0 is a valid register in the "r" set,
but addi X,r0,X turns it into an li:

	li	r7,-1
	andc	r7,r7,r0
	popcntd	r4,r7

Fix this by using the "b" constraint, for which r0 is not a valid
register.

This was found with a kernel build using gcc trunk, narrowed down to
when -frename-registers was enabled at -O2. It is just luck however
that we aren't seeing this on older toolchains.

Thanks to Segher for working with me to find this issue.

Cc: stable@vger.kernel.org
Fixes: d0cebfa650 ("powerpc: word-at-a-time optimization for 64-bit Little Endian")
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-05-02 11:10:25 +10:00
..
book3s powerpc/mm: Move hash64 tlbflush code into a new header 2016-03-03 21:19:39 +11:00
nohash powerpc32: remove ioremap_base 2016-03-11 17:18:02 -06:00
8xx_immap.h
agp.h
archrandom.h powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
asm-compat.h
asm-offsets.h
async_tx.h
atomic.h powerpc: atomic: Implement acquire/release/relaxed variants for cmpxchg 2016-02-18 00:11:39 +11:00
backlight.h
barrier.h powerpc: define __smp_xxx 2016-01-12 20:46:53 +02:00
bitops.h
bootx.h
btext.h
bug.h
bugs.h
cache.h powerpc: add inline functions for cache related instructions 2016-03-11 17:20:11 -06:00
cacheflush.h powerpc32: move xxxxx_dcache_range() functions inline 2016-03-11 17:20:12 -06:00
cell-pmu.h
cell-regs.h
checksum.h powerpc: optimise csum_partial() call when len is constant 2016-03-09 10:44:18 -06:00
cmpxchg.h powerpc: Use BUILD_BUG_ON_MSG() for unsupported {cmp}xchg sizes 2016-02-24 20:08:48 +11:00
code-patching.h powerpc/ftrace: Add support for -mprofile-kernel ftrace ABI 2016-03-07 14:53:55 +11:00
compat.h powerpc/kernel: Add SIG_SYS support for compat tasks 2015-07-29 11:56:13 +10:00
context_tracking.h
copro.h
cpm1.h
cpm2.h
cpm.h QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
cpuidle.h
cputable.h powerpc/cache: add cache flush operation for various e500 2016-03-04 23:44:51 -06:00
cputhreads.h powerpc/mpc85xx: Add CPU hotplug support for E6500 2016-03-04 23:58:38 -06:00
cputime.h
current.h
dbdma.h
dbell.h
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h
delay.h
device.h powerpc/iommu: Remove dma_data union 2015-07-13 10:10:54 +10:00
disassemble.h KVM: PPC: e500: Emulate TMCFG0 TMRN register 2015-10-15 15:58:16 +11:00
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma.h
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
eeh_event.h
eeh.h powerpc/eeh: powerpc/eeh: Support error recovery for VF PE 2016-03-09 09:58:23 +11:00
ehv_pic.h
elf.h mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE 2015-04-14 16:49:05 -07:00
emergency-restart.h
emulated_ops.h
epapr_hcalls.h
exception-64e.h powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry 2015-10-27 18:14:40 -05:00
exception-64s.h powerpc/kernel: Combine vec/loc for STD_EXCEPTION_PSERIES 2015-12-17 22:40:58 +11:00
exec.h
fadump.h powerpc/fadump: rename cpu_online_mask member of struct fadump_crash_info_header 2016-01-20 17:09:18 -08:00
fb.h
feature-fixups.h
firmware.h powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL 2015-12-17 22:40:54 +11:00
fixmap.h
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_hcalls.h
fsl_lbc.h
fsl_pamu_stash.h
fsl_pm.h powerpc/rcpm: add RCPM driver 2016-03-04 23:50:27 -06:00
ftrace.h powerpc/ftrace: Add support for -mprofile-kernel ftrace ABI 2016-03-07 14:53:55 +11:00
futex.h
grackle.h
hardirq.h
heathrow.h
highmem.h kmap_atomic_to_page() has no users, remove it 2015-11-09 15:11:24 -08:00
hugetlb.h powerpc/mm/book3s-64: Use physical addresses in upper page table tree levels 2016-02-29 20:34:34 +11:00
hvcall.h powerpc: New possible return value from hcall 2016-03-09 13:05:51 +11:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h
hw_irq.h
hydra.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
i8259.h
ibmebus.h
icswx.h crypto: nx-842 - Mask XERS0 bit in return value 2015-12-17 16:42:12 +08:00
ide.h
immap_cpm2.h
io_event_irq.h
io-defs.h
io-workarounds.h
io.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
iommu.h powerpc/iommu: Remove dma_data union 2015-07-13 10:10:54 +10:00
ipic.h
irq_work.h
irq.h
irqflags.h
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
Kbuild word-at-a-time.h: fix some Kbuild files 2015-10-06 14:52:48 -04:00
kdebug.h
kdump.h
kexec.h
keylargo.h
kgdb.h
kmap_types.h
kprobes.h
kvm_asm.h
kvm_book3s_32.h
kvm_book3s_64.h KVM: PPC: Replace SPAPR_TCE_SHIFT with IOMMU_PAGE_SHIFT_4K 2016-02-16 13:44:26 +11:00
kvm_book3s_asm.h KVM: PPC: Book3S: correct width in XER handling 2015-08-22 11:16:19 +02:00
kvm_book3s.h kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
kvm_booke_hv_asm.h
kvm_booke.h KVM: PPC: Book3S: correct width in XER handling 2015-08-22 11:16:19 +02:00
kvm_fpu.h
kvm_host.h One of the largest releases for KVM... Hardly any generic improvement, 2016-03-16 09:55:35 -07:00
kvm_para.h
kvm_ppc.h KVM: PPC: Add support for 64bit TCE windows 2016-03-02 09:56:50 +11:00
libata-portmap.h
linkage.h
local.h
lppaca.h
lv1call.h
machdep.h powerpc/mm: Handle removing maybe-present bolted HPTEs 2016-03-01 22:04:18 +11:00
macio.h
mc146818rtc.h
mce.h
mediabay.h
mm-arch-hooks.h powerpc/mm: tracking vDSO remap 2015-06-24 17:49:41 -07:00
mman.h mm/core, arch, powerpc: Pass a protection key in to calc_vm_flag_bits() 2016-02-18 19:46:30 +01:00
mmu_context.h mm/core, x86/mm/pkeys: Differentiate instruction fetches 2016-02-18 19:46:29 +01:00
mmu-8xx.h powerpc/8xx: Add missing SPRN defines into reg_8xx.h 2016-03-11 17:18:02 -06:00
mmu-40x.h
mmu-44x.h
mmu-book3e.h
mmu.h powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
mmzone.h
module.h Merge branch 'topic/mprofile-kernel' into next 2016-03-11 11:20:15 +11:00
mpc5xxx.h
mpc6xx.h
mpc52xx_psc.h powerpc: mpc512x: drop bogus and unused psc register bit definitions 2015-10-22 16:06:08 +02:00
mpc52xx.h
mpc85xx.h
mpc5121.h powerpc/512x: add LocalPlus Bus FIFO device driver 2015-10-22 15:19:40 +02:00
mpc8260.h
mpic_msgr.h
mpic_timer.h
mpic.h
msi_bitmap.h powerpc/msi: Free the bitmap if it was slab allocated 2015-10-05 21:32:50 +11:00
mutex.h
nmi.h
nvram.h
ohare.h
opal-api.h powerpc/powernv: Add a kmsg_dumper that flushes console output on panic 2015-12-27 19:12:40 +11:00
opal.h powerpc/powernv: new function to access OPAL msglog 2016-02-09 20:27:04 +11:00
oprofile_impl.h
paca.h powerpc: Fix build break due to paca mm_context_t changes 2016-01-09 08:28:44 +11:00
page_32.h powerpc32: Remove clear_pages() and define clear_page() inline 2016-03-11 17:20:11 -06:00
page_64.h
page.h powerpc/mm: Split pgtable types to separate header 2016-03-03 16:47:01 +11:00
parport.h
pasemi_dma.h
pci-bridge.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
pci.h PCI: Move pci_dma_* helpers to common code 2016-03-07 10:40:02 -06:00
percpu.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Export Power8 generic and cache events to sysfs 2016-03-10 22:56:05 +11:00
perf_event.h
pgalloc-32.h powerpc/mm: Don't use pmd_val, pud_val and pgd_val as lvalue 2015-12-14 15:19:07 +11:00
pgalloc-64.h powerpc/mm: Switch book3s 64 with 64K page size to 4 level page table 2016-03-03 21:18:28 +11:00
pgalloc.h
pgtable-types.h powerpc/mm: Switch book3s 64 with 64K page size to 4 level page table 2016-03-03 21:18:28 +11:00
pgtable.h powerpc: Make vmalloc_to_phys() public 2016-02-16 13:44:26 +11:00
plpar_wrappers.h powerpc/mm: Use H_READ with H_READ_4 2015-12-14 15:19:17 +11:00
pmac_feature.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
pnv-pci.h cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
ppc4xx_ocm.h
ppc4xx.h
ppc_asm.h powerpc/kernel: Open code SET_DEFAULT_THREAD_PPR 2015-12-17 22:40:57 +11:00
ppc-opcode.h powerpc: Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" 2015-10-21 20:50:30 +11:00
ppc-pci.h powerpc/eeh: Disable automatically blocked PCI config 2015-08-18 19:34:42 +10:00
probes.h
processor.h powerpc: Correct used_vsr comment 2016-03-29 12:08:08 +11:00
prom.h
ps3.h
ps3av.h
ps3gpu.h
ps3stor.h
pte-common.h powerpc/mm: Add a _PAGE_PTE bit 2015-12-14 15:19:14 +11:00
ptrace.h
reg_8xx.h powerpc/8xx: Fix do_mtspr_cpu6() build on older compilers 2016-03-16 15:22:40 +11:00
reg_a2.h
reg_booke.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
reg_fsl_emb.h
reg.h powerpc/8xx: Handle CPU6 ERRATA directly in mtspr() macro 2016-03-11 17:18:02 -06:00
rheap.h
rio.h
rtas.h powerpc/rtas: Make enter_rtas() private 2015-12-17 22:40:56 +11:00
rtc.h
runlatch.h
scom.h
seccomp.h powerpc: switch to using asm-generic for seccomp.h 2015-04-17 09:04:10 -04:00
sections.h powerpc: Create a helper for getting the kernel toc value 2016-03-07 14:53:52 +11:00
serial.h
setjmp.h
setup.h
sfp-machine.h
shmparam.h
signal.h
smp.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
smu.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
sparsemem.h
spinlock_types.h
spinlock.h rcu,locking: Privatize smp_mb__after_unlock_lock() 2015-08-04 08:49:21 -07:00
spu_csa.h powerpc/cell: Drop support for 64K local store on 4K kernels 2015-08-18 19:29:49 +10:00
spu_info.h
spu_priv1.h
spu.h
sstep.h
string.h
swab.h
swiotlb.h
switch_to.h powerpc: Add the ability to save VSX without giving it up 2016-03-02 23:34:50 +11:00
synch.h powerpc: Make value-returning atomics fully ordered 2015-12-14 20:38:18 +11:00
syscall.h powerpc: Change syscall_get_nr() to return int 2015-07-29 11:56:13 +10:00
syscalls.h
systbl.h powerpc: wire up preadv2 and pwritev2 syscalls 2016-04-27 16:47:55 +10:00
tce.h
termios.h
thread_info.h
time.h powerpc/8xx: remove special handling of CPU6 errata in set_dec() 2016-03-11 17:18:03 -06:00
timex.h
tlb.h
tlbflush.h powerpc/mm: Move hash64 tlbflush code into a new header 2016-03-03 21:19:39 +11:00
tm.h
topology.h sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask() 2015-05-27 15:22:15 +02:00
trace_clock.h powerpc/ftrace: add powerpc timebase as a trace clock source 2015-08-06 16:36:23 +10:00
trace.h powerpc/pseries: Don't trace hcalls on offline CPUs 2016-02-15 21:10:03 +11:00
tsi108_irq.h
tsi108_pci.h genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
tsi108.h
types.h
uaccess.h ppc: get rid of the remnants of __get_user64() 2016-01-04 10:28:12 -05:00
udbg.h
uic.h
unaligned.h
uninorth.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
unistd.h powerpc: wire up preadv2 and pwritev2 syscalls 2016-04-27 16:47:55 +10:00
uprobes.h
user.h
vdso_datapage.h powerpc: Standardise on NR_syscalls rather than __NR_syscalls. 2015-11-26 22:11:17 +11:00
vdso.h
vga.h
vio.h remove <asm/scatterlist.h> 2015-05-05 13:35:39 -06:00
word-at-a-time.h powerpc: Fix bad inline asm constraint in create_zero_mask() 2016-05-02 11:10:25 +10:00
xics.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h