1.\" The contents of this file are subject to the terms of the Common 2.\" Development and Distribution License (the "License"). You may not use 3.\" this file except in compliance with the License. 4.\" 5.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or 6.\" http://www.opensolaris.org/os/licensing. See the License for the 7.\" specific language governing permissions and limitations under the 8.\" License. 9.\" 10.\" When distributing Covered Code, include this CDDL HEADER in each file 11.\" and include the License file at usr/src/OPENSOLARIS.LICENSE. If 12.\" applicable, add the following below this CDDL HEADER, with the fields 13.\" enclosed by brackets "[]" replaced with your own identifying 14.\" information: Portions Copyright [yyyy] [name of copyright owner] 15.\" 16.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved 17.\" Copyright 2022 OmniOS Community Edition (OmniOSce) Association. 18.\" 19.Dd July 23, 2022 20.Dt UCODEADM 8 21.Os 22.Sh NAME 23.Nm ucodeadm 24.Nd processor microcode utility 25.Sh SYNOPSIS 26.Nm 27.Fl i 28.Op Fl R Ar path 29.Ar microcode-file 30.Nm 31.Fl l 32.Ar microcode-file 33.Nm 34.Fl u 35.Ar microcode-file 36.Nm 37.Fl v 38.Sh DESCRIPTION 39The 40.Nm 41utility can be used to report the running microcode revision on the processors, 42update microcode, extract microcode to the target system to be used during the 43boot process, or to view details of the microcode patches contained within 44.Ar microcode-file , 45where 46.Ar microcode-file 47is an update obtained from a processor vendor. 48.Pp 49In general, processor microcode updates are provided as part of the operating 50system and automatically applied during system boot, and there is no need for a 51system administrator to use 52.Nm 53directly. 54The operating system bundled files are not suitable for use with 55.Nm . 56.Sh OPTIONS 57.Bl -tag -width Ds 58.It Fl i Ar microcode-file 59Install microcode files on target system to be used during the next boot cycle. 60The text file name must have the vendor name prefix, such as 61.Dq intel 62or 63.Dq amd . 64.Pp 65By default the microcode files will be installed at: 66.Pp 67.D1 Pa /platform/i86pc/ucode/$VENDORSTR/ 68.Pp 69where 70.Dv VENDORSTR 71is either 72.Dq GenuineIntel 73or 74.Dq AuthenticAMD . 75.It Fl l Ar microcode-file 76Display details of the microcode patches contained within 77.Ar microcode-file . 78.It Fl u Ar microcode-file 79Update microcode on all cross-call interrupt ready processors. 80.It Fl v 81Report the microcode revision for each CPU on the current system. 82.It Fl R Ar alternate-path 83Install 84.Ar microcode 85files into the provided 86.Ar alternate-path . 87.El 88.Sh EXIT STATUS 89The following exit values are returned: 90.Bl -tag -width Ds 91.It 0 92Successful completion. 93.It >0 94An error occurred. 95.El 96.Sh EXAMPLES 97.Sy Example 1 No Reporting the Microcode Revision 98.Pp 99The following example displays the microcode revision that is currently running: 100.Bd -literal -offset 4n 101# ucodeadm -v 102CPU Microcode Version 1030 0x2f 1041 0x2f 105.Ed 106.Pp 107.Sy Example 2 No Updating the Processor Microcode 108.Pp 109The following example updates the processor microcode using 110.Pa intel-ucode.txt : 111.Bd -literal -offset 4n 112# ucodeadm -u intel-ucode.txt 113.Ed 114.Pp 115.Sy Example 3 No Installing the Microcode on the Target System 116.Pp 117The following example installs the microcode into 118.Pa /export/ucode-path 119on the target system: 120.Bd -literal -offset 4n 121# ucodeadm -i -R /export/ucode-path intel-ucode.txt 122# ls /export/ucode-path 12300001632-00 124.Ed 125.Pp 126If an alternate path is used when installing the microcode on the target 127system, the installed microcode file is not used on the next boot cycle. 128.Pp 129.Sy Example 4 No Listing the contents of a microcode file 130.Bd -literal -offset 4n 131# ucodeadm -l amd_fam17h.bin 132Equivalence table: 133 00800F82 Family=17 Model=08 Stepping=02 -> 8082 134 00800F12 Family=17 Model=01 Stepping=02 -> 8012 135 00830F10 Family=17 Model=31 Stepping=00 -> 8310 136Microcode patches: 137 8082 -> Patch=0800820D Date=04162019 Bytes=3200 138 8012 -> Patch=0800126E Date=11112021 Bytes=3200 139 8310 -> Patch=08301055 Date=02152022 Bytes=3200 140 141# ucodeadm -l intel-ucode.txt 142Microcode patches: 143 00090672-03 -> Family=06 Model=97 Stepping=02 144 Date=03032022 Bytes=212876 145Extended Signature Table: 146 00090672-03 -> Family=06 Model=97 Stepping=02 147 00090675-03 -> Family=06 Model=97 Stepping=05 148 000B06F2-03 -> Family=06 Model=bf Stepping=02 149 000B06F5-03 -> Family=06 Model=bf Stepping=05 150.Ed 151.Sh INTERFACE STABILITY 152The command line interface of 153.Nm 154is 155.Sy Committed . 156The output of 157.Nm 158is 159.Sy Not-An-Interface 160and may change at any time. 161.Sh SEE ALSO 162.Xr attributes 7 , 163.Xr psradm 8 , 164.Xr psrinfo 8 165