[GIT PULL 4/4] mach-virt platform code for 3.9

Will Deacon will.deacon at arm.com
Mon Feb 4 08:55:31 EST 2013


NOTE: I'm not suggesting you pull this one as it stands -- see below!

This is the last batch from me (Marc is dealing with vgic and virtual
timers) and introduces support for mach-virt. This depends on:

	- for-arm-soc/arch-timers (third pull request in this series)
	- for-rmk/virt/psci (already pulled)
	- irqchip/gic-vic-move (an arm-soc branch)

As a result, the diffstat is atrocious so it would be better if you
could create a branch merging the above dependendies, which I could
rebase onto (there's actually only two patches here).

Cheers,

Will

--->8

The following changes since commit 04c2eee5b9dfcb13f3cd07a5537fb8c785f2751a:

  Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-01-31 17:10:36 +1100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-arm-soc/virt/mach

for you to fetch changes up to 4de3abb348d7a5bd6ddbfc26c34e0ee549874249:

  ARM: mach-virt: add SMP support using PSCI (2013-02-02 15:05:33 +0000)

----------------------------------------------------------------
Marc Zyngier (2):
      ARM: arch_timers: switch to physical timers if HYP mode is available
      ARM: Dummy Virtual Machine platform support

Mark Rutland (17):
      arm: arch_timer: balance device_node refcounting
      arm: arch_timer: remove redundant available check
      arm: arch_timer: use u64/u32 for register data
      arm: arch_timer: standardise counter reading
      arm: arch_timer: split cntfrq accessor
      arm: arch_timer: factor out register accessors
      arm: arch_timer: add isbs to register accessors
      arm: arch_timer: divorce from local_timer api
      arm: arch_timer: add arch_counter_set_user_access
      arm: arch_timer: move core to drivers/clocksource
      arm64: arm_generic: prevent reading stale time
      arm64: move from arm_generic to arm_arch_timer
      Documentation: Add ARMv8 to arch_timer devicetree
      clockevents: Add generic timer broadcast receiver
      clockevents: Add generic timer broadcast function
      arm: Use generic timer broadcast receiver
      arm: Add generic timer broadcast support

Rob Herring (16):
      ARM: GIC: remove assembly ifdefs from gic.h
      ARM: GIC: remove direct use of gic_raise_softirq
      ARM: GIC: set handle_arch_irq in GIC initialization
      ARM: remove mach .handle_irq for GIC users
      irqchip: Move ARM GIC to drivers/irqchip
      ARM: use common irqchip_init for GIC init
      irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
      ARM: VIC: shrink down vic.h
      ARM: VIC: set handle_arch_irq in VIC initialization
      ARM: remove mach .handle_irq for VIC users
      ARM: remove unneeded vic.h includes
      ARM: samsung: remove unused tick.h
      irqchip: Move ARM VIC to drivers/irqchip
      ARM: spear: use common irqchip_init function
      ARM: picoxcell: use common irqchip_init function
      irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h

Srinidhi Kasagar (1):
      ARM: mach-ux500: use SGI0 to wake up the other core

Thomas Petazzoni (3):
      irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS
      irqchip: add basic infrastructure
      arm: add set_handle_irq() to register the parent IRQ controller handler function

Will Deacon (10):
      ARM: opcodes: add missing include of linux/linkage.h
      ARM: opcodes: add opcodes definitions for ARM security extensions
      ARM: psci: add devicetree binding for describing PSCI firmware
      ARM: psci: add support for PSCI invocations from the kernel
      Merge branch 'timers/for-arm' of git://git.kernel.org/.../tip/tip into for-rmk/broadcast
      Merge branch 'clocks/broadcast-arm' of git://linux-arm.org/linux-mr into for-rmk/broadcast
      Merge branch 'for-will/arch-timer-unification' of git://linux-arm.org/linux-mr into for-arm-soc/arch-timers
      Merge branch 'for-rmk/virt/psci' into for-arm-soc/virt/mach
      Merge branch 'irqchip/gic-vic-move' of git://git.kernel.org/.../arm/arm-soc into for-arm-soc/virt/mach
      ARM: mach-virt: add SMP support using PSCI

 .../devicetree/bindings/arm/arch_timer.txt         |   7 +-
 Documentation/devicetree/bindings/arm/psci.txt     |  55 +++
 MAINTAINERS                                        |   1 +
 arch/arm/Kconfig                                   |  16 +-
 arch/arm/Makefile                                  |   1 +
 arch/arm/common/Kconfig                            |  23 -
 arch/arm/common/Makefile                           |   2 -
 arch/arm/include/asm/arch_timer.h                  | 109 ++++-
 arch/arm/include/asm/mach/irq.h                    |   1 +
 .../arm/include/asm/opcodes-sec.h                  |  19 +-
 arch/arm/include/asm/opcodes.h                     |   1 +
 arch/arm/include/asm/psci.h                        |  36 ++
 arch/arm/kernel/Makefile                           |   1 +
 arch/arm/kernel/arch_timer.c                       | 504 +--------------------
 arch/arm/kernel/irq.c                              |  10 +
 arch/arm/kernel/psci.c                             | 211 +++++++++
 arch/arm/kernel/smp.c                              |  16 +-
 arch/arm/kernel/smp_twd.c                          |   1 -
 arch/arm/mach-bcm/board_bcm.c                      |  17 +-
 arch/arm/mach-cns3xxx/cns3420vb.c                  |   2 -
 arch/arm/mach-cns3xxx/core.c                       |   2 +-
 arch/arm/mach-ep93xx/adssphere.c                   |   2 -
 arch/arm/mach-ep93xx/core.c                        |   3 +-
 arch/arm/mach-ep93xx/edb93xx.c                     |   9 -
 arch/arm/mach-ep93xx/gesbc9312.c                   |   2 -
 arch/arm/mach-ep93xx/micro9.c                      |   5 -
 arch/arm/mach-ep93xx/simone.c                      |   2 -
 arch/arm/mach-ep93xx/snappercl15.c                 |   2 -
 arch/arm/mach-ep93xx/ts72xx.c                      |   2 -
 arch/arm/mach-ep93xx/vision_ep9307.c               |   2 -
 arch/arm/mach-exynos/common.c                      |  10 +-
 arch/arm/mach-exynos/include/mach/regs-irq.h       |   2 +-
 arch/arm/mach-exynos/mach-armlex4210.c             |   2 -
 arch/arm/mach-exynos/mach-exynos4-dt.c             |   2 -
 arch/arm/mach-exynos/mach-exynos5-dt.c             |   2 -
 arch/arm/mach-exynos/mach-nuri.c                   |   2 -
 arch/arm/mach-exynos/mach-origen.c                 |   2 -
 arch/arm/mach-exynos/mach-smdk4x12.c               |   3 -
 arch/arm/mach-exynos/mach-smdkv310.c               |   3 -
 arch/arm/mach-exynos/mach-universal_c210.c         |   2 -
 arch/arm/mach-exynos/mct.c                         |   1 -
 arch/arm/mach-exynos/platsmp.c                     |   6 +-
 arch/arm/mach-highbank/highbank.c                  |  11 +-
 arch/arm/mach-highbank/platsmp.c                   |   6 +-
 arch/arm/mach-imx/common.h                         |   1 -
 arch/arm/mach-imx/gpc.c                            |   2 +-
 arch/arm/mach-imx/mach-imx6q.c                     |  10 +-
 arch/arm/mach-imx/platsmp.c                        |   4 +-
 arch/arm/mach-msm/board-dt-8660.c                  |  16 +-
 arch/arm/mach-msm/board-dt-8960.c                  |  16 +-
 arch/arm/mach-msm/platsmp.c                        |   6 +-
 arch/arm/mach-msm/timer.c                          |   1 -
 arch/arm/mach-netx/generic.c                       |   2 +-
 arch/arm/mach-netx/nxdb500.c                       |   2 -
 arch/arm/mach-netx/nxdkn.c                         |   2 -
 arch/arm/mach-netx/nxeb500hmi.c                    |   2 -
 arch/arm/mach-nomadik/board-nhk8815.c              |   2 -
 arch/arm/mach-nomadik/cpu-8815.c                   |   2 +-
 arch/arm/mach-omap2/Kconfig                        |   2 +-
 arch/arm/mach-omap2/board-4430sdp.c                |   3 +-
 arch/arm/mach-omap2/board-generic.c                |   3 -
 arch/arm/mach-omap2/board-omap4panda.c             |   3 +-
 arch/arm/mach-omap2/omap-smp.c                     |   6 +-
 arch/arm/mach-omap2/omap-wakeupgen.c               |   3 +-
 arch/arm/mach-omap2/omap4-common.c                 |  11 +-
 arch/arm/mach-picoxcell/common.c                   |  15 +-
 arch/arm/mach-realview/core.c                      |   1 -
 arch/arm/mach-realview/platsmp.c                   |   3 -
 arch/arm/mach-realview/realview_eb.c               |   3 +-
 arch/arm/mach-realview/realview_pb1176.c           |   3 +-
 arch/arm/mach-realview/realview_pb11mp.c           |   3 +-
 arch/arm/mach-realview/realview_pba8.c             |   3 +-
 arch/arm/mach-realview/realview_pbx.c              |   3 +-
 arch/arm/mach-s3c64xx/common.c                     |   2 +-
 arch/arm/mach-s3c64xx/include/mach/regs-irq.h      |   1 -
 arch/arm/mach-s3c64xx/include/mach/tick.h          |   2 +
 arch/arm/mach-s3c64xx/mach-anw6410.c               |   2 -
 arch/arm/mach-s3c64xx/mach-crag6410.c              |   2 -
 arch/arm/mach-s3c64xx/mach-hmt.c                   |   2 -
 arch/arm/mach-s3c64xx/mach-mini6410.c              |   2 -
 arch/arm/mach-s3c64xx/mach-ncp.c                   |   2 -
 arch/arm/mach-s3c64xx/mach-real6410.c              |   2 -
 arch/arm/mach-s3c64xx/mach-smartq5.c               |   2 -
 arch/arm/mach-s3c64xx/mach-smartq7.c               |   2 -
 arch/arm/mach-s3c64xx/mach-smdk6400.c              |   2 -
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |   2 -
 arch/arm/mach-s5p64x0/include/mach/regs-irq.h      |   1 -
 arch/arm/mach-s5p64x0/include/mach/tick.h          |  29 --
 arch/arm/mach-s5p64x0/mach-smdk6440.c              |   2 -
 arch/arm/mach-s5p64x0/mach-smdk6450.c              |   2 -
 arch/arm/mach-s5pc100/include/mach/regs-irq.h      |   1 -
 arch/arm/mach-s5pc100/include/mach/tick.h          |   2 +
 arch/arm/mach-s5pc100/mach-smdkc100.c              |   2 -
 arch/arm/mach-s5pv210/include/mach/regs-irq.h      |   1 -
 arch/arm/mach-s5pv210/include/mach/tick.h          |  26 --
 arch/arm/mach-s5pv210/mach-aquila.c                |   2 -
 arch/arm/mach-s5pv210/mach-goni.c                  |   2 -
 arch/arm/mach-s5pv210/mach-smdkc110.c              |   2 -
 arch/arm/mach-s5pv210/mach-smdkv210.c              |   2 -
 arch/arm/mach-s5pv210/mach-torbreck.c              |   2 -
 arch/arm/mach-shmobile/board-ag5evm.c              |   3 +-
 arch/arm/mach-shmobile/board-kota2.c               |   3 +-
 arch/arm/mach-shmobile/board-kzm9d.c               |   2 -
 arch/arm/mach-shmobile/board-kzm9g.c               |   3 +-
 arch/arm/mach-shmobile/board-marzen.c              |   2 -
 arch/arm/mach-shmobile/intc-r8a7779.c              |   2 +-
 arch/arm/mach-shmobile/intc-sh73a0.c               |   2 +-
 arch/arm/mach-shmobile/platsmp.c                   |   3 -
 arch/arm/mach-shmobile/setup-emev2.c               |  17 +-
 arch/arm/mach-shmobile/smp-emev2.c                 |   4 +-
 arch/arm/mach-shmobile/smp-r8a7779.c               |   2 +-
 arch/arm/mach-shmobile/smp-sh73a0.c                |   2 +-
 arch/arm/mach-socfpga/platsmp.c                    |   4 +-
 arch/arm/mach-socfpga/socfpga.c                    |  14 +-
 arch/arm/mach-spear13xx/include/mach/generic.h     |   1 -
 arch/arm/mach-spear13xx/platsmp.c                  |   4 +-
 arch/arm/mach-spear13xx/spear1310.c                |   5 +-
 arch/arm/mach-spear13xx/spear1340.c                |   5 +-
 arch/arm/mach-spear13xx/spear13xx.c                |  13 +-
 arch/arm/mach-spear3xx/include/mach/generic.h      |   1 -
 arch/arm/mach-spear3xx/spear300.c                  |   5 +-
 arch/arm/mach-spear3xx/spear310.c                  |   5 +-
 arch/arm/mach-spear3xx/spear320.c                  |   5 +-
 arch/arm/mach-spear3xx/spear3xx.c                  |  16 -
 arch/arm/mach-spear6xx/spear6xx.c                  |  16 +-
 arch/arm/mach-sunxi/sunxi.c                        |   2 -
 arch/arm/mach-tegra/board-dt-tegra20.c             |   3 -
 arch/arm/mach-tegra/board-dt-tegra30.c             |   2 -
 arch/arm/mach-tegra/common.c                       |  10 +-
 arch/arm/mach-tegra/irq.c                          |   3 +-
 arch/arm/mach-tegra/platsmp.c                      |   4 +-
 arch/arm/mach-u300/core.c                          |   3 +-
 arch/arm/mach-ux500/board-mop500.c                 |   5 -
 arch/arm/mach-ux500/cpu-db8500.c                   |   2 -
 arch/arm/mach-ux500/cpu.c                          |  10 +-
 arch/arm/mach-ux500/platsmp.c                      |   6 +-
 arch/arm/mach-versatile/core.c                     |   2 +-
 arch/arm/mach-versatile/versatile_ab.c             |   2 -
 arch/arm/mach-versatile/versatile_dt.c             |   2 -
 arch/arm/mach-versatile/versatile_pb.c             |   2 -
 arch/arm/mach-vexpress/ct-ca9x4.c                  |   4 +-
 arch/arm/mach-vexpress/platsmp.c                   |   3 -
 arch/arm/mach-vexpress/v2m.c                       |  16 +-
 arch/arm/mach-virt/Kconfig                         |  10 +
 arch/arm/mach-virt/Makefile                        |   6 +
 arch/arm/mach-virt/platsmp.c                       |  58 +++
 arch/arm/mach-virt/virt.c                          |  58 +++
 arch/arm/mach-zynq/common.c                        |  17 +-
 arch/arm/plat-samsung/s5p-irq-eint.c               |   3 +-
 arch/arm/plat-samsung/s5p-irq.c                    |   3 +-
 arch/arm/plat-versatile/platsmp.c                  |   4 +-
 arch/arm64/Kconfig                                 |   1 +
 arch/arm64/include/asm/arch_timer.h                | 133 ++++++
 arch/arm64/include/asm/arm_generic.h               | 100 ----
 arch/arm64/kernel/time.c                           |  29 +-
 drivers/clocksource/Kconfig                        |   6 +-
 drivers/clocksource/Makefile                       |   2 +-
 drivers/clocksource/arm_arch_timer.c               | 391 ++++++++++++++++
 drivers/clocksource/arm_generic.c                  | 232 ----------
 drivers/irqchip/Kconfig                            |  27 ++
 drivers/irqchip/Makefile                           |   6 +-
 arch/arm/common/gic.c => drivers/irqchip/irq-gic.c |  59 ++-
 arch/arm/common/vic.c => drivers/irqchip/irq-vic.c |  95 ++--
 drivers/irqchip/irqchip.c                          |  30 ++
 drivers/irqchip/irqchip.h                          |  29 ++
 drivers/irqchip/spear-shirq.c                      |   5 +
 drivers/mfd/db8500-prcmu.c                         |   2 +-
 include/asm-generic/vmlinux.lds.h                  |  12 +-
 include/clocksource/arm_arch_timer.h               |  63 +++
 include/linux/clockchips.h                         |   9 +
 include/linux/irqchip.h                            |  16 +
 .../gic.h => include/linux/irqchip/arm-gic.h       |  15 +-
 .../vic.h => include/linux/irqchip/arm-vic.h       |  25 +-
 kernel/time/Kconfig                                |   4 +
 kernel/time/tick-broadcast.c                       |  30 ++
 175 files changed, 1594 insertions(+), 1458 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/psci.txt
 rename include/clocksource/arm_generic.h => arch/arm/include/asm/opcodes-sec.h (60%)
 create mode 100644 arch/arm/include/asm/psci.h
 create mode 100644 arch/arm/kernel/psci.c
 delete mode 100644 arch/arm/mach-s5p64x0/include/mach/tick.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/tick.h
 create mode 100644 arch/arm/mach-virt/Kconfig
 create mode 100644 arch/arm/mach-virt/Makefile
 create mode 100644 arch/arm/mach-virt/platsmp.c
 create mode 100644 arch/arm/mach-virt/virt.c
 create mode 100644 arch/arm64/include/asm/arch_timer.h
 delete mode 100644 arch/arm64/include/asm/arm_generic.h
 create mode 100644 drivers/clocksource/arm_arch_timer.c
 delete mode 100644 drivers/clocksource/arm_generic.c
 rename arch/arm/common/gic.c => drivers/irqchip/irq-gic.c (97%)
 rename arch/arm/common/vic.c => drivers/irqchip/irq-vic.c (92%)
 create mode 100644 drivers/irqchip/irqchip.c
 create mode 100644 drivers/irqchip/irqchip.h
 create mode 100644 include/clocksource/arm_arch_timer.h
 create mode 100644 include/linux/irqchip.h
 rename arch/arm/include/asm/hardware/gic.h => include/linux/irqchip/arm-gic.h (77%)
 rename arch/arm/include/asm/hardware/vic.h => include/linux/irqchip/arm-vic.h (63%)




More information about the linux-arm-kernel mailing list