<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-03-27T19:00:34Z</updated>
<entry>
<title>x86: Cleanup highmap after brk is concluded</title>
<updated>2011-03-27T19:00:34Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2011-02-18T11:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72f2999e41d09468b29de855ffc02f94e87a675e'/>
<id>urn:sha1:72f2999e41d09468b29de855ffc02f94e87a675e</id>
<content type='text'>
commit e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e upstream.

Now cleanup_highmap actually is in two steps: one is early in head64.c
and only clears above _end; a second one is in init_memory_mapping() and
tries to clean from _brk_end to _end.
It should check if those boundaries are PMD_SIZE aligned but currently
does not.
Also init_memory_mapping() is called several times for numa or memory
hotplug, so we really should not handle initial kernel mappings there.

This patch moves cleanup_highmap() down after _brk_end is settled so
we can do everything in one step.
Also we honor max_pfn_mapped in the implementation of cleanup_highmap.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Stefano Stabellini &lt;stefano.stabellini@eu.citrix.com&gt;
LKML-Reference: &lt;alpine.DEB.2.00.1103171739050.3382@kaball-desktop&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86, binutils, xen: Fix another wrong size directive</title>
<updated>2011-03-23T19:50:46Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2011-03-11T20:59:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5243dd839aca1011b90ff0d810f4d6ea927f18f'/>
<id>urn:sha1:c5243dd839aca1011b90ff0d810f4d6ea927f18f</id>
<content type='text'>
commit 371c394af27ab7d1e58a66bc19d9f1f3ac1f67b4 upstream.

The latest binutils (2.21.0.20110302/Ubuntu) breaks the build
yet another time, under CONFIG_XEN=y due to a .size directive that
refers to a slightly differently named (hence, to the now very
strict and unforgiving assembler, non-existent) symbol.

[ mingo:

   This unnecessary build breakage caused by new binutils
   version 2.21 gets escallated back several kernel releases spanning
   several years of Linux history, affecting over 130,000 upstream
   kernel commits (!), on CONFIG_XEN=y 64-bit kernels (i.e. essentially
   affecting all major Linux distro kernel configs).

   Git annotate tells us that this slight debug symbol code mismatch
   bug has been introduced in 2008 in commit 3d75e1b8:

     3d75e1b8        (Jeremy Fitzhardinge    2008-07-08 15:06:49 -0700 1231) ENTRY(xen_do_hypervisor_callback)   # do_hypervisor_callback(struct *pt_regs)

   The 'bug' is just a slight assymetry in ENTRY()/END()
   debug-symbols sequences, with lots of assembly code between the
   ENTRY() and the END():

     ENTRY(xen_do_hypervisor_callback)   # do_hypervisor_callback(struct *pt_regs)
       ...
     END(do_hypervisor_callback)

   Human reviewers almost never catch such small mismatches, and binutils
   never even warned about it either.

   This new binutils version thus breaks the Xen build on all upstream kernels
   since v2.6.27, out of the blue.

   This makes a straightforward Git bisection of all 64-bit Xen-enabled kernels
   impossible on such binutils, for a bisection window of over hundred
   thousand historic commits. (!)

   This is a major fail on the side of binutils and binutils needs to turn
   this show-stopper build failure into a warning ASAP. ]

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Cc: Jeremy Fitzhardinge &lt;jeremy@goop.org&gt;
Cc: Jan Beulich &lt;jbeulich@novell.com&gt;
Cc: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Kees Cook &lt;kees.cook@canonical.com&gt;
LKML-Reference: &lt;1299877178-26063-1-git-send-email-heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86: stop_machine_text_poke() should issue sync_core()</title>
<updated>2011-03-23T19:50:09Z</updated>
<author>
<name>Mathieu Desnoyers</name>
</author>
<published>2011-03-03T16:01:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5c858261f3e55e16a7b9c1e54a275c0012519c3'/>
<id>urn:sha1:c5c858261f3e55e16a7b9c1e54a275c0012519c3</id>
<content type='text'>
commit 0e00f7aed6af21fc09b2a94d28bc34e449bd3a53 upstream.

Intel Archiecture Software Developer's Manual section 7.1.3 specifies that a
core serializing instruction such as "cpuid" should be executed on _each_ core
before the new instruction is made visible.

Failure to do so can lead to unspecified behavior (Intel XMC erratas include
General Protection Fault in the list), so we should avoid this at all cost.

This problem can affect modified code executed by interrupt handlers after
interrupt are re-enabled at the end of stop_machine, because no core serializing
instruction is executed between the code modification and the moment interrupts
are reenabled.

Because stop_machine_text_poke performs the text modification from the first CPU
decrementing stop_machine_first, modified code executed in thread context is
also affected by this problem. To explain why, we have to split the CPUs in two
categories: the CPU that initiates the text modification (calls text_poke_smp)
and all the others. The scheduler, executed on all other CPUs after
stop_machine, issues an "iret" core serializing instruction, and therefore
handles core serialization for all these CPUs. However, the text modification
initiator can continue its execution on the same thread and access the modified
text without any scheduler call. Given that the CPU that initiates the code
modification is not guaranteed to be the one actually performing the code
modification, it falls into the XMC errata.

Q: Isn't this executed from an IPI handler, which will return with IRET (a
   serializing instruction) anyway?
A: No, now stop_machine uses per-cpu workqueue, so that handler will be
   executed from worker threads. There is no iret anymore.

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
LKML-Reference: &lt;20110303160137.GB1590@Krystal&gt;
Reviewed-by: Masami Hiramatsu &lt;masami.hiramatsu.pt@hitachi.com&gt;
Cc: Arjan van de Ven &lt;arjan@infradead.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86, quirk: Fix SB600 revision check</title>
<updated>2011-03-23T19:50:07Z</updated>
<author>
<name>Andreas Herrmann</name>
</author>
<published>2011-03-15T14:31:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ded2c8bd9568be9dc8bfacaf63927b8b624737da'/>
<id>urn:sha1:ded2c8bd9568be9dc8bfacaf63927b8b624737da</id>
<content type='text'>
commit 1d3e09a304e6c4e004ca06356578b171e8735d3c upstream.

Commit 7f74f8f28a2bd9db9404f7d364e2097a0c42cc12
(x86 quirk: Fix polarity for IRQ0 pin2 override on SB800
systems) introduced a regression. It removed some SB600 specific
code to determine the revision ID without adapting a
corresponding revision ID check for SB600.

See this mail thread:

  http://marc.info/?l=linux-kernel&amp;m=129980296006380&amp;w=2

This patch adapts the corresponding check to cover all SB600
revisions.

Tested-by: Wang Lei &lt;f3d27b@gmail.com&gt;
Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
LKML-Reference: &lt;20110315143137.GD29499@alberich.amd.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86: Emit "mem=nopentium ignored" warning when not supported</title>
<updated>2011-03-23T19:50:04Z</updated>
<author>
<name>Kamal Mostafa</name>
</author>
<published>2011-02-04T01:38:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d085c79399fce9fb34195f21c22286a62fd16e9a'/>
<id>urn:sha1:d085c79399fce9fb34195f21c22286a62fd16e9a</id>
<content type='text'>
commit 9a6d44b9adb777ca9549e88cd55bd8f2673c52a2 upstream.

Emit warning when "mem=nopentium" is specified on any arch other
than x86_32 (the only that arch supports it).

Signed-off-by: Kamal Mostafa &lt;kamal@canonical.com&gt;
BugLink: http://bugs.launchpad.net/bugs/553464
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Len Brown &lt;len.brown@intel.com&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
LKML-Reference: &lt;1296783486-23033-2-git-send-email-kamal@canonical.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86: Fix panic when handling "mem={invalid}" param</title>
<updated>2011-03-23T19:50:03Z</updated>
<author>
<name>Kamal Mostafa</name>
</author>
<published>2011-02-04T01:38:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=474d7937c9436faeaf8e29f32e8a94cdb0293c9d'/>
<id>urn:sha1:474d7937c9436faeaf8e29f32e8a94cdb0293c9d</id>
<content type='text'>
commit 77eed821accf5dd962b1f13bed0680e217e49112 upstream.

Avoid removing all of memory and panicing when "mem={invalid}"
is specified, e.g. mem=blahblah, mem=0, or mem=nopentium (on
platforms other than x86_32).

Signed-off-by: Kamal Mostafa &lt;kamal@canonical.com&gt;
BugLink: http://bugs.launchpad.net/bugs/553464
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Len Brown &lt;len.brown@intel.com&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
LKML-Reference: &lt;1296783486-23033-1-git-send-email-kamal@canonical.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86: Don't check for BIOS corruption in first 64K when there's no need to</title>
<updated>2011-03-23T19:50:01Z</updated>
<author>
<name>Naga Chumbalkar</name>
</author>
<published>2011-02-25T20:31:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c949bdbcfa14eea4bbd9a568a8b620da4d4ee63'/>
<id>urn:sha1:9c949bdbcfa14eea4bbd9a568a8b620da4d4ee63</id>
<content type='text'>
commit a7bd1dafdcc13ec7add4aafc927eb5e3a8d597e6 upstream.

Due to commit 781c5a67f152c17c3e4a9ed9647f8c0be6ea5ae9 it is
likely that the number of areas to scan for BIOS corruption is 0
 -- especially when the first 64K is already reserved
(X86_RESERVE_LOW is 64K by default).

If that's the case then don't set up the scan.

Signed-off-by: Naga Chumbalkar &lt;nagananda.chumbalkar@hp.com&gt;
LKML-Reference: &lt;20110225202838.2229.71011.sendpatchset@nchumbalkar.americas.hpqcorp.net&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>pcc-cpufreq: don't load driver if get_freq fails during init.</title>
<updated>2011-03-14T21:17:35Z</updated>
<author>
<name>Naga Chumbalkar</name>
</author>
<published>2011-03-09T14:02:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ace8f4534de7aa5c42b66751832e57eb4cdab7b5'/>
<id>urn:sha1:ace8f4534de7aa5c42b66751832e57eb4cdab7b5</id>
<content type='text'>
commit 1f858ef2fbabdc5e645644010a31a40c32e397c9 upstream.

Return 0 on failure. This will cause the initialization of the driver
to fail and prevent the driver from loading if the BIOS cannot handle
the PCC interface command to "get frequency". Otherwise, the driver
will load and display a very high value like "4294967274" (which is
actually -EINVAL) for frequency:

# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
4294967274

Signed-off-by: Naga Chumbalkar &lt;nagananda.chumbalkar@hp.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems</title>
<updated>2011-03-07T23:05:12Z</updated>
<author>
<name>Andreas Herrmann</name>
</author>
<published>2011-02-24T14:53:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64e8cdcc476ee10293ed205febbc9703c8ea1d0e'/>
<id>urn:sha1:64e8cdcc476ee10293ed205febbc9703c8ea1d0e</id>
<content type='text'>
commit 7f74f8f28a2bd9db9404f7d364e2097a0c42cc12 upstream.

On some SB800 systems polarity for IOAPIC pin2 is wrongly
specified as low active by BIOS. This caused system hangs after
resume from S3 when HPET was used in one-shot mode on such
systems because a timer interrupt was missed (HPET signal is
high active).

For more details see:

  http://marc.info/?l=linux-kernel&amp;m=129623757413868

Tested-by: Manoj Iyer &lt;manoj.iyer@canonical.com&gt;
Tested-by: Andre Przywara &lt;andre.przywara@amd.com&gt;
Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Cc: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
LKML-Reference: &lt;20110224145346.GD3658@alberich.amd.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86, mrst: Set correct APB timer IRQ affinity for secondary cpu</title>
<updated>2011-02-24T22:54:31Z</updated>
<author>
<name>Jacob Pan</name>
</author>
<published>2011-02-18T00:58:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cc8e3f986fcb39f707e32f68d12a896f673dba0'/>
<id>urn:sha1:8cc8e3f986fcb39f707e32f68d12a896f673dba0</id>
<content type='text'>
This is a backport for 2.6.37 stable. The original commit ID is
6550904ddbc3c286798a87edf95eeebcc62bc58a

Offlining the secondary CPU causes the timer irq affinity to be set to
CPU 0. When the secondary CPU is back online again, the wrong irq
affinity will be used.

This patch ensures secondary per CPU timer always has the correct
IRQ affinity when enabled.

Signed-off-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
LKML-Reference: &lt;1294963604-18111-1-git-send-email-jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
