aboutsummaryrefslogtreecommitdiff
path: root/sim
AgeCommit message (Collapse)AuthorFilesLines
2021-06-30sim: frv: scope the unique configure flagMike Frysinger4-29/+41
This will make it possible to merge into the common configure by making sure we never collide with other arches.
2021-06-30sim: move scache init to dynamic modules.cMike Frysinger4-7/+12
Use the new modules.c framework to find & initialize this module.
2021-06-30sim: move profile init to dynamic modules.cMike Frysinger4-8/+11
Use the new modules.c framework to find & initialize this module.
2021-06-30sim: move trace init to dynamic modules.cMike Frysinger4-8/+11
Use the new modules.c framework to find & initialize this module.
2021-06-30sim: move engine init to dynamic modules.cMike Frysinger4-6/+10
Use the new modules.c framework to find & initialize this module.
2021-06-30sim: bfin: merge with common configure scriptMike Frysinger8-2912/+43
Now that the model logic has been migrated into the runtime, there's nothing specific in the bfin configure code, so merge it into the common one.
2021-06-30sim: delete unused model settingsMike Frysinger2-23/+6
These were never fully migrated from the psim to common code, and since we've finished moving the logic into the runtime sim state, we won't ever need these. So punt them.
2021-06-30sim: move default model to the runtime sim stateMike Frysinger62-298/+120
This kills off another compile-time option by moving the setting to the individual arch runtimes. This will allow dynamic selection by the arch when doing a single build with multiple arches. The sim_model_init rework is a little funky. In the past it was disabled entirely if no default model was set. We maintain the spirit of the logic by gating the fallback logic on whether the port has defined any models.
2021-06-30sim: namespace sim_machsMike Frysinger35-46/+167
We want to do a single build with all arches in one binary which means we need to namespace sim_machs on a per-arch basis. Move it from a global variable to the sim description structure so it can be setup at runtime. Changing the SIM_MODEL->num from an enum to an int is unfortunate, but we specifically don't want to maintain a centralized list anymore, and this was never used directly in common code, just passed to per-arch callbacks.
2021-06-29sim: ppc: fix printf warningsMike Frysinger3-2/+16
This code hits some format-zero-length warnings, so hack the code like we did in the common layers.
2021-06-29sim: use -Wunused-but-set-parameterMike Frysinger3-12/+25
The code is already clean, so sync this over from gdb warning.m4. Also shuffle the order of the flags a bit to match the current gdb warning.m4 code.
2021-06-29sim: fix arch Makefile regen when unifiedMike Frysinger2-1/+7
The $(arch) variable is only setup for cgen ports, so calculate this value dynamically. We also need to generate multiple inputs in order to properly recreate the subdir Makefile, so list them all.
2021-06-29sim: use -Wno-error=maybe-uninitializedMike Frysinger3-0/+9
We have some code tripping this warning, but it depends on the gcc version & optimization levels. We've added some hints to the code so some versions of gcc work better, but still not all. Let's just disable the warning like gdb does.
2021-06-29sim: callback: add check for HAVE_KILLMike Frysinger2-0/+9
Fix building on systems w/out a kill function (e.g. Windows).
2021-06-29sim: cris: remove cgen-ops.h include hackMike Frysinger2-4/+5
This has been upstreamed into cgen itself.
2021-06-29sim: model: constify sim_machs storageMike Frysinger21-15/+60
The array of pointers is never modified, so mark it const so it ends up in the read-only data section.
2021-06-29sim: io: add printf attributes to vprintf funcs tooMike Frysinger2-2/+9
The compiler can still do basic format checks with vprintf style funcs, so add the printf attribute to these.
2021-06-29sim: callback: add printf attributesMike Frysinger2-1/+7
This helps these funcs get printf format checking coverage. The sim-io.c hack as a result is a bit unfortunate, but the compiler throws warnings when printing with empty strings. In this one case, we actually want that due to the side-effect of the callback halting execution for us.
2021-06-29sim: callback: drop unused printf helpersMike Frysinger3-66/+8
These cover functions aren't used anywhere, so drop them. There was one caller, but it's old DOS code that most likely hasn't been tested in years, so just delete that too.
2021-06-29sim: cgen: require long long supportMike Frysinger3-29/+6
We require C11 now, so we can assume & require long long exists. Drop this old code that hasn't been used for a long long time.
2021-06-28sim: bpf: enable -Werror usageMike Frysinger2-3/+4
Now that all bpf warnings have been cleaned up, turn on -Werror.
2021-06-28sim: bpf: fix printf warnings on 32-bit systemsMike Frysinger2-1/+5
Use PRI macros to display 64-bit types instead of assuming long is a 64-bit type itself.
2021-06-28sim: cgen: delete unused record_trace_results functionsMike Frysinger17-80/+31
Since there are no callers of this anywhere, nor is the function implemented by anyone, drop it across the board to cleanup warnings.
2021-06-27sim: frv: add missing const typeMike Frysinger2-1/+5
2021-06-27sim: frv: fix engine hookMike Frysinger2-1/+5
This hook doesn't return a value, so don't define it to 0 to avoid the compiler warning about it not being used.
2021-06-27sim: frv: fix up various missing prototype warningsMike Frysinger6-1/+22
Some of these were missing includes, some were unused funcs we can cleanup, and some were missing prototypes for use in other files.
2021-06-27sim: frv: fix some printf type mismatch warningsMike Frysinger3-2/+7
The %p usage was a real bug that would probably cause a crash.
2021-06-27sim: frv: fix uninitialized variable warningMike Frysinger2-2/+6
This variable isn't set anywhere, so pass down NULL_CIA to indicate we don't have a pc to pass.
2021-06-27sim: frv: fix return type for post_wait_for funcsMike Frysinger3-19/+31
These functions never return anything, so change the int return type to void to fix a bunch of compiler warnings about missing return.
2021-06-27sim: frv: fix ambiguous else compiler warningsMike Frysinger4-25/+43
Add explicit braces to if bodies when the body is another if/else to fix a bunch of compiler warnings.
2021-06-27sim: bpf/cris: include cgen-mem in decodersMike Frysinger6-0/+16
These arches use cgen memory functions, so make sure to include the header in the modules.
2021-06-27sim: bpf: include more local headers & fix broken funcsMike Frysinger5-10/+25
Various files were not including the relevant headers, or some funcs were missing prototypes entirely, leading to mismatch between the actual definition of the functions. Add includes to a few places and fix the broken functions that are uncovered as a result. Fixing some compile warnings (e.g. missing prototypes) often find real bugs.
2021-06-27sim: cgen: suppress trace non-literal printf warningMike Frysinger2-0/+10
The cgen trace macros are a bit ugly in that they specify a series of format strings & arguments in a single call. This means we pass a non-literal string to printf and the compiler warns about it. Use the diagnostic macros to suppress that in this one place.
2021-06-27sim: cgen: add asserts to fix unused engine warningsMike Frysinger2-1/+8
If the user passed in values outside the range of [0, MAX_NR_PROCESSORS), it would cause the code to access out-of-bind engine function pointers. Add some asserts to catch that and to fix the related compiler warnings.
2021-06-27sim: cgen: add printf attributes in a few more callsMike Frysinger2-2/+7
This helps the compiler process calls to these functions and emit warnings about mismatched format arguments.
2021-06-27sim: cgen: constify trace stringsMike Frysinger3-8/+17
Shouldn't be any functional changes here.
2021-06-27sim: cgen: always leverage the mem prototypesMike Frysinger2-14/+55
This fixes missing prototype warnings, and guarantees the prototypes stay in sync with the function definitions. One of the macros had fallen out by declaring the wrong return type.
2021-06-27sim: cgen: always leverage the ops prototypesMike Frysinger2-50/+50
This fixes missing prototype warnings, and guarantees the prototypes stay in sync with the function definitions.
2021-06-27sim: cgen: sync prototypes with implementationMike Frysinger2-17/+27
These prototype blocks are not normally used, so they've fallen out of sync with the actual function definitions. Resync them all.
2021-06-27sim: bpf: add explicit casts when using explicit formatsMike Frysinger2-12/+16
Since the value variable usually has an incompatible type for the wide variety of types it is printed as, add explicit casts to them all.
2021-06-27sim: bpf: fix mixed decls & code warnings (and style)Mike Frysinger3-3/+12
2021-06-27sim: erc32: merge with common configure scriptMike Frysinger11-4305/+213
Move the unique library tests to the common code so we can delete the erc32 configure logic entirely.
2021-06-27sim: bfin: move pkg-config & SDL checks to common codeMike Frysinger12-1196/+319
This reduces the unique logic in bfin/configure to make it easier to (eventually) unify it entirely.
2021-06-24sim: cris: fix a few missing prototype warningsMike Frysinger3-32/+11
Add a stub prototype for the dump function meant to be called by devs from gdb, and trim unused functions that aren't supposed to be used.
2021-06-24sim: callback: extend syscall interface to handle 7 argsMike Frysinger4-4/+16
The Linux syscall interface, depending on architecture, handles up to 7 arguments. Extend the callback API to handle those.
2021-06-23sim: syscall: handle killing the sim itselfMike Frysinger2-2/+18
If code tries to send a signal to itself, the callback layer ignores it and forces the caller to handle it. This allows the sim to turn that into an engine halt rather than actually killing the sim.
2021-06-23sim: cris: override getpid callbackMike Frysinger2-0/+13
The cris linux syscall layers assume getpid returns a constant, so add a custom function to provide that.
2021-06-23sim: callback: add a kill interfaceMike Frysinger3-0/+35
This will make it easier to emulate the syscall. If the kill target is the sim itself, don't do anything. This forces the higher layers to make a decision as to how to handle this event: like halting the overall engine process.
2021-06-23sim: switch common srcdir to abs_srcdirMike Frysinger5-20/+29
We rewrite srcdir in subdir Makefiles that we generate from the common parent dir since it points to the parent dir. Since @srcdir@ can be a variety of formats (relative & absolute), switch to @abs_srcdir@ which is a lot easier to adjust. Our use of srcdir in here should handle it.
2021-06-22sim: cris: fix a few warningsMike Frysinger2-2/+9
Include header for hw funcs called, adjust prototype to match the args given to it, and adjust cast to match the function.