# # 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