<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/tls.c, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-03-29T21:28:26Z</updated>
<entry>
<title>Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-03-29T21:28:26Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-03-29T21:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b8212a313dae341ef3a2e413dfec5c4dea59617'/>
<id>urn:sha1:6b8212a313dae341ef3a2e413dfec5c4dea59617</id>
<content type='text'>
Pull x86 updates from Ingo Molnar.

This touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK
config usage.

Fixed up trivial conflicts due to just header include changes (removing
headers due to cpu_idle() merge clashing with the &lt;asm/system.h&gt; split).

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic/amd: Be more verbose about LVT offset assignments
  x86, tls: Off by one limit check
  x86/ioapic: Add io_apic_ops driver layer to allow interception
  x86/olpc: Add debugfs interface for EC commands
  x86: Merge the x86_32 and x86_64 cpu_idle() functions
  x86/kconfig: Remove CONFIG_TR=y from the defconfigs
  x86: Stop recursive fault in print_context_stack after stack overflow
  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ=y
  x86/apic: Add separate apic_id_valid() functions for selected apic drivers
  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage
  x86/kconfig: Update defconfigs
  x86: Fix excessive MSR print out when show_msr is not specified
</content>
</entry>
<entry>
<title>Disintegrate asm/system.h for X86</title>
<updated>2012-03-28T17:11:12Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2012-03-28T17:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f05e798ad4c09255f590f5b2c00a7ca6c172f983'/>
<id>urn:sha1:f05e798ad4c09255f590f5b2c00a7ca6c172f983</id>
<content type='text'>
Disintegrate asm/system.h for X86.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
cc: x86@kernel.org
</content>
</entry>
<entry>
<title>x86, tls: Off by one limit check</title>
<updated>2012-03-28T16:39:35Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2012-03-24T07:52:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f0750f19789cf352d7e24a6cc50f2ab1b4f1372'/>
<id>urn:sha1:8f0750f19789cf352d7e24a6cc50f2ab1b4f1372</id>
<content type='text'>
These are used as offsets into an array of GDT_ENTRY_TLS_ENTRIES members
so GDT_ENTRY_TLS_ENTRIES is one past the end of the array.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Link: http://lkml.kernel.org/r/20120324075250.GA28258@elgon.mountain
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: Introducing asm/syscalls.h</title>
<updated>2008-07-22T12:35:57Z</updated>
<author>
<name>Jaswinder Singh</name>
</author>
<published>2008-07-21T16:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbc1f698a508927d21324b57500e863f9bd562b9'/>
<id>urn:sha1:bbc1f698a508927d21324b57500e863f9bd562b9</id>
<content type='text'>
Declaring arch-dependent syscalls for x86 architecture

Signed-off-by: Jaswinder Singh &lt;jaswinder@infradead.org&gt;
</content>
</entry>
<entry>
<title>asmlinkage_protect replaces prevent_tail_call</title>
<updated>2008-04-11T00:28:26Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-04-10T22:37:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54a015104136974262afa4b8ddd943ea70dec8a2'/>
<id>urn:sha1:54a015104136974262afa4b8ddd943ea70dec8a2</id>
<content type='text'>
The prevent_tail_call() macro works around the problem of the compiler
clobbering argument words on the stack, which for asmlinkage functions
is the caller's (user's) struct pt_regs.  The tail/sibling-call
optimization is not the only way that the compiler can decide to use
stack argument words as scratch space, which we have to prevent.
Other optimizations can do it too.

Until we have new compiler support to make "asmlinkage" binding on the
compiler's own use of the stack argument frame, we have work around all
the manifestations of this issue that crop up.

More cases seem to be prevented by also keeping the incoming argument
variables live at the end of the function.  This makes their original
stack slots attractive places to leave those variables, so the compiler
tends not clobber them for something else.  It's still no guarantee, but
it handles some observed cases that prevent_tail_call() did not.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>x86: tls prevent_tail_call</title>
<updated>2008-02-29T17:55:39Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-02-26T21:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d00daf44654dc75629caf42816ac4e293658724'/>
<id>urn:sha1:3d00daf44654dc75629caf42816ac4e293658724</id>
<content type='text'>
Fix a kernel bug (vmware boot problem) reported by Tomasz Grobelny,
which occurs with certain .config variants and gccs.

The x86 TLS cleanup in commit efd1ca52d04d2f6df337a3332cee56cd60e6d4c4
made the sys_set_thread_area and sys_get_thread_area functions ripe for
tail call optimization.  If the compiler chooses to use it for them, it
can clobber the user trap frame because these are asmlinkage functions.

Reported-by: Tomasz Grobelny &lt;tomasz@grobelny.oswiecenia.net&gt;
Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: x86 user_regset TLS</title>
<updated>2008-01-30T12:31:52Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-01-30T12:31:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c79a2d8e5b7e0a2f987ace9b6af9e7a1655447b'/>
<id>urn:sha1:4c79a2d8e5b7e0a2f987ace9b6af9e7a1655447b</id>
<content type='text'>
This adds accessor functions in the user_regset style for the TLS data.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>x86: x86 TLS desc_struct cleanup</title>
<updated>2008-01-30T12:31:51Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-01-30T12:31:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1bd5718ce58fb49ac158653380fa200f4759daad'/>
<id>urn:sha1:1bd5718ce58fb49ac158653380fa200f4759daad</id>
<content type='text'>
This cleans up the TLS code to use struct desc_struct and to separate the
encoding and installation magic from the interface wrappers.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>x86: modify get_desc_base</title>
<updated>2008-01-30T12:31:14Z</updated>
<author>
<name>Glauber de Oliveira Costa</name>
</author>
<published>2008-01-30T12:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc6978528cbd475d952e0eb5073375839dfb600e'/>
<id>urn:sha1:cc6978528cbd475d952e0eb5073375839dfb600e</id>
<content type='text'>
This patch makes get_desc_base() receive a struct desc_struct,
and then uses its internal fields to compute the base address.
This is done at both i386 and x86_64, and then it is moved
to common header

Signed-off-by: Glauber de Oliveira Costa &lt;gcosta@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>x86: introduce fill_ldt</title>
<updated>2008-01-30T12:31:13Z</updated>
<author>
<name>Glauber de Oliveira Costa</name>
</author>
<published>2008-01-30T12:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80fbb69a8d1268ef48dfe21da80e68cb01922f31'/>
<id>urn:sha1:80fbb69a8d1268ef48dfe21da80e68cb01922f31</id>
<content type='text'>
This patch introduces fill_ldt(), which populates a ldt descriptor
from a user_desc in once, instead of relying in the LDT_entry_a and
LDT_entry_b macros

Signed-off-by: Glauber de Oliveira Costa &lt;gcosta@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
</feed>
