<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/mips/kernel/r4k_switch.S, branch linux-4.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-08-29T13:21:51Z</updated>
<entry>
<title>MIPS: Move r4k FP code from r4k_switch.S to r4k_fpu.S</title>
<updated>2017-08-29T13:21:51Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2017-06-05T18:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2aea699b1dde309f189ab41af41fae2d3345783'/>
<id>urn:sha1:a2aea699b1dde309f189ab41af41fae2d3345783</id>
<content type='text'>
Move _save_fp(), _restore_fp(), _save_msa(), _restore_msa(),
_init_msa_upper() &amp; _init_fpu() out of r4k_switch.S &amp; into r4k_fpu.S.
This allows us to clean up the way in which Octeon includes the default
r4k implementations of these FP functions despite replacing resume(),
and makes CONFIG_R4K_FPU more straightforwardly represent all
configurations that have an R4K-style FPU, including Octeon.

Besides cleaning up this will be useful for later patches which disable
FP support.

[ralf@linux-mips.org: Fixed build issues reported by Arnd Bergmann
&lt;arnd@arndb.de&gt;]

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16237/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Remove dead define of ST_OFF</title>
<updated>2017-04-12T11:52:21Z</updated>
<author>
<name>Matt Redfearn</name>
</author>
<published>2017-04-06T10:29:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=828d1e4e98654e2284496e2fd7f9605ba04ef02a'/>
<id>urn:sha1:828d1e4e98654e2284496e2fd7f9605ba04ef02a</id>
<content type='text'>
Commit 1a3d59579b9f ("MIPS: Tidy up FPU context switching") removed the
last usage of the macro ST_OFF. Remove the dead code.

Signed-off-by: Matt Redfearn &lt;matt.redfearn@imgtec.com&gt;
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: trivial@kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/15898/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Export _save_fp &amp; _save_msa alongside their definitions</title>
<updated>2017-01-03T15:34:49Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2016-11-07T11:14:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29830c124d834c4ce0133aaf8ca85f045f9e758c'/>
<id>urn:sha1:29830c124d834c4ce0133aaf8ca85f045f9e758c</id>
<content type='text'>
Now that EXPORT_SYMBOL can be used from assembly source, move the
EXPORT_SYMBOL invocations for _save_fp &amp; _save_msa to be alongside their
definitions.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14509/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Remove redundant asm/pgtable-bits.h inclusions</title>
<updated>2016-05-13T13:30:25Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2016-04-19T08:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=253f0d4a5fdcba9367b83df7fb504407efc20ec2'/>
<id>urn:sha1:253f0d4a5fdcba9367b83df7fb504407efc20ec2</id>
<content type='text'>
asm/pgtable-bits.h is included in 2 assembly files and thus has to
ifdef around C code, however nothing defined by the header is used
in either of the assembly files that include it.

Remove the redundant inclusions such that asm/pgtable-bits.h doesn't
need to #ifdef around C code, for cleanliness and in preparation for
later patches which will add more C.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Reviewed-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: Jonas Gorski &lt;jogo@openwrt.org&gt;
Cc: Alex Smith &lt;alex.smith@imgtec.com&gt;
Cc: Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/13114/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Tidy up FPU context switching</title>
<updated>2015-09-03T10:08:05Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2015-08-03T15:49:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a3d59579b9f436da038f377309cf2270c76318e'/>
<id>urn:sha1:1a3d59579b9f436da038f377309cf2270c76318e</id>
<content type='text'>
Rather than saving the scalar FP or vector context in the assembly
resume function, reuse the existing C code we have in fpu.h to do
exactly that. This reduces duplication, results in a much easier to read
resume function &amp; should allow the compiler to optimise out more MSA
code due to is_msa_enabled()/cpu_has_msa being known-zero at compile
time for kernels without MSA support.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Cc: Leonid Yegoshin &lt;Leonid.Yegoshin@imgtec.com&gt;
Cc: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: linux-kernel@vger.kernel.org
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
Cc: Manuel Lauss &lt;manuel.lauss@gmail.com&gt;
Patchwork: https://patchwork.linux-mips.org/patch/10830/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Respect the ISA level in FCSR handling</title>
<updated>2015-04-07T23:10:37Z</updated>
<author>
<name>Maciej W. Rozycki</name>
</author>
<published>2015-04-03T22:27:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b26616c8d9dae53fbac7f7cb2c6dd1308102976'/>
<id>urn:sha1:9b26616c8d9dae53fbac7f7cb2c6dd1308102976</id>
<content type='text'>
Define the central place the default FCSR value is set from, initialised
in `cpu_probe'.  Determine the FCSR mask applied to values written to
the register with CTC1 in the full emulation mode and via ptrace(2),
according to the ISA level of processor hardware or the writability of
bits 31:18 if actual FPU hardware is used.

Software may rely on FCSR bits whose functions our emulator does not
implement, so it should not allow them to be set or software may get
confused.  For ptrace(2) it's just sanity.

[ralf@linux-mips.org: Fixed double inclusion of &lt;asm/current.h&gt;.]

Signed-off-by: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9711/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: kernel: r4k_switch: Add support for MIPS R6</title>
<updated>2015-02-17T15:37:27Z</updated>
<author>
<name>Leonid Yegoshin</name>
</author>
<published>2014-11-24T11:54:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=207083b1da59242cbbcd1752eea359ed4760914b'/>
<id>urn:sha1:207083b1da59242cbbcd1752eea359ed4760914b</id>
<content type='text'>
Add the MIPS R6 related preprocessor definitions for save/restore
FPU related functions. We also set the appropriate ISA level
so the final return instruction "jr ra" will produce the correct
opcode on R6.

Signed-off-by: Leonid Yegoshin &lt;Leonid.Yegoshin@imgtec.com&gt;
Signed-off-by: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Fix build with binutils 2.24.51+</title>
<updated>2014-11-07T14:07:36Z</updated>
<author>
<name>Manuel Lauss</name>
</author>
<published>2014-11-07T13:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=842dfc11ea9a21f9825167c8a4f2834b205b0a79'/>
<id>urn:sha1:842dfc11ea9a21f9825167c8a4f2834b205b0a79</id>
<content type='text'>
Starting with version 2.24.51.20140728 MIPS binutils complain loudly
about mixing soft-float and hard-float object files, leading to this
build failure since GCC is invoked with "-msoft-float" on MIPS:

{standard input}: Warning: .gnu_attribute 4,3 requires `softfloat'
  LD      arch/mips/alchemy/common/built-in.o
mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o
 uses -msoft-float (set by arch/mips/alchemy/common/prom.o),
 arch/mips/alchemy/common/sleeper.o uses -mhard-float

To fix this, we detect if GAS is new enough to support "-msoft-float" command
option, and if it does, we can let GCC pass it to GAS;  but then we also need
to sprinkle the files which make use of floating point registers with the
necessary ".set hardfloat" directives.

Signed-off-by: Manuel Lauss &lt;manuel.lauss@gmail.com&gt;
Cc: Linux-MIPS &lt;linux-mips@linux-mips.org&gt;
Cc: Matthew Fortune &lt;Matthew.Fortune@imgtec.com&gt;
Cc: Markos Chandras &lt;Markos.Chandras@imgtec.com&gt;
Cc: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Patchwork: https://patchwork.linux-mips.org/patch/8355/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: init upper 64b of vector registers when MSA is first used</title>
<updated>2014-08-01T22:06:44Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2014-07-30T07:53:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9017757c532d48bf43d6e7d3b7282443ad4207b'/>
<id>urn:sha1:c9017757c532d48bf43d6e7d3b7282443ad4207b</id>
<content type='text'>
When a task first makes use of MSA we need to ensure that the upper
64b of the vector registers are set to some value such that no
information can be leaked to it from the previous task to use MSA
context on the CPU. The architecture formerly specified that these
bits would be cleared to 0 when a scalar FP instructions wrote to the
aliased FP registers, which would have implicitly handled this as the
kernel restored scalar FP context. However more recent versions of the
specification now state that the value of the bits in such cases is
unpredictable. Initialise them explictly to be sure, and set all the
bits to 1 rather than 0 for consistency with the least significant
64b.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7497/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: preserve scalar FP CSR when switching vector context</title>
<updated>2014-08-01T22:06:43Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2014-07-11T15:44:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b83406735a4ae0aff4b614664d6a64a0fd6b9917'/>
<id>urn:sha1:b83406735a4ae0aff4b614664d6a64a0fd6b9917</id>
<content type='text'>
Switching the vector context implicitly saves &amp; restores the state of
the aliased scalar FP data registers, however the scalar FP control
&amp; status register is distinct from the MSA control &amp; status register.
In order to allow scalar FP to function correctly in programs using
MSA, the scalar CSR needs to be saved &amp; restored along with the MSA
vector context.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7301/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
</feed>
