From 2a4b4089305daf98a42f165111474ae3e92d5f1f Mon Sep 17 00:00:00 2001 From: Joe Komlodi Date: Tue, 20 Jul 2021 11:31:43 -0700 Subject: [PATCH] hw/registerfields: Use 64-bit bitfield for FIELD_DP64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- include/hw/registerfields.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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, \