1. 24 1月, 2015 2 次提交
    • S
      arm64: Emulate SETEND for AArch32 tasks · 2d888f48
      Suzuki K. Poulose 提交于
      Emulate deprecated 'setend' instruction for AArch32 bit tasks.
      
      	setend [le/be] - Sets the endianness of EL0
      
      On systems with CPUs which support mixed endian at EL0, the hardware
      support for the instruction can be enabled by setting the SCTLR_EL1.SED
      bit. Like the other emulated instructions it is controlled by an entry in
      /proc/sys/abi/. For more information see :
      	Documentation/arm64/legacy_instructions.txt
      
      The instruction is emulated by setting/clearing the SPSR_EL1.E bit, which
      will be reflected in the PSTATE.E in AArch32 context.
      
      This patch also restores the native endianness for the execution of signal
      handlers, since the process could have changed the endianness.
      
      Note: All CPUs on the system must have mixed endian support at EL0. Once the
      handler is registered, hotplugging a CPU which doesn't support mixed endian,
      could lead to unexpected results/behavior in applications.
      Signed-off-by: NSuzuki K. Poulose <suzuki.poulose@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Punit Agrawal <punit.agrawal@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      2d888f48
    • S
      arm64: Consolidate hotplug notifier for instruction emulation · 736d474f
      Suzuki K. Poulose 提交于
      As of now each insn_emulation has a cpu hotplug notifier that
      enables/disables the CPU feature bit for the functionality. This
      patch re-arranges the code, such that there is only one notifier
      that runs through the list of registered emulation hooks and runs
      their corresponding set_hw_mode.
      
      We do nothing when a CPU is dying as we will set the appropriate bits
      as it comes back online based on the state of the hooks.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NSuzuki K. Poulose <suzuki.poulose@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Punit Agrawal <punit.agrawal@arm.com>
      [catalin.marinas@arm.com: fix pr_warn compilation error]
      [catalin.marinas@arm.com: remove unnecessary "insn" check]
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      736d474f
  2. 25 11月, 2014 1 次提交
  3. 21 11月, 2014 4 次提交