linux/arch/arm
Nicolas Pitre 9520b1a1b5 ARM: head-common.S: speed up startup code
Let's use optimized routines such as memcpy to copy .data and memzero
to clear .bss in the startup code instead of doing it one word at a
time. Those routines don't use any global data so they're safe to use
even if .data and .bss segments are not initialized.

In the .data copy case a temporary stack is installed in the .bss area
as the actual kernel stack is located within the copied data area. The
XIP kernel linker script ensures a 8 byte alignment for that purpose.

Finally, make the .data copy and related pointers surrounded by
CONFIG_XIP_KERNEL to make it obvious what it is all about. This will
allow for further cleanups in the non-XIP linker script.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Chris Brandt <Chris.Brandt@renesas.com>
2017-09-10 19:34:52 -04:00
..
boot Allwinner fixes for 4.13, take 3 2017-08-29 22:39:18 -07:00
common arm: implement ->dma_supported instead of ->set_dma_mask 2017-06-28 06:54:49 -07:00
configs This is the big bulk of pin control changes for the v4.13 series: 2017-07-06 11:38:59 -07:00
crypto crypto: arm/crc32 - enable module autoloading based on CPU feature bits 2017-06-01 12:55:42 +08:00
firmware
include KVM: update to new mmu_notifier semantic v2 2017-08-31 16:13:00 -07:00
kernel ARM: head-common.S: speed up startup code 2017-09-10 19:34:52 -04:00
kvm Merge branch 'kvmarm-master/master' into HEAD 2017-06-15 09:35:15 +01:00
lib
mach-actions ARM: owl: smp: Drop bogus holding pen 2017-07-03 14:31:47 +02:00
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed clocksource/drivers/fttmr010: Merge Moxa into FTTMR010 2017-06-12 10:45:10 +02:00
mach-at91 ARM: at91: don't select CONFIG_ARM_CPU_SUSPEND for old platforms 2017-08-23 17:31:39 +02:00
mach-axxia
mach-bcm ARM: SoC platform updates 2017-07-04 14:34:51 -07:00
mach-berlin
mach-clps711x clocksource/drivers: Rename CLKSRC_OF to TIMER_OF 2017-06-14 12:01:03 +02:00
mach-cns3xxx
mach-davinci ARM: davinci: normalize clk API 2017-07-27 13:15:29 +02:00
mach-digicolor
mach-dove ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-06-28 15:13:55 -05:00
mach-ebsa110
mach-efm32
mach-ep93xx ARM: ep93xx: normalize clk API 2017-07-27 22:57:24 +02:00
mach-exynos
mach-footbridge
mach-gemini
mach-highbank
mach-hisi
mach-imx ARM: imx6ull: Make suspend/resume work like on 6ul 2017-06-07 11:38:40 +08:00
mach-integrator
mach-iop13xx ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-06-28 15:13:55 -05:00
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix ioport_unmap definition 2017-07-27 22:57:53 +02:00
mach-keystone
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
mach-meson arm: meson: select the clock controller for Meson8 2017-06-09 11:15:36 -07:00
mach-mmp ARM: mmp: mark usb_dma_mask as __maybe_unused 2017-07-27 22:57:49 +02:00
mach-moxart clocksource/drivers/fttmr010: Merge Moxa into FTTMR010 2017-06-12 10:45:10 +02:00
mach-mv78xx0 ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-06-28 15:13:55 -05:00
mach-mvebu ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code 2017-07-18 11:26:30 +02:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: omap1: avoid unused variable warning 2017-07-27 22:57:46 +02:00
mach-omap2 ARM: SoC fixes for 4.13 2017-08-04 15:12:15 -07:00
mach-orion5x ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-06-28 15:13:55 -05:00
mach-oxnas
mach-picoxcell
mach-prima2 ARM: sirf: mark sirfsoc_init_late as __maybe_unused 2017-07-27 22:57:44 +02:00
mach-pxa ARM: pxa: select both FB and FB_W100 for eseries 2017-07-27 22:57:55 +02:00
mach-qcom
mach-realview
mach-rockchip ARM: SoC platform updates 2017-07-04 14:34:51 -07:00
mach-rpc ARM: rpc: rename RAM_SIZE macro 2017-07-27 22:57:38 +02:00
mach-s3c24xx clocksource/drivers: Rename CLKSRC_OF to TIMER_OF 2017-06-14 12:01:03 +02:00
mach-s3c64xx dmaengine updates for 4.13-rc1 2017-07-08 12:36:50 -07:00
mach-s5pv210
mach-sa1100 ARM: sa1100: normalize clk API 2017-07-27 13:15:50 +02:00
mach-shmobile Third Round of Renesas ARM Based SoC Fixes for v4.13 2017-08-04 12:54:41 +02:00
mach-socfpga
mach-spear dmaengine updates for 4.13-rc1 2017-07-08 12:36:50 -07:00
mach-sti
mach-stm32 ARM: stm32: Introduce MACH_STM32F469 flag 2017-06-18 20:10:27 -07:00
mach-sunxi clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
mach-tango
mach-tegra
mach-u300 clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
mach-uniphier
mach-ux500 drivers/perf: arm_pmu: Request PMU SPIs with IRQF_PER_CPU 2017-07-27 13:43:22 +01:00
mach-versatile
mach-vexpress
mach-vt8500
mach-w90x900 ARM: w90x900: normalize clk API 2017-07-27 22:57:36 +02:00
mach-zx
mach-zynq clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
mm ARM: NOMMU: Wire-up default DMA interface 2017-07-20 16:09:27 +02:00
net
nwfpe
oprofile
plat-iop
plat-omap
plat-orion
plat-pxa
plat-samsung
plat-versatile
probes
tools
vdso
vfp
xen This is the first pull request for the new dma-mapping subsystem 2017-07-06 19:20:54 -07:00
Kconfig ARM: ep93xx: use ARM_PATCH_PHYS_VIRT correctly 2017-07-27 22:57:51 +02:00
Kconfig-nommu
Kconfig.debug SoC for 4.13: 2017-06-18 22:53:20 -07:00
Makefile ARM: Prepare Actions Semi S500 2017-06-21 18:08:41 +02:00