> On 26-Jun-2023, at 7:52 PM, Igor Mammedov <[email protected]> wrote:
>
> On Mon, 26 Jun 2023 19:23:23 +0530
> Ani Sinha <[email protected]> wrote:
>
>> The test attaches both a SCSI controller and a pcie-to-pci bridge on the same
>> pcie-root-port on slot 0.
> statement is right only for bridge, while it's still incorrect for storage
> part
> (see add_scsi_controller/add_virtio_disk)
> they try to use slot !0
Grr! Sorry about this, not sure what I was thinking.
Juggling too many things.
Patchset V5 sent.
>
>> This is incorrect since a single downstream device
>> can be attached to a non-multifunction pcie-root-port on slot 0.
>
>> Additionally
>> using pcie.0 as id for pcie-root-port is incorrect as that id is reserved
>> only for the root bus.
> ack on this part
>
>> In the test scenario, there is no need to attach a pcie-root-port to the
>> root complex. A SCSI controller can be attached to a pcie-to-pci bridge
>> which can then be directly attached to the root bus (pcie.0).
>>
>> Fix the test and simplify it.
>>
>> CC: [email protected]
>> CC: [email protected]
>> CC: Michael Labiuk <[email protected]>
>>
>> Signed-off-by: Ani Sinha <[email protected]>
>> ---
>> tests/qtest/hd-geo-test.c | 18 ++++++++----------
>> 1 file changed, 8 insertions(+), 10 deletions(-)
>>
>> diff --git a/tests/qtest/hd-geo-test.c b/tests/qtest/hd-geo-test.c
>> index 5aa258a2b3..d08bffad91 100644
>> --- a/tests/qtest/hd-geo-test.c
>> +++ b/tests/qtest/hd-geo-test.c
>> @@ -784,14 +784,12 @@ static void test_override_scsi(void)
>> test_override(args, "pc", expected);
>> }
>>
>> -static void setup_pci_bridge(TestArgs *args, const char *id, const char
>> *rootid)
>> +static void setup_pci_bridge(TestArgs *args, const char *id)
>> {
>>
>> - char *root, *br;
>> - root = g_strdup_printf("-device pcie-root-port,id=%s", rootid);
>> - br = g_strdup_printf("-device pcie-pci-bridge,bus=%s,id=%s", rootid,
>> id);
>> + char *br;
>> + br = g_strdup_printf("-device pcie-pci-bridge,bus=pcie.0,id=%s", id);
>>
>> - args->argc = append_arg(args->argc, args->argv, ARGV_SIZE, root);
>> args->argc = append_arg(args->argc, args->argv, ARGV_SIZE, br);
>> }
>>
>> @@ -811,8 +809,8 @@ static void test_override_scsi_q35(void)
>> add_drive_with_mbr(args, empty_mbr, 1);
>> add_drive_with_mbr(args, empty_mbr, 1);
>> add_drive_with_mbr(args, empty_mbr, 1);
>> - setup_pci_bridge(args, "pcie.0", "br");
>> - add_scsi_controller(args, "lsi53c895a", "br", 3);
>> + setup_pci_bridge(args, "pcie-pci-br");
>> + add_scsi_controller(args, "lsi53c895a", "pcie-pci-br", 3);
>> add_scsi_disk(args, 0, 0, 0, 0, 0, 10000, 120, 30);
>> add_scsi_disk(args, 1, 0, 0, 1, 0, 9000, 120, 30);
>> add_scsi_disk(args, 2, 0, 0, 2, 0, 1, 0, 0);
>> @@ -868,9 +866,9 @@ static void test_override_virtio_blk_q35(void)
>> };
>> add_drive_with_mbr(args, empty_mbr, 1);
>> add_drive_with_mbr(args, empty_mbr, 1);
>> - setup_pci_bridge(args, "pcie.0", "br");
>> - add_virtio_disk(args, 0, "br", 3, 10000, 120, 30);
>> - add_virtio_disk(args, 1, "br", 4, 9000, 120, 30);
>> + setup_pci_bridge(args, "pcie-pci-br");
>> + add_virtio_disk(args, 0, "pcie-pci-br", 3, 10000, 120, 30);
>> + add_virtio_disk(args, 1, "pcie-pci-br", 4, 9000, 120, 30);
>> test_override(args, "q35", expected);
>> }
>>
>