Directly reserve an interrupt IDT entry for Hyper-V

Wei Hu weh at
Thu Aug 21 03:24:53 UTC 2014

Hi Roger and John,

I will request a free IDT slot instead of sharing the same vector with Xen. It would be great to have an API to do this. Before the API is available, I will probably use the same way as in vmm_ipi.c  to find a free slot.

Thanks so much for your help,

-----Original Message-----
From: Roger Pau Monné [mailto:roger.pau at] 
Sent: Thursday, August 21, 2014 12:33 AM
To: John Baldwin; freebsd-drivers at
Cc: Wei Hu; freebsd-xen at; freebsd-virtualization at
Subject: Re: Directly reserve an interrupt IDT entry for Hyper-V

On 20/08/14 17:31, John Baldwin wrote:
> On Wednesday, August 20, 2014 9:31:54 am Roger Pau Monné wrote:
>> Hello,
>> I don't think using the same IDT vector is the right approach, I 
>> would just pick a different IDT vector and use that for Hyper-V. 
>> Using the same IDT vector (like your suggestion above) would prevent 
>> shipping a kernel with with both Hyper-V and Xen support (like it's 
>> done now in GENERIC).
>> Roger.
> Hmm, can't you make this a runtime check to only call setidt() if you 
> detect you are under the appropriate hypervisor?
> Also, bhyve currently has a hackish way of requesting a free IDT slot.  
> Perhaps it would be best if I added little API to reserve an IDT slot 
> assuming that callers could accept a dynamic IDT vector rather than a static one.

That would work for Xen. The IDT vector doesn't need to be fixed since it's registered with Xen when the system boots.


More information about the freebsd-virtualization mailing list