Hi Aleksandar,
On 10/18/19 7:04 PM, Aleksandar Markovic wrote:
>
>
> On Friday, October 18, 2019, Philippe Mathieu-Daudé <philmd@redhat.com
> <philmd@redhat.com>> wrote:
>
> The PIIX3 is not tied to the i440FX and can even be used without it.
> Move its creation to the machine code (pc_piix.c).
> We have now removed the last trace of southbridge code in the i440FX
> northbridge.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com
> <philmd@redhat.com>>
> ---
> hw/i386/pc_piix.c | 8 +++++++-
> hw/pci-host/i440fx.c | 8 --------
> include/hw/pci-host/i440fx.h | 3 +--
> 3 files changed, 8 insertions(+), 11 deletions(-)
>
>
> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com
> <amarkovic@wavecomp.com>>
>
> Philippe, I don't have any test equipment available at the moment, did
> you do some smoke tests with new v2 of the series (like booting a Malta
> board, or other relevant scenario)?
This series pass all 32-bit Avocado tests, and if you apply
"tests/acceptance: Fix 64-bit MIPS target tests" I just sent [*],
all the tests pass.
AVOCADO_TIMEOUT_EXPECTED=1 avocado \
--show=app,ssh,console \
run \
-t arch:mipsel -t arch:mips -t arch:mips64el -t arch:mips64 \
tests/acceptance/
[*] mid.mail-archive.com/20191019151058.31733-1-f4bug@amsat.org
> Veuillez agréer, Monsieur Philippe, l'assurance de mon parfaite
> considération.
Merci ;)
> Aleksandar
>
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 11b8de049f..f6e7196a82 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -199,14 +199,20 @@ static void pc_init1(MachineState *machine,
> }
>
> if (pcmc->pci_enabled) {
> + PIIX3State *piix3;
> +
> pci_bus = i440fx_init(host_type,
> pci_type,
> - &i440fx_state, &piix3_devfn,
> &isa_bus, pcms->gsi,
> + &i440fx_state,
> system_memory, system_io,
> machine->ram_size,
> pcms->below_4g_mem_size,
> pcms->above_4g_mem_size,
> pci_memory, ram_memory);
> pcms->bus = pci_bus;
> +
> + piix3 = piix3_create(pci_bus, &isa_bus);
> + piix3->pic = pcms->gsi;
> + piix3_devfn = piix3->dev.devfn;
> } else {
> pci_bus = NULL;
> i440fx_state = NULL;
> diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
> index 79ecd58a2b..f27131102d 100644
> --- a/hw/pci-host/i440fx.c
> +++ b/hw/pci-host/i440fx.c
> @@ -27,7 +27,6 @@
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_host.h"
> #include "hw/pci-host/i440fx.h"
> -#include "hw/southbridge/piix.h"
> #include "hw/qdev-properties.h"
> #include "hw/sysbus.h"
> #include "qapi/error.h"
> @@ -272,8 +271,6 @@ static void i440fx_realize(PCIDevice *dev, Error
> **errp)
>
> PCIBus *i440fx_init(const char *host_type, const char *pci_type,
> PCII440FXState **pi440fx_state,
> - int *piix3_devfn,
> - ISABus **isa_bus, qemu_irq *pic,
> MemoryRegion *address_space_mem,
> MemoryRegion *address_space_io,
> ram_addr_t ram_size,
> @@ -286,7 +283,6 @@ PCIBus *i440fx_init(const char *host_type, const
> char *pci_type,
> PCIBus *b;
> PCIDevice *d;
> PCIHostState *s;
> - PIIX3State *piix3;
> PCII440FXState *f;
> unsigned i;
> I440FXState *i440fx;
> @@ -339,10 +335,6 @@ PCIBus *i440fx_init(const char *host_type,
> const char *pci_type,
> PAM_EXPAN_SIZE);
> }
>
> - piix3 = piix3_create(b, isa_bus);
> - piix3->pic = pic;
> - *piix3_devfn = piix3->dev.devfn;
> -
> ram_size = ram_size / 8 / 1024 / 1024;
> if (ram_size > 255) {
> ram_size = 255;
> diff --git a/include/hw/pci-host/i440fx.h b/include/hw/pci-host/i440fx.h
> index e327f9bf87..f54e6466e4 100644
> --- a/include/hw/pci-host/i440fx.h
> +++ b/include/hw/pci-host/i440fx.h
> @@ -22,8 +22,7 @@ typedef struct PCII440FXState PCII440FXState;
> #define TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE
> "igd-passthrough-i440FX"
>
> PCIBus *i440fx_init(const char *host_type, const char *pci_type,
> - PCII440FXState **pi440fx_state, int *piix_devfn,
> - ISABus **isa_bus, qemu_irq *pic,
> + PCII440FXState **pi440fx_state,
> MemoryRegion *address_space_mem,
> MemoryRegion *address_space_io,
> ram_addr_t ram_size,
> --
> 2.21.0
>
>