<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/traps.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-02T11:07:48Z</updated>
<entry>
<title>x86-32: use non-lazy io bitmap context switching</title>
<updated>2009-03-02T11:07:48Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-02-27T21:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db949bba3c7cf2e664ac12e237c6d4c914f0c69d'/>
<id>urn:sha1:db949bba3c7cf2e664ac12e237c6d4c914f0c69d</id>
<content type='text'>
Impact: remove 32-bit optimization to prepare unification

x86-32 and -64 differ in the way they context-switch tasks
with io permission bitmaps.  x86-64 simply copies the next
tasks io bitmap into place (if any) on context switch.  x86-32
invalidates the bitmap on context switch, so that the next
IO instruction will fault; at that point it installs the
appropriate IO bitmap.

This makes context switching IO-bitmap-using tasks a bit more
less expensive, at the cost of making the next IO instruction
slower due to the extra fault.  This tradeoff only makes sense
if IO-bitmap-using processes are relatively common, but they
don't actually use IO instructions very often.

However, in a typical desktop system, the only process likely
to be using IO bitmaps is the X server, and nothing at all on
a server.  Therefore the lazy context switch doesn't really win
all that much, and its just a gratuitious difference from
64-bit code.

This patch removes the lazy context switch, with a view to
unifying this code in a later change.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branches 'x86/acpi', 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/mm', 'x86/signal' and 'x86/urgent'; commit 'v2.6.29-rc6' into x86/core</title>
<updated>2009-02-24T20:50:43Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-24T20:50:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a852cbfaaf8122827602027b1614971cfd832304'/>
<id>urn:sha1:a852cbfaaf8122827602027b1614971cfd832304</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86: refactor x86_quirks support</title>
<updated>2009-02-22T23:08:11Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-22T23:34:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e6dafd6c741cd4679b4de3c5d9698851e4fa59c'/>
<id>urn:sha1:8e6dafd6c741cd4679b4de3c5d9698851e4fa59c</id>
<content type='text'>
Impact: cleanup

Make x86_quirks support more transparent. The highlevel
methods are now named:

  extern void x86_quirk_pre_intr_init(void);
  extern void x86_quirk_intr_init(void);

  extern void x86_quirk_trap_init(void);

  extern void x86_quirk_pre_time_init(void);
  extern void x86_quirk_time_init(void);

This makes it clear that if some platform extension has to
do something here that it is considered ... weird, and is
discouraged.

Also remove arch_hooks.h and move it into setup.h (and other
header files where appropriate).

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: kexec/i386: fix sparse warnings: Using plain integer as NULL pointer</title>
<updated>2009-02-22T08:27:11Z</updated>
<author>
<name>Hannes Eder</name>
</author>
<published>2009-02-22T00:00:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc6fcdfbb8f1b2553255170f221cd57a4108591f'/>
<id>urn:sha1:fc6fcdfbb8f1b2553255170f221cd57a4108591f</id>
<content type='text'>
Fix these sparse warnings:

  arch/x86/kernel/machine_kexec_32.c:124:22: warning: Using plain integer as NULL pointer
  arch/x86/kernel/traps.c:950:24: warning: Using plain integer as NULL pointer

Signed-off-by: Hannes Eder &lt;hannes@hanneseder.net&gt;
Cc: trivial@kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branches 'x86/acpi', 'x86/apic', 'x86/cpudetect', 'x86/headers', 'x86/paravirt', 'x86/urgent' and 'x86/xen'; commit 'v2.6.29-rc5' into x86/core</title>
<updated>2009-02-17T11:07:00Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-17T11:07:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=494df596f9c315e20523894caa2a2938db3e5d8d'/>
<id>urn:sha1:494df596f9c315e20523894caa2a2938db3e5d8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86, vm86: fix preemption bug</title>
<updated>2009-02-15T09:46:13Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2009-01-13T22:36:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be716615fe596ee117292dc615e95f707fb67fd1'/>
<id>urn:sha1:be716615fe596ee117292dc615e95f707fb67fd1</id>
<content type='text'>
Commit 3d2a71a596bd9c761c8487a2178e95f8a61da083 ("x86, traps: converge
do_debug handlers") changed the preemption disable logic of do_debug()
so vm86_handle_trap() is called with preemption disabled resulting in:

 BUG: sleeping function called from invalid context at include/linux/kernel.h:155
 in_atomic(): 1, irqs_disabled(): 0, pid: 3005, name: dosemu.bin
 Pid: 3005, comm: dosemu.bin Tainted: G        W  2.6.29-rc1 #51
 Call Trace:
  [&lt;c050d669&gt;] copy_to_user+0x33/0x108
  [&lt;c04181f4&gt;] save_v86_state+0x65/0x149
  [&lt;c0418531&gt;] handle_vm86_trap+0x20/0x8f
  [&lt;c064e345&gt;] do_debug+0x15b/0x1a4
  [&lt;c064df1f&gt;] debug_stack_correct+0x27/0x2c
  [&lt;c040365b&gt;] sysenter_do_call+0x12/0x2f
 BUG: scheduling while atomic: dosemu.bin/3005/0x10000001

Restore the original calling convention and reenable preemption before
calling handle_vm86_trap().

Reported-by: Michal Suchanek &lt;hramrach@centrum.cz&gt;
Cc: stable@kernel.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'core/percpu' into x86/core</title>
<updated>2009-02-13T08:45:09Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-13T08:45:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab639f3593f0b5e4439d549831442c18c3baf989'/>
<id>urn:sha1:ab639f3593f0b5e4439d549831442c18c3baf989</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'linus' into x86/apic</title>
<updated>2009-02-13T08:44:22Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-13T08:44:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8a6b2b9cee298a9663cbe38ce1eb5240987cb62'/>
<id>urn:sha1:f8a6b2b9cee298a9663cbe38ce1eb5240987cb62</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/acpi/boot.c
	arch/x86/mm/fault.c
</content>
</entry>
<entry>
<title>x86: use pt_regs pointer in do_device_not_available()</title>
<updated>2009-02-11T11:40:44Z</updated>
<author>
<name>Brian Gerst</name>
</author>
<published>2009-02-10T14:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa78bcfa01dec3cdbde3cda098ce32abbd9c3bf6'/>
<id>urn:sha1:aa78bcfa01dec3cdbde3cda098ce32abbd9c3bf6</id>
<content type='text'>
The generic exception handler (error_code) passes in the pt_regs
pointer and the error code (unused in this case).  The commit
"x86: fix math_emu register frame access" changed this to pass by
value, which doesn't work correctly with stack protector enabled.
Change it back to use the pt_regs pointer.

Signed-off-by: Brian Gerst &lt;brgerst@gmail.com&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86/urgent' into core/percpu</title>
<updated>2009-02-09T23:41:02Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-02-09T23:41:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92e2d508464b6293ad274fb606f766a458894142'/>
<id>urn:sha1:92e2d508464b6293ad274fb606f766a458894142</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/acpi/boot.c
</content>
</entry>
</feed>
