24 May, 2020

1 commit


04 May, 2020

1 commit


30 Apr, 2020

1 commit

  • It is better to show the result before loongson3-llsc-check exit,
    otherwise we can see nothing if the return status is EXIT_SUCCESS,
    it seems confusing.

    E.g. without this patch:

    [loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
    [loongson@localhost tools]$

    With this patch:

    [loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
    loongson3-llsc-check returns success
    [loongson@localhost tools]$

    Signed-off-by: Tiezhu Yang
    Signed-off-by: Thomas Bogendoerfer

    Tiezhu Yang
     

25 Mar, 2020

1 commit


04 Feb, 2020

1 commit

  • In old days, the "host-progs" syntax was used for specifying host
    programs. It was renamed to the current "hostprogs-y" in 2004.

    It is typically useful in scripts/Makefile because it allows Kbuild to
    selectively compile host programs based on the kernel configuration.

    This commit renames like follows:

    always -> always-y
    hostprogs-y -> hostprogs

    So, scripts/Makefile will look like this:

    always-$(CONFIG_BUILD_BIN2C) += ...
    always-$(CONFIG_KALLSYMS) += ...
    ...
    hostprogs := $(always-y) $(always-m)

    I think this makes more sense because a host program is always a host
    program, irrespective of the kernel configuration. We want to specify
    which ones to compile by CONFIG options, so always-y will be handier.

    The "always", "hostprogs-y", "hostprogs-m" will be kept for backward
    compatibility for a while.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

08 Oct, 2019

1 commit

  • When Loongson3 LL/SC errata workarounds are enabled (ie.
    CONFIG_CPU_LOONGSON3_WORKAROUNDS=y) run a tool to scan through the
    compiled kernel & ensure that the workaround is applied correctly. That
    is, ensure that:

    - Every LL or LLD instruction is preceded by a sync instruction.

    - Any branches from within an LL/SC loop to outside of that loop
    target a sync instruction.

    Reasoning for these conditions can be found by reading the comment above
    the definition of __SYNC_loongson3_war in arch/mips/include/asm/sync.h.

    This tool will help ensure that we don't inadvertently introduce code
    paths that miss the required workarounds.

    Signed-off-by: Paul Burton
    Cc: linux-mips@vger.kernel.org
    Cc: Huacai Chen
    Cc: Jiaxun Yang
    Cc: linux-kernel@vger.kernel.org

    Paul Burton
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 3029 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 Aug, 2018

1 commit

  • For a long time arch/mips/Makefile used nm to discover the kernel entry
    point by looking for the address of the kernel_entry symbol. This
    doesn't work for systems which make use of bit 0 of the PC to reflect
    the ISA mode - ie. microMIPS (and MIPS16, but we don't support building
    kernels that target MIPS16 anyway).

    So for a while with commit 5fc9484f5e41 ("MIPS: Set ISA bit in entry-y
    for microMIPS kernels") we manually modified the last nibble of the
    output from nm, which worked but wasn't particularly pretty.

    Commit 27c524d17430 ("MIPS: Use the entry point from the ELF file
    header") then cleaned this up by using objdump to print the ELF entry
    point which includes the ISA bit, rather than using nm to print the
    address of the kernel_entry symbol which doesn't. That removed the ugly
    replacement of the last nibble, but added its own ugliness by needing to
    manually sign extend in the 32 bit case.

    Unfortunately it has been pointed out that objdump's output is
    localised, and therefore grepping for its "start address" output doesn't
    work when the user's language settings are such that objdump doesn't
    print in English.

    We could simply revert commit 27c524d17430 ("MIPS: Use the entry point
    from the ELF file header") and return to the manual replacement of the
    last nibble of entry-y, but it seems that was found sufficiently
    unpalatable to avoid. We could attempt to force the language used by
    objdump by setting an environment variable such as LC_ALL, but that
    seems fragile. Instead we add a small tool named elf-entry which simply
    prints out the entry point of the kernel in the format we require.

    Signed-off-by: Paul Burton
    Reported-by: Philippe Reynes
    Tested-by: Philippe Reynes
    Fixes: 27c524d17430 ("MIPS: Use the entry point from the ELF file header")
    Patchwork: https://patchwork.linux-mips.org/patch/20322/
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org

    Paul Burton
     

04 Nov, 2017

1 commit

  • MIPS will soon not be a part of Imagination Technologies, and as such
    many @imgtec.com email addresses will no longer be valid. This patch
    updates the addresses for those who:

    - Have 10 or more patches in mainline authored using an @imgtec.com
    email address, or any patches dated within the past year.

    - Are still with Imagination but leaving as part of the MIPS business
    unit, as determined from an internal email address list.

    - Haven't already updated their email address (ie. JamesH) or expressed
    a desire to be excluded (ie. Maciej).

    - Acked v2 or earlier of this patch, which leaves Deng-Cheng, Matt &
    myself.

    New addresses are of the form firstname.lastname@mips.com, and all
    verified against an internal email address list. An entry is added to
    .mailmap for each person such that get_maintainer.pl will report the new
    addresses rather than @imgtec.com addresses which will soon be dead.

    Instances of the affected addresses throughout the tree are then
    mechanically replaced with the new @mips.com address.

    Signed-off-by: Paul Burton
    Cc: Deng-Cheng Zhu
    Cc: Deng-Cheng Zhu
    Acked-by: Dengcheng Zhu
    Cc: Matt Redfearn
    Cc: Matt Redfearn
    Acked-by: Matt Redfearn
    Cc: Andrew Morton
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Signed-off-by: Linus Torvalds

    Paul Burton
     

09 Oct, 2017

1 commit

  • When configuring the kernel using one of the generic MIPS defconfig
    targets, the generic-board-config.sh script is used to check
    requirements listed in board config fragments against a reference config
    in order to determine which board config fragments to merge into the
    final config.

    When specifying O= to configure in a directory other than the kernel
    source directory, this generic-board-config.sh script is invoked in the
    directory that we are configuring in (ie. the directory that O equals),
    and the path to the reference config is relative to the current
    directory. The script then changes the current directory to the source
    tree, which unfortunately breaks later access to the reference file
    since its path is relative to a directory that is no longer the current
    working directory. This results in configuration failing with errors
    such as:

    $ make ARCH=mips O=tmp 32r2_defconfig
    make[1]: Entering directory '/home/pburton/src/linux/tmp'
    Using ../arch/mips/configs/generic_defconfig as base
    Merging ../arch/mips/configs/generic/32r2.config
    Merging ../arch/mips/configs/generic/eb.config
    grep: ./.config.32r2_defconfig: No such file or directory
    grep: ./.config.32r2_defconfig: No such file or directory
    The base file '.config' does not exist. Exit.
    make[1]: *** [arch/mips/Makefile:505: 32r2_defconfig] Error 1
    make[1]: Leaving directory '/home/pburton/src/linux-ingenic/tmp'
    make: *** [Makefile:145: sub-make] Error 2

    Fix this by avoiding changing the working directory in
    generic-board-config.sh, instead using full paths to files under
    $(srctree)/ where necessary.

    Signed-off-by: Paul Burton
    Fixes: 27e0d4b05107 ("MIPS: generic: Allow filtering enabled boards by requirements")
    Cc: linux-mips@linux-mips.org
    Cc: kbuild test robot
    Cc: kbuild-all@01.org
    Patchwork: https://patchwork.linux-mips.org/patch/17231/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

30 Aug, 2017

1 commit

  • Up until now when configuring a generic kernel all board config
    fragments have been merged by default unless boards are explicitly
    selected by the user specifying BOARDS=.

    In many cases this is sub-optimal, since some boards don't make sense to
    include in some kernels. For example the MIPS SEAD-3 development board
    has only ever been used with 32 bit CPUs, so including support for the
    SEAD-3 in a 64 bit kernel is wasteful.

    This patch introduces support for specifying requirements in board
    config fragments, using comments formatted like so:

    # require CONFIG_BLA=y

    For example the SEAD-3 board could specify that it should only be merged
    for 32 bit kernels using a requirement line like the following:

    # require CONFIG_32BIT=y

    A new generic-board-config.sh script is introduced to handle selecting
    the board config fragments to merge & calling merge_config.sh to merge
    them. In order to allow requirements to check Kconfig symbols that are
    implicitly selected, rather than explicitly specified by
    generic_defconfig or one of the ISA config fragments, an intermediate
    .config file is saved & used as a reference when checking requirements.

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

    Paul Burton