linux/arch/arc/include/asm
Laurent Dufour 3010a5ea66 mm: introduce ARCH_HAS_PTE_SPECIAL
Currently the PTE special supports is turned on in per architecture
header files.  Most of the time, it is defined in
arch/*/include/asm/pgtable.h depending or not on some other per
architecture static definition.

This patch introduce a new configuration variable to manage this
directly in the Kconfig files.  It would later replace
__HAVE_ARCH_PTE_SPECIAL.

Here notes for some architecture where the definition of
__HAVE_ARCH_PTE_SPECIAL is not obvious:

arm
 __HAVE_ARCH_PTE_SPECIAL which is currently defined in
arch/arm/include/asm/pgtable-3level.h which is included by
arch/arm/include/asm/pgtable.h when CONFIG_ARM_LPAE is set.
So select ARCH_HAS_PTE_SPECIAL if ARM_LPAE.

powerpc
__HAVE_ARCH_PTE_SPECIAL is defined in 2 files:
 - arch/powerpc/include/asm/book3s/64/pgtable.h
 - arch/powerpc/include/asm/pte-common.h
The first one is included if (PPC_BOOK3S & PPC64) while the second is
included in all the other cases.
So select ARCH_HAS_PTE_SPECIAL all the time.

sparc:
__HAVE_ARCH_PTE_SPECIAL is defined if defined(__sparc__) &&
defined(__arch64__) which are defined through the compiler in
sparc/Makefile if !SPARC32 which I assume to be if SPARC64.
So select ARCH_HAS_PTE_SPECIAL if SPARC64

There is no functional change introduced by this patch.

Link: http://lkml.kernel.org/r/1523433816-14460-2-git-send-email-ldufour@linux.vnet.ibm.com
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Suggested-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: "Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Albert Ou <albert@sifive.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Christophe LEROY <christophe.leroy@c-s.fr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-07 17:34:35 -07:00
..
Kbuild Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-04 20:27:54 -07:00
arcregs.h ARCv2: boot log: updates for HS48: dual-issue, ECC, Loop Buffer 2017-11-13 14:37:39 -08:00
asm-offsets.h
atomic.h locking/atomic: Fix atomic_set_release() for 'funny' architectures 2017-08-10 12:28:54 +02:00
barrier.h ARC: [plat-eznps] Use dedicated SMP barriers 2016-05-09 09:32:33 +05:30
bitops.h ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg 2016-05-09 09:32:33 +05:30
bug.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
cache.h ARCv2: SLC: provide a line based flush routine for debugging 2017-08-30 09:21:34 -07:00
cacheflush.h ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache 2016-12-19 11:55:17 -08:00
checksum.h ipv4: Update parameters for csum_tcpudp_magic to their original types 2016-03-13 23:55:13 -04:00
cmpxchg.h ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg 2016-05-09 09:32:33 +05:30
current.h ARC: remove extraneous __KERNEL__ guards 2014-10-13 14:46:20 +05:30
delay.h ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list 2017-01-24 10:54:24 -08:00
disasm.h ARC: disassembly (needed by kprobes/kgdb/unaligned-access-emul) 2013-02-15 23:16:04 +05:30
dma.h ARC: Add PCI support 2016-03-10 14:44:13 -06:00
dwarf.h ARC: dw2 unwind: add infrastructure for adding cfi pseudo ops to asm 2016-09-30 14:48:22 -07:00
elf.h ARC: fix build warning in elf.h 2016-10-19 14:38:53 -07:00
entry-arcv2.h ARCv2: Don't pretend we may set L-bit in STATUS32 with kflag instruction 2018-01-18 10:51:26 -08:00
entry-compact.h ARC: [plat-eznps] handle extra aux regs #2: kernel/entry exit 2017-08-28 15:17:36 -07:00
entry.h ARC: use correct offset in pt_regs for saving/restoring user mode r25 2016-08-19 10:44:13 -07:00
exec.h ARC: Fundamental ARCH data-types/defines 2013-02-11 20:00:34 +05:30
fb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
futex.h futex: Remove duplicated code and fix undefined behaviour 2017-08-25 22:49:59 +02:00
highmem.h ARC: mm: HIGHMEM: kmap API implementation 2015-10-28 19:49:04 +05:30
hugepage.h arc: use generic_pmdp_establish as pmdp_establish 2018-01-31 17:18:37 -08:00
io.h ARC: Add missing io barriers to io{read,write}{16,32}be() 2016-05-05 16:35:28 +05:30
irq.h ARCv2: intc: Use runtime value of irq count for setting up intc 2017-02-06 09:37:57 -08:00
irqflags-arcv2.h ARC: create cpu specific version of arch_cpu_idle() 2017-08-28 15:17:36 -07:00
irqflags-compact.h ARC: create cpu specific version of arch_cpu_idle() 2017-08-28 15:17:36 -07:00
irqflags.h ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
kdebug.h ARC: Fundamental ARCH data-types/defines 2013-02-11 20:00:34 +05:30
kgdb.h ARC: Update order of registers in KGDB to match GDB 7.5 2014-10-13 14:46:20 +05:30
kmap_types.h ARC: mm: HIGHMEM: kmap API implementation 2015-10-28 19:49:04 +05:30
kprobes.h ARC: fix build warnings with !CONFIG_KPROBES 2017-03-30 17:33:20 -07:00
linkage.h ARC: dw2 unwind: add infrastructure for adding cfi pseudo ops to asm 2016-09-30 14:48:22 -07:00
mach_desc.h ARC: smp: Rename platform hook @init_cpu_smp -> @init_per_cpu 2015-12-17 12:56:56 +05:30
mmu.h ARCv2: PAE40: set MSB even if !CONFIG_ARC_HAS_PAE40 but PAE exists in SoC 2017-08-04 13:56:35 +05:30
mmu_context.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/mm.h> 2017-03-02 08:42:28 +01:00
mmzone.h ARC: support HIGHMEM even without PAE40 2016-05-05 16:35:46 +05:30
module.h ARC: module: Fix !CONFIG_ARC_DW2_UNWIND builds 2017-01-18 11:17:44 -08:00
page.h ARC: mm: Decouple RAM base address from kernel link address 2017-09-01 11:26:27 -07:00
pci.h PCI: remove PCI_DMA_BUS_IS_PHYS 2018-05-07 07:15:41 +02:00
perf_event.h arc: perf: Enable generic "cache-references" and "cache-misses" events 2016-09-30 14:48:18 -07:00
pgalloc.h arc: get rid of superfluous __GFP_REPEAT 2016-06-24 17:23:52 -07:00
pgtable.h mm: introduce ARCH_HAS_PTE_SPECIAL 2018-06-07 17:34:35 -07:00
processor.h arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
ptrace.h ARC: [plat-eznps] handle extra aux regs #2: kernel/entry exit 2017-08-28 15:17:36 -07:00
sections.h of/fdt: consolidate built-in dtb section variables 2014-04-30 00:59:13 -05:00
segment.h ARC: uaccess friends 2013-02-11 20:00:31 +05:30
serial.h ARC: Dynamically determine BASE_BAUD from DeviceTree 2015-02-02 17:08:37 +05:30
setup.h ARCv2: IOC: Use actual memory size to setup aperture size 2017-01-18 14:52:43 -08:00
shmparam.h ARC: [mm] Aliasing VIPT dcache support 4/4 2013-05-09 22:00:57 +05:30
smp.h ARC: IRQ: Do not use hwirq as virq and vice versa 2016-11-08 12:05:10 -08:00
spinlock.h locking/arch: Remove dummy arch_{read,spin,write}_lock_flags() implementations 2017-10-10 11:50:19 +02:00
spinlock_types.h ARC: LLOCK/SCOND based rwlock 2015-08-04 09:26:33 +05:30
stacktrace.h ARC: Make arc_unwind_core accessible externally 2015-02-27 10:15:00 +05:30
string.h ARC: remove extraneous __KERNEL__ guards 2014-10-13 14:46:20 +05:30
switch_to.h ARC: [plat-eznps] handle extra aux regs #1: save/restore on context switch 2017-08-28 15:17:36 -07:00
syscall.h ARC: stop using pt_regs->orig_r8 2013-06-22 19:23:26 +05:30
syscalls.h ARC: syscall for userspace cmpxchg assist 2016-10-24 09:24:26 -07:00
thread_info.h Construct init thread stack in the linker script rather than by union 2018-01-09 23:21:02 +00:00
timex.h ARC: Timers/counters/delay management 2013-02-11 20:00:39 +05:30
tlb-mmu1.h ARC: Disintegrate arcregs.h 2013-06-22 13:46:42 +05:30
tlb.h ARC: Disintegrate arcregs.h 2013-06-22 13:46:42 +05:30
tlbflush.h ARC: thp: unbork !CONFIG_TRANSPARENT_HUGEPAGE build 2016-03-17 15:31:45 +05:30
uaccess.h ARC: uaccess: dont use "l" gcc inline asm constraint modifier 2017-12-20 12:41:46 -08:00
unaligned.h ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
unwind.h ARC: dw2 unwind: Reinstante unwinding out of modules 2015-12-17 11:10:23 +05:30