06 Dec, 2011

5 commits

  • The CPU reset functions disable the MMU and therefore must be executed
    with an identity mapping in place.

    This patch places the CPU reset functions into the .idmap.text section,
    causing the idmap code to include them as part of the identity mapping.

    Acked-by: Dave Martin
    Signed-off-by: Will Deacon

    Will Deacon
     
  • The ARM CPU suspend code requires cpu_resume_mmu to be identity mapped
    in order to re-enable the MMU when coming out of suspend. Currently,
    this is accomplished by maintaining a suspend_pgd with the relevant
    mapping put in place at init time.

    This patch replaces the use of suspend_pgd with the new idmap_pgd.
    cpu_resume_mmu is placed in the .idmap.text section so that it is
    included in the identity map.

    Reviewed-by: Catalin Marinas
    Acked-by: Dave Martin
    Tested-by: Lorenzo Pieralisi
    Signed-off-by: Will Deacon

    Will Deacon
     
  • When disabling and re-enabling the MMU, it is necessary to take out an
    identity mapping for the code that manipulates the SCTLR in order to
    avoid it disappearing from under our feet. This is useful when soft
    rebooting and returning from CPU suspend.

    This patch allocates a set of page tables during boot and populates them
    with an identity mapping for the .idmap.text section. This means that
    users of the identity map do not need to manage their own pgd and can
    instead annotate their functions with __idmap or, in the case of assembly
    code, place them in the correct section.

    Acked-by: Dave Martin
    Reviewed-by: Catalin Marinas
    Tested-by: Lorenzo Pieralisi
    Signed-off-by: Will Deacon

    Will Deacon
     
  • Fix the below build break by including common.h

    arch/arm/mach-omap2/cpuidle34xx.c: In function 'omap3_enter_idle':
    arch/arm/mach-omap2/cpuidle34xx.c:117: error: implicit declaration of function 'omap_irq_pending'
    make[1]: *** [arch/arm/mach-omap2/cpuidle34xx.o] Error 1
    make: *** [arch/arm/mach-omap2] Error 2

    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Russell King

    Santosh Shilimkar
     
  • Fix the build break by adding the necessary irq functions to
    common header.

    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Russell King

    Santosh Shilimkar
     

03 Dec, 2011

1 commit


02 Dec, 2011

2 commits

  • Trivial fix to fix below build error:

    CC arch/arm/mach-exynos/mach-universal_c210.o
    arch/arm/mach-exynos/mach-universal_c210.c:24: error: expected identifier or '(' before '
    Signed-off-by: Marc Zyngier

    Axel Lin
     
  • Fix below build error:
    CC arch/arm/mach-exynos/cpu.o
    arch/arm/mach-exynos/cpu.c: In function 'exynos4_init_irq':
    arch/arm/mach-exynos/cpu.c:245: error: 'gic_bank_offset' undeclared (first use in this function)
    arch/arm/mach-exynos/cpu.c:245: error: (Each undeclared identifier is reported only once
    arch/arm/mach-exynos/cpu.c:245: error: for each function it appears in.)
    arch/arm/mach-exynos/cpu.c:243: warning: unused variable 'bank_offset'
    make[1]: *** [arch/arm/mach-exynos/cpu.o] Error 1
    make: *** [arch/arm/mach-exynos] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: Marc Zyngier

    Axel Lin
     

22 Nov, 2011

1 commit


21 Nov, 2011

4 commits

  • Russell King
     
  • The poodle restart handler was added in 74617fb6b8 (3593/1: Add reboot
    and shutdown handlers for Zaurus handhelds), and at that time it was
    necessary to deal with the RCSR register. This commit also forced all
    restarts to use the 'hard' restart method.

    In dc38e2ad53 (pxa: Fix RCSR handling), the RCSR handling was removed,
    leaving just the forcing to use a 'hard' restart. As hard restarts are
    the default (in the absense of a reboot= command line argument), this
    seems pointless. In any case, Richard Purdie says:

    > From what I remember that hardware either always reboots or always
    > halts. I think the option was therefore left hardcoded to make it clear
    > it wasn't expected to work. Later Zaurii models could do either but
    > required some manual poking of registers to make it happen iirc.
    >
    > Regardless, you can probably clean this up as you suggest now.

    So, lets remove the unnecessary interception and rely on the default
    restart mode.

    Acked-by: Richard Purdie
    Signed-off-by: Russell King

    Russell King
     
  • Rather than having separate extern declarations in nuc9*.h, provide
    a common header file containing these definitions.

    Tested-by: Wan Zongshun
    Signed-off-by: Russell King

    Russell King
     
  • We only need to set the system up for a soft-restart if we're going to
    be doing a soft-restart. Provide a new function (soft_restart()) which
    does the setup and final call for this, and make platforms use it.
    Eliminate the call to setup_restart() from the default handler.

    This means that platforms arch_reset() function is no longer called with
    the page tables prepared for a soft-restart, and caches will still be
    enabled.

    Acked-by: Nicolas Pitre
    Acked-by: Will Deacon
    Acked-by: H Hartley Sweeten
    Acked-by: Kukjin Kim
    Acked-by: Sascha Hauer
    Acked-by: Viresh Kumar
    Acked-by: Krzysztof Ha■asa
    Acked-by: Paul Mundt
    Acked-by: Richard Purdie
    Acked-by: Wan ZongShun
    Acked-by: Eric Miao
    Signed-off-by: Russell King

    Russell King
     

18 Nov, 2011

3 commits


16 Nov, 2011

24 commits