summaryrefslogtreecommitdiff
path: root/usr/src/data/ucode/README.ucode
blob: ae069998337d23791e4cda42d4f840031b01594d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2019 Joyent, Inc.
# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
#

Microcode Management

Historically microcode files were delivered by Intel as a single
microcode file that we would break apart and install with ucodeadm. Each
individual file represented a single platform's microcode. However,
recently Intel has changed that policy and is no longer distributing
microcode in that fashion. Further, we also relied on bootadm to go
through and turn this microcode into individual files as part of setting
up the boot environment.

Intead of using this method, we will update the microcode and manage
them in here as individual files. When updating files, please indicate
the release that the microcode was obtained from here.

>>> Intel

The upstream microcode for Intel can currently be found at:

    https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files

The script "update.intel" in this directory can be used to help automate
the update by providing a tarball of the above microcode, and takes care
of updating the manifest as necessary. Be careful about new files.

Intel - see:
    usr/src/pkg/manifests/system-microcode-intel.p5m
for exact current version

>>> AMD

The upstream microcode for AMD can currently be found at:

    git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

The script "update.amd" in this directory can be used to help automate
the update by automatically checking out the latest upstream firmware and
inserting it into the tree and package manifest. Be careful about new files.

NOTE: If any microcode file is larger than 8KiB (8192 bytes), then the size of
      the ucode_file_amd_t structure in uts/common/sys/ucode.h will need
      increasing to cater for this.

AMD - see:
    usr/src/pkg/manifests/system-microcode-amd.p5m
for exact current version