WSL2-Linux-Kernel/arch/arm
Luis R. Rodriguez 7d134b2ce6 kprobes: move kprobe declarations to asm-generic/kprobes.h
Often all is needed is these small helpers, instead of compiler.h or a
full kprobes.h.  This is important for asm helpers, in fact even some
asm/kprobes.h make use of these helpers...  instead just keep a generic
asm file with helpers useful for asm code with the least amount of
clutter as possible.

Likewise we need now to also address what to do about this file for both
when architectures have CONFIG_HAVE_KPROBES, and when they do not.  Then
for when architectures have CONFIG_HAVE_KPROBES but have disabled
CONFIG_KPROBES.

Right now most asm/kprobes.h do not have guards against CONFIG_KPROBES,
this means most architecture code cannot include asm/kprobes.h safely.
Correct this and add guards for architectures missing them.
Additionally provide architectures that not have kprobes support with
the default asm-generic solution.  This lets us force asm/kprobes.h on
the header include/linux/kprobes.h always, but most importantly we can
now safely include just asm/kprobes.h on architecture code without
bringing the full kitchen sink of header files.

Two architectures already provided a guard against CONFIG_KPROBES on its
kprobes.h: sh, arch.  The rest of the architectures needed gaurds added.
We avoid including any not-needed headers on asm/kprobes.h unless
kprobes have been enabled.

In a subsequent atomic change we can try now to remove compiler.h from
include/linux/kprobes.h.

During this sweep I've also identified a few architectures defining a
common macro needed for both kprobes and ftrace, that of the definition
of the breakput instruction up.  Some refer to this as
BREAKPOINT_INSTRUCTION.  This must be kept outside of the #ifdef
CONFIG_KPROBES guard.

[mcgrof@kernel.org: fix arm64 build]
  Link: http://lkml.kernel.org/r/CAB=NE6X1WMByuARS4mZ1g9+W=LuVBnMDnh_5zyN0CLADaVh=Jw@mail.gmail.com
[sfr@canb.auug.org.au: fixup for kprobes declarations moving]
  Link: http://lkml.kernel.org/r/20170214165933.13ebd4f4@canb.auug.org.au
Link: http://lkml.kernel.org/r/20170203233139.32682-1-mcgrof@kernel.org
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-27 18:43:45 -08:00
..
boot The usual collection of new drivers, non-critical fixes, and updates 2017-02-25 14:28:06 -08:00
common treewide: Constify most dma_map_ops structures 2017-01-24 12:23:35 -05:00
configs ARM: SoC defconfig updates for v4.11 2017-02-23 15:39:32 -08:00
crypto crypto: arm/aes - don't use IV buffer to return final keystream block 2017-02-03 18:16:21 +08:00
firmware
include kprobes: move kprobe declarations to asm-generic/kprobes.h 2017-02-27 18:43:45 -08:00
kernel arm64 updates for 4.11: 2017-02-22 10:46:44 -08:00
kvm KVM: race-free exit from KVM_RUN without POSIX signals 2017-02-17 12:27:37 +01:00
lib ARM: 8658/1: uaccess: fix zeroing of 64-bit get_user() 2017-02-16 15:58:32 +00:00
mach-alpine
mach-artpec ARM: ARTPEC-6: add select MFD_SYSCON to MACH_ARTPEC6 2016-11-26 00:06:34 +01:00
mach-asm9260
mach-aspeed ARM: aspeed: Select pinctrl drivers 2017-01-10 22:36:06 +11:00
mach-at91 ARM: at91: pm: remove useless extern definition 2017-01-11 13:21:24 +01:00
mach-axxia
mach-bcm ARM: BCM5301X: Add back handler ignoring external imprecise aborts 2016-11-16 12:39:05 -08:00
mach-berlin
mach-clps711x
mach-cns3xxx
mach-davinci ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-exynos ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
mach-footbridge clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-gemini
mach-highbank
mach-hisi arm: hisi: drop extern hip01_cpu_die 2017-01-20 16:39:57 +00:00
mach-imx ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-integrator ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
mach-iop13xx Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mach-iop32x
mach-iop33x
mach-ixp4xx clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-keystone ARM: Keystone: Enable ARCH_HAS_RESET_CONTROLLER 2017-01-19 09:36:08 -08:00
mach-ks8695
mach-lpc18xx
mach-lpc32xx ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
mach-mediatek
mach-meson
mach-mmp clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-moxart
mach-mv78xx0 ARM: mv78xx0: fix possible PCI buffer overflow 2017-01-27 17:52:57 +01:00
mach-mvebu arm: mvebu: support for SMP on 98DX3336 SoC 2017-01-30 14:40:56 +01:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-omap2 ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-orion5x ARM: orion: remove unused wnr854t_switch_plat_data 2017-02-09 16:59:57 -05:00
mach-oxnas ARM: oxnas: Add OX820 config and makefile entry 2016-11-23 09:53:55 +01:00
mach-picoxcell
mach-prima2
mach-pxa ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-qcom
mach-realview
mach-rockchip ARM: rockchip: drop rk3288 jtag/mmc switch handling 2017-01-06 10:29:16 +01:00
mach-rpc Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mach-s3c24xx Samsung mach/soc update for v4.11. Mostly cleanups: 2017-01-16 22:28:56 -08:00
mach-s3c64xx ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-s5pv210 pinctrl: samsung: Move retention control from mach-s5pv210 to the pinctrl driver 2017-01-26 16:57:03 +01:00
mach-sa1100 Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2016-12-15 16:06:15 -08:00
mach-shmobile ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-socfpga ARM: socfpga: fix spelling mistake in error message 2016-11-15 08:52:17 -06:00
mach-spear
mach-sti
mach-stm32 ARM: mach-stm32: Add a new SOC - STM32F746 2016-11-15 12:02:33 +01:00
mach-sunxi arm: sunxi: add support for V3s SoC 2017-01-20 21:31:34 +01:00
mach-tango
mach-tegra ARM: tegra: paz00: Fix __initdata placement 2017-01-25 09:09:32 +01:00
mach-u300
mach-uniphier
mach-ux500 ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-versatile
mach-vexpress
mach-vt8500
mach-w90x900
mach-zx
mach-zynq
mm This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
net
nwfpe
oprofile
plat-iop clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
plat-omap
plat-orion ARM: orion: Register DSA switch as a MDIO device 2017-02-07 10:51:47 -05:00
plat-pxa
plat-samsung ARM: SAMSUNG: Constify array of wake irqs passed to samsung_sync_wakemask 2016-12-29 15:40:51 +02:00
plat-versatile
probes kprobes: move kprobe declarations to asm-generic/kprobes.h 2017-02-27 18:43:45 -08:00
tools Merge branch 'syscalls' into for-linus 2016-12-14 11:14:00 +00:00
vdso
vfp cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
xen This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
Kconfig-nommu
Kconfig.debug arch: Move CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX to be common 2017-02-07 12:32:52 -08:00
Makefile Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2016-12-15 16:06:15 -08:00