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

Tom Zanussi tom.zanussi at intel.com
Tue Sep 2 09:26:38 PDT 2014


On Tue, 2014-09-02 at 11:21 -0500, Kamble, Nitin A wrote:
> 
> > -----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.
> 

OK, thanks for the explanation.  Would you mind updating the bug with
that information?

Thanks,

Tom


> 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