<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/x86/kernel/microcode_intel.c, branch doc/sphinx</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=doc%2Fsphinx</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=doc%2Fsphinx'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2014-01-13T19:00:12+00:00</updated>
<entry>
<title>x86, microcode: Move to a proper location</title>
<updated>2014-01-13T19:00:12+00:00</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@suse.de</email>
</author>
<published>2013-12-01T17:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bad5fa631fca5466401cd4a48e30cc1f1cb6101e'/>
<id>urn:sha1:bad5fa631fca5466401cd4a48e30cc1f1cb6101e</id>
<content type='text'>
We've grown a bunch of microcode loader files all prefixed with
"microcode_". They should be under cpu/ because this is strictly
CPU-related functionality so do that and drop the prefix since they're
in their own directory now which gives that prefix. :)

While at it, drop MICROCODE_INTEL_LIB config item and stash the
functionality under CONFIG_MICROCODE_INTEL as it was its only user.

Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Tested-by: Aravind Gopalakrishnan &lt;Aravind.Gopalakrishnan@amd.com&gt;
</content>
</entry>
<entry>
<title>x86/microcode_intel.h: Define functions and macros for early loading ucode</title>
<updated>2013-01-31T21:18:50+00:00</updated>
<author>
<name>Fenghua Yu</name>
<email>fenghua.yu@intel.com</email>
</author>
<published>2012-12-21T07:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9cd4d78e21cfdc709b1af516214ec4f69ee0e6bd'/>
<id>urn:sha1:9cd4d78e21cfdc709b1af516214ec4f69ee0e6bd</id>
<content type='text'>
Define some functions and macros that will be used in early loading ucode. Some
of them are moved from microcode_intel.c driver in order to be called in early
boot phase before module can be called.

Signed-off-by: Fenghua Yu &lt;fenghua.yu@intel.com&gt;
Link: http://lkml.kernel.org/r/1356075872-3054-3-git-send-email-fenghua.yu@intel.com
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>x86, microcode: Add a refresh firmware flag to -&gt;request_microcode_fw</title>
<updated>2012-08-22T23:15:58+00:00</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2012-07-26T13:51:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=48e30685caa8bdc4b8d4417d8ac31db59689742c'/>
<id>urn:sha1:48e30685caa8bdc4b8d4417d8ac31db59689742c</id>
<content type='text'>
This is done in preparation for teaching the ucode driver to either load
a new ucode patches container from userspace or use an already cached
version. No functionality change in this patch.

Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Link: http://lkml.kernel.org/r/1344361461-10076-10-git-send-email-bp@amd64.org
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>x86/microcode: Ensure that module is only loaded on supported Intel CPUs</title>
<updated>2012-05-07T12:37:14+00:00</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2012-04-16T08:42:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7164b3f5e5461b58baa82e82544ca5af71af287b'/>
<id>urn:sha1:7164b3f5e5461b58baa82e82544ca5af71af287b</id>
<content type='text'>
Exit early when there's no support for a particular CPU family.

Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Cc: Dave Jones &lt;davej@redhat.com&gt;
Cc: tigran@aivazian.fsnet.co.uk
Cc: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Link: http://lkml.kernel.org/r/4F8BDB58.6070007@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86, intel: Output microcode revision in /proc/cpuinfo</title>
<updated>2011-10-14T11:16:35+00:00</updated>
<author>
<name>Andi Kleen</name>
<email>ak@linux.intel.com</email>
</author>
<published>2011-10-13T00:46:33+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=506ed6b53e00ba303ad778122f08e1fca7cf5efb'/>
<id>urn:sha1:506ed6b53e00ba303ad778122f08e1fca7cf5efb</id>
<content type='text'>
I got a request to make it easier to determine the microcode
update level on Intel CPUs. This patch adds a new "microcode"
field to /proc/cpuinfo.

The microcode level is also outputed on fatal machine checks
together with the other CPUID model information.

I removed the respective code from the microcode update driver,
it just reads the field from cpu_data. Also when the microcode
is updated it fills in the new values too.

I had to add a memory barrier to native_cpuid to prevent it
being optimized away when the result is not used.

This turns out to clean up further code which already got this
information manually. This is done in followon patches.

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Link: http://lkml.kernel.org/r/1318466795-7393-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86/microcode: Fix double vfree() and remove redundant pointer checks before vfree()</title>
<updated>2010-12-27T13:33:30+00:00</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2010-12-25T18:57:41+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5cdd2de0a76d0ac47f107c8a7b32d75d25768dc1'/>
<id>urn:sha1:5cdd2de0a76d0ac47f107c8a7b32d75d25768dc1</id>
<content type='text'>
In arch/x86/kernel/microcode_intel.c::generic_load_microcode()
we have  this:

	while (leftover) {
		...
		if (get_ucode_data(mc, ucode_ptr, mc_size) ||
		    microcode_sanity_check(mc) &lt; 0) {
			vfree(mc);
			break;
		}
		...
	}

	if (mc)
		vfree(mc);

This will cause a double free of 'mc'. This patch fixes that by
just  removing the vfree() call in the loop since 'mc' will be
freed nicely just  after we break out of the loop.

There's also a second change in the patch. I noticed a lot of
checks for  pointers being NULL before passing them to vfree().
That's completely  redundant since vfree() deals gracefully with
being passed a NULL pointer.  Removing the redundant checks
yields a nice size decrease for the object  file.

Size before the patch:
   text    data     bss     dec     hex filename
   4578     240    1032    5850    16da arch/x86/kernel/microcode_intel.o
Size after the patch:
   text    data     bss     dec     hex filename
   4489     240     984    5713    1651 arch/x86/kernel/microcode_intel.o

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Tigran Aivazian &lt;tigran@aivazian.fsnet.co.uk&gt;
Cc: Shaohua Li &lt;shaohua.li@intel.com&gt;
LKML-Reference: &lt;alpine.LNX.2.00.1012251946100.10759@swampdragon.chaosbits.net&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Update broken web addresses in arch directory.</title>
<updated>2010-10-18T09:03:21+00:00</updated>
<author>
<name>Justin P. Mattock</name>
<email>justinmattock@gmail.com</email>
</author>
<published>2010-10-16T17:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=50a23e6eec6f20d55a3a920e47adb455bff6046e'/>
<id>urn:sha1:50a23e6eec6f20d55a3a920e47adb455bff6046e</id>
<content type='text'>
The patch below updates broken web addresses in the arch directory.

Signed-off-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
Signed-off-by: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: Finn Thain &lt;fthain@telegraphics.com.au&gt;
Cc: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Reviewed-by: Finn Thain &lt;fthain@telegraphics.com.au&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>x86: Improve Intel microcode loader performance</title>
<updated>2010-03-11T12:49:06+00:00</updated>
<author>
<name>Dimitri Sivanich</name>
<email>sivanich@sgi.com</email>
</author>
<published>2010-03-05T17:42:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=938179b4f8cf8a4f11234ebf2dff2eb48400acfe'/>
<id>urn:sha1:938179b4f8cf8a4f11234ebf2dff2eb48400acfe</id>
<content type='text'>
We've noticed that on large SGI UV system configurations,
running microcode.ctl can take very long periods of time.  This
is due to the large number of vmalloc/vfree calls made by the
Intel generic_load_microcode() logic.

By reusing allocated space, the following patch reduces the time
to run microcode.ctl on a 1024 cpu system from approximately 80
seconds down to 1 or 2 seconds.

Signed-off-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Acked-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Bill Davidsen &lt;davidsen@tmr.com&gt;
LKML-Reference: &lt;20100305174203.GA19638@sgi.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: Remove trailing spaces in messages</title>
<updated>2010-02-07T16:47:51+00:00</updated>
<author>
<name>Frans Pop</name>
<email>elendil@planet.nl</email>
</author>
<published>2010-02-06T17:47:17+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3235dc3f22378f35ce77eba0d0f62db2d9c4844e'/>
<id>urn:sha1:3235dc3f22378f35ce77eba0d0f62db2d9c4844e</id>
<content type='text'>
Signed-off-by: Frans Pop &lt;elendil@planet.nl&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: x86@kernel.org
LKML-Reference: &lt;1265478443-31072-10-git-send-email-elendil@planet.nl&gt;
[ Left out the KVM bits. ]
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix</title>
<updated>2009-12-09T07:25:57+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2009-12-09T06:30:50+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f58e1f53de52a70391b6478617311207c7203363'/>
<id>urn:sha1:f58e1f53de52a70391b6478617311207c7203363</id>
<content type='text'>
- Use #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
- Remove "microcode: " prefix from each pr_&lt;level&gt;
- Fix duplicated KERN_ERR prefix
- Coalesce pr_&lt;level&gt; format strings
- Add a space after an exclamation point

No other change in output.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Cc: Andy Whitcroft &lt;apw@canonical.com&gt;
Cc: Andreas Herrmann &lt;herrmann.der.user@googlemail.com&gt;
LKML-Reference: &lt;1260340250.27677.191.camel@Joe-Laptop.home&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
