diff mbox series

[10/12] hw/pci-host/bonito: Better describe the I/O CS regions

Message ID 20200510210128.18343-11-f4bug@amsat.org
State New
Headers show
Series hw/mips/fuloong2e: PoC to fix hang after reboot | expand

Commit Message

Philippe Mathieu-Daudé May 10, 2020, 9:01 p.m. UTC
Better describe the I/O CS regions, add the ROMCS region.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/pci-host/bonito.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Comments

Aleksandar Markovic May 11, 2020, 5:53 a.m. UTC | #1
нед, 10. мај 2020. у 23:01 Philippe Mathieu-Daudé <f4bug@amsat.org> је
написао/ла:
>
> Better describe the I/O CS regions, add the ROMCS region.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/pci-host/bonito.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
>

Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>

> diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
> index 90a6c52a38..335c7787eb 100644
> --- a/hw/pci-host/bonito.c
> +++ b/hw/pci-host/bonito.c
> @@ -672,6 +672,8 @@ static void bonito_realize(PCIDevice *dev, Error **errp)
>      sysbus_init_mmio(sysbus, &s->iomem_cop);
>      sysbus_mmio_map(sysbus, 4, 0x1fe00300);
>
> +    create_unimplemented_device("ROMCS", 0x1c000000, 60 * MiB);
> +
>      /* Map PCI IO Space  0x1fd0 0000 - 0x1fd1 0000 */
>      memory_region_init_alias(&s->bonito_pciio, OBJECT(s), "isa_mmio",
>                               get_system_io(), 0, BONITO_PCIIO_SIZE);
> @@ -679,10 +681,17 @@ static void bonito_realize(PCIDevice *dev, Error **errp)
>      sysbus_mmio_map(sysbus, 5, BONITO_PCIIO_BASE);
>
>      /* add pci local io mapping */
> -    memory_region_init_alias(&s->bonito_localio, OBJECT(s), "isa_mmio",
> -                             get_system_io(), 0, BONITO_DEV_SIZE);
> +
> +    memory_region_init_alias(&s->bonito_localio, OBJECT(s), "IOCS[0]",
> +                             get_system_io(), 0, 256 * KiB);
>      sysbus_init_mmio(sysbus, &s->bonito_localio);
>      sysbus_mmio_map(sysbus, 6, BONITO_DEV_BASE);
> +    create_unimplemented_device("IOCS[1]", BONITO_DEV_BASE + 1 * 256 * KiB,
> +                                256 * KiB);
> +    create_unimplemented_device("IOCS[2]", BONITO_DEV_BASE + 2 * 256 * KiB,
> +                                256 * KiB);
> +    create_unimplemented_device("IOCS[3]", BONITO_DEV_BASE + 3 * 256 * KiB,
> +                                256 * KiB);
>
>      MemoryRegion *pcimem_alias = g_new(MemoryRegion, 1);
>      memory_region_init_alias(pcimem_alias, NULL, "pci.mem.alias",
> --
> 2.21.3
>
diff mbox series

Patch

diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index 90a6c52a38..335c7787eb 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -672,6 +672,8 @@  static void bonito_realize(PCIDevice *dev, Error **errp)
     sysbus_init_mmio(sysbus, &s->iomem_cop);
     sysbus_mmio_map(sysbus, 4, 0x1fe00300);
 
+    create_unimplemented_device("ROMCS", 0x1c000000, 60 * MiB);
+
     /* Map PCI IO Space  0x1fd0 0000 - 0x1fd1 0000 */
     memory_region_init_alias(&s->bonito_pciio, OBJECT(s), "isa_mmio",
                              get_system_io(), 0, BONITO_PCIIO_SIZE);
@@ -679,10 +681,17 @@  static void bonito_realize(PCIDevice *dev, Error **errp)
     sysbus_mmio_map(sysbus, 5, BONITO_PCIIO_BASE);
 
     /* add pci local io mapping */
-    memory_region_init_alias(&s->bonito_localio, OBJECT(s), "isa_mmio",
-                             get_system_io(), 0, BONITO_DEV_SIZE);
+
+    memory_region_init_alias(&s->bonito_localio, OBJECT(s), "IOCS[0]",
+                             get_system_io(), 0, 256 * KiB);
     sysbus_init_mmio(sysbus, &s->bonito_localio);
     sysbus_mmio_map(sysbus, 6, BONITO_DEV_BASE);
+    create_unimplemented_device("IOCS[1]", BONITO_DEV_BASE + 1 * 256 * KiB,
+                                256 * KiB);
+    create_unimplemented_device("IOCS[2]", BONITO_DEV_BASE + 2 * 256 * KiB,
+                                256 * KiB);
+    create_unimplemented_device("IOCS[3]", BONITO_DEV_BASE + 3 * 256 * KiB,
+                                256 * KiB);
 
     MemoryRegion *pcimem_alias = g_new(MemoryRegion, 1);
     memory_region_init_alias(pcimem_alias, NULL, "pci.mem.alias",