qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [RFC][PATCH v7 03/16] Make qemu timers available fo


From: Michael Roth
Subject: Re: [Qemu-devel] Re: [RFC][PATCH v7 03/16] Make qemu timers available for tools
Date: Wed, 09 Mar 2011 07:04:19 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9

On 03/09/2011 04:33 AM, Jes Sorensen wrote:
On 03/07/11 21:10, Michael Roth wrote:
To be able to use qemu_mod_timer() and friends to register timeout
events for virtagent's qemu-va tool, we need to do the following:

Move several blocks of code out of cpus.c that handle initialization
of qemu's io_thread_fd and working with it via
qemu_notify_event()/qemu_event_read()/etc, and make them accessible
as backend functions to both the emulator code and qemu-tool.c via
wrapper functions within cpus.c and qemu-tool.c, respectively. These
have been added to qemu-ioh.c, where similar treatment was given to
qemu_set_fd_handler() and friends.

Some of these wrapper functions lack declarations when being
built into tools, so we add those via qemu-tool.h, which can be included
by a tool to access them. With these changes we can drive timers in a
tool linking it against qemu-timer.o and then implementing something
similar to the main i/o loop in vl.c:


[snip]

diff --git a/qemu-ioh.c b/qemu-ioh.c
index cc71470..5c3f94c 100644
--- a/qemu-ioh.c
+++ b/qemu-ioh.c
@@ -113,3 +117,94 @@ void qemu_process_fd_handlers2(void *ioh_record_list, 
const fd_set *rfds,
          }
      }
  }
+
+#ifndef _WIN32
+void iothread_event_increment(int *io_thread_fd)

Please move these functions into posix/w32 specific files so we don't
get anymore ugly #ifdefs. It would be good if we could use a wrapper
struct as well to hide the different data types so we don't need #ifdefs
in the calling code as well.

Yup, meant to add this to the TODO. I may end up sending these general tools changes out in a separate patchset since they seem to be in conflict with quite of few patches floating around the list. Either way I'll make sure to get these cleaned up and tested a bit a more.


Cheers,
Jes





reply via email to

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