AMD

Please include microcode package for AMD processor familes 10h-14h,15h.

Bug #1068299 reported by Kim Naru
52
This bug affects 7 people
Affects Status Importance Assigned to Milestone
AMD
Fix Released
High
James M. Leddy
linux-firmware (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Undecided
Tim Gardner
Quantal
Fix Released
Undecided
Tim Gardner
Raring
Fix Released
Undecided
Unassigned

Bug Description

Please include the package, amd-ucode_1.0-1_amd64.deb in 12.10 and 13.04 release. This package contains the microcode for AMD family 10h-14h and family 15h.

The package contains the following files

amd-ucode/microcode_amd.bin
amd-ucode/microcode_amd.bin.README
amd-ucode/microcode_amd_fam15h.bin
amd-ucode/microcode_amd_fam15h.bin.README

Revision history for this message
Kim Naru (kim-naru) wrote :
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Kim - can you provide a tarball or repository pointer to the original packaging sources ?

summary: - Please include micrcode package for AMD processor familes 10h-14h,15h.
+ Please include microcode package for AMD processor familes 10h-14h,15h.
Revision history for this message
Kim Naru (kim-naru) wrote :

Tim,
I initially went to the following link and grabbed the tar ball amd-ucode-latest.tar :

http://www.amd64.org/support/microcode.html

From the amd -ucode-latest.tar I created the Debian package. I have attached a tar ball of the packaging source.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Kim - Since the microcode load process uses the standard request_firmware() function in the kernel, why not just add the ucode binaries to the linux-firmware package ? I believe the redistribution license is appropriate. Have you approached Ben Hutchings <email address hidden> about getting these binaries in the upstream repo ?

Revision history for this message
Kim Naru (kim-naru) wrote :

Tim a good question. No I have not approached Ben Hutchings. The long term plan is to do just that however since we needed something quickly I was told I needed to provide a Debian package.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Kim - Sorry for jerking you around. Once I really started to look into how CPU ucode is loaded these days I decided it just makes more sense to package it as standard firmware. The only thing that is stopping me from doing so is a license from AMD that explicitly allows redistribution and does not have a 'shrink wrap' provision such as this, " Do not install, copy or use the enclosed software, documentation and/or materials until you have carefully read and agreed to the following terms and conditions.". The Software License Agreement presented when you attempt to download the firmware from the AMD web site isn't going to work for linux-firmware. The alternative package is linux-firmware-nonfree that lives in Multiverse, though not everyone will know to install it.

In summary, I think your options in order of difficulty are 1) change the license, 2) continue to package amd-ucode and seek sponsoship to upload to multiverse, 3) have me add AMD ucode to linux-firmware-nonfree.

Revision history for this message
Kim Naru (kim-naru) wrote :

Tim,
I don't take it personally, you are doing your job.

 In regards to #1, the license, I do have an email from our legal department which states it isn't an issue. I forward the email to James and Leann. Would providing that be sufficient?

Would you explain what you mean by #2.

In #3 you would add the debian package and linux-fimrware-nonfree is part of the ubuntu archives? Customers can just do an apt get ?

Revision history for this message
James M. Leddy (jm-leddy) wrote :

I've duplicated bug 1051095 with this one, since they both ask for microcode for family 10h-14h and 15h processors. With regard to the question of "How does Intel do it", they have a license that is included in /usr/share/doc/intel-microcode/copyright that allows redistribution.

With regard to comment #7, the email granting us permission to redistribute still doesn't give us a license to distribute it under. For example, you probably want to say the code remains copyright AMD, and disclaim warranty. We would need such text for either #1 or #2. To see other licenses already in linux-firmware, you could clone the linux-firmware git tree and see the LICENSE.$vendor files within.

With regard to #3 that would mean that users would do an apt-get linux-firmware-nonfree to get the microcode, but personally I'd rather not go that route.

https://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=tree
https://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob;f=LICENCE.atheros_firmware

Changed in amd:
assignee: nobody → James M. Leddy (jm-leddy)
status: New → Incomplete
Revision history for this message
James M. Leddy (jm-leddy) wrote :

Here is the license as attached to AMD in bug 1051095:

Copyright © 2012 Advanced Micro Devices, Inc., All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following are met:
You must reproduce the above copyright notice.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific, prior, written permission format least the copyright holder.
You must include the following terms in your license and/or other materials provided with the software.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Without limiting the foregoing, the software may implement third party technologies for which you must obtain licenses from parties other than AMD. You agree that AMD has not obtained or conveyed to you, and that you shall be responsible for obtaining the rights to use and/or distribute the applicable underlying intellectual property rights related to the third party technologies. These third party technologies are not licensed hereunder.
If you use the software (in whole or in part), you shall adhere to all applicable U.S., European, and other export laws, including but not limited to the U.S. Export Administration Regulations (“EAR”), (15 C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No 1334/2000 of 22 June 2000. Further, pursuant to Section 740.6 of the EAR, you hereby certify that, except pursuant to a license granted by the United States Department of Commerce Bureau of Industry and Security or as otherwise permitted pursuant to a License Exception under the U.S. Export Administration Regulations ("EAR"), you will not (1) export, re-export or release to a national of a country in Country Groups D:1, E:1 or E:2 any restricted technology, software, or source code you receive hereunder, or (2) export to Country Groups D:1, E:1 or E:2 the direct product of such technology or software, if such foreign produced direct product is subject to national security controls as identified on the Commerce Control List (currently found in Supplement 1 to Part 774 of EAR). For the most current Country Group listings, or for additional information about the EAR or your obligations under those regulations, please refer to the U.S. Bureau of Industry and Security’s website at http://www.bis.doc.gov/.

Revision history for this message
Henry Hall (hlh) wrote :

Given the statement from Kim Naru below, Canonical Legal has approved this license so we may include this package into the multiverse archive when a proper maintainer on both sides is found.

-------- Original Message --------
Subject: There is no 3rd party code in the AMD micro-code
Date: Tue, 15 Jan 2013 19:22:40 +0000
From: Naru, Kim <email address hidden>
To: <email address hidden> <email address hidden>
CC: James M Leddy <email address hidden>
(<email address hidden>) <email address hidden>, Harmon, David
<email address hidden>

Henry,James,

I have been told by the micro code team that :

·AMD owns the ucode.

·AMD employees write the ucode source code and tools.

·The ucode does not include any third party code.

·The ucode does not include any open source.

I will work with David on addressing whether there are any export
controls on the microcode. If they aren’t, as we discussed, then the
legal blurb is ok. If there are export controls then I will find out
which counties fall into Group D:1,E:1,E:2 and work with David in
getting legal to change the wording.

--thanks

--kim

Changed in amd:
importance: Undecided → High
Tim Gardner (timg-tpi)
information type: Proprietary → Public
Changed in linux-firmware (Ubuntu Raring):
status: New → Fix Committed
assignee: nobody → Tim Gardner (timg-tpi)
Changed in amd:
status: Incomplete → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.100

---------------
linux-firmware (1.100) raring; urgency=low

  * Rebase against git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 65a5163b8bb77bd7759efa3ca780867fcaed89b0
    carl9170: Install binary in the parent directory, not /lib/firmware
    carl9170: Add checksum during installation, as preferred by the driver
    carl9170: Add and check SHA-256 sums for the toolchain tarballs
    carl9170: Fix minimum CMake version
    carl9170: Add full licence texts to BSD-licenced CMake files

  * Add AMD microcode.
    -LP: #1068299
 -- Tim Gardner <email address hidden> Tue, 29 Jan 2013 10:46:44 -0700

Changed in linux-firmware (Ubuntu Raring):
status: Fix Committed → Fix Released
Revision history for this message
James M. Leddy (jm-leddy) wrote :

We have smoke tested on an AMD Dinar and an E-350. Seems like everything is still working OK. Only the E-350 had a non-zero patch level.

Revision history for this message
Anthony Wong (anthonywong) wrote :

Can we also include the microcode in P and Q? This can be seen when using 3.5 kernel:

microcode: failed to load file amd-ucode/microcode_amd_fm15h.bin
microcode: failed to load file amd-ucode/microcode_amd_fm15h.bin
[...]

Revision history for this message
Removed by request (removed3425744) wrote :

If amd64-microcode is already installed linux-firmware 1.100 can't be installed:

sworddragon@ubuntu:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  linux-firmware
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.1 MB of archives.
After this operation, 815 kB of additional disk space will be used.
Do you want to continue [Y/n]?
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 90931 files and directories currently installed.)
Preparing to replace linux-firmware 1.99 (using .../linux-firmware_1.100_all.deb) ...
Unpacking replacement linux-firmware ...
dpkg: error processing /var/cache/apt/archives/linux-firmware_1.100_all.deb (--unpack):
 trying to overwrite '/lib/firmware/amd-ucode/microcode_amd_fam15h.bin', which is also in package amd64-microcode 1.20120910-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-firmware_1.100_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Maybe linux-firmware should remove amd64-microcode if it is already completely included.

Tim Gardner (timg-tpi)
Changed in linux-firmware (Ubuntu Raring):
assignee: Tim Gardner (timg-tpi) → nobody
Changed in linux-firmware (Ubuntu Precise):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux-firmware (Ubuntu Quantal):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Revision history for this message
Tim Gardner (timg-tpi) wrote :

SRU Justification (Precise/Quantal)

Impact: Kernels from at least v3.2 have support for loading AMD CPU microcode. The following errata are addressed:

;******************************************************************************
; The associated microcode container file fixes the errata as documented in
; Revision Guide for AMD Family 10h Processors, order #41322,
; Revision Guide for AMD Family 12h Processors, order #44739,
; Revision Guide for AMD Family 14h Models 00h-0Fh Processors, order #47534,
; for different revisions of AMD processors as follows:
;
; CPUIDFn[0000_0001]_EAX; ID; Errata fixed;
;
; 0x00100F22; 0x01000083; 244, 260, 280, 302, 308, 315, 342;
; 0x00100F23; 0x01000083; 244, 260, 280, 302, 308, 315, 342;
; 0x00100F2A; 0x01000084; 244, 260, 280, 302, 308, 315, 342;
; 0x00100F42; 0x010000DB; 342, 440, 573;
; 0x00100F43; 0x010000C8; 407, 440;
; 0x00100F52; 0x010000DB; 342, 440, 573;
; 0x00100F53; 0x010000C8; 407, 440;
; 0x00100F62; 0x010000C7; 407, 440;
; 0x00100F63; 0x010000C8; 407, 440;
; 0x00100F80; 0x010000DA; 419, 440, 573;
; 0x00100F81; 0x010000D9; #406, #407, #440, #573, #669;
; 0x00100F91; 0x010000D9; #406, #407, #440, #573, #669;
; 0x00100FA0; 0x010000DC; 438, 440, 573;
; 0x00300F10; 0x03000027; #564, #573, #662, #686;
; 0x00500F10; 0x05000028; #461, #564, #594, #595;
; 0x00500F20; 0x0500010D; #461, #564, #594, #639, #662, #686;
;
;******************************************************************************
;******************************************************************************
; The associated microcode container file fixes the errata as documented in
; Revision Guide for AMD Family 15h Models 00h-0Fh Processors, order #48063,
; Revision Guide for AMD Family 15h Models 10h-1Fh Processors, order #48931,
; for different revisions of AMD processors as follows:
;
; CPUIDFn[0000_0001]_EAX; ID; Errata fixed;
;
; 0x00600F12; 0x06000629; #659, #660, #661, #668, #671, #672, #673, #691, #709, #740;
; 0x00610F01; 0x06001119; #671, #686, #697, #698, #699, #704, #709, #734, #740;
;
;******************************************************************************

Changed in linux-firmware (Ubuntu Precise):
status: In Progress → Fix Committed
Changed in linux-firmware (Ubuntu Quantal):
status: In Progress → Fix Committed
Revision history for this message
Chris Halse Rogers (raof) wrote : Please test proposed package

Hello Kim, or anyone else affected,

Accepted linux-firmware into quantal-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/linux-firmware/1.95.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-done-quantal
Revision history for this message
Bruno Medeiros (brunojcm) wrote :

What about precise, is this package in the proposed to?

Revision history for this message
Adam Conrad (adconrad) wrote :

Hello Kim, or anyone else affected,

Accepted linux-firmware into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/linux-firmware/1.79.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.79.4

---------------
linux-firmware (1.79.4) precise-proposed; urgency=low

  * Add rt2x00 firmware file rt3290.bin
    -LP: #1049466

linux-firmware (1.79.3) precise-proposed; urgency=low

  * Add AMD microcode.
    -LP: #1068299

linux-firmware (1.79.2) precise-proposed; urgency=low

  * 0a9640c85c781a4ec0c82f16fbf7333b7ce6daa6 ar3k: add patch and sysconfig for Qualcomm Atheros AR9462
    4a91e8c9f1e433143cf900487fbef01aa8b4c869 Update rampatch file for AR9462.
    (both patches from upstream git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git)
    - LP: #1024884
 -- Tim Gardner <email address hidden> Fri, 19 Apr 2013 13:31:28 -0600

Changed in linux-firmware (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.95.1

---------------
linux-firmware (1.95.1) quantal-proposed; urgency=low

  * Add AMD microcode.
    -LP: #1068299
 -- Tim Gardner <email address hidden> Wed, 06 Feb 2013 06:07:24 -0700

Changed in linux-firmware (Ubuntu Quantal):
status: Fix Committed → Fix Released
Changed in amd:
status: Fix Committed → Fix Released
Revision history for this message
Grant Slater (firefishy) wrote :

@sworddragon added #1181145 for conflict with amd64-microcode package.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.