04 Nov, 2016

1 commit

  • Changes introduced to arch/mips/Makefile for the generic kernel resulted
    in build errors when making a compressed image if platform-y has multiple
    values, like this:

    make[2]: *** No rule to make target `alchemy/'.
    make[1]: *** [vmlinuz] Error 2
    make[1]: Target `_all' not remade because of errors.
    make: *** [sub-make] Error 2
    make: Target `_all' not remade because of errors.

    Fix this by quoting $(platform-y) as it is passed to the Makefile in
    arch/mips/boot/compressed/Makefile

    Reported-by: kernelci.org bot
    Link: https://storage.kernelci.org/next/next-20161017/mips-gpr_defconfig/build.log
    Signed-off-by: Matt Redfearn
    Reviewed-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14405/
    Signed-off-by: Ralf Baechle

    Matt Redfearn
     

07 Oct, 2016

3 commits

  • Convert the MIPS SEAD-3 board support to be a generic board, supported
    by generic kernels.

    Because the SEAD-3 boot protocol was defined long ago and we don't want
    to force a switch to the UHI protocol, SEAD-3 is added as a legacy board
    which is detected by reading the REVISION register. This may technically
    not be a valid memory read & future work will include attempting to
    handle that gracefully. In practice since SEAD-3 is the only legacy
    board supported by the generic kernel so far the read will only happen
    on SEAD-3 boards, and even once Malta is converted the same REVISION
    register exists there too. Other boards such as Boston, Ci20 & Ci40 will
    use the UHI boot protocol & thus not run any of the legacy board detect
    functions.

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

    Paul Burton
     
  • Introduce a "generic" platform, which aims to be board-agnostic by
    making use of device trees passed by the boot protocol defined in the
    MIPS UHI (Universal Hosting Interface) specification. Provision is made
    for supporting boards which use a legacy boot protocol that can't be
    changed, but adding support for such boards or any others is left to
    followon patches.

    Right now the built kernels expect to be loaded to 0x80100000, ie. in
    kseg0. This is fine for the vast majority of MIPS platforms, but
    nevertheless it would be good to remove this limitation in the future by
    mapping the kernel via the TLB such that it can be loaded anywhere & map
    itself appropriately.

    Configuration is handled by dynamically generating configs using
    scripts/kconfig/merge_config.sh, somewhat similar to the way powerpc
    makes use of it. This allows for variations upon the configuration, eg.
    differing architecture revisions or subsets of driver support for
    differing boards, to be handled without having a large number of
    defconfig files.

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

    Paul Burton
     
  • Add support for generating kernel images in the Flattened Image Tree
    (.itb) format as supported by U-Boot. This format is essentially a
    Flattened Device Tree binary containing images (kernels, DTBs, ramdisks)
    and configurations which link those images together. The big advantages
    of FIT images over the uImage format are:

    - We can include FDTs in the kernel image in a way that the bootloader
    can extract it & manipulate it before providing it to the kernel.
    Thus we can ship FDTs as part of the kernel giving us the advantages
    of being able to develop & maintain the DT within the kernel tree,
    but also have the benefits of the bootloader being able to
    manipulate the FDT. Example uses for this would be to inject the
    kernel command line into the chosen node, or to fill in the correct
    memory size.

    - We can include multiple configurations in a single kernel image.
    This means that a single FIT image can, given appropriate
    bootloaders, be booted on different boards with the bootloader
    selecting an appropriate configuration & providing the correct FDT
    to the kernel.

    - We can support a multitude of hashes over the data.

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

    Paul Burton
     

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
     

17 May, 2016

1 commit

  • The VZ guest register & TLB access macros introduced in commit "MIPS:
    Add guest CP0 accessors" use VZ ASE specific instructions that aren't
    understood by versions of binutils prior to 2.24.

    Add a check for whether the toolchain supports the -mvirt option,
    similar to the MSA toolchain check, and implement the accessors using
    .word if not.

    Due to difficulty in converting compiler specified registers (e.g. "$3")
    to usable numbers (e.g. "3") in inline asm, we need to copy to/from a
    temporary register, namely the assembler temporary (at/$1), and specify
    guest CP0 registers numerically in the gc0 macros.

    Fixes: 7eb91118227d ("MIPS: Add guest CP0 accessors")
    Signed-off-by: James Hogan
    Reported-by: Guenter Roeck
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-next@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13255/
    Signed-off-by: Ralf Baechle

    James Hogan
     

13 May, 2016

2 commits

  • When CONFIG_RELOCATABLE is enabled (added in later patch) add
    --emit-relocs to vmlinux LDFLAGS so that fully linked vmlinux contains
    relocation information.

    Run the previously added relocs tool to fill in the .data.relocs section
    of vmlinux with a table of relocations. The relocs tool will also remove
    (mark as 0 length) the relocation sections added to vmlinux.

    When vmlinux is passed to the boot makefile for conversion into a boot
    image the now empty relocation sections will be removed and the
    populated relocation table will be included in the binary image.

    Signed-off-by: Matt Redfearn
    Cc: linux-mips@linux-mips.org
    Cc: kernel-hardening@lists.openwall.com
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/12983/
    Signed-off-by: Ralf Baechle

    Matt Redfearn
     
  • Build the relocs tool as part of the kbuild

    Signed-off-by: Matt Redfearn
    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: kernel-hardening@lists.openwall.com
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/12980/
    Patchwork: https://patchwork.linux-mips.org/patch/13242/
    Patchwork: https://patchwork.linux-mips.org/patch/13233/
    Signed-off-by: Ralf Baechle

    Matt Redfearn
     

22 Jan, 2016

1 commit

  • If GCC >= 4.9 and Binutils >=2.25, we use -march=loongson3a, otherwise
    we use -march=mips64r2, this can slightly improve performance. Besides,
    arch/mips/loongson64/Platform is a better location rather than arch/
    mips/Makefile.

    Signed-off-by: Huacai Chen
    Cc: Aurelien Jarno
    Cc: Steven J. Hill
    Cc: Fuxin Zhang
    Cc: Zhangjin Wu
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/12161/
    Signed-off-by: Ralf Baechle

    Huacai Chen
     

26 Oct, 2015

1 commit

  • 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
     

15 Jul, 2015

1 commit

  • Pass 1 parts had a number of significant erratas and were only available
    in small numbers and under NDA. Full support also required the use of a
    special toolchain that kept branches properly aligned. These workarounds
    were never upstreamed and the only toolchain known to have them is
    Montavista's GCC 3.0-based toolchain which completly obsoleted if not
    useless these days.

    So now that automated testing has tripped over the user of the
    -msb1-pass1-workarounds option, rather than fixing it remove support for
    pass 1 parts.

    Probably nobody will notice. I seem to own the last know pass 1 board
    and I haven't noticed another one in the wild in the past decade, at
    least.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

13 May, 2015

1 commit

  • GCC 5.1 defines __REGISTER_PREFIX__ to $. This will break sparse
    command line (and build fails with: /bin/sh: syntax error:
    unexpected "(") since make tries to expand starting with the dollar
    sign with a make variable. Prevent that by using double dollar sign.

    Signed-off-by: Aaro Koskinen
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10025/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     

18 Apr, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for Linux 4.1. Most
    noteworthy:

    - Add more Octeon-optimized crypto functions
    - Octeon crypto preemption and locking fixes
    - Little endian support for Octeon
    - Use correct CSR to soft reset Octeons
    - Support LEDs on the Octeon-based DSR-1000N
    - Fix PCI interrupt mapping for the Octeon-based DSR-1000N
    - Mark prom_free_prom_memory() as __init for a number of systems
    - Support for Imagination's Pistachio SOC. This includes arch and
    CLK bits. I'd like to merge pinctrl bits later
    - Improve parallelism of csum_partial for certain pipelines
    - Organize DTB files in subdirs like other architectures
    - Implement read_sched_clock for all MIPS platforms other than
    Octeon
    - Massive series of 38 fixes and cleanups for the FPU emulator /
    kernel
    - Further FPU remulator work to support new features. This sits on a
    separate branch which also has been pulled into the 4.1 KVM branch
    - Clean up and fixes for the SEAD3 eval board; remove unused file
    - Various updates for Netlogic platforms
    - A number of small updates for Loongson 3 platforms
    - Increase the memory limit for ATH79 platforms to 256MB
    - A fair number of fixes and updates for BCM47xx platforms
    - Finish the implementation of XPA support
    - MIPS FDC support. No, not floppy controller but Fast Debug Channel :)
    - Detect the R16000 used in SGI legacy platforms
    - Fix Kconfig dependencies for the SSB bus support"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits)
    MIPS: Makefile: Fix MIPS ASE detection code
    MIPS: asm: elf: Set O32 default FPU flags
    MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
    MIPS: Kconfig: Disable SMP/CPS for 64-bit
    MIPS: Hibernate: flush TLB entries earlier
    MIPS: smp-cps: cpu_set FPU mask if FPU present
    MIPS: lose_fpu(): Disable FPU when MSA enabled
    MIPS: ralink: add missing symbol for RALINK_ILL_ACC
    MIPS: ralink: Fix bad config symbol in PCI makefile.
    SSB: fix Kconfig dependencies
    MIPS: Malta: Detect and fix bad memsize values
    Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
    MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
    MIPS: Fix cpu_has_mips_r2_exec_hazard.
    MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
    MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
    MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
    MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
    MIPS: unaligned: Fix regular load/store instruction emulation for EVA
    MIPS: unaligned: Surround load/store macros in do {} while statements
    ...

    Linus Torvalds
     

13 Apr, 2015

1 commit


10 Apr, 2015

1 commit

  • Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after
    setting the core's CFLAGS") re-arranged the MIPS ASE detection code
    and also added the current cflags to the detection logic. However,
    this introduced a few bugs. First of all, the mips-cflags should not
    be quoted since that ends up being passed as a string to subsequent
    commands leading to broken detection from the cc-option-* tools.
    Moreover, in order to avoid duplicating the cflags-y because of how
    cc-option works, we rework the logic so we pass only those cflags which
    are needed by the selected ASE. Finally, fix some typos resulting in MSA
    not being detected correctly.

    Signed-off-by: Markos Chandras
    Fixes: Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS")
    Cc: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9661/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

02 Apr, 2015

1 commit

  • Prior to this commit, it was impossible to use relative path to
    include Makefiles from the top level Makefile because the option
    "--include-dir=$(srctree)" becomes effective when Make enters into
    sub Makefiles.

    To use relative path in any places, this commit moves the option
    above the "sub-make" target.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

01 Apr, 2015

2 commits

  • Add the dtbs_install Makefile target to install the dtb files into
    $INSTALL_DTBS_PATH.

    Signed-off-by: Andrew Bresticker
    Tested-by: Kevin Cernekee
    Cc: f.fainelli@gmail.com
    Cc: jaedon.shin@gmail.com
    Cc: tglx@linutronix.de
    Cc: jason@lakedaemon.net
    Cc: jogo@openwrt.org
    Cc: arnd@arndb.de
    Cc: computersforpeace@gmail.com
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8836/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Move the MIPS device-trees into the appropriate vendor sub-directories.

    Signed-off-by: Andrew Bresticker
    Tested-by: Kevin Cernekee
    Cc: f.fainelli@gmail.com
    Cc: jaedon.shin@gmail.com
    Cc: tglx@linutronix.de
    Cc: jason@lakedaemon.net
    Cc: jogo@openwrt.org
    Cc: arnd@arndb.de
    Cc: computersforpeace@gmail.com
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8835/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     

20 Feb, 2015

1 commit

  • Allow more compression algorithms as well as uncompressed uImage.bin
    to be generated. An uncompressed image might be useful to rule out
    problems in the decompression code in the bootloader or even speed
    up the boot process at the expense of a bigger uImage file.

    Signed-off-by: Markos Chandras
    Cc: James Hogan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9271/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

19 Feb, 2015

3 commits


16 Feb, 2015

2 commits


24 Nov, 2014

1 commit

  • Building a 64bit kernel for the SGI O2 (IP32) and the SGI Indy (IP22) uses
    the 'vmlinux.32' target, which converts the output 64-bit 'vmlinux' image
    into a 32-bit wrapped image. This is needed for certain revisions of the
    IP22 and IP32 ARCS PROMs to boot correctly, but this target is missing
    from the 'archhelp' info that is emitted by 'make help'.

    Signed-off-by: Joshua Kinard
    Cc: Linux MIPS List
    Patchwork: https://patchwork.linux-mips.org/patch/7991/
    Signed-off-by: Ralf Baechle

    Joshua Kinard
     

07 Nov, 2014

1 commit

  • Starting with version 2.24.51.20140728 MIPS binutils complain loudly
    about mixing soft-float and hard-float object files, leading to this
    build failure since GCC is invoked with "-msoft-float" on MIPS:

    {standard input}: Warning: .gnu_attribute 4,3 requires `softfloat'
    LD arch/mips/alchemy/common/built-in.o
    mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o
    uses -msoft-float (set by arch/mips/alchemy/common/prom.o),
    arch/mips/alchemy/common/sleeper.o uses -mhard-float

    To fix this, we detect if GAS is new enough to support "-msoft-float" command
    option, and if it does, we can let GCC pass it to GAS; but then we also need
    to sprinkle the files which make use of floating point registers with the
    necessary ".set hardfloat" directives.

    Signed-off-by: Manuel Lauss
    Cc: Linux-MIPS
    Cc: Matthew Fortune
    Cc: Markos Chandras
    Cc: Maciej W. Rozycki
    Patchwork: https://patchwork.linux-mips.org/patch/8355/
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     

22 Sep, 2014

2 commits

  • Add a 'dtbs' Makefile target that just builds the device-tree binaries
    enabled by the configuration.

    Signed-off-by: Andrew Bresticker
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala
    Cc: James Hogan
    Cc: Paul Burton
    Cc: David Daney
    Cc: John Crispin
    Cc: Jayachandran C
    Cc: Qais Yousef
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7557/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • In preparation for moving the device-trees to a common location,
    introduce the config option BUILTIN_DTB, which can be selected by
    platforms that use a device-tree built into the kernel image, and
    create a Makefile to build the device-trees in arch/mips/boot/dts/.

    Signed-off-by: Andrew Bresticker
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala
    Cc: James Hogan
    Cc: Paul Burton
    Cc: David Daney
    Cc: John Crispin
    Cc: Jayachandran C
    Cc: Qais Yousef
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7564/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     

17 Sep, 2014

1 commit

  • The kernel code overrides the default ISA as passed by the compiler
    in quite a few places. This has unfortunate side effects when smartmips
    is enabled leading to hundreds of warnings during build such as:

    {standard input}: Assembler messages:
    {standard input}:411: Warning: the `smartmips' extension requires MIPS32
    revision 1 or greater
    {standard input}: Assembler messages:
    {standard input}:43: Warning: the 64-bit MIPS architecture does not support the
    `smartmips' extension
    [...]

    Until the kernel code is fixed properly (if possible), disable all the
    assembler warning messages to make the build logs readable again.
    This has no runtime side effects but it makes it easier to spot
    more critical warnings and problems during build.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/7356/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

30 Jul, 2014

1 commit

  • This fixes a regression caused by commit
    bb6c0bd3fdb67c8a1fceea1d4700b9ee593309f9 [MIPS: SB1: Fix excessive kernel
    warnings.], that makes `-march=r5000' selected for compilation flags
    rather than supposed `-march=sb1' with compilers that do not support the
    ASE selection flags introduced with that change.

    For example GCC 4.1.2 supports `-mips3d'/`-mno-mips3d' (and obviously
    `-march=sb1'), however it does not support `-mdmx'/`-mno-mdmx'. As a
    result the whole selection of flags fails and compilation resorts to using
    `-march=r5000', meant for really old compilers indeed only.

    It is always best to pick the flags individually unless we are absolutely
    sure a set of flags was introduced to the toolchain together (`-march=sb1'
    and `-mtune=sb1' would be a good example), and this change makes it happen
    for CONFIG_CPU_SB1. Consequently the flags ultimately selected with GCC
    4.1.2 are `-march=sb1 -Wa,--trap -mno-mips3d'

    Signed-off-by: Maciej W. Rozycki
    Cc: Richard Sandiford
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/7223/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

05 Jun, 2014

1 commit


04 Jun, 2014

1 commit

  • The '-mmsa' option is not supported by all current compilers. Change
    the detection to instead pass the option directly to the assembler.

    Signed-off-by: Steven J. Hill
    Reviewed-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/6835/
    Signed-off-by: Ralf Baechle

    Steven J. Hill
     

28 May, 2014

1 commit

  • A kernel build with binutils 2.24 is going to emit warnings like

    CC kernel/sys.o
    {standard input}: Assembler messages:
    {standard input}:701: Warning: the 32-bit MIPS architecture does not support the `mdmx' extension
    {standard input}:701: Warning: the `mdmx' extension requires 64-bit FPRs
    {standard input}:701: Warning: the `mips3d' extension requires MIPS32 revision 2 or greater
    {standard input}:701: Warning: the `mips3d' extension requires 64-bit FPRs

    for almost every file. This is caused by changes to gas' interpretation
    of .set semantics. Fixed by explicitly disabling MIPS3D and MDMX for
    Sibyte builds.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

23 May, 2014

1 commit

  • ieee754d.o contains only debug code and dp_sqrt.o and sp_sqrt.o contain
    code which for MIPS I/II/III systems we don't want to link. Again the
    savings can be considerable for some systems:

    $ mips-linux-size --totals ieee754d.o dp_sqrt.o sp_sqrt.o
    text data bss dec hex filename
    1624 0 0 1624 658 ieee754d.o
    2016 0 0 2016 7e0 dp_sqrt.o
    736 0 0 736 2e0 sp_sqrt.o
    4376 0 0 4376 1118 (TOTALS)

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

27 Mar, 2014

1 commit

  • This patch introduces definitions for the MSA control registers and
    functions which allow access to both the control & vector registers. If
    the toolchain being used to build the kernel includes support for MSA
    then this patch will make use of that support & use MSA instructions
    directly. However toolchain support for MSA is very new & far from a
    point where it can be reasonably expected that everyone building the
    kernel uses a toolchain with support. Thus fallbacks using .word
    assembler directives are also provided for now as a temporary measure.

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

    Paul Burton
     

31 Jan, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "The most notable new addition inside this pull request is the support
    for MIPS's latest and greatest core called "inter/proAptiv". The
    patch series describes this core as follows.

    "The interAptiv is a power-efficient multi-core microprocessor
    for use in system-on-chip (SoC) applications. The interAptiv combines
    a multi-threading pipeline with a coherence manager to deliver improved
    computational throughput and power efficiency. The interAptiv can
    contain one to four MIPS32R3 interAptiv cores, system level
    coherence manager with L2 cache, optional coherent I/O port,
    and optional floating point unit."

    The platform specific patches touch all 3 Broadcom families. It adds
    support for the new Broadcom/Netlogix XLP9xx Soc, building a common
    BCM63XX SMP kernel for all BCM63XX SoCs regardless of core type/count
    and full gpio button/led descriptions for BCM47xx.

    The rest of the series are cleanups and bug fixes that are MIPS
    generic and consist largely of changes that Imgtec/MIPS had published
    in their linux-mti-3.10.git stable tree. Random other cleanups and
    patches preparing code to be merged in 3.15"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (139 commits)
    mips: select ARCH_MIGHT_HAVE_PC_SERIO
    mips: delete non-required instances of include
    MIPS: KVM: remove shadow_tlb code
    MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI
    mips/ide: flush dcache also if icache does not snoop dcache
    MIPS: BCM47XX: fix position of cpu_wait disabling
    MIPS: BCM63XX: select correct MIPS_L1_CACHE_SHIFT value
    MIPS: update MIPS_L1_CACHE_SHIFT based on MIPS_L1_CACHE_SHIFT_
    MIPS: introduce MIPS_L1_CACHE_SHIFT_
    MIPS: ZBOOT: gather string functions into string.c
    arch/mips/pci: don't check resource with devm_ioremap_resource
    arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
    bcma: gpio: don't cast u32 to unsigned long
    ssb: gpio: add own IRQ domain
    MIPS: BCM47XX: fix sparse warnings in board.c
    MIPS: BCM47XX: add board detection for Linksys WRT54GS V1
    MIPS: BCM47XX: fix detection for some boards
    MIPS: BCM47XX: Enable buttons support on SSB
    MIPS: BCM47XX: Convert WNDR4500 to new syntax
    MIPS: BCM47XX: Use "timer" trigger for status LEDs
    ...

    Linus Torvalds
     

23 Jan, 2014

1 commit

  • Remove usage of -mno-jals compiler flag when building a pure
    microMIPS kernel. The -mno-jals flag only ever existed within
    Mentor toolchains. Dropping this flag allows all FSF toolchains
    to work.

    Signed-off-by: Steven J. Hill
    Reviewed-by: Markos Chandras
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6200/

    Steven J. Hill
     

20 Dec, 2013

1 commit

  • Instead of duplicating the CC_STACKPROTECTOR Kconfig and
    Makefile logic in each architecture, switch to using
    HAVE_CC_STACKPROTECTOR and keep everything in one place. This
    retains the x86-specific bug verification scripts.

    Signed-off-by: Kees Cook
    Cc: Arjan van de Ven
    Cc: Michal Marek
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Paul Mundt
    Cc: James Hogan
    Cc: Stephen Rothwell
    Cc: Shawn Guo
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-arch@vger.kernel.org
    Link: http://lkml.kernel.org/r/1387481759-14535-2-git-send-email-keescook@chromium.org
    Signed-off-by: Ingo Molnar

    Kees Cook
     

30 Oct, 2013

2 commits

  • When CONFIG_SYS_SUPPORTS_ZBOOT is not enabled, we will still try to
    build the decompressor code in arch/mips/boot/compressed as a
    dependency for producing the vmlinuz target and this will result in
    the following build failure:

    OBJCOPY arch/mips/boot/compressed/vmlinux.bin
    arch/mips/boot/compressed/decompress.c: In function 'decompress_kernel':
    arch/mips/boot/compressed/decompress.c:105:2: error: implicit
    declaration of function 'decompress'
    make[1]: *** [arch/mips/boot/compressed/decompress.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [vmlinuz] Error 2

    This is a genuine build failure because we have no implementation for
    the decompress() function body since no kernel compression method
    defined in CONFIG_KERNEL_(GZIP,BZIP2...) has been enabled.

    arch/mips/Makefile already guards the install target for the "vmlinuz"
    binary with a proper ifdef CONFIG_SYS_SUPPORTS_ZBOOT, we now also do the
    same if we attempt to do a "make vmlinuz" and show that
    CONFIG_SYS_SUPPORTS_ZBOOT is not enabled.

    [ralf@linux-mips.org: Cleanup the makefile rule as suggested by James
    Hogan.]

    Signed-off-by: Florian Fainelli
    Reviewed-by: James Hogan
    Cc: linux-mips@linux-mips.org
    Cc: blogic@openwrt.org
    Cc: richard@nod.at
    Patchwork: https://patchwork.linux-mips.org/patch/5817/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Based on quiet_cmd_X and cmd_X, this patch quiets the building output of
    vmlinux.32 and vmlinux.64.

    Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    Cc: Sam Ravnborg
    Patchwork: https://patchwork.linux-mips.org/patch/1766/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin