[CPU] Handle cases in access watches where base addresses overlap

This commit is contained in:
DrChat 2018-02-09 17:21:35 -06:00
parent 455dfeb39f
commit 7da973d9e6
1 changed files with 4 additions and 4 deletions

View File

@ -118,16 +118,16 @@ uintptr_t MMIOHandler::AddPhysicalAccessWatch(uint32_t guest_address,
bool hit = false;
auto entry = *it;
if (base_address < (*it)->address &&
if (base_address <= (*it)->address &&
base_address + length > (*it)->address) {
hit = true;
} else if ((*it)->address < base_address &&
} else if ((*it)->address <= base_address &&
(*it)->address + (*it)->length > base_address) {
hit = true;
} else if ((*it)->address < base_address &&
} else if ((*it)->address <= base_address &&
(*it)->address + (*it)->length > base_address + length) {
hit = true;
} else if ((*it)->address > base_address &&
} else if ((*it)->address >= base_address &&
(*it)->address + (*it)->length < base_address + length) {
hit = true;
}