mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 12:59:03 +02:00

The /dev/microcode interface and microcode-ctl utility has been deprecated in favor of the new kernel /sys/devices/system/cpu/microcode/reload interface as documented in: https://github.com/torvalds/linux/blob/master/Documentation/x86/microcode.rst It expects the microcode binaries to be split out and loaded from /lib/firmware, eg: /lib/firmware/intel-ucode/06-01-01 /lib/firmware/intel-ucode/06-01-02 /lib/firmware/intel-ucode/06-01-06 /lib/firmware/intel-ucode/06-01-07 /lib/firmware/intel-ucode/06-01-09 ... This change does not affect the earlyfw cpio generated by inte-ucode. Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
69 lines
2.3 KiB
BlitzBasic
69 lines
2.3 KiB
BlitzBasic
SUMMARY = "Intel Processor Microcode Datafile for Linux"
|
|
HOMEPAGE = "http://www.intel.com/"
|
|
DESCRIPTION = "The microcode data file contains the latest microcode\
|
|
definitions for all Intel processors. Intel releases microcode updates\
|
|
to correct processor behavior as documented in the respective processor\
|
|
specification updates. While the regular approach to getting this microcode\
|
|
update is via a BIOS upgrade, Intel realizes that this can be an\
|
|
administrative hassle. The Linux operating system and VMware ESX\
|
|
products have a mechanism to update the microcode after booting.\
|
|
For example, this file will be used by the operating system mechanism\
|
|
if the file is placed in the /etc/firmware directory of the Linux system."
|
|
|
|
LICENSE = "Intel-Microcode-License"
|
|
LIC_FILES_CHKSUM = "file://license;md5=99b296eb12723fd1eeb52e24971eed84"
|
|
|
|
SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https \
|
|
"
|
|
|
|
SRCREV = "940d904b7272edd689a5f0eef9dee09c13746748"
|
|
|
|
DEPENDS = "iucode-tool-native"
|
|
S = "${WORKDIR}/git"
|
|
|
|
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
|
|
inherit deploy
|
|
|
|
# Use any of the iucode_tool parameters to filter specific microcodes from the data file
|
|
# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool
|
|
UCODE_FILTER_PARAMETERS ?= ""
|
|
|
|
do_compile() {
|
|
${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
|
|
${UCODE_FILTER_PARAMETERS} \
|
|
--overwrite \
|
|
--write-to=${WORKDIR}/microcode_${PV}.bin \
|
|
${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
|
|
|
|
${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
|
|
${UCODE_FILTER_PARAMETERS} \
|
|
--overwrite \
|
|
--write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \
|
|
${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
|
|
}
|
|
|
|
do_install() {
|
|
install -d ${D}${nonarch_base_libdir}/firmware/intel-ucode/
|
|
${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
|
|
--write-firmware=${D}${nonarch_base_libdir}/firmware/intel-ucode \
|
|
${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
|
|
}
|
|
|
|
do_deploy() {
|
|
install -d ${DEPLOYDIR}
|
|
install ${WORKDIR}/microcode_${PV}.cpio ${DEPLOYDIR}/
|
|
cd ${DEPLOYDIR}
|
|
rm -f microcode.cpio
|
|
ln -sf microcode_${PV}.cpio microcode.cpio
|
|
}
|
|
|
|
addtask deploy before do_build after do_compile
|
|
|
|
PACKAGES = "${PN}"
|
|
|
|
FILES_${PN} = "${nonarch_base_libdir}"
|
|
|
|
UPSTREAM_CHECK_GITTAGREGEX = "^microcode-(?P<pver>(\d+)[a-z])$"
|