[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by de
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default |
Date: |
Mon, 25 Sep 2017 23:59:56 -0300 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Mon, Sep 25, 2017 at 07:05:26PM +0100, Peter Maydell wrote:
> On 25 September 2017 at 18:59, Eduardo Habkost <address@hidden> wrote:
> > Finding the full list of devices that can be instantiated
> > internally at hotplug-time sounds tricky.
>
> If we just diff "list of devices marked hotplug before this patch"
> against "list of devices marked hotplug after this patch" how
> big is the list? Can we just eyeball it to see what needs
> to be specialcased?
So, the full list quite big, ~1800 device types are affected by
this patch:
https://gist.github.com/ehabkost/bd8e25c6811ac81d947ad8ad5b557f5c#file-dev-types-diff-json
If we ignore the "-cpu" classes, there ~640 affected device
types.
However, if we look only at the direct children of TYPE_DEVICE,
we have:
$ grep '"parent": "device"' dev-types-diff.json
-{"return": {"abstract": true, "name": "adb-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "apic-common", "parent": "device",
"user-creatable": false, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "aspeed-soc", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "aux-slave", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "adb-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "apic-common", "parent": "device",
"user-creatable": false, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "aspeed-soc", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "aux-slave", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "ccid-card", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
{"return": {"abstract": true, "name": "ccw-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "cpu-core", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "cpu", "parent": "device",
"user-creatable": false, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "cpu-core", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "cpu", "parent": "device",
"user-creatable": false, "hotpluggable": false}}
-{"return": {"abstract": true, "name": "hda-codec", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "i2c-slave", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "hda-codec", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "i2c-slave", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
-{"return": {"abstract": true, "name": "ics-base", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "ide-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "ics-base", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "ide-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
-{"return": {"abstract": true, "name": "ipack-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "ipmi-bmc", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "isa-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "ipack-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "ipmi-bmc", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "isa-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "pci-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "pcmcia-card", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "pcmcia-card", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
-{"return": {"abstract": true, "name": "s390-sclp-event-type", "parent":
"device", "user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "s390-sclp-event-type", "parent":
"device", "user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "s390-skeys", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "s390-storage_attributes", "parent":
"device", "user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "scsi-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "spapr-dr-connector", "parent":
"device", "user-creatable": false, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "ssi-slave", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "sys-bus-device", "parent": "device",
"user-creatable": false, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "spapr-dr-connector", "parent":
"device", "user-creatable": false, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "ssi-slave", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
+{"return": {"abstract": true, "name": "sys-bus-device", "parent": "device",
"user-creatable": false, "hotpluggable": false}}
{"return": {"abstract": true, "name": "usb-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
-{"return": {"abstract": true, "name": "vio-spapr-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "vio-spapr-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
-{"return": {"abstract": true, "name": "virtio-device", "parent": "device",
"user-creatable": true, "hotpluggable": true}}
+{"return": {"abstract": true, "name": "virtio-device", "parent": "device",
"user-creatable": true, "hotpluggable": false}}
{"return": {"abstract": true, "name": "virtio-serial-port", "parent":
"device", "user-creatable": true, "hotpluggable": true}}
-{"return": {"name": "allwinner-a10", "parent": "device", "user-creatable":
false, "hotpluggable": true}}
+{"return": {"name": "allwinner-a10", "parent": "device", "user-creatable":
false, "hotpluggable": false}}
-{"return": {"name": "aux-to-i2c-bridge", "parent": "device", "user-creatable":
true, "hotpluggable": true}}
+{"return": {"name": "aux-to-i2c-bridge", "parent": "device", "user-creatable":
true, "hotpluggable": false}}
{"return": {"name": "diag288", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "digic", "parent": "device", "user-creatable": false,
"hotpluggable": true}}
+{"return": {"name": "digic", "parent": "device", "user-creatable": false,
"hotpluggable": false}}
-{"return": {"name": "floppy", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
-{"return": {"name": "fsl,imx25", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
-{"return": {"name": "fsl,imx31", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
-{"return": {"name": "fsl,imx6", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "floppy", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
+{"return": {"name": "fsl,imx25", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
+{"return": {"name": "fsl,imx31", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
+{"return": {"name": "fsl,imx6", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "icp", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "icp", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "loader", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "loader", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "migration", "parent": "device", "user-creatable": false,
"hotpluggable": true}}
-{"return": {"name": "mmio_interface", "parent": "device", "user-creatable":
false, "hotpluggable": true}}
+{"return": {"name": "migration", "parent": "device", "user-creatable": false,
"hotpluggable": false}}
+{"return": {"name": "mmio_interface", "parent": "device", "user-creatable":
false, "hotpluggable": false}}
-{"return": {"name": "nand", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "nand", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "or-irq", "parent": "device", "user-creatable": false,
"hotpluggable": true}}
+{"return": {"name": "or-irq", "parent": "device", "user-creatable": false,
"hotpluggable": false}}
{"return": {"name": "pc-dimm", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
-{"return": {"name": "pnv-lpc", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
-{"return": {"name": "pnv-occ", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "pnv-lpc", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
+{"return": {"name": "pnv-occ", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "qemu,register", "parent": "device", "user-creatable":
false, "hotpluggable": true}}
+{"return": {"name": "qemu,register", "parent": "device", "user-creatable":
false, "hotpluggable": false}}
-{"return": {"name": "s390-ipl", "parent": "device", "user-creatable": false,
"hotpluggable": true}}
+{"return": {"name": "s390-ipl", "parent": "device", "user-creatable": false,
"hotpluggable": false}}
{"return": {"name": "sclp", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "sd-card", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "sd-card", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
{"return": {"name": "spapr-rng", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "spapr-rtc", "parent": "device", "user-creatable": false,
"hotpluggable": true}}
-{"return": {"name": "spapr-tce-table", "parent": "device", "user-creatable":
false, "hotpluggable": true}}
+{"return": {"name": "spapr-rtc", "parent": "device", "user-creatable": false,
"hotpluggable": false}}
+{"return": {"name": "spapr-tce-table", "parent": "device", "user-creatable":
false, "hotpluggable": false}}
{"return": {"name": "vmgenid", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "xlnx,zynqmp", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "xlnx,zynqmp", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
-{"return": {"name": "zpci", "parent": "device", "user-creatable": true,
"hotpluggable": true}}
+{"return": {"name": "zpci", "parent": "device", "user-creatable": true,
"hotpluggable": false}}
--
Eduardo
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, (continued)
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Thomas Huth, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default,
Eduardo Habkost <=
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Thomas Huth, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Thomas Huth, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Bharata B Rao, 2017/09/26