diff --git a/usr/src/uts/intel/os/microcode.c b/usr/src/uts/intel/os/microcode.c index 85a516671966..073089b603fb 100644 --- a/usr/src/uts/intel/os/microcode.c +++ b/usr/src/uts/intel/os/microcode.c @@ -324,14 +324,13 @@ ucode_check(cpu_t *cp) } } - if (ucode == NULL) { - cmn_err(CE_CONT, - "?ucode: unsupported processor\n"); + if (ucode == NULL) goto out; - } +#ifdef DEBUG cmn_err(CE_CONT, "?ucode: selected %s\n", ucode->us_name); +#endif } } diff --git a/usr/src/uts/intel/os/microcode_amd.c b/usr/src/uts/intel/os/microcode_amd.c index 52192420c5e5..c59761de7afd 100644 --- a/usr/src/uts/intel/os/microcode_amd.c +++ b/usr/src/uts/intel/os/microcode_amd.c @@ -58,6 +58,9 @@ static uint_t ucode_eqtbl_amd_entries; static bool ucode_select_amd(cpu_t *cp) { + if ((get_hwenv() & HW_VIRTUAL) != 0) + return (false); + return (cpuid_getvendor(cp) == X86_VENDOR_AMD); } diff --git a/usr/src/uts/intel/os/microcode_intel.c b/usr/src/uts/intel/os/microcode_intel.c index 0e4f2ef9294e..34db096e678b 100644 --- a/usr/src/uts/intel/os/microcode_intel.c +++ b/usr/src/uts/intel/os/microcode_intel.c @@ -56,6 +56,9 @@ static ucode_file_intel_t intel_ucodef; static bool ucode_select_intel(cpu_t *cp) { + if ((get_hwenv() & HW_VIRTUAL) != 0) + return (false); + return (cpuid_getvendor(cp) == X86_VENDOR_Intel); }