Re: [Qemu-devel] [PATCH] Speedup 'tb_find_slow' by using the same heuristic as during memory page lookup

2010-12-04 Thread Kirill Batuzov

On 04.12.2010 23:11, Blue Swirl wrote:

On Thu, Dec 2, 2010 at 1:12 PM, Kirill Batuzov  wrote:

Move the last found TB to the head of the list so it will be found more quickly 
next time it will be looked for.

Signed-off-by: Kirill Batuzov
Signed-off-by: Pavel Yushchenko
---

This patch appeared during investigation of performance issues with
S5PC110 emulation for Samsung. It increses OS startup speed significantly.


The patch looks reasonable, but I didn't see any visible difference in
my tests. Could you report your numbers?


The exact numbers depend on complexity of guest system.
 - For basic Debian system (no X-server) on versatilepb we observed 25% 
decrease of boot time.
 - For to-be released Samsung LIMO platform on S5PC110 board we 
observed 2x (for older version) and 3x (for newer version) decrease of 
boot time.
 - Small CPU-intensive benchmarks are not affected because they are 
completely handled by 'tb_find_fast'.


We also noticed better response time for heavyweight GUI applications, 
but I do not know how to measure it accurately.



  Kirill.



[Qemu-devel] Re: [PULL] More format checking

2010-12-04 Thread Blue Swirl
On Sat, Dec 4, 2010 at 9:02 PM, Stefan Weil  wrote:
> Am 04.12.2010 21:18, schrieb Blue Swirl:
>>
>> On Sat, Dec 4, 2010 at 7:24 PM, Stefan Weil  wrote:
>>>
>>> Am 04.12.2010 19:35, schrieb Blue Swirl:

 On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil 
 wrote:
>
> Am 24.11.2010 22:46, schrieb Stefan Weil:
>>
>> Hello,
>>
>> with these patches, hopefully all functions with printf like arguments
>> use gcc's format checking, so the TODO comment in HACKING can be
>> removed.
>>
>> The patch series was tested with a default build configuration on
>> linux
>> and windows hosts (including some cross compilations for arm, mips and
>> powerpc),
>> so chances are good that there remain few (if any) functions without
>> format checking.
>>
>> If there remain such functions (and maybe also some related format
>> bugs),
>> the compiler will raise a warning now, so it should be easy to fix
>> them.
>>
>> All patches were published on qemu-devel. There were two replies:
>>
>> * 1st patch: small typo in commit message, fixed now
>>
>> * last patch: breaks build
>>
>> It's normal that the last patch will break builds with warning = error
>> as long as the other four patches (and maybe more format related
>> fixes)
>> are not applied. This is the intention of the last patch!
>>
>> Regards,
>> Stefan Weil
>>
>> The following changes since commit
>> f711df67d611e4762966a249742a5f7499e19f99:
>>
>>  microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100)
>>
>> are available in the git repository at:
>>  git://git.weilnetz.de/git/qemu for-blueswirl
>>
>> Stefan Weil (5):
>>    *-dis: Replace fprintf_ftype by fprintf_function (format checking)
>>    target-sparc: Use fprintf_function (format checking)
>>    audio: Use GCC_FMT_ATTR (format checking)
>>    darwin-user: Use GCC_FMT_ATTR (format checking)
>>    configure: Add compiler option -Wmissing-format-attribute
>>
>>  HACKING                |    3 ---
>>  alpha-dis.c            |    3 +++
>>  arm-dis.c              |   14 +++---
>>  audio/audio_pt_int.c   |    3 ++-
>>  configure              |    1 +
>>  darwin-user/machload.c |    2 +-
>>  darwin-user/qemu.h     |    2 +-
>>  dis-asm.h              |   10 ++
>>  m68k-dis.c             |    2 +-
>>  microblaze-dis.c       |    2 +-
>>  mips-dis.c             |    2 --
>>  sh4-dis.c              |   16 +---
>>  target-sparc/cpu.h     |    4 ++--
>>  13 files changed, 26 insertions(+), 38 deletions(-)
>>
>
>
> Is there anything missing, or can the patch series be applied finally?

 The last patch is not OK yet:
 CC qemu-img.o
 /src/qemu/qemu-img.c: In function 'error':
 /src/qemu/qemu-img.c:48:5: error: function might be possible candidate
 for 'ms_printf' format attribute [-Werror=missing-format-attribute]
 CC qemu-error.o
 /src/qemu/qemu-error.c: In function 'error_vprintf':
 /src/qemu/qemu-error.c:27:9: error: function might be possible
 candidate for 'ms_printf' format attribute
 [-Werror=missing-format-attribute]
 CC block/blkverify.o
 /src/qemu/block/blkverify.c: In function 'blkverify_err':
 /src/qemu/block/blkverify.c:65:5: error: function might be possible
 candidate for 'ms_printf' format attribute
 [-Werror=missing-format-attribute]
 CC json-parser.o
 /src/qemu/json-parser.c: In function 'parse_error':
 /src/qemu/json-parser.c:100:5: error: function might be possible
 candidate for 'ms_printf' format attribute
 [-Werror=missing-format-attribute]
 CC qerror.o
 /src/qemu/qerror.c: In function 'qerror_abort':
 /src/qemu/qerror.c:230:5: error: function might be possible candidate
 for 'ms_printf' format attribute [-Werror=missing-format-attribute]
 CC blockdev.o
 /src/qemu/blockdev.c: In function 'drive_add':
 /src/qemu/blockdev.c:52:5: error: function might be possible candidate
 for 'ms_printf' format attribute [-Werror=missing-format-attribute]
 CC qemu-char.o
 /src/qemu/qemu-char.c: In function 'qemu_chr_printf':
 /src/qemu/qemu-char.c:182:5: error: function might be possible
 candidate for 'ms_printf' format attribute
 [-Werror=missing-format-attribute]
 CC audio/audio.o
 /src/qemu/audio/audio.c: In function 'AUD_vlog':
 /src/qemu/audio/audio.c:346:9: error: function might be possible
 candidate for 'ms_printf' format attribute
 [-Werror=missing-format-attribute]

 This is with mingw32 compiler, it should be happy with gnu_printf
 instead of ms_printf in case you wonder that.
>>>
>>> As far as I know all those warnings are false warnings.
>>
>> No, for example qemu-img.c and blockdev.c cases are real. I don't
>> understand blkverify.c an

[Qemu-devel] Re: [PULL] More format checking

2010-12-04 Thread Stefan Weil

Am 04.12.2010 21:18, schrieb Blue Swirl:

On Sat, Dec 4, 2010 at 7:24 PM, Stefan Weil  wrote:

Am 04.12.2010 19:35, schrieb Blue Swirl:


On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil  
wrote:


Am 24.11.2010 22:46, schrieb Stefan Weil:


Hello,

with these patches, hopefully all functions with printf like arguments
use gcc's format checking, so the TODO comment in HACKING can be
removed.

The patch series was tested with a default build configuration on 
linux

and windows hosts (including some cross compilations for arm, mips and
powerpc),
so chances are good that there remain few (if any) functions without
format checking.

If there remain such functions (and maybe also some related format
bugs),
the compiler will raise a warning now, so it should be easy to fix 
them.


All patches were published on qemu-devel. There were two replies:

* 1st patch: small typo in commit message, fixed now

* last patch: breaks build

It's normal that the last patch will break builds with warning = error
as long as the other four patches (and maybe more format related 
fixes)

are not applied. This is the intention of the last patch!

Regards,
Stefan Weil

The following changes since commit
f711df67d611e4762966a249742a5f7499e19f99:

 microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100)

are available in the git repository at:
 git://git.weilnetz.de/git/qemu for-blueswirl

Stefan Weil (5):
*-dis: Replace fprintf_ftype by fprintf_function (format checking)
target-sparc: Use fprintf_function (format checking)
audio: Use GCC_FMT_ATTR (format checking)
darwin-user: Use GCC_FMT_ATTR (format checking)
configure: Add compiler option -Wmissing-format-attribute

 HACKING|3 ---
 alpha-dis.c|3 +++
 arm-dis.c  |   14 +++---
 audio/audio_pt_int.c   |3 ++-
 configure  |1 +
 darwin-user/machload.c |2 +-
 darwin-user/qemu.h |2 +-
 dis-asm.h  |   10 ++
 m68k-dis.c |2 +-
 microblaze-dis.c   |2 +-
 mips-dis.c |2 --
 sh4-dis.c  |   16 +---
 target-sparc/cpu.h |4 ++--
 13 files changed, 26 insertions(+), 38 deletions(-)




Is there anything missing, or can the patch series be applied finally?


The last patch is not OK yet:
CC qemu-img.o
/src/qemu/qemu-img.c: In function 'error':
/src/qemu/qemu-img.c:48:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC qemu-error.o
/src/qemu/qemu-error.c: In function 'error_vprintf':
/src/qemu/qemu-error.c:27:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC block/blkverify.o
/src/qemu/block/blkverify.c: In function 'blkverify_err':
/src/qemu/block/blkverify.c:65:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC json-parser.o
/src/qemu/json-parser.c: In function 'parse_error':
/src/qemu/json-parser.c:100:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC qerror.o
/src/qemu/qerror.c: In function 'qerror_abort':
/src/qemu/qerror.c:230:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC blockdev.o
/src/qemu/blockdev.c: In function 'drive_add':
/src/qemu/blockdev.c:52:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC qemu-char.o
/src/qemu/qemu-char.c: In function 'qemu_chr_printf':
/src/qemu/qemu-char.c:182:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC audio/audio.o
/src/qemu/audio/audio.c: In function 'AUD_vlog':
/src/qemu/audio/audio.c:346:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]

This is with mingw32 compiler, it should be happy with gnu_printf
instead of ms_printf in case you wonder that.


As far as I know all those warnings are false warnings.


No, for example qemu-img.c and blockdev.c cases are real. I don't
understand blkverify.c and qerror cases, GCC_FMT_ATTR() attributes are
in place.


I'm sorry but I don't understand your "no".

My patches added the necessary format attributes in qemu-img.c
and blockdev.c (otherwise all builds would raise compiler warnings).

It's a mingw32 problem that the compiler complains there.
This is what I call a "false" warning.

Where did you detect a missing format attribute?





[Qemu-devel] Re: [PATCH] *-dis: Replace fprintf_ftype by fprintf_function (format checking)

2010-12-04 Thread Blue Swirl
Thanks, applied.

On Mon, Nov 15, 2010 at 6:39 PM, Stefan Weil  wrote:
> This patch adds more printf format checking.
>
> Additional modifications were needed for this code change:
>
> * alpha-dis.c: The local definition of MAX conflicts with
>  a previous definition from osdep.h, so add an #undef.
>
> * dis-asm.h: Add include for fprintf_function (qemu-common.h).
>  The standard (now redundant) includes are removed.
>
> * mis-dis.c: The definition of ARRAY_SIZE is no longer needed
>  and must be removed (conflict with previous definition from
>  qemu-common.h).
>
> * sh4-dis.c: Remove some unneeded forward declarations.
>
> Cc: Blue Swirl 
> Signed-off-by: Stefan Weil 
> ---
>  alpha-dis.c      |    3 +++
>  arm-dis.c        |   14 +++---
>  dis-asm.h        |   10 ++
>  m68k-dis.c       |    2 +-
>  microblaze-dis.c |    2 +-
>  mips-dis.c       |    2 --
>  sh4-dis.c        |   16 +---
>  7 files changed, 19 insertions(+), 30 deletions(-)
>
> diff --git a/alpha-dis.c b/alpha-dis.c
> index 970da5b..8a2411e 100644
> --- a/alpha-dis.c
> +++ b/alpha-dis.c
> @@ -22,6 +22,9 @@ along with this file; see the file COPYING.  If not, see
>  #include 
>  #include "dis-asm.h"
>
> +/* MAX is redefined below, so remove any previous definition. */
> +#undef MAX
> +
>  /* The opcode table is an array of struct alpha_opcode.  */
>
>  struct alpha_opcode
> diff --git a/arm-dis.c b/arm-dis.c
> index fe7ac99..af21739 100644
> --- a/arm-dis.c
> +++ b/arm-dis.c
> @@ -1587,7 +1587,7 @@ arm_decode_bitfield (const char *ptr, unsigned long 
> insn,
>  }
>
>  static void
> -arm_decode_shift (long given, fprintf_ftype func, void *stream,
> +arm_decode_shift (long given, fprintf_function func, void *stream,
>                  int print_shift)
>  {
>   func (stream, "%s", arm_regnames[given & 0xf]);
> @@ -1633,7 +1633,7 @@ print_insn_coprocessor (bfd_vma pc, struct 
> disassemble_info *info, long given,
>  {
>   const struct opcode32 *insn;
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>   unsigned long mask;
>   unsigned long value;
>   int cond;
> @@ -2127,7 +2127,7 @@ static void
>  print_arm_address (bfd_vma pc, struct disassemble_info *info, long given)
>  {
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>
>   if (((given & 0x000f) == 0x000f)
>       && ((given & 0x0200) == 0))
> @@ -,7 +,7 @@ print_insn_neon (struct disassemble_info *info, long 
> given, bfd_boolean thumb)
>  {
>   const struct opcode32 *insn;
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>
>   if (thumb)
>     {
> @@ -2676,7 +2676,7 @@ print_insn_arm_internal (bfd_vma pc, struct 
> disassemble_info *info, long given)
>  {
>   const struct opcode32 *insn;
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>
>   if (print_insn_coprocessor (pc, info, given, false))
>     return;
> @@ -3036,7 +3036,7 @@ print_insn_thumb16 (bfd_vma pc, struct disassemble_info 
> *info, long given)
>  {
>   const struct opcode16 *insn;
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>
>   for (insn = thumb_opcodes; insn->assembler; insn++)
>     if ((given & insn->mask) == insn->value)
> @@ -3312,7 +3312,7 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info 
> *info, long given)
>  {
>   const struct opcode32 *insn;
>   void *stream = info->stream;
> -  fprintf_ftype func = info->fprintf_func;
> +  fprintf_function func = info->fprintf_func;
>
>   if (print_insn_coprocessor (pc, info, given, true))
>     return;
> diff --git a/dis-asm.h b/dis-asm.h
> index 9b9657e..3fb4838 100644
> --- a/dis-asm.h
> +++ b/dis-asm.h
> @@ -9,11 +9,7 @@
>  #ifndef DIS_ASM_H
>  #define DIS_ASM_H
>
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> +#include "qemu-common.h"
>
>  typedef void *PTR;
>  typedef uint64_t bfd_vma;
> @@ -237,8 +233,6 @@ typedef struct symbol_cache_entry
>     } udata;
>  } asymbol;
>
> -typedef int (*fprintf_ftype) (FILE*, const char*, ...);
> -
>  enum dis_insn_type {
>   dis_noninsn,                 /* Not a valid instruction */
>   dis_nonbranch,               /* Not a branch instruction */
> @@ -261,7 +255,7 @@ enum dis_insn_type {
>    by hand, or using one of the initialization macros below.  */
>
>  typedef struct disassemble_info {
> -  fprintf_ftype fprintf_func;
> +  fprintf_function fprintf_func;
>   FILE *stream;
>   PTR application_data;
>
> diff --git a/m68k-dis.c b/m68k-dis.c
> index d93943e..04f837a 100644
> --- a/m68k-dis.c
> +++ b/m68k-dis.c
> @@ -1732,7 +1732,7 @@ match_insn_m68k (bfd_vma memaddr,
>   const char *d;
>
>   bfd_byte *buffer = priv->the_buffer;
> -  fprintf_ftype save_printer = in

[Qemu-devel] Re: [PATCH] darwin-user: Use GCC_FMT_ATTR (format checking)

2010-12-04 Thread Blue Swirl
Thanks, applied.

On Mon, Nov 15, 2010 at 8:00 PM, Stefan Weil  wrote:
> The redundant forward declaration of qerror in machload.c
> is removed because it should be taken from qemu.h.
>
> Please note that this patch is untested because
> I have no matching environment to compile it.
>
> Cc: Blue Swirl 
> Signed-off-by: Stefan Weil 
> ---
>  darwin-user/machload.c |    2 +-
>  darwin-user/qemu.h     |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/darwin-user/machload.c b/darwin-user/machload.c
> index 4bb5c72..3bc3b65 100644
> --- a/darwin-user/machload.c
> +++ b/darwin-user/machload.c
> @@ -82,7 +82,7 @@ void *macho_text_sect = 0;
>  int   macho_offset = 0;
>
>  int load_object(const char *filename, struct target_pt_regs * regs, void ** 
> mh);
> -void qerror(const char *format, ...);
> +
>  #ifdef TARGET_I386
>  typedef struct mach_i386_thread_state {
>     unsigned int    eax;
> diff --git a/darwin-user/qemu.h b/darwin-user/qemu.h
> index 0c5081b..b6d3e6c 100644
> --- a/darwin-user/qemu.h
> +++ b/darwin-user/qemu.h
> @@ -100,7 +100,7 @@ int do_sigaction(int sig, const struct sigaction *act,
>  int do_sigaltstack(const struct sigaltstack *ss, struct sigaltstack *oss);
>
>  void gemu_log(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
> -void qerror(const char *fmt, ...);
> +void qerror(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
>
>  void write_dt(void *ptr, unsigned long addr, unsigned long limit, int flags);
>
> --
> 1.7.2.3
>
>



[Qemu-devel] Re: [PATCH] audio: Use GCC_FMT_ATTR (format checking)

2010-12-04 Thread Blue Swirl
Thanks, applied.

On Mon, Nov 15, 2010 at 7:54 PM, Stefan Weil  wrote:
> Cc: Blue Swirl 
> Signed-off-by: Stefan Weil 
> ---
>  audio/audio_pt_int.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/audio/audio_pt_int.c b/audio/audio_pt_int.c
> index f15cc70..908c569 100644
> --- a/audio/audio_pt_int.c
> +++ b/audio/audio_pt_int.c
> @@ -8,7 +8,8 @@
>
>  #include 
>
> -static void logerr (struct audio_pt *pt, int err, const char *fmt, ...)
> +static void GCC_FMT_ATTR(3, 4) logerr (struct audio_pt *pt, int err,
> +                                       const char *fmt, ...)
>  {
>     va_list ap;
>
> --
> 1.7.2.3
>
>



[Qemu-devel] Re: [PATCH] target-sparc: Use fprintf_function (format checking)

2010-12-04 Thread Blue Swirl
Thanks, applied.

On Mon, Nov 15, 2010 at 6:58 PM, Stefan Weil  wrote:
> This change was missing in commit
> 9a78eead0c74333a394c0f7bbfc4423ac746fcd5.
>
> Cc: Blue Swirl 
> Signed-off-by: Stefan Weil 
> ---
>  target-sparc/cpu.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
> index 7e0d17c..eb5d9c1 100644
> --- a/target-sparc/cpu.h
> +++ b/target-sparc/cpu.h
> @@ -2,6 +2,7 @@
>  #define CPU_SPARC_H
>
>  #include "config.h"
> +#include "qemu-common.h"
>
>  #if !defined(TARGET_SPARC64)
>  #define TARGET_LONG_BITS 32
> @@ -442,8 +443,7 @@ typedef struct CPUSPARCState {
>  /* helper.c */
>  CPUSPARCState *cpu_sparc_init(const char *cpu_model);
>  void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu);
> -void sparc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt,
> -                                                 ...));
> +void sparc_cpu_list(FILE *f, fprintf_function cpu_fprintf);
>  void cpu_lock(void);
>  void cpu_unlock(void);
>  int cpu_sparc_handle_mmu_fault(CPUSPARCState *env1, target_ulong address, 
> int rw,
> --
> 1.7.2.3
>
>



Re: [Qemu-devel] State of EHCI emulation for QEMU

2010-12-04 Thread David S. Ahern


On 12/04/10 02:05, Jan Kiszka wrote:
> Am 04.12.2010 01:18, Gerd Hoffmann wrote:
>>   Hi,
>>
>>> as you may know, there is an experimental git repository at
>>>
>>> git://git.kiszka.org/qemu.git ehci
>>
>> Looking into this right now as I'm busy with various usb issues anyway.
>> Current state:
>>   http://cgit.freedesktop.org/spice/qemu/log/?h=usb.1
>>

It appears that the import of the ehci code to spice has completely lost
the development history and code contributions - from the original
version by Mark Burkley through the work I've done on it. Would you mind
pulling in the patch history instead of just the final code?

I'll respond in --verbose mode for the other questions later this
weekend when I get more time.

David



[Qemu-devel] Re: [PULL] More format checking

2010-12-04 Thread Blue Swirl
On Sat, Dec 4, 2010 at 7:24 PM, Stefan Weil  wrote:
> Am 04.12.2010 19:35, schrieb Blue Swirl:
>>
>> On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil  wrote:
>>>
>>> Am 24.11.2010 22:46, schrieb Stefan Weil:

 Hello,

 with these patches, hopefully all functions with printf like arguments
 use gcc's format checking, so the TODO comment in HACKING can be
 removed.

 The patch series was tested with a default build configuration on linux
 and windows hosts (including some cross compilations for arm, mips and
 powerpc),
 so chances are good that there remain few (if any) functions without
 format checking.

 If there remain such functions (and maybe also some related format
 bugs),
 the compiler will raise a warning now, so it should be easy to fix them.

 All patches were published on qemu-devel. There were two replies:

 * 1st patch: small typo in commit message, fixed now

 * last patch: breaks build

 It's normal that the last patch will break builds with warning = error
 as long as the other four patches (and maybe more format related fixes)
 are not applied. This is the intention of the last patch!

 Regards,
 Stefan Weil

 The following changes since commit
 f711df67d611e4762966a249742a5f7499e19f99:

  microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100)

 are available in the git repository at:
  git://git.weilnetz.de/git/qemu for-blueswirl

 Stefan Weil (5):
     *-dis: Replace fprintf_ftype by fprintf_function (format checking)
     target-sparc: Use fprintf_function (format checking)
     audio: Use GCC_FMT_ATTR (format checking)
     darwin-user: Use GCC_FMT_ATTR (format checking)
     configure: Add compiler option -Wmissing-format-attribute

  HACKING                |    3 ---
  alpha-dis.c            |    3 +++
  arm-dis.c              |   14 +++---
  audio/audio_pt_int.c   |    3 ++-
  configure              |    1 +
  darwin-user/machload.c |    2 +-
  darwin-user/qemu.h     |    2 +-
  dis-asm.h              |   10 ++
  m68k-dis.c             |    2 +-
  microblaze-dis.c       |    2 +-
  mips-dis.c             |    2 --
  sh4-dis.c              |   16 +---
  target-sparc/cpu.h     |    4 ++--
  13 files changed, 26 insertions(+), 38 deletions(-)

>>>
>>>
>>> Is there anything missing, or can the patch series be applied finally?
>>
>> The last patch is not OK yet:
>> CC qemu-img.o
>> /src/qemu/qemu-img.c: In function 'error':
>> /src/qemu/qemu-img.c:48:5: error: function might be possible candidate
>> for 'ms_printf' format attribute [-Werror=missing-format-attribute]
>> CC qemu-error.o
>> /src/qemu/qemu-error.c: In function 'error_vprintf':
>> /src/qemu/qemu-error.c:27:9: error: function might be possible
>> candidate for 'ms_printf' format attribute
>> [-Werror=missing-format-attribute]
>> CC block/blkverify.o
>> /src/qemu/block/blkverify.c: In function 'blkverify_err':
>> /src/qemu/block/blkverify.c:65:5: error: function might be possible
>> candidate for 'ms_printf' format attribute
>> [-Werror=missing-format-attribute]
>> CC json-parser.o
>> /src/qemu/json-parser.c: In function 'parse_error':
>> /src/qemu/json-parser.c:100:5: error: function might be possible
>> candidate for 'ms_printf' format attribute
>> [-Werror=missing-format-attribute]
>> CC qerror.o
>> /src/qemu/qerror.c: In function 'qerror_abort':
>> /src/qemu/qerror.c:230:5: error: function might be possible candidate
>> for 'ms_printf' format attribute [-Werror=missing-format-attribute]
>> CC blockdev.o
>> /src/qemu/blockdev.c: In function 'drive_add':
>> /src/qemu/blockdev.c:52:5: error: function might be possible candidate
>> for 'ms_printf' format attribute [-Werror=missing-format-attribute]
>> CC qemu-char.o
>> /src/qemu/qemu-char.c: In function 'qemu_chr_printf':
>> /src/qemu/qemu-char.c:182:5: error: function might be possible
>> candidate for 'ms_printf' format attribute
>> [-Werror=missing-format-attribute]
>> CC audio/audio.o
>> /src/qemu/audio/audio.c: In function 'AUD_vlog':
>> /src/qemu/audio/audio.c:346:9: error: function might be possible
>> candidate for 'ms_printf' format attribute
>> [-Werror=missing-format-attribute]
>>
>> This is with mingw32 compiler, it should be happy with gnu_printf
>> instead of ms_printf in case you wonder that.
>
> As far as I know all those warnings are false warnings.

No, for example qemu-img.c and blockdev.c cases are real. I don't
understand blkverify.c and qerror cases, GCC_FMT_ATTR() attributes are
in place.

> The mingw32 includes are broken because they always
> use ms format specifiers for the PRI* macros, even
> when the compiler was told to use ansi/posix format.
> Sending a patch to mingw32 is on my todo list.

I think that is unrelated.

> qemu-common.h uses the same kind of wrong definitions
> for

Re: [Qemu-devel] [PATCH] Speedup 'tb_find_slow' by using the same heuristic as during memory page lookup

2010-12-04 Thread Blue Swirl
On Thu, Dec 2, 2010 at 1:12 PM, Kirill Batuzov  wrote:
> Move the last found TB to the head of the list so it will be found more 
> quickly next time it will be looked for.
>
> Signed-off-by: Kirill Batuzov 
> Signed-off-by: Pavel Yushchenko 
> ---
>
> This patch appeared during investigation of performance issues with
> S5PC110 emulation for Samsung. It increses OS startup speed significantly.

The patch looks reasonable, but I didn't see any visible difference in
my tests. Could you report your numbers?



[Qemu-devel] [PATCH] mingw32: Fix definitions for PRId64, PRIx64, PRIu64, PRIo64

2010-12-04 Thread Stefan Weil
QEMU always uses POSIX format specifiers, even with mingw32.

Therefore the old definitions of the PRI*64 macros were wrong.
They should be removed, but as long as the mingw32 system
include inttypes.h provides wrong definitions, too,
we correct them here.

Cc: Blue Swirl 
Signed-off-by: Stefan Weil 
---
 qemu-common.h |   16 
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/qemu-common.h b/qemu-common.h
index de82c2e..c739f45 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -96,10 +96,18 @@ static inline char *realpath(const char *path, char 
*resolved_path)
 return resolved_path;
 }
 
-#define PRId64 "I64d"
-#define PRIx64 "I64x"
-#define PRIu64 "I64u"
-#define PRIo64 "I64o"
+/* inttypes.h (mingw32) provides wrong definitions, so fix them here. */
+/* TODO: remove this workaround as soon as mingw32 is fixed. */
+
+#undef PRId64
+#undef PRIx64
+#undef PRIu64
+#undef PRIo64
+
+#define PRId64 "lld"
+#define PRIx64 "llx"
+#define PRIu64 "llu"
+#define PRIo64 "llo"
 #endif
 
 /* FIXME: Remove NEED_CPU_H.  */
-- 
1.7.2.3




[Qemu-devel] Re: [PULL] More format checking

2010-12-04 Thread Stefan Weil

Am 04.12.2010 19:35, schrieb Blue Swirl:

On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil  wrote:

Am 24.11.2010 22:46, schrieb Stefan Weil:


Hello,

with these patches, hopefully all functions with printf like arguments
use gcc's format checking, so the TODO comment in HACKING can be 
removed.


The patch series was tested with a default build configuration on linux
and windows hosts (including some cross compilations for arm, mips and
powerpc),
so chances are good that there remain few (if any) functions without
format checking.

If there remain such functions (and maybe also some related format 
bugs),

the compiler will raise a warning now, so it should be easy to fix them.

All patches were published on qemu-devel. There were two replies:

* 1st patch: small typo in commit message, fixed now

* last patch: breaks build

It's normal that the last patch will break builds with warning = error
as long as the other four patches (and maybe more format related fixes)
are not applied. This is the intention of the last patch!

Regards,
Stefan Weil

The following changes since commit
f711df67d611e4762966a249742a5f7499e19f99:

 microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100)

are available in the git repository at:
 git://git.weilnetz.de/git/qemu for-blueswirl

Stefan Weil (5):
 *-dis: Replace fprintf_ftype by fprintf_function (format checking)
 target-sparc: Use fprintf_function (format checking)
 audio: Use GCC_FMT_ATTR (format checking)
 darwin-user: Use GCC_FMT_ATTR (format checking)
 configure: Add compiler option -Wmissing-format-attribute

 HACKING|3 ---
 alpha-dis.c|3 +++
 arm-dis.c  |   14 +++---
 audio/audio_pt_int.c   |3 ++-
 configure  |1 +
 darwin-user/machload.c |2 +-
 darwin-user/qemu.h |2 +-
 dis-asm.h  |   10 ++
 m68k-dis.c |2 +-
 microblaze-dis.c   |2 +-
 mips-dis.c |2 --
 sh4-dis.c  |   16 +---
 target-sparc/cpu.h |4 ++--
 13 files changed, 26 insertions(+), 38 deletions(-)




Is there anything missing, or can the patch series be applied finally?


The last patch is not OK yet:
CC qemu-img.o
/src/qemu/qemu-img.c: In function 'error':
/src/qemu/qemu-img.c:48:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC qemu-error.o
/src/qemu/qemu-error.c: In function 'error_vprintf':
/src/qemu/qemu-error.c:27:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC block/blkverify.o
/src/qemu/block/blkverify.c: In function 'blkverify_err':
/src/qemu/block/blkverify.c:65:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC json-parser.o
/src/qemu/json-parser.c: In function 'parse_error':
/src/qemu/json-parser.c:100:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC qerror.o
/src/qemu/qerror.c: In function 'qerror_abort':
/src/qemu/qerror.c:230:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC blockdev.o
/src/qemu/blockdev.c: In function 'drive_add':
/src/qemu/blockdev.c:52:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
CC qemu-char.o
/src/qemu/qemu-char.c: In function 'qemu_chr_printf':
/src/qemu/qemu-char.c:182:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
CC audio/audio.o
/src/qemu/audio/audio.c: In function 'AUD_vlog':
/src/qemu/audio/audio.c:346:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]

This is with mingw32 compiler, it should be happy with gnu_printf
instead of ms_printf in case you wonder that.


As far as I know all those warnings are false warnings.

The mingw32 includes are broken because they always
use ms format specifiers for the PRI* macros, even
when the compiler was told to use ansi/posix format.
Sending a patch to mingw32 is on my todo list.

qemu-common.h uses the same kind of wrong definitions
for PRI*64. I already have a patch for this and will send
it to qemu-devel soon.

Until mingw32 is fixed, I suggest to disable -Werror for
windows builds.

Is it possible to commit the previous patches (if you
hesitate committing the last one)? That would help a lot.

Thanks,
Stefan






[Qemu-devel] Re: [PULL] More format checking

2010-12-04 Thread Blue Swirl
On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil  wrote:
> Am 24.11.2010 22:46, schrieb Stefan Weil:
>>
>> Hello,
>>
>> with these patches, hopefully all functions with printf like arguments
>> use gcc's format checking, so the TODO comment in HACKING can be removed.
>>
>> The patch series was tested with a default build configuration on linux
>> and windows hosts (including some cross compilations for arm, mips and
>> powerpc),
>> so chances are good that there remain few (if any) functions without
>> format checking.
>>
>> If there remain such functions (and maybe also some related format bugs),
>> the compiler will raise a warning now, so it should be easy to fix them.
>>
>> All patches were published on qemu-devel. There were two replies:
>>
>> * 1st patch: small typo in commit message, fixed now
>>
>> * last patch: breaks build
>>
>> It's normal that the last patch will break builds with warning = error
>> as long as the other four patches (and maybe more format related fixes)
>> are not applied. This is the intention of the last patch!
>>
>> Regards,
>> Stefan Weil
>>
>> The following changes since commit
>> f711df67d611e4762966a249742a5f7499e19f99:
>>
>>  microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100)
>>
>> are available in the git repository at:
>>  git://git.weilnetz.de/git/qemu for-blueswirl
>>
>> Stefan Weil (5):
>>      *-dis: Replace fprintf_ftype by fprintf_function (format checking)
>>      target-sparc: Use fprintf_function (format checking)
>>      audio: Use GCC_FMT_ATTR (format checking)
>>      darwin-user: Use GCC_FMT_ATTR (format checking)
>>      configure: Add compiler option -Wmissing-format-attribute
>>
>>  HACKING                |    3 ---
>>  alpha-dis.c            |    3 +++
>>  arm-dis.c              |   14 +++---
>>  audio/audio_pt_int.c   |    3 ++-
>>  configure              |    1 +
>>  darwin-user/machload.c |    2 +-
>>  darwin-user/qemu.h     |    2 +-
>>  dis-asm.h              |   10 ++
>>  m68k-dis.c             |    2 +-
>>  microblaze-dis.c       |    2 +-
>>  mips-dis.c             |    2 --
>>  sh4-dis.c              |   16 +---
>>  target-sparc/cpu.h     |    4 ++--
>>  13 files changed, 26 insertions(+), 38 deletions(-)
>>
>
>
> Is there anything missing, or can the patch series be applied finally?

The last patch is not OK yet:
  CCqemu-img.o
/src/qemu/qemu-img.c: In function 'error':
/src/qemu/qemu-img.c:48:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
  CCqemu-error.o
/src/qemu/qemu-error.c: In function 'error_vprintf':
/src/qemu/qemu-error.c:27:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
  CCblock/blkverify.o
/src/qemu/block/blkverify.c: In function 'blkverify_err':
/src/qemu/block/blkverify.c:65:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
  CCjson-parser.o
/src/qemu/json-parser.c: In function 'parse_error':
/src/qemu/json-parser.c:100:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
  CCqerror.o
/src/qemu/qerror.c: In function 'qerror_abort':
/src/qemu/qerror.c:230:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
  CCblockdev.o
/src/qemu/blockdev.c: In function 'drive_add':
/src/qemu/blockdev.c:52:5: error: function might be possible candidate
for 'ms_printf' format attribute [-Werror=missing-format-attribute]
  CCqemu-char.o
/src/qemu/qemu-char.c: In function 'qemu_chr_printf':
/src/qemu/qemu-char.c:182:5: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]
  CCaudio/audio.o
/src/qemu/audio/audio.c: In function 'AUD_vlog':
/src/qemu/audio/audio.c:346:9: error: function might be possible
candidate for 'ms_printf' format attribute
[-Werror=missing-format-attribute]

This is with mingw32 compiler, it should be happy with gnu_printf
instead of ms_printf in case you wonder that.



[Qemu-devel] [Bug 532733] Re: apt/dpkg in qemu-system-arm hangs if a big task is installed

2010-12-04 Thread Dustin Kirkland
** Changed in: qemu-kvm (Ubuntu)
 Assignee: Dustin Kirkland (kirkland) => (unassigned)

** Changed in: qemu-kvm (Ubuntu Lucid)
 Assignee: Dustin Kirkland (kirkland) => (unassigned)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/532733

Title:
  apt/dpkg in qemu-system-arm hangs if a big task is installed

Status in QEMU:
  Invalid
Status in “qemu-kvm” package in Ubuntu:
  Incomplete
Status in “qemu-kvm” source package in Lucid:
  Incomplete

Bug description:
  Binary package hint: qemu-kvm

running rootstock and installing ubuntu-netbook^ makes the VM hang in 
"unpacking iso-codes" this is reproducable every time in rootstock as well as 
in a standard qemu-system-arm vm that contains a minimal ubuntu with running 
apt-get install ubuntu-netbook





RE: [Qemu-devel] [PATCH 00/16] linux-user updates

2010-12-04 Thread riku.voipio
>On 3 December 2010 13:36,   wrote:
>> Collection of recent linux-user patches that have been
>> tested to be good. Patches have been sent to the list before,
>> lets have a couple of days for comments and I'll request a pull
>> from.
>
>I hate to quibble, but:
>
>> Peter Maydell (10):
>>  target-arm: remove unused functions cpu_lock(), cpu_unlock()
>>  target-sparc: remove unused functions cpu_lock(), cpu_unlock()
>
>these aren't linux-user related, really...

Well, they kinda are. cpu_lock() was only ever used from linux-user
code (IIRC) and the patches were trivial. But strictly speaking 
the patch would rather have been target-arm maintainers field.

Riku



[Qemu-devel] Re: [PATCH 2/2] Do not register kvmclock savevm section if kvmclock is disabled.

2010-12-04 Thread Paolo Bonzini

On 12/03/2010 11:49 AM, Glauber Costa wrote:

+/* This has to happen after vcpu setup*/
+void kvmclock_register_savevm(void)
+{
+#ifdef KVM_CAP_ADJUST_CLOCK
+if (kvmclock_enabled&&  kvm_check_extension(kvm_state, 
KVM_CAP_ADJUST_CLOCK)) {
+printf("registering kvmclock savevm section\n");
+vmstate_register(NULL, 0,&vmstate_kvmclock,&kvmclock_data);
+}
+#endif
+}
+


You should use a state change notifier for patch 1.  Even better, if you 
put this patch first adding the state change notifier will be very clean.


Paolo



[Qemu-devel] Re: [PATCH 2/2] Do not register kvmclock savevm section if kvmclock is disabled.

2010-12-04 Thread Paolo Bonzini

On 12/03/2010 11:49 AM, Glauber Costa wrote:

+/* This has to happen after vcpu setup*/
+void kvmclock_register_savevm(void)
+{
+#ifdef KVM_CAP_ADJUST_CLOCK
+if (kvmclock_enabled&&  kvm_check_extension(kvm_state, 
KVM_CAP_ADJUST_CLOCK)) {
+printf("registering kvmclock savevm section\n");
+vmstate_register(NULL, 0,&vmstate_kvmclock,&kvmclock_data);
+}
+#endif
+}
+


You should use a state change notifier for patch 1.  Even better, if you 
put this patch first adding the state change notifier will be very clean.


Paolo



[Qemu-devel] Re: [PATCH 1/6] pci: untangle pci/msi dependency

2010-12-04 Thread Paolo Bonzini

On 12/02/2010 11:54 PM, Michael S. Tsirkin wrote:

+bool assert = pcie_aer_root_does_trigger(root_cmd_set, root_status);


Risky variable name, I think it would fail if someone includes assert.h.

Paolo



Re: [Qemu-devel] [PATCH 02/14] ./block/iscsi/socket.c

2010-12-04 Thread Stefan Hajnoczi
On Fri, Dec 3, 2010 at 11:09 AM,   wrote:
> +int
> +iscsi_connect_async(struct iscsi_context *iscsi, const char *portal,
> +                   iscsi_command_cb cb, void *private_data)
> +{
> +       int tpgt = -1;
> +       int port = 3260;
> +       char *str;
> +       char *addr;
> +       struct sockaddr_storage s;
> +       struct sockaddr_in *sin = (struct sockaddr_in *)&s;
> +       int socksize;
> +
> +       if (iscsi->fd != -1) {
> +               iscsi_set_error(iscsi,
> +                               "Trying to connect but already connected.");
> +               return -1;
> +       }
> +
> +       addr = strdup(portal);
> +       if (addr == NULL) {
> +               iscsi_set_error(iscsi, "Out-of-memory: "
> +                               "Failed to strdup portal address.");
> +               return -2;

Please use constants.  -1, -2, ... don't tell me much and are
undocumented.  I think your strategy is a unique code for every error
return inside a function?

> +       }
> +
> +       /* check if we have a target portal group tag */
> +       str = rindex(addr, ',');
> +       if (str != NULL) {
> +               tpgt = atoi(str+1);
> +               str[0] = 0;
> +       }
> +
> +       /* XXX need handling for {ipv6 addresses} */
> +       /* for now, assume all is ipv4 */
> +       str = rindex(addr, ':');
> +       if (str != NULL) {
> +               port = atoi(str+1);
> +               str[0] = 0;
> +       }
> +
> +       sin->sin_family = AF_INET;
> +       sin->sin_port   = htons(port);
> +       if (inet_pton(AF_INET, addr, &sin->sin_addr) != 1) {
> +               iscsi_set_error(iscsi, "Invalid target:%s  "
> +                               "Failed to convert to ip address.", addr);
> +               free(addr);
> +               return -3;
> +       }
> +       free(addr);
> +
> +       switch (s.ss_family) {
> +       case AF_INET:
> +               iscsi->fd = socket(AF_INET, SOCK_STREAM, 0);
> +               socksize = sizeof(struct sockaddr_in);
> +               break;
> +       default:
> +               iscsi_set_error(iscsi, "Unknown address family :%d. "
> +                               "Only IPv4 supported so far.", s.ss_family);
> +               return -4;
> +
> +       }
> +
> +       if (iscsi->fd == -1) {
> +               iscsi_set_error(iscsi, "Failed to open iscsi socket. "
> +                               "Errno:%s(%d).", strerror(errno), errno);
> +               return -5;
> +
> +       }
> +
> +       iscsi->connect_cb  = cb;
> +       iscsi->connect_data = private_data;
> +
> +       set_nonblocking(iscsi->fd);
> +
> +       if (connect(iscsi->fd, (struct sockaddr *)&s, socksize) != 0
> +           && errno != EINPROGRESS) {
> +               iscsi_set_error(iscsi, "Connect failed with errno : "
> +                               "%s(%d)\n", strerror(errno), errno);

Since the function will return an error we should close(iscsi->fd) and
set it to -1 again.

> +               return -6;
> +       }
> +
> +       return 0;
> +}

> +static int
> +iscsi_read_from_socket(struct iscsi_context *iscsi)
> +{
> +       int available;
> +       int size;
> +       unsigned char *buf;
> +       ssize_t count;
> +
> +       if (ioctl(iscsi->fd, FIONREAD, &available) != 0) {
> +               iscsi_set_error(iscsi, "ioctl FIONREAD returned error : "
> +                               "%d\n", errno);

iscsi_set_error() newlines are used inconsistently.  Some calls
include the newline, some don't.

> +               return -1;
> +       }
> +       if (available == 0) {
> +               iscsi_set_error(iscsi, "no data readable in socket, "
> +                               "socket is closed\n");
> +               return -2;
> +       }
> +       size = iscsi->insize - iscsi->inpos + available;
> +       buf = malloc(size);
> +       if (buf == NULL) {
> +               iscsi_set_error(iscsi, "failed to allocate %d bytes for "
> +                               "input buffer\n", size);
> +               return -3;
> +       }
> +       if (iscsi->insize > iscsi->inpos) {
> +               memcpy(buf, iscsi->inbuf + iscsi->inpos,
> +                      iscsi->insize - iscsi->inpos);
> +               iscsi->insize -= iscsi->inpos;
> +               iscsi->inpos   = 0;
> +       }
> +
> +       count = read(iscsi->fd, buf + iscsi->insize, available);
> +       if (count == -1) {
> +               if (errno == EINTR) {
> +                       free(buf);
> +                       buf = NULL;
> +                       return 0;

If iscsi->insize > iscsi->inpos was true above then we've made insize,
inpos, inbuf inconsistent by returning early here.

> +               }
> +               iscsi_set_error(iscsi, "read from socket failed, "
> +                               "errno:%d\n", errno);
> +               free(buf);
> +               buf = NULL;
> +               return -4;

Same issue here.

> +       }
> +
> +       if (iscsi->inbuf != NULL) {
> +               fr

[Qemu-devel] [Bug 427612] Re: kvm sends caps lock key up event twice

2010-12-04 Thread Jean-Baptiste Lallement
** Tags added: verification-done
** Tags removed: verification-needed

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/427612

Title:
  kvm sends caps lock key up event twice

Status in QEMU:
  New
Status in “libsdl1.2” package in Ubuntu:
  Invalid
Status in “qemu-kvm” package in Ubuntu:
  Fix Released
Status in “libsdl1.2” source package in Maverick:
  Invalid
Status in “qemu-kvm” source package in Maverick:
  Fix Committed
Status in “libsdl1.2” package in Debian:
  Fix Released

Bug description:
  Binary package hint: qemu-kvm

I have set the keyboard layout to German NEO 2 [1] in the host and the client 
(both current karmic). The caps lock is used as modifier (similar to shift) in 
NEO. When I press "caps lock" + "t", then the client prints a "t" instead of a 
"-". A caps lock key up event is sent to the client before I release the caps 
lock key.

[1] http://www.neo-layout.org/

ProblemType: Bug
Architecture: amd64
Date: Fri Sep 11 01:38:58 2009
DistroRelease: Ubuntu 9.10
KvmCmdLine: Error: command ['ps', '-C', 'kvm', '-F'] failed with exit code 1: 
UIDPID  PPID  CSZ   RSS PSR STIME TTY  TIME CMD
Package: qemu-kvm 0.11.0~rc2-0ubuntu2
PccardctlIdent:

PccardctlStatus:

ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-10-generic 
root=UUID=37b01f5a-a578-49d6-a812-f166b103e68a ro quiet splash
ProcEnviron:
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-10.31-generic
SourcePackage: qemu-kvm
Uname: Linux 2.6.31-10-generic x86_64
dmi.bios.date: 07/15/2009
dmi.bios.vendor: Intel Corp.
dmi.bios.version: DPP3510J.86A.0572.2009.0715.2346
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: DG33TL
dmi.board.vendor: Intel Corporation
dmi.board.version: AAD89517-802
dmi.chassis.type: 3
dmi.modalias: 
dmi:bvnIntelCorp.:bvrDPP3510J.86A.0572.2009.0715.2346:bd07/15/2009:svn:pn:pvr:rvnIntelCorporation:rnDG33TL:rvrAAD89517-802:cvn:ct3:cvr:

TEST CASE: Select NEO2 as keyboard layout in your guest system and press 'caps 
lock' + 't'. A '-' should appear.





Re: [Qemu-devel] State of EHCI emulation for QEMU

2010-12-04 Thread Jan Kiszka
Am 04.12.2010 01:18, Gerd Hoffmann wrote:
>   Hi,
> 
>> as you may know, there is an experimental git repository at
>>
>> git://git.kiszka.org/qemu.git ehci
> 
> Looking into this right now as I'm busy with various usb issues anyway.
> Current state:
>   http://cgit.freedesktop.org/spice/qemu/log/?h=usb.1
> 
>>   - lacks integration with UHCI (currently, only EHCI is provided by
>> that tree, breaking USB 1.1 devices)
> 
> Sort-of fixed (see docs/usb2.txt).

Very nice. Some remarks:

- command line must look like this:
...
-drive if=none,id=usbstick,file=/path/to/image   \
-device usb-storage,bus=ehci.0,drive=usbstick
  ie. register driver device referencing it, and there was a typo id->if

- long-term, "-usb" should become a shorthand for "-device
  usb-uhci,id=uhci -device usb-ehci,id=ehci" (at least for x86)

Unfortunately, msd is not yet magically healed:

  non queue head request in async schedule
  processing error - resetting ehci HC

> 
>> David furthermore provided the following to-dos:
>>   - lacks periodic frames support
>>   - lacks isochronous traffic support
> 
> --verbose please.  There seems to be some code for that?
> 
>>   - lacks split transactions support
> 
> That would need a USB 2.0 HUB emulation to be useful.
> We lack that one too ;)
> 
>>   - NAK/reload support is kludgy at best
> 
> --verbose please.
> 

Those are questions for David.

Jan

PS: Your tree lacks conversion of usb-musb.c.



signature.asc
Description: OpenPGP digital signature