Skip to content

Commit 0bd8aaa

Browse files
committed
target/riscv: refactored memory access result codes
Slightly refactored memory access result codes: * Changed enum formatting * Changed status handlers to decrease boilerplate Checkpatch-ignore: MACRO_ARG_PRECEDENCE, MULTISTATEMENT_MACRO_USE_DO_WHILE Checkpatch-ignore: TRAILING_SEMICOLON Signed-off-by: Farid Khaydari <[email protected]>
1 parent 5de7310 commit 0bd8aaa

File tree

1 file changed

+35
-38
lines changed

1 file changed

+35
-38
lines changed

src/target/riscv/riscv-013.c

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3466,40 +3466,39 @@ typedef enum {
34663466
MEM_ACCESS_RESULT_TYPE_OK,
34673467
MEM_ACCESS_RESULT_TYPE_DISABLED,
34683468
MEM_ACCESS_RESULT_TYPE_SKIPPED,
3469-
MEM_ACCESS_RESULT_TYPE_FAILED
3469+
MEM_ACCESS_RESULT_TYPE_FAILED,
3470+
MEM_ACCESS_RESULT_TYPE_ENUM_SIZE,
34703471
} mem_access_result_type_t;
34713472

3472-
#define LIST_OF_MEM_ACCESS_RESULTS \
3473-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_OK, \
3474-
MEM_ACCESS_RESULT_TYPE_OK, "ok") \
3475-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_DISABLED, \
3476-
MEM_ACCESS_RESULT_TYPE_DISABLED, "disabled") \
3477-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_ABSTRACT_ACCESS_CMDERR, \
3478-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (abstract access cmderr)") \
3479-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_PROGBUF_NOT_PRESENT, \
3480-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (progbuf not present)") \
3481-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_PROGBUF_INSUFFICIENT, \
3482-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (insufficient progbuf)") \
3483-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_UNSUPPORTED_ACCESS_SIZE, \
3484-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (unsupported access size)") \
3485-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_XLEN_TOO_SHORT, \
3486-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (xlen too short)") \
3487-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TARGET_NOT_HALTED, \
3488-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (target not halted)") \
3489-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TOO_LARGE_ADDRESS, \
3490-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (address too large)") \
3491-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_UNSUPPORTED_INCREMENT_SIZE, \
3492-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (increment size not supported)") \
3493-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TARGET_SELECT_FAILED, \
3494-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (dm target select failed)") \
3495-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_FENCE_EXEC_FAILED, \
3496-
MEM_ACCESS_RESULT_TYPE_SKIPPED, "skipped (fence execution failed)") \
3497-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED, \
3498-
MEM_ACCESS_RESULT_TYPE_FAILED, "failed") \
3499-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED_DM_ACCESS_FAILED, \
3500-
MEM_ACCESS_RESULT_TYPE_FAILED, "failed (DM register access failed)") \
3501-
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED_PRIV_MOD_FAILED, \
3502-
MEM_ACCESS_RESULT_TYPE_FAILED, "failed (privilege modification failed)") \
3473+
#define LIST_OF_MEM_ACCESS_RESULTS \
3474+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_OK, OK, "ok") \
3475+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_DISABLED, DISABLED, "disabled") \
3476+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED, SKIPPED, "skipped") \
3477+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_ABSTRACT_ACCESS_CMDERR, \
3478+
SKIPPED, "skipped (abstract access cmderr)") \
3479+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_PROGBUF_NOT_PRESENT, \
3480+
SKIPPED, "skipped (progbuf not present)") \
3481+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_PROGBUF_INSUFFICIENT, \
3482+
SKIPPED, "skipped (insufficient progbuf)") \
3483+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_UNSUPPORTED_ACCESS_SIZE, \
3484+
SKIPPED, "skipped (unsupported access size)") \
3485+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_XLEN_TOO_SHORT, \
3486+
SKIPPED, "skipped (xlen too short)") \
3487+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TARGET_NOT_HALTED, \
3488+
SKIPPED, "skipped (target not halted)") \
3489+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TOO_LARGE_ADDRESS, \
3490+
SKIPPED, "skipped (address too large)") \
3491+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_UNSUPPORTED_INCREMENT_SIZE, \
3492+
SKIPPED, "skipped (increment size not supported)") \
3493+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_TARGET_SELECT_FAILED, \
3494+
SKIPPED, "skipped (dm target select failed)") \
3495+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_SKIPPED_FENCE_EXEC_FAILED, \
3496+
SKIPPED, "skipped (fence execution failed)") \
3497+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED, FAILED, "failed") \
3498+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED_DM_ACCESS_FAILED, \
3499+
FAILED, "failed (DM register access failed)") \
3500+
MEM_ACCESS_RESULT_HANDLER(MEM_ACCESS_FAILED_PRIV_MOD_FAILED, \
3501+
FAILED, "failed (privilege modification failed)")
35033502

35043503

35053504
#define MEM_ACCESS_RESULT_HANDLER(name, kind, msg) name,
@@ -3511,14 +3510,13 @@ typedef enum {
35113510
bool is_mem_access_failed(mem_access_result_t status)
35123511
{
35133512
#define MEM_ACCESS_RESULT_HANDLER(name, kind, msg) \
3514-
case name: return kind == MEM_ACCESS_RESULT_TYPE_FAILED;
3513+
case name: return MEM_ACCESS_RESULT_TYPE_##kind \
3514+
== MEM_ACCESS_RESULT_TYPE_FAILED;
35153515

35163516
switch (status) {
35173517
LIST_OF_MEM_ACCESS_RESULTS
35183518
}
3519-
35203519
#undef MEM_ACCESS_RESULT_HANDLER
3521-
35223520
LOG_ERROR("Unknown memory access status: %d", status);
35233521
assert(false && "Unknown memory access status");
35243522
return true;
@@ -3527,14 +3525,13 @@ bool is_mem_access_failed(mem_access_result_t status)
35273525
bool is_mem_access_skipped(mem_access_result_t status)
35283526
{
35293527
#define MEM_ACCESS_RESULT_HANDLER(name, kind, msg) \
3530-
case name: return kind == MEM_ACCESS_RESULT_TYPE_SKIPPED;
3528+
case name: return MEM_ACCESS_RESULT_TYPE_##kind \
3529+
== MEM_ACCESS_RESULT_TYPE_SKIPPED;
35313530

35323531
switch (status) {
35333532
LIST_OF_MEM_ACCESS_RESULTS
35343533
}
3535-
35363534
#undef MEM_ACCESS_RESULT_HANDLER
3537-
35383535
LOG_ERROR("Unknown memory access status: %d", status);
35393536
assert(false && "Unknown memory access status");
35403537
return true;

0 commit comments

Comments
 (0)