<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/vfp, 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-04-01T21:17:50Z</updated>
<entry>
<title>[ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions</title>
<updated>2009-04-01T21:17:50Z</updated>
<author>
<name>George G. Davis</name>
</author>
<published>2009-04-01T19:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2255be8126e86142901c61dd482c1c2a5ffdda7'/>
<id>urn:sha1:f2255be8126e86142901c61dd482c1c2a5ffdda7</id>
<content type='text'>
We've observed that ARM VFP state can be corrupted during VFP exception
handling when PREEMPT is enabled.  The exact conditions are difficult
to reproduce but appear to occur during VFP exception handling when a
task causes a VFP exception which is handled via VFP_bounce and is then
preempted by yet another task which in turn causes yet another VFP
exception.  Since the VFP_bounce code is not preempt safe, VFP state then
becomes corrupt.  In order to prevent preemption from occuring while
handling a VFP exception, this patch disables preemption while handling
VFP exceptions.

Signed-off-by: George G. Davis &lt;gdavis@mvista.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 5388/1: Add hwcap bits for VFPv3 and VFPv3D16</title>
<updated>2009-02-12T10:59:44Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2009-02-11T12:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7279dc3e914635ab4b288ec39383272a06c466f3'/>
<id>urn:sha1:7279dc3e914635ab4b288ec39383272a06c466f3</id>
<content type='text'>
The VFPv3D16 is a VFPv3 CPU configuration where only 16 double registers
are present, as the VFPv2 configuration. This patch adds the
corresponding hwcap bits so that applications or debuggers have more
information about the supported features.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 5387/1: Add ptrace VFP support on ARM</title>
<updated>2009-02-12T10:59:43Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2009-02-11T12:12:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d1228ead618b88e8606015cbabc49019981805d'/>
<id>urn:sha1:3d1228ead618b88e8606015cbabc49019981805d</id>
<content type='text'>
This patch adds ptrace support for setting and getting the VFP registers
using PTRACE_SETVFPREGS and PTRACE_GETVFPREGS. The user_vfp structure
defined in asm/user.h contains 32 double registers (to cover VFPv3 and
Neon hardware) and the FPSCR register.

Cc: Paul Brook &lt;paul@codesourcery.com&gt;
Cc: Daniel Jacobowitz &lt;dan@codesourcery.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 5349/1: VFP: Add PM code to save and restore current VFP state</title>
<updated>2008-12-18T21:21:34Z</updated>
<author>
<name>Ben Dooks</name>
</author>
<published>2008-12-18T11:26:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc0b7a20368193e1f7cf1376624eed419b9c33e6'/>
<id>urn:sha1:fc0b7a20368193e1f7cf1376624eed419b9c33e6</id>
<content type='text'>
When CONFIG_PM is selected, the VFP code does not have any handler
installed to deal with either saving the VFP state of the current
task, nor does it do anything to try and restore the VFP after a
resume.

On resume, the VFP will have been reset and the co-processor access
control registers are in an indeterminate state (very probably the
CP10 and CP11 the VFP uses will have been disabled by the ARM core
reset). When this happens, resume will break as soon as it tries to
unfreeze the tasks and restart scheduling.

Add a sys device to allow us to hook the suspend call to save the
current thread state if the thread is using VFP and a resume hook
which restores the CP10/CP11 access and ensures the VFP is disabled
so that the lazy swapping will take place on next access.

Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARMv7: Branch over conditional undefined instructions in vfphw.S</title>
<updated>2008-11-06T13:23:08Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2008-11-06T13:23:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24b647a042b988b017e6cdf60b47a0bfecd1dc41'/>
<id>urn:sha1:24b647a042b988b017e6cdf60b47a0bfecd1dc41</id>
<content type='text'>
On ARMv7, conditional undefined instructions may generate exceptions
even if the condition is not met. The vfphw.S contains the FPINST and
FPINST2 access instructions which may not be present on processors with
synchronous VFP exceptions.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;




</content>
</entry>
<entry>
<title>Add HWCAP_NEON to the ARM hwcap.h file</title>
<updated>2008-11-06T13:23:07Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2008-11-06T13:23:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2bedbdf4148ebbe48c7a89449ab52e475a788f42'/>
<id>urn:sha1:2bedbdf4148ebbe48c7a89449ab52e475a788f42</id>
<content type='text'>
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;



</content>
</entry>
<entry>
<title>[ARM] 5227/1: Add the ENDPROC declarations to the .S files</title>
<updated>2008-09-01T11:06:34Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2008-08-28T10:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=93ed3970114983543bbebd195bef65db84444ea2'/>
<id>urn:sha1:93ed3970114983543bbebd195bef65db84444ea2</id>
<content type='text'>
This declaration specifies the "function" type and size for various
assembly functions, mainly needed for generating the correct branch
instructions in Thumb-2.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>smp_call_function: get rid of the unused nonatomic/retry argument</title>
<updated>2008-06-26T09:24:35Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2008-06-06T09:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8691e5a8f691cc2a4fda0651e8d307aaba0e7d68'/>
<id>urn:sha1:8691e5a8f691cc2a4fda0651e8d307aaba0e7d68</id>
<content type='text'>
It's never used and the comments refer to nonatomic and retry
interchangably. So get rid of it.

Acked-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>[ARM] 4583/1: ARMv7: Add VFPv3 support</title>
<updated>2008-01-26T14:41:28Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2007-09-25T14:22:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25ebee020bd34d1f4c5678538204f0b10bf9f6d5'/>
<id>urn:sha1:25ebee020bd34d1f4c5678538204f0b10bf9f6d5</id>
<content type='text'>
This patch adds the support for VFPv3 (the kernel currently supports
VFPv2). The main difference is 32 double registers (compared to 16).

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 4582/2: Add support for the common VFP subarchitecture</title>
<updated>2008-01-26T14:41:28Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2007-11-22T17:32:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c98929c07a01c9ec2e1e5253456acc7168da8b66'/>
<id>urn:sha1:c98929c07a01c9ec2e1e5253456acc7168da8b66</id>
<content type='text'>
This patch allows the VFP support code to run correctly on CPUs
compatible with the common VFP subarchitecture specification (Appendix
B in the ARM ARM v7-A and v7-R edition). It implements support for VFP
subarchitecture 2 while being backwards compatible with
subarchitecture 1.

On VFP subarchitecture 1, the arithmetic exceptions are asynchronous
(or imprecise as described in the old ARM ARM) unless the FPSCR.IXE
bit is 1. The exceptional instructions can be read from FPINST and
FPINST2 registers. With VFP subarchitecture 2, the arithmetic
exceptions can also be synchronous and marked by the FPEXC.DEX bit
(the FPEXC.EX bit is cleared). CPUs implementing the synchronous
arithmetic exceptions don't have the FPINST and FPINST2 registers and
accessing them would trigger and undefined exception.

Note that FPEXC.EX bit has an additional meaning on subarchitecture 1
- if it isn't set, there is no additional information in FPINST and
FPINST2 that needs to be saved at context switch or when lazy-loading
the VFP state of a different thread.

The patch also removes the clearing of the cumulative exception flags in
FPSCR when additional exceptions were raised. It is up to the user
application to clear these bits.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
