From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: slp@redhat.com
Subject: Re: [PATCH v2 3/8] hw: replace hw/i386/pc.h with a header just for the i8259
Date: Thu, 12 Dec 2019 20:03:58 +0100 [thread overview]
Message-ID: <d58b507e-9d68-d112-0f6c-6f9dfb153a93@redhat.com> (raw)
In-Reply-To: <1576171754-45138-4-git-send-email-pbonzini@redhat.com>
On 12/12/19 6:29 PM, Paolo Bonzini wrote:
> Remove the need to include i386/pc.h to get to the i8259 functions.
> This is enough to remove the inclusion of hw/i386/pc.h from all non-x86
> files.
Eh this is very similar to the patch I'v staged for 5.0, now than the
Malta/PC split got merged.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/alpha/alpha_sys.h | 3 ++-
> hw/alpha/dp264.c | 1 +
> hw/hppa/hppa_sys.h | 3 ++-
> hw/hppa/machine.c | 1 +
> hw/i386/kvm/i8259.c | 1 +
> hw/i386/microvm.c | 1 +
> hw/i386/pc.c | 1 +
> hw/i386/x86.c | 1 +
> hw/input/pckbd.c | 1 -
> hw/intc/Kconfig | 2 ++
> hw/intc/apic.c | 2 +-
> hw/intc/i8259.c | 2 +-
> hw/intc/i8259_common.c | 2 +-
> hw/intc/ioapic.c | 3 ++-
> hw/isa/i82378.c | 2 +-
> hw/isa/lpc_ich9.c | 1 -
> hw/isa/piix4.c | 2 +-
> hw/mips/gt64xxx_pci.c | 2 +-
> hw/mips/mips_fulong2e.c | 2 +-
> hw/mips/mips_jazz.c | 2 +-
> hw/mips/mips_r4k.c | 2 +-
> hw/pci-host/bonito.c | 1 -
> hw/pci-host/prep.c | 2 +-
> include/hw/i386/pc.h | 8 --------
> include/hw/intc/i8259.h | 12 ++++++++++++
> include/hw/isa/i8259_internal.h | 2 +-
> target/i386/monitor.c | 1 -
> 27 files changed, 37 insertions(+), 26 deletions(-)
> create mode 100644 include/hw/intc/i8259.h
Can you setup QEMU scripts/git.orderfile?
>
> diff --git a/hw/alpha/alpha_sys.h b/hw/alpha/alpha_sys.h
> index 4e127a6..95033d7 100644
> --- a/hw/alpha/alpha_sys.h
> +++ b/hw/alpha/alpha_sys.h
> @@ -7,7 +7,8 @@
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_host.h"
> #include "hw/ide.h"
> -#include "hw/i386/pc.h"
> +#include "hw/boards.h"
> +#include "hw/intc/i8259.h"
>
>
> PCIBus *typhoon_init(ram_addr_t, ISABus **, qemu_irq *, AlphaCPU *[4],
> diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
> index 4320497..5ed9a5a 100644
> --- a/hw/alpha/dp264.c
> +++ b/hw/alpha/dp264.c
> @@ -20,6 +20,7 @@
> #include "hw/timer/i8254.h"
> #include "hw/isa/superio.h"
> #include "hw/dma/i8257.h"
> +#include "net/net.h"
> #include "qemu/cutils.h"
>
> #define MAX_IDE_BUS 2
> diff --git a/hw/hppa/hppa_sys.h b/hw/hppa/hppa_sys.h
> index 43d25d2..4e50196 100644
> --- a/hw/hppa/hppa_sys.h
> +++ b/hw/hppa/hppa_sys.h
> @@ -6,7 +6,8 @@
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_host.h"
> #include "hw/ide.h"
> -#include "hw/i386/pc.h"
> +#include "hw/boards.h"
> +#include "hw/intc/i8259.h"
>
> #include "hppa_hardware.h"
>
> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> index b30aba6..5d0de26 100644
> --- a/hw/hppa/machine.c
> +++ b/hw/hppa/machine.c
> @@ -19,6 +19,7 @@
> #include "hppa_sys.h"
> #include "qemu/units.h"
> #include "qapi/error.h"
> +#include "net/net.h"
> #include "qemu/log.h"
>
> #define MAX_IDE_BUS 2
> diff --git a/hw/i386/kvm/i8259.c b/hw/i386/kvm/i8259.c
> index d0c1b1d..e404fdc 100644
> --- a/hw/i386/kvm/i8259.c
> +++ b/hw/i386/kvm/i8259.c
> @@ -12,6 +12,7 @@
>
> #include "qemu/osdep.h"
> #include "hw/isa/i8259_internal.h"
> +#include "hw/intc/i8259.h"
> #include "qemu/module.h"
> #include "hw/i386/apic_internal.h"
> #include "hw/irq.h"
> diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
> index def37e6..2068319 100644
> --- a/hw/i386/microvm.c
> +++ b/hw/i386/microvm.c
> @@ -34,6 +34,7 @@
> #include "hw/i386/x86.h"
> #include "hw/i386/pc.h"
> #include "target/i386/cpu.h"
> +#include "hw/intc/i8259.h"
> #include "hw/timer/i8254.h"
> #include "hw/rtc/mc146818rtc.h"
> #include "hw/char/serial.h"
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 3d2c5d8..fdbd2bf 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -44,6 +44,7 @@
> #include "migration/vmstate.h"
> #include "multiboot.h"
> #include "hw/rtc/mc146818rtc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/dma/i8257.h"
> #include "hw/timer/i8254.h"
> #include "hw/input/i8042.h"
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index 394edc2..3e4aee5 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -39,6 +39,7 @@
> #include "target/i386/cpu.h"
> #include "hw/i386/topology.h"
> #include "hw/i386/fw_cfg.h"
> +#include "hw/intc/i8259.h"
>
> #include "hw/acpi/cpu_hotplug.h"
> #include "hw/nmi.h"
> diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c
> index f0acfd8..2f09f78 100644
> --- a/hw/input/pckbd.c
> +++ b/hw/input/pckbd.c
> @@ -26,7 +26,6 @@
> #include "qemu/log.h"
> #include "hw/isa/isa.h"
> #include "migration/vmstate.h"
> -#include "hw/i386/pc.h"
> #include "hw/input/ps2.h"
> #include "hw/irq.h"
> #include "hw/input/i8042.h"
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index 5347f84..10a680b 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -9,6 +9,7 @@ config PL190
>
> config IOAPIC
> bool
> + select I8259
>
> config ARM_GIC
> bool
> @@ -21,6 +22,7 @@ config OPENPIC
> config APIC
> bool
> select MSI_NONBROKEN
> + select I8259
>
> config ARM_GIC_KVM
> bool
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index 2a74f7b..bd40467 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -22,10 +22,10 @@
> #include "hw/i386/apic_internal.h"
> #include "hw/i386/apic.h"
> #include "hw/i386/ioapic.h"
> +#include "hw/intc/i8259.h"
> #include "hw/pci/msi.h"
> #include "qemu/host-utils.h"
> #include "trace.h"
> -#include "hw/i386/pc.h"
> #include "hw/i386/apic-msidef.h"
> #include "qapi/error.h"
>
> diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c
> index 211a989..51b27f6 100644
> --- a/hw/intc/i8259.c
> +++ b/hw/intc/i8259.c
> @@ -23,7 +23,7 @@
> */
>
> #include "qemu/osdep.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/irq.h"
> #include "hw/isa/isa.h"
> #include "qemu/timer.h"
> diff --git a/hw/intc/i8259_common.c b/hw/intc/i8259_common.c
> index bd37bb5..e7b1a10 100644
> --- a/hw/intc/i8259_common.c
> +++ b/hw/intc/i8259_common.c
> @@ -24,7 +24,7 @@
> */
>
> #include "qemu/osdep.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/isa/i8259_internal.h"
> #include "hw/qdev-properties.h"
> #include "migration/vmstate.h"
> diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c
> index ead14e1..4f55776 100644
> --- a/hw/intc/ioapic.c
> +++ b/hw/intc/ioapic.c
> @@ -23,10 +23,11 @@
> #include "qemu/osdep.h"
> #include "qapi/error.h"
> #include "monitor/monitor.h"
> -#include "hw/i386/pc.h"
> #include "hw/i386/apic.h"
> #include "hw/i386/ioapic.h"
> #include "hw/i386/ioapic_internal.h"
> +#include "hw/i386/x86.h"
> +#include "hw/intc/i8259.h"
> #include "hw/pci/msi.h"
> #include "hw/qdev-properties.h"
> #include "sysemu/kvm.h"
> diff --git a/hw/isa/i82378.c b/hw/isa/i82378.c
> index de276cd..dcb6b47 100644
> --- a/hw/isa/i82378.c
> +++ b/hw/isa/i82378.c
> @@ -19,8 +19,8 @@
>
> #include "qemu/osdep.h"
> #include "hw/pci/pci.h"
> -#include "hw/i386/pc.h"
> #include "hw/irq.h"
> +#include "hw/intc/i8259.h"
> #include "hw/timer/i8254.h"
> #include "migration/vmstate.h"
> #include "hw/audio/pcspk.h"
> diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
> index 17c292e..170792a 100644
> --- a/hw/isa/lpc_ich9.c
> +++ b/hw/isa/lpc_ich9.c
> @@ -35,7 +35,6 @@
> #include "hw/isa/isa.h"
> #include "hw/sysbus.h"
> #include "migration/vmstate.h"
> -#include "hw/i386/pc.h"
> #include "hw/irq.h"
> #include "hw/isa/apm.h"
> #include "hw/i386/ioapic.h"
> diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
> index 86678e6..7edec5e 100644
> --- a/hw/isa/piix4.c
> +++ b/hw/isa/piix4.c
> @@ -26,11 +26,11 @@
> #include "qemu/osdep.h"
> #include "qapi/error.h"
> #include "hw/irq.h"
> -#include "hw/i386/pc.h"
> #include "hw/southbridge/piix.h"
> #include "hw/pci/pci.h"
> #include "hw/isa/isa.h"
> #include "hw/sysbus.h"
> +#include "hw/intc/i8259.h"
> #include "hw/dma/i8257.h"
> #include "hw/timer/i8254.h"
> #include "hw/rtc/mc146818rtc.h"
> diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c
> index f1af840..b2ea13f 100644
> --- a/hw/mips/gt64xxx_pci.c
> +++ b/hw/mips/gt64xxx_pci.c
> @@ -30,7 +30,7 @@
> #include "hw/pci/pci_host.h"
> #include "hw/southbridge/piix.h"
> #include "migration/vmstate.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/irq.h"
> #include "exec/address-spaces.h"
> #include "trace.h"
> diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c
> index 55c143e..6199c54 100644
> --- a/hw/mips/mips_fulong2e.c
> +++ b/hw/mips/mips_fulong2e.c
> @@ -23,7 +23,7 @@
> #include "qemu/units.h"
> #include "qapi/error.h"
> #include "cpu.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/dma/i8257.h"
> #include "hw/isa/superio.h"
> #include "net/net.h"
> diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c
> index d978bb6..c40b23f 100644
> --- a/hw/mips/mips_jazz.c
> +++ b/hw/mips/mips_jazz.c
> @@ -26,7 +26,7 @@
> #include "qemu-common.h"
> #include "hw/mips/mips.h"
> #include "hw/mips/cpudevs.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/dma/i8257.h"
> #include "hw/char/serial.h"
> #include "hw/char/parallel.h"
> diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c
> index 7002423..fbbd59e 100644
> --- a/hw/mips/mips_r4k.c
> +++ b/hw/mips/mips_r4k.c
> @@ -15,7 +15,7 @@
> #include "cpu.h"
> #include "hw/mips/mips.h"
> #include "hw/mips/cpudevs.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/char/serial.h"
> #include "hw/isa/isa.h"
> #include "net/net.h"
> diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
> index ceee463..c924007 100644
> --- a/hw/pci-host/bonito.c
> +++ b/hw/pci-host/bonito.c
> @@ -40,7 +40,6 @@
> #include "qemu/osdep.h"
> #include "qemu/error-report.h"
> #include "hw/pci/pci.h"
> -#include "hw/i386/pc.h"
> #include "hw/irq.h"
> #include "hw/mips/mips.h"
> #include "hw/pci/pci_host.h"
> diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c
> index 85d7ba9..afa136d 100644
> --- a/hw/pci-host/prep.c
> +++ b/hw/pci-host/prep.c
> @@ -32,7 +32,7 @@
> #include "hw/pci/pci_host.h"
> #include "hw/qdev-properties.h"
> #include "migration/vmstate.h"
> -#include "hw/i386/pc.h"
> +#include "hw/intc/i8259.h"
> #include "hw/irq.h"
> #include "hw/loader.h"
> #include "hw/or-irq.h"
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 1f86eba..82447f8 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -134,14 +134,6 @@ typedef struct PCMachineClass {
> #define PC_MACHINE_CLASS(klass) \
> OBJECT_CLASS_CHECK(PCMachineClass, (klass), TYPE_PC_MACHINE)
>
> -/* i8259.c */
> -
> -extern DeviceState *isa_pic;
> -qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq);
> -qemu_irq *kvm_i8259_init(ISABus *bus);
> -int pic_read_irq(DeviceState *d);
> -int pic_get_output(DeviceState *d);
> -
> /* ioapic.c */
>
> /* Global System Interrupts */
> diff --git a/include/hw/intc/i8259.h b/include/hw/intc/i8259.h
> new file mode 100644
> index 0000000..e2b1e8c
> --- /dev/null
> +++ b/include/hw/intc/i8259.h
> @@ -0,0 +1,12 @@
> +#ifndef HW_I8259_H
> +#define HW_I8259_H
> +
> +/* i8259.c */
Instead:
/*
* QEMU 8259 interrupt controller emulation
*
* Copyright (c) 2003-2004 Fabrice Bellard
*
* 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.
*/
> +
> +extern DeviceState *isa_pic;
> +qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq);
> +qemu_irq *kvm_i8259_init(ISABus *bus);
I moved this particular one to hw/i386/kvm/.
> +int pic_get_output(DeviceState *d);
> +int pic_read_irq(DeviceState *d);
> +
> +#endif
> diff --git a/include/hw/isa/i8259_internal.h b/include/hw/isa/i8259_internal.h
> index ee189e4..861d70d 100644
> --- a/include/hw/isa/i8259_internal.h
> +++ b/include/hw/isa/i8259_internal.h
> @@ -25,9 +25,9 @@
> #ifndef QEMU_I8259_INTERNAL_H
> #define QEMU_I8259_INTERNAL_H
>
> -#include "hw/i386/pc.h"
> #include "hw/isa/isa.h"
> #include "hw/intc/intc.h"
> +#include "hw/intc/i8259.h"
>
> typedef struct PICCommonState PICCommonState;
>
> diff --git a/target/i386/monitor.c b/target/i386/monitor.c
> index 9fb4d64..27ebfa3 100644
> --- a/target/i386/monitor.c
> +++ b/target/i386/monitor.c
> @@ -28,7 +28,6 @@
> #include "monitor/hmp-target.h"
> #include "monitor/hmp.h"
> #include "qapi/qmp/qdict.h"
> -#include "hw/i386/pc.h"
> #include "sysemu/kvm.h"
> #include "sysemu/sev.h"
> #include "qapi/error.h"
>
next prev parent reply other threads:[~2019-12-12 19:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-12 17:29 [PATCH v2 0/8] x86: allow building without PC machine types Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 1/8] i386: conditionally compile more files Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 2/8] fw_cfg: allow building without other devices Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 3/8] hw: replace hw/i386/pc.h with a header just for the i8259 Paolo Bonzini
2019-12-12 19:03 ` Philippe Mathieu-Daudé [this message]
2019-12-12 20:05 ` Paolo Bonzini
2019-12-13 9:43 ` Philippe Mathieu-Daudé
2019-12-13 14:56 ` Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 4/8] pci-stub: add more MSI functions Paolo Bonzini
2019-12-12 19:49 ` Philippe Mathieu-Daudé
2019-12-12 17:29 ` [PATCH v2 5/8] x86: move SMM property to X86MachineState Paolo Bonzini
2019-12-13 14:50 ` Philippe Mathieu-Daudé
2019-12-12 17:29 ` [PATCH v2 6/8] x86: move more x86-generic functions out of PC files Paolo Bonzini
2020-01-08 8:03 ` Gerd Hoffmann
2020-01-08 8:19 ` Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 7/8] acpi: move PC stubs out of stubs/ Paolo Bonzini
2019-12-12 17:29 ` [PATCH v2 8/8] pc: stubify x86 iommu Paolo Bonzini
2020-01-07 14:26 ` Thomas Huth
2020-01-07 14:59 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d58b507e-9d68-d112-0f6c-6f9dfb153a93@redhat.com \
--to=philmd@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=slp@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).