Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 9.0 RC1 amd64 not working on VirtualBox 6.1.0



FWIW, the installation iso of my yesterday's build of 9.99.23 amd64
boots just fine under VirtualBox 6.1.

On Sat, 14 Dec 2019 at 10:22, Bodie <bodie%bodie.cz@localhost> wrote:
>
>
>
> On 12.12.2019 17:38, Maxime Villard wrote:
> > Le 12/12/2019 à 16:34, Valery Ushakov a écrit :
> >> On Thu, Dec 12, 2019 at 06:47:50 +0100, Bodie wrote:
> >>
> >>> On 11.12.2019 23:32, Valery Ushakov wrote:
> >>>> On Wed, Dec 11, 2019 at 23:15:38 +0100, Bodie wrote:
> >>>>
> >>>>> FYI https://www.virtualbox.org/ticket/19146
> >>>>>
> >>>>> Not possible to boot installer of NetBSD 9.0RC1. cc me as I am not
> >>>>> subscribed to list.
> >>>>
> >>>> CPUID values are ... = guest (host):
> >>>>
> >>>> IBRS_IBPB - IA32_SPEC_CTRL.IBRS and IA32_PRED_CMD.IBPB  = 0 (1)
> >>>> STIBP - Supports IA32_SPEC_CTRL.STIBP                   = 0 (1)
> >>>> SSBD - Supports IA32_SPEC_CTRL.SSBD                     = 0 (1)
> >>>>
> >>>> so the NetBSD guest is told the cpu doesn't support IA32_SPEC_CTRL
> >>>> (0x48),
> >>>> but still the guest tries to read it:
> >>>
> >>> NetBSD 8.1 STABLE amd64 on same configuration with same values boots
> >>> just fine and works.
> >>
> >> Right, b/c NetBSD 8 doesn't read that nonexistent MSR.
> >>
> >>
> >>>> 00:00:11.518912 IEM: rdmsr(0x48) -> #GP(0)
> >>>> 00:00:11.518920 Changing the VM state from 'RUNNING' to
> >>>> 'GURU_MEDITATION'
> >>
> >> 00:00:11.520158 CPUM0: 0008:ffffffff8022714b 0f 32
> >> rdmsr
> >>
> >> This is mitigation_v2_apply_cpu(), V2_MITIGATION_INTEL_ENHANCED_IBRS
> >> case it seems, so either the kernel misdetects the mitigation variant
> >> to use, or vbox doesnt' scrub host capabilities enough.  Someone with
> >> the clue should look at the VBox.log (it has the cpuinfo dump).
> >>
> >> -uwe
> >
> > The CPU has
> >
> >       CPUID.IBRS = 1
> >       CPUID.STIBP = 1
> >       ARCH_CAP.IBRS_ALL = 1
> >
> > VirtualBox only clears the CPUID:
> >
> >       CPUID.IBRS = 0
> >       CPUID.STIBP = 0
> >       ARCH_CAP.IBRS_ALL = 1
> >
> > NetBSD sees ARCH_CAP.IBRS_ALL == 1, and tries to use the SPEC_CTRL MSR,
> > which
> > faults.
> >
> > Technically, NetBSD is not wrong, because you cannot have
> > ARCH_CAP.IBRS_ALL set
> > to one and CPUID.IBRS/STIBP set to zero. Still, I will add a check on
> > the
> > CPUIDs.
> >
>
> Once there will be some daily build to check I can do that of course.
>
> > Meanwhile VirtualBox should be fixed not to report ARCH_CAP.IBRS_ALL,
> > because
> > this is technically incorrect.
> >
>
> yeah it may take a while I fear
> > Maxime



-- 
----


Home | Main Index | Thread Index | Old Index