1. 13 12月, 2011 2 次提交
    • W
      ARM: reset: implement soft_restart for jumping to a physical address · 290130a1
      Will Deacon 提交于
      Tools such as kexec and CPU hotplug require a way to reset the processor
      and branch to some code in physical space. This requires various bits of
      jiggery pokery with the caches and MMU which, when it goes wrong, tends
      to lock up the system.
      
      This patch fleshes out the soft_restart implementation so that it
      branches to the reset code using the identity mapping. This requires us
      to change to a temporary stack, held within the kernel image as a static
      array, to avoid conflicting with the new view of memory.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      290130a1
    • W
      ARM: lib: add call_with_stack function for safely changing stack · 2d81f1fe
      Will Deacon 提交于
      When disabling the MMU, it is necessary to take out a 1:1 identity map
      of the reset code so that it can safely be executed with and without
      the MMU active. To avoid the situation where the physical address of the
      reset code aliases with the virtual address of the active stack (which
      cannot be included in the 1:1 mapping), it is desirable to change to a
      new stack at a location which is less likely to alias.
      
      This code adds a new lib function, call_with_stack:
      
      	void call_with_stack(void (*fn)(void *), void *arg, void *sp);
      
      which changes the stack to point at the sp parameter, before invoking
      fn(arg) with the new stack selected.
      Reviewed-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      2d81f1fe
  2. 11 12月, 2011 1 次提交
  3. 09 12月, 2011 1 次提交
  4. 08 12月, 2011 15 次提交
  5. 07 12月, 2011 2 次提交
  6. 06 12月, 2011 11 次提交
  7. 03 12月, 2011 1 次提交
  8. 02 12月, 2011 7 次提交