22 May, 2020

1 commit

  • On some platforms IO-memory might require to use a proper load/store
    instructions (like Baikal-T1 IO-memory). To fix the cps-vec UART debug
    printout let's add the CONFIG_CPS_NS16550_WIDTH config to determine which
    instructions lb/sb, lh/sh or lw/sw are required for MMIO operations.

    Signed-off-by: Serge Semin
    Cc: Alexey Malahov
    Cc: Thomas Bogendoerfer
    Cc: Paul Burton
    Cc: Ralf Baechle
    Cc: Arnd Bergmann
    Cc: Rob Herring
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Thomas Bogendoerfer

    Serge Semin
     

10 Oct, 2019

1 commit

  • CMDLINE, CMDLINE_BOOL & CMDLINE_FORCE all explicitly specify default
    values that are the same as the default value for their respective types
    anyway (ie. n for booleans, and the empty string for strings).

    Remove the redundant defaults.

    Signed-off-by: Paul Burton
    Reviewed-by: Philippe Mathieu-Daudé
    Cc: linux-mips@vger.kernel.org

    Paul Burton
     

02 Aug, 2018

1 commit

  • Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to
    the top-level Kconfig. For two architectures that means moving their
    arch-specific symbols in that menu into a new arch Kconfig.debug file,
    and for a few more creating a dummy file so that we can include it
    unconditionally.

    Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where
    it belongs.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

10 Jan, 2018

1 commit

  • The MIPS_CPS_NS16550_BASE and MIPS_CPS_NS16550_SHIFT options have no
    defaults for non-Malta platforms which select SYS_SUPPORTS_MIPS_CPS
    (i.e. the pistachio and generic platforms). This is problematic for
    automated allyesconfig and allmodconfig builds based on these platforms,
    since make silentoldconfig tries to ask the user for values, and
    especially since v4.15 where the default platform was switched to
    generic.

    Default these options to 0 and arrange for MIPS_CPS_NS16550 to be no
    when using that default base address, so that the option only has an
    effect when the default is provided (i.e. Malta) or when a value is
    provided by the user.

    Fixes: 609cf6f2291a ("MIPS: CPS: Early debug using an ns16550-compatible UART")
    Signed-off-by: James Hogan
    Reviewed-by: Paul Burton
    Tested-by: Guenter Roeck
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/17749/
    Signed-off-by: Ralf Baechle

    James Hogan
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

21 Apr, 2017

1 commit


13 Sep, 2016

1 commit

  • Commit c1a0e9bc885d ("MIPS: Allow compact branch policy to be changed")
    added Kconfig entries allowing for the compact branch policy used by the
    compiler for MIPSr6 kernels to be specified. This can be useful for
    debugging, particularly in systems where compact branches have recently
    been introduced.

    Unfortunately mainline gcc 5.x supports MIPSr6 but not the
    -mcompact-branches compiler flag, leading to MIPSr6 kernels failing to
    build with gcc 5.x with errors such as:

    mipsel-linux-gnu-gcc: error: unrecognized command line option '-mcompact-branches=optimal'
    make[2]: *** [kernel/bounds.s] Error 1

    Fixing this by hiding the Kconfig entry behind another seems to be more
    hassle than it's worth, as MIPSr6 & compact branches have been around
    for a while now and if policy does need to be set for debug it can be
    done easily enough with KCFLAGS. Therefore remove the compact branch
    policy Kconfig entries & their handling in the Makefile.

    This reverts commit c1a0e9bc885d ("MIPS: Allow compact branch policy to
    be changed").

    Signed-off-by: Paul Burton
    Reported-by: kbuild test robot
    Fixes: c1a0e9bc885d ("MIPS: Allow compact branch policy to be changed")
    Cc: stable # v4.4+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/14241/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

11 Nov, 2015

1 commit

  • Provide support for outputting early debug information, in the form of
    various register values should an exception occur, during the early
    bringup of secondary cores. This code requires an ns16550-compatible
    UART accessible from the secondary core, and is written in assembly due
    to the environment in which such early exceptions occur where way may
    not have a stack, be coherent or even have initialised caches.

    [ralf@linux-mips.org: Fix merge conflict.]

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Steven J. Hill
    Cc: Andrew Bresticker
    Cc: Leonid Yegoshin
    Cc: Maciej W. Rozycki
    Cc: Jason Cooper
    Cc: linux-kernel@vger.kernel.org
    Cc: James Hogan
    Cc: Markos Chandras
    Patchwork: https://patchwork.linux-mips.org/patch/11202/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

26 Oct, 2015

2 commits

  • When debugging or examining the performance of a system it can be useful
    to examine the effect of L2 prefetching. Provide an optional debugfs
    entry to allow a user to enable or disable L2 prefetching.

    Signed-off-by: Paul Burton
    Cc: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11182/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • When debugging it can be helpful to change the policy for compiler use
    of MIPSr6 compact branches, in order to rule out or home in on their
    involvement in bugs. Allow the GCC -mcompact-branches= flag to be set
    via Kconfig under the "Kernel hacking" menu.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11178/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

26 Aug, 2015

1 commit

  • The debug.h header provided some MIPS-specific debug macros, which are
    no longer used at all. Remove them.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/10693/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

17 Feb, 2015

1 commit

  • The previous implementation did not cover all possible FPU combinations
    and it silently allowed ABI incompatible objects to be loaded with the
    wrong ABI. For example, the previous logic would set the FP_64 ABI as
    the matching ABI for an FP_XX object combined with an FP_64A object.
    This was wrong, and the matching ABI should have been FP_64A.
    The previous logic is now replaced with a new one which determines
    the appropriate FPU mode to be used rather than the FP ABI. This has
    the advantage that the entire logic is much simpler since it is the FPU
    mode we are interested in rather than the FP ABI resulting to code
    simplifications. This also removes the now obsolete FP32XX_HYBRID_FPRS
    option.

    Cc: Matthew Fortune
    Cc: Paul Burton
    Signed-off-by: Markos Chandras

    Markos Chandras
     

24 Nov, 2014

1 commit

  • The hybrid FPR scheme exists to allow for compatibility between existing
    FP32 code and newly compiled FP64A code. Such code should hopefully be
    rare in the real world, and for the moment is difficult to come across.
    All code except that built for the FP64 ABI can correctly execute using
    the hybrid FPR scheme, so debugging the hybrid FPR implementation can
    be eased by forcing all such code to use it. This is undesirable in
    general due to the trap & emulate overhead of the hybrid FPR
    implementation, but is a very useful option to have for debugging.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Alexander Viro
    Cc: linux-fsdevel@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7680/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

24 May, 2014

1 commit

  • Nobody is maintaining SMTC anymore and there also seems to be no userbase.
    Which is a pity - the SMTC technology primarily developed by Kevin D.
    Kissell is an ingenious demonstration for the MT
    ASE's power and elegance.

    Based on Markos Chandras patch
    https://patchwork.linux-mips.org/patch/6719/ which while very similar did
    no longer apply cleanly when I tried to merge it plus some additional
    post-SMTC cleanup - SMTC was a feature as tricky to remove as it was to
    merge once upon a time.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

31 Mar, 2014

1 commit


30 Oct, 2013

1 commit


05 Jul, 2013

1 commit

  • Original posting:

    http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com

    Several architectures have similar stack debugging config options.
    They all pretty much do the same thing, some with slightly
    differing help text.

    This patch changes the architectures to instead enable a Kconfig
    boolean, and then use that boolean in the generic Kconfig.debug
    to present the actual menu option. This removes a bunch of
    duplication and adds consistency across arches.

    Signed-off-by: Dave Hansen
    Reviewed-by: H. Peter Anvin
    Reviewed-by: James Hogan
    Acked-by: Chris Metcalf [for tile]
    Signed-off-by: Dave Hansen
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

16 Apr, 2012

1 commit


25 May, 2011

1 commit

  • Most arches define CONFIG_DEBUG_STACK_USAGE exactly the same way. Move it
    to lib/Kconfig.debug so each arch doesn't have to define it. This
    obviously makes the option generic, but that's fine because the config is
    already used in generic code.

    It's not obvious to me that sysrq-P actually does anything caution by
    keeping the most inclusive wording.

    Signed-off-by: Stephen Boyd
    Cc: Chris Metcalf
    Acked-by: David S. Miller
    Acked-by: Richard Weinberger
    Acked-by: Mike Frysinger
    Cc: Russell King
    Cc: Hirokazu Takata
    Acked-by: Ralf Baechle
    Cc: Paul Mackerras
    Acked-by: Benjamin Herrenschmidt
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     

21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

30 Oct, 2010

1 commit

  • Add stackoverflow detection to mips arch

    Signed-off-by: Adam Jiang
    Cc: dmitri.vorobiev@movial.com
    Cc: wuzhangjin@gmail.com
    Cc: ddaney@caviumnetworks.com
    Cc: peterz@infradead.org
    Cc: fweisbec@gmail.com
    Cc: tj@kernel.org
    Cc: tglx@linutronix.de
    Cc: mingo@elte.hu
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/1559/
    Patchwork: https://patchwork.linux-mips.org/patch/1651/
    Signed-off-by: Ralf Baechle

    From: jiang.adam@gmail.com
     

27 Feb, 2010

2 commits

  • This is just a test program for raw_spinlocks. The main reason I
    wrote it is to validate my spinlock changes that I sent in a previous
    patch.

    To use it enable CONFIG_DEBUG_FS and CONFIG_SPINLOCK_TEST then at run
    time do:

    # mount -t debugfs none /sys/kernel/debug/
    # cat /sys/kernel/debug/mips/spin_single
    # cat /sys/kernel/debug/mips/spin_multi

    On my 600MHz octeon cn5860 (16 CPUs) I get

    spin_single spin_multi
    base 106885 247941
    spinlock_patch 75194 219465

    This shows that for uncontended locks the spinlock patch gives 41%
    improvement and for contended locks 12% improvement (1/time).

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/969/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • This patch adds a new DEBUG_ZBOOT option to allow the users to enable it
    to debug the compressed kernel support for a new board and this optoin
    should be disabled to reduce the kernel image size and speed up the
    kernel booting procedure when the compressed kernel support is stable.

    Signed-off-by: Wu Zhangjin
    To: Ralf Baechle
    Cc: Manuel Lauss
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/918/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     

17 Dec, 2009

2 commits

  • Currently, MIPS kernels silently overwrite kernel command-line parameters
    hardcoded in CONFIG_CMDLINE by the ones received from firmware. Therefore,
    using firmware remains the only reliable method to transfer the
    command-line parameters, which is not always desirable or convenient, and
    the CONFIG_CMDLINE option is thereby effectively rendered useless.

    This patch fixes the problem described above and introduces a more flexible
    scheme of handling the kernel command line, in a manner identical to what is
    currently used for x86. The default behavior, i.e. when CONFIG_CMDLINE_BOOL
    is not defined, retains the existing semantics, and firmware command-line
    arguments override the hardcoded ones.

    [Ralf: I fixed up all the defconfig files so the stay unaffected by this
    change.]

    Signed-off-by: Dmitri Vorobiev
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/689/
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     

13 Dec, 2008

1 commit


31 Jul, 2008

1 commit


29 Apr, 2008

1 commit


23 Oct, 2007

1 commit


06 Jul, 2007

1 commit


27 Feb, 2007

1 commit


20 Feb, 2007

1 commit


07 Feb, 2007

1 commit


14 Jul, 2006

1 commit


27 Apr, 2006

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds