* [PATCH 2/9] MIPS: Require O32 FP64 support for MIPS64 with O32 compat [not found] <1437999987-24879-1-git-send-email-stefan@sevenbyte.org> @ 2015-07-27 12:26 ` Stefan Tatschner 2015-07-27 12:26 ` Stefan Tatschner 2015-07-27 12:26 ` [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU Stefan Tatschner 1 sibling, 1 reply; 5+ messages in thread From: Stefan Tatschner @ 2015-07-27 12:26 UTC (permalink / raw) To: ludwig.kuerzinger Cc: Paul Burton, Markos Chandras, stable, linux-mips, Matthew Fortune, linux-kernel, Ralf Baechle [-- Attachment #1: Type: text/plain, Size: 44 bytes --] This is a multi-part message in MIME format. [-- Attachment #2: Type: text/plain, Size: 961 bytes --] MIPS32r6 code requires FP64 (ie. FR=1) support. Building a kernel with support for MIPS32r6 binaries but without support for O32 with FP64 is therefore a problem which can lead to incorrectly executed userland. CONFIG_MIPS_O32_FP64_SUPPORT is already selected when the kernel is configured for MIPS32r6, but not when the kernel is configured for MIPS64r6 with O32 compat support. Select CONFIG_MIPS_O32_FP64_SUPPORT in such configurations to prevent building kernels which execute MIPS32r6 userland incorrectly. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: <stable@vger.kernel.org> # v4.0- Cc: linux-mips@linux-mips.org Cc: Matthew Fortune <matthew.fortune@imgtec.com> Cc: stable@vger.kernel.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/10674/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> --- arch/mips/Kconfig | 1 + 1 file changed, 1 insertion(+) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-MIPS-Require-O32-FP64-support-for-MIPS64-with-O32-co.patch --] [-- Type: text/x-patch; name="0002-MIPS-Require-O32-FP64-support-for-MIPS64-with-O32-co.patch", Size: 446 bytes --] diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index aab7e46..66dc359 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -1427,6 +1427,7 @@ config CPU_MIPS64_R6 select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_MSA select GENERIC_CSUM + select MIPS_O32_FP64_SUPPORT if MIPS32_O32 help Choose this option to build a kernel for release 6 or later of the MIPS64 architecture. New MIPS processors, starting with the Warrior ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/9] MIPS: Require O32 FP64 support for MIPS64 with O32 compat 2015-07-27 12:26 ` [PATCH 2/9] MIPS: Require O32 FP64 support for MIPS64 with O32 compat Stefan Tatschner @ 2015-07-27 12:26 ` Stefan Tatschner 0 siblings, 0 replies; 5+ messages in thread From: Stefan Tatschner @ 2015-07-27 12:26 UTC (permalink / raw) To: ludwig.kuerzinger Cc: Paul Burton, Markos Chandras, stable, linux-mips, Matthew Fortune, linux-kernel, Ralf Baechle [-- Attachment #1: Type: text/plain, Size: 44 bytes --] This is a multi-part message in MIME format. [-- Attachment #2: Type: text/plain, Size: 961 bytes --] MIPS32r6 code requires FP64 (ie. FR=1) support. Building a kernel with support for MIPS32r6 binaries but without support for O32 with FP64 is therefore a problem which can lead to incorrectly executed userland. CONFIG_MIPS_O32_FP64_SUPPORT is already selected when the kernel is configured for MIPS32r6, but not when the kernel is configured for MIPS64r6 with O32 compat support. Select CONFIG_MIPS_O32_FP64_SUPPORT in such configurations to prevent building kernels which execute MIPS32r6 userland incorrectly. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: <stable@vger.kernel.org> # v4.0- Cc: linux-mips@linux-mips.org Cc: Matthew Fortune <matthew.fortune@imgtec.com> Cc: stable@vger.kernel.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/10674/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> --- arch/mips/Kconfig | 1 + 1 file changed, 1 insertion(+) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-MIPS-Require-O32-FP64-support-for-MIPS64-with-O32-co.patch --] [-- Type: text/x-patch; name="0002-MIPS-Require-O32-FP64-support-for-MIPS64-with-O32-co.patch", Size: 446 bytes --] diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index aab7e46..66dc359 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -1427,6 +1427,7 @@ config CPU_MIPS64_R6 select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_MSA select GENERIC_CSUM + select MIPS_O32_FP64_SUPPORT if MIPS32_O32 help Choose this option to build a kernel for release 6 or later of the MIPS64 architecture. New MIPS processors, starting with the Warrior ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU [not found] <1437999987-24879-1-git-send-email-stefan@sevenbyte.org> 2015-07-27 12:26 ` [PATCH 2/9] MIPS: Require O32 FP64 support for MIPS64 with O32 compat Stefan Tatschner @ 2015-07-27 12:26 ` Stefan Tatschner 2015-07-27 12:26 ` Stefan Tatschner 2015-07-28 12:34 ` Ralf Baechle 1 sibling, 2 replies; 5+ messages in thread From: Stefan Tatschner @ 2015-07-27 12:26 UTC (permalink / raw) To: ludwig.kuerzinger; +Cc: Markos Chandras, stable, linux-mips, Ralf Baechle [-- Attachment #1: Type: text/plain, Size: 44 bytes --] This is a multi-part message in MIME format. [-- Attachment #2: Type: text/plain, Size: 780 bytes --] Commit 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") added support for 64-bit FPU on a 32-bit MIPS R6 processor but it missed the 64-bit CPU case leading to FPU failures when requesting FR=1 mode (which is always the case for MIPS R6 userland) when running a 32-bit kernel on a 64-bit CPU. We also fix the MIPS R2 case. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Fixes: 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") Reviewed-by: Paul Burton <paul.burton@imgtec.com> Cc: <stable@vger.kernel.org> # 4.0+ Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10734/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> --- arch/mips/include/asm/fpu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0006-MIPS-fpu.h-Allow-64-bit-FPU-on-a-64-bit-MIPS-R6-CPU.patch --] [-- Type: text/x-patch; name="0006-MIPS-fpu.h-Allow-64-bit-FPU-on-a-64-bit-MIPS-R6-CPU.patch", Size: 501 bytes --] diff --git a/arch/mips/include/asm/fpu.h b/arch/mips/include/asm/fpu.h index 084780b..1b06251 100644 --- a/arch/mips/include/asm/fpu.h +++ b/arch/mips/include/asm/fpu.h @@ -74,7 +74,7 @@ static inline int __enable_fpu(enum fpu_mode mode) goto fr_common; case FPU_64BIT: -#if !(defined(CONFIG_CPU_MIPS32_R2) || defined(CONFIG_CPU_MIPS32_R6) \ +#if !(defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) \ || defined(CONFIG_64BIT)) /* we only have a 32-bit FPU */ return SIGFPE; ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU 2015-07-27 12:26 ` [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU Stefan Tatschner @ 2015-07-27 12:26 ` Stefan Tatschner 2015-07-28 12:34 ` Ralf Baechle 1 sibling, 0 replies; 5+ messages in thread From: Stefan Tatschner @ 2015-07-27 12:26 UTC (permalink / raw) To: ludwig.kuerzinger; +Cc: Markos Chandras, stable, linux-mips, Ralf Baechle [-- Attachment #1: Type: text/plain, Size: 44 bytes --] This is a multi-part message in MIME format. [-- Attachment #2: Type: text/plain, Size: 780 bytes --] Commit 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") added support for 64-bit FPU on a 32-bit MIPS R6 processor but it missed the 64-bit CPU case leading to FPU failures when requesting FR=1 mode (which is always the case for MIPS R6 userland) when running a 32-bit kernel on a 64-bit CPU. We also fix the MIPS R2 case. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Fixes: 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") Reviewed-by: Paul Burton <paul.burton@imgtec.com> Cc: <stable@vger.kernel.org> # 4.0+ Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10734/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> --- arch/mips/include/asm/fpu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0006-MIPS-fpu.h-Allow-64-bit-FPU-on-a-64-bit-MIPS-R6-CPU.patch --] [-- Type: text/x-patch; name="0006-MIPS-fpu.h-Allow-64-bit-FPU-on-a-64-bit-MIPS-R6-CPU.patch", Size: 501 bytes --] diff --git a/arch/mips/include/asm/fpu.h b/arch/mips/include/asm/fpu.h index 084780b..1b06251 100644 --- a/arch/mips/include/asm/fpu.h +++ b/arch/mips/include/asm/fpu.h @@ -74,7 +74,7 @@ static inline int __enable_fpu(enum fpu_mode mode) goto fr_common; case FPU_64BIT: -#if !(defined(CONFIG_CPU_MIPS32_R2) || defined(CONFIG_CPU_MIPS32_R6) \ +#if !(defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) \ || defined(CONFIG_64BIT)) /* we only have a 32-bit FPU */ return SIGFPE; ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU 2015-07-27 12:26 ` [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU Stefan Tatschner 2015-07-27 12:26 ` Stefan Tatschner @ 2015-07-28 12:34 ` Ralf Baechle 1 sibling, 0 replies; 5+ messages in thread From: Ralf Baechle @ 2015-07-28 12:34 UTC (permalink / raw) To: Stefan Tatschner; +Cc: ludwig.kuerzinger, Markos Chandras, stable, linux-mips Stefan, On Mon, Jul 27, 2015 at 02:26:24PM +0200, Stefan Tatschner wrote: > Date: Mon, 27 Jul 2015 14:26:24 +0200 > From: Stefan Tatschner <stefan@sevenbyte.org> > To: ludwig.kuerzinger@aisec.fraunhofer.de > Cc: Markos Chandras <markos.chandras@imgtec.com>, stable@vger.kernel.org, > linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org> > Subject: [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU > Content-Type: multipart/mixed; boundary="------------2.4.6" > > > Commit 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") > added support for 64-bit FPU on a 32-bit MIPS R6 processor but it missed > the 64-bit CPU case leading to FPU failures when requesting FR=1 mode > (which is always the case for MIPS R6 userland) when running a 32-bit > kernel on a 64-bit CPU. We also fix the MIPS R2 case. > > Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> > Fixes: 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6") > Reviewed-by: Paul Burton <paul.burton@imgtec.com> > Cc: <stable@vger.kernel.org> # 4.0+ > Cc: linux-mips@linux-mips.org > Patchwork: https://patchwork.linux-mips.org/patch/10734/ > Signed-off-by: Ralf Baechle <ralf@linux-mips.org> > --- > arch/mips/include/asm/fpu.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/include/asm/fpu.h b/arch/mips/include/asm/fpu.h > index 084780b..1b06251 100644 > --- a/arch/mips/include/asm/fpu.h > +++ b/arch/mips/include/asm/fpu.h > @@ -74,7 +74,7 @@ static inline int __enable_fpu(enum fpu_mode mode) > goto fr_common; > > case FPU_64BIT: > -#if !(defined(CONFIG_CPU_MIPS32_R2) || defined(CONFIG_CPU_MIPS32_R6) \ > +#if !(defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) \ > || defined(CONFIG_64BIT)) > /* we only have a 32-bit FPU */ > return SIGFPE; You seem to be reflecting patch back to the linux-mips mailing list and other folks mentioned in patches, including myself. Please stop that. Ralf ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-07-28 12:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1437999987-24879-1-git-send-email-stefan@sevenbyte.org>
2015-07-27 12:26 ` [PATCH 2/9] MIPS: Require O32 FP64 support for MIPS64 with O32 compat Stefan Tatschner
2015-07-27 12:26 ` Stefan Tatschner
2015-07-27 12:26 ` [PATCH 6/9] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU Stefan Tatschner
2015-07-27 12:26 ` Stefan Tatschner
2015-07-28 12:34 ` Ralf Baechle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox