aboutsummaryrefslogtreecommitdiff
path: root/sim
AgeCommit message (Collapse)AuthorFilesLines
2023-01-18sim: info: convert verbose field to a boolMike Frysinger20-28/+28
The verbose argument has always been an int treated as a bool, so convert it to an explicit bool. Further, update the API docs to match the reality that the verbose value is actually used by some of the internal modules.
2023-01-18sim: unify sim-signal.o buildingMike Frysinger3-8/+14
Now that sim-main.h has been reduced significantly, we can remove it from sim-signal.c and unify it across all boards since it compiles to the same code.
2023-01-18sim: v850: reduce extra header inclusion to igen filesMike Frysinger1-0/+4
Limit these extra header includes to only when specific igen files include us until we can move the includes to the igen fils directly.
2023-01-18sim: v850: drop redundant defineMike Frysinger1-4/+0
This is already in v850/local.mk, so we can drop it from sim-main.h.
2023-01-19sim: mn10300: minimize mn10300-sim.h include in sim-main.hMark Wielaard4-0/+17
sim-main.h is special since it is one of the files automatically included in igen generated files. But this means anything including sim-main.h might get everything included just for the igen files. To prevent clashing symbols/defines only include sim-fpu.h, sim-signal.h, mn10300-sim.h from sim-main.h if it is included from one of the generated igen C files. Add explicit includes of mn10300-sim.h, sim-fpu.h and/or sim-signal.h to dv-mn103cpu.c, interp.c and op_utils.c.
2023-01-17sim: ppc: drop local psim linkMike Frysinger2-34/+12
This has never been installed, and it's not clear anyone cares about it in the local build dir (when the main program is sim/ppc/run), so drop all the logic to simplify.
2023-01-16sim: assume sys/stat.h always exists (via gnulib)Mike Frysinger7-46/+4
We have many uses of sys/stat.h that are unprotected by HAVE_SYS_STAT_H, so this is more formalizing the reality that we require this header. Since we switched to gnulib, it guarantees that a sys/stat.h exists for us to include, so we're doubly OK.
2023-01-16sim: formally assume unistd.h always exists (via gnulib)Mike Frysinger31-67/+4
We have many uses of unistd.h that are unprotected by HAVE_UNISTD_H, so this is more formalizing the reality that we require this header. Since we switched to gnulib, it guarantees that a unistd.h exists for us to include, so we're doubly OK.
2023-01-16sim: build: stop probing system extensions (ourselves)Mike Frysinger3-189/+3
This logic was added in order to expose the strsignal prototype for nrun.c. Since then, we've migrated to gnulib as our portability layer, and it takes care of probing system extensions for us, so there's no need to duplicate the work.
2023-01-15sim: modules.c: fix generation after recent refactorsMike Frysinger32-0/+155
Add explicit arch-specific modules.c rules to keep the build from generating an incorrect common/modules.c. Otherwise the pattern rules would cascade such that it'd look for $arch/modules.o which turned into common/modules.c which triggered the gen rule. My local testing of this code didn't catch this bug because of how Automake manages .Po (dependency files) in incremental builds -- it was adding extra rules that override the pattern rules which caused the build to generate correct modules.c files. But when building from a cold cache, the pattern rules would force common/modules.c to be used leading to crashes at runtime.
2023-01-15sim: microblaze, mn10300: remove signal.h include in interp.cMark Wielaard2-3/+0
signal.h isn't needed in microblaze and mn10300 interp.c so don't include it.
2023-01-15sim: m32r: fix typos in stamp dependsMike Frysinger2-4/+4
Copying & pasting the first rule missed updating the dep to the right stamp file.
2023-01-15sim: igen: simplify build logic a littleMike Frysinger5-354/+275
Now that all ports (that use igen) build in the top-level and depend on igen, we can move the conditional logic out of configure. We also switch from noinst_LIBRARIES to EXTRA_LIBRARIES so that the library is only built when needed (i.e. the igen tool is used).
2023-01-14sim: build: drop depdir subdir hackMike Frysinger2-164/+0
Now that all the ports compile some C files in their arch dirs, Automake guarantees creating the depdir for us, so we can drop our configure hack.
2023-01-14sim: common: simplify modules.c depsMike Frysinger2-9/+4
Now that all ports (other than ppc) build in the top-level, we don't need to expand all the modules.c targets as a recursive dep. Each port depends on their respective file now, and the ppc port doesn't use it at all.
2023-01-14sim: common: move modules.c to source trackingMike Frysinger32-195/+584
This makes sure the arch-specific modules.c wildcard is matched and not the common/%.c so that we compile it correctly. It also makes sure each subdir has depdir logic enabled.
2023-01-14sim: common: move libcommon.a dep to ppc codeMike Frysinger3-30/+34
Rather than force this to be built ahead of time for all targets, move the dep to the ppc code since it's the only user of it now.
2023-01-14sim: build: drop most recursive build depsMike Frysinger16-173/+153
Now that we build these objects in the top dir & generate modules.c there, we don't need to generate them all first -- we can let the normal dependency graph take care of building things in parallel.
2023-01-14sim: common: move libcommon.a objects to sourcesMike Frysinger33-251/+275
This simplifies the build logic and avoids an Automake bug where the common_libcommon_a_OBJECTS variable isn't set in the arch libsim.a DEPENDENCIES for targets that, alphabetically, come before "common". We aren't affected by that bug with the current code, but as we move things out of SIM_ALL_RECURSIVE_DEPS and rely on finer dependencies, we will trip over it.
2023-01-14sim: igen: simplify build depMike Frysinger2-156/+151
Now that all ports (other than ppc) build in the top-level, we don't need to mark the igen tool as a recursive dep. Each port depends on the tool if it actually uses it, and ppc doesn't use it at all.
2023-01-14sim: common: simplify hw-config.h depsMike Frysinger2-13/+9
Now that all ports (other than ppc) build in the top-level, we don't need to expand all the hw-config.h targets as a recursive dep. Each port depends on their respective header now, and the ppc port doesn't use it at all.
2023-01-14sim: build: drop AM_MAKEFLAGS settingsMike Frysinger10-185/+161
We don't have any recursive builds anymore, so we can drop this logic.
2023-01-13sim: build: delete Make-common.in logicMike Frysinger6-286/+3
Now that all (other than ppc) build in the top-level, this logic is unused, so punt it all.
2023-01-11sim: build: drop subdir Makefile.in filesMike Frysinger31-645/+0
These aren't used anymore, so punt them all.
2023-01-10sim: disable recursive make in (most) subdirsMike Frysinger4-707/+13
Now that all (other than ppc) build in the top-level, we can disable the recursive make calls to them. This speeds things up nicely.
2023-01-10sim: common: move test-hw-events to top-level buildMike Frysinger4-5/+17
This is an internal developer target that isn't normally compiled, but it can still be occasionally useful. Move it to the top-level build so we can kill off common/Make-common.in.
2023-01-10sim: move arch-specific file compilation of common/ files to top-levelMike Frysinger33-124/+137
2023-01-10sim: v850: move arch-specific file compilation to top-levelMike Frysinger2-6/+3
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: sh: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: rx: move arch-specific file compilation to top-levelMike Frysinger3-9/+3
The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
2023-01-10sim: rl78: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: riscv: move arch-specific file compilation to top-levelMike Frysinger2-6/+3
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: pru: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: or1k: move arch-specific file compilation to top-levelMike Frysinger2-6/+3
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: msp430: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: moxie: move arch-specific file compilation to top-levelMike Frysinger3-9/+3
The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
2023-01-10sim: mn10300: move arch-specific file compilation to top-levelMike Frysinger2-6/+8
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: mips: move arch-specific file compilation to top-levelMike Frysinger2-6/+10
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: microblaze: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: mcore: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: m68hc11: move arch-specific file compilation to top-levelMike Frysinger2-6/+17
The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
2023-01-10sim: m32r: move arch-specific file compilation to top-levelMike Frysinger3-9/+26
2023-01-10sim: m32c: move arch-specific file compilation to top-levelMike Frysinger3-9/+3
The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
2023-01-10sim: lm32: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: iq2000: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: h8300: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: ft32: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: frv: move arch-specific file compilation to top-levelMike Frysinger3-12/+9
The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
2023-01-10sim: example-synacor: move arch-specific file compilation to top-levelMike Frysinger2-6/+0
2023-01-10sim: erc32: move arch-specific file compilation to top-levelMike Frysinger3-16/+11
The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.