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
     

01 Mar, 2016

1 commit

  • Binutils used to be (erroneously) extremely permissive about
    instruction usage. But that got fixed and if you don't properly tell
    it to accept classes of instructions it will fail.

    This uncovered a specs bug on sparc in gcc where it wouldn't pass the
    proper options to binutils options.

    Deal with this in the kernel build by adding -Wa,-Av8 to KBUILD_CFLAGS.

    Reported-by: Al Viro
    Signed-off-by: David S. Miller

    David S. Miller
     

05 Aug, 2014

1 commit


21 Mar, 2013

1 commit

  • This patch adds CONFIG_HIBERNATION support for sparc64
    architecture. The suspend function is the same as on another
    platforms. The restore function uses Bypass feature of MMU
    which allows to make the process more comfortable and plesant.

    Signed-off-by: Kirill Tkhai
    CC: David Miller
    CC: Sam Ravnborg
    Signed-off-by: David S. Miller

    Tkhai Kirill
     

22 May, 2012

1 commit

  • Pull smp hotplug cleanups from Thomas Gleixner:
    "This series is merily a cleanup of code copied around in arch/* and
    not changing any of the real cpu hotplug horrors yet. I wish I'd had
    something more substantial for 3.5, but I underestimated the lurking
    horror..."

    Fix up trivial conflicts in arch/{arm,sparc,x86}/Kconfig and
    arch/sparc/include/asm/thread_info_32.h

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)
    um: Remove leftover declaration of alloc_task_struct_node()
    task_allocator: Use config switches instead of magic defines
    sparc: Use common threadinfo allocator
    score: Use common threadinfo allocator
    sh-use-common-threadinfo-allocator
    mn10300: Use common threadinfo allocator
    powerpc: Use common threadinfo allocator
    mips: Use common threadinfo allocator
    hexagon: Use common threadinfo allocator
    m32r: Use common threadinfo allocator
    frv: Use common threadinfo allocator
    cris: Use common threadinfo allocator
    x86: Use common threadinfo allocator
    c6x: Use common threadinfo allocator
    fork: Provide kmemcache based thread_info allocator
    tile: Use common threadinfo allocator
    fork: Provide weak arch_release_[task_struct|thread_info] functions
    fork: Move thread info gfp flags to header
    fork: Remove the weak insanity
    sh: Remove cpu_idle_wait()
    ...

    Linus Torvalds
     

16 May, 2012

3 commits


15 May, 2012

1 commit


13 May, 2012

1 commit


05 May, 2012

1 commit


14 Mar, 2012

1 commit

  • Newer version of binutils are more strict about specifying the
    correct options to enable certain classes of instructions.

    The sparc32 build is done for v7 in order to support sun4c systems
    which lack hardware integer multiply and divide instructions.

    So we have to pass -Av8 when building the assembler routines that
    use these instructions and get patched into the kernel when we find
    out that we have a v8 capable cpu.

    Reported-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    David S. Miller
     

17 Mar, 2011

1 commit


06 Dec, 2009

1 commit

  • "ARCH" can be just about anything, so we shouldn't end up
    with UTS_MACHINE of "sparc" in a 64-bit kernel build just
    because someone set the personality using 'sparc32' or
    similar. CONFIG_SPARC64 drives the compilation and
    therefore provides the definitive value, not "ARCH".

    This mirrors commit 8c6531f7a99f29ba8817ffb12cc9ecf190049bd6
    (x86: correctly set UTS_MACHINE for "make ARCH=x86")

    Signed-off-by: David S. Miller

    David S. Miller
     

20 Sep, 2009

1 commit

  • Albin Tonnerre reported:

    Bash 4 filters out variables which contain a dot in them.
    This happends to be the case of CPPFLAGS_vmlinux.lds.
    This is rather unfortunate, as it now causes
    build failures when using SHELL=/bin/bash to compile,
    or when bash happens to be used by make (eg when it's /bin/sh)

    Remove the common definition of CPPFLAGS_vmlinux.lds by
    pushing relevant stuff to either Makefile.build or the
    arch specific kernel/Makefile where we build the linker script.

    This is also nice cleanup as we move the information out where
    it is used.

    Notes for the different architectures touched:

    arm - we use an already exported symbol
    cris - we use a config symbol aleady available
    [Not build tested]
    mips - the jiffies complexity has moved to vmlinux.lds.S where we need it.
    Added a few variables to CPPFLAGS - they are only used by
    the linker script.
    [Not build tested]
    powerpc - removed assignment that is not needed
    [not build tested]
    sparc - simplified it using $(BITS)
    um - introduced a few new exported variables to deal with this
    xtensa - added options to CPP invocation
    [not build tested]

    Cc: Albin Tonnerre
    Cc: Russell King
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Chris Zankel
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

17 Aug, 2009

1 commit


05 Dec, 2008

10 commits

  • A closer inspection revealed that these two files had identical
    functionality - but the implementation of it differed slightly.

    Base it on the sparc version as it was the best.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Simple unification:
    o renamed piggyback to *_32.c/*_64.c
    o copied content of Makefile from sparc64 to sparc and guard it
    o updated sparc/boot/.gitignore
    o deleted remaining files in sparc64/boot

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • o Move all files from sparc64/kernel/ to sparc/kernel
    - rename as appropriate
    o Update sparc/Makefile to the changes
    o Update sparc/kernel/Makefile to include the sparc64 files

    NOTE: This commit changes link order on sparc64!

    Link order had to change for either of sparc32 and sparc64.
    And assuming sparc64 see more testing than sparc32 change link
    order on sparc64 where issues will be caught faster.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • o sparc32 files with identical names to sparc64 renamed to _32.S
    o introduced a few Kconfig helpers to simplify Makefile logic
    o refactored Makefile to prepare for unification
    - use obj-$(CONFIG_SPARC32) for sparc32 specific files
    - use _$(BITS) for files where sparc64 has a _64 variant
    - sparc64 directly include a few files where sparc32 builds them,
    refer to these files directly (no BITS)
    - sneaked in -Werror as used by sparc64
    o modified sparc/Makefile to use the new names for head/init_task

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • o Renamed files in sparc64 to _64.S when identical
    to sparc32 files.
    o iomap.c were equal for sparc32 and sparc64
    o adjusted sparc/Makefile now we have only one lib/

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • - all files with identical names copied and renamed to *_64.c
    - the remaning files copied as is
    - added sparc64 specific files to sparc/prom/Makefile
    - teach sparc64 Makefile to look into sparc/prom/
    - delete unused Makefile from sparc64/prom/

    linking order was not kept for sparc64 with this change.
    It was not possible to keep linking order for both sparc and sparc64
    and as sparc64 see more testing than sparc it was natural to
    break linking order on sparc64. Should it have any effect it
    would be detected sooner this way.

    printf_32.c and printf_64.c are obvious candidates to be merged
    but they are not 100% equal so that was left for later

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • To unify Makefile for sparc and sparc64 a few other steps was needed:
    1) separate defconfig files for sparc and sparc64 is required,
    so locate these in arch/sparc/configs
    2) removoval of hack in toplevel Makefile to deal with that
    headers was in a separate directory compared to the rest

    The unification of the Makefile required usage of several

    foo-$(CONFIG_SPARCnn) +=

    due to a few directories pending unification.
    This will be cleaned up when we unify the remaining directories.

    Included in this patch are the deletion of a few files in
    sparc64 as they are no longer needed: Makefile + Kconfig.
    arch/sparc64/ will after this patch is applied only
    have four directories (prom, lib, kernel, boot)

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Leave all cleaning to boot/Makefile
    and delete zImage too when we do a 'make clean'

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • The btfixup step needs knowledge of all the .o files,
    but there is no need to pass them in independent variables.
    Simplify it to use only two variables.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • BITS will be used to simplify unified Makefiles

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

25 Aug, 2008

1 commit


23 Jul, 2008

1 commit


16 Oct, 2007

1 commit

  • The variable AFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of AFLAGS with KBUILD_AFLAGS all over
    the tree.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

15 Oct, 2007

1 commit

  • The variable CFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
    tree and enabling one to use:
    make CFLAGS=...
    to specify additional gcc commandline options.

    One usecase is when trying to find gcc bugs but other
    use cases has been requested too.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k

    Test was simple to do a defconfig build, apply the patch and check
    that nothing got rebuild.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

18 Oct, 2006

1 commit


13 Dec, 2005

1 commit

  • With this fix, sparc links vmlinuz again using crosstool. Without this
    fix, the final link fails missing several dozen dozen symbols, beginning
    with:

    kernel/built-in.o(.text+0x6fd0): In function `do_exit':
    : undefined reference to `exit_io_context'

    (exit_io_context is defined in block/ll_rw_blk.c).

    Signed-off-by: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Paul Jackson
     

10 Sep, 2005

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