[PATCH 0/6] mc146818rtc related clean-ups and improvements

Thomas Huth posted 6 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230103084801.20437-1-thuth@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, "Hervé Poussineau" <hpoussin@reactos.org>
include/hw/i386/apic.h          |  2 --
include/hw/i386/apic_internal.h |  1 -
include/hw/i386/ich9.h          |  2 ++
include/hw/i386/pc.h            |  2 +-
include/hw/intc/kvm_irqcount.h  | 10 +++++++
include/hw/rtc/mc146818rtc.h    |  2 ++
include/hw/southbridge/piix.h   |  3 ++
hw/i386/kvm/i8259.c             |  4 +--
hw/i386/kvm/ioapic.c            |  4 +--
hw/i386/pc.c                    | 16 +++++++++--
hw/i386/pc_piix.c               | 11 +++++++-
hw/i386/pc_q35.c                |  3 +-
hw/intc/apic.c                  |  3 +-
hw/intc/apic_common.c           | 30 ++------------------
hw/intc/kvm_irqcount.c          | 49 +++++++++++++++++++++++++++++++++
hw/isa/lpc_ich9.c               |  9 ++++++
hw/isa/piix3.c                  | 16 +++++++++++
hw/rtc/mc146818rtc.c            | 33 ++++++++--------------
softmmu/rtc.c                   |  6 +++-
hw/intc/meson.build             |  6 ++++
hw/intc/trace-events            |  9 +++---
hw/isa/Kconfig                  |  2 ++
hw/rtc/meson.build              |  3 +-
23 files changed, 156 insertions(+), 70 deletions(-)
create mode 100644 include/hw/intc/kvm_irqcount.h
create mode 100644 hw/intc/kvm_irqcount.c
[PATCH 0/6] mc146818rtc related clean-ups and improvements
Posted by Thomas Huth 1 year, 3 months ago
This patch series is a follow-up of my previous patch
"[PATCH v4] hw/rtc/mc146818rtc: Make this rtc device target independent".
It has now been split into multiple patches to ease the review, and some
further patches have been added on top.

The basic idea is to change hw/rtc/mc146818rtc.c into target independent
code so that the file only has to be compiled once instead of multiple
times (and that it can be used in a qemu-system-all binary once we get
there).

First two patches are from Bernhard - clean-ups that will help to
make it easier to introduce a new "slew-tick-policy-available" property
later.

The third patch extracts some functions from the APIC code that will be
required for linking when the mc146818rtc becomes target-independent.

The fourth patch introduces the new "slew-tick-policy-available" property
that can be used to decide whether the slew-tick policy is available or
not once the "#ifdef TARGET..." stuff got removed.

The fifth patch then removes the "#ifdef TARGET" switches and turns
the mc146818rtc code into a target-independent file.

The sixth patch just fixes a small cosmetic nit that I discovered along
the way: On systems without mc146818, the "-rtc driftfix=slew" simply
got ignored silently. We should at least emit a warning in this case.

Bernhard Beschow (2):
  hw/i386/pc: Create RTC controllers in south bridges
  hw/i386/pc: No need for rtc_state to be an out-parameter

Thomas Huth (4):
  hw/intc: Extract the IRQ counting functions into a separate file
  hw/rtc/mc146818rtc: Add a property for the availability of the slew
    tick policy
  hw/rtc/mc146818rtc: Make the mc146818 RTC device target independent
  softmmu/rtc: Emit warning when using driftfix=slew on systems without
    mc146818

 include/hw/i386/apic.h          |  2 --
 include/hw/i386/apic_internal.h |  1 -
 include/hw/i386/ich9.h          |  2 ++
 include/hw/i386/pc.h            |  2 +-
 include/hw/intc/kvm_irqcount.h  | 10 +++++++
 include/hw/rtc/mc146818rtc.h    |  2 ++
 include/hw/southbridge/piix.h   |  3 ++
 hw/i386/kvm/i8259.c             |  4 +--
 hw/i386/kvm/ioapic.c            |  4 +--
 hw/i386/pc.c                    | 16 +++++++++--
 hw/i386/pc_piix.c               | 11 +++++++-
 hw/i386/pc_q35.c                |  3 +-
 hw/intc/apic.c                  |  3 +-
 hw/intc/apic_common.c           | 30 ++------------------
 hw/intc/kvm_irqcount.c          | 49 +++++++++++++++++++++++++++++++++
 hw/isa/lpc_ich9.c               |  9 ++++++
 hw/isa/piix3.c                  | 16 +++++++++++
 hw/rtc/mc146818rtc.c            | 33 ++++++++--------------
 softmmu/rtc.c                   |  6 +++-
 hw/intc/meson.build             |  6 ++++
 hw/intc/trace-events            |  9 +++---
 hw/isa/Kconfig                  |  2 ++
 hw/rtc/meson.build              |  3 +-
 23 files changed, 156 insertions(+), 70 deletions(-)
 create mode 100644 include/hw/intc/kvm_irqcount.h
 create mode 100644 hw/intc/kvm_irqcount.c

-- 
2.31.1