Messages in this thread | | | Subject | Re: Intel Microcode loader, tg3 driver, and the -rc8-mmotd New World Order firmware... | From | Kay Sievers <> | Date | Thu, 03 Jul 2008 12:22:34 +0200 |
| |
On Thu, 2008-07-03 at 10:23 +0100, David Woodhouse wrote: > On Thu, 2008-07-03 at 07:44 +0100, Tigran Aivazian wrote: > > On Thu, 3 Jul 2008 Valdis.Kletnieks@vt.edu wrote: > > > > > On Thu, 03 Jul 2008 07:17:16 BST, Tigran Aivazian said: > > >> Hi Valdis, > > >> > > >> On Wed, 2 Jul 2008 Valdis.Kletnieks@vt.edu wrote: > > >> > > >>> I built the -rc8-mmotd kernel, and built it with 'CONFIG_FIRMWARE_IN_KERNEL > > > =n'. > > >>> Lo and behold, the microcode.ko was now doing a request_firmware for > > >>> 'intel-ucode/06-0f-06' (which makes sense, the Core2 Duo in this laptop is > > >>> family 6, model 15, stepping 6). However, what I had in /lib/firmware was > > >>> the Intel-distributed 'microcode.dat' with updates for all the CPUs (which > > >>> used to work in times past). > > >>> > > >>> What's the magic incantation to take the microcode.dat and create something > > >>> that the firmware driver is willing to use, or is this all borked up and > > >>> I need to do a major rethink or fix my config? > > >> > > >> that's because it expects the Intel-supplied microcode data and you are > > >> using the old style microcode.dat data. > > > > > > I fed it the stuff I downloaded today from this URL: > > > > > > http://downloadcenter.intel.com/filter_results.aspx?strTypes=all&ProductID=2643&OSFullName=Linux*〈=eng&strOSs=39&submit=Go! > > > > > > which gets me a microcode-20080401.dat that does the same thing. Is there > > > some *other* Intel-supplied microcode data I should be getting instead? > > > > Oh, sorry, I assumed that Intel distribute the data in the format that > > driver expects. > > I think the kernel _does_ manage to extract just the part it wants from > the data, but it expects the data in binary form. Drop the attached > files in /lib/udev/microcode.sh and /etc/udev/rules.d/51-microcode.rules > respectively. (There's probably a better way to handle this kind of > thing by putting hooks in firmware.sh rather than using a special rule > which overrides it?) > > The recent firmware changes haven't modified this. The important change > seems to have been here (in 2006): > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a30a6a2c
This commit states: "so we don't need the application 'microcode_ctl' to assist". Seems the kernel code extracts the right section, in the all-in-one file, for the actual CPU: while ((offset = get_next_ucode_from_buffer(&mc, buf, size, offset))
So, maybe a: # rewrite firmware file name to all-in-one Intel CPU microcode data file SUBSYSTEM=="firmware", ENV{FIRMWARE}=="intel-ucode/*", ENV{FIRMWARE}="intel-ucode/microcode.dat" would be enough?
Thanks, Kay
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |