target/mips: Move IEEE rounding mode array to new source file
restore_msa_fp_status() is declared inlined in fpu_helper.h, and uses the ieee_rm[] array. Therefore any code calling restore_msa_fp_status() must have access to this ieee_rm[] array. kvm_mips_get_fpu_registers(), which is in target/mips/kvm.c, calls restore_msa_fp_status. Except this tiny array, the rest of fpu_helper.c is only useful for the TCG accelerator. To be able to restrict fpu_helper.c to TCG, we need to move the ieee_rm[] array to a new source file. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210428170410.479308-3-f4bug@amsat.org>
This commit is contained in:
parent
58ecf15d76
commit
830a72301c
18
target/mips/fpu.c
Normal file
18
target/mips/fpu.c
Normal file
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Helpers for emulation of FPU-related MIPS instructions.
|
||||
*
|
||||
* Copyright (C) 2004-2005 Jocelyn Mayer
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
*/
|
||||
#include "qemu/osdep.h"
|
||||
#include "fpu/softfloat-helpers.h"
|
||||
#include "fpu_helper.h"
|
||||
|
||||
/* convert MIPS rounding mode in FCR31 to IEEE library */
|
||||
const FloatRoundMode ieee_rm[4] = {
|
||||
float_round_nearest_even,
|
||||
float_round_to_zero,
|
||||
float_round_up,
|
||||
float_round_down
|
||||
};
|
@ -38,14 +38,6 @@
|
||||
#define FP_TO_INT32_OVERFLOW 0x7fffffff
|
||||
#define FP_TO_INT64_OVERFLOW 0x7fffffffffffffffULL
|
||||
|
||||
/* convert MIPS rounding mode in FCR31 to IEEE library */
|
||||
const FloatRoundMode ieee_rm[4] = {
|
||||
float_round_nearest_even,
|
||||
float_round_to_zero,
|
||||
float_round_up,
|
||||
float_round_down
|
||||
};
|
||||
|
||||
target_ulong helper_cfc1(CPUMIPSState *env, uint32_t reg)
|
||||
{
|
||||
target_ulong arg1 = 0;
|
||||
|
@ -9,6 +9,7 @@ gen = [
|
||||
mips_ss = ss.source_set()
|
||||
mips_ss.add(files(
|
||||
'cpu.c',
|
||||
'fpu.c',
|
||||
'gdbstub.c',
|
||||
))
|
||||
mips_tcg_ss = ss.source_set()
|
||||
|
Loading…
Reference in New Issue
Block a user