Print this page
OS-7125 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>


 934 
 935 #define NUM_X86_FEATURES        92
 936 extern uchar_t x86_featureset[];
 937 
 938 extern void free_x86_featureset(void *featureset);
 939 extern boolean_t is_x86_feature(void *featureset, uint_t feature);
 940 extern void add_x86_feature(void *featureset, uint_t feature);
 941 extern void remove_x86_feature(void *featureset, uint_t feature);
 942 extern boolean_t compare_x86_featureset(void *setA, void *setB);
 943 extern void print_x86_featureset(void *featureset);
 944 
 945 
 946 extern uint_t x86_type;
 947 extern uint_t x86_vendor;
 948 extern uint_t x86_clflush_size;
 949 
 950 extern uint_t pentiumpro_bug4046376;
 951 
 952 extern const char CyrixInstead[];
 953 


 954 #endif
 955 
 956 #if defined(_KERNEL)
 957 
 958 /*
 959  * This structure is used to pass arguments and get return values back
 960  * from the CPUID instruction in __cpuid_insn() routine.
 961  */
 962 struct cpuid_regs {
 963         uint32_t        cp_eax;
 964         uint32_t        cp_ebx;
 965         uint32_t        cp_ecx;
 966         uint32_t        cp_edx;
 967 };
 968 
 969 extern int x86_use_pcid;
 970 extern int x86_use_invpcid;
 971 
 972 /*
 973  * Utility functions to get/set extended control registers (XCR)




 934 
 935 #define NUM_X86_FEATURES        92
 936 extern uchar_t x86_featureset[];
 937 
 938 extern void free_x86_featureset(void *featureset);
 939 extern boolean_t is_x86_feature(void *featureset, uint_t feature);
 940 extern void add_x86_feature(void *featureset, uint_t feature);
 941 extern void remove_x86_feature(void *featureset, uint_t feature);
 942 extern boolean_t compare_x86_featureset(void *setA, void *setB);
 943 extern void print_x86_featureset(void *featureset);
 944 
 945 
 946 extern uint_t x86_type;
 947 extern uint_t x86_vendor;
 948 extern uint_t x86_clflush_size;
 949 
 950 extern uint_t pentiumpro_bug4046376;
 951 
 952 extern const char CyrixInstead[];
 953 
 954 extern void (*spec_l1d_flush)(void);
 955 
 956 #endif
 957 
 958 #if defined(_KERNEL)
 959 
 960 /*
 961  * This structure is used to pass arguments and get return values back
 962  * from the CPUID instruction in __cpuid_insn() routine.
 963  */
 964 struct cpuid_regs {
 965         uint32_t        cp_eax;
 966         uint32_t        cp_ebx;
 967         uint32_t        cp_ecx;
 968         uint32_t        cp_edx;
 969 };
 970 
 971 extern int x86_use_pcid;
 972 extern int x86_use_invpcid;
 973 
 974 /*
 975  * Utility functions to get/set extended control registers (XCR)