On 9/12/22 12:15, Thomas Huth wrote:
The only reason for this code being target dependent is the apic-related
code in rtc_policy_slew_deliver_irq(). Since these apic functions are rather
simple, we can easily move them into a new, separate file (apic_irqcount.c)
which will always be compiled and linked if either APIC or the mc146818 device
are required. This way we can get rid of the #ifdef TARGET_I386 switches in
mc146818rtc.c and declare it in the softmmu_ss instead of specific_ss, so
that the code only gets compiled once for all targets.
Signed-off-by: Thomas Huth <th...@redhat.com>
---
v2: Move the apic functions into a separate file instead of using
an ugly function pointer
include/hw/i386/apic.h | 1 +
include/hw/i386/apic_internal.h | 1 -
include/hw/rtc/mc146818rtc.h | 1 +
hw/intc/apic_common.c | 27 -----------------
hw/intc/apic_irqcount.c | 53 +++++++++++++++++++++++++++++++++
hw/rtc/mc146818rtc.c | 25 +++++-----------
hw/intc/meson.build | 6 +++-
hw/rtc/meson.build | 3 +-
8 files changed, 68 insertions(+), 49 deletions(-)
create mode 100644 hw/intc/apic_irqcount.c
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>