mbox

[P/master] kexec fixes for OMAP

Message ID 1326380319-5135-1-git-send-email-paolo.pisati@canonical.com
State New
Headers show

Pull-request

git://kernel.ubuntu.com/ppisati/ubuntu-precise.git master-kexecfix

Message

Paolo Pisati Jan. 12, 2012, 2:58 p.m. UTC
The following changes since commit ddb83416f852e38c46b46d523e717c086024fc0f:

  UBUNTU: Ubuntu-3.2.0-8.15 (2012-01-11 11:29:57 +0100)

are available in the git repository at:
  git://kernel.ubuntu.com/ppisati/ubuntu-precise.git master-kexecfix


This patchset is part of 3.3rc1 and fixes kexec on ARM: i restricted the
support to OMAP-only and even if the pull is pretty big, it is isolated
in arch/arm/*, so x86 will be safe to any fallout.

For more information about the original code:

http://permalink.gmane.org/gmane.linux.ports.arm.kernel/143308

All the patches are a straight cherry-pick, except for:

[PATCH 03/20] ARM: restart: allow platforms more flexibility specifying
restart mode

and

[PATCH 06/20] ARM: 7159/1: OMAP: Introduce local common.h files

where 2 trivial conflicts came up.

I'm proposing it for master, thus all the topic branches will get it via rebase.

Tested on BeagleXM.

Russell King (6):
      ARM: restart: add restart hook to machine_desc record
      ARM: restart: allow platforms more flexibility specifying restart mode
      ARM: restart: move reboot failure handing into machine_restart()
      ARM: restart: remove argument to setup_mm_for_reboot()
      ARM: restart: only perform setup for restart when soft-restarting
      ARM: restart: omap: use new restart hook

Santosh Shilimkar (1):
      ARM: 7189/1: OMAP3: Fix build break in cpuidle34xx.c because of irq function

Tony Lindgren (2):
      ARM: 7159/1: OMAP: Introduce local common.h files
      ARM: 7194/1: OMAP: Fix build after a merge between v3.2-rc4 and ARM restart changes

Will Deacon (10):
      ARM: idmap: populate identity map pgd at init time using .init.text
      ARM: suspend: use idmap_pgd instead of suspend_pgd
      ARM: proc-*.S: place cpu_reset functions into .idmap.text section
      ARM: idmap: use idmap_pgd when setting up mm for reboot
      ARM: head.S: only include __turn_mmu_on in the initial identity mapping
      ARM: SMP: use idmap_pgd for mapping MMU enable during secondary booting
      ARM: lib: add call_with_stack function for safely changing stack
      ARM: reset: implement soft_restart for jumping to a physical address
      ARM: stop: execute platform callback from cpu_stop code
      ARM: kexec: use soft_restart for branching to the reboot buffer

 arch/arm/Kconfig                                  |    2 +-
 arch/arm/include/asm/idmap.h                      |   14 ++
 arch/arm/include/asm/mach/arch.h                  |    9 +-
 arch/arm/include/asm/pgtable.h                    |    3 -
 arch/arm/include/asm/system.h                     |    1 +
 arch/arm/kernel/head.S                            |   18 +-
 arch/arm/kernel/machine_kexec.c                   |   15 +--
 arch/arm/kernel/process.c                         |   81 +++++++---
 arch/arm/kernel/setup.c                           |    7 +-
 arch/arm/kernel/sleep.S                           |    2 +
 arch/arm/kernel/smp.c                             |   36 +----
 arch/arm/kernel/suspend.c                         |   18 +--
 arch/arm/kernel/vmlinux.lds.S                     |    7 +
 arch/arm/lib/Makefile                             |    3 +-
 arch/arm/lib/call_with_stack.S                    |   44 +++++
 arch/arm/mach-clps711x/include/mach/system.h      |    2 +-
 arch/arm/mach-ebsa110/core.c                      |    2 +-
 arch/arm/mach-ebsa110/include/mach/system.h       |    2 +-
 arch/arm/mach-footbridge/cats-hw.c                |    2 +-
 arch/arm/mach-footbridge/include/mach/system.h    |    2 +-
 arch/arm/mach-iop32x/include/mach/system.h        |    2 +-
 arch/arm/mach-iop33x/include/mach/system.h        |    2 +-
 arch/arm/mach-ixp4xx/include/mach/system.h        |    2 +-
 arch/arm/mach-ks8695/include/mach/system.h        |    2 +-
 arch/arm/mach-mmp/include/mach/system.h           |    4 +-
 arch/arm/mach-mxs/system.c                        |    2 +-
 arch/arm/mach-omap1/board-ams-delta.c             |    3 +-
 arch/arm/mach-omap1/board-fsample.c               |    3 +-
 arch/arm/mach-omap1/board-generic.c               |    3 +-
 arch/arm/mach-omap1/board-h2.c                    |    3 +-
 arch/arm/mach-omap1/board-h3.c                    |    3 +-
 arch/arm/mach-omap1/board-htcherald.c             |    3 +-
 arch/arm/mach-omap1/board-innovator.c             |    3 +-
 arch/arm/mach-omap1/board-nokia770.c              |    3 +-
 arch/arm/mach-omap1/board-osk.c                   |    3 +-
 arch/arm/mach-omap1/board-palmte.c                |    3 +-
 arch/arm/mach-omap1/board-palmtt.c                |    3 +-
 arch/arm/mach-omap1/board-palmz71.c               |    3 +-
 arch/arm/mach-omap1/board-perseus2.c              |    3 +-
 arch/arm/mach-omap1/board-sx1.c                   |    3 +-
 arch/arm/mach-omap1/board-voiceblue.c             |    8 +-
 arch/arm/mach-omap1/common.h                      |   62 +++++++
 arch/arm/mach-omap1/devices.c                     |    2 +-
 arch/arm/mach-omap1/reset.c                       |    5 +-
 arch/arm/mach-omap1/time.c                        |    2 +-
 arch/arm/mach-omap1/timer32k.c                    |    2 +-
 arch/arm/mach-omap2/board-2430sdp.c               |    3 +-
 arch/arm/mach-omap2/board-3430sdp.c               |    3 +-
 arch/arm/mach-omap2/board-3630sdp.c               |    3 +-
 arch/arm/mach-omap2/board-4430sdp.c               |    4 +-
 arch/arm/mach-omap2/board-am3517crane.c           |    3 +-
 arch/arm/mach-omap2/board-am3517evm.c             |    3 +-
 arch/arm/mach-omap2/board-apollon.c               |    3 +-
 arch/arm/mach-omap2/board-cm-t35.c                |    4 +-
 arch/arm/mach-omap2/board-cm-t3517.c              |    3 +-
 arch/arm/mach-omap2/board-devkit8000.c            |    3 +-
 arch/arm/mach-omap2/board-generic.c               |    7 +-
 arch/arm/mach-omap2/board-h4.c                    |    3 +-
 arch/arm/mach-omap2/board-igep0020.c              |    4 +-
 arch/arm/mach-omap2/board-ldp.c                   |    3 +-
 arch/arm/mach-omap2/board-n8x0.c                  |    5 +-
 arch/arm/mach-omap2/board-omap3beagle.c           |    3 +-
 arch/arm/mach-omap2/board-omap3evm.c              |    3 +-
 arch/arm/mach-omap2/board-omap3logic.c            |    4 +-
 arch/arm/mach-omap2/board-omap3pandora.c          |    3 +-
 arch/arm/mach-omap2/board-omap3stalker.c          |    3 +-
 arch/arm/mach-omap2/board-omap3touchbook.c        |    3 +-
 arch/arm/mach-omap2/board-omap4panda.c            |    4 +-
 arch/arm/mach-omap2/board-overo.c                 |    3 +-
 arch/arm/mach-omap2/board-rm680.c                 |    3 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c      |    2 +-
 arch/arm/mach-omap2/board-rx51.c                  |    3 +-
 arch/arm/mach-omap2/board-ti8168evm.c             |    3 +-
 arch/arm/mach-omap2/board-zoom-peripherals.c      |    2 +-
 arch/arm/mach-omap2/board-zoom.c                  |    4 +-
 arch/arm/mach-omap2/cm2xxx_3xxx.c                 |    2 +-
 arch/arm/mach-omap2/cm44xx.c                      |    2 +-
 arch/arm/mach-omap2/cminst44xx.c                  |    2 +-
 arch/arm/mach-omap2/common.c                      |    2 +-
 arch/arm/mach-omap2/common.h                      |  186 +++++++++++++++++++++
 arch/arm/mach-omap2/control.c                     |    2 +-
 arch/arm/mach-omap2/cpuidle34xx.c                 |    1 +
 arch/arm/mach-omap2/display.c                     |    3 +-
 arch/arm/mach-omap2/i2c.c                         |    2 +-
 arch/arm/mach-omap2/id.c                          |    2 +-
 arch/arm/mach-omap2/include/mach/omap4-common.h   |   43 -----
 arch/arm/mach-omap2/io.c                          |    4 +-
 arch/arm/mach-omap2/omap-hotplug.c                |    3 +-
 arch/arm/mach-omap2/omap-smp.c                    |    3 +-
 arch/arm/mach-omap2/omap4-common.c                |    3 +-
 arch/arm/mach-omap2/omap_hwmod.c                  |    2 +-
 arch/arm/mach-omap2/pm.c                          |    2 +-
 arch/arm/mach-omap2/pm24xx.c                      |    1 +
 arch/arm/mach-omap2/pm34xx.c                      |    1 +
 arch/arm/mach-omap2/pm44xx.c                      |    2 +-
 arch/arm/mach-omap2/prcm.c                        |    7 +-
 arch/arm/mach-omap2/prcm_mpu44xx.c                |    2 +-
 arch/arm/mach-omap2/prm2xxx_3xxx.c                |    2 +-
 arch/arm/mach-omap2/prm44xx.c                     |    2 +-
 arch/arm/mach-omap2/prminst44xx.c                 |    2 +-
 arch/arm/mach-omap2/sdram-nokia.c                 |    2 +-
 arch/arm/mach-omap2/sdrc.c                        |    2 +-
 arch/arm/mach-omap2/sdrc2xxx.c                    |    2 +-
 arch/arm/mach-omap2/serial.c                      |    2 +-
 arch/arm/mach-omap2/smartreflex.c                 |    2 +-
 arch/arm/mach-omap2/timer.c                       |    2 +-
 arch/arm/mach-omap2/vc3xxx_data.c                 |    2 +-
 arch/arm/mach-omap2/vc44xx_data.c                 |    2 +-
 arch/arm/mach-omap2/voltage.c                     |    2 +-
 arch/arm/mach-omap2/voltagedomains3xxx_data.c     |    2 +-
 arch/arm/mach-omap2/voltagedomains44xx_data.c     |    2 +-
 arch/arm/mach-omap2/vp.c                          |    2 +-
 arch/arm/mach-omap2/vp3xxx_data.c                 |    2 +-
 arch/arm/mach-omap2/vp44xx_data.c                 |    2 +-
 arch/arm/mach-pnx4008/include/mach/system.h       |    2 +-
 arch/arm/mach-pxa/reset.c                         |    2 +-
 arch/arm/mach-rpc/include/mach/system.h           |    2 +-
 arch/arm/mach-s3c2410/include/mach/system-reset.h |    4 +-
 arch/arm/mach-s3c64xx/include/mach/system.h       |    2 +-
 arch/arm/mach-sa1100/include/mach/system.h        |    2 +-
 arch/arm/mach-shmobile/include/mach/system.h      |    2 +-
 arch/arm/mach-w90x900/include/mach/system.h       |    2 +-
 arch/arm/mm/idmap.c                               |   65 ++++----
 arch/arm/mm/nommu.c                               |    2 +-
 arch/arm/mm/proc-arm1020.S                        |    3 +
 arch/arm/mm/proc-arm1020e.S                       |    3 +
 arch/arm/mm/proc-arm1022.S                        |    3 +
 arch/arm/mm/proc-arm1026.S                        |    3 +
 arch/arm/mm/proc-arm6_7.S                         |    4 +
 arch/arm/mm/proc-arm720.S                         |    3 +
 arch/arm/mm/proc-arm740.S                         |    3 +
 arch/arm/mm/proc-arm7tdmi.S                       |    3 +
 arch/arm/mm/proc-arm920.S                         |    3 +
 arch/arm/mm/proc-arm922.S                         |    3 +
 arch/arm/mm/proc-arm925.S                         |    3 +
 arch/arm/mm/proc-arm926.S                         |    3 +
 arch/arm/mm/proc-arm940.S                         |    3 +
 arch/arm/mm/proc-arm946.S                         |    3 +
 arch/arm/mm/proc-arm9tdmi.S                       |    3 +
 arch/arm/mm/proc-fa526.S                          |    3 +
 arch/arm/mm/proc-feroceon.S                       |    3 +
 arch/arm/mm/proc-mohawk.S                         |    3 +
 arch/arm/mm/proc-sa110.S                          |    3 +
 arch/arm/mm/proc-sa1100.S                         |    3 +
 arch/arm/mm/proc-v6.S                             |    3 +
 arch/arm/mm/proc-v7.S                             |    2 +
 arch/arm/mm/proc-xsc3.S                           |    3 +
 arch/arm/mm/proc-xscale.S                         |    3 +
 arch/arm/plat-mxc/system.c                        |    2 +-
 arch/arm/plat-omap/include/plat/common.h          |   81 ---------
 arch/arm/plat-omap/include/plat/io.h              |   68 --------
 arch/arm/plat-omap/include/plat/irqs.h            |   10 -
 arch/arm/plat-omap/include/plat/system.h          |    4 +-
 arch/arm/plat-spear/include/plat/system.h         |    2 +-
 154 files changed, 683 insertions(+), 456 deletions(-)
 create mode 100644 arch/arm/include/asm/idmap.h
 create mode 100644 arch/arm/lib/call_with_stack.S
 create mode 100644 arch/arm/mach-omap1/common.h
 create mode 100644 arch/arm/mach-omap2/common.h
 delete mode 100644 arch/arm/mach-omap2/include/mach/omap4-common.h

Comments

Tim Gardner Jan. 12, 2012, 4:20 p.m. UTC | #1
On 01/12/2012 03:58 PM, Paolo Pisati wrote:
> git://kernel.ubuntu.com/ppisati/ubuntu-precise.git master-kexecfix