On 03/11/2011 10:00 PM, Anthony Liguori wrote:
GLib is an extremely common library that has a portable thread implementation
along with tons of other goodies.
GLib and GObject have a fantastic amount of infrastructure we can leverage in
QEMU including an object oriented programming infrastructur
On 2011-03-11 22:34, Marcelo Tosatti wrote:
> On Sat, Mar 05, 2011 at 07:12:50PM +0100, Jan Kiszka wrote:
@@ -956,7 +956,6 @@ int kvm_cpu_exec(CPUState *env)
abort();
}
-ret = 0; /* exit loop */
switch (run->exit_reason) {
>>>
>
On 2011-03-11 20:09, Jordan Justen wrote:
> On Thu, Mar 10, 2011 at 16:27, Carl-Daniel Hailfinger
> wrote:
>> Auf 11.03.2011 01:19, Jan Kiszka schrieb:
>>> At least it's an in-band interface, which is the better choice as we
>>> currently only have a PIIX3 southbridge for x86, predating even FWHs.
On Wed, Mar 9, 2011 at 4:34 PM, Stefan Hajnoczi wrote:
> The following kernel panic occurs when the RHEL6 installer starts on
> qemu.git/master:
>
> BUG: unable to handle kernel NULL pointer dereference at (null)
> IP: [] floppy_ready+0xfb/0x730 [floppy]
>
> For full details see http://pastebin.co
On Fri, Mar 11, 2011 at 11:00 PM, Anthony Liguori wrote:
> The Error class is similar to QError (now deprecated) except that it supports
> propagation. This allows for higher quality error handling. It's losely
> modeled after glib style GErrors.
>
> Signed-off-by: Anthony Liguori
>
> diff --gi
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
> Signed-off-by: Anthony Liguori
> ---
> v1 -> v2
> - update code generator to use multiline
> - proxy command support
> - async command support
>
> diff --git a/Makefile b/Makefile
> index 47a755d..5170675 100644
> --- a/Makefile
> +++ b
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
> This is used internally by QMP. It's also a pretty good example of a typical
> command conversion.
>
> Signed-off-by: Anthony Liguori
>
> diff --git a/Makefile.objs b/Makefile.objs
> index 5dae800..e1a2756 100644
> --- a/Makefile.objs
> +
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
> This provides a glib-test based testing framework for QMP
>
> Signed-off-by: Anthony Liguori
>
> diff --git a/Makefile b/Makefile
> index 5170675..1d363d7 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -72,6 +72,8 @@ defconfig:
>
> -includ
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
> Only generate qmp-types.[ch]. These files contain the type definitions for
> QMP along with the alloc/free functions for these types. Functions to convert
> enum values to integers and vice versa are also included.
>
> qmp-types is used b
On Sat, Mar 12, 2011 at 10:53 AM, Blue Swirl wrote:
> The logic for calculating the drive state in pc.c does not match fdc.c
> logic. Please try this patch.
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 5966bf1..4d67d9f 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -382,7 +382,7 @@ void pc_cmos_init(ra
On Sat, Mar 12, 2011 at 2:58 PM, Stefan Hajnoczi wrote:
> On Sat, Mar 12, 2011 at 10:53 AM, Blue Swirl wrote:
>> The logic for calculating the drive state in pc.c does not match fdc.c
>> logic. Please try this patch.
>>
>> diff --git a/hw/pc.c b/hw/pc.c
>> index 5966bf1..4d67d9f 100644
>> --- a/h
Did Qemu emulate the SMT processor ? I have develop some method to
emulate an multi-thread , I define single CPUState variable, the
CPUState contain four thread contexts. every 1ms interval ,
switching thread-context to emulate the threads.
How do you think the way by which I used t
On 03/12/2011 05:05 AM, Blue Swirl wrote:
On Fri, Mar 11, 2011 at 11:00 PM, Anthony Liguori wrote:
The Error class is similar to QError (now deprecated) except that it supports
propagation. This allows for higher quality error handling. It's losely
modeled after glib style GErrors.
Signed-of
On 03/12/2011 02:09 AM, Paolo Bonzini wrote:
On 03/11/2011 10:00 PM, Anthony Liguori wrote:
GLib is an extremely common library that has a portable thread
implementation
along with tons of other goodies.
GLib and GObject have a fantastic amount of infrastructure we can
leverage in
QEMU inclu
On 03/12/2011 05:10 AM, Blue Swirl wrote:
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
Signed-off-by: Anthony Liguori
---
v1 -> v2
- update code generator to use multiline
- proxy command support
- async command support
diff --git a/Makefile b/Makefile
index 47a755d..5170675
On 03/12/2011 05:23 AM, Blue Swirl wrote:
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
This provides a glib-test based testing framework for QMP
Signed-off-by: Anthony Liguori
diff --git a/Makefile b/Makefile
index 5170675..1d363d7 100644
--- a/Makefile
+++ b/Makefile
@@ -72,6 +72,
On 03/12/2011 05:29 AM, Blue Swirl wrote:
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
Only generate qmp-types.[ch]. These files contain the type definitions for
QMP along with the alloc/free functions for these types. Functions to convert
enum values to integers and vice versa are
On 03/11/2011 05:16 PM, Michael Roth wrote:
parser->emit(parser, parser->tokens);
QDECREF(parser->tokens);
parser->tokens = qlist_new();
+parser->token_size = 0;
+} else if (parser->token_size> MAX_TOKEN_SIZE ||
+ parser->bracket_count> MA
On 03/12/2011 05:19 AM, Blue Swirl wrote:
On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori wrote:
This is used internally by QMP. It's also a pretty good example of a typical
command conversion.
Signed-off-by: Anthony Liguori
diff --git a/Makefile.objs b/Makefile.objs
index 5dae800..e1a2756
Here is again the full series for Win32 iothread support. It should be
ready now.
Patches 1 to 5 are generic Win32 improvements, including the qemu-thread
implementation. To simplify the dependencies, I think it's better if
this part is also routed through uq/master.
Patches 6 to 8 are generic
Signed-off-by: Paolo Bonzini
---
os-win32.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/os-win32.c b/os-win32.c
index b214e6a..c971d92 100644
--- a/os-win32.c
+++ b/os-win32.c
@@ -140,7 +140,9 @@ void os_host_main_loop_wait(int *timeout)
int err;
Wa
Signed-off-by: Paolo Bonzini
---
qemu-timer.c |7 ++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/qemu-timer.c b/qemu-timer.c
index 88c7b28..122e7ed 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -1004,6 +1004,7 @@ static void win32_stop_timer(struct qemu_alarm_timer *
From: Jan Kiszka
We have qemu_cpu_self and qemu_thread_self. The latter is retrieving the
current thread, the former is checking for equality (using CPUState). We
also have qemu_thread_equal which is only used like qemu_cpu_self.
This refactors the interfaces, creating qemu_cpu_is_self and
qemu_
This ensures env->halt_cond is broadcast, and the loop in
qemu_tcg_wait_io_event and qemu_kvm_wait_io_event is exited
naturally rather than through a timeout.
Signed-off-by: Paolo Bonzini
---
hw/ppc.c |2 ++
hw/sun4m.c | 10 --
hw/sun4u.c |4 ++--
targ
Multimedia timers are only useful for compatibility with Windows NT 4.0
and earlier. Plus, the implementation in Wine is extremely heavyweight.
Signed-off-by: Paolo Bonzini
---
qemu-timer.c | 86 +++--
1 files changed, 35 insertions(+), 51 d
Signed-off-by: Paolo Bonzini
---
cpus.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/cpus.c b/cpus.c
index 09ce6fe..c5743c4 100644
--- a/cpus.c
+++ b/cpus.c
@@ -32,6 +32,7 @@
#include "kvm.h"
#include "exec-all.h"
+#include "qemu-thread.h"
#include "cpus.h"
#in
Signed-off-by: Paolo Bonzini
---
cpus.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/cpus.c b/cpus.c
index 4305184..32e9352 100644
--- a/cpus.c
+++ b/cpus.c
@@ -1086,9 +1086,11 @@ bool cpu_exec_all(void)
qemu_clock_enable(vm_clock,
all_vcpus_paused can start returning true after penv->stopped changes
from 0 to 1. When this is done, qemu_pause_cond is always signaled.
Signed-off-by: Paolo Bonzini
---
cpus.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cpus.c b/cpus.c
index e367b3b..8f169ad 1006
Signed-off-by: Paolo Bonzini
---
cpus.c | 143 ---
1 files changed, 73 insertions(+), 70 deletions(-)
diff --git a/cpus.c b/cpus.c
index 2b491a9..e0bcb5c 100644
--- a/cpus.c
+++ b/cpus.c
@@ -196,6 +196,16 @@ static void cpu_handle_debu
For now, qemu_cond_timedwait and qemu_mutex_timedlock are left as
POSIX-only functions. They can be removed later, once the patches
that remove their uses are in.
Signed-off-by: Paolo Bonzini
---
Makefile.objs|4 +-
qemu-thread.c => qemu-thread-posix.c |0
qemu-t
Signed-off-by: Paolo Bonzini
---
cpus.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/cpus.c b/cpus.c
index 785a104..6cfb45b 100644
--- a/cpus.c
+++ b/cpus.c
@@ -1012,8 +1012,10 @@ void qemu_notify_event(void)
void cpu_stop_current(void)
{
if (cpu_single_env) {
Signed-off-by: Paolo Bonzini
---
cpus.c | 25 ++---
qemu-thread-posix.c |9 -
qemu-thread-posix.h |1 -
3 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/cpus.c b/cpus.c
index 7559a02..077729c 100644
--- a/cpus.c
+++ b/cpus.c
@@ -8
These are already present in the Win32 implementation, add them to
the pthread wrappers as well. Use PTHREAD_MUTEX_ERRORCHECK for mutex
operations. Later we'll add tracking of the owner for cond_signal/broadcast.
Signed-off-by: Paolo Bonzini
---
qemu-thread-posix.c |6 +-
1 files change
qemu_main_loop_start is the only place where qemu_system_ready is set
to 1.
Signed-off-by: Paolo Bonzini
---
cpus.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpus.c b/cpus.c
index 4c3837f..e367b3b 100644
--- a/cpus.c
+++ b/cpus.c
@@ -823,7 +823,7 @@ static void
Sometimes vcpus are stopped directly without going through ->stop = 1.
Exit the VCPU execution loop in this case as well.
Signed-off-by: Paolo Bonzini
---
cpus.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cpus.c b/cpus.c
index c5743c4..785a104 100644
--- a/cpus.c
+
Signed-off-by: Paolo Bonzini
---
configure |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 5513d3e..a166de0 100755
--- a/configure
+++ b/configure
@@ -2667,7 +2667,6 @@ if test "$vnc_png" != "no" ; then
fi
if test "$vnc_thread" != "no" ; the
The code doesn't make much sense right now, but it will as
soon as timers will be able to scale their resolution arbitrarily.
Signed-off-by: Paolo Bonzini
---
qemu-timer.h | 23 +++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/qemu-timer.h b/qemu-timer.h
Index 75 is one too large for AR_TABLE[75], DR_TABLE[75].
This error was reported by cppcheck.
hw/fmopl.c:600: error: Buffer access out-of-bounds: OPL.AR_TABLE
hw/fmopl.c:601: error: Buffer access out-of-bounds: OPL.DR_TABLE
Fix this by limiting the access to the allowed range.
MultiArcadeMachine
Right now, rt_clock timers are limited to millisecond resolutions;
other clocks are limited to nanoseconds. This patch series removes
the limitation.
In order to ease transition, new functions are provided with
explicit resolution (milli/nanosecond). The old qemu_get_clock
is removed. The old q
All implementations are now the same, and there is only one caller,
so inline the function there.
Signed-off-by: Paolo Bonzini
---
cpu-exec.c |9 +++--
target-alpha/exec.h | 11 ---
target-arm/exec.h| 13 -
target-cris/exec.h | 1
These patches are already not doing a great service to out-of-tree
modifications to QEMU. However, at least we can warn them by getting
rid of the old confusing functions, or otherwise causing compilation
errors. This patch removes qemu_get_clock; the previous one changed
qemu_new_timer's signatu
This was done with:
sed -i '/get_clock\>.*rt_clock/s/get_clock\>/get_clock_ms/' \
$(git grep -l 'get_clock\>.*rt_clock' )
sed -i '/new_timer\>.*rt_clock/s/new_timer\>/new_timer_ms/' \
$(git grep -l 'new_timer\>.*rt_clock' )
after checking that get_clock and new_timer never
The following conditions can cause cpu_has_work(env) to become true:
- env->queued_work_first: run_on_cpu is already kicking the VCPU
- env->stop = 1: pause_all_vcpus is already kicking the VCPU
- env->stopped = 0: resume_all_vcpus is already kicking the VCPU
- vm_running = 1: vm_start is calli
This enables rt_clock timers to use nanosecond resolution, just by
using the _ns functions; there is really no reason to forbid that.
Migrated timers are all using vm_clock (of course; but I checked that
anyway) so the timers in the savevm files are already in nanosecond
resolution. So this patch
Whenever env->created becomes true, qemu_cpu_cond is signaled by
{kvm,tcg}_cpu_thread_fn.
Signed-off-by: Paolo Bonzini
---
cpus.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpus.c b/cpus.c
index 8f169ad..4305184 100644
--- a/cpus.c
+++ b/cpus.c
@@ -970,7 +970,7 @
Signed-off-by: Paolo Bonzini
---
cpus.c | 87 ++-
1 files changed, 36 insertions(+), 51 deletions(-)
diff --git a/cpus.c b/cpus.c
index 32e9352..2b491a9 100644
--- a/cpus.c
+++ b/cpus.c
@@ -346,11 +346,37 @@ static void sigfd_handler(
Signed-off-by: Paolo Bonzini
---
cpus.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/cpus.c b/cpus.c
index e0bcb5c..7559a02 100644
--- a/cpus.c
+++ b/cpus.c
@@ -867,12 +867,16 @@ void qemu_cpu_kick(void *_env)
void qemu_cpu_kick_self(void)
{
+#ifndef _WIN32
On 03/10/2011 06:42 PM, Anthony Liguori wrote:
Maybe for QMPv2, but for QMPv1, this is going to introduce an
extremely incompatible change.
Why? It's 100% backwards compatible.
It's a very significant change for clients. While technical
compatible, it would require a change to the client
On 03/10/2011 06:04 PM, Anthony Liguori wrote:
On 03/10/2011 09:45 AM, Avi Kivity wrote:
btw2, I now nominate subscribe and unsubscribe as replacements for
get and put.
Subscribe implies sub/pub in my mind and we're not publishing events
so I don't think it fits the model.
A pub/sub event
On 03/12/2011 02:42 PM, Avi Kivity wrote:
On 03/10/2011 06:04 PM, Anthony Liguori wrote:
On 03/10/2011 09:45 AM, Avi Kivity wrote:
btw2, I now nominate subscribe and unsubscribe as replacements for
get and put.
Subscribe implies sub/pub in my mind and we're not publishing
events so I don't
On 03/12/2011 11:04 AM, Paolo Bonzini wrote:
Right now, rt_clock timers are limited to millisecond resolutions;
other clocks are limited to nanoseconds. This patch series removes
the limitation.
In order to ease transition, new functions are provided with
explicit resolution (milli/nanosecond).
viadeoBonjour,
Je vous invite à rejoindre mon réseau de contacts sur Viadeo.
Cordialement,Corentin Chary Confirmer que vous connaissez Corentin
http://www.viadeo.com/action/index.jsp?actionId=0021xn1x7dm9pjk8&urlId=0021v1e4bjtkdcp0&utm_source=Viade
> It seems that there is great interest in QCOW2's
> internal snapshot feature. If we really want to do that, the right
solution is
> to follow VMDK's approach of storing each snapshot as a separate COW
file (see
> http://www.vmware.com/app/vmdk/?src=vmdk ), rather than using the
reference
> c
53 matches
Mail list logo