hw/misc/unimp: Display the offset with width of the region size
To have a better idea of how big is the region where the offset belongs, display the value with the width of the region size (i.e. a region of 0x1000 bytes uses 0x000 format). Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20200812190206.31595-4-f4bug@amsat.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
a12b4c53cb
commit
55d35c8819
@ -23,8 +23,8 @@ static uint64_t unimp_read(void *opaque, hwaddr offset, unsigned size)
|
|||||||
UnimplementedDeviceState *s = UNIMPLEMENTED_DEVICE(opaque);
|
UnimplementedDeviceState *s = UNIMPLEMENTED_DEVICE(opaque);
|
||||||
|
|
||||||
qemu_log_mask(LOG_UNIMP, "%s: unimplemented device read "
|
qemu_log_mask(LOG_UNIMP, "%s: unimplemented device read "
|
||||||
"(size %d, offset 0x%" HWADDR_PRIx ")\n",
|
"(size %d, offset 0x%0*" HWADDR_PRIx ")\n",
|
||||||
s->name, size, offset);
|
s->name, size, s->offset_fmt_width, offset);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,9 +34,9 @@ static void unimp_write(void *opaque, hwaddr offset,
|
|||||||
UnimplementedDeviceState *s = UNIMPLEMENTED_DEVICE(opaque);
|
UnimplementedDeviceState *s = UNIMPLEMENTED_DEVICE(opaque);
|
||||||
|
|
||||||
qemu_log_mask(LOG_UNIMP, "%s: unimplemented device write "
|
qemu_log_mask(LOG_UNIMP, "%s: unimplemented device write "
|
||||||
"(size %d, offset 0x%" HWADDR_PRIx
|
"(size %d, offset 0x%0*" HWADDR_PRIx
|
||||||
", value 0x%0*" PRIx64 ")\n",
|
", value 0x%0*" PRIx64 ")\n",
|
||||||
s->name, size, offset, size << 1, value);
|
s->name, size, s->offset_fmt_width, offset, size << 1, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const MemoryRegionOps unimp_ops = {
|
static const MemoryRegionOps unimp_ops = {
|
||||||
@ -63,6 +63,8 @@ static void unimp_realize(DeviceState *dev, Error **errp)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s->offset_fmt_width = DIV_ROUND_UP(64 - clz64(s->size - 1), 4);
|
||||||
|
|
||||||
memory_region_init_io(&s->iomem, OBJECT(s), &unimp_ops, s,
|
memory_region_init_io(&s->iomem, OBJECT(s), &unimp_ops, s,
|
||||||
s->name, s->size);
|
s->name, s->size);
|
||||||
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem);
|
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem);
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
MemoryRegion iomem;
|
MemoryRegion iomem;
|
||||||
|
unsigned offset_fmt_width;
|
||||||
char *name;
|
char *name;
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
} UnimplementedDeviceState;
|
} UnimplementedDeviceState;
|
||||||
|
Loading…
Reference in New Issue
Block a user