feat: add basic logging interface
Introduce a lightweight logger interface, allowing clients to register
custom info, warn, and error handlers. Adds initial integration into
transfer_list.h.
Change-Id: Ia2470ce58566385f3c7df068f600d236c09625ca
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
diff --git a/src/generic/transfer_list.c b/src/generic/transfer_list.c
index 2e681dc..1af7ed7 100644
--- a/src/generic/transfer_list.c
+++ b/src/generic/transfer_list.c
@@ -9,6 +9,7 @@
#include <stdio.h>
#include <string.h>
+#include <logging.h>
#include <private/math_utils.h>
#include <transfer_list.h>
@@ -20,22 +21,22 @@
if (!tl) {
return;
}
- printf("Dump transfer list:\n");
- printf("signature 0x%x\n", tl->signature);
- printf("checksum 0x%x\n", tl->checksum);
- printf("version 0x%x\n", tl->version);
- printf("hdr_size 0x%x\n", tl->hdr_size);
- printf("alignment 0x%x\n", tl->alignment);
- printf("size 0x%x\n", tl->size);
- printf("max_size 0x%x\n", tl->max_size);
- printf("flags 0x%x\n", tl->flags);
+ info("Dump transfer list:\n");
+ info("signature 0x%x\n", tl->signature);
+ info("checksum 0x%x\n", tl->checksum);
+ info("version 0x%x\n", tl->version);
+ info("hdr_size 0x%x\n", tl->hdr_size);
+ info("alignment 0x%x\n", tl->alignment);
+ info("size 0x%x\n", tl->size);
+ info("max_size 0x%x\n", tl->max_size);
+ info("flags 0x%x\n", tl->flags);
while (true) {
te = transfer_list_next(tl, te);
if (!te) {
break;
}
- printf("Entry %d:\n", i++);
+ info("Entry %d:\n", i++);
transfer_entry_dump(te);
}
}
@@ -43,11 +44,11 @@
void transfer_entry_dump(struct transfer_list_entry *te)
{
if (te) {
- printf("tag_id 0x%x\n", te->tag_id);
- printf("hdr_size 0x%x\n", te->hdr_size);
- printf("data_size 0x%x\n", te->data_size);
- printf("data_addr 0x%lx\n",
- (unsigned long)transfer_list_entry_data(te));
+ info("tag_id 0x%x\n", te->tag_id);
+ info("hdr_size 0x%x\n", te->hdr_size);
+ info("data_size 0x%x\n", te->data_size);
+ info("data_addr 0x%lx\n",
+ (unsigned long)transfer_list_entry_data(te));
}
}
@@ -139,46 +140,44 @@
}
if (tl->signature != TRANSFER_LIST_SIGNATURE) {
- printf("Bad transfer list signature %#" PRIx32 "\n",
- tl->signature);
+ warn("Bad transfer list signature %#" PRIx32 "\n",
+ tl->signature);
return TL_OPS_NON;
}
if (!tl->max_size) {
- printf("Bad transfer list max size %#" PRIx32 "\n",
- tl->max_size);
+ warn("Bad transfer list max size %#" PRIx32 "\n", tl->max_size);
return TL_OPS_NON;
}
if (tl->size > tl->max_size) {
- printf("Bad transfer list size %#" PRIx32 "\n", tl->size);
+ warn("Bad transfer list size %#" PRIx32 "\n", tl->size);
return TL_OPS_NON;
}
if (tl->hdr_size != sizeof(struct transfer_list_header)) {
- printf("Bad transfer list header size %#" PRIx32 "\n",
- tl->hdr_size);
+ warn("Bad transfer list header size %#" PRIx32 "\n",
+ tl->hdr_size);
return TL_OPS_NON;
}
if (!transfer_list_verify_checksum(tl)) {
- printf("Bad transfer list checksum %#" PRIx32 "\n",
- tl->checksum);
+ warn("Bad transfer list checksum %#" PRIx32 "\n", tl->checksum);
return TL_OPS_NON;
}
if (tl->version == 0) {
- printf("Transfer list version is invalid\n");
+ warn("Transfer list version is invalid\n");
return TL_OPS_NON;
} else if (tl->version == TRANSFER_LIST_VERSION) {
- printf("Transfer list version is valid for all operations\n");
+ info("Transfer list version is valid for all operations\n");
return TL_OPS_ALL;
} else if (tl->version > TRANSFER_LIST_VERSION) {
- printf("Transfer list version is valid for read-only\n");
+ info("Transfer list version is valid for read-only\n");
return TL_OPS_RO;
}
- printf("Old transfer list version is detected\n");
+ info("Old transfer list version is detected\n");
return TL_OPS_CUS;
}