28 Oct, 2020

1 commit


27 Oct, 2020

1 commit


09 Sep, 2020

1 commit

  • Add a CONFIG_SET_FS option that is selected by architecturess that
    implement set_fs, which is all of them initially. If the option is not
    set stubs for routines related to overriding the address space are
    provided so that architectures can start to opt out of providing set_fs.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Kees Cook
    Signed-off-by: Al Viro

    Christoph Hellwig
     

08 Dec, 2019

1 commit

  • CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT.
    Both PREEMPT and PREEMPT_RT require the same functionality which today
    depends on CONFIG_PREEMPT.

    Switch the ex-exit code over to use CONFIG_PREEMPTION.

    [bigeasy: +Kconfig]

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Thomas Gleixner
    Cc: Greentime Hu
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Vincent Chen
    Link: https://lore.kernel.org/r/20191015191821.11479-14-bigeasy@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     

12 Nov, 2019

1 commit

  • Use the generic ioremap_prot and iounmap helpers.

    Note that the io.h include in pgtable.h had to be removed to not create
    an include loop. As far as I can tell there was no need for it to
    start with.

    Signed-off-by: Christoph Hellwig
    Acked-by: Greentime Hu

    Christoph Hellwig
     

13 Jul, 2019

1 commit

  • Pull dma-mapping updates from Christoph Hellwig:

    - move the USB special case that bounced DMA through a device bar into
    the USB code instead of handling it in the common DMA code (Laurentiu
    Tudor and Fredrik Noring)

    - don't dip into the global CMA pool for single page allocations
    (Nicolin Chen)

    - fix a crash when allocating memory for the atomic pool failed during
    boot (Florian Fainelli)

    - move support for MIPS-style uncached segments to the common code and
    use that for MIPS and nios2 (me)

    - make support for DMA_ATTR_NON_CONSISTENT and
    DMA_ATTR_NO_KERNEL_MAPPING generic (me)

    - convert nds32 to the generic remapping allocator (me)

    * tag 'dma-mapping-5.3' of git://git.infradead.org/users/hch/dma-mapping: (29 commits)
    dma-mapping: mark dma_alloc_need_uncached as __always_inline
    MIPS: only select ARCH_HAS_UNCACHED_SEGMENT for non-coherent platforms
    usb: host: Fix excessive alignment restriction for local memory allocations
    lib/genalloc.c: Add algorithm, align and zeroed family of DMA allocators
    nios2: use the generic uncached segment support in dma-direct
    nds32: use the generic remapping allocator for coherent DMA allocations
    arc: use the generic remapping allocator for coherent DMA allocations
    dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING in common code
    dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code
    dma-mapping: add a dma_alloc_need_uncached helper
    openrisc: remove the partial DMA_ATTR_NON_CONSISTENT support
    arc: remove the partial DMA_ATTR_NON_CONSISTENT support
    arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
    ARM: dma-mapping: allow larger DMA mask than supported
    dma-mapping: truncate dma masks to what dma_addr_t can hold
    iommu/dma: Apply dma_{alloc,free}_contiguous functions
    dma-remap: Avoid de-referencing NULL atomic_pool
    MIPS: use the generic uncached segment support in dma-direct
    dma-direct: provide generic support for uncached kernel segments
    au1100fb: fix DMA API abuse
    ...

    Linus Torvalds
     

25 Jun, 2019

1 commit


15 Jun, 2019

1 commit

  • The kbuild documentation clearly shows that the documents
    there are written at different times: some use markdown,
    some use their own peculiar logic to split sections.

    Convert everything to ReST without affecting too much
    the author's style and avoiding adding uneeded markups.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

21 May, 2019

1 commit


18 May, 2019

1 commit

  • Pull nds32 updates from Greentime Hu:

    - Clean up codes and Makefile

    - Fix a vDSO bug

    - Remove useless functions/header files

    - Update git repo path in MAINTAINERS

    * tag 'nds32-for-linus-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
    nds32: Fix vDSO clock_getres()
    MAINTAINERS: update nds32 git repo path
    nds32: don't export low-level cache flushing routines
    arch: nds32: Kconfig: pedantic formatting
    nds32: fix semicolon code style issue
    nds32: vdso: drop unnecessary cc-ldoption
    nds32: remove unused generic-y += cmpxchg-local.h
    nds32: Use the correct style for SPDX License Identifier
    nds32: remove __virt_to_bus and __bus_to_virt
    nds32: vdso: fix and clean-up Makefile
    nds32: add vmlinux.lds and vdso.so to .gitignore
    nds32: ex-exit: Remove unneeded need_resched() loop
    nds32/io: Remove useless definition of mmiowb()
    nds32: Removed unused thread flag TIF_USEDFPU

    Linus Torvalds
     

07 May, 2019

1 commit


03 Apr, 2019

1 commit

  • Currently, we have two different implementation of rwsem:

    1) CONFIG_RWSEM_GENERIC_SPINLOCK (rwsem-spinlock.c)
    2) CONFIG_RWSEM_XCHGADD_ALGORITHM (rwsem-xadd.c)

    As we are going to use a single generic implementation for rwsem-xadd.c
    and no architecture-specific code will be needed, there is no point
    in keeping two different implementations of rwsem. In most cases, the
    performance of rwsem-spinlock.c will be worse. It also doesn't get all
    the performance tuning and optimizations that had been implemented in
    rwsem-xadd.c over the years.

    For simplication, we are going to remove rwsem-spinlock.c and make all
    architectures use a single implementation of rwsem - rwsem-xadd.c.

    All references to RWSEM_GENERIC_SPINLOCK and RWSEM_XCHGADD_ALGORITHM
    in the code are removed.

    Suggested-by: Peter Zijlstra
    Signed-off-by: Waiman Long
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Linus Torvalds
    Cc: Andrew Morton
    Cc: Arnd Bergmann
    Cc: Borislav Petkov
    Cc: Davidlohr Bueso
    Cc: H. Peter Anvin
    Cc: Paul E. McKenney
    Cc: Thomas Gleixner
    Cc: Tim Chen
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-riscv@lists.infradead.org
    Cc: linux-um@lists.infradead.org
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: nios2-dev@lists.rocketboards.org
    Cc: openrisc@lists.librecores.org
    Cc: uclinux-h8-devel@lists.sourceforge.jp
    Link: https://lkml.kernel.org/r/20190322143008.21313-3-longman@redhat.com
    Signed-off-by: Ingo Molnar

    Waiman Long
     

19 Feb, 2019

1 commit

  • All new 32-bit architectures should have 64-bit userspace off_t type, but
    existing architectures has 32-bit ones.

    To enforce the rule, new config option is added to arch/Kconfig that defaults
    ARCH_32BIT_OFF_T to be disabled for new 32-bit architectures. All existing
    32-bit architectures enable it explicitly.

    New option affects force_o_largefile() behaviour. Namely, if userspace
    off_t is 64-bits long, we have no reason to reject user to open big files.

    Note that even if architectures has only 64-bit off_t in the kernel
    (arc, c6x, h8300, hexagon, nios2, openrisc, and unicore32),
    a libc may use 32-bit off_t, and therefore want to limit the file size
    to 4GB unless specified differently in the open flags.

    Signed-off-by: Yury Norov
    Acked-by: Arnd Bergmann
    Signed-off-by: Yury Norov
    Signed-off-by: Arnd Bergmann

    Yury Norov
     

30 Dec, 2018

1 commit

  • Pull nds32 updates from Greentime Hu:

    - Perf support

    - Power management support

    - FPU support

    - Hardware prefetcher support

    - Build error fixed

    - Performance enhancement

    * tag 'nds32-for-linus-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
    nds32: support hardware prefetcher
    nds32: Fix the items of hwcap_str ordering issue.
    math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning
    math-emu/op-2.h: Use statement expressions to prevent negative constant shift
    nds32: support denormalized result through FP emulator
    nds32: Support FP emulation
    nds32: nds32 FPU port
    nds32: Remove duplicated include from pm.c
    nds32: Power management for nds32
    nds32: Add document for NDS32 PMU.
    nds32: Add perf call-graph support.
    nds32: Perf porting
    nds32: Fix bug in bitfield.h
    nds32: Fix gcc 8.0 compiler option incompatible.
    nds32: Fill all TLB entries with kernel image mapping
    nds32: Remove the redundant assignment

    Linus Torvalds
     

14 Dec, 2018

1 commit

  • All architectures except for sparc64 use the dma-direct code in some
    form, and even for sparc64 we had the discussion of a direct mapping
    mode a while ago. In preparation for directly calling the direct
    mapping code don't bother having it optionally but always build the
    code in. This is a minor hardship for some powerpc and arm configs
    that don't pull it in yet (although they should in a relase ot two),
    and sparc64 which currently doesn't need it at all, but it will
    reduce the ifdef mess we'd otherwise need significantly.

    Signed-off-by: Christoph Hellwig
    Acked-by: Jesper Dangaard Brouer
    Tested-by: Jesper Dangaard Brouer
    Tested-by: Tony Luck

    Christoph Hellwig
     

22 Nov, 2018

1 commit

  • This patch set contains basic components for supporting the nds32 FPU,
    such as exception handlers and context switch for FPU registers. By
    default, the lazy FPU scheme is supported and the user can configure it via
    CONFIG_LZAY_FPU.

    Signed-off-by: Vincent Chen
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Vincent Chen
     

06 Nov, 2018

2 commits

  • There are three sleep states in nds32:
    suspend to idle,
    suspend to standby,
    suspend to ram

    In suspend to ram, we use the 'standby' instruction to emulate
    power management device to hang the system util wakeup source
    send wakeup events to break the loop.

    First, we push the general purpose registers and system registers
    to stack. Second, we translate stack pointer to physical address
    and store to memory to save the stack pointer. Third, after write
    back and invalid the cache we hang in 'standby' intruction.
    When wakeup source trigger wake up events, the loop will be break
    and resume the system.

    Signed-off-by: Nick Hu
    Acked-by: Pavel Machek
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Nick Hu
     
  • This is the commit that porting the perf for nds32.

    1.Raw event:
    The raw events start with 'r'.
    Usage:
    perf stat -e rXYZ ./app
    X: the index of performance counter.
    YZ: the index(convert to hexdecimal) of events

    Example:
    'perf stat -e r101 ./app' means the counter 1 will count the instruction
    event.

    The index of counter and events can be found in
    "Andes System Privilege Architecture Version 3 Manual".

    Or you can perform the 'perf list' to find the symbolic name of raw events.

    2.Perf mmap2:

    Fix unexpected perf mmap2() page fault

    When the mmap2() called by perf application,
    you will encounter such condition:"failed to write."
    With return value -EFAULT

    This is due to the page fault caused by "reading" buffer
    from the mapped legal address region to write to the descriptor.
    The page_fault handler will get a VM_FAULT_SIGBUS return value,
    which should not happens here.(Due to this is a read request.)

    You can refer to kernel/events/core.c:perf_mmap_fault(...)
    If "(vmf->pgoff && (vmf->flags & FAULT_FLAG_WRITE))" is evaluated
    as true, you will get VM_FAULT_SIGBUS as return value.

    However, this is not an write request. The flags which indicated
    why the page fault happens is wrong.

    Furthermore, NDS32 SPAv3 is not able to detect it is read or write.
    It only know either it is instruction fetch or data access.

    Therefore, by removing the wrong flag assignment(actually, the hardware
    is not able to show the reason), we can fix this bug.

    3.Perf multiple events map to same counter.

    When there are multiple events map to the same counter, the counter
    counts inaccurately. This is because each counter only counts one event
    in the same time.
    So when there are multiple events map to same counter, they have to take
    turns in each context.

    There are two solution:
    1. Print the error message when multiple events map to the same counter.
    But print the error message would let the program hang in loop. The ltp
    (linux test program) would be failed when the program hang in loop.

    2. Don't print the error message, the ltp would pass. But the user need to
    have the knowledge that don't count the events which map to the same
    counter, or the user will get the inaccurate results.

    We choose method 2 for the solution

    Signed-off-by: Nickhu
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Nickhu
     

31 Oct, 2018

2 commits

  • All architecures use memblock for early memory management. There is no need
    for the CONFIG_HAVE_MEMBLOCK configuration option.

    [rppt@linux.vnet.ibm.com: of/fdt: fixup #ifdefs]
    Link: http://lkml.kernel.org/r/20180919103457.GA20545@rapoport-lnx
    [rppt@linux.vnet.ibm.com: csky: fixups after bootmem removal]
    Link: http://lkml.kernel.org/r/20180926112744.GC4628@rapoport-lnx
    [rppt@linux.vnet.ibm.com: remove stale #else and the code it protects]
    Link: http://lkml.kernel.org/r/1538067825-24835-1-git-send-email-rppt@linux.vnet.ibm.com
    Link: http://lkml.kernel.org/r/1536927045-23536-4-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Michal Hocko
    Tested-by: Jonathan Cameron
    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
     
  • All achitectures select NO_BOOTMEM which essentially becomes 'Y' for any
    kernel configuration and therefore it can be removed.

    [alexander.h.duyck@linux.intel.com: remove now defunct NO_BOOTMEM from depends list for deferred init]
    Link: http://lkml.kernel.org/r/20180925201814.3576.15105.stgit@localhost.localdomain
    Link: http://lkml.kernel.org/r/1536927045-23536-3-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Alexander Duyck
    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
     

20 Sep, 2018

1 commit


04 Sep, 2018

4 commits


16 Aug, 2018

1 commit

  • Pull Kconfig consolidation from Masahiro Yamada:
    "Consolidation of Kconfig files by Christoph Hellwig.

    Move the source statements of arch-independent Kconfig files instead
    of duplicating the includes in every arch/$(SRCARCH)/Kconfig"

    * tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: add a Memory Management options" menu
    kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
    kconfig: use a menu in arch/Kconfig to reduce clutter
    kconfig: include kernel/Kconfig.preempt from init/Kconfig
    Kconfig: consolidate the "Kernel hacking" menu
    kconfig: include common Kconfig files from top-level Kconfig
    kconfig: remove duplicate SWAP symbol defintions
    um: create a proper drivers Kconfig
    um: cleanup Kconfig files
    um: stop abusing KBUILD_KCONFIG

    Linus Torvalds
     

02 Aug, 2018

3 commits

  • Almost all architectures include it. Add a ARCH_NO_PREEMPT symbol to
    disable preempt support for alpha, hexagon, non-coldfire m68k and
    user mode Linux.

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

    Christoph Hellwig
     
  • 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
     
  • Instead of duplicating the source statements in every architecture just
    do it once in the toplevel Kconfig file.

    Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of
    the top-level Kconfig into arch/Kconfig so that don't violate ordering
    constraits while keeping a sensible menu structure.

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

    Christoph Hellwig
     

19 Jun, 2018

1 commit

  • Fix build error on nds32 due to the merge of commit e3d5980568f ("lib:
    Rename compiler intrinsic selects to GENERIC_LIB_*") during the 4.18
    merge window which renames Kconfig symbols. This had raced with commit
    aeaa7af744fa ("nds32: lib: To use generic lib instead of libgcc to
    prevent the symbol undefined issue.") merged late in the 4.17 cycle,
    which added selects to nds32 using the original Kconfig symbol names.

    When they came together in merge commit 763f96944c95 ("Merge tag
    'mips_4.18' of
    git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") this resulted
    in the following build errors:

    nds32le-linux-ld: kernel/time/timekeeping.o: in function `timekeeping_init':
    timekeeping.c:(.init.text+0x140): undefined reference to `__ashldi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x144): undefined reference to `__ashldi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x17e): undefined reference to `__lshrdi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x182): undefined reference to `__lshrdi3'
    nds32le-linux-ld: drivers/clocksource/mmio.o: in function `clocksource_mmio_init':
    mmio.c:(.init.text+0x54): undefined reference to `__lshrdi3'
    nds32le-linux-ld: mmio.c:(.init.text+0x58): undefined reference to `__lshrdi3'

    Rename all 6 selects in nds32 and adjust the ordering accordingly to be
    alphabetical.

    Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
    Signed-off-by: Guenter Roeck
    [jhogan@kernel.org: Rename all 6 symbols, sort, update commit message]
    Signed-off-by: James Hogan
    Cc: Greentime Hu
    Cc: Vincent Chen
    Cc: Matt Redfearn
    Cc: Palmer Dabbelt
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Guenter Roeck
     

05 Jun, 2018

1 commit

  • Pull dma-mapping updates from Christoph Hellwig:

    - replace the force_dma flag with a dma_configure bus method. (Nipun
    Gupta, although one patch is іncorrectly attributed to me due to a
    git rebase bug)

    - use GFP_DMA32 more agressively in dma-direct. (Takashi Iwai)

    - remove PCI_DMA_BUS_IS_PHYS and rely on the dma-mapping API to do the
    right thing for bounce buffering.

    - move dma-debug initialization to common code, and apply a few
    cleanups to the dma-debug code.

    - cleanup the Kconfig mess around swiotlb selection

    - swiotlb comment fixup (Yisheng Xie)

    - a trivial swiotlb fix. (Dan Carpenter)

    - support swiotlb on RISC-V. (based on a patch from Palmer Dabbelt)

    - add a new generic dma-noncoherent dma_map_ops implementation and use
    it for arc, c6x and nds32.

    - improve scatterlist validity checking in dma-debug. (Robin Murphy)

    - add a struct device quirk to limit the dma-mask to 32-bit due to
    bridge/system issues, and switch x86 to use it instead of a local
    hack for VIA bridges.

    - handle devices without a dma_mask more gracefully in the dma-direct
    code.

    * tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping: (48 commits)
    dma-direct: don't crash on device without dma_mask
    nds32: use generic dma_noncoherent_ops
    nds32: implement the unmap_sg DMA operation
    nds32: consolidate DMA cache maintainance routines
    x86/pci-dma: switch the VIA 32-bit DMA quirk to use the struct device flag
    x86/pci-dma: remove the explicit nodac and allowdac option
    x86/pci-dma: remove the experimental forcesac boot option
    Documentation/x86: remove a stray reference to pci-nommu.c
    core, dma-direct: add a flag 32-bit dma limits
    dma-mapping: remove unused gfp_t parameter to arch_dma_alloc_attrs
    dma-debug: check scatterlist segments
    c6x: use generic dma_noncoherent_ops
    arc: use generic dma_noncoherent_ops
    arc: fix arc_dma_{map,unmap}_page
    arc: fix arc_dma_sync_sg_for_{cpu,device}
    arc: simplify arc_dma_sync_single_for_{cpu,device}
    dma-mapping: provide a generic dma-noncoherent implementation
    dma-mapping: simplify Kconfig dependencies
    riscv: add swiotlb support
    riscv: only enable ZONE_DMA32 for 64-bit
    ...

    Linus Torvalds
     

29 May, 2018

1 commit


23 May, 2018

2 commits

  • To include kernel/Kconfig.freezer to make sure the dependency between
    CONFIG_CGROUP_FREEZER and CONFIG_FREEZER

    It will cause building error when I make allmodconfig.

    kernel/cgroup/freezer.c: In function 'freezer_css_online':
    kernel/cgroup/freezer.c:116:15: error: 'system_freezing_cnt' undeclared (first use in this function)
    atomic_inc(&system_freezing_cnt);
    ^~~~~~~~~~~~~~~~~~~
    kernel/cgroup/freezer.c:116:15: note: each undeclared identifier is reported only once for each function it appears in
    kernel/cgroup/freezer.c: In function 'freezer_css_offline':
    kernel/cgroup/freezer.c:137:15: error: 'system_freezing_cnt' undeclared (first use in this function)
    atomic_dec(&system_freezing_cnt);
    ^~~~~~~~~~~~~~~~~~~
    kernel/cgroup/freezer.c: In function 'freezer_attach':
    kernel/cgroup/freezer.c:181:4: error: implicit declaration of function 'freeze_task' [-Werror=implicit-function-declaration]
    freeze_task(task);
    ^~~~~~~~~~~
    kernel/cgroup/freezer.c: In function 'freezer_apply_state':
    kernel/cgroup/freezer.c:360:16: error: 'system_freezing_cnt' undeclared (first use in this function)
    atomic_inc(&system_freezing_cnt);
    ^~~~~~~~~~~~~~~~~~~

    Signed-off-by: Greentime Hu
    Acked-by: Arnd Bergmann

    Greentime Hu
     
  • We can use the generic lib to fix these error because the symbol of
    libgcc in toolchain is not exported.

    ERROR: "__ucmpdi2" [fs/xfs/xfs.ko] undefined!
    ERROR: "__ashrdi3" [fs/xfs/xfs.ko] undefined!
    ERROR: "__lshrdi3" [fs/xfs/xfs.ko] undefined!
    ERROR: "__ashldi3" [fs/ntfs/ntfs.ko] undefined!
    ...

    Signed-off-by: Greentime Hu
    Acked-by: Arnd Bergmann

    Greentime Hu
     

22 Feb, 2018

1 commit