summaryrefslogtreecommitdiffstats
path: root/kernel/firmware_analyzer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/firmware_analyzer.c')
-rw-r--r--kernel/firmware_analyzer.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/kernel/firmware_analyzer.c b/kernel/firmware_analyzer.c
index 2d8d84d..9873181 100644
--- a/kernel/firmware_analyzer.c
+++ b/kernel/firmware_analyzer.c
@@ -3,6 +3,8 @@
* Auto-discovers RPC handler addresses, struct layouts, and firmware signatures
*/
+#define pr_fmt(fmt) "vgsp-fw-analyzer: " fmt
+
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
@@ -116,19 +118,19 @@ static int analyze_rpc_dispatcher(const u8 *fw, size_t fw_len, struct fw_address
ret = find_pattern(fw, fw_len, pattern_rpc_dispatch, sizeof(pattern_rpc_dispatch), &offset);
if (ret == 0) {
addrs->rpc_dispatch_primary = GSP_FW_BASE + offset;
- pr_info("FW_ANALYZER: Found RPC dispatcher at 0x%llx\n", addrs->rpc_dispatch_primary);
+ pr_info("Found RPC dispatcher at 0x%llx\n", addrs->rpc_dispatch_primary);
}
ret = find_pattern(fw, fw_len, pattern_jump_table, sizeof(pattern_jump_table), &offset);
if (ret == 0) {
addrs->rpc_jump_table = GSP_FW_BASE + offset;
- pr_info("FW_ANALYZER: Found RPC jump table at 0x%llx\n", addrs->rpc_jump_table);
+ pr_info("Found RPC jump table at 0x%llx\n", addrs->rpc_jump_table);
}
ret = find_pattern(fw, fw_len, pattern_alloc, sizeof(pattern_alloc), &offset);
if (ret == 0) {
addrs->alloc_main = GSP_FW_BASE + offset;
- pr_info("FW_ANALYZER: Found ALLOC handler at 0x%llx\n", addrs->alloc_main);
+ pr_info("Found ALLOC handler at 0x%llx\n", addrs->alloc_main);
}
return 0;
@@ -153,8 +155,8 @@ int fw_analyzer_analyze(const u8 *fw_data, size_t fw_len, struct fw_analysis_res
if (ret)
return ret;
- pr_info("FW_ANALYZER: Firmware size=%zu, CRC32=0x%08x\n", fw_len, result->crc32);
- pr_info("FW_ANALYZER: SHA256: %*phN\n", 32, result->sha256);
+ pr_info("Firmware size=%zu, CRC32=0x%08x\n", fw_len, result->crc32);
+ pr_info("SHA256: %*phN\n", 32, result->sha256);
/* Match against known signatures */
for (size_t i = 0; i < ARRAY_SIZE(known_signatures); i++) {
@@ -163,13 +165,13 @@ int fw_analyzer_analyze(const u8 *fw_data, size_t fw_len, struct fw_analysis_res
strncpy(result->version, known_signatures[i].version, sizeof(result->version) - 1);
result->addresses = known_signatures[i].addrs;
result->matched = true;
- pr_info("FW_ANALYZER: Matched known firmware version: %s\n", result->version);
+ pr_info("Matched known firmware version: %s\n", result->version);
return 0;
}
}
/* Auto-discover addresses if no match */
- pr_info("FW_ANALYZER: No known signature match, attempting auto-discovery\n");
+ pr_info("No known signature match, attempting auto-discovery\n");
ret = analyze_rpc_dispatcher(fw_data, fw_len, &result->addresses);
if (ret == 0) {
result->matched = false;
@@ -186,7 +188,7 @@ int fw_analyzer_load_and_analyze(const char *fw_path, struct fw_analysis_result
ret = request_firmware(&fw, fw_path, NULL);
if (ret) {
- pr_err("FW_ANALYZER: Failed to load firmware %s: %d\n", fw_path, ret);
+ pr_err("Failed to load firmware %s: %d\n", fw_path, ret);
return ret;
}