mirror of
https://github.com/ringtailsoftware/uvm32.git
synced 2026-06-06 06:53:39 +00:00
Fix off-by-one error which refused to read final byte of extram
This commit is contained in:
parent
cb717ed108
commit
bba5fa654c
1 changed files with 2 additions and 2 deletions
|
|
@ -160,7 +160,7 @@ bool get_safeptr(uvm32_state_t *vmst, uint32_t addr, uint32_t len, uvm32_evt_sys
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
uint32_t ptrstart = addr - UVM32_EXTRAM_BASE;
|
uint32_t ptrstart = addr - UVM32_EXTRAM_BASE;
|
||||||
if ((ptrstart > vmst->extramLen) || (ptrstart + len >= vmst->extramLen)) {
|
if ((ptrstart > vmst->extramLen) || (ptrstart + len > vmst->extramLen)) {
|
||||||
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
||||||
buf->ptr = (uint8_t *)NULL;
|
buf->ptr = (uint8_t *)NULL;
|
||||||
buf->len = 0;
|
buf->len = 0;
|
||||||
|
|
@ -172,7 +172,7 @@ bool get_safeptr(uvm32_state_t *vmst, uint32_t addr, uint32_t len, uvm32_evt_sys
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uint32_t ptrstart = addr - MINIRV32_RAM_IMAGE_OFFSET;
|
uint32_t ptrstart = addr - MINIRV32_RAM_IMAGE_OFFSET;
|
||||||
if ((ptrstart > UVM32_MEMORY_SIZE) || (ptrstart + len >= UVM32_MEMORY_SIZE)) {
|
if ((ptrstart > UVM32_MEMORY_SIZE) || (ptrstart + len > UVM32_MEMORY_SIZE)) {
|
||||||
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
||||||
buf->ptr = (uint8_t *)NULL;
|
buf->ptr = (uint8_t *)NULL;
|
||||||
buf->len = 0;
|
buf->len = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue