<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/microcode_intel.c, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-03-18T12:51:17Z</updated>
<entry>
<title>x86: microcode: cleanup</title>
<updated>2009-03-18T12:51:17Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-03-11T10:19:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4bae1967357bfc78a2fad1be5e81a4b868980ae6'/>
<id>urn:sha1:4bae1967357bfc78a2fad1be5e81a4b868980ae6</id>
<content type='text'>
Impact: cleanup

Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Cc: Peter Oruba &lt;peter.oruba@amd.com&gt;
LKML-Reference: &lt;200903111632.37279.rusty@rustcorp.com.au&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: microcode_intel.c fix style problems</title>
<updated>2009-01-12T10:22:40Z</updated>
<author>
<name>Jaswinder Singh Rajput</name>
</author>
<published>2009-01-12T09:14:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd3feda7748b4c2739de47daaaa387fb01926c15'/>
<id>urn:sha1:dd3feda7748b4c2739de47daaaa387fb01926c15</id>
<content type='text'>
Impact: cleanup

Fix:

 WARNING: Use #include &lt;linux/uaccess.h&gt; instead of &lt;asm/uaccess.h&gt;
 ERROR: trailing whitespace
 ERROR: "(foo*)" should be "(foo *)"

 total: 3 errors, 1 warnings

Signed-off-by: Jaswinder Singh Rajput &lt;jaswinderrajput@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core</title>
<updated>2008-12-23T15:27:23Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-12-23T15:27:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa623d1b0222adbe8f822e53c08003b9679a410c'/>
<id>urn:sha1:fa623d1b0222adbe8f822e53c08003b9679a410c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86: fix resume (S2R) broken by Intel microcode module, on A110L</title>
<updated>2008-12-20T13:29:20Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2008-12-19T23:15:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=280a9ca5d0663b185ddc4443052076c29652a328'/>
<id>urn:sha1:280a9ca5d0663b185ddc4443052076c29652a328</id>
<content type='text'>
Impact: fix deadlock

This is in response to the following bug report:

Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id=12100
Subject         : resume (S2R) broken by Intel microcode module, on A110L
Submitter       : Andreas Mohr &lt;andi@lisas.de&gt;
Date            : 2008-11-25 08:48 (19 days old)
Handled-By      : Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;

[ The deadlock scenario has been discovered by Andreas Mohr ]

I think I might have a logical explanation why the system:

  (http://bugzilla.kernel.org/show_bug.cgi?id=12100)

might hang upon resuming, OTOH it should have likely hanged each and every time.

(1) possible deadlock in microcode_resume_cpu() if either 'if' section is
taken;

(2) now, I don't see it in spec. and can't experimentally verify it (newer
ucodes don't seem to be available for my Core2duo)... but logically-wise, I'd
think that when read upon resuming, the 'microcode revision' (MSR 0x8B) should
be back to its original one (we need to reload ucode anyway so it doesn't seem
logical if a cpu doesn't drop the version)... if so, the comparison with
memcmp() for the full 'struct cpu_signature' is wrong... and that's how one of
the aforementioned 'if' sections might have been triggered - leading to a
deadlock.

Obviously, in my tests I simulated loading/resuming with the ucode of the same
version (just to see that the file is loaded/re-loaded upon resuming) so this
issue has never popped up.

I'd appreciate if someone with an appropriate system might give a try to the
2nd patch (titled "fix a comparison &amp;&amp; deadlock...").

In any case, the deadlock situation is a must-have fix.

Reported-by: Andreas Mohr &lt;andi@lisas.de&gt;
Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Tested-by: Andreas Mohr &lt;andi@lisas.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: &lt;stable@kernel.org&gt;

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: microcode: fix sparse warnings</title>
<updated>2008-11-26T07:49:19Z</updated>
<author>
<name>Hannes Eder</name>
</author>
<published>2008-11-23T19:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4db646b1af8fdcf01d690d29eeae44cd937edb0d'/>
<id>urn:sha1:4db646b1af8fdcf01d690d29eeae44cd937edb0d</id>
<content type='text'>
Impact: make global variables and a function static

Fix following sparse warnings:

  arch/x86/kernel/microcode_core.c:102:22: warning: symbol
  'microcode_ops' was not declared. Should it be static?
  arch/x86/kernel/microcode_core.c:206:24: warning: symbol
  'microcode_pdev' was not declared. Should it be static?
  arch/x86/kernel/microcode_core.c:322:6: warning: symbol
  'microcode_update_cpu' was not declared. Should it be static?
  arch/x86/kernel/microcode_intel.c:468:22: warning: symbol
  'microcode_intel_ops' was not declared. Should it be static?

Signed-off-by: Hannes Eder &lt;hannes@hanneseder.net&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: moved microcode.c to microcode_intel.c</title>
<updated>2008-09-23T10:21:42Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2008-09-23T10:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18dbc9160507dc7df998e00cd1dcd7889557307b'/>
<id>urn:sha1:18dbc9160507dc7df998e00cd1dcd7889557307b</id>
<content type='text'>
Combine both generic and arch-specific parts of microcode into a
single module (arch-specific parts are config-dependent).

Also while we are at it, move arch-specific parts from microcode.h
into their respective arch-specific .c files.

Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Cc: "Peter Oruba" &lt;peter.oruba@amd.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, microcode rework, v2, fix</title>
<updated>2008-09-14T12:53:00Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-09-14T12:50:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1c75cc5018f17ff6d80ce45a13435b1536f76db'/>
<id>urn:sha1:a1c75cc5018f17ff6d80ce45a13435b1536f76db</id>
<content type='text'>
based on patch from Dmitry Adamushko.

- add missing vfree()
- update debug printks

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, microcode rework, v2</title>
<updated>2008-09-12T10:20:27Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2008-09-11T21:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0a29b62a9cac6b7d83b7514679f2ed8d33d4372'/>
<id>urn:sha1:a0a29b62a9cac6b7d83b7514679f2ed8d33d4372</id>
<content type='text'>
this is a rework of the microcode splitup in tip/x86/microcode

(1) I think this new interface is cleaner (look at the changes
    in 'struct microcode_ops' in microcode.h);

(2) it's -64 lines of code;

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86-microcode: generic interface refactoring</title>
<updated>2008-08-20T10:18:57Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2008-08-19T22:22:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d45de40934897c6ee5b05141f7895bbb28512395'/>
<id>urn:sha1:d45de40934897c6ee5b05141f7895bbb28512395</id>
<content type='text'>
This is the 1st patch in the series. Here the aim was to avoid any
significant changes, logically-wise.

So it's mainly about generic interface refactoring: e.g. make
microcode_{intel,amd}.c more about arch-specific details and less
about policies like make-sure-we-run-on-a-target-cpu
(no more set_cpus_allowed_ptr() here) and generic synchronization (no
more microcode_mutex here).

All in all, more line have been deleted than added.

4 files changed, 145 insertions(+), 198 deletions(-)

Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86-microcode: fix unbalanced use of get_cpu()</title>
<updated>2008-08-20T10:18:55Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2008-08-19T22:16:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8343ef2437c599d30568e6b5a257a40bf2f4902b'/>
<id>urn:sha1:8343ef2437c599d30568e6b5a257a40bf2f4902b</id>
<content type='text'>
Don't use get_cpu() at all. Resort to checking a boot-up CPU (#0) in
microcode_{intel,amd}_module_init().

Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
