15414 Update intel CPU Microcode to 20230214
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Robert Mustacchi <rm@fingolfin.org>
diff --git a/usr/src/data/ucode/intel/00050653-01 b/usr/src/data/ucode/intel/00050653-01
index 91b8a8f..e148116 100644
--- a/usr/src/data/ucode/intel/00050653-01
+++ b/usr/src/data/ucode/intel/00050653-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/00050656-01 b/usr/src/data/ucode/intel/00050656-01
index 0ee9bbf..0eadfc4 100644
--- a/usr/src/data/ucode/intel/00050656-01
+++ b/usr/src/data/ucode/intel/00050656-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/00050657-01 b/usr/src/data/ucode/intel/00050657-01
index 322bdb4..27022d1 100644
--- a/usr/src/data/ucode/intel/00050657-01
+++ b/usr/src/data/ucode/intel/00050657-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/0005065B-01 b/usr/src/data/ucode/intel/0005065B-01
index 456290a..7713482 100644
--- a/usr/src/data/ucode/intel/0005065B-01
+++ b/usr/src/data/ucode/intel/0005065B-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000606A6-01 b/usr/src/data/ucode/intel/000606A6-01
index fc4e3aa..df79ee9 100644
--- a/usr/src/data/ucode/intel/000606A6-01
+++ b/usr/src/data/ucode/intel/000606A6-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000606C1-10 b/usr/src/data/ucode/intel/000606C1-10
index 3a562a0..e82aeaf 100644
--- a/usr/src/data/ucode/intel/000606C1-10
+++ b/usr/src/data/ucode/intel/000606C1-10
Binary files differ
diff --git a/usr/src/data/ucode/intel/000706A1-01 b/usr/src/data/ucode/intel/000706A1-01
index e69a6c8..04e1228 100644
--- a/usr/src/data/ucode/intel/000706A1-01
+++ b/usr/src/data/ucode/intel/000706A1-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000706A8-01 b/usr/src/data/ucode/intel/000706A8-01
index 8d5811b..0107cef 100644
--- a/usr/src/data/ucode/intel/000706A8-01
+++ b/usr/src/data/ucode/intel/000706A8-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000706E5-80 b/usr/src/data/ucode/intel/000706E5-80
index 747490c..7f077f3 100644
--- a/usr/src/data/ucode/intel/000706E5-80
+++ b/usr/src/data/ucode/intel/000706E5-80
Binary files differ
diff --git a/usr/src/data/ucode/intel/000806A1-10 b/usr/src/data/ucode/intel/000806A1-10
index ae97071..43c75e5 100644
--- a/usr/src/data/ucode/intel/000806A1-10
+++ b/usr/src/data/ucode/intel/000806A1-10
Binary files differ
diff --git a/usr/src/data/ucode/intel/000806F4-01 b/usr/src/data/ucode/intel/000806F4-01
new file mode 100644
index 0000000..584b5b8
--- /dev/null
+++ b/usr/src/data/ucode/intel/000806F4-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000806F4-10 b/usr/src/data/ucode/intel/000806F4-10
new file mode 100644
index 0000000..e3b0b28
--- /dev/null
+++ b/usr/src/data/ucode/intel/000806F4-10
Binary files differ
diff --git a/usr/src/data/ucode/intel/00090672-01 b/usr/src/data/ucode/intel/00090672-01
index 02c8027..a88157c 100644
--- a/usr/src/data/ucode/intel/00090672-01
+++ b/usr/src/data/ucode/intel/00090672-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000906A3-80 b/usr/src/data/ucode/intel/000906A3-80
index 4d65617..ba7522a 100644
--- a/usr/src/data/ucode/intel/000906A3-80
+++ b/usr/src/data/ucode/intel/000906A3-80
Binary files differ
diff --git a/usr/src/data/ucode/intel/000906C0-01 b/usr/src/data/ucode/intel/000906C0-01
index f50225b..991f352 100644
--- a/usr/src/data/ucode/intel/000906C0-01
+++ b/usr/src/data/ucode/intel/000906C0-01
Binary files differ
diff --git a/usr/src/data/ucode/intel/000A0671-02 b/usr/src/data/ucode/intel/000A0671-02
index 54f013a..8428ba4 100644
--- a/usr/src/data/ucode/intel/000A0671-02
+++ b/usr/src/data/ucode/intel/000A0671-02
Binary files differ
diff --git a/usr/src/data/ucode/intel/000B0671-02 b/usr/src/data/ucode/intel/000B0671-02
index 7e7f2fc..13b4955 100644
--- a/usr/src/data/ucode/intel/000B0671-02
+++ b/usr/src/data/ucode/intel/000B0671-02
Binary files differ
diff --git a/usr/src/data/ucode/intel/000B06A2-40 b/usr/src/data/ucode/intel/000B06A2-40
new file mode 100644
index 0000000..e9897b3
--- /dev/null
+++ b/usr/src/data/ucode/intel/000B06A2-40
Binary files differ
diff --git a/usr/src/data/ucode/intel/Makefile.links b/usr/src/data/ucode/intel/Makefile.links
index 49c5ce9..7168ff5 100644
--- a/usr/src/data/ucode/intel/Makefile.links
+++ b/usr/src/data/ucode/intel/Makefile.links
@@ -163,6 +163,28 @@
000806EB-80 \
000806EC-10 \
000806EC-80 \
+ 000806F4-02 \
+ 000806F4-04 \
+ 000806F4-80 \
+ 000806F5-01 \
+ 000806F5-02 \
+ 000806F5-04 \
+ 000806F5-10 \
+ 000806F5-80 \
+ 000806F6-01 \
+ 000806F6-02 \
+ 000806F6-04 \
+ 000806F6-10 \
+ 000806F6-80 \
+ 000806F7-01 \
+ 000806F7-02 \
+ 000806F7-04 \
+ 000806F7-80 \
+ 000806F8-01 \
+ 000806F8-02 \
+ 000806F8-04 \
+ 000806F8-10 \
+ 000806F8-80 \
00090672-02 \
00090672-04 \
00090675-01 \
@@ -178,6 +200,9 @@
000A0655-20 \
000B0671-10 \
000B0671-20 \
+ 000B06A2-80 \
+ 000B06A3-40 \
+ 000B06A3-80 \
000B06F2-01 \
000B06F2-02 \
000B06F2-04 \
@@ -644,6 +669,72 @@
$(ROOTINTELDIR)/000806EC-80: $(ROOTINTELDIR)/000806EC-04
$(RM) $@; $(LN) $^ $@
+$(ROOTINTELDIR)/000806F4-02: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F4-04: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F4-80: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F5-01: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F5-02: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F5-04: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F5-10: $(ROOTINTELDIR)/000806F4-10
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F5-80: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F6-01: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F6-02: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F6-04: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F6-10: $(ROOTINTELDIR)/000806F4-10
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F6-80: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F7-01: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F7-02: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F7-04: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F7-80: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F8-01: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F8-02: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F8-04: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F8-10: $(ROOTINTELDIR)/000806F4-10
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000806F8-80: $(ROOTINTELDIR)/000806F4-01
+ $(RM) $@; $(LN) $^ $@
+
$(ROOTINTELDIR)/00090672-02: $(ROOTINTELDIR)/00090672-01
$(RM) $@; $(LN) $^ $@
@@ -689,6 +780,15 @@
$(ROOTINTELDIR)/000B0671-20: $(ROOTINTELDIR)/000B0671-02
$(RM) $@; $(LN) $^ $@
+$(ROOTINTELDIR)/000B06A2-80: $(ROOTINTELDIR)/000B06A2-40
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000B06A3-40: $(ROOTINTELDIR)/000B06A2-40
+ $(RM) $@; $(LN) $^ $@
+
+$(ROOTINTELDIR)/000B06A3-80: $(ROOTINTELDIR)/000B06A2-40
+ $(RM) $@; $(LN) $^ $@
+
$(ROOTINTELDIR)/000B06F2-01: $(ROOTINTELDIR)/00090672-01
$(RM) $@; $(LN) $^ $@
diff --git a/usr/src/pkg/manifests/system-microcode-intel.p5m b/usr/src/pkg/manifests/system-microcode-intel.p5m
index 3411c75..fb3343a 100644
--- a/usr/src/pkg/manifests/system-microcode-intel.p5m
+++ b/usr/src/pkg/manifests/system-microcode-intel.p5m
@@ -24,7 +24,7 @@
# Copyright 2012 Nexenta Systems, Inc. All rights reserved.
# Copyright 2014 Gary Mills
# Copyright 2019 Peter Tribble.
-# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
+# Copyright 2023 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2022 Joyent, Inc.
# Copyright 2022 MNX Cloud, Inc.
#
@@ -36,7 +36,7 @@
#
<include global_zone_only_component>
set name=pkg.fmri \
- value=pkg:/system/microcode/intel@20221108,$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH)
+ value=pkg:/system/microcode/intel@20230214,$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH)
set name=pkg.summary value="Microcode for Intel CPUs"
set name=pkg.description value="Microcode for Intel CPUs"
set name=info.classification value=org.opensolaris.category.2008:System/Core
@@ -581,6 +581,32 @@
reboot-needed=true
hardlink path=platform/i86pc/ucode/GenuineIntel/000806EC-10 target=000806EC-04
hardlink path=platform/i86pc/ucode/GenuineIntel/000806EC-80 target=000806EC-04
+file path=platform/i86pc/ucode/GenuineIntel/000806F4-01 group=sys mode=0444 \
+ reboot-needed=true
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F4-02 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F4-04 target=000806F4-01
+file path=platform/i86pc/ucode/GenuineIntel/000806F4-10 group=sys mode=0444 \
+ reboot-needed=true
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F4-80 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F5-01 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F5-02 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F5-04 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F5-10 target=000806F4-10
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F5-80 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F6-01 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F6-02 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F6-04 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F6-10 target=000806F4-10
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F6-80 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F7-01 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F7-02 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F7-04 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F7-80 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F8-01 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F8-02 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F8-04 target=000806F4-01
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F8-10 target=000806F4-10
+hardlink path=platform/i86pc/ucode/GenuineIntel/000806F8-80 target=000806F4-01
file path=platform/i86pc/ucode/GenuineIntel/00090661-01 group=sys mode=0444 \
reboot-needed=true
file path=platform/i86pc/ucode/GenuineIntel/00090672-01 group=sys mode=0444 \
@@ -628,6 +654,11 @@
reboot-needed=true
hardlink path=platform/i86pc/ucode/GenuineIntel/000B0671-10 target=000B0671-02
hardlink path=platform/i86pc/ucode/GenuineIntel/000B0671-20 target=000B0671-02
+file path=platform/i86pc/ucode/GenuineIntel/000B06A2-40 group=sys mode=0444 \
+ reboot-needed=true
+hardlink path=platform/i86pc/ucode/GenuineIntel/000B06A2-80 target=000B06A2-40
+hardlink path=platform/i86pc/ucode/GenuineIntel/000B06A3-40 target=000B06A2-40
+hardlink path=platform/i86pc/ucode/GenuineIntel/000B06A3-80 target=000B06A2-40
hardlink path=platform/i86pc/ucode/GenuineIntel/000B06F2-01 target=00090672-01
hardlink path=platform/i86pc/ucode/GenuineIntel/000B06F2-02 target=00090672-01
hardlink path=platform/i86pc/ucode/GenuineIntel/000B06F2-04 target=00090672-01
diff --git a/usr/src/uts/common/sys/ucode.h b/usr/src/uts/common/sys/ucode.h
index 3c5dd6e..8b11cd5 100644
--- a/usr/src/uts/common/sys/ucode.h
+++ b/usr/src/uts/common/sys/ucode.h
@@ -206,16 +206,16 @@
#define UCODE_DEFAULT_BODY_SIZE (UCODE_KB(2) - UCODE_HEADER_SIZE_INTEL)
/*
- * For a single microcode file, the minimum size is 1K, maximum size is 384K.
- * Such limitations, while somewhat artificial, are not only to provide better
- * sanity checks, but also avoid wasting precious memory at startup time as the
- * microcode buffer for the first processor has to be statically allocated.
+ * For a single microcode file, the following minimum and maximum sizes are
+ * defined. Such limitations, while somewhat artificial, are not only to
+ * provide better sanity checks, but also avoid wasting precious memory at
+ * startup time as the microcode buffer for the first processor has to be
+ * statically allocated.
*
- * For the concatenation of all the microcode binary files, the maximum size
- * is 16M.
+ * The last limit is for the concatenation of all the microcode binary files.
*/
#define UCODE_MIN_SIZE UCODE_KB(1)
-#define UCODE_MAX_SIZE UCODE_KB(384)
+#define UCODE_MAX_SIZE UCODE_MB(2)
#define UCODE_MAX_COMBINED_SIZE UCODE_MB(16)
#define UCODE_SIZE_CONVERT(size, default_size) \