On Fri, Aug 15, 2025 at 11:01:02AM +0200, Corvin Köhne wrote: > From: YannickV <y.vos...@beckhoff.com> > > During the emulation startup, all registers are reset, which triggers the > `r_unlock_post_write` function with a value of 0. This led to an > unintended memory access disable, making the devcfg unusable. > > During startup, the memory space no longer gets locked. > > Signed-off-by: Yannick Voßen <y.vos...@beckhoff.com>
Reviewed-by: Edgar E. Iglesias <edgar.igles...@amd.com> > --- > hw/dma/xlnx-zynq-devcfg.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/dma/xlnx-zynq-devcfg.c b/hw/dma/xlnx-zynq-devcfg.c > index b838c1c0d0..f28d0015e6 100644 > --- a/hw/dma/xlnx-zynq-devcfg.c > +++ b/hw/dma/xlnx-zynq-devcfg.c > @@ -221,7 +221,9 @@ static void r_unlock_post_write(RegisterInfo *reg, > uint64_t val) > { > XlnxZynqDevcfg *s = XLNX_ZYNQ_DEVCFG(reg->opaque); > const char *device_prefix = object_get_typename(OBJECT(s)); > - > + if (device_is_in_reset(DEVICE(s))) { > + return; > + } > if (val == R_UNLOCK_MAGIC) { > DB_PRINT("successful unlock\n"); > s->regs[R_CTRL] |= R_CTRL_PCAP_PR_MASK; > -- > 2.50.1 >