From: Joe Komlodi Date: Tue, 20 Jul 2021 18:31:43 +0000 (-0700) Subject: hw/registerfields: Use 64-bit bitfield for FIELD_DP64 X-Git-Tag: v6.2.0-rc0~127^2~24 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2a4b4089305daf98a42f165111474ae3e92d5f1f;p=users%2Fdwmw2%2Fqemu.git hw/registerfields: Use 64-bit bitfield for FIELD_DP64 If we have a field that's wider than 32-bits, we need a data type wide enough to be able to create the bitfield used to deposit the value. Signed-off-by: Joe Komlodi Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 1626805903-162860-3-git-send-email-joe.komlodi@xilinx.com Signed-off-by: Alistair Francis --- diff --git a/include/hw/registerfields.h b/include/hw/registerfields.h index 9a03ac55e4..f2a3c9c41f 100644 --- a/include/hw/registerfields.h +++ b/include/hw/registerfields.h @@ -95,7 +95,7 @@ _d; }) #define FIELD_DP64(storage, reg, field, val) ({ \ struct { \ - unsigned int v:R_ ## reg ## _ ## field ## _LENGTH; \ + uint64_t v:R_ ## reg ## _ ## field ## _LENGTH; \ } _v = { .v = val }; \ uint64_t _d; \ _d = deposit64((storage), R_ ## reg ## _ ## field ## _SHIFT, \