Re: Solaris 10 doesn't work under KVM

Cyril Plisko
2007-02-08T11:00:22Z

On 2/8/07, Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
> Joerg Roedel wrote:
> > On Thu, Feb 08, 2007 at 12:04:54PM +0200, Avi Kivity wrote:
> >
> >> Joerg Roedel wrote:
> >>
> >>> On Thu, Feb 08, 2007 at 11:27:07AM +0200, Avi Kivity wrote:
> >>>
> >>>
> >>>> Waba wrote:
> >>>>
> >>>>
> >>>>> On Wed, Feb 07, 2007 at 11:42:01AM +0200, Avi Kivity wrote:
> >>>>>
> >>>>>
> >>>>>> ok. please keep the patch applied, and an addition:
> >>>>>>
> >>>>>> - change '#undef AUDIT' to '#define AUDIT' in mmu.c
> >>>>>> - in the same file, change 'static int dbg = 1;' to 'static int dbg = 0;'
> >>>>>> - 'echo 9 > /proc/sysrq-trigger'
> >>>>>>
> >>>>>> and run again. Note that kvm will be very slow with this. Watch dmesg for errors from
> >>>>>> kvm.
> >>>>>>
> >>>>>>
> >>>>> When you say 'very slow', you mean it :) I couldn't reproduce the bug in
> >>>>> the usual fashion because the involved processes timed out and were
> >>>>> killed by the service manager.
> >>>>>
> >>>>> However, simply invoking "svccfg" at the prompt seems to bring in Java or
> >>>>> whatever heavy stuff is causing our problem, and I got a nice SIGILL
> >>>>> this way.
> >>>>>
> >>>>> Sadly, nothing interesting appeared in the log:
> >>>>>
> >>>>> [ 8544.402301] Loglevel set to 9
> >>>>> [ 8548.697286] cr0_wp: 1 (before)
> >>>>> [ 9868.532303] kvm: emulating exchange as write
> >>>>> [16785.771040] SysRq : Changing Loglevel
> >>>>> [16785.771049] Loglevel set to 0
> >>>>>
> >>>>>
> >>>>> Please tell me if there is anything else I can try out.
> >>>>>
> >>>>>
> >>>> Can you try to isolate the process which fails?
> >>>>
> >>>> e.g. install with qemu, start in kvm in single user mode, and use truss or something
> >>>> similar.
> >>>>
> >>>>
> >>> When I tried it I got a the SIGILL ever I invoked a new program. The
> >>> first SIGILL is in the starting process which is killed then. Afterwards
> >>> I get a shell. Every simple command there (like ls for example) caused a
> >>> SIGILL then.
> >>>
> >>>
> >>>
> >> Was this with the cr0.wp patch applied (commit 4348)?
> >>
> >
> > Yes. It was with kvm-current from last friday. The patch was already in
> > there.
> >
>
> Can this be sysenter support? i.e. is sysenter supported on opteron but
> not on athlon x2?

AFAIK, on both Opteron an Athlon X2 Solaris uses syscall, rather than sysenter.
The catch here is that it starts with the least optimized libc at
boot, and at some
point SMF uses moe(1) to find out most suitable version of libc and
lofs-mount it
on top of the original. From this point on AMD machine will use syscall.

--
Regards,
Cyril