Hi Sebastian, Thanks for your contribution,
On Wed, May 8, 2013 at 10:55 PM, Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > --- > hw/misc/zynq_slcr.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/hw/misc/zynq_slcr.c b/hw/misc/zynq_slcr.c > index 8418327..e88702e 100644 > --- a/hw/misc/zynq_slcr.c > +++ b/hw/misc/zynq_slcr.c > @@ -396,6 +396,9 @@ static void zynq_slcr_write(void *opaque, hwaddr offset, > goto bad_reg; > } > s->reset[(offset - 0x200) / 4] = val; > + if (offset == 0x200 && val == 0x1) { The reset will only work if you have all the write-ignore bits in val cleared. Bit 0 is independent of those. It should read: if (offset == 0x200 && val & 0x1) { To mask off all the don't care bits. Regards, Peter > + qemu_system_reset_request(); > + } > break; > case 0x300: > s->apu_ctrl = val; > -- > 1.7.7 > >