diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2024-05-13 15:40:15 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2024-06-23 09:28:08 +0000 |
commit | 91043cecee396209bd4d616fe6e78d835bebd978 (patch) | |
tree | 00ca97a56ba405c88537d9f6313db06ee0d1c851 | |
parent | c5358c84ad0d3e7497498e0457cec7785f72910a (diff) | |
download | riscv-openocd-91043cecee396209bd4d616fe6e78d835bebd978.zip riscv-openocd-91043cecee396209bd4d616fe6e78d835bebd978.tar.gz riscv-openocd-91043cecee396209bd4d616fe6e78d835bebd978.tar.bz2 |
target: aarch64: align armv8_read_reg() and armv8_read_reg32()
These functions are today always called with non-NULL parameter
regval, so the actual check is not needed.
Anyway, for any future code change, check the parameter at the
entry of the functions and return error if it is not valid.
Simplify the check to assign the result value and align the code
of the two functions.
Change-Id: Ie4d98063006d70d9e2bcfc00bc930133caf33515
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8266
Tested-by: jenkins
-rw-r--r-- | src/target/armv8.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/target/armv8.c b/src/target/armv8.c index bf582ff..8d97902 100644 --- a/src/target/armv8.c +++ b/src/target/armv8.c @@ -282,6 +282,9 @@ static int armv8_read_reg(struct armv8_common *armv8, int regnum, uint64_t *regv uint32_t value; uint64_t value_64; + if (!regval) + return ERROR_FAIL; + switch (regnum) { case 0 ... 30: retval = dpm->instr_read_data_dcc_64(dpm, @@ -361,10 +364,8 @@ static int armv8_read_reg(struct armv8_common *armv8, int regnum, uint64_t *regv break; } - if (retval == ERROR_OK && regval) + if (retval == ERROR_OK) *regval = value_64; - else - retval = ERROR_FAIL; return retval; } @@ -512,6 +513,9 @@ static int armv8_read_reg32(struct armv8_common *armv8, int regnum, uint64_t *re uint32_t value = 0; int retval; + if (!regval) + return ERROR_FAIL; + switch (regnum) { case ARMV8_R0 ... ARMV8_R14: /* return via DCC: "MCR p14, 0, Rnum, c0, c5, 0" */ @@ -587,7 +591,7 @@ static int armv8_read_reg32(struct armv8_common *armv8, int regnum, uint64_t *re break; } - if (retval == ERROR_OK && regval) + if (retval == ERROR_OK) *regval = value; return retval; |