This makes the code slightly safer, and easier to review. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Alistair Francis <alistair.fran...@xilinx.com> --- hw/sd/sdhci.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index a47ed61248..7f2c3dc9d5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1117,12 +1117,10 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) MASKED_WRITE(s->admaerr, mask, value); break; case SDHC_ADMASYSADDR: - s->admasysaddr = (s->admasysaddr & (0xFFFFFFFF00000000ULL | - (uint64_t)mask)) | (uint64_t)value; + s->admasysaddr = deposit64(s->admasysaddr, 0, 32, value); break; case SDHC_ADMASYSADDR + 4: - s->admasysaddr = (s->admasysaddr & (0x00000000FFFFFFFFULL | - ((uint64_t)mask << 32))) | ((uint64_t)value << 32); + s->admasysaddr = deposit64(s->admasysaddr, 32, 32, value); break; case SDHC_FEAER: s->acmd12errsts |= value; -- 2.15.1