kernel_optimize_test/arch/arm
Ard Biesheuvel e4c5a68510 arm64: KVM: use ID map with increased VA range if required
This patch modifies the HYP init code so it can deal with system
RAM residing at an offset which exceeds the reach of VA_BITS.

Like for EL1, this involves configuring an additional level of
translation for the ID map. However, in case of EL2, this implies
that all translations use the extra level, as we cannot seamlessly
switch between translation tables with different numbers of
translation levels.

So add an extra translation table at the root level. Since the
ID map and the runtime HYP map are guaranteed not to overlap, they
can share this root level, and we can essentially merge these two
tables into one.

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-23 11:35:29 +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 arm64: KVM: use ID map with increased VA range if required 2015-03-23 11:35:29 +00:00
kernel ARM: kvm: implement replacement for ld's LOG2CEIL() 2015-03-23 11:16:50 +00:00
kvm arm64: KVM: use ID map with increased VA range if required 2015-03-23 11:35:29 +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