X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Ftarget%2Friscv%2Friscv.c;h=dfd6a3e3d4fd15029ee2e4e7f315563700ee3b73;hb=fd2a44ab55e7c54ee9e594717aba72d04e85e716;hp=5444fca01b84696afb5ab2d9dfc33f4a50aa734b;hpb=aff48a6a31019af17959a7da33909d1cea6de61a;p=fw%2Fopenocd diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c index 5444fca01..dfd6a3e3d 100644 --- a/src/target/riscv/riscv.c +++ b/src/target/riscv/riscv.c @@ -1607,6 +1607,7 @@ static int riscv_address_translate(struct target *target, LOG_DEBUG("virtual=0x%" TARGET_PRIxADDR "; mode=%s", virtual, info->name); /* verify bits xlen-1:va_bits-1 are all equal */ + assert(xlen >= info->va_bits); target_addr_t mask = ((target_addr_t)1 << (xlen - (info->va_bits - 1))) - 1; target_addr_t masked_msbs = (virtual >> (info->va_bits - 1)) & mask; if (masked_msbs != 0 && masked_msbs != mask) {