[PATCH] of: fix how an initrd is passed to Linux
u.kleine-koenig at pengutronix.de
Thu Apr 25 17:00:37 EDT 2013
On Thu, Apr 25, 2013 at 02:49:47PM +0200, Uwe Kleine-König wrote:
> Linux expects linux,initrd-end to contain the first unused address. As
> this doesn't match the end semantic used by barebox (i.e. end contains
> the last used address) adding one is necessary.
> Without this change Linux fails for me to correctly extract a gzipped
> cpio archive provided as initrd.
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> drivers/of/base.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index d22031f..6cb5521 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -1078,6 +1078,10 @@ int of_device_is_stdout_path(struct device_d *dev)
> * Add initrd properties to the devicetree, or, if end is 0,
> * delete them.
> + *
> + * Note that Linux interprets end differently than Barebox. For Linux end points
> + * to the first address after the memory occupied by the image while barebox
> + * lets end pointing the the last occupied byte.
The first "the" in the line above should be a "to". Sascha: Assuming you
are happy with the patch: Can you fix this up while committing?
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the barebox