[Qemu-devel] Re: Unmaintained QEMU builds

2010-09-07 Thread Paolo Bonzini

On 09/07/2010 12:44 AM, Andreas Färber wrote:

1) We drop Windows support. No Windows user has so far participated in
the discussion. When they cry, it'll be too late, cf. kqemu.


That's different.  kqemu was crippling qemu development much more than 
Win32.  kqemu littered the code with #ifdefs but, so far, problems due 
to Win32 are only opinions.


Paolo, right now not wearing a red hat



Re: [Qemu-devel] Re: Unmaintained QEMU builds

2010-09-06 Thread Corentin Chary
On Mon, Sep 6, 2010 at 10:59 AM, Paolo Bonzini  wrote:

> On 09/05/2010 06:05 PM, Avi Kivity wrote:
>
>> I'm perfectly fine with dropping it. btw, there are other features in
>> qemu that seem to be academic exercises - *-user for example. What is it
>> useful for? Most open source stuff is multiplatform, and serious
>> commercial work needs something faster than tcg.
>>
>
> *-user is useful to GCC developers (and used by those who work on the ARM
> backend to run the GCC testsuite).
>
> Paolo
>
>
>
Isn't that also used by scratchbox ?

-- 
Corentin Chary
http://xf.iksaif.net


[Qemu-devel] Re: Unmaintained QEMU builds

2010-09-06 Thread Paolo Bonzini

On 09/05/2010 06:05 PM, Avi Kivity wrote:

I'm perfectly fine with dropping it. btw, there are other features in
qemu that seem to be academic exercises - *-user for example. What is it
useful for? Most open source stuff is multiplatform, and serious
commercial work needs something faster than tcg.


*-user is useful to GCC developers (and used by those who work on the 
ARM backend to run the GCC testsuite).


Paolo



[Qemu-devel] Re: Unmaintained QEMU builds

2010-09-05 Thread Andreas Färber

Am 05.09.2010 um 17:41 schrieb Paolo Bonzini:

The main thing is what you wrote in another message: what can QEMU  
offer on Windows and Darwin that semi-free Virtual Box and  
proprietary VMware cannot?  I like to think that it can offer  
something, but maybe I'm wrong. :/


On Darwin/ppc64, I'm using QEMU for emulation of ppc, sparc and less  
common x86. There's no real competitor. My management tool is bash  
though.


On Darwin/x86, VirtualBox has a foreign Qt-based UI. In terms of the  
machine's GUI itself it shouldn't be too hard to compete with some  
extensions to the Cocoa frontend (was going to look into that, QMP  
might make this less invasive).

VMware Fusion and Parallels are not free.

Never used it on Windows. I guess it's more the unique emulation  
capabilities it has to offer.


Andreas



[Qemu-devel] Re: Unmaintained QEMU builds

2010-09-05 Thread Paolo Bonzini

On 08/18/2010 11:46 AM, Alexander Graf wrote:

I think a better question would be, should we even bother with
thread wrappers?  If we drop win32 support, we can just assume
pthreads and avoid a layer of indirection.


The current threading code is also broken on osx and last time I
talked to paolo, his patch should also fix things for osx.


Hm, really? :)  That's news to me. :)  But maybe I don't remember some
detail.


So in the end it doesn't seem like a bad idea to support win32 - it's
feature set is about the least common dominator between all OSs we
support.  [...] And wrt vnc and threading, I'm fully in for
deprecating the non-threaded version. Platforms that don't work with
 threading get no VNC server.


Yeah, that was my motivation for writing the Win32 wrappers (and the
io-thread too, but that's longer-term).

Paolo



[Qemu-devel] Re: Unmaintained QEMU builds

2010-09-05 Thread Paolo Bonzini

On 09/04/2010 04:03 PM, Andreas Färber wrote:

For BeOS there once was a pthreads library project. Maybe the same could
work for Win32, implement the pthreads API and map to corresponding
Win32 API functions? Then QEMU could use pthreads API and use wrappers
only where strictly necessary. In theory this sounds less invasive.


There's pthread-win32 but it requires a kernel module to support 
signals; alternatively, with some care (if you call the Win32 API 
yourself, you have to ensure signals are never delivered during API 
calls) Cygwin provides the pthreads API as well.


But both are quite heavy-weight, and implementing the subset everybody 
really cares about (thread creation/joining, mutexes, condition 
variables, plus QEMU needs one inter-thread signal) is really easy.


The main thing is what you wrote in another message: what can QEMU offer 
on Windows and Darwin that semi-free Virtual Box and proprietary VMware 
cannot?  I like to think that it can offer something, but maybe I'm 
wrong. :/


Paolo



Re: [Qemu-devel] Re: Unmaintained QEMU builds

2010-09-04 Thread Andreas Färber

Am 18.08.2010 um 10:31 schrieb Paolo Bonzini:


On 08/17/2010 09:56 PM, Anthony Liguori wrote:

If Paolo's Win32 threads get merged, would there be other reasons
against continuing Win32 support?


I think a better question would be, should we even bother with thread
wrappers? If we drop win32 support, we can just assume pthreads and
avoid a layer of indirection.


Yes, we would.  qemu_thread_create ensures the newly-created thread  
won't receive any signals, for example.


Some day the wrappers could even start using futexes directly if  
there were a reason to do so.


For BeOS there once was a pthreads library project. Maybe the same  
could work for Win32, implement the pthreads API and map to  
corresponding Win32 API functions? Then QEMU could use pthreads API  
and use wrappers only where strictly necessary. In theory this sounds  
less invasive.


Andreas



[Qemu-devel] Re: Unmaintained QEMU builds

2010-08-18 Thread Paolo Bonzini

On 08/17/2010 09:56 PM, Anthony Liguori wrote:

If Paolo's Win32 threads get merged, would there be other reasons
against continuing Win32 support?


I think a better question would be, should we even bother with thread
wrappers? If we drop win32 support, we can just assume pthreads and
avoid a layer of indirection.


Yes, we would.  qemu_thread_create ensures the newly-created thread 
won't receive any signals, for example.


Some day the wrappers could even start using futexes directly if there 
were a reason to do so.



I disagree. There are quite a lot more patches and features written for
these systems than Win32. With the exception of Darwin, at least the
other Unices are close enough to Linux that the work to support them is
relatively small.


Darwin is as close to Linux as FreeBSD is (and very close to FreeBSD, in 
turn).



Considering that we're well over half a million lines of code today, I
think we would do ourselves a favor by dropping some of the dead
features we're carrying.


I agree, for example savevm/loadvm support for embedded boards is likely 
one of these features.  Right now I see no reason to declare Win32 a 
failure, though this may change in the future.


Paolo



Re: [Qemu-devel] Re: Unmaintained QEMU builds

2010-08-17 Thread Jes Sorensen
On 08/12/10 11:17, Stefan Weil wrote:
> Am 12.08.2010 00:12, schrieb Paolo Bonzini:
> Jes has an opinion how thinks should be done, and I have a different one.
> If you read the complete history, you can see that I suggested a
> compromise (*)
> which would give the same result as Jes' suggestions. Only the steps
> to reach this result were different, and I have good reasons why I
> prefer my way to do them. Both ways require two commits, so
> there would be no difference for the community nor for the
> committers.
> 
> I did not reply to Jes' last mail because he claims to represent the
> community without accepting that others (in this case me) who are
> also part of the community might have good reason for their approach, too.
> His mail was also very impolite which is one more reason why I
> did not reply.

I gave you plenty technical reasons for doing things the right way, and
you did agree that it should go to the right place. However rather than
doing the small job it was to fix up the patch, you decided to ignore it.

It's a real shame your patch was applied the way it was. The net result
of it is that someone doing a git bisect on the tree will end up with a
broken build they have to work around. Frankly if anyone here is
impolite, it is you for trying to force in patches that breaks debugging.

Jes




[Qemu-devel] Re: Unmaintained QEMU builds

2010-08-16 Thread Paolo Bonzini

On 08/15/2010 11:42 PM, Anthony Liguori wrote:

Given that it's known to have a lot of issues, I would suggest that we
schedule Windows host support for deprecation in 0.15. I would not
recommend that we remove any of the WIN32 code from the build but
basically stop trying to make it even build until someone steps up to
really actively maintain and enhance the Windows port. I would still
suggest we take patches if anyone wants to submit them but we should not
avoid patches that are known to break win32 (unless the fix is trivial).


I was planning to submit a qemu-thread port for Win32 for 0.14, which of 
course means doing some basic sanity testing of the port.  However, I'm 
not in any way trying to support anything more complicated than raw 
images and SDL/VNC.  In particular, I'm not going to test networking.


Paolo



[Qemu-devel] Re: Unmaintained QEMU builds

2010-08-12 Thread Paolo Bonzini

On 08/12/2010 05:17 AM, Stefan Weil wrote:

Jes has an opinion how thinks should be done, and I have a different one.
If you read the complete history, you can see that I suggested a
compromise (*)
which would give the same result as Jes' suggestions. Only the steps
to reach this result were different, and I have good reasons why I
prefer my way to do them. Both ways require two commits, so
there would be no difference for the community nor for the
committers.


I may even agree with you, but if nobody takes the effort to continue a 
discussion you have to proceed as if everyone agreed with Jes.  In 
particular, the patch would have been so easy to redo along those lines, 
that IMHO it wasn't worthwhile arguing.


Paolo



[Qemu-devel] Re: Unmaintained QEMU builds

2010-08-12 Thread Stefan Weil

Am 12.08.2010 00:12, schrieb Paolo Bonzini:

On 08/11/2010 03:37 PM, Stefan Weil wrote:

With these changes, build succeeds with SDL. For example,
qemu-system-sparc.exe can boot from a Sparc32 CD under Wine.


Yes, that's a possible solution.

You could also take these patches which I sent to qemu-devel:

http://patchwork.ozlabs.org/patch/49217/
http://patchwork.ozlabs.org/patch/57532/


The latter change is already in Blue Swirl's patch.

The former is for the setenv issue.  Jes Sorensen asked you to make 
some changes, and you never replied; this is the best way to keep your 
patch *out* of the tree.  Blue Swirl patch is suboptimal with respect 
to setenv, because the setenv is actually useful under Win32, but I 
still think it should go in---and then you can fix it in a better way 
if you want to follow the rules of the community.


Paolo



Hello Paolo,

Jes has an opinion how thinks should be done, and I have a different one.
If you read the complete history, you can see that I suggested a 
compromise (*)

which would give the same result as Jes' suggestions. Only the steps
to reach this result were different, and I have good reasons why I
prefer my way to do them. Both ways require two commits, so
there would be no difference for the community nor for the
committers.

I did not reply to Jes' last mail because he claims to represent the
community without accepting that others (in this case me) who are
also part of the community might have good reason for their approach, too.
His mail was also very impolite which is one more reason why I
did not reply.

Regards
Stefan

(*) http://lists.nongnu.org/archive/html/qemu-devel/2010-07/msg00054.html




[Qemu-devel] Re: Unmaintained QEMU builds

2010-08-11 Thread Paolo Bonzini

On 08/11/2010 03:37 PM, Stefan Weil wrote:

With these changes, build succeeds with SDL. For example,
qemu-system-sparc.exe can boot from a Sparc32 CD under Wine.


Yes, that's a possible solution.

You could also take these patches which I sent to qemu-devel:

http://patchwork.ozlabs.org/patch/49217/
http://patchwork.ozlabs.org/patch/57532/


The latter change is already in Blue Swirl's patch.

The former is for the setenv issue.  Jes Sorensen asked you to make some 
changes, and you never replied; this is the best way to keep your patch 
*out* of the tree.  Blue Swirl patch is suboptimal with respect to 
setenv, because the setenv is actually useful under Win32, but I still 
think it should go in---and then you can fix it in a better way if you 
want to follow the rules of the community.


Paolo