* sysenter/syscall support for 32-on-64 guests?
@ 2008-02-28 16:49 Jeremy Fitzhardinge
2008-02-28 17:14 ` Jan Beulich
0 siblings, 1 reply; 4+ messages in thread
From: Jeremy Fitzhardinge @ 2008-02-28 16:49 UTC (permalink / raw)
To: Jan Beulich; +Cc: Keir Fraser, Xen-devel, Ian Campbell
I just spent quite a while working out why pvops-Xen kernels weren't
booting for me in a 64-bit hypervisor. It turned out to be because
32-on-64 supports SEP even though 32-on-32 doesn't, so the guest kernel
was trying to use it without having set up the Xen side, resulting in
syscalls jumping to 0:0, generating a mysterious GP. Once I worked that
out, the fix was simple, of course.
Anyway, I wonder if you had a specific reason for allowing this, other
than "because we can"? It seems to me that we should try to minimize
the number of differences between 32-on-32 and 32-on-64 as much as possible.
J
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: sysenter/syscall support for 32-on-64 guests?
2008-02-28 16:49 sysenter/syscall support for 32-on-64 guests? Jeremy Fitzhardinge
@ 2008-02-28 17:14 ` Jan Beulich
2008-02-28 20:19 ` Jeremy Fitzhardinge
2008-02-28 21:22 ` Keir Fraser
0 siblings, 2 replies; 4+ messages in thread
From: Jan Beulich @ 2008-02-28 17:14 UTC (permalink / raw)
To: Jeremy Fitzhardinge; +Cc: Keir Fraser, Xen-devel, Ian Campbell
>>> Jeremy Fitzhardinge <jeremy@goop.org> 28.02.08 17:49 >>>
>I just spent quite a while working out why pvops-Xen kernels weren't
>booting for me in a 64-bit hypervisor. It turned out to be because
>32-on-64 supports SEP even though 32-on-32 doesn't, so the guest kernel
>was trying to use it without having set up the Xen side, resulting in
>syscalls jumping to 0:0, generating a mysterious GP. Once I worked that
>out, the fix was simple, of course.
>
>Anyway, I wonder if you had a specific reason for allowing this, other
>than "because we can"? It seems to me that we should try to minimize
>the number of differences between 32-on-32 and 32-on-64 as much as possible.
Since int80 cannot be directly passed to the guest (as in 32-on-32), it
seemed reasonable to cut on the overhead of syscalls by at least
allowing this (and syscall could also be made work now that the vdso
stuff is unified in 2.6.25) - for obvious reasons it still goes through the
hypervisor, but gets there faster
Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: sysenter/syscall support for 32-on-64 guests?
2008-02-28 17:14 ` Jan Beulich
@ 2008-02-28 20:19 ` Jeremy Fitzhardinge
2008-02-28 21:22 ` Keir Fraser
1 sibling, 0 replies; 4+ messages in thread
From: Jeremy Fitzhardinge @ 2008-02-28 20:19 UTC (permalink / raw)
To: Jan Beulich; +Cc: Keir Fraser, Xen-devel, Ian Campbell
Jan Beulich wrote:
> Since int80 cannot be directly passed to the guest (as in 32-on-32), it
> seemed reasonable to cut on the overhead of syscalls by at least
> allowing this (and syscall could also be made work now that the vdso
> stuff is unified in 2.6.25) - for obvious reasons it still goes through the
> hypervisor, but gets there faster
>
I guess that's a reasonable point. But it does mean that you'd need to
separately validate a 32-bit guest on both a 32 and 64-bit hypervisor,
which is a bit painful. Maybe you'd need to do that anyway... (Or
ignore 32-bit hosts.)
J
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: Re: sysenter/syscall support for 32-on-64 guests?
2008-02-28 17:14 ` Jan Beulich
2008-02-28 20:19 ` Jeremy Fitzhardinge
@ 2008-02-28 21:22 ` Keir Fraser
1 sibling, 0 replies; 4+ messages in thread
From: Keir Fraser @ 2008-02-28 21:22 UTC (permalink / raw)
To: Jan Beulich, Jeremy Fitzhardinge; +Cc: Xen-devel, Ian Campbell
On 28/2/08 17:14, "Jan Beulich" <jbeulich@novell.com> wrote:
>> Anyway, I wonder if you had a specific reason for allowing this, other
>> than "because we can"? It seems to me that we should try to minimize
>> the number of differences between 32-on-32 and 32-on-64 as much as possible.
>
> Since int80 cannot be directly passed to the guest (as in 32-on-32), it
> seemed reasonable to cut on the overhead of syscalls by at least
> allowing this (and syscall could also be made work now that the vdso
> stuff is unified in 2.6.25) - for obvious reasons it still goes through the
> hypervisor, but gets there faster
Ah yes, I must admit I temporarily forgot you can only target 64-bit code
segments in a long-mode IDT.
-- Keir
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-02-28 21:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-28 16:49 sysenter/syscall support for 32-on-64 guests? Jeremy Fitzhardinge
2008-02-28 17:14 ` Jan Beulich
2008-02-28 20:19 ` Jeremy Fitzhardinge
2008-02-28 21:22 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.