aboutsummaryrefslogtreecommitdiff
path: root/sim/cris/cris-sim.h
diff options
context:
space:
mode:
Diffstat (limited to 'sim/cris/cris-sim.h')
-rw-r--r--sim/cris/cris-sim.h178
1 files changed, 0 insertions, 178 deletions
diff --git a/sim/cris/cris-sim.h b/sim/cris/cris-sim.h
deleted file mode 100644
index 49a6f61..0000000
--- a/sim/cris/cris-sim.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Collection of junk for CRIS.
- Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
- Contributed by Axis Communications.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* For other arch:s, this file is described as a "collection of junk", so
- let's collect some nice junk of our own. Keep it; it might be useful
- some day! */
-
-#ifndef CRIS_SIM_H
-#define CRIS_SIM_H
-
-typedef struct {
- /* Whether the branch for the current insn was taken. Placed first
- here, in hope it'll get closer to the main simulator data. */
- USI branch_taken;
-
- /* PC of the insn of the branch. */
- USI old_pc;
-
- /* Static cycle count for all insns executed so far, including
- non-context-specific stall cycles, for example when adding to PC. */
- unsigned64 basic_cycle_count;
-
- /* Stall cycles for unaligned access of memory operands. FIXME:
- Should or should not include unaligned [PC+] operands? */
- unsigned64 unaligned_mem_dword_count;
-
- /* Context-specific stall cycles. */
- unsigned64 memsrc_stall_count;
- unsigned64 memraw_stall_count;
- unsigned64 movemsrc_stall_count;
- unsigned64 movemaddr_stall_count;
- unsigned64 movemdst_stall_count;
- unsigned64 mulsrc_stall_count;
- unsigned64 jumpsrc_stall_count;
- unsigned64 branch_stall_count;
- unsigned64 jumptarget_stall_count;
-
- /* What kind of target-specific trace to perform. */
- int flags;
-
- /* Just the basic cycle count. */
-#define FLAG_CRIS_MISC_PROFILE_SIMPLE 1
-
- /* Show unaligned accesses. */
-#define FLAG_CRIS_MISC_PROFILE_UNALIGNED 2
-
- /* Show schedulable entities. */
-#define FLAG_CRIS_MISC_PROFILE_SCHEDULABLE 4
-
- /* Show everything. */
-#define FLAG_CRIS_MISC_PROFILE_ALL \
- (FLAG_CRIS_MISC_PROFILE_SIMPLE \
- | FLAG_CRIS_MISC_PROFILE_UNALIGNED \
- | FLAG_CRIS_MISC_PROFILE_SCHEDULABLE)
-
- /* Emit trace of each insn, xsim style. */
-#define FLAG_CRIS_MISC_PROFILE_XSIM_TRACE 8
-
-#define N_CRISV32_BRANCH_PREDICTORS 256
- unsigned char branch_predictors[N_CRISV32_BRANCH_PREDICTORS];
-
-} CRIS_MISC_PROFILE;
-
-/* Handler prototypes for functions called from the CGEN description. */
-
-extern USI cris_bmod_handler (SIM_CPU *, UINT, USI);
-extern void cris_flush_simulator_decode_cache (SIM_CPU *, USI);
-extern USI crisv10f_break_handler (SIM_CPU *, USI, USI);
-extern USI crisv32f_break_handler (SIM_CPU *, USI, USI);
-extern USI cris_break_13_handler (SIM_CPU *, USI, USI, USI, USI, USI, USI,
- USI, USI);
-extern char cris_have_900000xxif;
-enum cris_interrupt_type { CRIS_INT_NMI, CRIS_INT_RESET, CRIS_INT_INT };
-extern int crisv10deliver_interrupt (SIM_CPU *,
- enum cris_interrupt_type,
- unsigned int);
-extern int crisv32deliver_interrupt (SIM_CPU *,
- enum cris_interrupt_type,
- unsigned int);
-
-/* Using GNU syntax (not C99) so we can compile this on RH 6.2
- (egcs-1.1.2/gcc-2.91.66). */
-#define cris_trace_printf(SD, CPU, FMT...) \
- do \
- { \
- if (TRACE_FILE (STATE_TRACE_DATA (SD)) != NULL) \
- fprintf (TRACE_FILE (CPU_TRACE_DATA (CPU)), FMT); \
- else \
- sim_io_printf (SD, FMT); \
- } \
- while (0)
-
-#if WITH_PROFILE_MODEL_P
-#define crisv32f_branch_taken(cpu, oldpc, newpc, taken) \
- do \
- { \
- CPU_CRIS_MISC_PROFILE (cpu)->old_pc = oldpc; \
- CPU_CRIS_MISC_PROFILE (cpu)->branch_taken = taken; \
- } \
- while (0)
-#else
-#define crisv32f_branch_taken(cpu, oldpc, newpc, taken)
-#endif
-
-#define crisv10f_branch_taken(cpu, oldpc, newpc, taken)
-
-#define crisv32f_read_supr(cpu, index) \
- (cgen_rtx_error (current_cpu, \
- "Read of support register is unimplemented"), \
- 0)
-
-#define crisv32f_write_supr(cpu, index, val) \
- cgen_rtx_error (current_cpu, \
- "Write to support register is unimplemented") \
-
-#define crisv32f_rfg_handler(cpu, pc) \
- cgen_rtx_error (current_cpu, "RFG isn't implemented")
-
-#define crisv32f_halt_handler(cpu, pc) \
- (cgen_rtx_error (current_cpu, "HALT isn't implemented"), 0)
-
-#define crisv32f_fidxi_handler(cpu, pc, indx) \
- (cgen_rtx_error (current_cpu, "FIDXI isn't implemented"), 0)
-
-#define crisv32f_ftagi_handler(cpu, pc, indx) \
- (cgen_rtx_error (current_cpu, "FTAGI isn't implemented"), 0)
-
-#define crisv32f_fidxd_handler(cpu, pc, indx) \
- (cgen_rtx_error (current_cpu, "FIDXD isn't implemented"), 0)
-
-#define crisv32f_ftagd_handler(cpu, pc, indx) \
- (cgen_rtx_error (current_cpu, "FTAGD isn't implemented"), 0)
-
-/* We have nothing special to do when interrupts or NMI are enabled
- after having been disabled, so empty macros are enough for these
- hooks. */
-#define crisv32f_interrupts_enabled(cpu)
-#define crisv32f_nmi_enabled(cpu)
-
-/* Better warn for this case here, because everything needed is
- somewhere within the CPU. Compare to trying to use interrupts and
- NMI, which would fail earlier, when trying to make nonexistent
- external components generate those exceptions. */
-#define crisv32f_single_step_enabled(cpu) \
- ((crisv32f_h_qbit_get (cpu) != 0 \
- || (crisv32f_h_sr_get (cpu, H_SR_SPC) & ~1) != 0) \
- ? (cgen_rtx_error (cpu, \
- "single-stepping isn't implemented"), 0) \
- : 0)
-
-/* We don't need to track the value of the PID register here. */
-#define crisv32f_write_pid_handler(cpu, val)
-
-/* Neither do we need to know of transitions to user mode. */
-#define crisv32f_usermode_enabled(cpu)
-
-/* House-keeping exported from traps.c */
-extern void cris_set_callbacks (host_callback *);
-
-/* FIXME: Add more junk. */
-#endif