[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v4 08/13] ide: enumerate_slots implementation
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [RFC v4 08/13] ide: enumerate_slots implementation |
Date: |
Mon, 21 Aug 2017 17:46:45 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/18/2017 12:57 PM, Eduardo Habkost wrote:
> On Wed, Aug 16, 2017 at 05:46:18PM -0400, John Snow wrote:
>>
>>
>> On 08/14/2017 05:57 PM, Eduardo Habkost wrote:
>>> Example output when using "-machine q35":
>>>
>>> {
>>> "available": true,
>>> "count": 1,
>>> "device-types": [
>>> "ide-device"
>>> ],
>>> "hotpluggable": false,
>>> "opts": [
>>> { "option": "unit", "values": 0 },
>>> { "option": "bus", "values": "ide.2" }
>>> ],
>>> "opts-complete": true
>>> }
>>> {
>>> "available": false,
>>> "count": 1,
>>> "device": "/machine/unattached/device[19]",
>>> "device-types": [
>>> "ide-device"
>>> ],
>>> "hotpluggable": false,
>>> "opts": [
>>> { "option": "unit", "values": 1 },
>>> { "option": "bus", "values": "ide.2" } ],
>>> "opts-complete": true
>>> }
>>> {
>>> "available": true,
>>> "count": 10,
>>> "device-types": [
>>> "ide-device"
>>> ],
>>> "hotpluggable": false,
>>> "opts": [
>>> { "option": "unit", "values": [ [ 0, 1 ] ] },
>>
>> Hm, these unit values aren't really correct -- we do not support
>> primary/secondary semantics for IDE buses on the AHCI device. I guess
>> they technically exist, but you cannot use them for anything.
>>
>> Should I do something to "disable" or otherwise hide the unusable
>> secondary unit slots for AHCI devices?
>
> If the device is already rejecting -device ...,unit=1, then the
> bug is in my implementation of enumerate_devices. Maybe it
> should just look at IDEBus::max_units to find that out?
>
address@hidden (master) ~/s/q/b/git>
./x86_64-softmmu/qemu-system-x86_64 \
-M q35 \
-nodefaults \
-device ich9-ahci,id=ahci0 \
-drive id=bar,file=/media/ext/img/f25.qcow2,if=none \
-device ide-hd,id=foo,bus=ahci0.0,drive=bar,unit=1 \
-vga std
qemu-system-x86_64: -device ide-hd,id=foo,bus=ahci0.0,drive=bar,unit=1:
Can't create IDE unit 1, bus supports only 1 units
qemu-system-x86_64: -device ide-hd,id=foo,bus=ahci0.0,drive=bar,unit=1:
Device initialization failed.
based on;
IDEBus.max_units
as seen in:
hw/ide/qdev.c line 93.
Seems a bit like a hack on IDE's end -- but if your enumerate devices
code has a call-in inside of the IDE layer, please do check the
IDEBus::max_units property.
--js
- [Qemu-devel] [RFC v4 04/13] qdev: Slot info helpers, (continued)
- [Qemu-devel] [RFC v4 04/13] qdev: Slot info helpers, Eduardo Habkost, 2017/08/14
- [Qemu-devel] [RFC v4 05/13] query-device-slots: Collapse similar entries, Eduardo Habkost, 2017/08/14
- [Qemu-devel] [RFC v4 06/13] qdev core: generic enumerate_slots implementation, Eduardo Habkost, 2017/08/14
- [Qemu-devel] [RFC v4 07/13] qdev: Enumerate CPU slots on query-device-slots, Eduardo Habkost, 2017/08/14
- [Qemu-devel] [RFC v4 09/13] pci: pci_bus_has_pcie_upstream_port() function, Eduardo Habkost, 2017/08/14
- [Qemu-devel] [RFC v4 08/13] ide: enumerate_slots implementation, Eduardo Habkost, 2017/08/14
[Qemu-devel] [RFC v4 10/13] pci: device-number & function properties, Eduardo Habkost, 2017/08/14
[Qemu-devel] [RFC v4 11/13] pci: enumerate_slots implementation, Eduardo Habkost, 2017/08/14
[Qemu-devel] [RFC v4 12/13] usb: enumerate_slots implementation, Eduardo Habkost, 2017/08/14
[Qemu-devel] [RFC v4 13/13] tests: Experimental query-device-slots test code, Eduardo Habkost, 2017/08/14
Re: [Qemu-devel] [libvirt] [RFC v4 00/13] qmp: query-device-slots command, no-reply, 2017/08/14
Re: [Qemu-devel] [RFC v4 00/13] qmp: query-device-slots command, Eric Blake, 2017/08/15