@@ -1412,18 +1412,23 @@ bool memory_region_access_valid(MemoryRegion *mr,
{
if (mr->ops->valid.accepts
&& !mr->ops->valid.accepts(mr->opaque, addr, size, is_write, attrs)) {
- qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
- ", size %u, region '%s', reason: rejected\n",
- is_write ? "write" : "read",
- addr, size, memory_region_name(mr));
+ if (attrs.debug) {
+ /* Don't log memory errors due to debugger accesses */
+ qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
+ ", size %u, region '%s', reason: rejected\n",
+ is_write ? "write" : "read",
+ addr, size, memory_region_name(mr));
+ }
return false;
}
if (!mr->ops->valid.unaligned && (addr & (size - 1))) {
- qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
- ", size %u, region '%s', reason: unaligned\n",
- is_write ? "write" : "read",
- addr, size, memory_region_name(mr));
+ if (attrs.debug) {
+ qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
+ ", size %u, region '%s', reason: unaligned\n",
+ is_write ? "write" : "read",
+ addr, size, memory_region_name(mr));
+ }
return false;
}
@@ -1434,13 +1439,15 @@ bool memory_region_access_valid(MemoryRegion *mr,
if (size > mr->ops->valid.max_access_size
|| size < mr->ops->valid.min_access_size) {
- qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
- ", size %u, region '%s', reason: invalid size "
- "(min:%u max:%u)\n",
- is_write ? "write" : "read",
- addr, size, memory_region_name(mr),
- mr->ops->valid.min_access_size,
- mr->ops->valid.max_access_size);
+ if (attrs.debug) {
+ qemu_log_mask(LOG_INVALID_MEM, "Invalid %s at addr 0x%" HWADDR_PRIX
+ ", size %u, region '%s', reason: invalid size "
+ "(min:%u max:%u)\n",
+ is_write ? "write" : "read",
+ addr, size, memory_region_name(mr),
+ mr->ops->valid.min_access_size,
+ mr->ops->valid.max_access_size);
+ }
return false;
}
return true;