linux_old1/arch/arm
Dave Martin 424e5994e6 ARM: zImage/virt: hyp mode entry support for the zImage loader
The zImage loader needs to turn on the MMU in order to take
advantage of caching while decompressing the zImage.  Running this
in hyp mode would require the LPAE pagetable format to be
supported; to avoid this complexity, this patch switches out of hyp
mode, and returns back to hyp mode just before booting the kernel.

This implementation assumes that the Hyp mode view of memory and the
PL1 view of memory are coherent, providing that the MMU and caches
are off in both, as required by the boot protocol.  The zImage
decompression code must drain the write buffer on completion anyway, and
entry into Hyp mode should flush any prefetch buffer, avoiding hazards
associated with local write buffers and the pipeline.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2012-09-19 08:32:50 +01:00
..
boot ARM: zImage/virt: hyp mode entry support for the zImage loader 2012-09-19 08:32:50 +01:00
common ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
configs Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes 2012-09-04 21:41:35 -07:00
include/asm ARM: virt: allow the kernel to be entered in HYP mode 2012-09-19 08:32:50 +01:00
kernel ARM: zImage/virt: hyp mode entry support for the zImage loader 2012-09-19 08:32:50 +01:00
lib ARM: Bring back ARMv3 IO and user access code 2012-08-13 11:44:13 +01:00
mach-at91 ARM: at91/clock: fix PLLA overclock warning 2012-08-23 15:00:09 +02:00
mach-bcmring
mach-clps711x ARM: clps711x: Remove the setting of the time 2012-07-17 22:24:30 +02:00
mach-cns3xxx
mach-davinci ARM: davinci: remove broken ntosd2_init_i2c 2012-08-10 13:14:36 +02:00
mach-dove ARM: Orion: Set eth packet size csum offload limit 2012-08-15 13:58:09 +00:00
mach-ebsa110
mach-ep93xx arm-soc: soc-specific updates 2012-07-23 16:08:40 -07:00
mach-exynos Merge branch 'v3.6-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes 2012-08-23 17:03:49 +02:00
mach-footbridge
mach-gemini ARM: gemini: fix the gemini build 2012-09-04 22:17:34 -07:00
mach-h720x
mach-highbank clk: add highbank clock support 2012-07-11 17:58:47 -07:00
mach-imx Merge branch 'randconfig/mach' into fixes 2012-08-23 17:30:54 +02:00
mach-integrator ARM: integrator: include <linux/export.h> 2012-08-09 15:16:44 +02:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-kirkwood Merge branch 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-09-08 16:22:43 -07:00
mach-ks8695
mach-l7200/include/mach
mach-lpc32xx ARM: LPC32xx: Add PWM clock 2012-07-20 14:01:51 +02:00
mach-mmp ARM: mmp: fix potential NULL dereference 2012-08-10 22:32:24 +08:00
mach-msm ARM: MSM: use SGI0 to wake secondary CPUs 2012-07-09 17:39:36 +01:00
mach-mv78xx0 Merge branch 'fixes-for-v3.6' of git://git.infradead.org/users/jcooper/linux into fixes 2012-08-15 18:18:29 +02:00
mach-mvebu arm: mvebu: generate DTBs for supported SoCs 2012-07-17 22:38:06 +02:00
mach-mxs ARM: mxs: always build ocotp 2012-08-04 22:52:23 +08:00
mach-netx arch/arm/mach-netx/fb.c: reuse dummy clk routines for CONFIG_HAVE_CLK=n 2012-07-30 17:25:13 -07:00
mach-nomadik ARM: nomadik: bump all IRQ numbers by one 2012-06-11 12:40:14 +02:00
mach-omap1 Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-omap2 Merge branch 'randconfig/mach' into fixes 2012-08-23 17:30:54 +02:00
mach-orion5x ARM: Orion: Set eth packet size csum offload limit 2012-08-15 13:58:09 +00:00
mach-picoxcell clocksource: dw_apb_timer: Add common DTS glue for dw_apb_timer 2012-07-12 17:26:09 +02:00
mach-pnx4008 arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-prima2 ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes 2012-08-02 10:05:27 -07:00
mach-pxa Input: eeti_ts: pass gpio value instead of IRQ 2012-08-09 15:16:41 +02:00
mach-realview
mach-rpc ARM: fiq: change FIQ_START to a variable 2012-07-01 21:59:19 +08:00
mach-s3c24xx Merge branch 'v3.6-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes 2012-08-23 17:03:49 +02:00
mach-s3c64xx ARM: arm-soc soc updates, take 2 2012-07-30 09:45:53 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pc100 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pv210 arm-soc: board specific updates 2012-07-23 17:34:48 -07:00
mach-sa1100 ARM: sa1100: include linux/io.h in hackkit leds code 2012-08-09 15:16:42 +02:00
mach-shark
mach-shmobile Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes 2012-09-04 21:41:35 -07:00
mach-socfpga ARM: socfpga: initial support for Altera's SOCFPGA platform 2012-07-19 10:39:00 +02:00
mach-spear3xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear6xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear13xx Viresh has moved 2012-06-20 14:39:36 -07:00
mach-tegra ARM: tegra: more regulator fixes for Harmony 2012-08-09 15:16:40 +02:00
mach-u300 ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
mach-ux500 Merge branch 'randconfig/mach' into fixes 2012-08-23 17:30:54 +02:00
mach-versatile ARM: fix mach-versatile/pci.c warning 2012-07-04 17:04:57 +01:00
mach-vexpress ARM: vexpress: Config option for early printk console 2012-07-13 11:48:29 +01:00
mach-vt8500 Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
mach-w90x900
mach-zynq
mm ARM: dma-mapping: IOMMU allocates pages from atomic_pool with GFP_ATOMIC 2012-08-28 21:01:07 +02:00
net ARM: 7421/1: bpf_jit: BPF_S_ANC_ALU_XOR_X support 2012-06-14 15:12:13 +01:00
nwfpe
oprofile ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration 2012-07-09 17:41:10 +01:00
plat-iop
plat-mxc ARM: SoC fixes 2012-08-02 11:48:20 -07:00
plat-nomadik i2c-nomadik: move header to <linux/platform_data/i2c-nomadik.h> 2012-07-09 11:40:40 +02:00
plat-omap ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*() 2012-08-13 06:23:16 -07:00
plat-orion ARM: Orion: Set eth packet size csum offload limit 2012-08-15 13:58:09 +00:00
plat-pxa Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
plat-s3c24xx ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters 2012-08-08 09:04:51 +09:00
plat-samsung Merge branch 'v3.6-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes 2012-08-23 17:03:49 +02:00
plat-spear Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
tools
vfp ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled 2012-08-11 09:15:57 +01:00
Kconfig Merge branch 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-09-08 16:22:43 -07:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00