Directly reserve an interrupt IDT entry for Hyper-V
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,
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:
>> 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).
> 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