Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jan 2018 13:33:48 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Dexuan-BSD Cui <dexuan.bsd@gmail.com>
Cc:        Ed Maste <emaste@freebsd.org>, markj@freebsd.org, cem@freebsd.org, mhorne063@gmail.com, gordon@freebsd.org, pho@freebsd.org, jeff@freebsd.org, jhb@freebsd.org, nullius@nym.zone, decui@microsoft.com, sephe@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r328166 - in head/sys: amd64/amd64 x86/include x86/x86
Message-ID:  <20180127113348.GY55707@kib.kiev.ua>
In-Reply-To: <CABkgQk8eYpqGsJv-BWdsinQFW2FueHfmCuptBbBuJSv%2Bw-24rA@mail.gmail.com>
References:  <201801191542.w0JFgY1Q070919@repo.freebsd.org> <CABkgQk8eYpqGsJv-BWdsinQFW2FueHfmCuptBbBuJSv%2Bw-24rA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 27, 2018 at 12:56:47AM -0800, Dexuan-BSD Cui wrote:
> Hi,
> Today I found the KPTI patch broke FreeBSD VM running on Hyper-V: the VM
> can't boot due to:
> 
> vmbus0: cannot find free IDT vector
> 
> This is the related snippet:
> 
> dev/hyperv/vmbus/vmbus.c: vmbus_intr_setup() -> lapic_ipi_alloc() fails:
> 
>         /*
>          * All Hyper-V ISR required resources are setup, now let's find a
>          * free IDT vector for Hyper-V ISR and set it up.
>          */
>         sc->vmbus_idtvec = lapic_ipi_alloc(pti ? IDTVEC(vmbus_isr_pti) :
>             IDTVEC(vmbus_isr));
>         if (sc->vmbus_idtvec < 0) {
>                 device_printf(sc->vmbus_dev, "cannot find free IDT
> vector\n");
>                 return ENXIO;
>         }
> 
> Luckily for now I can work around this boot failure by adding vm.pmap.pti=0
> into /boot/loader.conf.
> 
> Any suggestion?

Try r328468.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180127113348.GY55707>