Age | Commit message (Collapse) | Author | Files | Lines |
|
This will make it possible to merge into the common configure by
making sure we never collide with other arches.
|
|
Use the new modules.c framework to find & initialize this module.
|
|
Use the new modules.c framework to find & initialize this module.
|
|
Use the new modules.c framework to find & initialize this module.
|
|
Use the new modules.c framework to find & initialize this module.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This code hits some format-zero-length warnings, so hack the code
like we did in the common layers.
|
|
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.
|
|
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.
|
|
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.
|
|
Fix building on systems w/out a kill function (e.g. Windows).
|
|
This has been upstreamed into cgen itself.
|
|
The array of pointers is never modified, so mark it const so it ends
up in the read-only data section.
|
|
The compiler can still do basic format checks with vprintf style
funcs, so add the printf attribute to these.
|
|
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.
|
|
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.
|
|
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.
|
|
Now that all bpf warnings have been cleaned up, turn on -Werror.
|
|
Use PRI macros to display 64-bit types instead of assuming long is
a 64-bit type itself.
|
|
Since there are no callers of this anywhere, nor is the function
implemented by anyone, drop it across the board to cleanup warnings.
|
|
|
|
This hook doesn't return a value, so don't define it to 0 to avoid
the compiler warning about it not being used.
|
|
Some of these were missing includes, some were unused funcs we can
cleanup, and some were missing prototypes for use in other files.
|
|
The %p usage was a real bug that would probably cause a crash.
|
|
This variable isn't set anywhere, so pass down NULL_CIA to indicate
we don't have a pc to pass.
|
|
These functions never return anything, so change the int return type
to void to fix a bunch of compiler warnings about missing return.
|
|
Add explicit braces to if bodies when the body is another if/else
to fix a bunch of compiler warnings.
|
|
These arches use cgen memory functions, so make sure to include the
header in the modules.
|
|
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.
|
|
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.
|
|
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.
|
|
This helps the compiler process calls to these functions and emit
warnings about mismatched format arguments.
|
|
Shouldn't be any functional changes here.
|
|
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.
|
|
This fixes missing prototype warnings, and guarantees the prototypes
stay in sync with the function definitions.
|
|
These prototype blocks are not normally used, so they've fallen out
of sync with the actual function definitions. Resync them all.
|
|
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.
|
|
|
|
Move the unique library tests to the common code so we can delete
the erc32 configure logic entirely.
|
|
This reduces the unique logic in bfin/configure to make it easier to
(eventually) unify it entirely.
|
|
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.
|
|
The Linux syscall interface, depending on architecture, handles up to
7 arguments. Extend the callback API to handle those.
|
|
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.
|
|
The cris linux syscall layers assume getpid returns a constant,
so add a custom function to provide that.
|
|
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.
|
|
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.
|
|
Include header for hw funcs called, adjust prototype to match the
args given to it, and adjust cast to match the function.
|