Skip to content

Commit

Permalink
c6x: switch to NO_BOOTMEM
Browse files Browse the repository at this point in the history
The c6x is already using memblock and does most of early memory
reservations with it, so it was only a matter of removing the bootmem
initialization and handover of the memory from memblock to bootmem.

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Mark Salter <msalter@redhat.com>
  • Loading branch information
Mike Rapoport authored and Mark Salter committed Oct 28, 2018
1 parent b59dfda commit 4d8106f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 25 deletions.
1 change: 1 addition & 0 deletions arch/c6x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ config C6X
select GENERIC_IRQ_SHOW
select HAVE_ARCH_TRACEHOOK
select HAVE_MEMBLOCK
select NO_BOOTMEM
select SPARSE_IRQ
select IRQ_DOMAIN
select OF
Expand Down
26 changes: 1 addition & 25 deletions arch/c6x/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,6 @@ notrace void __init machine_init(unsigned long dt_ptr)

void __init setup_arch(char **cmdline_p)
{
int bootmap_size;
struct memblock_region *reg;

printk(KERN_INFO "Initializing kernel\n");
Expand Down Expand Up @@ -348,16 +347,6 @@ void __init setup_arch(char **cmdline_p)
init_mm.end_data = memory_start;
init_mm.brk = memory_start;

/*
* Give all the memory to the bootmap allocator, tell it to put the
* boot mem_map at the start of memory
*/
bootmap_size = init_bootmem_node(NODE_DATA(0),
memory_start >> PAGE_SHIFT,
PAGE_OFFSET >> PAGE_SHIFT,
memory_end >> PAGE_SHIFT);
memblock_reserve(memory_start, bootmap_size);

unflatten_and_copy_device_tree();

c6x_cache_init();
Expand Down Expand Up @@ -392,22 +381,9 @@ void __init setup_arch(char **cmdline_p)
/* Initialize the coherent memory allocator */
coherent_mem_init(dma_start, dma_size);

/*
* Free all memory as a starting point.
*/
free_bootmem(PAGE_OFFSET, memory_end - PAGE_OFFSET);

/*
* Then reserve memory which is already being used.
*/
for_each_memblock(reserved, reg) {
pr_debug("reserved - 0x%08x-0x%08x\n",
(u32) reg->base, (u32) reg->size);
reserve_bootmem(reg->base, reg->size, BOOTMEM_DEFAULT);
}

max_low_pfn = PFN_DOWN(memory_end);
min_low_pfn = PFN_UP(memory_start);
max_pfn = max_low_pfn;
max_mapnr = max_low_pfn - min_low_pfn;

/* Get kmalloc into gear */
Expand Down

0 comments on commit 4d8106f

Please sign in to comment.