Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad072004 authored by David S. Miller's avatar David S. Miller
Browse files

[SPARC64]: Use lmb_alloc() for PROM device tree.

parent b9709456
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@
#include <linux/types.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/bootmem.h>
#include <linux/module.h>
#include <linux/lmb.h>

#include <asm/prom.h>
#include <asm/of_device.h>
@@ -122,16 +122,20 @@ int of_find_in_proplist(const char *list, const char *match, int len)
}
EXPORT_SYMBOL(of_find_in_proplist);

static unsigned int prom_early_allocated;
static unsigned int prom_early_allocated __initdata;

static void * __init prom_early_alloc(unsigned long size)
{
	unsigned long paddr = lmb_alloc(size, SMP_CACHE_BYTES);
	void *ret;

	ret = __alloc_bootmem(size, SMP_CACHE_BYTES, 0UL);
	if (ret != NULL)
		memset(ret, 0, size);
	if (!paddr) {
		prom_printf("prom_early_alloc(%lu) failed\n");
		prom_halt();
	}

	ret = __va(paddr);
	memset(ret, 0, size);
	prom_early_allocated += size;

	return ret;
+2 −2
Original line number Diff line number Diff line
@@ -1214,6 +1214,8 @@ void __init paging_init(void)
	 */
	real_setup_per_cpu_areas();

	prom_build_devicetree();

	/* Setup bootmem... */
	pages_avail = 0;
	last_valid_pfn = end_pfn = bootmem_init(&pages_avail, phys_base);
@@ -1222,8 +1224,6 @@ void __init paging_init(void)

	kernel_physical_mapping_init();

	prom_build_devicetree();

	if (tlb_type == hypervisor)
		sun4v_mdesc_init();