NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-sgimips/60204: sgimips: arcbios calls require FPU to be enabled



The following reply was made to PR port-sgimips/60204; it has been noted by GNATS.

From: Adrian Chadd <adrian%freebsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: port-sgimips/60204: sgimips: arcbios calls require FPU to be enabled
Date: Wed, 22 Apr 2026 11:53:34 -0700

 Ok, let's try this one.
 
 ```
 
 diff --git a/sys/dev/arcbios/arcbios_calls.S b/sys/dev/arcbios/arcbios_calls.S
 index c184d9786daaf..0bf715212ec36 100644
 --- a/sys/dev/arcbios/arcbios_calls.S
 +++ b/sys/dev/arcbios/arcbios_calls.S
 @@ -32,6 +32,9 @@
  #include <sys/cdefs.h>
  #include <machine/asm.h>
 
 +#include <mips/asm.h>
 +#include <mips/cpuregs.h>
 +
  #include "assym.h"
 
  RCSID("$NetBSD: arcbios_calls.S,v 1.6 2026/01/11 06:41:42 tsutsui Exp $")
 @@ -56,6 +59,13 @@ NESTED(arcbios_4orless_args, CALLFRAME_SIZ, ra)
   REG_S ra, CALLFRAME_RA(sp)
   REG_S s0, CALLFRAME_SP(sp)
 
 + /* Enable FPU - see PR port-sgimips/60204 */
 + mfc0 k0, MIPS_COP_0_STATUS
 + MFC0_HAZARD
 + or k0, MIPS_SR_COP_1_BIT
 + mtc0 k0, MIPS_COP_0_STATUS
 + COP0_HAZARD_FPUENABLE
 +
   PTR_L t9, _C_LABEL(ARCBIOS)
   nop
   PTR_ADDU t9, t0
 @@ -67,6 +77,12 @@ NESTED(arcbios_4orless_args, CALLFRAME_SIZ, ra)
 
   FIX_V0
 
 + /* Disable FPU */
 + mfc0 k0, MIPS_COP_0_STATUS
 + MFC0_HAZARD
 + and k0, ~MIPS_SR_COP_1_BIT
 + mtc0 k0, MIPS_COP_0_STATUS
 +
   move MIPS_CURLWP, s0
 
   REG_L ra, CALLFRAME_RA(sp)
 @@ -98,6 +114,13 @@ NESTED(arcbios_5to8_args, CALLFRAME2_SIZ, ra)
   INT_S a7, 28(sp) # save 8th arg on stack (o32)
  #endif
 
 + /* Enable FPU - see PR port-sgimips/60204 */
 + mfc0 k0, MIPS_COP_0_STATUS
 + MFC0_HAZARD
 + or k0, MIPS_SR_COP_1_BIT
 + mtc0 k0, MIPS_COP_0_STATUS
 + COP0_HAZARD_FPUENABLE
 +
   PTR_L t9, _C_LABEL(ARCBIOS)
   nop
   PTR_ADDU t9, t0
 @@ -109,6 +132,12 @@ NESTED(arcbios_5to8_args, CALLFRAME2_SIZ, ra)
 
   FIX_V0
 
 + /* Disable FPU */
 + mfc0 k0, MIPS_COP_0_STATUS
 + MFC0_HAZARD
 + and k0, ~MIPS_SR_COP_1_BIT
 + mtc0 k0, MIPS_COP_0_STATUS
 +
   move MIPS_CURLWP, s0
 
   REG_L ra, CALLFRAME2_RA(sp)
 
 ```
 



Home | Main Index | Thread Index | Old Index