forked from qemu/qemu
-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Rest of unfinished hexagon work. * Add trace function defintions to helper.h * Add trace helper functions. * Remove any tracing code from original files for now. * Log trace events * Fix defintions * Fix several build errors. * Add first logging of register reads. * Trace frame begins and ends * Log register read and writes * Log traps with endframe * Generate register reads, instead of having them in get_result_gpr. Otherwise too many reads get logged and would lead to conflicts when comparing the traces. * Add load_reg tracing only for rw regs. Not also w regs. * Generate load traces * Trace memory stores. * Rework and add some register logging * Emit register names instead of numbers * Set actually passed parameter type. * Trace gpr/ctrl load/store * Trace register pair load/store * Trace predicate reg load/stores * Rename hexagon_regnames -> hex_regnames (use our names) * Pass size in bytes, not in bits. * Move vector trace functions to bottom of file for order. * Clean up comments * Remove unused function. * Pass complete size of packet, not just number of instructions. * 1byte = 8bits -.- * Trace register writes during packet commit. * Always log prediate reads. * Remove tracing of double register. * Fix: call correct helper * Add many more traces of reg loads and stores of new/normal * Add several traces of PC stores. * Trace write to PC for end of packet * Add initial load of PC. * Check for new or old pred write * Remove loggin of PC * Determine num of instructions for fram ends by packet size. Since num_insn omits immext. * Log all loads at the beginning of a packet to prevent incorrect Pre-Operand setting * Fix: Pass MemOps to tracing functions. Not byte numbers. * Check needs_commit falg before writing the .new or the non new reg * Fix logging of endframe. * Set the .new register as Pre-Operands the non-tmp registers. * Trace USR writes * Track the LC0 decrement writes properly. * Fix: hex_gpr doesn't track the PC always reliable. remove tracking of it. * Trace correct register C5 insteaed of C4 * Dont use get_gpr since it messes up the execution. * Fix tracking of LC0 * Add build job for Hexagon * Update .github/workflows/build.yaml Co-authored-by: Ivan Gotovchits <[email protected]> * Use checkout action to clone BAP repos. * Add missing libprotobuf-c-dev dep * Remove ref from checkout action. --------- Co-authored-by: Ivan Gotovchits <[email protected]>
- Loading branch information
Showing
13 changed files
with
431 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#pragma once | ||
|
||
#include "frame_arch.h" | ||
|
||
const uint64_t frame_arch = frame_arch_hexagon; | ||
const uint64_t frame_mach = frame_mach_hexagon_V6; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.