Re: [Qemu-devel] CVS build error

2008-03-14 Thread Thiemo Seufer
Philip Boulain wrote:
 Well done, guys. Someone's trying to build CVS QEMU on gcc4, and you're 
 flaming them. This'll really encourage people to work on making 
 development versions of QEMU work with gcc4.

May I recommend to everybody involved to cool down a bit?

Working on converting more of the target support to TCG would be
more productive than this whole discussion.


Thiemo




Re: [Qemu-devel] qemu on alpha

2008-02-26 Thread Thiemo Seufer
Gabriele Gorla wrote:
 It seems I cannot send email to the mailing list from
 my personal email account. Anyway... 
 Here is what I discovered debugging the failure.
 Is there anyone who can direct me to the next step?

Things have changed considerably in the last few weeks. The code
generator is now TCG, which works currently only on x86 and x86_64
hosts. So you would need to create a TCG version for Alpha. Have a
look at the tcg subdirectory in the CVS version.


Thiemo




Re: [Qemu-devel] [PATCH, RFC, WIP] TCG for Qemu target Sparc32/64

2008-02-21 Thread Thiemo Seufer
Blue Swirl wrote:
 The attached patch enables most TCG ops for Qemu Sparc32/64 target.
 Sparc32 softmmu and linux-user are OK, but Sparc64 and Sparc32plus
 targets do not work.
 
 Comments?
 
 It would be nice to get rid of T2 usage in std (also stda and
 casa/casxa) but I don't know how to pass a 64-bit value from legacy op
 to TCG stores and loads on a 32-bit target and host.

 Index: qemu/target-sparc/translate.c
 ===
 --- qemu.orig/target-sparc/translate.c2008-02-21 20:00:28.0 
 +
 +++ qemu/target-sparc/translate.c 2008-02-21 20:02:07.0 +
 @@ -44,6 +44,81 @@
  #define JUMP_PC 2 /* dynamic pc value which takes only two values
   according to jump_pc[T2] */
  
 +#ifdef TARGET_SPARC64
 +#define TCG_TYPE_TL TCG_TYPE_I64
 +#define tcg_gen_movi_tl tcg_gen_movi_i64
 +#define tcg_gen_mov_tl tcg_gen_mov_i64
 +#define tcg_gen_ld8u_tl tcg_gen_ld8u_i64
 +#define tcg_gen_ld8s_tl tcg_gen_ld8s_i64
 +#define tcg_gen_ld16u_tl tcg_gen_ld16u_i64
 +#define tcg_gen_ld16s_tl tcg_gen_ld16s_i64
 +#define tcg_gen_ld32u_tl tcg_gen_ld32u_i64
 +#define tcg_gen_ld32s_tl tcg_gen_ld32s_i64
 +#define tcg_gen_ld_tl tcg_gen_ld_i64
 +#define tcg_gen_st8_tl tcg_gen_st8_i64
 +#define tcg_gen_st16_tl tcg_gen_st16_i64
 +#define tcg_gen_st32_tl tcg_gen_st32_i64
 +#define tcg_gen_st_tl tcg_gen_st_i64
 +#define tcg_gen_add_tl tcg_gen_add_i64
 +#define tcg_gen_addi_tl tcg_gen_addi_i64
 +#define tcg_gen_sub_tl tcg_gen_sub_i64
 +#define tcg_gen_subi_tl tcg_gen_subi_i64
 +#define tcg_gen_and_tl tcg_gen_and_i64
 +#define tcg_gen_andi_tl tcg_gen_andi_i64
 +#define tcg_gen_or_tl tcg_gen_or_i64
 +#define tcg_gen_ori_tl tcg_gen_ori_i64
 +#define tcg_gen_xor_tl tcg_gen_xor_i64
 +#define tcg_gen_xori_tl tcg_gen_xori_i64
 +#define tcg_gen_shl_tl tcg_gen_shl_i64
 +#define tcg_gen_shli_tl tcg_gen_shli_i64
 +#define tcg_gen_shr_tl tcg_gen_shr_i64
 +#define tcg_gen_shri_tl tcg_gen_shri_i64
 +#define tcg_gen_sar_tl tcg_gen_sar_i64
 +#define tcg_gen_sari_tl tcg_gen_sari_i64
 +#else
 +#define TCG_TYPE_TL TCG_TYPE_I32
 +#define tcg_gen_movi_tl tcg_gen_movi_i32
 +#define tcg_gen_mov_tl tcg_gen_mov_i32
 +#define tcg_gen_ld8u_tl tcg_gen_ld8u_i32
 +#define tcg_gen_ld8s_tl tcg_gen_ld8s_i32
 +#define tcg_gen_ld16u_tl tcg_gen_ld16u_i32
 +#define tcg_gen_ld16s_tl tcg_gen_ld16s_i32
 +#define tcg_gen_ld32u_tl tcg_gen_ld_i32
 +#define tcg_gen_ld32s_tl tcg_gen_ld_i32
 +#define tcg_gen_ld_tl tcg_gen_ld_i32
 +#define tcg_gen_st8_tl tcg_gen_st8_i32
 +#define tcg_gen_st16_tl tcg_gen_st16_i32
 +#define tcg_gen_st32_tl tcg_gen_st_i32
 +#define tcg_gen_st_tl tcg_gen_st_i32
 +#define tcg_gen_add_tl tcg_gen_add_i32
 +#define tcg_gen_addi_tl tcg_gen_addi_i32
 +#define tcg_gen_sub_tl tcg_gen_sub_i32
 +#define tcg_gen_subi_tl tcg_gen_subi_i32
 +#define tcg_gen_and_tl tcg_gen_and_i32
 +#define tcg_gen_andi_tl tcg_gen_andi_i32
 +#define tcg_gen_or_tl tcg_gen_or_i32
 +#define tcg_gen_ori_tl tcg_gen_ori_i32
 +#define tcg_gen_xor_tl tcg_gen_xor_i32
 +#define tcg_gen_xori_tl tcg_gen_xori_i32
 +#define tcg_gen_shl_tl tcg_gen_shl_i32
 +#define tcg_gen_shli_tl tcg_gen_shli_i32
 +#define tcg_gen_shr_tl tcg_gen_shr_i32
 +#define tcg_gen_shri_tl tcg_gen_shri_i32
 +#define tcg_gen_sar_tl tcg_gen_sar_i32
 +#define tcg_gen_sari_tl tcg_gen_sari_i32
 +#endif

This whole lot should probably move to generic code (conditionalized on
TARGET_LONG_BITS), I have the same code in my MIPS prototype.


Thiemo




Re: [Qemu-devel] Patch for compiling with GCC 4

2008-02-18 Thread Thiemo Seufer
Alexander Graf wrote:

 On Feb 17, 2008, at 9:22 PM, Christian Roue wrote:

 Well, I somehow felt like it was a bit brutal and probably fixing the
 symptoms which is apparently the case.
 Looking more carefully, compile fails in :
 sh4-linux-user for function op_cmp_str_T0_T1
 gcc optimization leads to a ret followed by a last assignement with a 
 jump back.
 I guess dyngen hopes to find function epilogue as the last bytes.
 It's apparently the only function where it happens.

 I found that adding gcc option -fno-tree-dominator-opts for sh4
 target avoids this (I suppose) unwanted optimization.
 It may be a bit brutal again ( disabling too many optims or wrong  
 ones).
 May be the op_cmp_str_T0_T1 function can be rewritten to something
 that avoids this optimization.
 Am I on a better track ?

 This looks like the right approach to the symptoms. The real fix would 
 be to move the sh4 target to TCG,

The migration to tcg can be done gradually, fixing the immediate problem
shouldn't get too involved.

 but for the meantime I believe this is 
 the way to go. You can already find a lot of these unoptimization flags 
 autodetected in the configure script, so I guess that'd be the right 
 place for a patch.

I added those as workarounds, they should rather go away than expand to
cover even more flags.


Thiemo




[Qemu-devel] qemu gdbstub.c linux-user/main.c linux-user/sig...

2008-02-12 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/02/12 21:01:26

Modified files:
.  : gdbstub.c 
linux-user : main.c signal.c syscall.c 
linux-user/mips: target_signal.h 
linux-user/mips64: target_signal.h 
linux-user/mipsn32: target_signal.h 
target-mips: cpu.h op.c op_helper.c op_template.c 
 translate.c 

Log message:
Make MIPS MT implementation more cache friendly.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/gdbstub.c?cvsroot=qemur1=1.73r2=1.74
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemur1=1.160r2=1.161
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/signal.c?cvsroot=qemur1=1.55r2=1.56
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.163r2=1.164
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/mips/target_signal.h?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/mips64/target_signal.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/mipsn32/target_signal.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/cpu.h?cvsroot=qemur1=1.56r2=1.57
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op.c?cvsroot=qemur1=1.91r2=1.92
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemur1=1.77r2=1.78
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_template.c?cvsroot=qemur1=1.11r2=1.12
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.121r2=1.122




[Qemu-devel] qemu texi2pod.pl

2008-02-04 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/02/04 14:47:50

Modified files:
.  : texi2pod.pl 

Log message:
Update texi2pod.pl.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/texi2pod.pl?cvsroot=qemur1=1.2r2=1.3




Re: [Qemu-devel] @ref commands in man-page

2008-02-04 Thread Thiemo Seufer
Stuart Brady wrote:
 Hi,
 
 I've noticed that @ref{...} commands aren't handled properly in the 
 qemu man page -- you can see @ref{pcsys_monitor}, @ref{vnc_security} and
 @ref{pcsys_keys} in the output.  I'm not sure what the correct fix for 
 this is -- any thoughts?

texi2pod.pl fails to convert them properly, I commited an updated version.


Thiemo




Re: [Qemu-devel] QEMU and gdb

2008-01-31 Thread Thiemo Seufer
Jan Kiszka wrote:
 Pierre Ficheux wrote:
  Hi all,
  
  I would like to debug QEMU with gdb. When starting qemu (x86) inside
  gdb, SDL window never appears, it there a way to fix it ?
 
 I dare to say your local environment is borken, not qemu :-. At least
 its not a generic issue (works fine here: qemu-cvs, built against
 openSUSE 10.3 devel packages)

FWIW, I had a similiar problem with QEMU 0.9.0 on PPC/Linux host.
It went away at some point before 0.9.1, I don't remember more details.


Thiemo




Re: [Qemu-devel] [PATCH] CPPFLAGS+= in Makefile.target

2008-01-28 Thread Thiemo Seufer
Ronan Keryell wrote:
  On Fri, 25 Jan 2008 14:39:57 +, Paul Brook [EMAIL PROTECTED] said:
 
  Saying CPPFLAGS+= is much more convenient if for any reason the
  external build environment would like to pass unusual CPPFLAGS.
 
 Paul No. This doesn't do what you thing it does.  The most common way
 Paul of overriding these variables is to pass them on the
 Paul commandline, i.e. make CPPFLAGS=-blah. This overrides all
 Paul assignments to that variable including +=.
 
 By the way, it is possible to improve the GNU make weirdness :-) by
 playing with stuff like:
 
 override CFLAGS += -g
 
 Cf section 6.7 of the documentation.

IIRC the documentation warns against careless use of overrides.

 Hmmm... GNU make evolves more rapidly than my brain... :-)

It's only a decade old or so. :-)


Thiemo




Re: [Qemu-devel] qemu cpu-all.h cpu-exec.c qemu-doc.texi vl.c

2008-01-24 Thread Thiemo Seufer
Robert Reif wrote:
 Thiemo Seufer wrote:

 CVSROOT: /sources/qemu
 Module name: qemu
 Changes by:  Thiemo Seufer ths 08/01/23 19:01:12

 Modified files:
  .  : cpu-all.h cpu-exec.c qemu-doc.texi vl.c 

 Log message:
  Add option to disable TB cache, by Herve Poussineau.

 CVSWeb URLs:
 http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-all.h?cvsroot=qemur1=1.81r2=1.82
 http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemur1=1.130r2=1.131
 http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.182r2=1.183
 http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.400r2=1.401



  

 This gives the following compile errror:

 gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I..  
 -I/home/wine/qemu/target-i386 -I/home/wine/qemu -MMD -MP -DNEED_CPU_H  
 -I/home/wine/qemu/linux-user -I/home/wine/qemu/linux-user/i386  
 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE  
 -I/home/wine/qemu/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE  
 -I/home/wine/qemu/slirp-c -o cpu-exec.o /home/wine/qemu/cpu-exec.c
 /home/wine/qemu/cpu-exec.c: In function `cmp1':
 /home/wine/qemu/cpu-exec.c:143: unable to find a register to spill in  
 class `DIREG'

Exactly which version of gcc is this? It appears to work fine with at
least some gcc 3 versions.


Thiemo




[Qemu-devel] qemu cpu-all.h cpu-exec.c qemu-doc.texi vl.c

2008-01-23 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/23 19:01:12

Modified files:
.  : cpu-all.h cpu-exec.c qemu-doc.texi vl.c 

Log message:
Add option to disable TB cache, by Herve Poussineau.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-all.h?cvsroot=qemur1=1.81r2=1.82
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemur1=1.130r2=1.131
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.182r2=1.183
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.400r2=1.401




[Qemu-devel] qemu cocoa.m

2008-01-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/22 23:25:16

Modified files:
.  : cocoa.m 

Log message:
Core Graphics support (cocoa.m rewrite), by Mike Kronenberg.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cocoa.m?cvsroot=qemur1=1.14r2=1.15




Re: [Qemu-devel] qemu new is release, changelog ?

2008-01-21 Thread Thiemo Seufer
Jérôme PRIOR wrote:
 Hi, qemu 0.9.1 is released, but the changelog is complete ?
 
 On irc I read : use -disc ... so I launch my new qemu and I see lot of
 news options !
 
 Is there other corrections done, not writting on che ChangeLog on the
 site, like better usage of qcow2 ?

Only the most notable changes are mentioned in the ChangeLog.
It seems some of them (-like -drive) were forgotten.


Thiemo




Re: [Qemu-devel] [PATCH 2/5] Add a PowerPC branch detector

2008-01-17 Thread Thiemo Seufer
Alexander Graf wrote:
 PowerPCs have static instruction lengths, so writing an in-between brl
 detection is quite simple on this architecture. You are welcome to write
 something like this for any other platform, but if a compile doesn't
 trigger build errors on PowerPC, it shouldn't on other platforms either,
 as PowerPC has quite advanced branch instructions.
 
 This patch is not mandatory, makes debugging a lot easier though.

 Index: qemu-snapshot-2008-01-15_05/dyngen.c
 ===
 --- qemu-snapshot-2008-01-15_05.orig/dyngen.c
 +++ qemu-snapshot-2008-01-15_05/dyngen.c
 @@ -1488,6 +1488,16 @@ void gen_code(const char *name, host_ulo
  if (get32((uint32_t *)p) != 0x4e800020)
  error(blr expected at the end of %s, name);
  copy_size = p - p_start;
 +
 +/* blr check for inline returns */
 +
 +if(strstart(name, op_, NULL)  !strstart(name, op_exit, NULL)) {
 +for(p=p_start; p  p_end - 4; p+=4) {
 +if ((get32((uint32_t *)p)  0xfc00fff0) == 0x4c20) {
 +error(Inline blr detected in %s. Please append 
 FORCE_RET to the function., name);
 +}
 +}
 +}

Is check_ops.sh not enough for debugging micro-ops?


Thiemo




[Qemu-devel] qemu s390-dis.c

2008-01-17 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/17 13:56:59

Modified files:
.  : s390-dis.c 

Log message:
Revert licensing to GPLv2 or later, by Ulrich Hecht.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/s390-dis.c?cvsroot=qemur1=1.3r2=1.4




Re: [Qemu-devel] [PATCH 1/5] Fix i386 Host

2008-01-17 Thread Thiemo Seufer
Alexander Graf wrote:
[snip]
 Index: qemu/target-alpha/cpu.h
 ===
 --- qemu.orig/target-alpha/cpu.h
 +++ qemu/target-alpha/cpu.h
 @@ -275,6 +275,8 @@ struct CPUAlphaState {
   * used to emulate 64 bits target on 32 bits hosts
   */
  target_ulong t0, t1, t2;
 +#elif defined(GCC_BREAKS_T_REGISTER)
 +target_ulong t2;
  #endif
  /* */
  double ft0, ft1, ft2;
 Index: qemu/target-alpha/exec.h
 ===
 --- qemu.orig/target-alpha/exec.h
 +++ qemu/target-alpha/exec.h
 @@ -40,7 +40,11 @@ register struct CPUAlphaState *env asm(A
  
  register uint64_t T0 asm(AREG1);
  register uint64_t T1 asm(AREG2);
 +#ifdef GCC_BREAKS_T_REGISTER
 +#define T2 (env-t2)
 +#else
  register uint64_t T2 asm(AREG3);
 +#endif
  
  #endif /* TARGET_LONG_BITS  HOST_LONG_BITS */

Please make the #ifdef'ery in cpu.h look the same as in exec.h.

[snip]
 Index: qemu/target-sparc/exec.h
 ===
 --- qemu.orig/target-sparc/exec.h
 +++ qemu/target-sparc/exec.h
 @@ -32,10 +32,14 @@ register uint32_t T2 asm(AREG4);
  
  #else
  #define REGWPTR env-regwptr
 +#ifdef HOST_I386
 +#define T2 (env-t2)
 +#else
  register uint32_t T2 asm(AREG3);
 -#endif
  #define reg_T2
  #endif
 +#endif
 +#endif

Should also use GCC_BREAKS_T_REGISTER.


Thiemo




Re: [Qemu-devel] [PATCH 2/5] Add a PowerPC branch detector

2008-01-17 Thread Thiemo Seufer
Johannes Schindelin wrote:
 Hi,
 
 On Thu, 17 Jan 2008, Thiemo Seufer wrote:
 
  Alexander Graf wrote:
  [snip]
Is check_ops.sh not enough for debugging micro-ops?
   
   Basically it should be. PowerPC branching can be (regex) b..rl. Honestly
   I did not know about this script though and as it was not in the
   makefile, it did not tell me that something wrong was going on. This
   check costs near no time and has to be passed in order to build
   successfully.
   
   So either check_ops should be fixed (not only brl) and put into the
   Makefile.target or a check like this is good to have.
  
  Fixing check_ops is IMO preferable, OTOH I hope the whole problem goes
  away with the new code generator which is in the works.
 
 The code generated by that new code generator is substantially slower than 
 what we have right now, so I am not so enthusiastic.

I meant not qops but something Fabrice is working on. Which apparently has
about the same speed.


Thiemo




Re: [Qemu-devel] [PATCH 2/5] Add a PowerPC branch detector

2008-01-17 Thread Thiemo Seufer
Alexander Graf wrote:
[snip]
  Is check_ops.sh not enough for debugging micro-ops?
 
 Basically it should be. PowerPC branching can be (regex) b..rl. Honestly
 I did not know about this script though and as it was not in the
 makefile, it did not tell me that something wrong was going on. This
 check costs near no time and has to be passed in order to build
 successfully.
 
 So either check_ops should be fixed (not only brl) and put into the
 Makefile.target or a check like this is good to have.

Fixing check_ops is IMO preferable, OTOH I hope the whole problem goes
away with the new code generator which is in the works.


Thiemo




Re: [Qemu-devel] [patch] s390-dis.c license

2008-01-17 Thread Thiemo Seufer
Ricardo Almeida wrote:
  The problem is: you would have to ask every contributor whose code is
  still somewhere in the source code.  That is tedious, and takes time (I do
  not even think that an email would suffice).
 
 From what I read once in a slashdot post (it's worth what is worth),
 it suffices a public announcement of the change and a deadline
 (something around 60 to 90 days). The announce could be in QEmu
 homepage and on this list...

Slashdot isn't a reputable source for legal research. At least under
european law the explicit consent of each contributor is required.


Thiemo




Re: [Qemu-devel] [patch] s390-dis.c license

2008-01-17 Thread Thiemo Seufer
M. Warner Losh wrote:
 In message: [EMAIL PROTECTED]
 Bill C. Riemers [EMAIL PROTECTED] writes:
 : According to section 9 of the GPL, you would only have to contact
 : contributors for code which specified version 2 of the GPL and not later...
 
 I said exactly this in a previous message.  At one point I recalled
 seeing some code that was gpl2-only in the tree.  I can't find it now,
 so either I'm mistaken, or it has gone away.

JFTR, there are hw/ac97.c, hw/acpi.c and hw/pl031.c.


Thiemo




Re: [Qemu-devel] [patch] s390-dis.c license

2008-01-17 Thread Thiemo Seufer
andrzej zaborowski wrote:
 On 17/01/2008, Bill C. Riemers [EMAIL PROTECTED] wrote:
  According to section 9 of the GPL, you would only have to contact
  contributors for code which specified version 2 of the GPL and not later...
 
 In order to relicense all of qemu, yes, plus contributors of
 BSD-licensed code, of which there is much more than GPLv2-licensed.

Actually, re-licensing BSD code as GPL is legal (but not nice).

 But there's no reason to relicense qemu. AFAIK there's no problem
 distributing qemu if it contains GPLv3, GPLv2 and BSD code just as
 there was no problem until now with GPLv2 and BSD code. So I'm not
 sure what this change helps.

GPLv2 and GPLv3 have different provisions (e.g. the anti-DRM clause
in GPLv3). Both exclude further restrictions of any sort. This makes
them incompatible.


Thiemo




Re: [Qemu-devel] QEMU static build

2008-01-16 Thread Thiemo Seufer
Salil Bijur wrote:
[snip]
   But there are further linker errors with respect to libasound (for
   ALSA) and libSDL. This can be solved by adding -ldl, -lartsc, etc. for
   every dependency of these libs but would be very tedious, especially
   for libSDL. Any better solution?
  
 
  The question is if you really need SDL for your environment - if not you 
  can just add --disable-sdl and do the same with everything else e.g. alsa 
  that is missing but not really needed.
 
 
 I do need both alsa and SDL. Currently I'm getting the libraries from
 apt-get. Is it a good idea to rebuild them from sources?

Why would you need SDL for userland emulation, I wonder?


Thiemo




Re: [Qemu-devel] Qemu 0.9.1 stable branch

2008-01-10 Thread Thiemo Seufer
Johannes Schindelin wrote:
 Hi,
 
 On Wed, 9 Jan 2008, Lauro Ramos Venancio wrote:
 
  As discussed yesterday in the qemu irc channel, I've created a stable 
  branch for qemu 0.9.1. This branch will follow two basic rules:
  
  1. Only fixes will be applied.
  2. Patches will be applied only after they are applied on qemu head.
  
  The repository is
  http://repo.or.cz/w/qemu/qemu_0_9_1_stable.git
  
  Any help (indicating patches that should be applied on this branch) is 
  welcomed.
 
 Cool!
 
 My take on the patches which should be applied:
 
 53f31fe3(Mac OS X build fix, by Andreas Faerber)
 3b9b2ee4(Fix section switching buglet, by Edgar E. Iglesias)
 9aef6b4c(Fix segfault caused by fall through, by Juergen Lock)
 
 AFAICT 727da25d(Fix broken absoluteness check for cabs.d.*) is not 
 necessary, as it is for the MIPS target, which is not supposed to work 
 right now.  But I'm sure if I'm wrong, Thiemo will correct me right away.

Why do you believe it is not supposed to work? The Malta emulation
works just fine for me.


Thiemo




[Qemu-devel] qemu/target-mips exec.h

2008-01-09 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/09 12:03:22

Modified files:
target-mips: exec.h 

Log message:
Fix typo which broke MIPS32R2 64-bit FPU support.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/exec.h?cvsroot=qemur1=1.45r2=1.46




[Qemu-devel] qemu qemu-doc.texi

2008-01-09 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/09 12:14:45

Modified files:
.  : qemu-doc.texi 

Log message:
qemu manpage: describe arguments of usbdevice option, by Aurelien Jarno.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.175r2=1.176




[Qemu-devel] qemu/linux-user main.c

2008-01-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/08 14:39:44

Modified files:
linux-user : main.c 

Log message:
Fix section switching buglet, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemur1=1.159r2=1.160




Re: [Qemu-devel] [RFC] ide: multi-profile DVD-ROM support v2.1

2008-01-08 Thread Thiemo Seufer
Carlo Marcelo Arenas Belon wrote:
 This is version 2.1 of the patch to re-implement the GET CONFIGURATION
 MMC-6 command as used by the IDE emulation to match the published SPEC
 and that was originally published in :
 
   http://lists.gnu.org/archive/html/qemu-devel/2007-11/msg00849.html
 
 Important changes from the previous patches :
 
 * Use a 99min CD size as the bigger possible sector count for CD profile
 * Don't recalculate the number of sectors
 * Use an inline helper function to set the profiles in a cleaner way
 * Avoid extra computations from constants except for #define values
 * Reduce the use of magic numbers and use defines when possible
 
 Remaining issues that will need to be addressed in future versions :
 
 * MMC-6 also applies to SCSI devices and so the definitions might need
   to be moved to a common header when that code is developed.
 * The use of the buffer might not be safe for unaligned access in some
   architectures, but the same applies to all other commands that are
   currently using the io_buffer directly as the hardware does.
 * The heuristic used tries to guess the kind of media from the size of
   it and is not that reliable for really small DVDs that could fit in a
   CD.
 * The response uses the io_buffer and is therefore limited to the size
   of it (not really a problem now when the maximum response size will
   be 20 bytes) but could be a problem when more features/profiles are
   implemented.
 * When using the host_device driver media changes could go unnoticed
   and result in the wrong profile being selected due to limitations
   in the current implementation of the ide emulation.

Please add those caveats as comments to the source code.


Thiemo




Re: [Qemu-devel] [PATCH 9/9] Bochsbios patch

2008-01-08 Thread Thiemo Seufer
Alexander Graf wrote:
 Several ACPI entries were missing from the bios and the new controllers
 need to be initialized properly.
 Furthermore COM2 is not being emulated, so Mac OS X broke trying to
 initialize it.
 The HPET ACPI table parts are optional.
 
 This patch is against the bochsbios. Should this rather be sent to the
 bochs ML?

Yes please. (Maybe you want to keep this list Cc'ed.)


Thiemo




[Qemu-devel] qemu/target-mips op_helper.c

2008-01-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/08 18:11:09

Modified files:
target-mips: op_helper.c 

Log message:
Fix broken absoluteness check for cabs.d.*.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemur1=1.76r2=1.77




[Qemu-devel] qemu vl.c

2008-01-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/08 19:32:16

Modified files:
.  : vl.c 

Log message:
Fix segfault caused by fall through, by Juergen Lock.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.394r2=1.395




[Qemu-devel] qemu configure

2008-01-07 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/08 00:00:20

Modified files:
.  : configure 

Log message:
Mac OS X build fix, by Andreas Faerber.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemur1=1.178r2=1.179




Re: [Qemu-devel] [PATCH] ensure all invocations to bdrv_{read, write} use (uint8_t *) for its third parameter

2008-01-04 Thread Thiemo Seufer
Carlo Marcelo Arenas Belon wrote:
 Trivial fix that ensures that all buffers used for bdrv_read or bdrv_write
 are from an array of the uint8_t type

Do we have a host where this actually makes a difference?


Thiemo

 ---
 Index: block-vvfat.c
 ===
 RCS file: /sources/qemu/qemu/block-vvfat.c,v
 retrieving revision 1.16
 diff -u -p -r1.16 block-vvfat.c
 --- block-vvfat.c 24 Dec 2007 13:26:04 -  1.16
 +++ block-vvfat.c 4 Jan 2008 07:57:20 -
 @@ -340,7 +340,7 @@ typedef struct BDRVVVFATState {
  int current_fd;
  mapping_t* current_mapping;
  unsigned char* cluster; /* points to current cluster */
 -unsigned char* cluster_buffer; /* points to a buffer to hold temp data */
 +uint8_t* cluster_buffer; /* points to a buffer to hold temp data */
  unsigned int current_cluster;
  
  /* write support */
 Index: block.c
 ===
 RCS file: /sources/qemu/qemu/block.c,v
 retrieving revision 1.53
 diff -u -p -r1.53 block.c
 --- block.c   24 Dec 2007 16:10:43 -  1.53
 +++ block.c   4 Jan 2008 07:57:21 -
 @@ -459,7 +459,7 @@ int bdrv_commit(BlockDriverState *bs)
  BlockDriver *drv = bs-drv;
  int64_t i, total_sectors;
  int n, j;
 -unsigned char sector[512];
 +uint8_t sector[512];
  
  if (!drv)
  return -ENOMEDIUM;
 
 
 




Re: [Qemu-devel] [PATCH] ensure all invocations to bdrv_{read, write} use (uint8_t *) for its third parameter

2008-01-04 Thread Thiemo Seufer
Andreas Färber wrote:

 Am 04.01.2008 um 15:00 schrieb Samuel Thibault:

 Andreas Färber, le Fri 04 Jan 2008 14:41:29 +0100, a écrit :

 Am 04.01.2008 um 14:20 schrieb Thiemo Seufer:

 Carlo Marcelo Arenas Belon wrote:
 Trivial fix that ensures that all buffers used for bdrv_read or
 bdrv_write
 are from an array of the uint8_t type

 Do we have a host where this actually makes a difference?

 I believe Perl makes sizeof(char) checks, so there likely is some
 platform where sizeof(char)  1.

 The C standard says

 `When applied to an operand that has type char, unsigned char, or signed
 char, (or a qualified version thereof) the result is 1.'

AFAIR this is C99 ...

 The standard maybe. But Win64 violates the C standards, too. ;)

 According to our department's ANSI C course, the only consistent rule is
 sizeof(char) = sizeof(short) = sizeof(int) = sizeof(long)
 without any concrete numbers.

... and this is C89.


Thiemo




[Qemu-devel] qemu/target-mips helper.c

2008-01-04 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/04 17:52:57

Modified files:
target-mips: helper.c 

Log message:
Handle some more exception types.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/helper.c?cvsroot=qemur1=1.62r2=1.63




[Qemu-devel] qemu Makefile.target hw/mips_malta.c hw/pflash_...

2008-01-04 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/04 19:11:32

Modified files:
.  : Makefile.target 
hw : mips_malta.c pflash_cfi01.c 

Log message:
Malta flash support.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemur1=1.236r2=1.237
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_malta.c?cvsroot=qemur1=1.53r2=1.54
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pflash_cfi01.c?cvsroot=qemur1=1.4r2=1.5




[Qemu-devel] qemu/target-mips helper.c

2008-01-03 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 08/01/03 21:26:24

Modified files:
target-mips: helper.c 

Log message:
Fix exception debug output.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/helper.c?cvsroot=qemur1=1.61r2=1.62




[Qemu-devel] qemu/target-mips cpu.h exec.h translate.c

2007-12-30 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/30 15:36:58

Modified files:
target-mips: cpu.h exec.h translate.c 

Log message:
MIPS COP1X (and related) instructions, by Richard Sandiford.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/cpu.h?cvsroot=qemur1=1.55r2=1.56
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/exec.h?cvsroot=qemur1=1.44r2=1.45
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.119r2=1.120




Re: [Qemu-devel] MIPS COP1X (and related) instructions

2007-12-29 Thread Thiemo Seufer
Richard Sandiford wrote:
 Thiemo Seufer [EMAIL PROTECTED] writes:
  Richard Sandiford wrote:
  All MIPS COP1X instructions currently require the FPU to be in 64-bit
  mode.  My understanding is that this is too restrictive, and that the
  base conditions are different for different revisions of the ISA:
  
MIPS IV:
  COP1X instructions are available when the XX (CU3) bit of the
  status register is set.  This bit can be set independently of
  UX and FR, and controls the core MIPS IV instructions as well
  as the FPU ones.
 
  This part is, sadly, not fully correct. It depends on the CPU
  implementation what effect, the CU3 bit has. IIRC it behaves on some
  CPUs as you describe, while it is a nop on others.
 
 Sorry.  I'll take your word for it.
 
  (I don't know offhand which CPU did what there.)
 
 (FWIW, the r10k and VR5500 do as described, and I'm pretty sure the
 RM7000 and RM9000 did too.)
 
  Looks reasonable to me, apart from that one misassumption.
 
 What should the patch do instead for MIPS IV?  Enable them unconditionally?

Given that it is currently theoretical, as the only MIPS IV CPU
supported is the VR5432: Add a comment to the MIPS IV test that it is
too restrictive for some CPUs.


Thiemo




[Qemu-devel] qemu/target-mips translate_init.c

2007-12-28 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/28 12:35:05

Modified files:
target-mips: translate_init.c 

Log message:
Set FCR0.F64 for MIPS64R2-generic, by Richard Sandiford.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.35r2=1.36




Re: [Qemu-devel] MIPS COP1X (and related) instructions

2007-12-28 Thread Thiemo Seufer
Richard Sandiford wrote:
 All MIPS COP1X instructions currently require the FPU to be in 64-bit
 mode.  My understanding is that this is too restrictive, and that the
 base conditions are different for different revisions of the ISA:
 
   MIPS IV:
 COP1X instructions are available when the XX (CU3) bit of the
 status register is set.  This bit can be set independently of
 UX and FR, and controls the core MIPS IV instructions as well
 as the FPU ones.

This part is, sadly, not fully correct. It depends on the CPU
implementation what effect, the CU3 bit has. IIRC it behaves on some
CPUs as you describe, while it is a nop on others.

(I don't know offhand which CPU did what there.)

   Revision 1 of MIPS64:
 COP1X instructions are available when 64-bit operations (as opposed
 to 64-bit floating-point operations) are enabled.
 
   Revision 2 of MIPS32 and MIPS64:
 COP1X instructions are available when a 64-bit FPU is present
 (i.e. if FCR0.F64 is set).
 
 The same conditions apply to some non-COP1X instructions too, such as
 RECIP.fmt and RSQRT.fmt.  Of course, some of the affected instructions
 really do require 64-bit mode, such as the paired-single ones.

This part is AFAIK correct.

 The attached patch is one attempt to fix this.  It's wrong if the
 description above is wrong.
 
 Because the conditions are different for different ISAs, I thought it
 was worth adding a MIPS_HFLAG_* to say whether COP1X (and related)
 instructions are available.  This flag is directly associated with
 the nabla symbol in the MIPS32 and MIPS64 opcode tables.
 
 Any instructions that requires FR to be set (as enforced by
 check_cp1_64bitmode) is also affected by the nabla behaviour,
 so I've made check_cp1_64bitmode depend on both flags.
 
 I've added nabla checks for RECIP.S and RSQRT.S.  My understanding
 is that the *.D forms are unpredictable when FR is clear, and that
 QEMU generally uses check_cp1_64bitmode for such instructions.
 I've therefore replaced the existing even register checks with
 check_cp1_64bitmode, rather than add a separate nabla test.
 
 I've replaced the single check_cp1_64bitmode calls in gen_flt3_ldst
 gen_flt3_arith with case-by-case checks.  I've also made CABS.[SD]
 use nabla checks instead of check_cp1_64bitmode and added nabla
 checks to BC1ANY[24].

Looks reasonable to me, apart from that one misassumption.


Thiemo




[Qemu-devel] qemu/target-mips cpu.h helper.c

2007-12-26 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/26 19:34:03

Modified files:
target-mips: cpu.h helper.c 

Log message:
De-cruft exception definitions, and implement nicer debug output.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/cpu.h?cvsroot=qemur1=1.54r2=1.55
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/helper.c?cvsroot=qemur1=1.60r2=1.61




[Qemu-devel] qemu/target-mips translate_init.c

2007-12-25 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/25 17:32:46

Modified files:
target-mips: translate_init.c 

Log message:
5K and 20K are Release 1 CPUs.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.33r2=1.34




[Qemu-devel] qemu/target-mips exec.h mips-defs.h op.c op_hel...

2007-12-25 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/25 20:46:56

Modified files:
target-mips: exec.h mips-defs.h op.c op_helper.c translate.c 
 translate_init.c 

Log message:
Support for VR5432, and some of its special instructions. Original patch
by Dirk Behme.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/exec.h?cvsroot=qemur1=1.43r2=1.44
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/mips-defs.h?cvsroot=qemur1=1.20r2=1.21
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op.c?cvsroot=qemur1=1.89r2=1.90
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemur1=1.75r2=1.76
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.118r2=1.119
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.34r2=1.35




[Qemu-devel] qemu/fpu softfloat-specialize.h

2007-12-25 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/25 23:59:51

Modified files:
fpu: softfloat-specialize.h 

Log message:
Assortment of soft-float fixes, by Aurelien Jarno.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/fpu/softfloat-specialize.h?cvsroot=qemur1=1.5r2=1.6




[Qemu-devel] qemu/target-mips translate_init.c

2007-12-24 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/24 14:33:57

Modified files:
target-mips: translate_init.c 

Log message:
Fix CCRes value for 20Kc.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.31r2=1.32




[Qemu-devel] qemu Makefile block-raw-posix.c block.c block.h...

2007-12-24 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/24 16:10:43

Modified files:
.  : Makefile block-raw-posix.c block.c block.h 
 block_int.h 
hw : esp.c lsi53c895a.c scsi-disk.h 

Log message:
Real SCSI device passthrough (v4), by Laurent Vivier.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile?cvsroot=qemur1=1.138r2=1.139
http://cvs.savannah.gnu.org/viewcvs/qemu/block-raw-posix.c?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/block.c?cvsroot=qemur1=1.52r2=1.53
http://cvs.savannah.gnu.org/viewcvs/qemu/block.h?cvsroot=qemur1=1.5r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemu/block_int.h?cvsroot=qemur1=1.15r2=1.16
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/esp.c?cvsroot=qemur1=1.31r2=1.32
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/lsi53c895a.c?cvsroot=qemur1=1.13r2=1.14
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-disk.h?cvsroot=qemur1=1.2r2=1.3




[Qemu-devel] qemu/hw scsi-generic.c

2007-12-24 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/24 16:11:51

Added files:
hw : scsi-generic.c 

Log message:
scsi-generic implemnentation, missing in last commit.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-generic.c?cvsroot=qemurev=1.1




Re: [Qemu-devel] qemu on alpha

2007-12-24 Thread Thiemo Seufer
Gabriele Gorla wrote:
 Hello,
 I recently downloaded qemu-0.9.0 and tried to compile
 it on alpha.
 I was not able to get any target to compile.
 
 I searched the mailing list but I was not able to find
 any recent information on the alpha host status.
 
 I am using gcc-3.3.6 on debian stable with upgraded
 kernel
 2.6.22
 I have tried with gcc-3.4 and 4.1 with similar
 results.
 
 I patched the line:
 #if defined (__x86_64__) || defined(__ia64) ||
 defined(__alpha__)
 of file dyngen-exec.h to add the alpha to the 64-bit
 architectures to prevent redefinition of int64_t and
 uint64_t 
 
 beside tons of warning about casting pointers to int
 of different sizes I get the following two fatal
 errors:
 
 qemu-0.9.0/target-i386/ops_template.h:278: warning:
 implicit declaration of function `GOTO_LABEL_PARAM'
 
 qemu-0.9.0/target-i386/translate.c:1898: error: too
 many arguments to function `gen_op_jnz_T0_label'
 qemu-0.9.0/target-i386/translate.c:1900: error: too
 many arguments to function `gen_op_jmp_label'
 
 in the translate.c file the function is called with:
 gen_op_jmp_label(l2);
 
 but in gen-op.h it is defined as:
 static inline void gen_op_jmp_label(void)
 {
 *gen_opc_ptr++ = INDEX_op_jmp_label;
 }
 
 same for gen_op_jnz_T0_label
 
 
 for GOTO_LABEL_PARAM the definition is completely
 missing from dyngen-exec.h (it is there for all other
 host CPUs except m68k)
 
 Unfortunately my understanding of the code is not
 sufficient to do anything useful at this point.
 I would really appreciate if someone could give me a
 hint.

Current CVS has probably less broken alpha host support. Still, it is
unlikely to work out of the box, fixing this requires some knowledge
of alpha assembler. (E.g. for implementing a GOTO_LABEL_PARAM for alpha.)


Thiemo




Re: [Qemu-devel] [PATCH 1/2] Real SCSI device passthrough (v5)

2007-12-24 Thread Thiemo Seufer
Laurent Vivier wrote:
 
 This patch allows to connect the virtual SCSI interface of Qemu to
 a real SCSI device of the host.
 Using the devices /dev/sg, it allows to send the SCSI commands from the
 virtual SCSI interface to the real device.
 
 It has been tested with a SATA disk and an ATA CD burner with ide-scsi module
 and wodim to burn a CD-RW.
 
 v5 allows to read movies from a DVD. It has been tested with PowerDVD and XP 
 with unprotected DVD.

Please update to current CVS, I committed v4 before I saw this one.


Thiemo




[Qemu-devel] qemu/target-mips cpu.h helper.c op.c translate_...

2007-12-24 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/25 03:13:56

Modified files:
target-mips: cpu.h helper.c op.c translate_init.c 

Log message:
Improved PABITS handling, and config register fixes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/cpu.h?cvsroot=qemur1=1.53r2=1.54
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/helper.c?cvsroot=qemur1=1.59r2=1.60
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op.c?cvsroot=qemur1=1.88r2=1.89
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.32r2=1.33




[Qemu-devel] qemu/target-mips op_helper.c

2007-12-24 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/25 03:18:20

Modified files:
target-mips: op_helper.c 

Log message:
Avoid host FPE for overflowing division on MIPS, by Richard Sandiford.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemur1=1.74r2=1.75




[Qemu-devel] qemu readline.c

2007-12-17 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 20:31:43

Modified files:
.  : readline.c 

Log message:
Handle history additions properly, by Andreas Schwab.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/readline.c?cvsroot=qemur1=1.7r2=1.8




[Qemu-devel] qemu host-utils.h

2007-12-17 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/18 01:58:05

Modified files:
.  : host-utils.h 

Log message:
Code formatting.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/host-utils.h?cvsroot=qemur1=1.4r2=1.5




[Qemu-devel] qemu/linux-user syscall.c

2007-12-17 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/18 02:39:59

Modified files:
linux-user : syscall.c 

Log message:
Correct errno return for getsockopt(), by Thayne Harbaugh.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.159r2=1.160




[Qemu-devel] qemu/linux-user syscall.c

2007-12-17 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/18 02:41:04

Modified files:
linux-user : syscall.c 

Log message:
Correct errno return for setsockopt(), by Thayne Harbaugh.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.160r2=1.161




[Qemu-devel] qemu vl.c hw/acpi.c hw/apic.c hw/cirrus_vga.c h...

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/16 23:41:11

Modified files:
.  : vl.c 
hw : acpi.c apic.c cirrus_vga.c dma.c i8254.c ide.c 
 mc146818rtc.c pcnet.c ps2.c rtl8139.c sb16.c 
 vga.c vmware_vga.c 

Log message:
qemu_put signedness fixes, by Andre Przywara.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.384r2=1.385
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/acpi.c?cvsroot=qemur1=1.17r2=1.18
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/apic.c?cvsroot=qemur1=1.18r2=1.19
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/cirrus_vga.c?cvsroot=qemur1=1.29r2=1.30
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/dma.c?cvsroot=qemur1=1.16r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/i8254.c?cvsroot=qemur1=1.12r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ide.c?cvsroot=qemur1=1.75r2=1.76
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mc146818rtc.c?cvsroot=qemur1=1.15r2=1.16
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pcnet.c?cvsroot=qemur1=1.20r2=1.21
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ps2.c?cvsroot=qemur1=1.9r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/rtl8139.c?cvsroot=qemur1=1.17r2=1.18
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sb16.c?cvsroot=qemur1=1.24r2=1.25
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/vga.c?cvsroot=qemur1=1.58r2=1.59
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/vmware_vga.c?cvsroot=qemur1=1.4r2=1.5




[Qemu-devel] qemu block.c block.h qemu-img.c hw/fdc.c hw/ide...

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 01:35:20

Modified files:
.  : block.c block.h qemu-img.c 
hw : fdc.c ide.c scsi-disk.c 

Log message:
Fix bdrv_get_geometry to return uint64_t, by Andre Przywara.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/block.c?cvsroot=qemur1=1.50r2=1.51
http://cvs.savannah.gnu.org/viewcvs/qemu/block.h?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-img.c?cvsroot=qemur1=1.25r2=1.26
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/fdc.c?cvsroot=qemur1=1.34r2=1.35
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ide.c?cvsroot=qemur1=1.76r2=1.77
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-disk.c?cvsroot=qemur1=1.17r2=1.18




[Qemu-devel] qemu aes.c monitor.c vl.c hw/adlib.c hw/ide.c h...

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 03:15:52

Modified files:
.  : aes.c monitor.c vl.c 
hw : adlib.c ide.c pcnet.c 

Log message:
Fix miscellaneous minor things, by Andre Przywara.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/aes.c?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/monitor.c?cvsroot=qemur1=1.92r2=1.93
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.385r2=1.386
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/adlib.c?cvsroot=qemur1=1.10r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ide.c?cvsroot=qemur1=1.77r2=1.78
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pcnet.c?cvsroot=qemur1=1.21r2=1.22




Re: [Qemu-devel] floppy disk

2007-12-16 Thread Thiemo Seufer
Benjamin David Lunt wrote:
 Hi everyone,

 I only recently have started to use QEmu due to a request
 on the alt.os.development usenet group.  My OS was not working
 on QEmu due to it would not recognize the (emulated) floppy.

 After a lot of testing, QEmu does not return the correct
 values for a Sense Interrupt command and the Status 0 byte.

 After looking over fdc.cc, someone has placed a hack write
 where it should return these values.

 I am just wondering if this hack is temporary or if it will
 be committed as code.

That's the current state of the code in CVS.

 For a more detailed description, QEmu returns the value
 0x20 while Bochs, VMware, and real hardware return the
 values 0xC0, 0xC1, 0xC2, and 0xC3, for each drive 1 - 4
 respectively.

 I am asking for more information on this subject.

The interrupt status handling in QEMU's FDC emulation looks bogus
to me, patches to fix it are welcome. :-)


Thiemo




[Qemu-devel] qemu qemu-doc.texi

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 03:38:27

Modified files:
.  : qemu-doc.texi 

Log message:
Add closing table tag.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.170r2=1.171




[Qemu-devel] qemu qemu-doc.texi

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 03:47:56

Modified files:
.  : qemu-doc.texi 

Log message:
Update MIPS specific documentation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.171r2=1.172




[Qemu-devel] qemu/target-mips TODO

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 03:50:28

Modified files:
target-mips: TODO 

Log message:
Update MIPS TODO. The mipsnet failure is caused by a kernel bug.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/TODO?cvsroot=qemur1=1.17r2=1.18




[Qemu-devel] qemu/target-mips TODO

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 03:53:42

Modified files:
target-mips: TODO 

Log message:
MIPS TODO: mention unimplemented system controllers.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/TODO?cvsroot=qemur1=1.18r2=1.19




[Qemu-devel] qemu exec.c kqemu.c osdep.c qemu-common.h qemu-...

2007-12-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/17 04:42:29

Modified files:
.  : exec.c kqemu.c osdep.c qemu-common.h qemu-img.c 
 qemu_socket.h tap-win32.c vl.c 
audio  : dsoundaudio.c 
slirp  : slirp.h 

Log message:
Use WIN32_LEAN_AND_MEAN, by Stefan Weil.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/exec.c?cvsroot=qemur1=1.119r2=1.120
http://cvs.savannah.gnu.org/viewcvs/qemu/kqemu.c?cvsroot=qemur1=1.19r2=1.20
http://cvs.savannah.gnu.org/viewcvs/qemu/osdep.c?cvsroot=qemur1=1.20r2=1.21
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-common.h?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-img.c?cvsroot=qemur1=1.26r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu_socket.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/tap-win32.c?cvsroot=qemur1=1.7r2=1.8
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.387r2=1.388
http://cvs.savannah.gnu.org/viewcvs/qemu/audio/dsoundaudio.c?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/slirp/slirp.h?cvsroot=qemur1=1.14r2=1.15




Re: [Qemu-devel] [PATCH] Capture network traffic to a tcpdump file - updated

2007-12-10 Thread Thiemo Seufer
Anthony Liguori wrote:
 Balazs Attila-Mihaly (Cd-MaN) wrote:
 Here goes v0.2 for my patch :-)
 Changes
 - now the option is a separate command line switch:
   -net capture,vlan=2,file=test.pcap
   

 Is it really necessary/useful to specify this on the command line since it 
 can be controlled from the monitor?

FWIW, I prefer to have symmetry between monitor and command line
options (to help those use cases the programmer didn't think of).


Thiemo




[Qemu-devel] qemu/hw piix_pci.c

2007-12-09 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 23:02:39

Modified files:
hw : piix_pci.c 

Log message:
Remove leftover support for 82371FB (Step A1), by Carlo Marcelo Arenas
Belon.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/piix_pci.c?cvsroot=qemur1=1.14r2=1.15




[Qemu-devel] qemu/linux-user syscall.c

2007-12-09 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 23:12:56

Modified files:
linux-user : syscall.c 

Log message:
Fix execve argc/envc counting, by Takashi Yoshii.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.156r2=1.157




Re: [Qemu-devel] [PATCH 0/2] Real SCSI device passthrough

2007-12-09 Thread Thiemo Seufer
Laurent Vivier wrote:
 
 This series of patches allows to connect real SCSI device to the virtual
 SCSI controller of Qemu using the SCSI Generic interface (/dev/sg)
 
 for instance:
 
 qemu -hda my_disk.qcow2 -drive file=/dev/sg3,if=scsi

Please update also the documentation to mention this example.

 [PATCH 1/2] SCSI cleanup
 
 This patch reworks the interface between SCSI controller and SCSI device.
 
 [PATCH 2/2] Real SCSI device passthrough (v3)
 
 This patch allows to connect the virtual SCSI interface of Qemu to
 a real SCSI device of the host.
 
 Laurent
 
 
 
 




[Qemu-devel] qemu/hw esp.c lsi53c895a.c scsi-disk.c scsi-dis...

2007-12-09 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/10 02:58:34

Modified files:
hw : esp.c lsi53c895a.c scsi-disk.c scsi-disk.h 
 usb-msd.c 

Log message:
SCSI cleanup, by Laurent Vivier.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/esp.c?cvsroot=qemur1=1.30r2=1.31
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/lsi53c895a.c?cvsroot=qemur1=1.12r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-disk.c?cvsroot=qemur1=1.16r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-disk.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/usb-msd.c?cvsroot=qemur1=1.12r2=1.13




[Qemu-devel] qemu cpu-defs.h exec.c target-arm/helper.c targ...

2007-12-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 02:22:58

Modified files:
.  : cpu-defs.h exec.c 
target-arm : helper.c 
target-i386: helper2.c 
target-m68k: helper.c 
target-mips: translate.c 
target-ppc : helper.c 
target-sparc   : translate.c 

Log message:
Handle cpu_model in copy_cpu(), by Kirill A. Shutemov.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-defs.h?cvsroot=qemur1=1.27r2=1.28
http://cvs.savannah.gnu.org/viewcvs/qemu/exec.c?cvsroot=qemur1=1.116r2=1.117
http://cvs.savannah.gnu.org/viewcvs/qemu/target-arm/helper.c?cvsroot=qemur1=1.28r2=1.29
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/helper2.c?cvsroot=qemur1=1.58r2=1.59
http://cvs.savannah.gnu.org/viewcvs/qemu/target-m68k/helper.c?cvsroot=qemur1=1.11r2=1.12
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.116r2=1.117
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/helper.c?cvsroot=qemur1=1.98r2=1.99
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/translate.c?cvsroot=qemur1=1.84r2=1.85




[Qemu-devel] qemu/linux-user syscall.c

2007-12-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 02:37:05

Modified files:
linux-user : syscall.c 

Log message:
copy_{to,from}_user_timeval() update, by Thayne Harbaugh.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.155r2=1.156




[Qemu-devel] qemu/target-i386 helper2.c

2007-12-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 02:43:19

Modified files:
target-i386: helper2.c 

Log message:
Fix spelling typo, by Dan Kenigsberg.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/helper2.c?cvsroot=qemur1=1.59r2=1.60




Re: [Qemu-devel] [PATCH] Allow setting the vendor_id string with x86's -cpu option

2007-12-08 Thread Thiemo Seufer
Dan Kenigsberg wrote:
 Having AuthenticAMD hard-coded is nice, but allowing the user to impersonate
 whatever CPU she wants is even nicer.
 
 Also, an English typo (due to me) is corrected.
 
 Dan.
 
 --- a/target-i386/helper2.c
 +++ b/target-i386/helper2.c
 @@ -254,8 +254,17 @@ static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, 
 const char *cpu_model)
  goto error;
  }
  x86_cpu_def-stepping = stepping;
 +}  else if (!strcmp(featurestr, vendor)) {
 +if (strlen(val) != 12) {
 +fprintf(stderr, vendor string must be 12 chars long\n);
 +x86_cpu_def = 0;
 +goto error;
 +}
 +x86_cpu_def-vendor1 = *(uint32_t *)val;
 +x86_cpu_def-vendor2 = *(uint32_t *)(val + 4);
 +x86_cpu_def-vendor3 = *(uint32_t *)(val + 8);

Endianness bug.


Thiemo




[Qemu-devel] qemu/hw ide.c

2007-12-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 05:01:53

Modified files:
hw : ide.c 

Log message:
Fix Win98SE MyComputer regression, by Ben Taylor.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ide.c?cvsroot=qemur1=1.72r2=1.73




[Qemu-devel] qemu Makefile configure

2007-12-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/09 05:10:03

Modified files:
.  : Makefile configure 

Log message:
SH4 big endian configuration, by Tomoyoshi Asano.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile?cvsroot=qemur1=1.136r2=1.137
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemur1=1.176r2=1.177




[Qemu-devel] qemu/hw mips_r4k.c

2007-12-06 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/07 01:13:38

Modified files:
hw : mips_r4k.c 

Log message:
Remove broken ds1225y init, it is useless on this machine anyway.
Spotted by Atsushi Nemoto.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_r4k.c?cvsroot=qemur1=1.56r2=1.57




[Qemu-devel] qemu monitor.c

2007-12-03 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/03 17:05:38

Modified files:
.  : monitor.c 

Log message:
The profiler need qemu-timer.h

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/monitor.c?cvsroot=qemur1=1.90r2=1.91




Re: [Qemu-devel] [RFC] Ensure SIGALRM causes a cpu_loop_exit

2007-12-02 Thread Thiemo Seufer
andrzej zaborowski wrote:
 On 24/11/2007, Paul Brook [EMAIL PROTECTED] wrote:
   There is a chance that when using unix or dynticks clock, the
   signal arrives when no cpu is executing.
 
 How about this version, this one touches vl.c only:

Any reason why this isn't in CVS?


Thiemo

 --- a/vl.c
 +++ b/vl.c
 @@ -236,6 +236,10 @@ const char *prom_envs[MAX_PROM_ENVS];
  struct bt_piconet_s *local_piconet;
  struct modem_ops_s modem_ops;
 
 +static CPUState *cur_cpu;
 +static CPUState *next_cpu;
 +static int event_pending;
 +
  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
  /***/
 @@ -1183,16 +1187,16 @@ static void host_alarm_handler(int host_signum)
  struct qemu_alarm_win32 *data = ((struct
 qemu_alarm_timer*)dwUser)-priv;
  SetEvent(data-host_alarm);
  #endif
 -CPUState *env = cpu_single_env;
 -if (env) {
 -/* stop the currently executing cpu because a timer occured */
 -cpu_interrupt(env, CPU_INTERRUPT_EXIT);
 +CPUState *env = next_cpu;
 +
 +/* stop the currently executing cpu because a timer occured */
 +cpu_interrupt(env, CPU_INTERRUPT_EXIT);
  #ifdef USE_KQEMU
 -if (env-kqemu_enabled) {
 -kqemu_cpu_interrupt(env);
 -}
 -#endif
 +if (env-kqemu_enabled) {
 +kqemu_cpu_interrupt(env);
  }
 +#endif
 +event_pending = 1;
  }
  }
 
 @@ -7168,8 +7172,6 @@ void main_loop_wait(int timeout)
 
  }
 
 -static CPUState *cur_cpu;
 -
  static int main_loop(void)
  {
  int ret, timeout;
 @@ -7179,15 +7181,13 @@ static int main_loop(void)
  CPUState *env;
 
  cur_cpu = first_cpu;
 +next_cpu = cur_cpu-next_cpu ?: first_cpu;
  for(;;) {
  if (vm_running) {
 
 -env = cur_cpu;
  for(;;) {
  /* get next cpu */
 -env = env-next_cpu;
 -if (!env)
 -env = first_cpu;
 +env = next_cpu;
  #ifdef CONFIG_PROFILER
  ti = profile_getclock();
  #endif
 @@ -7195,6 +7195,12 @@ static int main_loop(void)
  #ifdef CONFIG_PROFILER
  qemu_time += profile_getclock() - ti;
  #endif
 +next_cpu = env-next_cpu ?: first_cpu;
 +if (event_pending) {
 +ret = EXCP_INTERRUPT;
 +event_pending = 0;
 +break;
 +}
  if (ret == EXCP_HLT) {
  /* Give the next CPU a chance to run.  */
  cur_cpu = env;
 
 
 




[Qemu-devel] qemu/hw adlib.c

2007-12-02 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 17:17:46

Modified files:
hw : adlib.c 

Log message:
Add missing include, by Sylvain Petreolle.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/adlib.c?cvsroot=qemur1=1.8r2=1.9




Re: [Qemu-devel] qemu block-vvfat.c block.c console.c dyngen.c e...

2007-12-02 Thread Thiemo Seufer
Igor Kovalenko wrote:
 On Nov 18, 2007 4:44 AM, Paul Brook [EMAIL PROTECTED] wrote:
  CVSROOT:/sources/qemu
  Module name:qemu
  Changes by: Paul Brook pbrook 07/11/18 01:44:38
 
  Modified files:
  .  : block-vvfat.c block.c console.c dyngen.c
   elf_ops.h i386-dis.c loader.c monitor.c osdep.c
   qemu-char.h translate-op.c usb-linux.c vl.c
   vnc.c x_keymap.c
  audio  : audio.c
  hw : arm_sysctl.c arm_timer.c gt64xxx.c i8259.c
   ide.c mc146818rtc.c mcf_fec.c mips_malta.c
   ne2000.c nvram.h omap.c omap.h omap_lcdc.c
   parallel.c pc.c pci.c pckbd.c piix_pci.c
   pl061.c pl190.c pxa2xx_lcd.c pxa2xx_pcmcia.c
   realview_gic.c rtl8139.c sd.c sh_serial.c
   sh_timer.c smbus.c stellaris.c usb-ohci.c
   wm8750.c
  target-i386: helper.c
 
  Log message:
  Add statics and missing #includes for prototypes.
 
 
 Here is a patch to hw/rtl8139.c which makes it reuse eeprom
 implementation available in eeprom93xx.

Introduces some warnings. I figure reading the eeprom contents back
is done incorrectly.

/home/ths/qemu/qemu-work/hw/rtl8139.c: In function `rtl8139_load':
/home/ths/qemu/qemu-work/hw/rtl8139.c:3072: warning: passing arg 2 of 
`qemu_get_8s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3073: warning: passing arg 2 of 
`qemu_get_be16s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3074: warning: passing arg 2 of 
`qemu_get_be16s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3076: warning: passing arg 2 of 
`qemu_get_8s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3077: warning: passing arg 2 of 
`qemu_get_8s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3078: warning: passing arg 2 of 
`qemu_get_8s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3079: warning: passing arg 2 of 
`qemu_get_8s' from incompatible pointer type
/home/ths/qemu/qemu-work/hw/rtl8139.c:3063: warning: unused variable 
`eeprom_contents'


Thiemo




Re: [Qemu-devel] another patch against head

2007-12-02 Thread Thiemo Seufer
Hotmail wrote:
[snip]
 Index: Makefile
 ===
 RCS file: /sources/qemu/qemu/Makefile,v
 retrieving revision 1.136
 diff -u -r1.136 Makefile
 --- Makefile  24 Nov 2007 23:35:07 -  1.136
 +++ Makefile  30 Nov 2007 15:29:08 -
 @@ -15,7 +15,11 @@
  
  CPPFLAGS += -I. -I$(SRC_PATH) -MMD -MP
  CPPFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
 +ifdef CONFIG_WIN32
 +LIBS= -lmingw32 -mno-cygwin

This should be done in the configure script via OS_LDFLAGS.

 +else
  LIBS=
 +endif
  ifdef CONFIG_STATIC
  BASE_LDFLAGS += -static
  endif
 Index: cocoa.m
 ===
 RCS file: /sources/qemu/qemu/cocoa.m,v
 retrieving revision 1.14
 diff -u -r1.14 cocoa.m
 --- cocoa.m   17 Nov 2007 17:14:37 -  1.14
 +++ cocoa.m   30 Nov 2007 15:29:09 -
 @@ -751,7 +751,7 @@
  
  [op setMessage:@Select the disk image you want to boot.\n\nHit the 
 \Cancel\ button to quit];
  
 -[op beginSheetForDirectory:nil file:nil types:[NSArray 
 arrayWithObjects:@img,@iso,@dmg,@qcow,@cow,@cloop,@vmdk,nil]
 +[op beginSheetForDirectory:nil file:nil types:[NSArray 
 arrayWithObjects:@img,@iso,@dmg,@qcow,@qcow2,@cow,@cloop,@vmdk,nil]

That's still incomplete WT to object formats supported, I leave that out
until somebody actually completed and tested it.

modalForWindow:window modalDelegate:self

 didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:) 
 contextInfo:NULL];
  }
 Index: monitor.c
 ===
 RCS file: /sources/qemu/qemu/monitor.c,v
 retrieving revision 1.87
 diff -u -r1.87 monitor.c
 --- monitor.c 18 Nov 2007 01:44:35 -  1.87
 +++ monitor.c 30 Nov 2007 15:29:10 -
 @@ -29,6 +29,7 @@
  #include gdbstub.h
  #include net.h
  #include qemu-char.h
 +#include qemu-timer.h

I don't see where the monitor would use a timer.
Can you post the compiler error message which is solved by this include?

  #include sysemu.h
  #include console.h
  #include block.h
 Index: hw/adlib.c
 ===
 RCS file: /sources/qemu/qemu/hw/adlib.c,v
 retrieving revision 1.8
 diff -u -r1.8 adlib.c
 --- hw/adlib.c17 Nov 2007 17:14:40 -  1.8
 +++ hw/adlib.c30 Nov 2007 15:29:10 -
 @@ -23,7 +23,9 @@
   */
  #include assert.h
  #include hw.h
 +#include audio/audio.h

Added.

  #include audiodev.h
 +#include qemu-timer.h

Only needed for #define DEBUG, I added a variant which takes this
into account.


Thiemo




[Qemu-devel] qemu/hw adlib.c

2007-12-02 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 17:47:33

Modified files:
hw : adlib.c 

Log message:
Include qemu-timer.h iff DEBUG is defined.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/adlib.c?cvsroot=qemur1=1.9r2=1.10




[Qemu-devel] qemu/hw mips_pica61.c

2007-12-02 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/03 02:17:39

Modified files:
hw : mips_pica61.c 

Log message:
Fix floppy initialization, by Laurent Vivier.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_pica61.c?cvsroot=qemur1=1.15r2=1.16




[Qemu-devel] qemu Makefile.target hw/mainstone.c hw/mainston...

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 02:20:03

Modified files:
.  : Makefile.target 
hw : mainstone.c 
Added files:
hw : mainstone.h mst_fpga.c 

Log message:
Mainstone re-org, by Armin Kuster.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemur1=1.229r2=1.230
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mainstone.c?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mainstone.h?cvsroot=qemurev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mst_fpga.c?cvsroot=qemurev=1.1




[Qemu-devel] qemu monitor.c sysemu.h vl.c hw/esp.c hw/gumsti...

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 04:51:10

Modified files:
.  : monitor.c sysemu.h vl.c 
hw : esp.c gumstix.c integratorcp.c lsi53c895a.c 
 mainstone.c mips_malta.c mips_pica61.c 
 mips_r4k.c nand.c omap.c pc.c pci.h 
 ppc405_boards.c ppc_chrp.c ppc_oldworld.c 
 ppc_prep.c pxa2xx.c realview.c spitz.c 
 stellaris.c sun4m.c sun4m.h sun4u.c 
 versatilepb.c 

Log message:
Add -drive parameter, by Laurent Vivier.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/monitor.c?cvsroot=qemur1=1.88r2=1.89
http://cvs.savannah.gnu.org/viewcvs/qemu/sysemu.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.373r2=1.374
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/esp.c?cvsroot=qemur1=1.29r2=1.30
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/gumstix.c?cvsroot=qemur1=1.6r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/integratorcp.c?cvsroot=qemur1=1.26r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/lsi53c895a.c?cvsroot=qemur1=1.11r2=1.12
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mainstone.c?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_malta.c?cvsroot=qemur1=1.52r2=1.53
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_pica61.c?cvsroot=qemur1=1.14r2=1.15
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_r4k.c?cvsroot=qemur1=1.55r2=1.56
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/nand.c?cvsroot=qemur1=1.5r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/omap.c?cvsroot=qemur1=1.26r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pc.c?cvsroot=qemur1=1.95r2=1.96
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pci.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ppc405_boards.c?cvsroot=qemur1=1.10r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ppc_chrp.c?cvsroot=qemur1=1.54r2=1.55
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ppc_oldworld.c?cvsroot=qemur1=1.12r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ppc_prep.c?cvsroot=qemur1=1.58r2=1.59
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pxa2xx.c?cvsroot=qemur1=1.23r2=1.24
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/realview.c?cvsroot=qemur1=1.16r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/spitz.c?cvsroot=qemur1=1.18r2=1.19
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/stellaris.c?cvsroot=qemur1=1.9r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sun4m.c?cvsroot=qemur1=1.65r2=1.66
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sun4m.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sun4u.c?cvsroot=qemur1=1.29r2=1.30
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/versatilepb.c?cvsroot=qemur1=1.22r2=1.23




Re: [Qemu-devel] [Patch][update] Mainstone re-org plus flash

2007-12-01 Thread Thiemo Seufer
Armin wrote:
 Hello,

 This includes the previous Mainstone re-org patch I sent earlier plus flash 
 support.
 This adds two 32MiB flash devices. Mounts from mtdblock2 on flash device 0 
 fine at boot.

I did some guesswork on the flash initialization to make it build with
Laurent's -disk patch. Please check if it is still correct.


Thiemo




[Qemu-devel] qemu block.c block.h block_int.h monitor.c

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 05:18:19

Modified files:
.  : block.c block.h block_int.h monitor.c 

Log message:
Collecting block device statistics, by Richard W.M. Jones.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/block.c?cvsroot=qemur1=1.49r2=1.50
http://cvs.savannah.gnu.org/viewcvs/qemu/block.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/block_int.h?cvsroot=qemur1=1.14r2=1.15
http://cvs.savannah.gnu.org/viewcvs/qemu/monitor.c?cvsroot=qemur1=1.89r2=1.90




[Qemu-devel] qemu cpu-exec.c translate-all.c target-sh4/cpu....

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 06:10:04

Modified files:
.  : cpu-exec.c translate-all.c 
target-sh4 : cpu.h op.c translate.c 

Log message:
SH4 delay slot code update, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemur1=1.126r2=1.127
http://cvs.savannah.gnu.org/viewcvs/qemu/translate-all.c?cvsroot=qemur1=1.22r2=1.23
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/cpu.h?cvsroot=qemur1=1.12r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/op.c?cvsroot=qemur1=1.8r2=1.9
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/translate.c?cvsroot=qemur1=1.20r2=1.21




[Qemu-devel] qemu cpu-exec.c hw/sh7750.c hw/sh_intc.c hw/sh_...

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 06:18:25

Modified files:
.  : cpu-exec.c 
hw : sh7750.c sh_intc.c sh_intc.h 
target-sh4 : cpu.h helper.c op.c 

Log message:
SH4: system emulator interrupt update, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemur1=1.127r2=1.128
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sh7750.c?cvsroot=qemur1=1.11r2=1.12
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sh_intc.c?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/sh_intc.h?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/cpu.h?cvsroot=qemur1=1.13r2=1.14
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/helper.c?cvsroot=qemur1=1.5r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/op.c?cvsroot=qemur1=1.9r2=1.10




[Qemu-devel] qemu/linux-user syscall.c

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 06:28:09

Modified files:
linux-user : syscall.c 

Log message:
Fix for execve syscall, by Kirill A. Shutemov.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.153r2=1.154




[Qemu-devel] qemu linux-user/main.c linux-user/signal.c linu...

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 06:31:25

Modified files:
linux-user : main.c signal.c 
linux-user/sh4 : target_signal.h 
target-sh4 : helper.c 

Log message:
SH4: Signal handling for the user space emulator, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemur1=1.156r2=1.157
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/signal.c?cvsroot=qemur1=1.54r2=1.55
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/sh4/target_signal.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/helper.c?cvsroot=qemur1=1.6r2=1.7




Re: [Qemu-devel] fstat bug on armeb stll exists!

2007-12-01 Thread Thiemo Seufer
Claudio Scordino wrote:
 Hi all,

   more than one year ago we sent a patch on this mailing list to fix a 
 problem of the fstat syscall for armeb. See

 http://lists.gnu.org/archive/html/qemu-devel/2006-09/msg00137.html

 We found the bug compiling a Linux kernel for armeb on scratchbox.

 Qemu seemed to ignore the fact that in big endian systems the fields
 st_blocks and its padding are swapped (to allow future expansion of the 
 field,) so the fix consisted only in swapping the two fields (only in big 
 endian systems, of course).

 The patch just changed  qemu/linux-user/syscall_defs.h to

 #ifndef TARGET_WORDS_BIGENDIAN
target_ulongst_blocks;
target_ulong__pad4;
 #else
   target_ulong__pad4;
   target_ulongst_blocks;
 #endif

AFAICS this assumption matches neither the glibc 2.6 nor the Linux
2.6.23 definitions. There is, however, an endianness difference in
handling the st_dev and st_rdev fields which is not handled properly
in QEMU.

I think this needs a separate struct stat definition for (non-EABI)
big endian ARM.


Thiemo




[Qemu-devel] qemu/target-mips mips-defs.h

2007-12-01 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/12/02 07:14:18

Modified files:
target-mips: mips-defs.h 

Log message:
Larger physical address space for 32-bit MIPS.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/mips-defs.h?cvsroot=qemur1=1.19r2=1.20




[Qemu-devel] sparc-linux-user fails to build on Linux/ppc

2007-11-27 Thread Thiemo Seufer
Some recent change broke compilation of sparc-linux-user on
Linux/ppc.


Thiemo


make -C i386-linux-user all
make[1]: Entering directory `/home/ths/qemu/qemu-work/i386-linux-user'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/ths/qemu/qemu-work/i386-linux-user'
make -C arm-linux-user all
make[1]: Entering directory `/home/ths/qemu/qemu-work/arm-linux-user'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/ths/qemu/qemu-work/arm-linux-user'
make -C armeb-linux-user all
make[1]: Entering directory `/home/ths/qemu/qemu-work/armeb-linux-user'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/ths/qemu/qemu-work/armeb-linux-user'
make -C sparc-linux-user all
make[1]: Entering directory `/home/ths/qemu/qemu-work/sparc-linux-user'
gcc-3.4 -g  -Wl,-T,/home/ths/qemu/qemu-work/ppc.ld   -o qemu-sparc main.o 
syscall.o strace.o mmap.o signal.o path.o osdep.o thunk.o elfload.o linuxload.o 
uaccess.o libqemu.a gdbstub.o   -lm -lrt -lpthread
libqemu.a(translate-op.o): In function `dyngen_code':
/home/ths/qemu/qemu-work/sparc-linux-user/./op.h:5035: undefined reference to 
`do_fitoq'
/home/ths/qemu/qemu-work/sparc-linux-user/./op.h:5035: undefined reference to 
`do_fitoq'
libqemu.a(op.o): In function `op_fitoq':
/home/ths/qemu/qemu-work/target-sparc/op.c:1806: undefined reference to 
`do_fitoq'
collect2: ld returned 1 exit status
make[1]: *** [qemu-sparc] Error 1
make[1]: Leaving directory `/home/ths/qemu/qemu-work/sparc-linux-user'
make: *** [subdir-sparc-linux-user] Error 2




[Qemu-devel] qemu/target-mips translate.c

2007-11-26 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/11/26 09:01:34

Modified files:
target-mips: translate.c 

Log message:
Micro-optimize back-to-back store-load sequences.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.115r2=1.116




[Qemu-devel] qemu/hw mips_malta.c

2007-11-26 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/11/26 14:52:02

Modified files:
hw : mips_malta.c 

Log message:
Add floppy support, tested to work with www.linux-mips.org GIT head.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_malta.c?cvsroot=qemur1=1.51r2=1.52




Re: [Qemu-devel] qemu hw/ppc_oldworld.c target-ppc/cpu.h target-...

2007-11-23 Thread Thiemo Seufer
Paul Brook wrote:
   I think what you mean is that they work the way that ppc64 is defined, to
   remain compatible with ppc32.  IMHO this is entirely irrelevant as we're
   emulating a ppc32. You could replace the high bits with garbage and
   nothing would ever be able to tell the difference.
 
  PowerPC is a 64 bits architecture. PowerPC 32 on 32 bits host is
  optimized not to compute the 32 highest bits, the same way it's allowed
  to cut down the GPR when implementing a CPU that would not support the
  64 bits mode (but this is a tolerance, this is not the architecture is
  defined).
 
 No. PowerPC is defined as a 64-bit archirecure. However there is a subset of 
 this architecture (aka ppc32) that is a complete 32-bit architecture in its 
 own right.  By your own admission, we can get away with not calculating the 
 high 32 bit of the register. If follows that the high bits are completely 
 meaningless. 

This btw. also means that the ppc32 emulation on 32-bit hosts is needlessly
inefficient if the high bits are carried around.

 The qemu ppc32 emulation is implemented in such a way that on 64-bit hosts it 
 looks a lot like a ppc64 implementation. However this need not, and should 
 not be exposed to the user.
 
  OK. Those are real bugs to be fixed. I'll take a look But I'll try
  not to break the GPR dump. In fact, GPR should always dumped as 64 bits,
  even when runnig on 32 bits hosts. This would be more consistent with
  the specification.
 
 I disagree. qemu is implementing ppc32. Showing more than 32 bits of register 
 is completely bogus. Any differences between a 32-bit host and a 64-bit host 
 are a qemu bug. If you display 64 bits, then those 64 bits had better be the 
 same when run on 32-bit hosts.

I strongly agree with Paul.


Thiemo




Re: [Qemu-devel] qemu hw/ppc_oldworld.c target-ppc/cpu.h target-...

2007-11-23 Thread Thiemo Seufer
J. Mayer wrote:
[snip]
   Showing more than 32 bits of register 
  is completely bogus.
 
 No. It's showing the full CPU state, which can be more than what the
 application (or the OS, when running virtualized on a real CPU) could
 see. The OS cannot see the whole CPU state, but Qemu must implement more
 than the OS can see and is then able to dump it. 64 bits GPR is just a
 specific case of a general behavior.
 
   Any differences between a 32-bit host and a 64-bit host 
  are a qemu bug. If you display 64 bits, then those 64 bits had better be 
  the 
  same when run on 32-bit hosts.
 
 Why ? The idea is that it costs too much to keep the whole state when
 running on a 32 bits host, then we act as a restricted embedded
 implementation. When the host CPU allows it without any extra cost, we
 act as the specification defines we should. This is a choice. Once
 again, this choice can be discussed and may be changed if I get
 convinced it would be better not to act this way. But this behavior is
 sure not bugged, it exactly follows (or may say should exactly if well
 implemented) the PowerPC specification.

Degrading the emulation capabilities in dependence of the host capabilities
with disregard of the user's requests sounds like a tremendously bad idea
to me. So

- If the high bits state is discoverable from guest software then it
  should always be emulated, independent of the host.
- If the high bits state is software transparent, then it should never
  be emulated. Even on a 64-bit host it will reduce performance as it
  moves more state through the caches. Moreover, the emulation will stay
  architecturally correct WRT to software execution, which is, I believe,
  the part of the spec which actually counts for QEMU.


Thiemo




Re: [Qemu-devel] wrong bios.bin file in Ubuntu Linux 7.10 causes blue screen on w2k guest

2007-11-23 Thread Thiemo Seufer
Soren Hansen wrote:
 On Thu, Nov 22, 2007 at 01:47:22PM -0500, Markus Schulz wrote:
  Thank you for your response; I think the file can be found here:
  http://cvs.savannah.nongnu.org/viewvc/qemu/pc-bios/?root=qemu
 
  As far as I understand Qemu uses the BIOS from the Bochs project and
  the diff is applied for Qemu and it becomes the Qemu BIOS.
 
 If that's really the case, I'm curious why it's distributed in its
 binary form rather than being built at runtime. Fabrice, can you shed
 some light on this?

Onerous cross-compiler dependencies.

  I think every Qemu installation should use this Qemu BIOS, the BIOS
  that is made for this project and not the original Bochs BIOS. Are you
  able to fix this in Ubuntu?
 
 Debian and Ubuntu have fairly strict policies about stuff shipped in
 binary form in source packages, so unless qemu is changed to build this
 bios at build time, that's not going to happen.

One way around that would be to build additional BIOS images which use
the qemu patches in the bochs package, provide them via an Architecture:all
data package, and then let the Qemu package depend on that data package.


Thiemo




[Qemu-devel] qemu/target-mips translate.c

2007-11-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/11/22 15:10:22

Modified files:
target-mips: translate.c 

Log message:
Optimize the conventional move operation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemur1=1.114r2=1.115




  1   2   3   4   5   6   7   8   9   10   >