Commit 1bc2a3bb authored by Anton Blanchard's avatar Anton Blanchard Committed by Linus Torvalds
Browse files

[PATCH] ppc64: Fix issue with non zero boot cpu



The new version of the flattened device tree passes the boot cpuid in the
header instead of via a linux,boot-cpu property.

We need to update the in kernel OF parsing code to do this, otherwise
machines with a non zero boot cpuid fail to come up.

Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d6dbf42e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1711,6 +1711,7 @@ static void __init flatten_device_tree(void)
	unsigned long offset = reloc_offset();
	unsigned long mem_start, mem_end, room;
	struct boot_param_header *hdr;
	struct prom_t *_prom = PTRRELOC(&prom);
	char *namep;
	u64 *rsvmap;

@@ -1765,6 +1766,7 @@ static void __init flatten_device_tree(void)
	RELOC(dt_struct_end) = PAGE_ALIGN(mem_start);

	/* Finish header */
	hdr->boot_cpuid_phys = _prom->cpu;
	hdr->magic = OF_DT_HEADER;
	hdr->totalsize = RELOC(dt_struct_end) - RELOC(dt_header_start);
	hdr->off_dt_struct = RELOC(dt_struct_start) - RELOC(dt_header_start);
@@ -1854,7 +1856,6 @@ static void __init prom_find_boot_cpu(void)

	cpu_pkg = call_prom("instance-to-package", 1, 1, prom_cpu);

	prom_setprop(cpu_pkg, "linux,boot-cpu", NULL, 0);
	prom_getprop(cpu_pkg, "reg", &getprop_rval, sizeof(getprop_rval));
	_prom->cpu = getprop_rval;