]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
riscv: virt: Correct pci "bus-range" encoding
authorBin Meng <bmeng.cn@gmail.com>
Wed, 29 May 2019 08:52:01 +0000 (01:52 -0700)
committerPalmer Dabbelt <palmer@sifive.com>
Mon, 24 Jun 2019 06:44:42 +0000 (23:44 -0700)
The largest pci bus number should be calculated from ECAM size,
instead of its base address.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
hw/riscv/virt.c

index 84d94d0c42d8e1c4eb9572fb50bee5cd4b73ab54..487f61404b211ce12c5d9c5ab92e6d62e59f80aa 100644 (file)
@@ -298,7 +298,7 @@ static void *create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
     qemu_fdt_setprop_string(fdt, nodename, "device_type", "pci");
     qemu_fdt_setprop_cell(fdt, nodename, "linux,pci-domain", 0);
     qemu_fdt_setprop_cells(fdt, nodename, "bus-range", 0,
-                           memmap[VIRT_PCIE_ECAM].base /
+                           memmap[VIRT_PCIE_ECAM].size /
                                PCIE_MMCFG_SIZE_MIN - 1);
     qemu_fdt_setprop(fdt, nodename, "dma-coherent", NULL, 0);
     qemu_fdt_setprop_cells(fdt, nodename, "reg", 0, memmap[VIRT_PCIE_ECAM].base,