[meta-intel] [Patch v5 3/5] intel-microcode: a recipe for Intel microcode datafile

Kamble, Nitin A nitin.a.kamble at intel.com
Tue Sep 2 09:21:41 PDT 2014



> -----Original Message-----
> From: Zanussi, Tom
> Sent: Tuesday, September 02, 2014 8:43 AM
> To: Kamble, Nitin A
> Cc: Hart, Darren; Burton, Ross; meta-intel at yoctoproject.org
> Subject: Re: [Patch v5 3/5] intel-microcode: a recipe for Intel microcode
> datafile
> 
> On Fri, 2014-08-29 at 10:22 -0700, nitin.a.kamble at intel.com wrote:
> > 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.
> >
> > [ YOCTO #5114 ]
> >
> 
> The last entry in this bug says that the microcode recipe can go away, so why
> is this needed?
> 


The plan is to get the microcode delivered through the linux-firmware repository. But it is taking time for that to happen. So until that happens we use the intel-microcode recipe. And once the Intel microcode is available through the linux-firmware repository, then the intel-microcode recipe will be replaced by extensions to the linux-firmware recipe.

Nitin

> Tom
> 
> > 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_20140624.bb          |  52 +++++++++
> >  2 files changed, 175 insertions(+)
> >  create mode 100644 common/custom-licenses/Intel-Microcode-License
> >  create mode 100644
> > common/recipes-core/microcode/intel-microcode_20140624.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_20140624.bb
> > b/common/recipes-core/microcode/intel-microcode_20140624.bb
> > new file mode 100644
> > index 0000000..b01d8a5
> > --- /dev/null
> > +++ b/common/recipes-core/microcode/intel-microcode_20140624.bb
> > @@ -0,0 +1,52 @@
> > +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://microcode.dat;md5=3c3b208607a00a3d70aad3af5629f7c7"
> > +
> > +SRC_URI = "http://downloadmirror.intel.com/23984/eng/microcode-
> 20140624.tgz"
> > +SRC_URI[md5sum] = "eec20032e6bef99dc4282c0ca317e100"
> > +SRC_URI[sha256sum] =
> "b4662ac780438a7b2d87e6d26a7066feb807f37c6e5b6fa147089f4edb02ea37"
> > +
> > +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}"
> 



More information about the meta-intel mailing list