From: Kevin Wolf <kwolf@redhat.com>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Qemu-block <qemu-block@nongnu.org>,
Peter Crosthwaite <crosthwaite.peter@gmail.com>,
Andrew Jeffery <andrew@aj.id.au>,
Marcin Krzeminski <marcin.krzeminski@nokia.com>,
qemu-devel@nongnu.org, armbru@redhat.com, qemu-arm@nongnu.org
Subject: Re: [Qemu-devel] [PATCH for-2.9 25/30] block: add a model option for MTD devices
Date: Tue, 29 Nov 2016 19:08:03 +0100 [thread overview]
Message-ID: <20161129180803.GC7080@noname.redhat.com> (raw)
In-Reply-To: <921d5257-fff3-5cde-3da2-b58c94e5c792@kaod.org>
Am 29.11.2016 um 18:30 hat Cédric Le Goater geschrieben:
> On 11/29/2016 04:44 PM, Cédric Le Goater wrote:
> > This could be used to define the flash model to use on some boards
> > definitions.
>
> As this patch was part of a larger set, I did not send the whole
> set to qemu-block@ list. Could you please take a look at the proposal ?
This is a device level option rather than a block backend one. We messed
up -drive in its early days by including some device options, but we
don't generally want to add to this.
The correct way would be to add a qdev property for this and specify it
with -device or -global.
Kevin
> > Signed-off-by: Cédric Le Goater <clg@kaod.org>
> > Reviewed-by: Joel Stanley <joel@jms.id.au>
> > ---
> > blockdev.c | 12 ++++++++++++
> > include/sysemu/blockdev.h | 1 +
> > qemu-options.hx | 4 +++-
> > 3 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/blockdev.c b/blockdev.c
> > index 245e1e1d177a..bcc99365b86c 100644
> > --- a/blockdev.c
> > +++ b/blockdev.c
> > @@ -742,6 +742,10 @@ QemuOptsList qemu_legacy_drive_opts = {
> > .type = QEMU_OPT_STRING,
> > .help = "pci address (virtio only)",
> > },{
> > + .name = "model",
> > + .type = QEMU_OPT_STRING,
> > + .help = "flash model (mtd only)",
> > + },{
> > .name = "serial",
> > .type = QEMU_OPT_STRING,
> > .help = "disk serial number",
> > @@ -790,6 +794,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > bool read_only = false;
> > bool copy_on_read;
> > const char *serial;
> > + const char *model;
> > const char *filename;
> > Error *local_err = NULL;
> > int i;
> > @@ -1076,6 +1081,12 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > qdict_put(bs_opts, "rerror", qstring_from_str(rerror));
> > }
> >
> > + model = qemu_opt_get(legacy_opts, "model");
> > + if (model && type != IF_MTD) {
> > + error_report("model is not supported by this bus type");
> > + goto fail;
> > + }
> > +
> > /* Actual block device init: Functionality shared with blockdev-add */
> > blk = blockdev_init(filename, bs_opts, &local_err);
> > bs_opts = NULL;
> > @@ -1102,6 +1113,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > dinfo->unit = unit_id;
> > dinfo->devaddr = devaddr;
> > dinfo->serial = g_strdup(serial);
> > + dinfo->model = g_strdup(model);
> >
> > blk_set_legacy_dinfo(blk, dinfo);
> >
> > diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
> > index 16432f350805..10c66e5e86a4 100644
> > --- a/include/sysemu/blockdev.h
> > +++ b/include/sysemu/blockdev.h
> > @@ -39,6 +39,7 @@ struct DriveInfo {
> > int cyls, heads, secs, trans;
> > QemuOpts *opts;
> > char *serial;
> > + char *model;
> > QTAILQ_ENTRY(DriveInfo) next;
> > };
> >
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 4a5b29f349f7..16add85bd0f5 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -517,7 +517,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive,
> > "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
> > " [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n"
> > " [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
> > - " [,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
> > + " [,serial=s][,model=m][,addr=A][,rerror=ignore|stop|report]\n"
> > " [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
> > " [,readonly=on|off][,copy-on-read=on|off]\n"
> > " [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
> > @@ -570,6 +570,8 @@ the format. Can be used to specify format=raw to avoid interpreting
> > an untrusted format header.
> > @item serial=@var{serial}
> > This option specifies the serial number to assign to the device.
> > +@item model=@var{model}
> > +This option specifies the model to use to create a flash device (if=mtd only).
> > @item addr=@var{addr}
> > Specify the controller's PCI address (if=virtio only).
> > @item werror=@var{action},rerror=@var{action}
> >
>
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Wolf <kwolf@redhat.com>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, qemu-arm@nongnu.org,
Andrew Jeffery <andrew@aj.id.au>,
Marcin Krzeminski <marcin.krzeminski@nokia.com>,
Peter Crosthwaite <crosthwaite.peter@gmail.com>,
Qemu-block <qemu-block@nongnu.org>,
armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH for-2.9 25/30] block: add a model option for MTD devices
Date: Tue, 29 Nov 2016 19:08:03 +0100 [thread overview]
Message-ID: <20161129180803.GC7080@noname.redhat.com> (raw)
In-Reply-To: <921d5257-fff3-5cde-3da2-b58c94e5c792@kaod.org>
Am 29.11.2016 um 18:30 hat Cédric Le Goater geschrieben:
> On 11/29/2016 04:44 PM, Cédric Le Goater wrote:
> > This could be used to define the flash model to use on some boards
> > definitions.
>
> As this patch was part of a larger set, I did not send the whole
> set to qemu-block@ list. Could you please take a look at the proposal ?
This is a device level option rather than a block backend one. We messed
up -drive in its early days by including some device options, but we
don't generally want to add to this.
The correct way would be to add a qdev property for this and specify it
with -device or -global.
Kevin
> > Signed-off-by: Cédric Le Goater <clg@kaod.org>
> > Reviewed-by: Joel Stanley <joel@jms.id.au>
> > ---
> > blockdev.c | 12 ++++++++++++
> > include/sysemu/blockdev.h | 1 +
> > qemu-options.hx | 4 +++-
> > 3 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/blockdev.c b/blockdev.c
> > index 245e1e1d177a..bcc99365b86c 100644
> > --- a/blockdev.c
> > +++ b/blockdev.c
> > @@ -742,6 +742,10 @@ QemuOptsList qemu_legacy_drive_opts = {
> > .type = QEMU_OPT_STRING,
> > .help = "pci address (virtio only)",
> > },{
> > + .name = "model",
> > + .type = QEMU_OPT_STRING,
> > + .help = "flash model (mtd only)",
> > + },{
> > .name = "serial",
> > .type = QEMU_OPT_STRING,
> > .help = "disk serial number",
> > @@ -790,6 +794,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > bool read_only = false;
> > bool copy_on_read;
> > const char *serial;
> > + const char *model;
> > const char *filename;
> > Error *local_err = NULL;
> > int i;
> > @@ -1076,6 +1081,12 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > qdict_put(bs_opts, "rerror", qstring_from_str(rerror));
> > }
> >
> > + model = qemu_opt_get(legacy_opts, "model");
> > + if (model && type != IF_MTD) {
> > + error_report("model is not supported by this bus type");
> > + goto fail;
> > + }
> > +
> > /* Actual block device init: Functionality shared with blockdev-add */
> > blk = blockdev_init(filename, bs_opts, &local_err);
> > bs_opts = NULL;
> > @@ -1102,6 +1113,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> > dinfo->unit = unit_id;
> > dinfo->devaddr = devaddr;
> > dinfo->serial = g_strdup(serial);
> > + dinfo->model = g_strdup(model);
> >
> > blk_set_legacy_dinfo(blk, dinfo);
> >
> > diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
> > index 16432f350805..10c66e5e86a4 100644
> > --- a/include/sysemu/blockdev.h
> > +++ b/include/sysemu/blockdev.h
> > @@ -39,6 +39,7 @@ struct DriveInfo {
> > int cyls, heads, secs, trans;
> > QemuOpts *opts;
> > char *serial;
> > + char *model;
> > QTAILQ_ENTRY(DriveInfo) next;
> > };
> >
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 4a5b29f349f7..16add85bd0f5 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -517,7 +517,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive,
> > "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
> > " [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n"
> > " [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
> > - " [,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
> > + " [,serial=s][,model=m][,addr=A][,rerror=ignore|stop|report]\n"
> > " [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
> > " [,readonly=on|off][,copy-on-read=on|off]\n"
> > " [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
> > @@ -570,6 +570,8 @@ the format. Can be used to specify format=raw to avoid interpreting
> > an untrusted format header.
> > @item serial=@var{serial}
> > This option specifies the serial number to assign to the device.
> > +@item model=@var{model}
> > +This option specifies the model to use to create a flash device (if=mtd only).
> > @item addr=@var{addr}
> > Specify the controller's PCI address (if=virtio only).
> > @item werror=@var{action},rerror=@var{action}
> >
>
next prev parent reply other threads:[~2016-11-29 18:09 UTC|newest]
Thread overview: 128+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 15:43 [Qemu-arm] [PATCH for-2.9 00/30] Aspeed SoC fixes and model improvements Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 01/30] target-arm: Add VBAR support to ARM1176 CPUs Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-12-14 15:43 ` [Qemu-arm] " Peter Maydell
2016-12-14 15:43 ` [Qemu-devel] " Peter Maydell
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 02/30] m25p80: add support for the mx66l1g45g Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 03/30] aspeed: QOMify the CPU object and attach it to the SoC Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 04/30] aspeed: remove cannot_destroy_with_object_finalize_yet Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 05/30] aspeed: attach the second SPI controller object to the SoC Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 06/30] aspeed: extend the board configuration with flash models Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 07/30] aspeed: add support for the romulus-bmc board Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 08/30] aspeed: add a memory region for SRAM Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 09/30] aspeed: add the definitions for the AST2400 A1 SoC Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 10/30] aspeed: change SoC revision of the palmetto-bmc machine Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 11/30] aspeed/scu: fix SCU region size Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 12/30] aspeed/smc: improve segment register support Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 13/30] aspeed/smc: set the number of flash modules for the FMC controller Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 14/30] aspeed/smc: rework the prototype of the AspeedSMCFlash helper routines Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-12-14 17:09 ` [Qemu-arm] " Peter Maydell
2016-12-14 17:09 ` [Qemu-devel] " Peter Maydell
2016-12-15 13:38 ` [Qemu-arm] " Cédric Le Goater
2016-12-15 13:38 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 15/30] aspeed/smc: introduce a aspeed_smc_flash_update_cs() helper Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 16/30] aspeed/smc: autostrap CE0/1 configuration Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 17/30] aspeed/smc: handle SPI flash Command mode Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-12-04 16:31 ` [Qemu-arm] " mar.krzeminski
2016-12-04 16:31 ` mar.krzeminski
2016-12-05 14:07 ` Cédric Le Goater
2016-12-05 14:07 ` Cédric Le Goater
2016-12-05 15:33 ` [Qemu-arm] " mar.krzeminski
2016-12-05 15:33 ` mar.krzeminski
2017-01-02 15:56 ` Cédric Le Goater
2017-01-02 15:56 ` Cédric Le Goater
2017-01-02 17:33 ` [Qemu-arm] " mar.krzeminski
2017-01-02 17:33 ` mar.krzeminski
2017-01-02 18:02 ` [Qemu-arm] " Cédric Le Goater
2017-01-02 18:02 ` Cédric Le Goater
2017-01-02 18:21 ` [Qemu-arm] " mar.krzeminski
2017-01-02 18:21 ` mar.krzeminski
2017-01-03 10:50 ` [Qemu-arm] " Cédric Le Goater
2017-01-03 10:50 ` Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 18/30] aspeed/smc: extend tests for " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 19/30] aspeed/smc: unfold the AspeedSMCController array Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-arm] [PATCH for-2.9 20/30] aspeed/smc: add a 'sdram_base' property Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:43 ` [Qemu-devel] [PATCH for-2.9 21/30] aspeed/smc: add support for DMAs Cédric Le Goater
2016-11-29 15:43 ` Cédric Le Goater
2016-11-29 15:44 ` [Qemu-arm] [PATCH for-2.9 22/30] aspeed/smc: handle dummy bytes when doing fast reads Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] " Cédric Le Goater
2016-12-04 16:46 ` [Qemu-arm] " mar.krzeminski
2016-12-04 16:46 ` mar.krzeminski
2016-12-05 14:14 ` [Qemu-arm] " Cédric Le Goater
2016-12-05 14:14 ` Cédric Le Goater
2016-12-05 15:12 ` [Qemu-arm] " mar.krzeminski
2016-12-05 15:12 ` mar.krzeminski
2016-11-29 15:44 ` [Qemu-arm] [PATCH for-2.9 23/30] aspeed/smc: adjust the size of the register region Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] [PATCH for-2.9 24/30] aspeed: use first SPI flash as a boot ROM Cédric Le Goater
2016-11-29 15:44 ` Cédric Le Goater
2016-12-04 17:00 ` [Qemu-arm] " mar.krzeminski
2016-12-04 17:00 ` mar.krzeminski
2016-12-05 9:36 ` Cédric Le Goater
2016-12-05 9:36 ` Cédric Le Goater
2016-12-05 9:57 ` [Qemu-arm] " Marcin Krzemiński
2016-12-05 9:57 ` Marcin Krzemiński
2016-12-05 14:53 ` Cédric Le Goater
2016-12-05 14:53 ` Cédric Le Goater
2016-12-05 15:09 ` mar.krzeminski
2016-12-05 15:09 ` mar.krzeminski
2016-11-29 15:44 ` [Qemu-arm] [PATCH for-2.9 25/30] block: add a model option for MTD devices Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 16:06 ` [Qemu-arm] " Cédric Le Goater
2016-11-29 16:06 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 17:30 ` [Qemu-arm] " Cédric Le Goater
2016-11-29 17:30 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 18:08 ` Kevin Wolf [this message]
2016-11-29 18:08 ` Kevin Wolf
2016-11-30 15:09 ` Cédric Le Goater
2016-11-30 15:09 ` Cédric Le Goater
2016-11-30 15:55 ` [Qemu-arm] " Kevin Wolf
2016-11-30 15:55 ` [Qemu-devel] " Kevin Wolf
2016-11-29 15:44 ` [Qemu-devel] [PATCH for-2.9 26/30] aspeed/smc: use flash model option Cédric Le Goater
2016-11-29 15:44 ` Cédric Le Goater
2016-11-30 16:26 ` Cédric Le Goater
2016-11-30 16:26 ` Cédric Le Goater
2016-11-29 15:44 ` [Qemu-arm] [PATCH for-2.9 27/30] wdt: Add Aspeed watchdog device model Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] " Cédric Le Goater
2017-01-16 17:14 ` [Qemu-arm] " Cédric Le Goater
2017-01-16 17:14 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 15:44 ` [Qemu-devel] [PATCH for-2.9 28/30] aspeed: add a watchdog controller Cédric Le Goater
2016-11-29 15:44 ` Cédric Le Goater
2016-11-30 2:01 ` [Qemu-arm] " Andrew Jeffery
2016-11-30 2:01 ` [Qemu-devel] " Andrew Jeffery
2016-11-29 16:07 ` [Qemu-devel] [PATCH for-2.9 29/30] aspeed/scu: add a aspeed_scu_get_clk() helper Cédric Le Goater
2016-11-29 16:07 ` Cédric Le Goater
2016-11-29 16:07 ` [Qemu-devel] [PATCH for-2.9 30/30] wdt: aspeed: use scu to get clock freq Cédric Le Goater
2016-11-29 16:07 ` Cédric Le Goater
2016-11-29 19:17 ` [Qemu-arm] " Cédric Le Goater
2016-11-29 19:17 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 19:16 ` [Qemu-arm] [PATCH for-2.9 29/30] aspeed/scu: add a aspeed_scu_get_clk() helper Cédric Le Goater
2016-11-29 19:16 ` [Qemu-devel] " Cédric Le Goater
2016-11-29 17:26 ` Cédric Le Goater
2016-11-29 17:26 ` Cédric Le Goater
2016-11-29 17:26 ` [Qemu-arm] [PATCH for-2.9 30/30] wdt: aspeed: use scu to get clock freq Cédric Le Goater
2016-11-29 17:26 ` [Qemu-devel] " Cédric Le Goater
2016-12-14 17:12 ` [Qemu-arm] [PATCH for-2.9 00/30] Aspeed SoC fixes and model improvements Peter Maydell
2016-12-14 17:12 ` [Qemu-devel] " Peter Maydell
2016-12-14 17:51 ` [Qemu-arm] " Cédric Le Goater
2016-12-14 17:51 ` [Qemu-devel] " Cédric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161129180803.GC7080@noname.redhat.com \
--to=kwolf@redhat.com \
--cc=andrew@aj.id.au \
--cc=armbru@redhat.com \
--cc=clg@kaod.org \
--cc=crosthwaite.peter@gmail.com \
--cc=marcin.krzeminski@nokia.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.