<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/traps.c, branch linux-2.6.21.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.21.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.21.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-02-20T09:26:53Z</updated>
<entry>
<title>backlight: Separate backlight properties from backlight ops pointers</title>
<updated>2007-02-20T09:26:53Z</updated>
<author>
<name>Richard Purdie</name>
</author>
<published>2007-02-10T23:07:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=599a52d12629394236d785615808845823875868'/>
<id>urn:sha1:599a52d12629394236d785615808845823875868</id>
<content type='text'>
Per device data such as brightness belongs to the indivdual device
and should therefore be separate from the the backlight operation
function pointers. This patch splits the two types of data and
allows simplifcation of some code.

Signed-off-by: Richard Purdie &lt;rpurdie@rpsys.net&gt;
</content>
</entry>
<entry>
<title>backlight: Fix external uses of backlight internal semaphore</title>
<updated>2007-02-20T08:38:45Z</updated>
<author>
<name>Richard Purdie</name>
</author>
<published>2007-02-08T22:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28ee086d5b36aab2931f6740e409bb0fb6c65e5f'/>
<id>urn:sha1:28ee086d5b36aab2931f6740e409bb0fb6c65e5f</id>
<content type='text'>
backlight_device-&gt;sem has a very specific use as documented in the
header file. The external users of this are using it for a different
reason, to serialise access to the update_status() method.

backlight users were supposed to implement their own internal
serialisation of update_status() if needed but everyone is doing
things differently and incorrectly. Therefore add a global mutex to
take care of serialisation for everyone, once and for all.

Locking for get_brightness remains optional since most users don't
need it.

Also update the lcd class in a similar way.

Signed-off-by: Richard Purdie &lt;rpurdie@rpsys.net&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Fixup error handling when emulating a floating point instruction</title>
<updated>2007-02-07T07:47:59Z</updated>
<author>
<name>Kumar Gala</name>
</author>
<published>2007-02-07T07:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fad293bcbd48d9a2370020cf60e4b4a42559b12'/>
<id>urn:sha1:5fad293bcbd48d9a2370020cf60e4b4a42559b12</id>
<content type='text'>
When we do full FP emulation its possible that we need to post a SIGFPE based
on the results of the emulation.  The previous code ignored this case completely.

Additionally, the Soft_emulate_8xx case had two issues.  One, we should never
generate a SIGFPE since the code only does data movement.  Second, we were
interpreting the return codes incorrectly, it returns 0 on success, 1 on
illop and -EFAULT on a data access error.

Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Enable interrupts if we are doing fp math emulation</title>
<updated>2007-02-07T07:13:32Z</updated>
<author>
<name>Kumar Gala</name>
</author>
<published>2007-02-07T07:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=04903a30a327513b97c1271fc6bc4dad6502d1b8'/>
<id>urn:sha1:04903a30a327513b97c1271fc6bc4dad6502d1b8</id>
<content type='text'>
Anytime we are emulating an instruction we are going to be doing some form of
get_user() to get the instruction image to decode.  Since get_user() might
sleep we need to ensure we have interrupts enabled or we might see something
like:

Debug: sleeping function called from invalid context at arch/powerpc/kernel/traps.c:697
in_atomic():0, irqs_disabled():1
Call Trace:
[D6023EB0] [C0007F84] show_stack+0x58/0x174 (unreliable)
[D6023EE0] [C0022C34] __might_sleep+0xbc/0xd0
[D6023EF0] [C000D158] program_check_exception+0x1d8/0x4fc
[D6023F40] [C000E744] ret_from_except_full+0x0/0x4c
--- Exception: 700 at 0x102a7100
    LR = 0xdb9ef04

However, we want to ensure that interrupts are disabled when handling a trap
exception that might be used for a kernel breakpoint.  This is why ProgramCheck
is marked as EXC_XFER_STD instead of EXC_XFER_EE.

Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Use is_init() instead of pid==1</title>
<updated>2007-01-24T10:13:56Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2006-12-19T08:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=60bccbed6f53c953c62bdc2ac699395a13b6eecc'/>
<id>urn:sha1:60bccbed6f53c953c62bdc2ac699395a13b6eecc</id>
<content type='text'>
Use is_init() rather than hard coded pid comparison.

Cc: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Generic BUG for powerpc</title>
<updated>2006-12-11T05:35:07Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2006-12-08T11:30:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73c9ceab40b1269d6195e556773167c078ac8311'/>
<id>urn:sha1:73c9ceab40b1269d6195e556773167c078ac8311</id>
<content type='text'>
This makes powerpc use the generic BUG machinery.  The biggest reports the
function name, since it is redundant with kallsyms, and not needed in general.

There is an overall reduction of code, since module_32/64 duplicated several
functions.

Unfortunately there's no way to tell gcc that BUG won't return, so the BUG
macro includes a goto loop.  This will generate a real jmp instruction, which
is never used.

[akpm@osdl.org: build fix]
[paulus@samba.org: remove infinite loop in BUG_ON]
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy@goop.org&gt;
Cc: Andi Kleen &lt;ak@muc.de&gt;
Cc: Hugh Dickens &lt;hugh@veritas.com&gt;
Cc: Michael Ellerman &lt;michael@ellerman.id.au&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Add support for FP emulation for the e300c2 core</title>
<updated>2006-12-08T08:43:30Z</updated>
<author>
<name>Kim Phillips</name>
</author>
<published>2006-12-08T08:43:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa42c69c67f82e88f0726258efe7306708e1cf14'/>
<id>urn:sha1:aa42c69c67f82e88f0726258efe7306708e1cf14</id>
<content type='text'>
The e300c2 has no FPU.  Its MSR[FP] is grounded to zero.  If an attempt
is made to execute a floating point instruction (including floating-point
load, store, or move instructions), the e300c2 takes a floating-point
unavailable interrupt.

This patch adds support for FP emulation on the e300c2 by declaring a
new CPU_FTR_FP_TAKES_FPUNAVAIL, where FP unavail interrupts are
intercepted and redirected to the ProgramCheck exception path for
correct emulation handling.

(If we run out of CPU_FTR bits we could look to reclaim this bit by adding
support to test the cpu_user_features for PPC_FEATURE_HAS_FPU instead)

It adds a nop to the exception path for 32-bit processors with a FPU.

Signed-off-by: Kim Phillips &lt;kim.phillips@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Merge 32 and 64 bits asm-powerpc/io.h</title>
<updated>2006-12-04T09:39:05Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2006-11-12T22:27:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68a64357d15ae4f596e92715719071952006e83c'/>
<id>urn:sha1:68a64357d15ae4f596e92715719071952006e83c</id>
<content type='text'>
powerpc: Merge 32 and 64 bits asm-powerpc/io.h

The rework on io.h done for the new hookable accessors made it easier,
so I just finished the work and merged 32 and 64 bits io.h for arch/powerpc.

arch/ppc still uses the old version in asm-ppc, there is just too much gunk
in there that I really can't be bothered trying to cleanup.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Make alignment exception always check exception table</title>
<updated>2006-11-01T04:16:04Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2006-11-01T04:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4393c4f6788cee65095dd838cfeca6edefbfeb52'/>
<id>urn:sha1:4393c4f6788cee65095dd838cfeca6edefbfeb52</id>
<content type='text'>
The alignment exception used to only check the exception table for
-EFAULT, not for other errors. That opens an oops window if we can
coerce the kernel into getting an alignment exception for other reasons
in what would normally be a user-protected accessor, which can be done
via some of the futex ops. This fixes it by always checking the
exception tables.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Never panic when taking altivec exceptions from userspace</title>
<updated>2006-10-16T05:53:30Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2006-10-13T01:41:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c4841c2b6c32a134f9f36e5e08857138cc12b10'/>
<id>urn:sha1:6c4841c2b6c32a134f9f36e5e08857138cc12b10</id>
<content type='text'>
At the moment we rely on a cpu feature bit or a firmware property to
detect altivec. If we dont have either of these and the cpu does in fact
support altivec we can cause a panic from userspace.

It seems safer to always send a signal if we manage to get an 0xf20
exception from userspace.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
</feed>
