Directly reserve an interrupt IDT entry for Hyper-V

Wei Hu weh at microsoft.com
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,
Wei
 

-----Original Message-----
From: Roger Pau Monné [mailto:roger.pau at citrix.com] 
Sent: Thursday, August 21, 2014 12:33 AM
To: John Baldwin; freebsd-drivers at freebsd.org
Cc: Wei Hu; freebsd-xen at freebsd.org; freebsd-virtualization at freebsd.org
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.

Roger.




More information about the freebsd-virtualization mailing list