Message ID | 1485164923-17736-4-git-send-email-armbru@redhat.com |
---|---|
State | New |
Headers | show |
On Mon, Jan 23, 2017 at 10:48 AM, Markus Armbruster <armbru@redhat.com> wrote: > Block backends defined with -drive if=ide are meant to be picked up by > machine initialization code: a suitable frontend gets created and > wired up automatically. > > if=ide drives not picked up that way can still be used with -device as > if they had if=none, but that's unclean and best avoided. Unused ones > produce an "Orphaned drive without device" warning. > > -drive parameter "if" is optional, and the default depends on the > machine type. If a machine type doesn't specify a default, the > default is "ide". > > Many machine types implicitly default to if=ide that way, even though > they don't actually have an IDE controller. This makes no sense. > > Change the implicit default to if=none. Affected machines: > > * all targets: none > * aarch64/arm: akita ast2500 canon cheetah collie connex imx25 > integratorcp kzm lm3s6965evb lm3s811evb mainstone musicpal n800 n810 > netduino2 nuri palmetto realview romulus sabrelite smdkc210 sx1 sx1 > verdex z2 > * cris: axis-dev88 > * i386/x86_64: xenpv > * lm32: lm32-evr lm32-uclinux milkymist > * m68k: an5206 dummy mcf5208evb > * microblaze/microblazeel: petalogix-ml605 petalogix-s3adsp1800 > * mips/mips64/mips64el/mipsel: mipssim > * moxie: moxiesim > * or32: or32-sim > * ppc/ppc64/ppcemb: bamboo ref405ep taihu virtex-ml507 > * ppc/ppc64: mpc8544ds ppce500 > * sh4/sh4eb: shix > * sparc: leon3_generic > * sparc64: niagara The sparc64: niagara part, Acked-By: Artyom Tarasenko <atar4qemu@gmail.com> > * tricore: tricore_testboard > * unicore32: puv3 > * xtensa/xtensaeb: kc705 lx200 lx60 ml605 sim > > None of these machines have an IDE controller, let alone code to > honor if=ide. > > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: qemu-arm@nongnu.org > Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> > Cc: Stefano Stabellini <sstabellini@kernel.org> > Cc: Anthony Perard <anthony.perard@citrix.com> > Cc: xen-devel@lists.xensource.com > Cc: Michael Walle <michael@walle.cc> > Cc: Laurent Vivier <laurent@vivier.eu> > Cc: Anthony Green <green@moxielogic.com> > Cc: Jia Liu <proljc@gmail.com> > Cc: Alexander Graf <agraf@suse.de> > Cc: qemu-ppc@nongnu.org > Cc: Magnus Damm <magnus.damm@gmail.com> > Cc: Fabien Chouteau <chouteau@adacore.com> > Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Cc: Artyom Tarasenko <atar4qemu@gmail.com> > Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> > Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> > Cc: Max Filippov <jcmvbkbc@gmail.com> > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > include/sysemu/blockdev.h | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h > index 16432f3..351a039 100644 > --- a/include/sysemu/blockdev.h > +++ b/include/sysemu/blockdev.h > @@ -19,12 +19,11 @@ void blockdev_auto_del(BlockBackend *blk); > typedef enum { > IF_DEFAULT = -1, /* for use with drive_add() only */ > /* > - * IF_IDE must be zero, because we want MachineClass member > - * block_default_type to default-initialize to IF_IDE > + * IF_NONE must be zero, because we want MachineClass member > + * block_default_type to default-initialize to IF_NONE > */ > - IF_IDE = 0, > - IF_NONE, > - IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, > + IF_NONE = 0, > + IF_IDE, IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, > IF_COUNT > } BlockInterfaceType; > > -- > 2.7.4 >
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index 16432f3..351a039 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -19,12 +19,11 @@ void blockdev_auto_del(BlockBackend *blk); typedef enum { IF_DEFAULT = -1, /* for use with drive_add() only */ /* - * IF_IDE must be zero, because we want MachineClass member - * block_default_type to default-initialize to IF_IDE + * IF_NONE must be zero, because we want MachineClass member + * block_default_type to default-initialize to IF_NONE */ - IF_IDE = 0, - IF_NONE, - IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, + IF_NONE = 0, + IF_IDE, IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, IF_COUNT } BlockInterfaceType;
Block backends defined with -drive if=ide are meant to be picked up by machine initialization code: a suitable frontend gets created and wired up automatically. if=ide drives not picked up that way can still be used with -device as if they had if=none, but that's unclean and best avoided. Unused ones produce an "Orphaned drive without device" warning. -drive parameter "if" is optional, and the default depends on the machine type. If a machine type doesn't specify a default, the default is "ide". Many machine types implicitly default to if=ide that way, even though they don't actually have an IDE controller. This makes no sense. Change the implicit default to if=none. Affected machines: * all targets: none * aarch64/arm: akita ast2500 canon cheetah collie connex imx25 integratorcp kzm lm3s6965evb lm3s811evb mainstone musicpal n800 n810 netduino2 nuri palmetto realview romulus sabrelite smdkc210 sx1 sx1 verdex z2 * cris: axis-dev88 * i386/x86_64: xenpv * lm32: lm32-evr lm32-uclinux milkymist * m68k: an5206 dummy mcf5208evb * microblaze/microblazeel: petalogix-ml605 petalogix-s3adsp1800 * mips/mips64/mips64el/mipsel: mipssim * moxie: moxiesim * or32: or32-sim * ppc/ppc64/ppcemb: bamboo ref405ep taihu virtex-ml507 * ppc/ppc64: mpc8544ds ppce500 * sh4/sh4eb: shix * sparc: leon3_generic * sparc64: niagara * tricore: tricore_testboard * unicore32: puv3 * xtensa/xtensaeb: kc705 lx200 lx60 ml605 sim None of these machines have an IDE controller, let alone code to honor if=ide. Cc: Peter Maydell <peter.maydell@linaro.org> Cc: qemu-arm@nongnu.org Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Anthony Perard <anthony.perard@citrix.com> Cc: xen-devel@lists.xensource.com Cc: Michael Walle <michael@walle.cc> Cc: Laurent Vivier <laurent@vivier.eu> Cc: Anthony Green <green@moxielogic.com> Cc: Jia Liu <proljc@gmail.com> Cc: Alexander Graf <agraf@suse.de> Cc: qemu-ppc@nongnu.org Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Fabien Chouteau <chouteau@adacore.com> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Cc: Artyom Tarasenko <atar4qemu@gmail.com> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Cc: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- include/sysemu/blockdev.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)