linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH dtc] Fix reserve map output for asm format.
@ 2007-04-14 22:15 Jerry Van Baren
  2007-04-15  0:44 ` David Gibson
  0 siblings, 1 reply; 2+ messages in thread
From: Jerry Van Baren @ 2007-04-14 22:15 UTC (permalink / raw)
  To: linuxppc-dev, jdl

Add extra reserve map slots output for asm format (previously done for dtb
  output).
Use cmalloc to pre-zero memory (for dtb input) and handle dtb (binary)
  input being shorter than the total blob length (result of putting
  extra space in the blob).

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
---

Hi Jon:

Some simple fixes for handling extra reserve slots and extra space in
the blob.

Best regards,
gvb

 dtc.h      |    4 ++--
 flattree.c |   14 +++++++++++---
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/dtc.h b/dtc.h
index 8cfe1a1..e77f9d1 100644
--- a/dtc.h
+++ b/dtc.h
@@ -55,10 +55,10 @@ static inline void die(char * str, ...)
 
 static inline void *xmalloc(size_t len)
 {
-	void *new = malloc(len);
+	void *new = calloc(len, 1);
 
 	if (! new)
-		die("malloc() failed\n");
+		die("calloc() failed\n");
 
 	return new;
 }
diff --git a/flattree.c b/flattree.c
index 151d16e..6f0c9b7 100644
--- a/flattree.c
+++ b/flattree.c
@@ -21,6 +21,9 @@
 #include "dtc.h"
 #include "flat_dt.h"
 
+#define WARNMSG(...) if (quiet < 1) fprintf(stderr, "Warning: " __VA_ARGS__)
+
+
 #define FTF_FULLPATH	0x1
 #define FTF_VARALIGN	0x2
 #define FTF_NAMEPROPS	0x4
@@ -490,6 +493,9 @@ void dt_to_asm(FILE *f, struct boot_info *bi, int version, int boot_cpuid_phys)
 			(unsigned int)(re->re.size >> 32),
 			(unsigned int)(re->re.size & 0xffffffff));
 	}
+	for (i = 0; i < reservenum; i++) {
+		fprintf(f, "\t.long\t0, 0\n\t.long\t0, 0\n");
+	}
 
 	fprintf(f, "\t.long\t0, 0\n\t.long\t0, 0\n");
 
@@ -818,9 +824,11 @@ struct boot_info *dt_from_blob(FILE *f)
 	p = blob + sizeof(magic)  + sizeof(totalsize);
 
 	while (sizeleft) {
-		if (feof(f))
-			die("EOF before reading %d bytes of DT blob\n",
-			    totalsize);
+		if (feof(f)) {
+			WARNMSG("EOF after reading %d of %d bytes of DT blob, assuming there is extra space in the blob.\n",
+			    totalsize - sizeleft, totalsize);
+			break;
+		}
 
 		rc = fread(p, 1, sizeleft, f);
 		if (ferror(f))
-- 
1.4.4.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH dtc] Fix reserve map output for asm format.
  2007-04-14 22:15 [PATCH dtc] Fix reserve map output for asm format Jerry Van Baren
@ 2007-04-15  0:44 ` David Gibson
  0 siblings, 0 replies; 2+ messages in thread
From: David Gibson @ 2007-04-15  0:44 UTC (permalink / raw)
  To: Jerry Van Baren; +Cc: linuxppc-dev, jdl

On Sat, Apr 14, 2007 at 06:15:27PM -0400, Jerry Van Baren wrote:
> Add extra reserve map slots output for asm format (previously done for dtb
>   output).
> Use cmalloc to pre-zero memory (for dtb input) and handle dtb (binary)
>   input being shorter than the total blob length (result of putting
>   extra space in the blob).
> 
> Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
> ---
> 
> Hi Jon:
> 
> Some simple fixes for handling extra reserve slots and extra space in
> the blob.
> 
> Best regards,
> gvb
> 
>  dtc.h      |    4 ++--
>  flattree.c |   14 +++++++++++---
>  2 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/dtc.h b/dtc.h
> index 8cfe1a1..e77f9d1 100644
> --- a/dtc.h
> +++ b/dtc.h
> @@ -55,10 +55,10 @@ static inline void die(char * str, ...)
>  
>  static inline void *xmalloc(size_t len)
>  {
> -	void *new = malloc(len);
> +	void *new = calloc(len, 1);
>  
>  	if (! new)
> -		die("malloc() failed\n");
> +		die("calloc() failed\n");
>  
>  	return new;
>  }

I'm less that thrilled about this change.  There's a semi-standard
definition of "xmalloc()" and using callc() isn't it.  I'd prefer the
clearing was done in the caller.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-04-15  0:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-14 22:15 [PATCH dtc] Fix reserve map output for asm format Jerry Van Baren
2007-04-15  0:44 ` David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).