mc146818rtc: move structure to header file
We are now able to embed a timer in another object. Acked-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Message-Id: <20171216090228.28505-4-hpoussin@reactos.org> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191018133547.10936-2-philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b4de58a4e1
commit
53e4b8018e
@ -71,36 +71,6 @@
|
||||
#define RTC_CLOCK_RATE 32768
|
||||
#define UIP_HOLD_LENGTH (8 * NANOSECONDS_PER_SECOND / 32768)
|
||||
|
||||
#define MC146818_RTC(obj) OBJECT_CHECK(RTCState, (obj), TYPE_MC146818_RTC)
|
||||
|
||||
typedef struct RTCState {
|
||||
ISADevice parent_obj;
|
||||
|
||||
MemoryRegion io;
|
||||
MemoryRegion coalesced_io;
|
||||
uint8_t cmos_data[128];
|
||||
uint8_t cmos_index;
|
||||
int32_t base_year;
|
||||
uint64_t base_rtc;
|
||||
uint64_t last_update;
|
||||
int64_t offset;
|
||||
qemu_irq irq;
|
||||
int it_shift;
|
||||
/* periodic timer */
|
||||
QEMUTimer *periodic_timer;
|
||||
int64_t next_periodic_time;
|
||||
/* update-ended timer */
|
||||
QEMUTimer *update_timer;
|
||||
uint64_t next_alarm_time;
|
||||
uint16_t irq_reinject_on_ack_count;
|
||||
uint32_t irq_coalesced;
|
||||
uint32_t period;
|
||||
QEMUTimer *coalesced_timer;
|
||||
LostTickPolicy lost_tick_policy;
|
||||
Notifier suspend_notifier;
|
||||
QLIST_ENTRY(RTCState) link;
|
||||
} RTCState;
|
||||
|
||||
static void rtc_set_time(RTCState *s);
|
||||
static void rtc_update_time(RTCState *s);
|
||||
static void rtc_set_cmos(RTCState *s, const struct tm *tm);
|
||||
|
@ -1,10 +1,43 @@
|
||||
#ifndef MC146818RTC_H
|
||||
#define MC146818RTC_H
|
||||
|
||||
#include "qapi/qapi-types-misc.h"
|
||||
#include "qemu/queue.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "hw/isa/isa.h"
|
||||
#include "hw/timer/mc146818rtc_regs.h"
|
||||
|
||||
#define TYPE_MC146818_RTC "mc146818rtc"
|
||||
#define MC146818_RTC(obj) OBJECT_CHECK(RTCState, (obj), TYPE_MC146818_RTC)
|
||||
|
||||
typedef struct RTCState {
|
||||
ISADevice parent_obj;
|
||||
|
||||
MemoryRegion io;
|
||||
MemoryRegion coalesced_io;
|
||||
uint8_t cmos_data[128];
|
||||
uint8_t cmos_index;
|
||||
int32_t base_year;
|
||||
uint64_t base_rtc;
|
||||
uint64_t last_update;
|
||||
int64_t offset;
|
||||
qemu_irq irq;
|
||||
int it_shift;
|
||||
/* periodic timer */
|
||||
QEMUTimer *periodic_timer;
|
||||
int64_t next_periodic_time;
|
||||
/* update-ended timer */
|
||||
QEMUTimer *update_timer;
|
||||
uint64_t next_alarm_time;
|
||||
uint16_t irq_reinject_on_ack_count;
|
||||
uint32_t irq_coalesced;
|
||||
uint32_t period;
|
||||
QEMUTimer *coalesced_timer;
|
||||
Notifier clock_reset_notifier;
|
||||
LostTickPolicy lost_tick_policy;
|
||||
Notifier suspend_notifier;
|
||||
QLIST_ENTRY(RTCState) link;
|
||||
} RTCState;
|
||||
|
||||
ISADevice *mc146818_rtc_init(ISABus *bus, int base_year,
|
||||
qemu_irq intercept_irq);
|
||||
|
Loading…
Reference in New Issue
Block a user