<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/traps.c, branch linux-3.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-05-11T20:53:50Z</updated>
<entry>
<title>powerpc: Emulate non privileged DSCR read and write</title>
<updated>2013-05-11T20:53:50Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2013-05-01T20:06:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c4aedfd654c665080f9e3df38725c65b14be042'/>
<id>urn:sha1:6c4aedfd654c665080f9e3df38725c65b14be042</id>
<content type='text'>
commit 73d2fb758e678c93bc76d40876c2359f0729b0ef upstream.

POWER8 allows read and write of the DSCR in userspace. We added
kernel emulation so applications could always use the instructions
regardless of the CPU type.

Unfortunately there are two SPRs for the DSCR and we only added
emulation for the privileged one. Add code to match the non
privileged one.

A simple test was created to verify the fix:

http://ozlabs.org/~anton/junkcode/user_dscr_test.c

Without the patch we get a SIGILL and it passes with the patch.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'merge' into next</title>
<updated>2012-09-06T23:48:59Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2012-09-06T23:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fff34b3412b9401a76ba9d021db1bd91cb0e02b6'/>
<id>urn:sha1:fff34b3412b9401a76ba9d021db1bd91cb0e02b6</id>
<content type='text'>
Brings in various bug fixes from 3.6-rcX
</content>
</entry>
<entry>
<title>powerpc: Keep thread.dscr and thread.dscr_inherit in sync</title>
<updated>2012-09-05T06:05:21Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2012-09-03T16:48:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00ca0de02f80924dfff6b4f630e1dff3db005e35'/>
<id>urn:sha1:00ca0de02f80924dfff6b4f630e1dff3db005e35</id>
<content type='text'>
When we update the DSCR either via emulation of mtspr(DSCR) or via
a change to dscr_default in sysfs we don't update thread.dscr.
We will eventually update it at context switch time but there is
a period where thread.dscr is incorrect.

If we fork at this point we will copy the old value of thread.dscr
into the child. To avoid this, always keep thread.dscr in sync with
reality.

This issue was found with the following testcase:

http://ozlabs.org/~anton/junkcode/dscr_inherit_test.c

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Cc: &lt;stable@kernel.org&gt; # 3.0+
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Add trap_nr to thread_struct</title>
<updated>2012-09-05T05:19:36Z</updated>
<author>
<name>Ananth N Mavinakayanahalli</name>
</author>
<published>2012-08-23T21:27:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=41ab5266c3622354353433618edb92ab278025fa'/>
<id>urn:sha1:41ab5266c3622354353433618edb92ab278025fa</id>
<content type='text'>
Add thread_struct.trap_nr and use it to store the last exception
the thread experienced. In this patch, we populate the field at
various places where we force_sig_info() to the process.

This is also used in uprobes to determine if the probed instruction
caused an exception.

Signed-off-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/irq: Make alignment &amp; program interrupt behave the same</title>
<updated>2012-05-08T23:42:33Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2012-05-08T03:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3512b2dd57cb653bb33645ca9c934436e547e3c'/>
<id>urn:sha1:a3512b2dd57cb653bb33645ca9c934436e547e3c</id>
<content type='text'>
Alignment was the last user of the ENABLE_INTS macro, which we can
now remove. All non-syscall exceptions now disable interrupts on
entry, they get re-enabled conditionally from C code. Don't
unconditionally re-enable in program check either, check the
original context.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>Disintegrate asm/system.h for PowerPC</title>
<updated>2012-03-28T17:30:02Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2012-03-28T17:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae3a197e3d0bfe3f4bf1693723e82dc018c096f3'/>
<id>urn:sha1:ae3a197e3d0bfe3f4bf1693723e82dc018c096f3</id>
<content type='text'>
Disintegrate asm/system.h for PowerPC.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
cc: linuxppc-dev@lists.ozlabs.org
</content>
</entry>
<entry>
<title>powerpc: Disable interrupts in 64-bit kernel FP and vector faults</title>
<updated>2012-03-08T23:55:10Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2012-03-01T04:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f2f79e3a3c19ae745d0439d6e0eed31df28de3c'/>
<id>urn:sha1:9f2f79e3a3c19ae745d0439d6e0eed31df28de3c</id>
<content type='text'>
If we get a floating point, altivec or vsx unavaible interrupt in
kernel, we trigger a kernel error. There is no point preserving
the interrupt state, in fact, that can even make debugging harder
as the processor state might change (we may even preempt) between
taking the exception and landing in a debugger.

So just make those 3 disable interrupts unconditionally.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
---

v2: On BookE only disable when hitting the kernel unavailable
    path, otherwise it will fail to restore softe as
    fast_exception_return doesn't do it.
</content>
</entry>
<entry>
<title>fadump: Convert firmware-assisted cpu state dump data into elf notes.</title>
<updated>2012-02-22T23:50:01Z</updated>
<author>
<name>Mahesh Salgaonkar</name>
</author>
<published>2012-02-16T01:14:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ebaeb5ae24379b5b635dc1d1fa6df904bc95b4d9'/>
<id>urn:sha1:ebaeb5ae24379b5b635dc1d1fa6df904bc95b4d9</id>
<content type='text'>
When registered for firmware assisted dump on powerpc, firmware preserves
the registers for the active CPUs during a system crash. This patch reads
the cpu register data stored in Firmware-assisted dump format (except for
crashing cpu) and converts it into elf notes and updates the PT_NOTE program
header accordingly. The exact register state for crashing cpu is saved to
fadump crash info structure in scratch area during crash_fadump() and read
during second kernel boot.

Signed-off-by: Mahesh Salgaonkar &lt;mahesh@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Rework die()</title>
<updated>2011-12-08T03:02:23Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2011-11-30T00:23:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=760ca4dc90e624eb8f7ff85a5925151e25577758'/>
<id>urn:sha1:760ca4dc90e624eb8f7ff85a5925151e25577758</id>
<content type='text'>
Our die() code was based off a very old x86 version. Update it to
mirror the current x86 code.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Remove broken and complicated kdump system reset code</title>
<updated>2011-12-08T03:02:22Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2011-11-30T00:23:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b00ac06978c54788f13eefd34a07b77db48d567'/>
<id>urn:sha1:9b00ac06978c54788f13eefd34a07b77db48d567</id>
<content type='text'>
We have a lot of complicated logic that handles possible recursion between
kdump and a system reset exception. We can solve this in a much simpler
way using the same setjmp/longjmp tricks xmon does.

As a first step, this patch removes the old system reset code.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
