aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-cpu.h
AgeCommit message (Collapse)AuthorFilesLines
2022-11-02sim: common: change sim_{fetch,store}_register helpers to use void* buffersMike Frysinger1-2/+2
When reading/writing arbitrary data to the system's memory, the unsigned char pointer type doesn't make that much sense. Switch it to void so we align a bit with standard C library read/write functions, and to avoid having to sprinkle casts everywhere.
2022-10-31sim: reg: constify store helperMike Frysinger1-1/+1
These functions only read from memory, so mark the pointer as const.
2022-10-11sim/common: Add ATTRIBUTE_PRINTFTsukasa OI1-1/+2
Clang generates a warning if the format string of a printf-like function is not a literal ("-Wformat-nonliteral"). On the default configuration, it causes a build failure (unless "--disable-werror" is specified). To avoid warnings on the printf-like wrapper, it requires proper __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason. This commit adds ATTRIBUTE_PRINTF to a printf-like function.
2022-01-01Automatic Copyright Year update after running gdb/copyright.pyJoel Brobecker1-1/+1
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
2021-04-12sim: cgen: move cgen_cpu_max_extra_bytes logic into the common codeMike Frysinger1-2/+2
Every arch handles this the same way, so move it to the common code. This will also make unifying the sim_cpu structure easier.
2021-01-01Update copyright year range in all GDB filesJoel Brobecker1-1/+1
This commits the result of running gdb/copyright.py as per our Start of New Year procedure... gdb/ChangeLog Update copyright year range in copyright header of all GDB files.
2020-01-01Update copyright year range in all GDB files.Joel Brobecker1-1/+1
gdb/ChangeLog: Update copyright year range in all GDB files.
2019-01-01Update copyright year range in all GDB files.Joel Brobecker1-1/+1
This commit applies all changes made after running the gdb/copyright.py script. Note that one file was flagged by the script, due to an invalid copyright header (gdb/unittests/basic_string_view/element_access/char/empty.cc). As the file was copied from GCC's libstdc++-v3 testsuite, this commit leaves this file untouched for the time being; a patch to fix the header was sent to gcc-patches first. gdb/ChangeLog: Update copyright year range in all GDB files.
2018-01-02Update copyright year range in all GDB filesJoel Brobecker1-1/+1
gdb/ChangeLog: Update copyright year range in all GDB files
2017-01-01update copyright year range in GDB filesJoel Brobecker1-1/+1
This applies the second part of GDB's End of Year Procedure, which updates the copyright year range in all of GDB's files. gdb/ChangeLog: Update copyright year range in all GDB files.
2016-01-01GDB copyright headers update after running GDB's copyright.py script.Joel Brobecker1-1/+1
gdb/ChangeLog: Update year range in copyright notice of all files.
2015-12-25sim: sim-model: build for everyoneMike Frysinger1-2/+0
Rather than include this for some targets, set it up so we can build it all the time via the common code. This makes it easier for targets to opt into it when they're ready, increases build coverage, and allows us to centralize much of the logic. We also get to delete tconfig.h from two more targets -- they were setting WITH_DEVICES to 0 which has the same behavior as not defining it at all. While the SIM_HAVE_MODEL knob is gone, we now have WITH_MODEL_P, but it is only used by the common sim-model code. We use it to declare dummy model lists when the arch hasn't created its own.
2015-12-25sim: move MACH/MODEL types into SIM_xxx namespaceMike Frysinger1-2/+2
The "MACH" and "MODEL" names are a bit generic and collide with symbols used by other sections of code (like h8300's opcodes). Since these are sim-specific types, they really should have a "SIM_" prefix.
2015-01-01Update year range in copyright notice of all files owned by the GDB project.Joel Brobecker1-1/+1
gdb/ChangeLog: Update year range in copyright notice of all files.
2014-01-01Update Copyright year range in all files maintained by GDB.Joel Brobecker1-1/+1
2013-01-01Update years in copyright notice for the GDB files.Joel Brobecker1-1/+1
Two modifications: 1. The addition of 2013 to the copyright year range for every file; 2. The use of a single year range, instead of potentially multiple year ranges, as approved by the FSF.
2012-01-04Copyright year update in most files of the GDB Project.Joel Brobecker1-2/+1
gdb/ChangeLog: Copyright year update in most files of the GDB Project.
2011-01-01run copyright.sh for 2011.Joel Brobecker1-1/+2
2010-01-01Update copyright notices to add year 2010.Joel Brobecker1-1/+1
2009-01-14 Update the copyright notice of some of the files I missedJoel Brobecker1-1/+1
in the previous copyright update.
2008-01-01 Updated copyright notices for most files.Daniel Jacobowitz1-1/+1
2007-08-24 Switch the license of all files explicitly copyright the FSFJoel Brobecker1-5/+4
to GPLv3.
2007-01-09Copyright updates for 2007.Daniel Jacobowitz1-1/+1
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+152
1999-04-16Initial creation of sourceware repositoryStan Shebs1-147/+0
1998-10-09 * Make-common.in (sim-reg.o): New rule.Doug Evans1-0/+147
(cgen-run.o): New rule. * cgen-ops.h: Delete many BI macros. Change all UBI -> BI. * cgen-run.c (prime_cpu): New function. * cgen-scache.c: Add pseudo-basic-block (pbb) scaching support. (scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly mentioned cpu. (scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns. * cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum. (CGEN_INSN_VIRTUAL_P): New macro. (SEM_PC): New typedef. (SEMANTIC_FN): Change type of result to SEM_PC. (SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros. (IDESC_CTI_P,IDESC_SKIP_P): New macros. (SCACHE_MAP): New typedef. (CPU_SCACHE): Add pbb support. (scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare. (SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros. (CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn, max_slice_insns. (INSN_NAME): Delete. (cgen_insn_name): Declare. (sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn. * cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes. (first_insn_p): Make static. (trace_insn): Handle virtual insns specially. (cgen_trace_printf): Ensure we haven't overflowed the buffer. * cgen-types.h (UBI): Delete. (MODE_TYPE): New enum. (HOSTINT,HOSTUINT,HOSTPTR): Delete. * cgen-utils.c (mode_names): Delete UBI. Add INT,UINT,PTR. (cgen_virtual_opcode_table): New global. (cgen_insn_name): New function. (sim_disassemble_insn): Ignore virtual insns. * genmloop.sh: Delete top level loop generation. Add pbb support. * sim-cpu.h (CPU_INSN_NAME_FN): New typedef. (sim_cpu_base): New members max_insns,insn_name,model_data. (CPU_PC_GET,CPU_PC_SET): New macros. (sim_pc_get,sim_pc_set): Declare. * sim-model.c (model_set): Call model init fn. * sim-model.h (MODEL_FN): New typedef. (INSN_TIMING): New member model_fn. (MODEL): New members num,init. * sim-profile.c (sim_profile_print_bar): Renamed from print_bar. All callers updated. (profile_insn_init): New fn. (profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME. Exit early if insn profiling not supported. (profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX. (profile_install): Record profile_insn_init as init fn. (profile_uninstall): Free PROFILE_INSN_COUNT if non-null. * sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX. (PROFILE_DATA): Delete member exec_time. Change insn_count to pointer to array, rather than the array. (sim_profile_print_bar): Declare.