aboutsummaryrefslogtreecommitdiff
path: root/system/memory_mapping.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-12-10 12:12:47 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2024-12-19 19:36:38 +0100
commite2e0828e0f25042a09b1cbada41a436d1258fdb8 (patch)
tree9e3c8536919f502bb78cb00d914697c58955212f /system/memory_mapping.c
parente1f9353334859ea325f25bd88e01645af63b133b (diff)
downloadqemu-e2e0828e0f25042a09b1cbada41a436d1258fdb8.zip
qemu-e2e0828e0f25042a09b1cbada41a436d1258fdb8.tar.gz
qemu-e2e0828e0f25042a09b1cbada41a436d1258fdb8.tar.bz2
rust: pl011: extend registers to 32 bits
The PL011 Technical Reference Manual lists the "real" size of the registers in table 3-1, and only rounds up to the next byte when describing the registers; for example, UARTDR is listed as having width 12/8 (12 bits read, 8 written) and only bits 15:0 are listed in "Table 3-2 UARTDR Register". However, in practice these are 32-bit registers, accessible only through 32-bit MMIO accesses; preserving the fiction that they're smaller introduces multiple casts (to go from the bilge bitfield type to e.g u16 to u64) and more importantly it breaks the migration stream because the Rust vmstate macros are not yet type safe. So, just make everything 32-bits wide. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'system/memory_mapping.c')
0 files changed, 0 insertions, 0 deletions