We expect mmio read handlers to leave the bits above the access size
zeroed. Add an ASSERT to check this aspect of read handler behavior.
Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
if ( !handler->ops->read(v, info, &r, handler->priv) )
return IO_ABORT;
if ( !handler->ops->read(v, info, &r, handler->priv) )
return IO_ABORT;
+ ASSERT((r & ~GENMASK((1U << info->dabt.size) * 8 - 1, 0)) == 0);
+
r = sign_extend(dabt, r);
set_user_reg(regs, dabt.reg, r);
r = sign_extend(dabt, r);
set_user_reg(regs, dabt.reg, r);