qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] use lazy initialization for display_state


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 1/3] use lazy initialization for display_state
Date: Fri, 19 Feb 2010 15:28:42 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

On 02/10/2010 05:29 PM, Paolo Bonzini wrote:
Ensure initialization of a dumb display, if needed, by making
all accesses go through get_displaystate.

Signed-off-by: Paolo Bonzini<address@hidden>

Applied all.  Thanks.

Regards,

Anthony Liguori

---
  vl.c |   29 +++++++++++++++--------------
  1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/vl.c b/vl.c
index 5ddf1fe..94aeb5e 100644
--- a/vl.c
+++ b/vl.c
@@ -2568,6 +2568,16 @@ struct DisplayAllocator default_allocator = {
      defaultallocator_free_displaysurface
  };

+/* dumb display */
+
+static void dumb_display_init(void)
+{
+    DisplayState *ds = qemu_mallocz(sizeof(DisplayState));
+    ds->allocator =&default_allocator;
+    ds->surface = qemu_create_displaysurface(ds, 640, 480);
+    register_displaystate(ds);
+}
+
  void register_displaystate(DisplayState *ds)
  {
      DisplayState **s;
@@ -2580,6 +2590,9 @@ void register_displaystate(DisplayState *ds)

  DisplayState *get_displaystate(void)
  {
+    if (!display_state) {
+        dumb_display_init();
+    }
      return display_state;
  }

@@ -2589,16 +2602,6 @@ DisplayAllocator *register_displayallocator(DisplayState 
*ds, DisplayAllocator *
      return ds->allocator;
  }

-/* dumb display */
-
-static void dumb_display_init(void)
-{
-    DisplayState *ds = qemu_mallocz(sizeof(DisplayState));
-    ds->allocator =&default_allocator;
-    ds->surface = qemu_create_displaysurface(ds, 640, 480);
-    register_displaystate(ds);
-}
-
  /***********************************************************/
  /* I/O handling */

@@ -5871,10 +5874,8 @@ int main(int argc, char **argv, char **envp)
      if (qemu_opts_foreach(&qemu_device_opts, device_init_func, NULL, 1) != 0)
          exit(1);

-    if (!display_state)
-        dumb_display_init();
      /* just use the first displaystate for the moment */
-    ds = display_state;
+    ds = get_displaystate();

      if (display_type == DT_DEFAULT) {
  #if defined(CONFIG_SDL) || defined(CONFIG_COCOA)
@@ -5932,7 +5933,7 @@ int main(int argc, char **argv, char **envp)
          qemu_mod_timer(nographic_timer, qemu_get_clock(rt_clock));
      }

-    text_consoles_set_display(display_state);
+    text_consoles_set_display(ds);

      if (qemu_opts_foreach(&qemu_mon_opts, mon_init_func, NULL, 1) != 0)
          exit(1);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]