summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/os/microcode.c
diff options
context:
space:
mode:
authorDan McDonald <danmcd@joyent.com>2021-07-07 10:12:37 -0400
committerDan McDonald <danmcd@joyent.com>2021-07-07 10:12:41 -0400
commitd18a74b88693eb1597200dd2e5abe0727bc11ad9 (patch)
tree548750903500994239f19cd50b3cb7869c08bef4 /usr/src/uts/i86pc/os/microcode.c
parent4b6776536738b147f6c57dadedcfcfc0ac0a3a9b (diff)
parentffc946bc87951cc850a82348f705c4081080f818 (diff)
downloadillumos-joyent-d18a74b88693eb1597200dd2e5abe0727bc11ad9.tar.gz
[illumos-gate merge]
commit ffc946bc87951cc850a82348f705c4081080f818 13900 Update Intel microcode to 20210608 commit afcdc73a9924f4ee06d1c0e75823ab1db7d742c3 13901 Incorrect calculation of Intel microcode extended patch signature checksum commit b3d11974d0ef0679e47da102fafb125bb1d94470 13929 SMB encryption does not work with macOS 11.4 commit 74e12c43fe52f2c30f36e65a4d0fb0e8dfd7068a 3163 nss: need local netgroup implementation commit 1a065e93eee983124652c3eb0cfdcb4776cd89ab 12782 GRUB should pass pool and vdev GUIDs in $ZFS-BOOTFS commit 3a18338393f3485e50eae6288b6a9ab89e9f715a 13890 Some manual pages miss spaces next to formatting commit 88e8a81ba29ce242b8e7eade29af1f3d301ac525 13889 ctfdump -c should sort output stably commit 7781236b33d51a2eb1e29bf336bdba8ddfcfff6e 13884 dis(1) should pick stable names for symbols commit 1e9e241fbdc7ae75a7b37c1e7afc8c96d2f43e1e 13905 zfs holds is quadratic commit 6b641d7a35808436d7283b7057a01791e2e2a4e2 13861 bhyve apicv logic could take more care Conflicts: exception_lists/copyright exception_lists/keywords exception_lists/wscheck manifest
Diffstat (limited to 'usr/src/uts/i86pc/os/microcode.c')
-rw-r--r--usr/src/uts/i86pc/os/microcode.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/usr/src/uts/i86pc/os/microcode.c b/usr/src/uts/i86pc/os/microcode.c
index d07a79bf18..cbcecadbef 100644
--- a/usr/src/uts/i86pc/os/microcode.c
+++ b/usr/src/uts/i86pc/os/microcode.c
@@ -25,6 +25,7 @@
*
* Copyright 2012 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2018, Joyent, Inc.
+ * Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
*/
#include <sys/asm_linkage.h>
@@ -609,18 +610,18 @@ ucode_locate_intel(cpu_t *cp, cpu_ucode_info_t *uinfop, ucode_file_t *ufp)
rc = EM_FILESIZE;
} else if (ucode_checksum_intel(0, ext_size,
(uint8_t *)(ucodefp->uf_ext_table))) {
- rc = EM_CHECKSUM;
+ rc = EM_EXTCHECKSUM;
} else {
int i;
- ext_size -= UCODE_EXT_TABLE_SIZE_INTEL;
- for (i = 0; i < ucodefp->uf_ext_table->uet_count;
- i++) {
- if (ucode_checksum_intel(0,
- UCODE_EXT_SIG_SIZE_INTEL,
- (uint8_t *)(&(ucodefp->uf_ext_table->
- uet_ext_sig[i])))) {
- rc = EM_CHECKSUM;
+ for (i = 0; i < ucodefp->uf_ext_table->uet_count; i++) {
+ ucode_ext_sig_intel_t *sig;
+
+ sig = &ucodefp->uf_ext_table->uet_ext_sig[i];
+
+ if (ucode_checksum_intel_extsig(uhp,
+ sig) != 0) {
+ rc = EM_SIGCHECKSUM;
break;
}
}