From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LWUU6-0003fZ-3T for qemu-devel@nongnu.org; Mon, 09 Feb 2009 06:39:30 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LWUU5-0003eh-CM for qemu-devel@nongnu.org; Mon, 09 Feb 2009 06:39:29 -0500 Received: from [199.232.76.173] (port=40235 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LWUU5-0003eI-41 for qemu-devel@nongnu.org; Mon, 09 Feb 2009 06:39:29 -0500 Received: from [84.20.150.76] (port=49004 helo=narury.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LWUU4-0002iH-IP for qemu-devel@nongnu.org; Mon, 09 Feb 2009 06:39:28 -0500 Date: Mon, 9 Feb 2009 13:38:53 +0200 From: Riku Voipio Subject: Re: [Qemu-devel] [6344] graphical_console_init change (Stefano Stabellini) Message-ID: <20090209113853.GA11874@kos.to> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2fHTh5uZTiUOsy+g" Content-Disposition: inline In-Reply-To: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefano.stabellini@eu.citrix.com --2fHTh5uZTiUOsy+g Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jan 16, 2009 at 07:04:15PM +0000, Anthony Liguori wrote: > --- trunk/hw/blizzard.c 2009-01-16 18:13:32 UTC (rev 6343) > +++ trunk/hw/blizzard.c 2009-01-16 19:04:14 UTC (rev 6344) > @@ -72,7 +72,6 @@ > uint8_t iformat; > uint8_t source; > DisplayState *state; > - QEMUConsole *console; > blizzard_fn_t *line_fn_tab[2]; > void *fb; > =20 > @@ -896,7 +895,7 @@ > =20 > if (s->x !=3D ds_get_width(s->state) || s->y !=3D ds_get_height(s->s= tate)) { > s->invalidate =3D 1; > - qemu_console_resize(s->console, s->x, s->y); > + qemu_console_resize(s->state, s->x, s->y); > } > =20 > if (s->invalidate) { > @@ -954,11 +953,10 @@ > #define DEPTH 32 > #include "blizzard_template.h" > =20 > -void *s1d13745_init(qemu_irq gpio_int, DisplayState *ds) > +void *s1d13745_init(qemu_irq gpio_int) > { > struct blizzard_s *s =3D (struct blizzard_s *) qemu_mallocz(sizeof(*= s)); > =20 > - s->state =3D ds; > s->fb =3D qemu_malloc(0x180000); > =20 > switch (ds_get_bits_per_pixel(s->state)) { What is this switch going to do after the line removal few lines above? A quick fix in the end of this message... > @@ -993,9 +991,9 @@ > =20 > blizzard_reset(s); > =20 > - s->console =3D graphic_console_init(s->state, blizzard_update_displa= y, > - blizzard_invalidate_display, > - blizzard_screen_dump, NULL, s); > + s->state =3D graphic_console_init(blizzard_update_display, > + blizzard_invalidate_display, > + blizzard_screen_dump, NULL, s); > =20 > return s; > } =46rom 532ae1dc0dc37ea1e19877ebe3a0ec0dd83c3e05 Mon Sep 17 00:00:00 2001 =46rom: Riku Voipio Date: Mon, 9 Feb 2009 13:08:12 +0200 Subject: [PATCH] Fix displaystate (r6344) regression in blizzard Testcase: qemu-system-arm -M n810 -kernel /dev/null -m 130 Without this patch, we get a segfault. Signed-off-by: Riku Voipio --- hw/blizzard.c | 8 ++++---- hw/nseries.c | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/blizzard.c b/hw/blizzard.c index 83f13bc..0f68016 100644 --- a/hw/blizzard.c +++ b/hw/blizzard.c @@ -959,6 +959,10 @@ void *s1d13745_init(qemu_irq gpio_int) =20 s->fb =3D qemu_malloc(0x180000); =20 + s->state =3D graphic_console_init(blizzard_update_display, + blizzard_invalidate_display, + blizzard_screen_dump, NULL, s); + switch (ds_get_bits_per_pixel(s->state)) { case 0: s->line_fn_tab[0] =3D s->line_fn_tab[1] =3D @@ -991,9 +995,5 @@ void *s1d13745_init(qemu_irq gpio_int) =20 blizzard_reset(s); =20 - s->state =3D graphic_console_init(blizzard_update_display, - blizzard_invalidate_display, - blizzard_screen_dump, NULL, s); - return s; } diff --git a/hw/nseries.c b/hw/nseries.c index b4f2951..32aaead 100644 --- a/hw/nseries.c +++ b/hw/nseries.c @@ -1273,7 +1273,7 @@ static void n8x0_init(ram_addr_t ram_size, const char= *boot_device, struct n800_s *s =3D (struct n800_s *) qemu_mallocz(sizeof(*s)); int sdram_size =3D binfo->ram_size; int onenandram_size =3D 0x00010000; - DisplayState *ds =3D get_displaystate(); + DisplayState *ds; =20 if (ram_size < sdram_size + onenandram_size + OMAP242X_SRAM_SIZE) { fprintf(stderr, "This architecture uses %i bytes of memory\n", @@ -1361,6 +1361,7 @@ static void n8x0_init(ram_addr_t ram_size, const char= *boot_device, /* FIXME: We shouldn't really be doing this here. The LCD controller will set the size once configured, so this just sets an initial size until the guest activates the display. */ + ds =3D get_displaystate(); ds->surface =3D qemu_resize_displaysurface(ds->surface, 800, 480, 32, = 4 * 800); dpy_resize(ds); } --=20 1.5.6.3 --2fHTh5uZTiUOsy+g Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iD8DBQFJkBXNibPvMsrqrwMRAl7CAKCw2uYoiYRMaC4kNJh7XoAjV4aKSwCgoulm uxirGbf4fvkBJB3vNhYbM7o= =mgV/ -----END PGP SIGNATURE----- --2fHTh5uZTiUOsy+g--