Module Name:    src
Committed By:   martin
Date:           Wed Aug 26 17:55:49 UTC 2020

Modified Files:
        src/sys/dev/nvmm/x86 [netbsd-9]: nvmm_x86.c nvmm_x86.h nvmm_x86_svm.c
            nvmm_x86_vmx.c

Log Message:
Pull up following revision(s) (requested by maxv in ticket #1058):

        sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.70
        sys/dev/nvmm/x86/nvmm_x86.h: revision 1.19
        sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.69
        sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.71
        sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.69
        sys/dev/nvmm/x86/nvmm_x86.c: revision 1.11
        sys/dev/nvmm/x86/nvmm_x86.c: revision 1.12
        sys/dev/nvmm/x86/nvmm_x86.c: revision 1.13
        sys/dev/nvmm/x86/nvmm_x86.c: revision 1.14

Improve the CPUID emulation:
 - Hide SGX*, PKU, WAITPKG, and SKINIT, because they are not supported.
 - Hide HLE and RTM, part of TSX. Because TSX is just too buggy and we
   cannot guarantee that it remains enabled in the guest (if for example
   the host disables TSX while the guest is running). Nobody wants this
   crap anyway, so bye-bye.
 - Advertise FSREP_MOV, because no reason to hide it.

Hide OSPKE. NFC since the host never uses PKU, but still.

Improve the CPUID emulation on nvmm-intel:
 - Limit the highest extended leaf.
 - Limit 0x00000007 to ECX=0, for future-proofness.

nvmm-x86-svm: improve the CPUID emulation

Limit the hypervisor range, and properly handle each basic leaf until 0xD.

nvmm-x86: advertise the SERIALIZE instruction, available on future CPUs

nvmm-x86: improve the CPUID emulation
 - x86-svm: explicitly handle 0x80000007 and 0x80000008. The latter
   contains extended features we must filter out. Apply the same in
   x86-vmx for symmetry.
 - x86-svm: explicitly handle extended leaves until 0x8000001F, and
   truncate to it.


To generate a diff of this commit:
cvs rdiff -u -r1.7.4.3 -r1.7.4.4 src/sys/dev/nvmm/x86/nvmm_x86.c
cvs rdiff -u -r1.15.4.1 -r1.15.4.2 src/sys/dev/nvmm/x86/nvmm_x86.h
cvs rdiff -u -r1.46.4.8 -r1.46.4.9 src/sys/dev/nvmm/x86/nvmm_x86_svm.c
cvs rdiff -u -r1.36.2.10 -r1.36.2.11 src/sys/dev/nvmm/x86/nvmm_x86_vmx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to