On 15 October 2012 11:42, Daniel Golle <dgo...@allnet.de> wrote:
> Some bootloaders (e.g. PSPBoot on AC49x) have a load-offset, this frees that
> memory region so it is usable for Linux.
>
> Signed-off-by: Daniel Golle <dgo...@allnet.de>
> ---
>  .../patches-3.3/200-free-mem-below-kernel-offset.patch  | 17 
> +++++++++++++++++
>  1 file changed, 17 insertions(+)
>  create mode 100644 
> target/linux/ar7/patches-3.3/200-free-mem-below-kernel-offset.patch
>
> diff --git 
> a/target/linux/ar7/patches-3.3/200-free-mem-below-kernel-offset.patch 
> b/target/linux/ar7/patches-3.3/200-free-mem-below-kernel-offset.patch
> new file mode 100644
> index 0000000..48a3d14
> --- /dev/null
> +++ b/target/linux/ar7/patches-3.3/200-free-mem-below-kernel-offset.patch
> @@ -0,0 +1,17 @@
> +Index: linux-3.3.8/arch/mips/ar7/memory.c
> +===================================================================
> +--- linux-3.3.8.orig/arch/mips/ar7/memory.c
> ++++ linux-3.3.8/arch/mips/ar7/memory.c

You should refresh this patch so it doesn't get modified for the next
one refreshing them.

> +@@ -67,5 +67,11 @@ void __init prom_meminit(void)
> +
> + void __init prom_free_prom_memory(void)
> + {
> +-      /* Nothing to free */
> ++      /* adapted from arch/mips/txx9/generic/setup.c */
> ++      unsigned long saddr = PHYS_OFFSET + PAGE_SIZE;
> ++      unsigned long eaddr = __pa_symbol(&_text);
> ++
> ++      /* free memory between prom-record and kernel _text base */
> ++      if (saddr < eaddr)
> ++              free_init_pages("prom memory", saddr, eaddr);
> + }
> --
> 1.7.12.2

Jonas
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to