We now have request_sdram_region to request a region. Use
it instead of a comparison with MALLOC_BASE.

Signed-off-by: Sascha Hauer <[email protected]>
---
 arch/arm/lib/bootz.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm/lib/bootz.c b/arch/arm/lib/bootz.c
index f394a6b..f069127 100644
--- a/arch/arm/lib/bootz.c
+++ b/arch/arm/lib/bootz.c
@@ -30,6 +30,7 @@ static int do_bootz(int argc, char *argv[])
        u32 end;
        int usemap = 0;
        struct memory_bank *bank = list_first_entry(&memory_banks, struct 
memory_bank, list);
+       struct resource *res = NULL;
 
        if (argc != 2)
                return COMMAND_ERROR_USAGE;
@@ -83,8 +84,10 @@ static int do_bootz(int argc, char *argv[])
                        zimage = xmalloc(end);
                } else {
                        zimage = (void *)bank->start + SZ_8M;
-                       if (bank->start + SZ_8M + end >= MALLOC_BASE) {
-                               printf("won't overwrite malloc space with 
image\n");
+                       res = request_sdram_region("zimage",
+                                       bank->start + SZ_8M, end);
+                       if (!res) {
+                               printf("can't request region for kernel\n");
                                goto err_out1;
                        }
                }
@@ -94,7 +97,7 @@ static int do_bootz(int argc, char *argv[])
                ret = read(fd, zimage + sizeof(*header), end - sizeof(*header));
                if (ret < end - sizeof(*header)) {
                        printf("could not read %s\n", argv[1]);
-                       goto err_out1;
+                       goto err_out2;
                }
        }
 
@@ -113,6 +116,9 @@ static int do_bootz(int argc, char *argv[])
 
        return 0;
 
+err_out2:
+       if (res)
+               release_sdram_region(res);
 err_out1:
        free(zimage);
 err_out:
-- 
1.7.10.4


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to