Cerion Armour-Brown
1efe44baeb
Changed naming convention from 'PPC32' to 'PPC' for all VEX code common to both PPC32 and PPC64.
...
And tidied up a fair bit while i was at it.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1504
2005-12-23 00:55:09 +00:00
Cerion Armour-Brown
c036d8fee8
Fix switchback.c to reflect changes to call of LibVEX_Translate()
...
Fix test_ppc_jm1.c to reflect direct linking
- main -> __main etc
- vex_printf -> vexxx_printf etc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1499
2005-12-16 13:49:00 +00:00
Cerion Armour-Brown
e4b0a05930
Switchbacker updates
...
- no longer using home-grown linker - simply compiling and linking switchback.c with test_xxx.c
- updated to handle ppc64 (along with it's weirdo function descriptors...)
- have to be careful not to use exported functions from libvex_arch_linux.a, hence vex_printf -> vexxx_printf in test_xxx.c
git-svn-id: svn://svn.valgrind.org/vex/trunk@1490
2005-12-13 21:30:48 +00:00
Julian Seward
0c73e55f5f
Unbreak build.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1421
2005-10-20 11:56:00 +00:00
Julian Seward
736b6278f3
Fix up linking/relocation a bit, and track API changes in r1272.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1274
2005-07-18 11:39:47 +00:00
Julian Seward
3fe5c701f8
Fix build breakage.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1271
2005-07-14 07:00:06 +00:00
Julian Seward
91e0a833b3
Track recent API change (introduction of VexArchInfo).
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1240
2005-07-01 10:50:50 +00:00
Cerion Armour-Brown
6481bde2da
guest-ppc32
...
~~~~~~~~~~
- store-with-update instrs: Valgrind pagefault handler expects faulting address >= current stack ptr, so we need to update the stack ptr register _before_ storing the old stack ptr
- branch_ctr_ok (bad calc for 'branch if %ctr zero' case)
- mcrf: scanning bitfields in the wrong direction
- on spotting the magic sequence, delta += 24
- updated DIPs for +ve-only args
host-ppc32
~~~~~~~~~
- fixed CMov reg usage
- fixed Pin_Call in emit_PPC32Instr(): we already know how far we're jumping
- fixed Pin_Goto in emit_PPC32Instr(): vassert right range of jump deltas
other-ppc32
~~~~~~~~~~
- exported OFFSET_ppc32_(various) for valgrind
git-svn-id: svn://svn.valgrind.org/vex/trunk@1211
2005-06-20 12:42:04 +00:00
Cerion Armour-Brown
4cf5d68be2
fix 'Usage:'
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1210
2005-06-20 12:15:54 +00:00
Julian Seward
84cc004442
Use cpp symbol __x86_64__ rather than __amd64__ on the advice of
...
Michael Matz.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1111
2005-03-29 21:35:08 +00:00
Cerion Armour-Brown
f8daaea1ec
Use ULong instead of Int for stopAfter and n_bbs_done - shouldn't run out of bbs for a while now...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1051
2005-03-17 13:11:06 +00:00
Cerion Armour-Brown
dc40e0565c
handy test wrapper
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1050
2005-03-17 13:01:08 +00:00
Cerion Armour-Brown
d250492e91
stop compiler errors on fp regs, add possibily of setting xer_ca, clearly choose what tests to run
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1049
2005-03-17 13:00:11 +00:00
Cerion Armour-Brown
695e1e3aea
small fix to rlwnm_cb loop
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1041
2005-03-16 11:51:03 +00:00
Julian Seward
59d98eae94
Improved method for discarding invalidated translations.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1038
2005-03-15 17:49:46 +00:00
Julian Seward
c263e72fec
Brain-dead (but working) support for Vex-directed translation-cache
...
invalidates.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1036
2005-03-15 16:52:13 +00:00
Julian Seward
1bc1a47a02
Somewhat reduce the number of immediate values in test-with-immediate
...
style tests.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1035
2005-03-15 16:51:30 +00:00
Julian Seward
47a278b4b7
Make suitable for initial test run.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1022
2005-03-11 12:04:29 +00:00
Julian Seward
6eaa1e1a80
Change license on switchback/test_ppc_jm1.c as per Jocelyn's
...
instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1020
2005-03-10 23:13:15 +00:00
Cerion Armour-Brown
0309f8242c
Added test_ppc to Makefile
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1013
2005-03-10 15:53:11 +00:00
Julian Seward
284dee213a
Jocelyn Mayer's fabulous ppc test program.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1009
2005-03-09 13:13:30 +00:00
Cerion Armour-Brown
c8e95f2908
Cleaned up front end a fair bit.
...
Consolidated spr (non-gpr/fpr) register interface
Brought together separate guest XER flags to single word
+ fixed up switchback (latter slighly broken since r1002)
Few more comments, vasserts etc.
Updated page refs to PPC32 docs
git-svn-id: svn://svn.valgrind.org/vex/trunk@1006
2005-03-04 17:35:29 +00:00
Cerion Armour-Brown
bcc594927e
fix cmd call of switchback, and deal with return err 256
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1005
2005-03-04 14:20:14 +00:00
Cerion Armour-Brown
6c0f1ee7f0
printout stderr msg on abnormal switchback exit
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@997
2005-03-03 04:49:09 +00:00
Cerion Armour-Brown
6ad7ccc5b3
Deal with last_bad == given_last_good
...
Some printout changes
Ignore vex output in output test
git-svn-id: svn://svn.valgrind.org/vex/trunk@993
2005-03-01 20:31:53 +00:00
Cerion Armour-Brown
0e1f3b76c9
perl script to run a binary search with switchback
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@988
2005-02-28 18:48:27 +00:00
Julian Seward
63cb75b31b
Gradually move popular translations towards the start of the
...
table, so they can be found more quickly on subsequent lookups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@986
2005-02-28 14:26:22 +00:00
Cerion Armour-Brown
fb8daa1014
Fix flags define & printout last run translation after all...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@967
2005-02-25 13:40:31 +00:00
Cerion Armour-Brown
4cb4bc2ade
Re-arranged switchback::run_simulator a little, so can print translation of current bb (so if test breaks @ N, we can switchback @ N and N gets printed)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@964
2005-02-25 12:33:12 +00:00
Cerion Armour-Brown
10387d6109
Fix to run_translation: need to save LR on _caller's_ stack, and leave a hole for a callee to do the same on our stack.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@950
2005-02-23 11:20:53 +00:00
Cerion Armour-Brown
ee3dba903c
Added new instruction RdWrLR to read/write link register.
...
The LR is saved in ISelEnv at the start of every bb
The LR is restored before any Goto.
This is needed because LR is a caller-saved register on PPC32, so helper functions may kill it.
(Could save/restore around each helper call, but not efficient)
git-svn-id: svn://svn.valgrind.org/vex/trunk@949
2005-02-22 20:36:49 +00:00
Julian Seward
6361b196ae
Make the switchbacker work on ppc32.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@947
2005-02-22 15:12:00 +00:00
Cerion Armour-Brown
15076c1759
just turned off some debug printfs
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@944
2005-02-21 16:44:03 +00:00
Cerion Armour-Brown
aaa0a411ba
coupl'a small fixes for ppc32
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@943
2005-02-21 16:30:45 +00:00
Cerion Armour-Brown
d01f09b852
finished off switchback code for ppc32
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@940
2005-02-21 13:58:38 +00:00
Julian Seward
6115012787
Advance ppc32 to the point where we can hope to start the program.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@927
2005-02-17 18:07:56 +00:00
Julian Seward
a9dc13f5de
Handle some ppc32 relocation types.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@926
2005-02-17 17:42:30 +00:00
Cerion Armour-Brown
e2a16a4120
correction to branch instr for ppc hack
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@925
2005-02-17 16:14:16 +00:00
Cerion Armour-Brown
bd98149439
surely it couldn't be still more ppc hacks...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@924
2005-02-17 15:54:44 +00:00
Julian Seward
96547bed9d
Even more ppc32 hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@923
2005-02-17 15:16:08 +00:00
Julian Seward
6215a76506
More ppc hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@922
2005-02-17 15:02:10 +00:00
Julian Seward
348634bc14
ppc32 hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@921
2005-02-17 14:35:24 +00:00
Cerion Armour-Brown
7a8b4dc0f4
first ppc32 assembly attempts...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@920
2005-02-17 14:17:12 +00:00
Julian Seward
acbe57bc1a
un-break compilation on x86
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@907
2005-02-14 00:22:30 +00:00
Julian Seward
37ec6e8a69
Print stats at exit, and minor changes
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@906
2005-02-14 00:17:49 +00:00
Julian Seward
e7ac399147
Make this test a bit more demanding.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@905
2005-02-14 00:16:50 +00:00
Julian Seward
f9ef6c2060
sigh; on amd64 do not place common symbols high in the address space
...
as they cannot be referenced in 32-bit relocations. This is really
a hack needed to run test_bzip2.o on the switchback simulator.
git-svn-id: svn://svn.valgrind.org/vex/trunk@903
2005-02-13 13:43:57 +00:00
Julian Seward
cc440b54b5
Allow the service function to handle free() as well as malloc().
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@902
2005-02-13 12:47:56 +00:00
Julian Seward
a922b7a2e9
A self-contained, hacked version of bzip2 which can run on the
...
switchback simulator.
git-svn-id: svn://svn.valgrind.org/vex/trunk@901
2005-02-13 12:47:03 +00:00
Julian Seward
33f1cd9d63
Fix printf format string.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@900
2005-02-13 10:43:41 +00:00