aboutsummaryrefslogtreecommitdiff
path: root/sim
AgeCommit message (Collapse)AuthorFilesLines
2011-10-10sim: dv-cfi: include stdbool.hMike Frysinger2-0/+5
The dv-cfi code uses the bool type but doesn't include the stdbool.h header. I didn't notice for Blackfin targets as the core Blackfin header will include stdbool.h, but most targets don't do this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-10-10sim: dv-cfi: include common headers onlyMike Frysinger2-1/+6
The "devices.h" header is Blackfin-specific, so trying to build dv-cfi for any other target fails. Include the specific hw headers this file needs directly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-10-05sim: merge changes from common.m4 back into SIM_AC_COMMONMike Frysinger2-0/+13
Seems some fixes were added to the common.m4 file but not the SIM_AC_COMMON macro. Keep the two in sync since they're supposed to be the same thing. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-09-29sim: bfin: use store buffer for VIT_MAX insnsMike Frysinger4-2/+63
The VIT_MAX insns can be used in parallel, so we need to use the store buffer so we don't clobber the output register before we get a chance to do a memory store with it. Reported-by: Kai Iskratsch <kai@stella.at> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-12sim: include sim-options.h for command prototypeMike Frysinger2-0/+5
The sim_args_command prototype is in sim-options.h, so pull it in directly rather than assuming a common header does it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-12sim: fix broken skel configure.ac exampleMike Frysinger2-1/+5
Shell code before AC_INIT will be silently culled, and since the common aclocal.m4 includes inline shell code, the file cannot be included before AC_INIT. So update the example to show people including the file after that rather than before to avoid random breakage. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-12sim: use AC_REQUIRE with AC_PROG_CCMike Frysinger2-1/+6
The autoconf guys point out that our usage of AC_PROG_CC in the SIM_AC_COMMON does not jive with their intended use. http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required So utilize AC_REQUIRE to make the warnings go away and generate the correct code with different autoconf versions. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-11sim: m32c/rx: rename configure.in to match rest of the treeMike Frysinger4-0/+8
The sim dir has 30 configure.ac files and 2 configure.in files. So rename the minority to be consistent. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-11sim: m32c/rx: fix typo in copyright updatingMike Frysinger4-2/+10
2011-07-08 * ld-insn.c (print_insn_words): For fields, print conditionals.Hans-Peter Nilsson2-0/+32
2011-07-08Tweak heading of last entryHans-Peter Nilsson1-1/+1
2011-07-08 Correct handling of constant fields.Hans-Peter Nilsson4-2/+35
* gen.c (insn_field_cmp): Tweak comment about neither field being an insn_field_string with a cond_eq-to-value condition. (insns_bit_useless) <case insn_field_string, case decode_find_mixed>: Handle cond_eq-to-value fields as insn_field_int. * gen-idecode.c (print_idecode_validate): Handle insn_field_string cond-equal-to-value fields as insn_field_int. * gen-icache.c (print_icache_body): Add comment why constant string fields are handled.
2011-07-08 * Makefile.in ($(SIM_MULTI_OBJ)): Depend on sim-main.hHans-Peter Nilsson2-1/+5
$(SIM_EXTRA_DEPS).
2011-07-08 * Makefile.in (tmp-mach-multi): Exit early when igen fails.Hans-Peter Nilsson2-1/+5
2011-07-08 Remove all #if 0'd code.Hans-Peter Nilsson8-1195/+23
* filter.c: Remove #if 0'd function it_is. (main): Remove #if 0'd code. * gen-engine.c: Remove #if 0'd functions print_jump, print_jump_insn, print_jump_definition, print_jump_internal_function, print_jump_body. (gen_engine_c): Remove #if 0'd code. * gen-idecode.c: Remove #if 0'd functions print_jump print_jump, print_jump_insn, print_jump_definition, print_jump_internal_function, print_jump_until_stop_body. * gen-model.c: Remove #if 0'd functions model_c_or_h_data, model_c_or_h_function, gen_model_h, model_c_insn, model_c_function, gen_model_c and types model_c_passed_data and struct _model_c_passed_data. * gen.c: Remove #if 0'd type constant_field_types and function insn_field_is_constant. (gen_entry_find_opcode_field): Remove #if 0'd code. * ld-insn.c (parse_insn_model_record): Remove #if 0'd code. * misc.h (STRDUP, STRNDUP): Remove #if 0'd macros.
2011-07-08 * MAINTAINERS: Remove Thiemo Seufer.Hans-Peter Nilsson2-1/+4
2011-07-05sim: start a unified sim_do_commandMike Frysinger27-182/+91
Since sim_do_command for many people simply calls sim_args_command, start a unified version of it. For people who handle their own options, they could switch to this by using sim_add_option_table instead. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-01sim: bfin: implement stat_map for virtual environments (libgloss)Mike Frysinger2-4/+30
The stat syscalls cannot work without a stat map, so declare one that matches libgloss for virtual environments. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-01 PR sim/12737Nick Clifton5-4/+8
* sim/arm/iwmmxt/wcmpgt.cgs: Remove expectation of failure. * sim/arm/iwmmxt/wmac.cgs: Remove expectation of failure. * sim/arm/iwmmxt/wsra.cgs: Remove expectation of failure. * sim/arm/xscale/blx.cgs: Remove expectation of failure.
2011-07-01 PR sim/12737Nick Clifton2-8/+19
* iwmmxt.c (WCMPGT): Sign extend 32-bit values before performing a signed compare. (WMAC): Extend computed result before adding to result register. (WRSA): Sign extend 32-bit values before shifting.
2011-06-22sim: bfin: pass up result2/errcode with libgloss syscallsMike Frysinger2-2/+7
Now that the Blackfin libgloss code extracts the 2nd result and the error code from the R1/R2 registers, have the sim fill them up. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-20 * am33.igen (sub Rm,Rn,Rd): Fix computation of carry flag.Nick Clifton2-1/+5
2011-06-18sim: bfin: set ASTAT AV/AVS when shifting accumulators overflowMike Frysinger2-0/+12
The LSHIFT/ASHIFT insns that work with accumulators lacked AV/AVS handling in the ASTAT register, so add it to match the hardware. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: do not touch ASTAT[V] when shifting accumulatorsMike Frysinger2-3/+9
If we're shifting accumulators, we don't want to touch the V bit in ASTAT, so add size checks to the ashiftrt/lshiftrt helpers. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: do not extend accumulator in LSHIFT insnsMike Frysinger2-1/+6
The logical shift insn does not sign extend before shifting, so we shouldn't either. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: tweak saturation handling with TFU/FU modes and MM bitMike Frysinger2-14/+35
This too should have been squashed into an earlier change. It covers a few more cases in the V/VS saturation patch when working with TFU and FU modes of dsp insns. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: handle large shift values with accumulator shift insnsMike Frysinger2-2/+14
When the shift magnitude exceeds 32 bits, the values rotate around (since the hardware is actually a barrel shifter). So handle this edge case, update the corresponding AV bit in ASTAT which was missing previously, and tweak the AZ setting based on how the hardware behaves. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: handle odd shift values with shift insnsMike Frysinger2-7/+36
The shift magnitude is a 5-bit signed value. When it is between 0 and 15, then we do the requested shift, but when it is outside of that, we have to do the opposite. That means we flip between lshift and ashiftrt to match the hardware. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: add tests for recent dsp fixesMike Frysinger14-0/+2502
Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: fix M_IH saturation sizeMike Frysinger2-17/+6
This reverts the previous commit and does it right. This change got lost in the shuffle of patches I have pending. Basically the logic is to change the 32bit saturation (and then masked to 16bits) to a proper 16bit saturation. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: handle V/VS saturation in dsp mac insnsMike Frysinger2-25/+58
Some saturation cases with dsp mac insns were not setting the V flag. So implement that part and split up the logic between the dual macs. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: handle the MM flag in M_IU/M_TFU modes with dsp insnsMike Frysinger2-0/+10
Our handling of the M_IU/M_TFU modes are missing signed saturation when the MM flag is set, so add it to match the hardware behavior. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: fix sign extension in dsp insns with MM flagMike Frysinger2-8/+10
After testing the hardware with all the different dsp flags, the MM flag triggers sign extension in all modes. So drop the limited use of it, and the local custom helper that was also extending unsigned values. We also can see that the flag checks in the mult/mac insns have the same behavior with sign extending, so add a helper func to keep the logic the same in both places. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: fix dsp insns IH saturation/rounding behaviorMike Frysinger2-1/+16
When using the IH modifier, we need to first saturate the value before rounding it, and then further saturate it a bit more. This makes the sim match the hardware behavior with these insns. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: fix inverted changelog entryMike Frysinger1-1/+1
2011-06-18sim: bfin: fix accumulator edge case saturationMike Frysinger2-2/+7
When the accumulator saturates, it needs to be greater than, but not equal to, the largest unsigned value as this is what the hardware does. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: use freeargv for freeing argvsMike Frysinger2-1/+5
Since the argv array was allocated with dupargv, it needs to be freed with freeargv to avoid leaks. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-09sim: erc32: ignore --sysroot that gdb passes downMike Frysinger2-0/+7
2011-06-09sim/ppc: Fix check for --sysroot= optionJoel Brobecker2-1/+6
Fixes an error reported by Tristan and which can be evidenced by doing: % powerpc-elf-gdb (gdb) target sim --sysroot=var Invalid option: --sysroot=/var [...] sim/ppc/ChangeLog: * psim.c (psim_options): Fix length of comparison when checking for --sysroot= option.
2011-06-09Spelling fixes in ChangeLog.Joel Brobecker1-2/+2
2011-06-08ppc sim: Improve invalid option error messageJoel Brobecker2-2/+13
This patch improves the error message when an invalid option is detected, by also printing the option that actually caused the error. For instance, from GDB: (gdb) target sim --hello Invalid option: --hello Usage: [...] We also added the usage after an invalid long-name option (Eg: --hello) to be in line with what's being done for all other invalid options being detected. sim/ppc/ChangeLog: * psim.c (psim_options): Add option that cause the error in invalid-option error messages. Print the usage when detecting an invalid long-name option.
2011-06-08ppc sim: Allow --sysroot command-line optionJoel Brobecker2-0/+8
There was a recent change that cuased the "target sim" command to add a --sysroot option to the argument vector passed down to the simulator. This caused a failure in the powerpc simulator, as it did not recognize it. This patch fixes the problem by adding support for the --sysroot option (it ignores it). sim/ppc/ChangeLog: * psim.c (psim_options): Accept and ignore `--sysroot=...'.
2011-06-05sim: bfin: add missing gitignore fileMike Frysinger1-0/+1
2011-06-04sim: bfin: import testsuiteMike Frysinger816-0/+221152
Now that the common sim testsuite code supports .S and .c files, we can import the Blackfin testsuite. There are about ~800 tests here, so I'm only attaching a compressed patch of them. Other than adding files to sim/testsuite/sim/bfin/, the sim/configure.tgt file was updated to mark Blackfin as having a testsuite, and sim/configure regenerated. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-04sim: bfin: add support for glued SIC interrupt linesMike Frysinger2-25/+71
The BF537 family glues a bunch of peripherals into single interrupt lines that run into the SIC. To model this same behavior in the sim, we need to use the glue-or device, and in order to use that, we need to tweak things a bit in the mach code to allow declaring of these new devices. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-04sim: bfin: push SIC mappings to device treeMike Frysinger3-589/+723
The machs.c file is the best place for holding cpu-specific details, so restructure the way the SIC manages its ports to do just that. Now the SIC's have a standard set of input pins and the different line routing from peripherals is kept in the device tree only. This better models the hardware where the SIC doesn't care about the exact peripheral that is sending it stuff, just which input pin it gets it on. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-03Spelling fixe in sim/ppc/vm.cJoel Brobecker2-1/+7
From Stephen Kitt <steve@sk2.org> * vm.c (vm_synchronize_context): Spelling fix in function documentation.
2011-06-03Minor spelling fix in ChangeLog.Joel Brobecker1-1/+1
2011-06-03sim: bfin: dma: fix indentationMike Frysinger2-1/+5
2011-06-01Add `sim_complete_command' definition to erc32 simJoel Brobecker2-0/+10
This patch fixes a build failure at link time due to sim_complete_command being undefined. There was a recent change that added this function to all the ports that do not use the common/ subdir. But somehow, the erc32 port got missed. sim/erc32/ChangeLog: * interf.c (sim_complete_command): New stub function.