Re: [Qemu-devel] Re: [PATCH] sparc32 irq clearing (guest Solaris performance+NetBSD) fix

2010-01-15 Thread Artyom Tarasenko
after running some OBP/forth tests on a real SS-20 I must say that most of our (especially my) speculations were wrong, as well as what is written in http://www.ibiblio.org/pub/historic-linux/early-ports/Sparc/NCR/NCR89C105.txt : 1. SS-20 may loose interrupts. At least if a timer interrupt was low

[Qemu-devel] sparc32 do not clear interrupts when masking

2010-01-15 Thread Artyom Tarasenko
Don't clear interrupts on disabling, because * Sun4M_SystemArchitecture_edited2.pdf doesn't describe that masking or un-masking IRQ shall clear pending ones. * Field tests also show that SPARCstation-20 doesn't clear them. * The patch makes Solaris 2.5.1/2.6 boot ~1500 times faster (~20 se

Re: [Qemu-devel] [RFC,PATCH 08/11] qdev: Add usb_bus_dev_info

2010-01-15 Thread Nathan Baum
On Fri, 2010-01-15 at 19:14 +0100, Markus Armbruster wrote: > Nathan Baum writes: > > > Returns a QObject with information about a USB device. > > > > Signed-off-by: Nathan Baum > > --- > > hw/usb-bus.c | 13 + > > 1 files changed, 13 insertions(+), 0 deletions(-) > > > > diff --g

Re: [Qemu-devel] Solaris 2.6 as a Guest O/S

2010-01-15 Thread Artyom Tarasenko
2009/12/19 Blue Swirl : > On Wed, Dec 16, 2009 at 2:10 PM,   wrote: >> Hi, >> Sorry if I can already find this answer somwhere on the Qemu site, but I >> really would like to find out if QEMU support Solaris 2.6 as a Guest >> operating system but can't find the answer. > > The status page links t

[Qemu-devel] Re: sparc32 do_unassigned_access overhaul

2010-01-15 Thread Artyom Tarasenko
2010/1/15 Blue Swirl : > On Fri, Jan 15, 2010 at 9:11 PM, Artyom Tarasenko > wrote: >> 2010/1/15 Blue Swirl : >>> On Fri, Jan 15, 2010 at 6:46 PM, Artyom Tarasenko >>> wrote: According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller User's Manual": 1. "A lower prio

[Qemu-devel] Re: sparc32 do_unassigned_access overhaul v2

2010-01-15 Thread Blue Swirl
Thanks, applied. On Fri, Jan 15, 2010 at 9:28 PM, Artyom Tarasenko wrote: > According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller > User's Manual": > > 1. "A lower priority fault may not overwrite the >    MFSR status of a higher priority fault." > 2. The MFAR is overwritten acco

[Qemu-devel] sparc32 do_unassigned_access overhaul v2

2010-01-15 Thread Artyom Tarasenko
According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller User's Manual": 1. "A lower priority fault may not overwrite the MFSR status of a higher priority fault." 2. The MFAR is overwritten according to the policy defined for the MFSR 3. The overwrite bit is asserted if the fault

[Qemu-devel] Re: sparc32 do_unassigned_access overhaul

2010-01-15 Thread Blue Swirl
On Fri, Jan 15, 2010 at 9:11 PM, Artyom Tarasenko wrote: > 2010/1/15 Blue Swirl : >> On Fri, Jan 15, 2010 at 6:46 PM, Artyom Tarasenko >> wrote: >>> According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller >>> User's Manual": >>> >>> 1. "A lower priority fault may not overwrite the >

[Qemu-devel] Re: sparc32 do_unassigned_access overhaul

2010-01-15 Thread Artyom Tarasenko
2010/1/15 Blue Swirl : > On Fri, Jan 15, 2010 at 6:46 PM, Artyom Tarasenko > wrote: >> According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller >> User's Manual": >> >> 1. "A lower priority fault may not overwrite the >>    MFSR status of a higher priority fault." >> 2. The MFAR is ov

[Qemu-devel] [PATCH][STABLE] Fix corner case in chardev udp: parameter

2010-01-15 Thread Jan Kiszka
The missing '@' broke 'udp::@:' parsing. Signed-off-by: Jan Kiszka --- qemu-char.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index b13f8d4..a8a92f5 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -2314,7 +2314,7 @@ QemuOpts *qemu_chr_parse

[Qemu-devel] virtio: Add memory statistics reporting to the balloon driver (V7)

2010-01-15 Thread Adam Litke
This version improves support for multiple monitors and has been ported up to HEAD as of 01/14. Changes since V6: - Integrated with virtio qdev feature bit changes (specifically: Use VirtIODevice 'guest_features' to check if memory stats is a negotiated feature) - Track which monitor initi

[Qemu-devel] Re: sparc32 do_unassigned_access overhaul

2010-01-15 Thread Blue Swirl
On Fri, Jan 15, 2010 at 6:46 PM, Artyom Tarasenko wrote: > According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller > User's Manual": > > 1. "A lower priority fault may not overwrite the >    MFSR status of a higher priority fault." > 2. The MFAR is overwritten according to the policy

[Qemu-devel] sparc32 do_unassigned_access overhaul

2010-01-15 Thread Artyom Tarasenko
According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller User's Manual": 1. "A lower priority fault may not overwrite the MFSR status of a higher priority fault." 2. The MFAR is overwritten according to the policy defined for the MFSR 3. The overwrite bit is asserted if the fault

Re: [Qemu-devel] [RFC,PATCH 00/11] Half-convert info qtree to QMP.

2010-01-15 Thread Markus Armbruster
Nathan Baum writes: > Hullo. > > This series of patches partially converts info qtree to QMP. > > I've gone halfway: one can use query-qtree in QMP. > > I haven't converted the old monitor function other than to rename it; > do_info_qtree_print just ignores the QObject it is passed and prints > t

Re: [Qemu-devel] [RFC, PATCH 10/11] qdev: Add do_info_qbus and friends.

2010-01-15 Thread Markus Armbruster
Nathan Baum writes: > Places information about a bus and the devices on into a QObject. > > Signed-off-by: Nathan Baum > --- > hw/qdev.c | 73 > + > 1 files changed, 73 insertions(+), 0 deletions(-) > > diff --git a/hw/qdev.c b/hw/q

Re: [Qemu-devel] [RFC,PATCH 06/11] qdev: sysbus_dev_info

2010-01-15 Thread Markus Armbruster
Nathan Baum writes: > Returns information about the system bus as a QObject. > > Signed-off-by: Nathan Baum > --- > hw/sysbus.c | 18 ++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/hw/sysbus.c b/hw/sysbus.c > index 1f7f138..2092d9f 100644 > --- a/hw/sy

Re: [Qemu-devel] [RFC,PATCH 08/11] qdev: Add usb_bus_dev_info

2010-01-15 Thread Markus Armbruster
Nathan Baum writes: > Returns a QObject with information about a USB device. > > Signed-off-by: Nathan Baum > --- > hw/usb-bus.c | 13 + > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/hw/usb-bus.c b/hw/usb-bus.c > index 54027df..6d02807 100644 > --- a/hw/usb-

Re: [Qemu-devel] [RFC,PATCH 04/11] qdev: pcibus_dev_info

2010-01-15 Thread Markus Armbruster
Nathan Baum writes: > This returns a QObject detailing the PCI-specific data about the device. > > Signed-off-by: Nathan Baum > --- > hw/pci.c | 48 > 1 files changed, 48 insertions(+), 0 deletions(-) > > diff --git a/hw/pci.c b/hw/pci.c > inde

[Qemu-devel] [PATCH 2/6] QError: New QERR_FOPEN_FAILED

2010-01-15 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qerror.c |4 qerror.h |3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/qerror.c b/qerror.c index 5f8fc5d..e7b8ca7 100644 --- a/qerror.c +++ b/qerror.c @@ -73,6 +73,10 @@ static const QErrorStringTable qerror_table[] = {

Re: [Qemu-devel] [PATCH] Fix QEMU_WARN_UNUSED_RESULT

2010-01-15 Thread Markus Armbruster
Kevin Wolf writes: > Since commit 747bbdf7 QEMU_WARN_UNUSED_RESULT is never defined as it is > conditional on a define from config-host.h which is included only later. > Include that file earlier to get the warnings back. > > Reactivating it unfortunately leads to some warnings about unused qdev_

[Qemu-devel] [PATCH 3/6] monitor: convert do_memory_save() to QError

2010-01-15 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- monitor.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/monitor.c b/monitor.c index 988de73..2da3800 100644 --- a/monitor.c +++ b/monitor.c @@ -1306,7 +1306,7 @@ static void do_memory_save(Monitor *mon, const QDict *qdict, QObject

[Qemu-devel] [PATCH 1/6] monitor: Don't check for mon_get_cpu() failure

2010-01-15 Thread Markus Armbruster
mon_get_cpu() can't return null pointer, because it passes its return value to cpu_synchronize_state() first, which crashes if its argument is null. Remove the (pretty cheesy) handling of this non-existing error. Signed-off-by: Markus Armbruster --- monitor.c | 39 +++-

[Qemu-devel] [PATCH 6/6] monitor: convert do_cpu_set() to QObject, QError

2010-01-15 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- monitor.c |4 ++-- qemu-monitor.hx |3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/monitor.c b/monitor.c index 6664a04..5f0a54c 100644 --- a/monitor.c +++ b/monitor.c @@ -797,11 +797,11 @@ static void do_info_cpus(Monitor

[Qemu-devel] [PATCH 5/6] QError: New QERR_INVALID_CPU_INDEX

2010-01-15 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qerror.c |4 qerror.h |3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/qerror.c b/qerror.c index e7b8ca7..1c0b35e 100644 --- a/qerror.c +++ b/qerror.c @@ -81,6 +81,10 @@ static const QErrorStringTable qerror_table[] = {

[Qemu-devel] [PATCH 4/6] monitor: convert do_physical_memory_save() to QError

2010-01-15 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- monitor.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/monitor.c b/monitor.c index 2da3800..6664a04 100644 --- a/monitor.c +++ b/monitor.c @@ -1333,7 +1333,7 @@ static void do_physical_memory_save(Monitor *mon, const QDict *qdict

[Qemu-devel] [PATCH 0/6] Convert memsave, pmemsave, cpu to QObject+QError

2010-01-15 Thread Markus Armbruster
First patch is cleanup to get rid of an error that can't happen. Rest are straightforward conversions. Markus Armbruster (6): monitor: Don't check for mon_get_cpu() failure QError: New QERR_FOPEN_FAILED monitor: convert do_memory_save() to QError monitor: convert do_physical_memory_save()

Re: [Qemu-devel] [PATCH] linux-user: Align mmap memory to the target page size.

2010-01-15 Thread Richard Henderson
On 01/14/2010 04:38 PM, Richard Henderson wrote: Previously, mmap_find_vma could return addresses not properly aligned to the target page size. This of course led to all sorts of odd problems down the road. The trivial fix, to simply reject the unaligned address and continue searching the addre

[Qemu-devel] Re: [PATCH][RESPIN] QMP: Emit asynchronous events on all QMP monitors

2010-01-15 Thread Luiz Capitulino
On Fri, 15 Jan 2010 09:16:03 -0600 Adam Litke wrote: > On Fri, 2010-01-15 at 13:00 -0200, Luiz Capitulino wrote: > > The function will return on the first !QMP Monitor, the > > right QLIST_FOREACH() body is: > > > > if (monitor_ctrl_mode(mon)) { > > monitor_json_emitter(mon, QOBJECT(qmp)); > >

[Qemu-devel] Re: [PATCH][RESPIN] QMP: Emit asynchronous events on all QMP monitors

2010-01-15 Thread Adam Litke
On Fri, 2010-01-15 at 13:00 -0200, Luiz Capitulino wrote: > The function will return on the first !QMP Monitor, the > right QLIST_FOREACH() body is: > > if (monitor_ctrl_mode(mon)) { > monitor_json_emitter(mon, QOBJECT(qmp)); > } > > I'll ACK the respin. Ah right, of course. Thanks and here

Re: [Qemu-devel] [PATCH 1/3] remove dead code from target-i386/exec.h

2010-01-15 Thread Paolo Bonzini
On 01/15/2010 03:54 PM, Tristan Gingold wrote: On Jan 15, 2010, at 8:56 AM, Paolo Bonzini wrote: These are unused since edea5f0 (no need to define global registers in cpu-exec.c, 2008-05-10). Why not removing env_to_regs and regs_to_env ? That's 2/3 indeed. :-) Paolo

[Qemu-devel] Re: [PATCH] QMP: Emit asynchronous events on all QMP monitors

2010-01-15 Thread Luiz Capitulino
On Fri, 15 Jan 2010 08:34:02 -0600 Adam Litke wrote: > When using a control/QMP monitor in tandem with a regular monitor, > asynchronous > messages can get lost depending on the order of the QEMU program arguments. > QEMU events issued by monitor_protocol_event() always go to cur_mon. If the >

Re: [Qemu-devel] [PATCH 1/3] remove dead code from target-i386/exec.h

2010-01-15 Thread Tristan Gingold
On Jan 15, 2010, at 8:56 AM, Paolo Bonzini wrote: > These are unused since edea5f0 (no need to define global registers in > cpu-exec.c, 2008-05-10). Why not removing env_to_regs and regs_to_env ?

[Qemu-devel] [PATCH] QMP: Emit asynchronous events on all QMP monitors

2010-01-15 Thread Adam Litke
When using a control/QMP monitor in tandem with a regular monitor, asynchronous messages can get lost depending on the order of the QEMU program arguments. QEMU events issued by monitor_protocol_event() always go to cur_mon. If the user monitor was specified on the command line first (or it has ,d

[Qemu-devel] Re: [PATCH] QMP: Save default control monitor for emitting async events

2010-01-15 Thread Adam Litke
On Fri, 2010-01-15 at 11:38 -0200, Luiz Capitulino wrote: > On Thu, 14 Jan 2010 15:20:10 -0600 > Adam Litke wrote: > > > When using a control/QMP monitor in tandem with a regular monitor, > > asynchronous > > messages can get lost depending on the order of the QEMU program arguments. > > QEMU ev

[Qemu-devel] Re: [PATCH] QMP: Save default control monitor for emitting async events

2010-01-15 Thread Luiz Capitulino
On Thu, 14 Jan 2010 15:20:10 -0600 Adam Litke wrote: > When using a control/QMP monitor in tandem with a regular monitor, > asynchronous > messages can get lost depending on the order of the QEMU program arguments. > QEMU events issued by monitor_protocol_event() always go to cur_mon. If the >

[Qemu-devel] [PATCH] Fix QEMU_WARN_UNUSED_RESULT

2010-01-15 Thread Kevin Wolf
Since commit 747bbdf7 QEMU_WARN_UNUSED_RESULT is never defined as it is conditional on a define from config-host.h which is included only later. Include that file earlier to get the warnings back. Reactivating it unfortunately leads to some warnings about unused qdev_init results. These calls are

Re: [Qemu-devel] [PATCH 4/8] VNC: Add 'family' key

2010-01-15 Thread Luiz Capitulino
On Fri, 15 Jan 2010 08:54:56 +0100 Gerd Hoffmann wrote: > > +static QString *get_sock_family(const struct sockaddr_storage *sa) > > +{ > > +const char *name; > > + > > +switch (sa->ss_family) > > +{ > > +case AF_INET: > > +name = "ipv4"; > > +break; > >

[Qemu-devel] [PATCH] avoid unreachable statement after break

2010-01-15 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- cpu-exec.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index 44d45fc..d974141 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -316,9 +316,9 @@ int cpu_exec(CPUState *env1) #elif defined(TARGET_M68K)

[Qemu-devel] [PATCH 1/3] remove dead code from target-i386/exec.h

2010-01-15 Thread Paolo Bonzini
These are unused since edea5f0 (no need to define global registers in cpu-exec.c, 2008-05-10). Signed-off-by: Paolo Bonzini --- target-i386/exec.h | 48 1 files changed, 0 insertions(+), 48 deletions(-) diff --git a/target-i386/exec.h b/target-

[Qemu-devel] [PATCH 4/4] remove assertions

2010-01-15 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- cpu-exec.c |4 1 files changed, 0 insertions(+), 4 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index f00151f..0256edf 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -22,8 +22,6 @@ #include "tcg.h" #include "kvm.h" -#include - #if !defined(CONFIG

[Qemu-devel] [PATCH 3/4] change while to if

2010-01-15 Thread Paolo Bonzini
The while loop will be executed exactly 0 or 1 times, depending on env->exit_request. Signed-off-by: Paolo Bonzini --- cpu-exec.c | 10 +++--- 1 files changed, 3 insertions(+), 7 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index d974141..f00151f 100644 --- a/cpu-exec.c +++ b/cpu-exe

[Qemu-devel] [PATCH 1/4] clean up env->current_tb

2010-01-15 Thread Paolo Bonzini
There are three paths from the innermost while loop of cpu_exec to the top of the outermost for loop. Two do not reset env->current_tb. Fix this. Signed-off-by: Paolo Bonzini --- cpu-exec.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index

[Qemu-devel] [PATCH 2/4] add assertions about env->current_tb

2010-01-15 Thread Paolo Bonzini
By virtue of the previous patch env->current_tb will always be NULL at the top of cpu_exec's outermost for loop, and at the end of the innermost while loop. Signed-off-by: Paolo Bonzini --- cpu-exec.c |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/cpu-exec.c b/cpu-

[Qemu-devel] [PATCH 0/4] Clean up cpu_exec part 2/n

2010-01-15 Thread Paolo Bonzini
The management of env->current_tb is quite complicated. In particular, a while loop that has it as a test condition is actually executed just once, and it is cleared long after it has ceased being meaningful. This patch set straightens things a bit. Patch 1 clears env->current_tb when it is not

[Qemu-devel] Re: [PATCH] tcg-x86_64: Avoid unnecessary REX.B prefixes.

2010-01-15 Thread Aurelien Jarno
On Thu, Jan 14, 2010 at 02:59:51PM -0800, Richard Henderson wrote: > The existing P_REXB internal opcode flag unconditionally emits > the REX prefix. Technically it's not needed if the register in > question is %al, %bl, %cl, %dl. > > Eliding the prefix requires splitting the P_REXB flag into two

[Qemu-devel] [PATCH 2/3] kill regs_to_env and env_to_regs

2010-01-15 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- cpu-exec.c |9 - target-alpha/exec.h |8 target-arm/exec.h|8 target-cris/exec.h |8 target-i386/exec.h |8 target-m68k/exec.h |8 target-micr

[Qemu-devel] [PATCH 3/3] fix wrong indentation

2010-01-15 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- cpu-exec.c |4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index a426db9..2f119a9 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -588,11 +588,9 @@ int cpu_exec(CPUState *env1) /* see if we can patch

[Qemu-devel] [PATCH 0/3] cleanup cpu_exec 1/n

2010-01-15 Thread Paolo Bonzini
For now, just some removal of dead code (empty inline functions). Paolo Bonzini (3): remove dead code from target-i386/exec.h kill regs_to_env and env_to_regs fix wrong indentation cpu-exec.c | 13 +-- target-alpha/exec.h |8 -- target-arm/exec.h