qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Re: [Qemu-devel] x86-64 port
  2004-03-18 18:32 [Qemu-devel] x86-64 port Nick Snellock
@ 2004-03-17 21:15 ` Fabrice Bellard
  2004-03-17 22:17   ` Gwenole Beauchesne
  2004-03-18  1:40   ` [Qemu-devel] " Andi Kleen
  0 siblings, 2 replies; 7+ messages in thread
From: Fabrice Bellard @ 2004-03-17 21:15 UTC (permalink / raw)
  To: qemu-devel

Nick Snellock wrote:
> Is anyone working on an x86-64 port?

Not me :-) An x86-64 host port would be very interesting because the 64 
bit host MMU could be used to remap the whole emulated 4GB address space.

I think that there is also a lot of potential for a "code-copy" mode 
converting x86-32 to x86-64 code (look at what I did for . Along with 
the 4GB space remapping, it would give close to native performances 
without requiring any potentially unsafe kernel module (unlike the 
popular virtualizers).

Fabrice.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] x86-64 port
  2004-03-17 21:15 ` Fabrice Bellard
@ 2004-03-17 22:17   ` Gwenole Beauchesne
  2004-03-17 23:06     ` Fabrice Bellard
  2004-03-17 23:51     ` Fabrice Bellard
  2004-03-18  1:40   ` [Qemu-devel] " Andi Kleen
  1 sibling, 2 replies; 7+ messages in thread
From: Gwenole Beauchesne @ 2004-03-17 22:17 UTC (permalink / raw)
  To: qemu-devel

Hi,

> Nick Snellock wrote:
>> Is anyone working on an x86-64 port?
>
> Not me :-) An x86-64 host port would be very interesting because the 
> 64 bit host MMU could be used to remap the whole emulated 4GB address 
> space.

Fabrice, remember that I posted AMD64 support bits to the list some 
time ago? ;-) This works for user mode applications. As for the soft 
mmu, the current code is not 64-bit clean. I had some patches but they 
were not enough and are in a dormant state since. So remapping the 
whole 4GB address space is probably a faster and simpler fix indeed.

> I think that there is also a lot of potential for a "code-copy" mode 
> converting x86-32 to x86-64 code (look at what I did for . Along with 
> the 4GB space remapping, it would give close to native performances 
> without requiring any potentially unsafe kernel module (unlike the 
> popular virtualizers).

The popular virtualizers don't officially support AMD64 host systems 
yet. Vmware 4.5 is expected to do so though.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] x86-64 port
  2004-03-17 22:17   ` Gwenole Beauchesne
@ 2004-03-17 23:06     ` Fabrice Bellard
  2004-03-17 23:15       ` Fabrice Bellard
  2004-03-17 23:51     ` Fabrice Bellard
  1 sibling, 1 reply; 7+ messages in thread
From: Fabrice Bellard @ 2004-03-17 23:06 UTC (permalink / raw)
  To: qemu-devel

Gwenole Beauchesne wrote:
> Hi,
> 
>> Nick Snellock wrote:
>>
>>> Is anyone working on an x86-64 port?
>>
>>
>> Not me :-) An x86-64 host port would be very interesting because the 
>> 64 bit host MMU could be used to remap the whole emulated 4GB address 
>> space.
> 
> 
> Fabrice, remember that I posted AMD64 support bits to the list some time 
> ago? ;-) This works for user mode applications. As for the soft mmu, the 
> current code is not 64-bit clean. I had some patches but they were not 
> enough and are in a dormant state since. So remapping the whole 4GB 
> address space is probably a faster and simpler fix indeed.

Sorry - I should have merged it before ! If you can generate a new patch 
against the current CVS I'll merge it (if you don't have time I can 
begin to look at it - I am looking now at the version you posted). If 
the user mode is working, most of the work is done.

>> I think that there is also a lot of potential for a "code-copy" mode 
>> converting x86-32 to x86-64 code (look at what I did for . Along with 
>> the 4GB space remapping, it would give close to native performances 
>> without requiring any potentially unsafe kernel module (unlike the 
>> popular virtualizers).
> 
> 
> The popular virtualizers don't officially support AMD64 host systems 
> yet. Vmware 4.5 is expected to do so though.

OK. So this is even better for QEMU :-)

Fabrice.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] x86-64 port
  2004-03-17 23:06     ` Fabrice Bellard
@ 2004-03-17 23:15       ` Fabrice Bellard
  0 siblings, 0 replies; 7+ messages in thread
From: Fabrice Bellard @ 2004-03-17 23:15 UTC (permalink / raw)
  To: qemu-devel

Fabrice Bellard wrote:
> Gwenole Beauchesne wrote:
> 
>> Hi,
>>
>>> Nick Snellock wrote:
>>>
>>>> Is anyone working on an x86-64 port?
>>>
>>>
>>>
>>> Not me :-) An x86-64 host port would be very interesting because the 
>>> 64 bit host MMU could be used to remap the whole emulated 4GB address 
>>> space.
>>
>>
>>
>> Fabrice, remember that I posted AMD64 support bits to the list some 
>> time ago? ;-) This works for user mode applications. As for the soft 
>> mmu, the current code is not 64-bit clean. I had some patches but they 
>> were not enough and are in a dormant state since. So remapping the 
>> whole 4GB address space is probably a faster and simpler fix indeed.
> 
> 
> Sorry - I should have merged it before ! If you can generate a new patch 
> against the current CVS I'll merge it (if you don't have time I can 
> begin to look at it - I am looking now at the version you posted). If 
> the user mode is working, most of the work is done.

It seems easy to merge... so I am merging it now.

Fabrice.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] x86-64 port
  2004-03-17 22:17   ` Gwenole Beauchesne
  2004-03-17 23:06     ` Fabrice Bellard
@ 2004-03-17 23:51     ` Fabrice Bellard
  1 sibling, 0 replies; 7+ messages in thread
From: Fabrice Bellard @ 2004-03-17 23:51 UTC (permalink / raw)
  To: qemu-devel

Gwenole Beauchesne wrote:
> Hi,
> 
>> Nick Snellock wrote:
>> 
>>> Is anyone working on an x86-64 port?
>> 
>> 
>> Not me :-) An x86-64 host port would be very interesting because
>> the 64 bit host MMU could be used to remap the whole emulated 4GB
>> address space.
> 
> 
> Fabrice, remember that I posted AMD64 support bits to the list some
> time ago? ;-) This works for user mode applications. As for the soft
> mmu, the current code is not 64-bit clean. I had some patches but
> they were not enough and are in a dormant state since. So remapping
> the whole 4GB address space is probably a faster and simpler fix
> indeed.

The x86-64 patch is now commited, except for the 'code_gen_buffer' patch
(can you explain it ?). Can you also explain what are the problems with
the soft MMU ?

Fabrice.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] Re: x86-64 port
  2004-03-17 21:15 ` Fabrice Bellard
  2004-03-17 22:17   ` Gwenole Beauchesne
@ 2004-03-18  1:40   ` Andi Kleen
  1 sibling, 0 replies; 7+ messages in thread
From: Andi Kleen @ 2004-03-18  1:40 UTC (permalink / raw)
  To: qemu-devel

Fabrice Bellard <fabrice@bellard.org> writes:

> Nick Snellock wrote:
>> Is anyone working on an x86-64 port?
>
> Not me :-) An x86-64 host port would be very interesting because the
> 64 bit host MMU could be used to remap the whole emulated 4GB address
> space.

I tried to run it recently in 32bit emulation on the 64bit kernel,
but it just produced a lot of segfaults. Even when I forced the
address room to 3GB. Most likely it triggers bugs in the 32bit emulation
layer. I wasn't able to look into it yet.

> I think that there is also a lot of potential for a "code-copy" mode
> converting x86-32 to x86-64 code (look at what I did for . Along with
> the 4GB space remapping, it would give close to native performances
> without requiring any potentially unsafe kernel module (unlike the
> popular virtualizers).

Yes, and you may even get better code in the result (you have 16 registers
to play with instead of 8) 

There is one problem however: currently there are a few system calls
that know if they are executing in 32bit or 64bit and act accordingly.
You can call the 32bit int 0x80 system call handler from a 64bit process,
but you would probably run into smaller issues. This may need a few kernel
fixes. For example the environment and some other pointers are 64bit.
Should be all fixable though.

-Andi

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] x86-64 port
@ 2004-03-18 18:32 Nick Snellock
  2004-03-17 21:15 ` Fabrice Bellard
  0 siblings, 1 reply; 7+ messages in thread
From: Nick Snellock @ 2004-03-18 18:32 UTC (permalink / raw)
  To: qemu mailing list

Is anyone working on an x86-64 port?

Nick

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-03-18  1:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-18 18:32 [Qemu-devel] x86-64 port Nick Snellock
2004-03-17 21:15 ` Fabrice Bellard
2004-03-17 22:17   ` Gwenole Beauchesne
2004-03-17 23:06     ` Fabrice Bellard
2004-03-17 23:15       ` Fabrice Bellard
2004-03-17 23:51     ` Fabrice Bellard
2004-03-18  1:40   ` [Qemu-devel] " Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).