1/* collection of junk waiting time to sort out 2 Copyright (C) 2000, 2006 Free Software Foundation, Inc. 3 Contributed by Red Hat, Inc. 4 5This file is part of the GNU Simulators. 6 7This program is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 3 of the License, or 10(at your option) any later version. 11 12This program is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20#ifndef SH64_SIM_H 21#define SH64_SIM_H 22 23#define GETTWI GETTSI 24#define SETTWI SETTSI 25 26 27enum { 28 ISM_COMPACT, ISM_MEDIA 29}; 30 31/* Hardware/device support. */ 32extern device sh5_devices; 33 34/* FIXME: Temporary, until device support ready. */ 35struct _device { int foo; }; 36 37extern IDESC * sh64_idesc_media; 38extern IDESC * sh64_idesc_compact; 39 40/* Function prototypes from sh64.c. */ 41 42BI sh64_endian (SIM_CPU *); 43VOID sh64_break (SIM_CPU *, PCADDR); 44SI sh64_movua (SIM_CPU *, PCADDR, SI); 45VOID sh64_trapa (SIM_CPU *, DI, PCADDR); 46VOID sh64_compact_trapa (SIM_CPU *, UQI, PCADDR); 47 48SF sh64_fldi0 (SIM_CPU *); 49SF sh64_fldi1 (SIM_CPU *); 50DF sh64_fcnvsd (SIM_CPU *, SF); 51SF sh64_fcnvds (SIM_CPU *, DF); 52 53DF sh64_fabsd (SIM_CPU *, DF); 54SF sh64_fabss (SIM_CPU *, SF); 55DF sh64_faddd (SIM_CPU *, DF, DF); 56SF sh64_fadds (SIM_CPU *, SF, SF); 57DF sh64_fdivd (SIM_CPU *, DF, DF); 58SF sh64_fdivs (SIM_CPU *, SF, SF); 59DF sh64_floatld (SIM_CPU *, SF); 60SF sh64_floatls (SIM_CPU *, SF); 61DF sh64_floatqd (SIM_CPU *, DF); 62SF sh64_floatqs (SIM_CPU *, DF); 63SF sh64_fmacs(SIM_CPU *, SF, SF, SF); 64DF sh64_fmuld (SIM_CPU *, DF, DF); 65SF sh64_fmuls (SIM_CPU *, SF, SF); 66DF sh64_fnegd (SIM_CPU *, DF); 67SF sh64_fnegs (SIM_CPU *, SF); 68DF sh64_fsqrtd (SIM_CPU *, DF); 69SF sh64_fsqrts (SIM_CPU *, SF); 70DF sh64_fsubd (SIM_CPU *, DF, DF); 71SF sh64_fsubs (SIM_CPU *, SF, SF); 72SF sh64_ftrcdl (SIM_CPU *, DF); 73DF sh64_ftrcdq (SIM_CPU *, DF); 74SF sh64_ftrcsl (SIM_CPU *, SF); 75DF sh64_ftrcsq (SIM_CPU *, SF); 76VOID sh64_ftrvs (SIM_CPU *, unsigned, unsigned, unsigned); 77VOID sh64_fipr (SIM_CPU *cpu, unsigned m, unsigned n); 78SF sh64_fiprs (SIM_CPU *cpu, unsigned g, unsigned h); 79VOID sh64_fldp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f); 80VOID sh64_fstp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f); 81VOID sh64_ftrv (SIM_CPU *cpu, UINT ignored); 82VOID sh64_pref (SIM_CPU *cpu, SI addr); 83BI sh64_fcmpeqs (SIM_CPU *, SF, SF); 84BI sh64_fcmpeqd (SIM_CPU *, DF, DF); 85BI sh64_fcmpges (SIM_CPU *, SF, SF); 86BI sh64_fcmpged (SIM_CPU *, DF, DF); 87BI sh64_fcmpgts (SIM_CPU *, SF, SF); 88BI sh64_fcmpgtd (SIM_CPU *, DF, DF); 89BI sh64_fcmpund (SIM_CPU *, DF, DF); 90BI sh64_fcmpuns (SIM_CPU *, SF, SF); 91 92DI sh64_nsb (SIM_CPU *, DI); 93 94#endif /* SH64_SIM_H */ 95