1. 08 12月, 2011 5 次提交
  2. 06 12月, 2011 2 次提交
    • W
      ARM: SMP: use idmap_pgd for mapping MMU enable during secondary booting · 4e8ee7de
      Will Deacon 提交于
      The ARM SMP booting code allocates a temporary set of page tables
      containing an identity mapping of the kernel image and provides this
      to secondary CPUs for initial booting.
      
      In reality, we only need to include the __turn_mmu_on function in the
      identity mapping since the rest of the kernel is executing from virtual
      addresses after this point.
      
      This patch adds __turn_mmu_on to the .idmap.text section, allowing the
      SMP booting code to use the idmap_pgd directly and not have to populate
      its own set of page table.
      
      As a result of this patch, we can make the identity_mapping_add function
      static (since it is only used within mm/idmap.c) and also remove the
      identity_mapping_del function. The identity map population is moved to
      an early initcall so that it is setup in time for secondary CPU bringup.
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      4e8ee7de
    • W
      ARM: idmap: populate identity map pgd at init time using .init.text · 8903826d
      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: NDave Martin <dave.martin@linaro.org>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Tested-by: NLorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      8903826d
  3. 21 11月, 2011 1 次提交
  4. 16 11月, 2011 6 次提交
  5. 11 11月, 2011 2 次提交
  6. 31 10月, 2011 4 次提交
  7. 23 10月, 2011 3 次提交
  8. 17 10月, 2011 15 次提交
  9. 15 10月, 2011 1 次提交
    • S
      ARM: 7122/1: localtimer: add header linux/errno.h explicitly · bb1ac3ec
      Shawn Guo 提交于
      Per the text in  Documentation/SubmitChecklist as below, we should
      explicitly have header linux/errno.h in localtimer.h for ENXIO
      reference.
      
      1: If you use a facility then #include the file that defines/declares
         that facility.  Don't depend on other header files pulling in ones
         that you use.
      
      Otherwise, we may run into some compiling error like the following one,
      if any file includes localtimer.h without CONFIG_LOCAL_TIMERS defined.
      
        arch/arm/include/asm/localtimer.h: In function ‘local_timer_setup’:
        arch/arm/include/asm/localtimer.h:53:10: error: ‘ENXIO’ undeclared (first use in this function)
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      bb1ac3ec
  10. 14 10月, 2011 1 次提交
    • N
      ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H · 0cdc8b92
      Nicolas Pitre 提交于
      Given that we want the default to not have any <mach/memory.h> and given
      that there are now fewer cases where it is still provided than the cases
      where it is not at this point, this makes sense to invert the logic and
      just identify the exception cases.
      
      The word "need" instead of "have" was chosen to construct the config
      symbol so not to suggest that having a mach/memory.h file is actually
      a feature that one should aim for.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      0cdc8b92