nvmm: Fix SVM TSS restore on DragonFly
In DragonFly, PCPU(tss_gdt) points directly to the gdt[] entry for the
current CPU's TSS descriptor; while NetBSD's CPUVAR(GDT) points to the
gdtstore[] table. Fix that 'and' instruction so it works on DragonFly.
(Credit to Matt Dillon for debugging and fixing this.)
The 'and' instruction clears the busy bit (bit 41) so the TSS descriptor
becomes "available" for the reloading, as required by 'ltr' instruction.
(The TSS descriptor was in use prior to launching the guest so it has
been marked busy.)
Credit:
* Illumos: Bug #13029: AMD bhyve should reload TSS ASAP
https://www.illumos.org/issues/13029
* Illumos: 13029 AMD bhyve should reload TSS ASAP
https://github.com/illumos/illumos-gate/commit/
4d3fdeb14779bb6b0838521971d9ac99d65b0572