02 Nov, 2019

1 commit

  • Pull in mips-fixes primarily to gain build fixes in order to allow
    better testing of mips-next.

    A few MIPS fixes:

    - Fix VDSO time-related function behavior for systems where we need to
    fall back to syscalls, but were instead returning bogus results.

    - A fix to TLB exception handlers for Cavium Octeon systems where they
    would inadvertently clobber the $1/$at register.

    - A build fix for bcm63xx configurations.

    - Switch to using my @kernel.org email address.

    Signed-off-by: Paul Burton

    Paul Burton
     

24 Oct, 2019

4 commits


10 Oct, 2019

5 commits

  • EARLY_PRINTK uses ArcWrite (via prom_putchar) on IP22/28, which needs
    to not mess up PROMs data structures. ARC PROM gives out a list of
    memory chunks, which are used and which are free. This fixes the
    problem of not working early printk.

    By using XKPHYS spaces more than 256MB memory on Indigo2 R4k machines
    is working now, too.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Thomas Bogendoerfer
     
  • Pointer arguments for 32bit ARC PROMs must reside in CKSEG0/1. While
    the initial stack resides in CKSEG0 the first kernel thread stack
    is already placed at a XKPHYS address, which ARC32 can't handle.
    The workaround here is to use static variables, which are placed
    into BSS and linked to a CKSEG0 address.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Thomas Bogendoerfer
     
  • When using a 64bit kernel with generic spaces setup stack is
    also placed in XKPYHS, which the 32bit PROM can't handle.
    By using call_o32 for ARC_CALLs a stack placed in KSEG0 is used
    when calling PROM.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Thomas Bogendoerfer
     
  • Current kernel uses only a few ARC calls. Drop all unused ARC functions.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Thomas Bogendoerfer
     
  • Use ARRAY_SIZE to caluculate the top of the o32 stack.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Thomas Bogendoerfer
     

05 Oct, 2019

1 commit

  • The addr variable in prom_free_prom_memory() has been unused since
    commit 0df1007677d5 ("MIPS: fw: Record prom memory"), leading to a
    compiler warning:

    arch/mips/fw/arc/memory.c:163:16:
    warning: unused variable 'addr' [-Wunused-variable]

    Fix this by removing the unused variable.

    Signed-off-by: Paul Burton
    Fixes: 0df1007677d5 ("MIPS: fw: Record prom memory")
    Cc: Jiaxun Yang
    Cc: linux-mips@vger.kernel.org

    Paul Burton
     

23 Aug, 2019

1 commit

  • boot_mem_map is nolonger exist so we need to maintain a list
    of prom memory by ourselves.

    Signed-off-by: Jiaxun Yang
    Signed-off-by: Paul Burton
    Cc: linux-mips@vger.kernel.org
    Cc: yasha.che3@gmail.com
    Cc: aurelien@aurel32.net
    Cc: sfr@canb.auug.org.au
    Cc: fancer.lancer@gmail.com
    Cc: matt.redfearn@mips.com
    Cc: chenhc@lemote.com

    Jiaxun Yang
     

31 May, 2019

2 commits

  • 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 this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    59 temple place suite 330 boston ma 02111 1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

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

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

    Thomas Gleixner
     
  • 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
     

21 May, 2019

1 commit


31 Oct, 2018

1 commit

  • Move remaining definitions and declarations from include/linux/bootmem.h
    into include/linux/memblock.h and remove the redundant header.

    The includes were replaced with the semantic patch below and then
    semi-automated removal of duplicated '#include

    @@
    @@
    - #include
    + #include

    [sfr@canb.auug.org.au: dma-direct: fix up for the removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181002185342.133d1680@canb.auug.org.au
    [sfr@canb.auug.org.au: powerpc: fix up for removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181005161406.73ef8727@canb.auug.org.au
    [sfr@canb.auug.org.au: x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal]
    Link: http://lkml.kernel.org/r/20181008190341.5e396491@canb.auug.org.au
    Link: http://lkml.kernel.org/r/1536927045-23536-30-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Stephen Rothwell
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

18 Jul, 2018

1 commit

  • prom_putchar() is used centrally in early printk infrastructure therefore
    at least MIPS should agree on the function return type.

    [paul.burton@mips.com:
    - Include linux/types.h in asm/setup.h to gain the bool typedef before
    we start include asm/setup.h elsewhere.
    - Include asm/setup.h in all files that use or define prom_putchar().
    - Also standardise on signed rather than unsigned char argument.]

    Signed-off-by: Alexander Sverdlin
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19842/
    Cc: linux-mips@linux-mips.org
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Jonas Gorski
    Cc: Florian Fainelli
    Cc: Kate Stewart
    Cc: Philippe Ombredanne

    Alexander Sverdlin
     

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
     

29 Aug, 2017

1 commit

  • smp_ops providers do not modify their ops structures, so they should be
    made const for robustness. Since currently the MIPS kernel is not mapped
    with memory protection, this does not in itself provide any security
    benefit, but it still makes sense to make this change.

    There are also slight code size efficincies from the structure being
    made read-only, saving 128 bytes of kernel text on a
    pistachio_defconfig.
    Before:
    text data bss dec hex filename
    7187239 1772752 470224 9430215 8fe4c7 vmlinux
    After:
    text data bss dec hex filename
    7187111 1772752 470224 9430087 8fe447 vmlinux

    Signed-off-by: Matt Redfearn
    Cc: Sebastian Andrzej Siewior
    Cc: Arnd Bergmann
    Cc: Marcin Nowakowski
    Cc: Bart Van Assche
    Cc: Masahiro Yamada
    Cc: Huacai Chen
    Cc: Paul Gortmaker
    Cc: Kevin Cernekee
    Cc: Thomas Gleixner
    Cc: Doug Ledford
    Cc: James Hogan
    Cc: Joe Perches
    Cc: Florian Fainelli
    Cc: Ingo Molnar
    Cc: Paul Burton
    Cc: Andrew Morton
    Cc: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/16784/
    Signed-off-by: Ralf Baechle

    Matt Redfearn
     

03 Apr, 2016

1 commit


13 Jan, 2015

1 commit


24 Nov, 2014

2 commits


13 May, 2014

1 commit

  • Commit 231a35d37293ab88d325a9cb94e5474c156282c0 [[MIPS] RM: Collected
    changes] broke DECstation support by introducing an incompatible copy of
    arch/mips/dec/prom/call_o32.S in arch/mips/fw/lib/, built unconditionally.
    The copy happens to land earlier of the two among the modules used in the
    link and is therefore chosen for the DECstation rather than the intended
    original. As a result random kernel data is corrupted because a pointer
    to the "%s" formatted output template is used as a temporary stack pointer
    rather than being passed down to prom_printf. This also explains why
    prom_printf still works, up to a point -- the next argument is the actual
    string to output so it works just fine as the output template until enough
    kernel data has been corrupted to cause a crash.

    This change adjusts the modified wrapper in arch/mips/fw/lib/call_o32.S to
    let callers request no stack switching by passing a null temporary stack
    pointer in $a1, reworks the DECstation callers to work with the updated
    interface and removes the old copy from arch/mips/dec/prom/call_o32.S. A
    few minor readability adjustments are included as well, most importantly
    O32_SZREG is now used throughout where applicable rather than hardcoded
    multiplies of 4 and $fp is used to access the argument save area as a more
    usual register to operate the stack with rather than $s0.

    Finally an update is made to the temporary stack space used by the SNI
    platform to guarantee 8-byte alignment as per o32 requirements.

    Signed-off-by: Maciej W. Rozycki
    Cc: Thomas Bogendoerfer
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6668/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

25 Jan, 2014

1 commit

  • None of these files are actually using any __init type directives
    and hence don't need to include . Most are just a
    left over from __devinit and __cpuinit removal, or simply due to
    code getting copied from one driver to the next.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6320/

    Paul Gortmaker
     

22 Jun, 2013

1 commit

  • The write() prototype expects a const char * as argument so declare
    it as such.

    Fixes the following build problem:

    arch/mips/sibyte/common/cfe_console.c:23:5: error: passing argument 2 of
    'cfe_write' discards 'const' qualifier from pointer target type [-Werror]
    arch/mips/sibyte/common/cfe_console.c:34:4: error: passing argument 2 of
    'cfe_write' makes pointer from integer without a cast [-Werror]

    Signed-off-by: Markos Chandras
    Acked-by: Steven J. Hill
    Cc: sibyte-users@bitmover.com
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5485/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

08 May, 2013

1 commit


01 Feb, 2013

1 commit

  • Having received another series of whitespace patches I decided to do this
    once and for all rather than dealing with this kind of patches trickling
    in forever.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

14 Dec, 2012

1 commit

  • With the upcoming merge of the ARC architecture there is a small likelyhood
    of conflicting use for the CONFIG_ARC config symbol. Rename it to
    CONFIG_FW_ARC. Also rename CONFIG_ARC32 to CONFIG_FW_ARC32, CONFIG_ARC64
    to CONFIG_FW_ARC64.

    For consistence also rename CONFIG_SNIPROM to CONFIG_FW_SNIPROM and
    CONFIG_CFE to CONFIG_FW_CFE.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

17 Nov, 2012

1 commit

  • Using a cross-compiler to fix another issue, the following build error
    occurred for mips defconfig:

    arch/mips/fw/arc/misc.c: In function 'ArcHalt':
    arch/mips/fw/arc/misc.c:25:2: error: implicit declaration of function 'local_irq_disable'

    Fix it up by including irqflags.h.

    Signed-off-by: David Rientjes
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

21 May, 2012

1 commit


29 Mar, 2012

2 commits

  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Disintegrate asm/system.h for MIPS.

    Signed-off-by: David Howells
    Acked-by: Ralf Baechle
    cc: linux-mips@linux-mips.org

    David Howells
     

01 Mar, 2012

1 commit


26 Apr, 2011

1 commit


06 Apr, 2011

1 commit


31 Mar, 2011

1 commit


17 Mar, 2011

1 commit


17 Dec, 2009

1 commit


18 Sep, 2009

1 commit