Message ID | 1485443388-27253-4-git-send-email-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Le 26/01/2017 à 16:09, Markus Armbruster a écrit : > 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> > Acked-By: Artyom Tarasenko <atar4qemu@gmail.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; > > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
On 26.01.2017 16:09, Markus Armbruster 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 > * 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> > Acked-By: Artyom Tarasenko <atar4qemu@gmail.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; > > Makes sense. Reviewed-by: Thomas Huth <thuth@redhat.com>
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;