summaryrefslogtreecommitdiffstats
path: root/recipes-core/microcode/intel-microcode_20200508.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/microcode/intel-microcode_20200508.bb')
-rw-r--r--recipes-core/microcode/intel-microcode_20200508.bb68
1 files changed, 68 insertions, 0 deletions
diff --git a/recipes-core/microcode/intel-microcode_20200508.bb b/recipes-core/microcode/intel-microcode_20200508.bb
new file mode 100644
index 00000000..c786a2e2
--- /dev/null
+++ b/recipes-core/microcode/intel-microcode_20200508.bb
@@ -0,0 +1,68 @@
1SUMMARY = "Intel Processor Microcode Datafile for Linux"
2HOMEPAGE = "http://www.intel.com/"
3DESCRIPTION = "The microcode data file contains the latest microcode\
4 definitions for all Intel processors. Intel releases microcode updates\
5 to correct processor behavior as documented in the respective processor\
6 specification updates. While the regular approach to getting this microcode\
7 update is via a BIOS upgrade, Intel realizes that this can be an\
8 administrative hassle. The Linux operating system and VMware ESX\
9 products have a mechanism to update the microcode after booting.\
10 For example, this file will be used by the operating system mechanism\
11 if the file is placed in the /etc/firmware directory of the Linux system."
12
13LICENSE = "Intel-Microcode-License"
14LIC_FILES_CHKSUM = "file://license;md5=6b58767419df274d2409b294ddae17e6"
15
16SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https \
17 "
18
19SRCREV = "d6e1db6755da2d682f4558d1723f16f26575c4d1"
20
21DEPENDS = "iucode-tool-native"
22S = "${WORKDIR}/git"
23
24COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
25PACKAGE_ARCH = "${MACHINE_ARCH}"
26
27inherit deploy
28
29# Use any of the iucode_tool parameters to filter specific microcodes from the data file
30# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool
31UCODE_FILTER_PARAMETERS ?= ""
32
33do_compile() {
34 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
35 ${UCODE_FILTER_PARAMETERS} \
36 --overwrite \
37 --write-to=${WORKDIR}/microcode_${PV}.bin \
38 ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
39
40 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
41 ${UCODE_FILTER_PARAMETERS} \
42 --overwrite \
43 --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \
44 ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
45}
46
47do_install() {
48 install -d ${D}${nonarch_base_libdir}/firmware/intel-ucode/
49 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
50 --write-firmware=${D}${nonarch_base_libdir}/firmware/intel-ucode \
51 ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/*
52}
53
54do_deploy() {
55 install -d ${DEPLOYDIR}
56 install ${WORKDIR}/microcode_${PV}.cpio ${DEPLOYDIR}/
57 cd ${DEPLOYDIR}
58 rm -f microcode.cpio
59 ln -sf microcode_${PV}.cpio microcode.cpio
60}
61
62addtask deploy before do_build after do_compile
63
64PACKAGES = "${PN}"
65
66FILES_${PN} = "${nonarch_base_libdir}"
67
68UPSTREAM_CHECK_GITTAGREGEX = "^microcode-(?P<pver>(\d+)[a-z]*)$"