Subject: Re: [PATCH] [powerpc] Export memory limit via device tree

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 11 Jul 2012 15:36:53 +1000

> diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c
> index c957b12..0c9695d 100644
> --- a/arch/powerpc/kernel/machine_kexec.c
> +++ b/arch/powerpc/kernel/machine_kexec.c
> @@ -207,6 +207,12 @@ static struct property crashk_size_prop = {
>  	.value = &crashk_size,
>  };
>  
> +static struct property memory_limit_prop = {
> +	.name = "linux,memory-limit",
> +	.length = sizeof(phys_addr_t),
> +	.value = &memory_limit,
> +};
> +

AFAIK. phys_addr_t can change size, so instead make it point to a known
fixes size quantity (a u64).

> +
> +	/* memory-limit is needed for constructing the crash regions */
> +	prop = of_find_property(node, memory_limit_prop.name, NULL);
> +	if (prop)
> +		prom_remove_property(node, prop);
> +
> +	if (memory_limit)
> +		prom_add_property(node, &memory_limit_prop);
> +

There's a patch floating around making prom_update_property properly
handle both pre-existing and non-pre-existing props, you should probably
base yourself on top of it. I'm about to stick that patch in powerpc
-next

Cheers,
Ben.