svn commit: r328166 - in head/sys: amd64/amd64 x86/include x86/x86

Konstantin Belousov kostikbel at gmail.com
Sat Jan 27 11:34:00 UTC 2018


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.


More information about the svn-src-head mailing list