aboutsummaryrefslogtreecommitdiff
path: root/sim/v850/sim-main.h
AgeCommit message (Collapse)AuthorFilesLines
2022-01-06sim: v850: migrate to standard uintXX_t typesMike Frysinger1-25/+19
This old port setup its own uintXX types, but since we require C11 now, we can assume the standard uintXX_t types exist and use them.
2021-05-17sim: fully merge sim_state_base into sim_stateMike Frysinger1-2/+0
Now that all ports have migrated to the new framework, drop support for the old sim_state_base layout.
2021-05-17sim: invert sim_state storageMike Frysinger1-12/+2
Currently all ports have to declare sim_state themselves in their sim-main.h and then embed the common sim_state_base & sim_cpu in it. This dynamic makes it impossible to share common object code among multiple ports because the core data structure is always different. Let's invert this relationship: common code declares sim_state, and if the port actually needs state on a per-instance basis, it can use the new arch_data field for it. Most ports don't actually use it, so they don't need to declare anything at all. This is the first in a series of changes: it adds a define to select between the old & new layouts, then converts all the ports that don't need custom state over to the new layout.
2021-05-16sim: switch config.h usage to defs.hMike Frysinger1-1/+0
The defs.h header will take care of including the various config.h headers. For now, it's just config.h, but we'll add more when we integrate gnulib in. This header should be used instead of config.h, and should be the first include in every .c file. We won't rely on the old behavior where we expected files to include the port's sim-main.h which then includes the common sim-basics.h which then includes config.h. We have a ton of code that includes things before sim-main.h, and it sometimes needs to be that way. Creating a dedicated header avoids the ordering mess and implicit inclusion that shows up otherwise.
2015-12-24sim: enable watchpoint module everywhereMike Frysinger1-5/+0
We build & bundle the watchpoint module everywhere, but we don't make the command line flags available by default. A few targets opted in, but most did not. Just enable the flag for everyone. Not all targets will respect the flags (making them nops), but shouldn't be a big deal. This is how we handle other common modules already.
2015-11-17sim: mn10300/v850: drop unused WITH_CORE defineMike Frysinger1-1/+0
This was dropped from the sim core in 1997, so no point in having these sim ports continue to define it.
2015-11-17sim: always enable modulo memoryMike Frysinger1-1/+0
Having this be a config option doesn't make sense: the code size is pretty much the same (as all the logic is still active), and if it's disabled, the sim throws an error if you try to use it. That means we can't break sims that weren't using it before by enabling it all the time.
2015-04-18sim: unify SIM_CPU definitionMike Frysinger1-3/+0
Since every target typedefs this the same way, move it to the common code. We have to leave Blackfin behind here for now because of inter-dependencies on types and headers: sim-base.h includes sim-model.h which needs types in machs.h which needs types in bfim-sim.h which needs SIM_CPU.
2015-04-18sim: unify sim_cia definitionMike Frysinger1-2/+0
Almost every target defines sim_cia the same way -- either using the address_word type directly, or a type of equivalent size. The only odd one out is sh64 (who has 32bit address_word and 64bit cia), and even that case doesn't seem to make sense. We'll put off clean up though of sh64 and at least set up a sensible default for everyone.
2015-04-17sim: replace CIA_{GET,SET} with CPU_PC_{GET,SET}Mike Frysinger1-3/+0
The CIA_{GET,SET} macros serve the same function as CPU_PC_{GET,SET} except the latter adds a layer of indirection via the sim state. This lets models set up different functions at runtime and doesn't reach so directly into the arch-specific cpu state. It also doesn't make sense to have two sets of macros that do exactly the same thing, so lets standardize on the one that gets us more.
2015-04-15sim: unify sim-cpu usageMike Frysinger1-5/+0
Now that all the targets are utilizing CPU_PC_{FETCH,STORE}, and the cpu state is multicore, and the STATE_CPU defines match, we can move it all to the common code.
2015-04-13sim: v850: convert to sim-cpuMike Frysinger1-3/+5
Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs.
2015-02-27Fixes problems building the V850 simulator introduced with the previous delta.Nick Clifton1-1/+85
* sim-main.h (reg64_t): New type. (v850_regs): Add selID_sregs field. (VR, SAT16, SAT32, ABS16, ABS32 ): New macros. * v850-dc: Add fields for v850e3v5 instructions. * v850.igen (cvtf.dl): Use correctly signed local value. (cvtf.dw, cvtf.sw, trncf.dul, trncf.dl, trncf.sul, trncf.sw): Likewise. * interp.c: Fix old style function declarations. * simops.c: Likewise.
2014-01-07remove PARAMS from simTom Tromey1-3/+3
This removes the last uses of PARAMS from sim. 2014-01-06 Tom Tromey <tromey@redhat.com> * README-HACKING: Don't use PARAMS. * arm/wrapper.c: Don't use PARAMS. * bfin/sim-main.h: Don't use PARAMS. * common/callback.c: Don't use PARAMS. * common/cgen-trace.c: Don't use PARAMS. * common/run-sim.h: Don't use PARAMS. * common/run.c: Don't use PARAMS. * common/sim-base.h: Don't use PARAMS. * common/sim-load.c: Don't use PARAMS. * common/sim-options.h: Don't use PARAMS. * common/sim-trace.c: Don't use PARAMS. * common/sim-trace.h: Don't use PARAMS. * common/sim-utils.h: Don't use PARAMS. * cr16/cr16_sim.h: Don't use PARAMS. * cr16/gencode.c: Don't use PARAMS. * cr16/interp.c: Don't use PARAMS. * cr16/simops.c: Don't use PARAMS. * d10v/d10v_sim.h: Don't use PARAMS. * d10v/gencode.c: Don't use PARAMS. * d10v/interp.c: Don't use PARAMS. * d10v/simops.c: Don't use PARAMS. * erc32/erc32.c: Don't use PARAMS. * erc32/exec.c: Don't use PARAMS. * erc32/float.c: Don't use PARAMS. * erc32/func.c: Don't use PARAMS. * erc32/sis.c: Don't use PARAMS. * erc32/sis.h: Don't use PARAMS. * mips/interp.c: Don't use PARAMS. * mips/sim-main.h: Don't use PARAMS. * sh/interp.c: Don't use PARAMS. * v850/sim-main.h: Don't use PARAMS. * v850/v850_sim.h: Don't use PARAMS.
2012-03-29Commit gdb and sim support for v850e2 and v850e2v3 on behalf ofKevin Buettner1-2/+296
Rathish C <Rathish.C@kpitcummins.com>.
2002-11-302002-11-30 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-2/+2
* simops.c: Use int, 1, 0 instead of boolean, true and false. * sim-main.h: Ditto.
2002-08-29Makefile.in: Add gen-zero-r0 option.Nick Clifton1-0/+2
sim-main.h (GPR_SET, GPR_CLEAR): Define. simops.c (OP_24007E0): Sign extend the imm9 operand of a mul instruction.
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+388
1999-04-16Initial creation of sourceware repositoryStan Shebs1-470/+0
1997-09-19Clean up tracing for Bcond & jmp insns.Andrew Cagney1-0/+41
Fix computation of disp16 and disp22. Clean up tracing of sld* insns.
1997-09-19Fix cmov immed.Andrew Cagney1-3/+17
1997-09-19Fix cmov insn.Andrew Cagney1-0/+17
1997-09-17Clean up more tracing.Andrew Cagney1-1/+1
FIX interrupt delivery - was zapping PSW before it had been saved. FIX interrupt return, was one instruction out.
1997-09-17Fix tracing for: "ctret", "bsw", "hsw"Andrew Cagney1-5/+52
Fix bugs in: "bsh", "callt", "stsr".
1997-09-16Smooth some of ALU tracing's rough edges.Andrew Cagney1-5/+59
Fix switch insn.
1997-09-16Restrict ldsr (load system register) to modifying just non-reserved PSW bits.Andrew Cagney1-0/+1
For v850eq, include PSW[US] in bits that can be modified.
1997-09-15For instructions moved into v850.igen was computing (wrong) NIA whenAndrew Cagney1-4/+10
this wasn't needed.
1997-09-15Fix sanitization for v850 V v850e V v850eqAndrew Cagney1-4/+31
1997-09-15For v850eq start up with US bit set.Andrew Cagney1-0/+52
Let sim_analyze_program determine the architecture. Fix various sanitizations.
1997-09-12Check reserved bits before executing instructions.Andrew Cagney1-0/+1
Make v850[eq] the the default simulator. Report illegal instructions. Include v850e instructions in v850eq.
1997-09-12Add profiling support to v850*.Andrew Cagney1-0/+8
1997-09-08Add multi-sim support to v850/v850e/v850eq simulators.Andrew Cagney1-26/+51
1997-09-04Replace memory model with one from sim/common directory.Andrew Cagney1-9/+15
1997-09-03Pacify gcc-current -Wall.Andrew Cagney1-2/+1
1997-09-03Standard simulator header file.Andrew Cagney1-0/+172