1. 20 3月, 2015 10 次提交
  2. 19 3月, 2015 6 次提交
  3. 18 3月, 2015 4 次提交
    • S
      arm64: Adjust EFI libstub object include logic · ad08fd49
      Steve Capper 提交于
      Commit f4f75ad5 ("efi: efistub: Convert into static library")
      introduced a static library for EFI stub, libstub.
      
      The EFI libstub directory is referenced by the kernel build system via
      a obj subdirectory rule in:
      drivers/firmware/efi/Makefile
      
      Unfortunately, arm64 also references the EFI libstub via:
      libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/
      
      If we're unlucky, the kernel build system can enter libstub via two
      simultaneous threads resulting in build failures such as:
      
      fixdep: error opening depfile: drivers/firmware/efi/libstub/.efi-stub-helper.o.d: No such file or directory
      scripts/Makefile.build:257: recipe for target 'drivers/firmware/efi/libstub/efi-stub-helper.o' failed
      make[1]: *** [drivers/firmware/efi/libstub/efi-stub-helper.o] Error 2
      Makefile:939: recipe for target 'drivers/firmware/efi/libstub' failed
      make: *** [drivers/firmware/efi/libstub] Error 2
      make: *** Waiting for unfinished jobs....
      
      This patch adjusts the arm64 Makefile to reference the compiled library
      explicitly (as is currently done in x86), rather than the directory.
      
      Fixes: f4f75ad5 efi: efistub: Convert into static library
      Signed-off-by: NSteve Capper <steve.capper@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      ad08fd49
    • M
      arm64: log CPU boot modes · 667f3fd3
      Mark Rutland 提交于
      We currently don't log the boot mode for arm64 as we do for arm, and
      without KVM the user is provided with no indication as to which mode(s)
      CPUs were booted in, which can seriously hinder debugging in some cases.
      
      Add logging to the boot path once all CPUs are up. Where CPUs are
      mismatched in violation of the boot protocol, WARN and set a taint (as
      we do for CPU other CPU feature mismatches) given that the
      firmware/bootloader is buggy and should be fixed.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Tested-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      667f3fd3
    • M
      arm64: fix hyp mode mismatch detection · 424a3838
      Mark Rutland 提交于
      Commit 828e9834 ("arm64: head: create a new function for setting
      the boot_cpu_mode flag") added BOOT_CPU_MODE_EL1, a nonzero value
      replacing uses of zero. However it failed to update __boot_cpu_mode
      appropriately.
      
      A CPU booted at EL2 writes BOOT_CPU_MODE_EL2 to __boot_cpu_mode[0], and
      a CPU booted at EL1 writes BOOT_CPU_MODE_EL1 to __boot_cpu_mode[1].
      Later is_hyp_mode_mismatched() determines there to be a mismatch if
      __boot_cpu_mode[0] != __boot_cpu_mode[1].
      
      If all CPUs are booted at EL1, __boot_cpu_mode[0] will be set to
      BOOT_CPU_MODE_EL1, but __boot_cpu_mode[1] will retain its initial value
      of zero, and is_hyp_mode_mismatched will erroneously determine that the
      boot modes are mismatched. This hasn't been a problem so far, but later
      patches which will make use of is_hyp_mode_mismatched() expect it to
      work correctly.
      
      This patch initialises __boot_cpu_mode[1] to BOOT_CPU_MODE_EL1, fixing
      the erroneous mismatch detection when all CPUs are booted at EL1.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Tested-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      424a3838
    • M
      arm64: apply alternatives for !SMP kernels · 137650aa
      Mark Rutland 提交于
      Currently we only perform alternative patching for kernels built with
      CONFIG_SMP, as we call apply_alternatives_all() in smp.c, which is only
      built for CONFIG_SMP. Thus !SMP kernels may not have necessary
      alternatives patched in.
      
      This patch ensures that we call apply_alternatives_all() once all CPUs
      are booted, even for !SMP kernels, by having the smp_init_cpus() stub
      call this for !SMP kernels via up_late_init. A new wrapper,
      do_post_cpus_up_work, is added so we can hook other calls here later
      (e.g. boot mode logging).
      
      Cc: Andre Przywara <andre.przywara@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Fixes: e039ee4e ("arm64: add alternative runtime patching")
      Tested-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      137650aa
  4. 17 3月, 2015 1 次提交
  5. 14 3月, 2015 3 次提交
  6. 13 3月, 2015 1 次提交
  7. 12 3月, 2015 2 次提交
    • C
      nios2: update pt_regs · 92d5dd8c
      Chung-Ling Tang 提交于
      Remove struct pt_regs from user header and use generic ucontext.h.
      Signed-off-by: NChung-Ling Tang <cltang@codesourcery.com>
      Acked-by: NLey Foon Tan <lftan@altera.com>
      92d5dd8c
    • S
      ARM: imx: fix struct clk pointer comparing · a51139fd
      Shawn Guo 提交于
      Since commit 035a61c3 ("clk: Make clk API return per-user struct clk
      instances"), clk API users can no longer check if two struct clk
      pointers are pointing to the same hardware clock, i.e. struct clk_hw, by
      simply comparing two pointers.  That's because with the per-user clk
      change, a brand new struct clk is created whenever clients try to look
      up the clock by calling clk_get() or sister functions like clk_get_sys()
      and of_clk_get().  This changes the original behavior where the struct
      clk is only created for once when clock driver registers the clock to
      CCF in the first place.  The net change here is before commit
      035a61c3 the struct clk pointer is unique for given hardware
      clock, while after the commit the pointers returned by clk lookup calls
      become different for the same hardware clock.
      
      That said, the struct clk pointer comparing in the code doesn't work any
      more.  Call helper function clk_is_match() instead to fix the problem.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMichael Turquette <mturquette@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      a51139fd
  8. 11 3月, 2015 9 次提交
  9. 09 3月, 2015 1 次提交
  10. 07 3月, 2015 3 次提交