On Fri, Nov 19, 2021 at 8:27 PM Thomas Huth <th...@redhat.com> wrote: > > Configuring a drive with "if=none" is meant for creation of a backend > only, it should not get automatically assigned to a device frontend. > Use "if=pflash" for the One-Time-Programmable device instead (like > it is e.g. also done for the efuse device in hw/arm/xlnx-zcu102.c). > > Since the old way of configuring the device has already been published > with the previous QEMU versions, we cannot remove this immediately, but > have to deprecate it and support it for at least two more releases. > > Signed-off-by: Thomas Huth <th...@redhat.com>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > docs/about/deprecated.rst | 6 ++++++ > hw/misc/sifive_u_otp.c | 9 ++++++++- > 2 files changed, 14 insertions(+), 1 deletion(-) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index c03fcf951f..ff7488cb63 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -192,6 +192,12 @@ as short-form boolean values, and passed to plugins as > ``arg_name=on``. > However, short-form booleans are deprecated and full explicit ``arg_name=on`` > form is preferred. > > +``-drive if=none`` for the sifive_u OTP device (since 6.2) > +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > + > +Using ``-drive if=none`` to configure the OTP device of the sifive_u > +RISC-V machine is deprecated. Use ``-drive if=pflash`` instead. > + > > QEMU Machine Protocol (QMP) commands > ------------------------------------ > diff --git a/hw/misc/sifive_u_otp.c b/hw/misc/sifive_u_otp.c > index 18aa0bd55d..cf6098ff2c 100644 > --- a/hw/misc/sifive_u_otp.c > +++ b/hw/misc/sifive_u_otp.c > @@ -209,7 +209,14 @@ static void sifive_u_otp_realize(DeviceState *dev, Error > **errp) > TYPE_SIFIVE_U_OTP, SIFIVE_U_OTP_REG_SIZE); > sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->mmio); > > - dinfo = drive_get_next(IF_NONE); > + dinfo = drive_get_next(IF_PFLASH); > + if (!dinfo) { > + dinfo = drive_get_next(IF_NONE); > + if (dinfo) { > + warn_report("using \"-drive if=none\" for the OTP is deprecated, > " > + "use \"-drive if=pflash\" instead."); > + } > + } > if (dinfo) { > int ret; > uint64_t perm; > -- > 2.27.0 > >