Commit Graph

91 Commits

Author SHA1 Message Date
Ryan Kurtz
faf55a8de6 GP-5078: Improvements to Ghidra Module directory layout 2024-10-31 10:34:26 -04:00
Ryan Kurtz
80953c6c77 Merge remote-tracking branch 'origin/patch' 2024-08-27 13:35:41 -04:00
ghidorahrex
74b127eb2c GP-4845: Fixed m68k fmovem.l register bug 2024-08-13 18:52:31 +00:00
Luke Serné
7b243aaa5a 68000: Update condition flags for ext instruction 2024-07-03 19:05:32 +02:00
Ryan Kurtz
197a18a77e Merge remote-tracking branch
'origin/GP-4377_ghidorahrex_68000_fix_signed_byte--SQUASHED' into
Ghidra_11.1 (Closes #6260, Closes #4191)
2024-05-07 12:31:30 -04:00
ghidorahrex
3ad1f908a4 GP-4377: Fixed m68000 byte operand width and floating point width 2024-05-07 10:49:01 -04:00
Dan
289c5c90fa GP-3838: Add qemu+gdb launcher. 2024-03-01 12:36:13 -05:00
Ryan Kurtz
d686733b35 Merge remote-tracking branch
'origin/GP-4049_emteere_RemovePCValueDependence' (Closes #5891)
2023-11-30 09:59:45 -05:00
Ryan Kurtz
0e9c36b513 Merge remote-tracking branch 'origin/patch' 2023-11-30 08:23:00 -05:00
emteere
7cf82f82f5 GP-4049 removed incorrect dependence on PC having a value in superh and
68000
2023-11-30 01:36:50 +00:00
ghidorahrex
28e4ce3d45 GP-3387: Added rounding mode to fint pcodeop 2023-11-29 16:37:12 +00:00
Edward J. Schwartz
38ef50b1b7 Use pcode op for fint instead of undefined 2023-11-29 16:34:33 +00:00
Edward J. Schwartz
85ff068e20 Fix sleigh for fint/fintrz
Without additional machinery, fint can't be precisely modeled because the rounding mode is controlled by the state.  fintrz always rounds to zero.  I think whoever implemented fint probably meant to implement fintrz.
2023-11-29 16:34:32 +00:00
Ryan Kurtz
b50503eada Merge remote-tracking branch 'origin/patch' 2023-11-03 13:08:14 -04:00
ghidorahrex
3d1b865543 GP-3879: Implemented lzcount in several instructions 2023-11-03 12:30:51 -04:00
William Tan
0b3801a5a5
typo: setMinpeculativeOffset -> setMinSpeculativeOffset 2023-09-20 13:24:01 -04:00
Ryan Kurtz
d932173a25 Merge remote-tracking branch
'origin/GP-3219_ghidorahrex_m68k_multiple_read_fix--SQUASHED'
(Closes #2492)
2023-07-06 12:11:23 -04:00
ghidorahrex
61d14e722b GP-3219: Refactored several 68k instructions to remove dup mem accesses. 2023-07-03 14:16:03 -04:00
Ryan Kurtz
e2f4565e5e Merge remote-tracking branch 'origin/patch' 2023-06-14 07:46:41 -04:00
emteere
3736ae076c GP-3532 Minor 68000 function start pattern 2023-06-13 23:06:18 +00:00
ghidra1
855a607699 Merge remote-tracking branch 'origin/patch' 2023-06-12 20:31:15 -04:00
ghidra1
5970699db1 Merge remote-tracking branch
'origin/GP-2955_ghidorahrex_PR-4795_Phlosioneer_m68k-pea-fix' into patch
(Closes #4795)
2023-06-12 20:19:58 -04:00
ghidra1
d5db5b643a Merge remote-tracking branch
'origin/GP-2779_ghidorahrex_PR-4808_Phlosioneer_m68k-movem-pc-fix' into
patch (Closes #4807, Closes #4808)
2023-06-12 20:17:06 -04:00
emteere
164ed51304 GP-3532 Reverted 68000 register calling convention change, added new
68000_register cspec.  Added function start patterns
2023-06-12 20:58:20 +00:00
isabella3412
5968d77869 GP-3327 Adding manual indices for Coldfire instructions 2023-05-31 14:58:28 +00:00
Phlosioneer
058fa90387 Issue 4807 Fix movem PC instruction bug on 68000
The `movem` instruction's `(d16, PC)` addressing mode has an instruction
word, a mask word, and then an extension word. The addressing mode
uses the value of PC incremented to the extension word, in this case
`instr_start + 4`. The sleigh code incorrectly uses `instr_start + 2`.
The issue is present for both `movem.w` and `movem.l` variants. This
PR fixes the `PC` offset to `+4`.

See 68000 reference manual page 2-13 for PC indirect addressing mode,
and 4-128 for MOVEM documentation.

Partially addresses #4807.
2023-05-31 14:31:37 +00:00
Phlosioneer
b1c54e36e1 Fix pea SP instruction bug on 68000 processor
The `pea` instruction adjusts `SP`, but the address may be `SP`-based.
Ghidra was evaluating the effective address after adjusting `SP`, but
the address should be evaluated before `SP` is changed. For example,
`pea (SP)` should result in a pointer to the previous stack entry,
rather than a pointer to itself.
2023-05-30 16:49:29 +00:00
ghidra1
d8d5817d7e Merge remote-tracking branch
'origin/GP-3326_ghidorahrex_PR-5194_edmcman_coldfire_halt_decode' into
Ghidra_10.3 (Closes #5194)
2023-05-08 14:19:12 -04:00
Ryan Kurtz
7fa3389119 GP-2974: Fixing warnings 2023-05-01 07:23:48 -04:00
emteere
02248d2251 GP-3077 Added constant tracking through stack for stack parameters, fixed issues with values getting crossed moving in and out of memory, added prototype param type creation, added setting for restricting parameters to know pointers to handle harvard architectures and pointertypedefs 2023-05-01 01:57:56 -04:00
ghidra1
b9202411b9 GP-1379/3022 FloatFormat and BigFloat refactor in support of string
parsing and 80-bit float format.  Change float datatype naming to use
number of bits instead of bytes.
2023-04-26 16:55:48 -04:00
Ryan Kurtz
3db2aff597 Merge remote-tracking branch
'origin/GP-2880_ghidorahrex_m68k_bcd_operand_fix--SQUASHED'
(Closes #4183, Closes #4189)
2023-04-25 06:44:51 -04:00
ghidorahrex
dd84e1a6e6 GP-2880: Fix issue with 68000 bcd instructions reversing operands 2023-04-24 13:11:05 -04:00
Edward J. Schwartz
9c7de2e69e Add coldfire halt instruction 2023-04-05 14:37:04 -04:00
Edward J. Schwartz
aa1e594519 Fix tas instruction for coldfire
Does not apply to modes 0 or 1
2023-04-05 14:14:15 -04:00
Ryan Kurtz
9cf60faef0 Merge remote-tracking branch
'origin/GP-3155_caheckman_PR-2810_Pokechu22_countleadingzeros'
(Closes #2810)
2023-03-24 14:29:30 -04:00
caheckman
945d91fc93 GP-3155 Regenerating parsers, documentation. LZCOUNT tests. 2023-03-24 13:06:45 -04:00
Ryan Kurtz
82ba4831b6 Merge remote-tracking branch
'origin/GP-3187_ghidorahrex_PR-5093_rbran_m68k_export_0_fix'
(Closes #5093, Closes #5094)
2023-03-16 12:11:31 -04:00
Ryan Kurtz
738e662e82 Merge remote-tracking branch
'origin/GP-2013_ghidorahrex_PR-4217_agatti_68000-shifts' (Closes #4217)
2023-03-14 09:57:26 -04:00
Rubens Brandão
30fc469235
Sleigh 68000 CPUs exports a length 0 value
A value with length 0 should be impossible, but also, all constructors from a table should export a value with the same length.
2023-03-13 10:42:57 -03:00
ghidorahrex
c4cf19ebfc GP-2013 Fixed additional issues with shifts and rotates 2023-03-03 17:14:41 +00:00
Pokechu22
14880b53c4 Create and use LZCOUNT Pcode op 2023-03-02 18:30:04 -08:00
ghidorahrex
1848c1a6f4 GP-2197: Fixed cspec metatype pentry ordering. 2022-12-05 15:29:40 +00:00
ghidorahrex
0e1e607317 GP-2197: Corrected COLDFIRE scalefactor consistency 2022-12-05 15:29:39 +00:00
ghidorahrex
f5b6973ea8 GP-2197 code review fixes 2022-12-05 15:29:38 +00:00
ghidorahrex
362bb9dfa3 GP-2197: Added additional EMACS instructions to coldfire 2022-12-05 15:29:37 +00:00
emteere
947bf43cb5 GP-2197 Adding initial EMAC instructions and .cspec changes for
D0,A0,D1,A1
2022-12-05 15:25:31 +00:00
emteere
ca5a6204c3 GP-2391 added evaluation of return address, allow thunking addresses to externals. Added new arem thunk pattern. 2022-10-11 18:25:09 -04:00
Ryan Kurtz
4ed60c8790 Merge remote-tracking branch 'origin/GP-2195_ghidorahrex_PR-4270_agatti_68000-coldfire-bitops' 2022-10-05 09:44:04 -04:00
Ryan Kurtz
79947c37f6 Merge remote-tracking branch
'origin/GP-2014_ghidorahrex_PR-4223_agatti_68000-pack-unpk'
(Closes #4223)
2022-09-16 13:31:35 -04:00