@@ -1187,7 +1187,7 @@ function handle_store_data_via_cap(rs, cs, cap_val, vaddrBits, width) = {
1187
1187
TR_Address(addr, _) => {
1188
1188
let eares : MemoryOpResult(unit) = mem_write_ea(addr, size, aq, rl, false);
1189
1189
match (eares) {
1190
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL },
1190
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL },
1191
1191
MemValue(_) => {
1192
1192
let rs_val = X(rs);
1193
1193
let res : MemoryOpResult(bool) = match (width, sizeof(xlen)) {
@@ -1199,7 +1199,7 @@ function handle_store_data_via_cap(rs, cs, cap_val, vaddrBits, width) = {
1199
1199
match (res) {
1200
1200
MemValue(true) => RETIRE_SUCCESS,
1201
1201
MemValue(false) => internal_error("store got false from mem_write_value"),
1202
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL }
1202
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL }
1203
1203
}
1204
1204
}
1205
1205
}
@@ -1265,13 +1265,13 @@ function handle_store_cap_via_cap(rs, cs, cap_val, vaddrBits) = {
1265
1265
_ => {
1266
1266
let eares : MemoryOpResult(unit) = mem_write_ea_cap(addr, aq, rl, false);
1267
1267
match (eares) {
1268
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL },
1268
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL },
1269
1269
MemValue(_) => {
1270
1270
let res : MemoryOpResult(bool) = mem_write_cap(addr, rs_val, aq, rl, false);
1271
1271
match (res) {
1272
1272
MemValue(true) => RETIRE_SUCCESS,
1273
1273
MemValue(false) => internal_error("store got false from mem_write_value"),
1274
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL }
1274
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL }
1275
1275
}
1276
1276
}
1277
1277
}
@@ -1352,7 +1352,7 @@ function handle_store_cond_data_via_cap(rs2, cs, cap_val, vaddrBits, width) = {
1352
1352
TR_Address(addr, _) => {
1353
1353
let eares : MemoryOpResult(unit) = mem_write_ea(addr, size, aq, rl, false);
1354
1354
match (eares) {
1355
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL },
1355
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL },
1356
1356
MemValue(_) => {
1357
1357
let rs2_val = X(rs2);
1358
1358
let res : MemoryOpResult(bool) = match (width, sizeof(xlen)) {
@@ -1364,7 +1364,7 @@ function handle_store_cond_data_via_cap(rs2, cs, cap_val, vaddrBits, width) = {
1364
1364
match (res) {
1365
1365
MemValue(true) => { X(rs2) = EXTZ(0b0); cancel_reservation(); RETIRE_SUCCESS },
1366
1366
MemValue(false) => { X(rs2) = EXTZ(0b1); cancel_reservation(); RETIRE_SUCCESS },
1367
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL }
1367
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL }
1368
1368
}
1369
1369
}
1370
1370
}
@@ -1421,7 +1421,7 @@ function handle_store_cond_cap_via_cap(cs2, cs, cap_val, vaddrBits) = {
1421
1421
_ => {
1422
1422
let eares : MemoryOpResult(unit) = mem_write_ea_cap(addr, aq, rl, false);
1423
1423
match (eares) {
1424
- MemException(e) => { handle_mem_exception(addr , e); RETIRE_FAIL },
1424
+ MemException(e) => { handle_mem_exception(vaddrBits , e); RETIRE_FAIL },
1425
1425
MemValue(_) => {
1426
1426
let res : MemoryOpResult(bool) = mem_write_cap(addr, cs2_val, aq, rl, false);
1427
1427
match (res) {
@@ -1436,7 +1436,7 @@ function handle_store_cond_cap_via_cap(cs2, cs, cap_val, vaddrBits) = {
1436
1436
RETIRE_SUCCESS
1437
1437
},
1438
1438
MemException(e) => {
1439
- handle_mem_exception(addr , e);
1439
+ handle_mem_exception(vaddrBits , e);
1440
1440
RETIRE_FAIL
1441
1441
}
1442
1442
}
0 commit comments