[meta-intel] [Patch v3 3/7] intel-microcode: a recipe for Intel microcode datafile

nitin.a.kamble at intel.com nitin.a.kamble at intel.com
Thu Jul 17 15:49:13 PDT 2014


From: Nitin A Kamble <nitin.a.kamble at intel.com>

This recipe provides the microcode datafile for Intel Processors.

The recipe provides:
 1. microcode.dat file for microcode updating from user space with the
    iucode-tool utility.
 2. the microcode cpio file which gets bundled with the initrd to support
    microcode loading at early boot time.

Note that this recipe has LICENSE_FLAGS so will need to be whitelisted before
it's usable.

[ YOCTO #5114 ]

Signed-off-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
---
 common/custom-licenses/Intel-Microcode-License     | 123 +++++++++++++++++++++
 .../microcode/intel-microcode_20140430.bb          |  53 +++++++++
 2 files changed, 176 insertions(+)
 create mode 100644 common/custom-licenses/Intel-Microcode-License
 create mode 100644 common/recipes-core/microcode/intel-microcode_20140430.bb

diff --git a/common/custom-licenses/Intel-Microcode-License b/common/custom-licenses/Intel-Microcode-License
new file mode 100644
index 0000000..af5b41c
--- /dev/null
+++ b/common/custom-licenses/Intel-Microcode-License
@@ -0,0 +1,123 @@
+INTEL SOFTWARE LICENSE AGREEMENT 
+
+IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. 
+Do not use or load this software and any associated materials (collectively, 
+the "Software") until you have carefully read the following terms and 
+conditions. By loading or using the Software, you agree to the terms of this 
+Agreement. If you do not wish to so agree, do not install or use the Software.
+
+LICENSES: Please Note:
+- If you are a network administrator, the "Site License" below shall 
+apply to you.
+- If you are an end user, the "Single User License" shall apply to you.
+- If you are an original equipment manufacturer (OEM), the "OEM License" 
+shall apply to you.
+
+SITE LICENSE. You may copy the Software onto your organization's computers 
+for your organization's use, and you may make a reasonable number of 
+back-up copies of the Software, subject to these conditions:
+
+1. This Software is licensed for use only in conjunction with Intel 
+component products. Use of the Software in conjunction with non-Intel 
+component products is not licensed hereunder. 
+2. You may not copy, modify, rent, sell, distribute or transfer any part 
+of the Software except as provided in this Agreement, and you agree to 
+prevent unauthorized copying of the Software.
+3. You may not reverse engineer, decompile, or disassemble the Software. 
+4. You may not sublicense or permit simultaneous use of the Software by 
+more than one user.
+5. The Software may include portions offered on terms in addition to those
+set out here, as set out in a license accompanying those portions. 
+
+SINGLE USER LICENSE. You may copy the Software onto a single computer for 
+your personal, noncommercial use, and you may make one back-up copy of the
+Software, subject to these conditions:
+
+1. This Software is licensed for use only in conjunction with Intel 
+component products. Use of the Software in conjunction with non-Intel 
+component products is not licensed hereunder. 
+2. You may not copy, modify, rent, sell, distribute or transfer any part 
+of the Software except as provided in this Agreement, and you agree to 
+prevent unauthorized copying of the Software.
+3. You may not reverse engineer, decompile, or disassemble the Software. 
+4. You may not sublicense or permit simultaneous use of the Software by 
+more than one user.
+5. The Software may include portions offered on terms in addition to those
+set out here, as set out in a license accompanying those portions. 
+
+OEM LICENSE: You may reproduce and distribute the Software only as an 
+integral part of or incorporated in Your product or as a standalone 
+Software maintenance update for existing end users of Your products, 
+excluding any other standalone products, subject to these conditions:
+
+1. This Software is licensed for use only in conjunction with Intel 
+component products. Use of the Software in conjunction with non-Intel 
+component products is not licensed hereunder.
+2. You may not copy, modify, rent, sell, distribute or transfer any part 
+of the Software except as provided in this Agreement, and you agree to 
+prevent unauthorized copying of the Software.
+3. You may not reverse engineer, decompile, or disassemble the Software. 
+4. You may only distribute the Software to your customers pursuant to a 
+written license agreement. Such license agreement may be a "break-the-
+seal" license agreement. At a minimum such license shall safeguard 
+Intel's ownership rights to the Software.
+5. The Software may include portions offered on terms in addition to those
+set out here, as set out in a license accompanying those portions.
+
+NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly 
+or by implication, with respect to any proprietary information or patent, 
+copyright, mask work, trademark, trade secret, or other intellectual property
+right owned or controlled by Intel, except as expressly provided in this 
+Agreement.
+
+OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software 
+remains with Intel or its suppliers. The Software is copyrighted and 
+protected by the laws of the United States and other countries, and 
+international treaty provisions. You may not remove any copyright notices 
+from the Software. Intel may make changes to the Software, or to items 
+referenced therein, at any time without notice, but is not obligated to 
+support or update the Software. Except as otherwise expressly provided, Intel
+grants no express or implied right under Intel patents, copyrights, 
+trademarks, or other intellectual property rights. You may transfer the 
+Software only if the recipient agrees to be fully bound by these terms and if 
+you retain no copies of the Software.
+
+LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on 
+physical media, Intel warrants the media to be free from material physical 
+defects for a period of ninety days after delivery by Intel. If such a defect 
+is found, return the media to Intel for replacement or alternate delivery of 
+the Software as Intel may select.
+
+EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS 
+PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND 
+INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A 
+PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the 
+accuracy or completeness of any information, text, graphics, links or other 
+items contained within the Software.
+
+LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE 
+FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, 
+BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR 
+INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE 
+POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR 
+LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL 
+DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE 
+OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. 
+
+TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time
+if you violate its terms. Upon termination, you will immediately destroy the 
+Software or return all copies of the Software to Intel.
+
+APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
+laws of California, excluding its principles of conflict of laws and the 
+United Nations Convention on Contracts for the Sale of Goods. You may not 
+export the Software in violation of applicable export laws and regulations. 
+Intel is not obligated under any other agreements unless they are in writing 
+and signed by an authorized representative of Intel.
+
+GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED 
+RIGHTS." Use, duplication, or disclosure by the Government is subject to 
+restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its
+successor. Use of the Software by the Government constitutes acknowledgment 
+of Intel's proprietary rights therein. Contractor or Manufacturer is Intel
+2200 Mission College Blvd., Santa Clara, CA 95052. 
diff --git a/common/recipes-core/microcode/intel-microcode_20140430.bb b/common/recipes-core/microcode/intel-microcode_20140430.bb
new file mode 100644
index 0000000..f8aa45f
--- /dev/null
+++ b/common/recipes-core/microcode/intel-microcode_20140430.bb
@@ -0,0 +1,53 @@
+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"
+LICENSE_FLAGS = "license_${PN}_${PV}"
+LIC_FILES_CHKSUM = "file://microcode.dat;md5=64b91c8f504ef24a040ca129d1c2f657"
+
+SRC_URI = "http://downloadmirror.intel.com/23829/eng/microcode-20140430.tgz"
+SRC_URI[md5sum] = "99c811133b002d1e73150f667a6a77f4"
+SRC_URI[sha256sum] = "2e67767fd561164a2b09831020c2d36600ad336a9c0c117f1964edef284e4351"
+
+DEPENDS = "iucode-tool-native"
+S = "${WORKDIR}"
+
+inherit allarch
+inherit deploy
+
+do_compile() {
+	mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode
+	${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool --overwrite --write-to=${WORKDIR}/microcode_${PV}.bin ${WORKDIR}/microcode.dat
+
+	${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool --overwrite --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio ${WORKDIR}/microcode.dat
+}
+
+do_install() {
+	install -d ${D}${base_libdir}/firmware/intel-ucode/
+	install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/
+	cd ${D}${base_libdir}/firmware/intel-ucode/
+	ln -sf microcode_${PV}.bin microcode.bin
+}
+
+do_deploy() {
+	install -d ${DEPLOYDIR}
+	install ${S}/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} = "${base_libdir}"
-- 
1.8.1.4



More information about the meta-intel mailing list