Am 11.05.2011 14:04, schrieb Paolo Bonzini:
> On 05/11/2011 12:15 PM, Stefan Hajnoczi wrote:
>> +#ifdef __i386__
>> +    asm volatile(
>> +        "mov %%esp, %%ebx;"
>> +        "mov %0, %%esp;"
>> +        "pushl %1;"
>> +        "call _trampoline;"
>> +        "mov %%ebx, %%esp;"
>> +        : : "r" (co->stack + co->stack_size), "r" (co) : "ebx"
>> +    );
> 
> This is incomplete, it should set FS:[4] and FS:[8] to top and bottom of 
> stack respectively, otherwise exception handling (including SIGSEGV) is 
> broken.  But I think for Windows it's anyway better to use fibers. 
> Commit this and either I or Stefan Weil will fix it. :)
> 
> Acked-by: Paolo Bonzini <pbonz...@redhat.com>

Yeah, I didn't feel like searching for the right APIs, but wanted to
have something that builds for win32 at least. And this one seemed to
work for some simple tests in Wine.

So my plan with it was to CC Stefan Weil and have him provide the real
implementation that works on 64 bit, too. ;-)

Kevin

Reply via email to