[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 1/2] loader: Add load_image_gzipped function.
From: |
Richard W.M. Jones |
Subject: |
Re: [Qemu-devel] [PATCH v5 1/2] loader: Add load_image_gzipped function. |
Date: |
Tue, 5 Aug 2014 11:01:46 +0100 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Tue, Aug 05, 2014 at 10:57:26AM +0100, Alex Bennée wrote:
>
> Richard W.M. Jones writes:
>
> > As the name suggests this lets you load a ROM/disk image that is
> > gzipped. It is uncompressed before storing it in guest memory.
> >
> > Signed-off-by: Richard W.M. Jones <address@hidden>
> <snip>
> > + /* Is it a gzip-compressed file? */
> > + if (len < 2 ||
> > + compressed_data[0] != '\x1f' ||
> > + compressed_data[1] != '\x8b') {
> > + goto out;
> > + }
> <snip>
>
> Hmm serves me right for not compiling this first. I had to explicit
> literals to get this to compile:
>
> Modified hw/core/loader.c
> diff --git a/hw/core/loader.c b/hw/core/loader.c
> index e773aab..83136e8 100644
> --- a/hw/core/loader.c
> +++ b/hw/core/loader.c
> @@ -599,8 +599,8 @@ int load_image_gzipped(const char *filename, hwaddr addr,
> uint64_t max_sz)
>
> /* Is it a gzip-compressed file? */
> if (len < 2 ||
> - compressed_data[0] != '\x1f' ||
> - compressed_data[1] != '\x8b') {
> + compressed_data[0] != 0x1f ||
> + compressed_data[1] != 0x8b ) {
> goto out;
> }
>
> Otherwise I get:
> hw/core/loader.c: In function ‘load_image_gzipped’:
> hw/core/loader.c:603:9: error: comparison is always true due to limited range
> of data type [-Werror=type-limits]
> compressed_data[1] != '\x8b') {
This is probably because I only compiled and tested this on aarch64
where char == unsigned char (not signed char).
I'll fix this in v6, thanks.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top