Print this page
10924 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Peter Tribble <peter.tribble@gmail.com>


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


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




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