Commit Graph

39134 Commits

Author SHA1 Message Date
Olof Johansson
84fb69f7dc Merge tag 'renesas-cpufreq2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC CPUFreq Updates for v3.17" from
Simon Horman:

- Remove opps table check for cpufreq as this is already handled
  by the driver

* tag 'renesas-cpufreq2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove opps table check for cpufreq

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:46:48 -07:00
Olof Johansson
e1adcba9c8 Merge tag 'ux500-core-for-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/cleanup
Merge "Ux500 core changes for v3.17 take 1" from Linus Walleij:

Some minor cleanups to the Ux500 core. DT-only probe path and
some constification from static code analysis.

* tag 'ux500-core-for-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: remove pointless cache setup complexity
  ARM: ux500: storage class should be before const qualifier
  ARM: ux500: Staticize ab8505_regulators
  ARM: ux500: Staticize local symbols in cpu-db8500.c
  ARM: ux500: Staticise ux500_soc_attr
  + Linux 3.16-rc4

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:41:09 -07:00
Olof Johansson
6dda8e594b Merge tag 'ux500-devicetree-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt
Merge "Ux500 devicetree changes for v3.17" from Linus Walleij:

Ux500 device tree patches for v3.17:
- Add regulators to STMPE expanders
- Add proper DMA channels for all SD/MMC blocks
- Add sensors to the device tree

* tag 'ux500-devicetree-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: add misc sensors to the device trees
  ARM: ux500: add some DB8500 DMA channel info
  ARM: ux500: add VCC and VIO regulators to STMPE IC
  + Linux 3.16-rc4

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:36:50 -07:00
Olof Johansson
89d70e99ff Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt
Merge "at91: dt for 3.17 #1" from Nicolas Ferre:

First DT update for 3.17:
- move of crystals DT definitions to the /clocks node
- addition of clock entries for sound for CCF enabled platforms
- addition of DMA and DMA + nand on at91sam9rl
- move to CCF for all not-converted-yet AT91 SoCs: at91rm9200, at91sam9260/9g20,
  at91sam9g45 family and at91sam9263

* tag 'at91-dt' of git://github.com/at91linux/linux-at91: (43 commits)
  ARM: at91/dt: usb_a9263: define crystals frequencies
  ARM: at91/dt: tny_a9263: define crystals frequencies
  ARM: at91/dt: sam9263ek: define crystals frequencies
  ARM: at91: move at91sam9263 SoC to the CCF
  ARM: at91/dt: sam9263: define clocks
  ARM: at91: prepare common clk transition for sam9263
  ARM: at91/dt: cosino define crystals frequencies
  ARM: at91/dt: pm9g45: crystals frequencies
  ARM: at91/dt: sam9m10g45ek: define crystals frequencies
  ARM: at91: move at91sam9g45 SoC to the CCF
  ARM: at91/dt: sam9g45: define clocks
  ARM: at91: prepare common clk transition for sam9g45
  ARM: at91/dt: kizbox: define main crystal frequency
  ARM: at91/dt: animeo_ip: define crystals frequencies
  ARM: at91/dt: ethernut5: define crystals frequencies
  ARM: at91/dt: evk-pro3: define slow crytal frequency
  ARM: at91/dt: aks-cdu: define slow crytal frequency
  ARM: at91/dt: ge863-pro3: define main crystal frequency
  ARM: at91/dt: mpa1600: define crytals frequencies
  ARM: at91/dt: qil_a9260: define crystals frequencies
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:34:22 -07:00
Olof Johansson
65d3977b65 Merge tag 'renesas-soc3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Third Round of Renesas ARM Based SoC Updates for v3.17" from Simon
Horman:

- Correct build failure in APMU code in the case of !SUSPEND

* tag 'renesas-soc3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: fix shmobile_smp_apmu_suspend_init build failure for !SUSPEND

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:23:24 -07:00
Olof Johansson
db6d842b84 Merge tag 's5p-cleanup-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
Merge "Samsung cleanup 2nd version for S5P SoCs for 3.17" from Kukjin Kim:

Cleanup S5P SoCs for 3.17
- removing s5p64x0 SoCs and s5pc100 SoC in mainline because
  no more user and if it is required next time, it will be
  supported with DT.

* tag 's5p-cleanup-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  video: fbdev: s3c-fb: remove s5pc100 related fimd and fb codes
  mtd: onenand: remove s5pc100 related onenand codes
  spi: s3c64xx: remove s5pc100 related spi codes
  gpio: samsung: remov s5pc100 related gpio codes
  ARM: S5PC100: no more support S5PC100 SoC
  video: fbdev: s3c-fb: remove s5p64x0 related fimd codes
  spi: s3c64xx: remove s5p64x0 related spi codes
  gpio: samsung: remove s5p64x0 related gpio codes
  ARM: S5P64X0: no more support S5P6440 and S5P6450 SoCs

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:20:47 -07:00
Olof Johansson
cacadb4ff9 Merge tag 'samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
Merge "Samsung fixes-3 for 3.16" from Kukjin Kim:

Samsung fixes-3 for v3.16
- update the parent for Auudss clock because kernel will be hang
  during late boot if the parent clock is disabled in bootloader.
- enable clk handing in power domain because while power domain
  on/off, its regarding clock source will be reset and it causes
  a problem so need to handle it.
- add mux clocks to be used by power domain for exynos5420-mfc
  during power domain on/off and property in device tree also.
- register cpuidle only for exynos4210 and exynos5250 because a
  system failure will be happened on other exynos SoCs.

* tag 'samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Register cpuidle device only on exynos4210 and 5250
  ARM: dts: Add clock property for mfc_pd in exynos5420
  clk: exynos5420: Add IDs for clocks used in PD mfc
  ARM: EXYNOS: Add support for clock handling in power domain
  ARM: dts: Update the parent for Audss clocks in Exynos5420

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 21:19:21 -07:00
Kukjin Kim
b8529ec1c1 ARM: S5PC100: no more support S5PC100 SoC
This patch removes supporting codes for s5pc100 because no more used
now.

[jason@lakedaemon.net: for drivers/irqchip/Kconfig]
Acked-by: Jason Cooper <jason@lakedaemon.net>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-07-13 07:35:11 +09:00
Ezequiel Garcia
c3df513334 ARM: pxa: Move iotable mapping inside vmalloc region
In order to remove the following ugly message:

  BUG: mapping for 0x00000000 at 0xff000000 out of vmalloc space

the iotable mappings should be re-located inside the vmalloc
region. Such move was introduced at commit:

commit 0536bdf33f
Author: Nicolas Pitre <nicolas.pitre@linaro.org>
Date:   Thu Aug 25 00:35:59 2011 -0400

    ARM: move iotable mappings within the vmalloc region

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
[laurent.pinchart@ideasonboard.com: Hardcode the virtual address]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:51:45 -07:00
Laurent Pinchart
8066ce3b87 ARM: pxa: pxa27x: Don't map IMEMC region statically
The IMEMC mapping not only has no user, but maps a reserved memory
space. It just wastes vmalloc space, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:51:43 -07:00
Laurent Pinchart
b10f1c836c ARM: pxa: Move UNCACHED_PHYS_0 mapping from generic.c to pxa2[57]x.c
The UNCACHED_PHYS_0 mapping is only needed on PXA25x and PXA27x
platforms. Move it to pxa25x.c and pxa27x.c to avoid wasting vmalloc
space on PXA3xx.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:51:40 -07:00
Laurent Pinchart
0e32986c0f ARM: pxa: Don't hardcode addresses and size in map_desc tables
The virtual address, physical address and size of all regions for which
we create static mappings are defined in PXA headers. Replaced the
hardcoded values with macros.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:51:36 -07:00
Olof Johansson
ab70e7e7e5 Merge tag 'pxa-for-v3.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/cleanup
Merge "pxa for v3.17 v2" from Haojian Zhuang:

* tag 'pxa-for-v3.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
  ARM: pxa: fix typo 'CONFIG_SPI_PXA2XX_MASTER'
  ARM: pxa: call debug_ll_io_init for earlyprintk
  ARM: pxa: correct errata number for PXA270

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:49:48 -07:00
Olof Johansson
2df9ce91e9 Merge tag 'mmp-for-v3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/cleanup
Merge "mmp for v3.17" from Haojian Zhuang:

* tag 'mmp-for-v3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
  ARM: mmp: remove duplicate SM_SCLK_SM_SCLK define

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:47:12 -07:00
Olof Johansson
e87d10b29f Merge tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC Updates for v3.17" from Simon
Horman:

* Suspend on non-SMP update for r8a7790
* Move r8a7791.h out of mach directory.
  This is part of a multi-stage effort to move headers
  out of that directory.

* tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Allow r8a7791 to build non-SMP APMU code
  ARM: shmobile: Move r8a7791 reset code to pm-r8a7791.c
  ARM: shmobile: Allow r8a7790 to build non-SMP APMU code
  ARM: shmobile: Move r8a7790 reset code to pm-r8a7790.c
  ARM: shmobile: Use __init for APMU suspend init function
  ARM: shmobile: Adjust APMU code to build for non-SMP
  ARM: shmobile: Allow use of boot code for non-SMP case
  ARM: shmobile: Move r8a7791.h

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:44:52 -07:00
Olof Johansson
e1ddcdef84 Merge branch 'renesas/cleanup2' into next/soc
Merging in as base to resolve a merge conflict with later soc branch
locally.
2014-07-12 09:43:40 -07:00
Olof Johansson
9641f4084a Merge tag 'renesas-soc-cleanup2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
Merge "Second Round of Renesas ARM Based SoC soc-cleanup Updates for v3.17"
from Simon Horman:

* Move SOC-specific headers out of mach directory.
  This is part of a multi-stage effort to move headers
  out of that directory.

* tag 'renesas-soc-cleanup2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Move sh7372.h
  ARM: shmobile: Move sh73a0.h
  ARM: shmobile: Move r8a7790.h
  ARM: shmobile: Move r8a7778.h
  ARM: shmobile: Move r8a7740.h
  ARM: shmobile: Move r8a73a4.h
  ARM: shmobile: Move r7s72100.h

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:36:50 -07:00
Olof Johansson
edf4f16f27 Merge tag 'renesas-r8a7779-multiplatform2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC r8a7779-multiplatform
Updates for v3.17" from Simon Horman:

- Move r8a7779.h out of mach directory.
  This is part of a multi-stage effort to move headers
  out of that directory.

* tag 'renesas-r8a7779-multiplatform2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Move r8a7779.h

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:35:40 -07:00
Olof Johansson
c38114f393 Merge tag 'renesas-dt2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Merge "Second Round of Renesas ARM Based SoC DT Updates for v3.17" from Simon
Horman:

- Extend hardware coverage
  * Add DVC support for sound nodes on r8a7791 and r8a7790
  * Enable internal PCI on r8a7790/lager

* tag 'renesas-dt2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7791: add DVC support for sound node on DTSI
  ARM: shmobile: r8a7790: add DVC support for sound node on DTSI
  ARM: shmobile: lager: enable internal PCI
  ARM: shmobile: r8a7790: add internal PCI bridge nodes

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:34:38 -07:00
Olof Johansson
109528b2be Merge tag 'renesas-defconfig2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig
Merge "Second Round of Renesas ARM Based SoC Defconfig Updates for v3.17" from
Simon Horman:

* Enable genmai board in multiplatform defconfig

* tag 'renesas-defconfig2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable genmai board in multiplatform defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:33:51 -07:00
Bo Shen
363d4ddc17 ARM: at91: at91sam9x5: add clocks for usb device
Add clocks for usb device, or else switch to CCF, the gadget
won't work.

Reported-by: Jiri Prchal <jiri.prchal@aksignal.cz>
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Tested-by: Jiri Prchal <jiri.prchal@aksignal.cz>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-12 09:15:11 -07:00
Simon Horman
700ce7c2bb ARM: shmobile: kzm9g-reference: Initialise SCIF device using DT
Initialise SCIF device using DT when booting armadillo800eva
using DT reference.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:58 +02:00
Simon Horman
2131421b85 ARM: shmobile: sh73a0: Add SCIF nodes
This describes all of the SCIF hardware of the sh73a0.
Each node is disabled and may be enabled as necessary
by board DTS files.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:57 +02:00
Simon Horman
c4fac6f2f9 ARM: shmobile: armadillo800eva-reference: Initialise SCIF device using DT
Initialise SCIF device using DT when booting armadillo800eva
using DT reference.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:57 +02:00
Simon Horman
fa12355b24 ARM: shmobile: r8a7740: Add SCIF nodes
This describes all of the SCIF hardware of the r8a7740.
Each node is disabled and may be enabled as necessary
by board DTS files.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:57 +02:00
Simon Horman
27bc82353a ARM: shmobile: ape6evm-reference: Initialise SCIF device using DT
Initialise SCIF device using DT when booting ape6evm
using DT reference.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:57 +02:00
Simon Horman
94f1a03db6 ARM: shmobile: r8a73a4: Add SCIF nodes
This describes all of the SCIF hardware of the r8a73a4.
Each node is disabled and may be enabled as necessary
by board DTS files.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:57 +02:00
Simon Horman
5be97ca4a4 ARM: shmobile: bockw-reference: Initialise SCIF device using DT
Initialise SCIF device using DT when booting bockw
using DT reference.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:56 +02:00
Simon Horman
9930dc8ee1 ARM: shmobile: r8a7778: Add SCIF nodes
This describes all of the SCIF hardware of the r8a7778.
Each node is disabled and may be enabled as necessary
by board DTS files.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:16:56 +02:00
Simon Horman
963b0c359b Merge branch 'clock-for-v3.17' into dt-for-v3.17 2014-07-12 15:16:37 +02:00
Simon Horman
ff4ce48e1f ARM: shmobile: sh73a0: add SCI clock support for DT
This will be used when initialising SCI devices using DT
until common clock framework support is added.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:15:39 +02:00
Simon Horman
d1ec90f287 ARM: shmobile: r8a7740: correct SCI clock support for DT
When initialising SCI devices their names will be .serial
not .sci.

This will be used when initialising SCI devices using DT
until common clock framework support is added.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:15:23 +02:00
Simon Horman
9947efaac0 ARM: shmobile: r8a73a4: add SCI clock support for DT
This will be used when initialising SCI devices using DT
until common clock framework support is added.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:15:14 +02:00
Simon Horman
7a0c99478d ARM: shmobile: r8a7778: add SCI clock support for DT
This will be used when initialising SCI devices using DT
until common clock framework support is added.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-07-12 15:15:06 +02:00
Russell King
cda390bb8f Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
Rostislav Lisovy
97a288ba2c ARM: omap2+: gpmc-nand: Use dynamic platform_device_alloc()
GPMC controller supports up to 8 memory devices connected to it.
Since there is one statically allocated "struct platform_device
gpmc_nand_device" it is not possible to configure the system to
use more than one NAND device connected to the GPMC. This
modification makes it possible to use up to 8 NAND devices
connected to the GPMC controller.

Signed-off-by: Rostislav Lisovy <lisovy@merica.cz>
Signed-off-by: Roger Quadros <rogerq@ti.com>
2014-07-11 16:15:13 +03:00
Maxime Ripard
d9ff081d91 pinctrl: sunxi: Remove PINCTRL_SUNXI
The PINCTRL_SUNXI configuration was kept only to deal with the introduction of
per-machine symbols and the various pintrl drivers through different tree.

Now that it's not useful anymore, we can just remove it.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-07-11 14:08:29 +02:00
Alexander Shiyan
607af165c0 pinctrl: i.MX27: Remove nonexistent pad definitions
Pads for PB0-PB3, PC0-PC4, PE26-PE31 and PF24-PF31 does not exist on
the i.MX27 SOC. There is no reason to define them, the presence of
such definitions in the DTS files is a bug.
This patch removes these nonexistent pad definitions.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-07-11 14:08:26 +02:00
Victor Kamensky
f5aa462147 ARM: KVM: enable KVM in Kconfig on big-endian systems
Previous patches addresses ARMV7 big-endian virtualiztion,
kvm related issues, so enable ARM_VIRT_EXT for big-endian
now.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:41 -07:00
Victor Kamensky
73891f72c4 ARM: KVM: one_reg coproc set and get BE fixes
Fix code that handles KVM_SET_ONE_REG, KVM_GET_ONE_REG ioctls to work in BE
image. Before this fix get/set_one_reg functions worked correctly only in
LE case - reg_from_user was taking 'void *' kernel address that actually could
be target/source memory of either 4 bytes size or 8 bytes size, and code copied
from/to user memory that could hold either 4 bytes register, 8 byte register
or pair of 4 bytes registers.

In order to work in endian agnostic way reg_from_user to reg_to_user functions
should copy register value only to kernel variable with size that matches
register size. In few place where size mismatch existed fix issue on macro
caller side.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:40 -07:00
Victor Kamensky
27f194fd36 ARM: KVM: MMIO support BE host running LE code
In case of status register E bit is not set (LE mode) and host runs in
BE mode we need byteswap data, so read/write is emulated correctly.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:40 -07:00
Victor Kamensky
6d7311b520 ARM: KVM: __kvm_vcpu_run function return result fix in BE case
The __kvm_vcpu_run function returns a 64-bit result in two registers,
which has to be adjusted for BE case.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:39 -07:00
Victor Kamensky
19b0e60a63 ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions in BE case
In some cases the mcrr and mrrc instructions in combination with the ldrd
and strd instructions need to deal with 64bit value in memory. The ldrd
and strd instructions already handle endianness within word (register)
boundaries but to get effect of the whole 64bit value represented correctly,
rr_lo_hi macro is introduced and is used to swap registers positions when
the mcrr and mrrc instructions are used. That has the effect of swapping
two words.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:38 -07:00
Victor Kamensky
64054c25cf ARM: KVM: fix vgic V7 assembler code to work in BE image
The vgic h/w registers are little endian; when BE asm code
reads/writes from/to them, it needs to do byteswap after/before.
Byteswap code uses ARM_BE8 wrapper to add swap only if
CONFIG_CPU_BIG_ENDIAN is configured.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:38 -07:00
Li Liu
af92394efc ARM: virt: fix wrong HSCTLR.EE bit setting
HSCTLR.EE is defined as bit[25] referring to arm manual
DDI0606C.b(p1590).

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Li Liu <john.liuli@huawei.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:38 -07:00
Marc Zyngier
1a9b13056d arm64: KVM: split GICv2 world switch from hyp code
Move the GICv2 world switch code into its own file, and add the
necessary indirection to the arm64 switch code.

Also introduce a new type field to the vgic_params structure.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:36 -07:00
Marc Zyngier
8f186d522c KVM: ARM: vgic: split GICv2 backend from the main vgic code
Brutally hack the innocent vgic code, and move the GICv2 specific code
to its own file, using vgic_ops and vgic_params as a way to pass
information between the two blocks.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:34 -07:00
Marc Zyngier
eede821dbf KVM: arm/arm64: vgic: move GICv2 registers to their own structure
In order to make way for the GICv3 registers, move the v2-specific
registers to their own structure.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:31 -07:00
Alex Bennée
1df08ba0aa arm64: KVM: allow export and import of generic timer regs
For correct guest suspend/resume behaviour we need to ensure we include
the generic timer registers for 64 bit guests. As CONFIG_KVM_ARM_TIMER is
always set for arm64 we don't need to worry about null implementations.
However I have re-jigged the kvm_arm_timer_set/get_reg declarations to
be in the common include/kvm/arm_arch_timer.h headers.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-07-11 04:46:55 -07:00
Kim Phillips
b88657674d ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping
A userspace process can map device MMIO memory via VFIO or /dev/mem,
e.g., for platform device passthrough support in QEMU.

During early development, we found the PAGE_S2 memory type being used
for MMIO mappings.  This patch corrects that by using the more strongly
ordered memory type for device MMIO mappings: PAGE_S2_DEVICE.

Signed-off-by: Kim Phillips <kim.phillips@linaro.org>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:46:53 -07:00