On 03/10/2022 21:13, BALATON Zoltan wrote:
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> ---
> MAINTAINERS | 1 +
> hw/pci-host/grackle.c | 14 +----------
> hw/ppc/mac.h | 3 ---
> hw/ppc/mac_oldworld.c | 1 +
> include/hw/pci-host/grackle.h | 44 +++++++++++++++++++++++++++++++++++
> 5 files changed, 47 insertions(+), 16 deletions(-)
> create mode 100644 include/hw/pci-host/grackle.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 789172b2a8..6e6819afcd 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1345,6 +1345,7 @@ F: hw/intc/heathrow_pic.c
> F: hw/input/adb*
> F: include/hw/intc/heathrow_pic.h
> F: include/hw/input/adb*
> +F: include/hw/pci-host/grackle.h
> F: pc-bios/qemu_vga.ndrv
>
> PReP
> diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c
> index b05facf463..e4c7303859 100644
> --- a/hw/pci-host/grackle.c
> +++ b/hw/pci-host/grackle.c
> @@ -24,7 +24,6 @@
> */
>
> #include "qemu/osdep.h"
> -#include "hw/pci/pci_host.h"
> #include "hw/ppc/mac.h"
> #include "hw/qdev-properties.h"
> #include "hw/pci/pci.h"
> @@ -33,18 +32,7 @@
> #include "qemu/module.h"
> #include "trace.h"
> #include "qom/object.h"
> -
> -OBJECT_DECLARE_SIMPLE_TYPE(GrackleState, GRACKLE_PCI_HOST_BRIDGE)
> -
> -struct GrackleState {
> - PCIHostState parent_obj;
> -
> - uint32_t ofw_addr;
> - qemu_irq irqs[4];
> - MemoryRegion pci_mmio;
> - MemoryRegion pci_hole;
> - MemoryRegion pci_io;
> -};
> +#include "hw/pci-host/grackle.h"
>
> /* Don't know if this matches real hardware, but it agrees with OHW. */
> static int pci_grackle_map_irq(PCIDevice *pci_dev, int irq_num)
> diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h
> index 55cb02c990..fe77a6c6db 100644
> --- a/hw/ppc/mac.h
> +++ b/hw/ppc/mac.h
> @@ -35,9 +35,6 @@
> #define KERNEL_LOAD_ADDR 0x01000000
> #define KERNEL_GAP 0x00100000
>
> -/* Grackle PCI */
> -#define TYPE_GRACKLE_PCI_HOST_BRIDGE "grackle-pcihost"
> -
> /* Mac NVRAM */
> #define TYPE_MACIO_NVRAM "macio-nvram"
> OBJECT_DECLARE_SIMPLE_TYPE(MacIONVRAMState, MACIO_NVRAM)
> diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
> index a10c884503..e1a22f8eba 100644
> --- a/hw/ppc/mac_oldworld.c
> +++ b/hw/ppc/mac_oldworld.c
> @@ -38,6 +38,7 @@
> #include "hw/isa/isa.h"
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_host.h"
> +#include "hw/pci-host/grackle.h"
> #include "hw/nvram/fw_cfg.h"
> #include "hw/char/escc.h"
> #include "hw/misc/macio/macio.h"
> diff --git a/include/hw/pci-host/grackle.h b/include/hw/pci-host/grackle.h
> new file mode 100644
> index 0000000000..7ad3a779f0
> --- /dev/null
> +++ b/include/hw/pci-host/grackle.h
> @@ -0,0 +1,44 @@
> +/*
> + * QEMU Grackle PCI host (heathrow OldWorld PowerMac)
> + *
> + * Copyright (c) 2006-2007 Fabrice Bellard
> + * Copyright (c) 2007 Jocelyn Mayer
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + * THE SOFTWARE.
> + */
> +
> +#ifndef GRACKLE_H
> +#define GRACKLE_H
> +
> +#include "hw/pci/pci_host.h"
> +
> +#define TYPE_GRACKLE_PCI_HOST_BRIDGE "grackle-pcihost"
> +OBJECT_DECLARE_SIMPLE_TYPE(GrackleState, GRACKLE_PCI_HOST_BRIDGE)
> +
> +struct GrackleState {
> + PCIHostState parent_obj;
> +
> + uint32_t ofw_addr;
> + qemu_irq irqs[4];
> + MemoryRegion pci_mmio;
> + MemoryRegion pci_hole;
> + MemoryRegion pci_io;
> +};
> +
> +#endif
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
ATB,
Mark.