06 Nov, 2015

1 commit


12 Sep, 2015

1 commit

  • Commit 6b0f68e32ea8 ("mm: add utility for early copy from unmapped ram")
    introduces a function copy_from_early_mem() into mm/early_ioremap.c
    which itself calls early_memremap()/early_memunmap(). However, since
    early_memunmap() has not been declared yet at this point in the .c file,
    nor by any explicitly included header files, we are depending on a
    transitive include of asm/early_ioremap.h to declare it, which is
    fragile.

    So instead, include this header explicitly.

    Signed-off-by: Ard Biesheuvel
    Acked-by: Mark Salter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ard Biesheuvel
     

09 Sep, 2015

2 commits

  • Merge second patch-bomb from Andrew Morton:
    "Almost all of the rest of MM. There was an unusually large amount of
    MM material this time"

    * emailed patches from Andrew Morton : (141 commits)
    zpool: remove no-op module init/exit
    mm: zbud: constify the zbud_ops
    mm: zpool: constify the zpool_ops
    mm: swap: zswap: maybe_preload & refactoring
    zram: unify error reporting
    zsmalloc: remove null check from destroy_handle_cache()
    zsmalloc: do not take class lock in zs_shrinker_count()
    zsmalloc: use class->pages_per_zspage
    zsmalloc: consider ZS_ALMOST_FULL as migrate source
    zsmalloc: partial page ordering within a fullness_list
    zsmalloc: use shrinker to trigger auto-compaction
    zsmalloc: account the number of compacted pages
    zsmalloc/zram: introduce zs_pool_stats api
    zsmalloc: cosmetic compaction code adjustments
    zsmalloc: introduce zs_can_compact() function
    zsmalloc: always keep per-class stats
    zsmalloc: drop unused variable `nr_to_migrate'
    mm/memblock.c: fix comment in __next_mem_range()
    mm/page_alloc.c: fix type information of memoryless node
    memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node()
    ...

    Linus Torvalds
     
  • When booting an arm64 kernel w/initrd using UEFI/grub, use of mem= will
    likely cut off part or all of the initrd. This leaves it outside the
    kernel linear map which leads to failure when unpacking. The x86 code
    has a similar need to relocate an initrd outside of mapped memory in
    some cases.

    The current x86 code uses early_memremap() to copy the original initrd
    from unmapped to mapped RAM. This patchset creates a generic
    copy_from_early_mem() utility based on that x86 code and has arm64 and
    x86 share it in their respective initrd relocation code.

    This patch (of 3):

    In some early boot circumstances, it may be necessary to copy from RAM
    outside the kernel linear mapping to mapped RAM. The need to relocate
    an initrd is one example in the x86 code. This patch creates a helper
    function based on current x86 code.

    Signed-off-by: Mark Salter
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Arnd Bergmann
    Cc: Ard Biesheuvel
    Cc: Mark Rutland
    Cc: Russell King
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Yinghai Lu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Salter
     

20 Aug, 2015

1 commit

  • During early boot as Xen pv domain the kernel needs to map some page
    tables supplied by the hypervisor read only. This is needed to be
    able to relocate some data structures conflicting with the physical
    memory map especially on systems with huge RAM (above 512GB).

    Provide the function early_memremap_ro() to provide this read only
    mapping.

    Signed-off-by: Juergen Gross
    Acked-by: Konrad Rzeszutek Wilk
    Acked-by: Vlastimil Babka
    Signed-off-by: David Vrabel

    Juergen Gross
     

08 Apr, 2014

1 commit

  • This patch creates a generic implementation of early_ioremap() support
    based on the existing x86 implementation. early_ioremp() is useful for
    early boot code which needs to temporarily map I/O or memory regions
    before normal mapping functions such as ioremap() are available.

    Some architectures have optional MMU. In the no-MMU case, the remap
    functions simply return the passed in physical address and the unmap
    functions do nothing.

    Signed-off-by: Mark Salter
    Acked-by: Catalin Marinas
    Acked-by: H. Peter Anvin
    Cc: Borislav Petkov
    Cc: Dave Young
    Cc: Will Deacon
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Salter