[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/6] pc/vl: Add units-per-default-bus propert
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/6] pc/vl: Add units-per-default-bus property |
Date: |
Tue, 30 Sep 2014 08:39:33 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
John Snow <address@hidden> writes:
> This patch adds the 'units_per_default_bus' property which
> allows individual boards to declare their desired
> index => (bus,unit) mapping for their default HBA, so that
> boards such as Q35 can specify that its default if_ide HBA,
> AHCI, only accepts one unit per bus.
>
> This property only overrides the mapping for drives matching
> the block_default_type interface.
>
> This patch also adds this property to *all* past and present
> Q35 machine types. This retroactive addition is justified
> because the previous erroneous index=>(bus,unit) mappings
> caused by lack of such a property were not utilized due to
> lack of initialization code in the Q35 init routine.
>
> Further, semantically, the Q35 board type has always had the
> property that its default HBA, AHCI, only accepts one unit per
> bus. The new code added to add devices to drives relies upon
> the accuracy of this mapping. Thus, the property is applied
> retroactively to reduce complexity of allowing IDE HBAs with
> different units per bus.
>
> Examples:
>
> Prior to this patch, all IDE HBAs were assumed to use 2 units
> per bus (Master, Slave). When using Q35 and AHCI, however, we
> only allow one unit per bus.
>
> -hdb foo.qcow2 would become index=1, or bus=0,unit=1.
> -hdd foo.qcow2 would become index=3, or bus=1,unit=1.
> -drive file=foo.qcow2,index=5 becomes bus=2,unit=1.
>
> These are invalid for AHCI. They now become, under Q35 only:
>
> -hdb foo.qcow2 --> index=1, bus=1, unit=0.
> -hdd foo.qcow2 --> index=3, bus=3, unit=0.
> -drive file=foo.qcow2,index=5 --> bus=5,unit=0.
>
> The mapping is adjusted based on the fact that the default IF
> for the Q35 machine type is IF_IDE, and units-per-default-bus
> overrides the IDE mapping from its default of 2 units per bus
> to just 1 unit per bus.
>
> Signed-off-by: John Snow <address@hidden>
Nice examples, thank you!
- [Qemu-devel] [PATCH v2 0/6] Q35: Implement -cdrom/-hda sugar, John Snow, 2014/09/29
- [Qemu-devel] [PATCH v2 1/6] blockdev: Orphaned drive search, John Snow, 2014/09/29
- [Qemu-devel] [PATCH v2 3/6] pc/vl: Add units-per-default-bus property, John Snow, 2014/09/29
- Re: [Qemu-devel] [PATCH v2 3/6] pc/vl: Add units-per-default-bus property,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 2/6] blockdev: Allow overriding if_max_dev property, John Snow, 2014/09/29
- [Qemu-devel] [PATCH v2 4/6] ide: Update ide_drive_get to be HBA agnostic, John Snow, 2014/09/29
- [Qemu-devel] [PATCH v2 6/6] q35/ahci: Pick up -cdrom and -hda options, John Snow, 2014/09/29
- [Qemu-devel] [PATCH v2 5/6] qtest/bios-tables: Correct Q35 command line, John Snow, 2014/09/29
- Re: [Qemu-devel] [PATCH v2 0/6] Q35: Implement -cdrom/-hda sugar, Markus Armbruster, 2014/09/30