On 21/10/21 13:49, Paolo Bonzini wrote:
Patches 1-4 clean up tss_descr; it is declared as a struct descriptor_table_ptr but it is actualy pointing to an _entry_ in the GDT. Also it is different per CPU, but tss_descr does not recognize that. Fix both by reusing the code (already present e.g. in the vmware_backdoors test) that extracts the base from the GDT entry; and also provide a helper to retrieve the limit, which is needed in vmx.c. Patches 5-9 move the IDT, GDT and TSS to C code. This was originally done by Zixuan Wang for the UEFI port, which is 64-bit only. The series extends this to 32-bit code for consistency and to avoid duplicating code between C and assembly. Paolo
I'm going to post a v4, since the gitlab CI showed some small issues. Paolo