linux-stable/arch/arm
Ard Biesheuvel 06f75a1f62 ARM, arm64: kvm: get rid of the bounce page
The HYP init bounce page is a runtime construct that ensures that the
HYP init code does not cross a page boundary. However, this is something
we can do perfectly well at build time, by aligning the code appropriately.

For arm64, we just align to 4 KB, and enforce that the code size is less
than 4 KB, regardless of the chosen page size.

For ARM, the whole code is less than 256 bytes, so we tweak the linker
script to align at a power of 2 upper bound of the code size

Note that this also fixes a benign off-by-one error in the original bounce
page code, where a bounce page would be allocated unnecessarily if the code
was exactly 1 page in size.

On ARM, it also fixes an issue with very large kernels reported by Arnd
Bergmann, where stub sections with linker emitted veneers could erroneously
trigger the size/alignment ASSERT() in the linker script.

Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-03-19 19:21:56 +00:00
..
boot Third fixes batch for AT91 on 4.0: 2015-03-11 20:46:52 +01:00
common
configs ARM: vexpress: update CONFIG_USB_ISP1760 option 2015-03-11 15:37:21 +01:00
crypto
firmware
include ARM: SoC fixes for 4.0-rc3 2015-03-15 10:49:38 -07:00
kernel ARM, arm64: kvm: get rid of the bounce page 2015-03-19 19:21:56 +00:00
kvm ARM, arm64: kvm: get rid of the bounce page 2015-03-19 19:21:56 +00:00
lib
mach-asm9260 clockevents: asm9260: Fix compilation error with sparc/sparc64 allyesconfig 2015-02-25 10:28:22 +01:00
mach-at91 ARM: at91: pm_slowclock: fix the compilation error 2015-03-11 15:49:47 +01:00
mach-axxia ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-bcm ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-berlin
mach-clps711x
mach-cns3xxx Merge branch 'pci/config' into next 2015-02-02 14:49:29 -06:00
mach-davinci ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-digicolor ARM: digicolor: select syscon and timer 2015-01-29 13:52:06 -08:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes 2015-03-04 21:01:25 +01:00
mach-footbridge
mach-gemini
mach-highbank ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-hisi ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-imx ARM: imx: fix struct clk pointer comparing 2015-03-11 16:00:20 -07:00
mach-integrator ARM: integrator: Convert PCI to use generic config accessors 2015-01-29 08:34:42 -06:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix {in,out}s{bwl} data types 2015-02-18 12:20:27 +01:00
mach-keystone ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-ks8695 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-lpc32xx
mach-mediatek
mach-meson
mach-mmp ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-moxart
mach-msm net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
mach-mv78xx0
mach-mvebu ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-omap1 ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-omap2 ARM: OMAP2+: Fix wl12xx on dm3730-evm with mainline u-boot 2015-03-06 10:37:34 -08:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-pxa ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
mach-qcom ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
mach-realview net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
mach-rockchip ARM: rockchip: force built-in regulator support for PM 2015-02-18 12:20:30 +01:00
mach-rpc
mach-s3c24xx ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
mach-s3c64xx ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
mach-s5pv210 ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-sa1100 ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
mach-shmobile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-socfpga ARM: socfpga: make sure socfpga_cpu1start_addr is properly flushed 2015-03-04 13:03:17 -06:00
mach-spear
mach-sti ARM: STi: Add STiH410 SoC support 2015-03-11 15:34:45 +01:00
mach-sunxi
mach-tegra The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
mach-u300
mach-ux500 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-versatile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-vexpress ARM: vexpress: use ARM_CPU_SUSPEND if needed 2015-02-18 12:19:09 +01:00
mach-vt8500
mach-w90x900
mach-zynq ARM: zynq: Simplify SLCR initialization 2015-01-29 15:38:17 +01:00
mm Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-22 09:57:16 -08:00
net
nwfpe
oprofile
plat-iop arm: iop: specify PMUs are for XScale CPUs 2015-02-06 00:12:59 -08:00
plat-omap
plat-orion
plat-pxa
plat-samsung ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
plat-versatile
probes ARM: kprobes: Fix compilation error caused by superfluous '*' 2015-02-10 15:05:30 +08:00
tools
vfp
xen xen/grant-table: pre-populate kernel unmap ops for xen_gnttab_unmap_refs() 2015-01-28 14:03:10 +00:00
Kconfig ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Makefile ARM: digicolor: add the machine directory to Makefile 2015-03-11 15:36:34 +01:00