Stanislav Shwartsman
515d8b5c25
add new instrumentation callbacks for physical memory access from CPU
2012-06-18 11:41:26 +00:00
Stanislav Shwartsman
39e4335d6d
forgot one instance
2012-04-11 19:02:12 +00:00
Stanislav Shwartsman
c7c431f88e
bx_instr_mem_data_access became completely obsolete with new stack optimization merged into SVN.
...
It already had limited usability before. With stack direct access optimization the callback won't be called for stack accesses as well.
See note by Brian Slechta:
=== Cut Hete ===
While using Bochs as a reference model for simulations, the simulator needs
information about what loads/stores are taking place with each instruction.
Presumably, that is what the BX_INSTR_MEM_DATA() instrumentation macros
cover (which is the place where our simulator hooks up).
The RETnear_xxx() functions call access_linear() directly, rather than call
read_virtual_xxx() functions. This is a problem for code making use of the
BX_INSTR_MEM_DATA() hook because it does not get called for these
instructions. Should this be changed along with some other instructions
that exhibit this?
=== Cut Hete ===
For Bryan's usage bx_instr_lin_access and bx_instr_phy_read/bx_instr_phy_write callbacks should be used.
2012-04-11 19:01:25 +00:00
Stanislav Shwartsman
279c61dc67
updated + fixed instrumentation example for instr histogram, code cleanup in the cpu
2012-03-28 21:11:19 +00:00
Stanislav Shwartsman
f6203dae7d
instrumentation: added special indication for indirect call/jump
2011-12-18 18:11:56 +00:00
Stanislav Shwartsman
c5b30582d9
cleanup instrumentation
2011-09-25 17:40:41 +00:00
Stanislav Shwartsman
330bf62f61
added INVPCID instruction support
2011-09-16 20:06:23 +00:00
Stanislav Shwartsman
f8e4e7f16b
clean up/fixed instrumentation examples + removed old 2-years old configure options check (deprecated)
2011-07-23 19:58:38 +00:00
Stanislav Shwartsman
642bdcfb0a
minimize instrumentation callback interface.
...
removed bx_instr_new_instruction callback, the callback ALWAYS can be replaced with another one - bx_instr_before_execution
TODO: fix instrumentation examples (example0 and example1)
2011-07-07 22:17:23 +00:00
Stanislav Shwartsman
df5348695d
fixed typo in tlb invalidation callback
2011-04-22 15:12:43 +00:00
Volker Ruppert
c78026a9a2
- deleted executable properties from source files
2011-04-03 10:29:19 +00:00
Stanislav Shwartsman
0a88065722
updated instrumentation callbacks
2011-03-22 22:18:40 +00:00
Stanislav Shwartsman
f2a87171c1
Fixed BX_INSTR_OPCODE callback, now its implementation closer to original definition.
...
New, updated definition of the callback:
void bx_instr_opcode(unsigned cpu, const Bit8u *opcode, unsigned len, bx_bool is32, bx_bool is64);
The callback is called each time, when Bochs completes to decode a new
instruction. Through this callback function Bochs could provide an opcode of
the instruction, opcode length and an execution mode (16/32/64).
Please note, that Bochs uses translation caches so each simulated instruction
might be executed multiple times but decoded only once.
2010-09-27 15:29:36 +00:00
Stanislav Shwartsman
4a70e73b9d
compilation fix + code duplication fix
2010-02-06 09:59:52 +00:00
Stanislav Shwartsman
cf6a4f5417
added ia_opcode into bxInstruction class
2010-01-09 15:11:32 +00:00
Stanislav Shwartsman
bd60e0264c
change Copyright to Bochs Project
2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
fe42122cbe
Fix in new instr example
2009-11-05 15:39:56 +00:00
Stanislav Shwartsman
8e62d8eb40
Fix
2009-11-04 15:52:01 +00:00
Stanislav Shwartsman
868e716411
instrumentation fixes + new example
2009-11-04 15:48:28 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
6758f9e49a
improved iteraction of internal dbger with instrumentation
2009-07-03 15:05:44 +00:00
Stanislav Shwartsman
f4e98f8855
compilation fixes
2009-06-20 20:44:12 +00:00
Stanislav Shwartsman
700e492228
Fixed compilation issues
2009-03-22 09:52:48 +00:00
Volker Ruppert
91013a781d
- some more FSF address updates
2009-02-09 10:35:55 +00:00
Stanislav Shwartsman
74b885d74b
Updated instrumentation
...
Simplified exception code
2009-01-20 19:34:16 +00:00
Stanislav Shwartsman
3fb9d7d712
clean duplicate instrumentation
2008-12-29 18:02:01 +00:00
Stanislav Shwartsman
3d60e1e20d
Fixed CPU state after software reset (INIT).
...
Update instrumentation.
Clean extra space from plugin.h biosdev device name
2008-11-18 20:55:59 +00:00
Stanislav Shwartsman
51d380551e
Fixed instrumentation desc
2008-10-06 06:51:29 +00:00
Alexander Krisak
dcf7330e69
added additional two instrumentalization callbacks called when Bochs
...
started, but before reading .bochsrc and before Bochs exits.
2008-10-01 11:36:04 +00:00
Stanislav Shwartsman
0cd11fd385
Updated instrumentation callbacks - removed fetchdecode_completed callback
2008-09-06 17:49:32 +00:00
Stanislav Shwartsman
a6fda9a971
Instrumentation code updated, some PANIC messages fixed
2008-06-23 02:56:31 +00:00
Stanislav Shwartsman
9f2906eab8
Rename instrumentation callback for MEM ACCESS
2008-04-19 11:08:06 +00:00
Stanislav Shwartsman
a652e773d9
Update memory access instrumentation code
2008-04-19 10:12:09 +00:00
Stanislav Shwartsman
715b553aef
Rename BX_INTR_SHUTDOWN callback to BX_INSTR_EXIT
2008-04-15 21:27:11 +00:00
Stanislav Shwartsman
382901c273
Added const to Bochs instr callback
2008-03-03 15:09:30 +00:00
Stanislav Shwartsman
55ad3e89b6
another whitespace cleanup by Sebastien
2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
b5cb48cae9
again compilation error fixed
2008-01-18 09:38:54 +00:00
Stanislav Shwartsman
b94557861f
added sysenter/sysexit/syscall/sysret to far branch instr callback
2008-01-18 08:56:57 +00:00
Stanislav Shwartsman
2e07b43ac6
Fixed compilation error
2008-01-17 21:35:21 +00:00
Stanislav Shwartsman
1ff667a2d1
instrumentation updates
2008-01-16 22:54:46 +00:00
Stanislav Shwartsman
f57e7c4a1f
Some more Bit32u -> bx_phy_address changes in the code
2007-12-13 21:53:55 +00:00
Stanislav Shwartsman
85d10e4f72
Added MWAIT callback
2007-12-13 21:41:32 +00:00
Stanislav Shwartsman
f145f4c847
Unify BX_INSTR_MEM_READ and BX_INSTR_MEM_WRITE callbacks to single callback BX_INSTR_MEM_ACCESS
...
Enable the callback with guest-to-host TLB enabled
Update instrumentation docs
2007-12-13 21:30:05 +00:00
Stanislav Shwartsman
05a5923971
Merged Bochs instrumentation patch by Lluis Vilanova
2007-12-13 17:16:21 +00:00
Stanislav Shwartsman
729bdb1556
Update instrumentation notes
2007-12-09 18:47:54 +00:00
Stanislav Shwartsman
b8787fd5a7
Some code cleanups and warning fixes
2007-03-14 21:15:15 +00:00
Stanislav Shwartsman
070d782ec8
Move paddr_valid param of dbg_xlate_linear2phy method to return value.
...
This is much easier to use.
2006-06-17 12:09:55 +00:00
Stanislav Shwartsman
7b6c2587a9
Now devices could be compiled separatelly from CPU
...
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
83300a66dd
Fixed printing of 64-bit values forma. When compiling with cygwin with -mno-cygwin option the format should be like in MSVC
2006-01-17 18:17:01 +00:00
Stanislav Shwartsman
cff3464bc3
More update for instrumentation examples (x86-64 support)
2006-01-16 19:53:11 +00:00