• Mike Rapoport's avatar
    x86/setup: simplify initrd relocation and reservation · 3c45ee6d
    Mike Rapoport authored
    Currently, initrd image is reserved very early during setup and then it
    might be relocated and re-reserved after the initial physical memory
    mapping is created.  The "late" reservation of memblock verifies that
    mapped memory size exceeds the size of initrd, then checks whether the
    relocation required and, if yes, relocates inirtd to a new memory
    allocated from memblock and frees the old location.
    
    The check for memory size is excessive as memblock allocation will anyway
    fail if there is not enough memory.  Besides, there is no point to
    allocate memory from memblock using memblock_find_in_range() +
    memblock_reserve() when there exists memblock_phys_alloc_range() with
    required functionality.
    
    Remove the redundant check and simplify memblock allocation.
    Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: default avatarBaoquan He <bhe@redhat.com>
    Acked-by: default avatarIngo Molnar <mingo@kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Daniel Axtens <dja@axtens.net>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Emil Renner Berthing <kernel@esmil.dk>
    Cc: Hari Bathini <hbathini@linux.ibm.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Marek Szyprowski <m.szyprowski@samsung.com>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Stafford Horne <shorne@gmail.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Will Deacon <will@kernel.org>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Link: https://lkml.kernel.org/r/20200818151634.14343-14-rppt@kernel.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    3c45ee6d
setup.c 31.9 KB