| Branch: | Revision:

root / hw / mc146818rtc.c @ 8af7a3ab

History | View | Annotate | Download (19.1 kB)

# Date Author Comment
f292787d 07/06/2010 06:36 pm Gleb Natapov

make rtc alatm work

Convert alarm time from BCD if needed before comparing with current

Signed-off-by: Gleb Natapov <>
Signed-off-by: Anthony Liguori <>

7d932dfd 06/13/2010 03:33 pm Jan Kiszka

hpet/rtc: Rework RTC IRQ replacement by HPET

Allow the intercept the RTC IRQ for the HPET legacy mode. Then push
routing to IRQ8 completely into the HPET. This allows to turn
hpet_in_legacy_mode() into a private function. Furthermore, this stops
the RTC from clearing IRQ8 even if the HPET is in control....

aa6f63ff 05/30/2010 10:20 pm Blue Swirl

mc146818rtc: improve debugging

Add a separate flag for debugging coalesced interrupts.

Signed-off-by: Blue Swirl <>

ec51e364 05/15/2010 07:42 pm Isaku Yamahata

mc146818rtc: remove #ifdef DEBUG_CMOS.

remove #ifdef DEBUG_CMOS by using macro.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

1d914fa0 05/15/2010 07:21 pm Isaku Yamahata

rtc: make rtc_xxx accept/return ISADevice instead of RTCState.

To match rtc_xxx with qdev, make rtc_xxx accept and return ISADevice
instead of RTCState.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

dc683910 05/15/2010 05:34 pm Jan Kiszka

mc146818rtc: Register vmstate via qdev

After defining the required alias ID, we can push vmstate registration
of mc146818rtc to qdev.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Blue Swirl <>

aa28b9bf 03/21/2010 09:46 pm Blue Swirl

Move x86 specific PC declarations to a separate file

x86 definitions (especially CPUState uses) prevent many files from
being compiled within libhw.

Move x86 specific declarations (APIC stuff) to a separate file.

Signed-off-by: Blue Swirl <>

80cd3478 03/08/2010 07:30 pm Luiz Capitulino

QMP: Introduce RTC_CHANGE event

Emitted whenever the RTC time changes.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

dd17765b 01/20/2010 04:51 pm Gleb Natapov

reduce number of reinjects on ACK

Windows 7 BSODs under load with HAL_RTC_IRQF_WILL_NOT_CLEAR error.

It happens here:
8281b93a 8bff mov edi,edi
8281b93c 56 push esi
8281b93d 33f6 xor esi,esi...

ba32edab 12/12/2009 03:59 pm Gleb Natapov

fix rtc-td-hack on host without high-res timers

On hosts without high-res timers it is impossible to inject rtc interrupt
faster then 1kHz. Windows sometimes configures RTC to generate 1kHz
interrupts, so we can't inject missed interrupts when running on such...

abd0c6bd 11/22/2009 11:27 pm Paul Brook

BCD cleanup

Combine multiple BCD implementations.

Signed-off-by: Paul Brook <>

048c74c4 10/27/2009 07:28 pm Juan Quintela

mc145818rtc: fix saving of rtc-td hack properly upgrading the version number

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

6b075b8a 10/27/2009 07:28 pm Juan Quintela

mc146818rtc: port rtc to vmstate

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

e0ca7b94 10/27/2009 07:28 pm Juan Quintela

mc146818rtc: fix indentation

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

73c595e1 10/27/2009 07:28 pm Juan Quintela

mc146818rtc: remove rtc_mm_init()

It was used for Acer Pica 61 emulation, removed in 2008
Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

ce88f890 10/12/2009 05:42 pm Juan Quintela

TARGET_I386 is always defined if TARGET_X86_64 is defined

Patchworks-ID: 35378
Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

e23a1b33 10/07/2009 04:54 pm Markus Armbruster

New qdev_init_nofail()

Like qdev_init(), but terminate program via hw_error() instead of
returning an error value.

Use it instead of qdev_init() where terminating the program on failure
is okay, either because it's during machine construction, or because...

6875204c 10/05/2009 05:32 pm Jan Kiszka

Enable host-clock-based RTC

Switch RTC emulations to the new host_clock instead of vm_clock by
default. This has the advantage that the emulated RTC will follow
automatically the host time while it might be tuned via NTP. vm_clock
can still be selected by passing '-rtc clock=vm' on the command line....

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time

Signed-off-by: malc <>

6ee093c9 09/11/2009 06:19 pm Juan Quintela

Unexport ticks_per_sec variable. Create get_ticks_per_sec() function

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

32e0c826 09/10/2009 06:48 pm Gerd Hoffmann

qdev/isa: convert real time clock

Signed-off-by: Gerd Hoffmann <>

98815437 09/10/2009 01:31 am Bernhard Kauer

RTC polling mode broken

The RTC emulation does not set the IRQ flags independent of the IRQ enable bits.

The original MC146818A datasheet from 1984 notes:
"flag bits in Register C [...] are set independent of the
state of the corresponding enable bits in Register B"...

d60efc6b 08/25/2009 09:29 pm Blue Swirl

Make CPURead/WriteFunc structure 'const'

Signed-off-by: Blue Swirl <>

a08d4367 06/29/2009 10:18 pm Jan Kiszka

Revert "Introduce reset notifier order"

This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (and
updates later added users of qemu_register_reset), we solved the
problem it originally addressed less invasively.

Signed-off-by: Jan Kiszka <>...

1eed09cb 06/16/2009 11:18 pm Avi Kivity

Remove io_index argument from cpu_register_io_memory()

The parameter is always zero except when registering the three internal
io regions (ROM, unassigned, notdirty). Remove the parameter to reduce
the API's power, thus facilitating future change.

Signed-off-by: Avi Kivity <>...

72716184 06/15/2009 10:35 pm Anthony Liguori

Incorporate changes from v2 of Gleb's RTC reset patch

Signed-off-by: Anthony Liguori <>

eeb7c03c 06/15/2009 05:50 am Gleb Natapov

Add rtc reset function.

On reset:
Periodic Interrupt Enable (PIE) bit is cleared to zero
Alarm Interrupt Enable (AIE) bit is cleared to zero
Update ended Interrupt Flag (UF) bit is cleared to zero
Interrupt Request status Flag (IRQF) bit is cleared to zero...

93b66569 04/22/2009 11:20 pm aliguori

Change RTC time drift IRQ re-injection (Gleb Natapov)

Currently IRQ are reinjected as soon as they are acknowledged to
the RTC, but Windows sometimes do acknowledgement in a loop with
global interrupt disabled waiting for interrupt to be cleared and
it does not mask RTC vector in PIC/APIC while doing this. In such...

a8b01dd8 04/10/2009 05:19 am pbrook

Fix RTC breakage from r7031.

Signed-off-by: Paul Brook <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

100d9891 04/08/2009 01:28 am aurel32

mc146818: add square wave output support

This is necessary for es40 as the sqw output is directly connected to the
core chipset.

Signed-off-by: Tristan Gingold <>
Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

487414f1 02/06/2009 12:06 am aliguori

hw: remove error handling from qemu_malloc() callers (Avi Kivity)

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

42fc73a1 01/24/2009 08:06 pm aurel32

Support epoch of 1980 in RTC emulation for MIPS Magnum

On the MIPS Magnum, the time that is held in the RTC's NVRAM should be
relative to midnight on 1980-01-01. This patch adds an extra parameter
to rtc_init(), allowing different epochs to be used. For the Magnum,...

73822ec8 01/15/2009 10:11 pm aliguori

Add -rtc-td-hack option to fix time drift with RTC on Windows (Gleb Natapov)

After my last patch to fix interrupt coalescing was rejected
on the basis that it is too intrusive we decided to make the
fix much more localized and only fix the problem for RTC time...

6f1bf24d 01/14/2009 11:09 pm aurel32

Fix day of week in mc146818

According to mc146818 specification, Day of Week register (#6) is between 1
and 7, 1 representing Sunday. According C specification, tm_wday field in
struct tm is between 0 and 6, 0 representing Sunday.

Bit 2 of register B (#11) is named DM (data mode) and specifies if RTC...

c50c2d68 12/19/2008 12:42 am aurel32

Remove trailing spaces introduced by commit 6081

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

16b29ae1 12/18/2008 01:28 am aliguori

Add HPET emulation to qemu (Beth Kon)

This patch adds HPET emulation. It can be disabled with -disable-hpet. An hpet
provides a more finely granular clocksource than otherwise available on PC.
This means that latency-dependent applications (e.g. multimedia) will generally...

8da3ff18 12/01/2008 08:59 pm pbrook

Change MMIO callbacks to use offsets, not absolute addresses.

Signed-off-by: Paul Brook <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

f6503059 02/17/2008 01:42 pm balrog

Unify RTCs that use host time, fix M48t59 alarm.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

bee8d684 12/17/2007 01:41 am ths

qemu_put signedness fixes, by Andre Przywara.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

9596ebb7 11/18/2007 03:44 am pbrook

Add statics and missing #includes for prototypes.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

7e0af5d0 11/07/2007 06:24 pm bellard

added -startdate option

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

3b46e624 09/17/2007 11:09 am ths

find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

18c6e2ff 04/17/2007 07:28 pm ths

Fix mmapped register alignment and endianness handling.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

2ca9d013 04/16/2007 08:21 pm ths

Memory-mapped interface for RTC, by Herve Poussineau.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

d537cf6c 04/07/2007 09:14 pm pbrook

Unify IRQ handling.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

ea55ffb3 12/07/2006 07:16 pm ths

Move date/time init to the RTC implementation.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

43f493af 06/03/2004 03:51 pm bellard

more accurate emulation (do not depend on localtime() or gmtime()

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

4721c457 04/03/2004 03:27 pm bellard

UIP update fix

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

67b915a5 04/01/2004 02:37 am bellard

win32 port (initial patch by kazu)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

dff38e7b 03/31/2004 09:57 pm bellard

more precise RTC emulation (periodic timers + time updates)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

b41a2cd1 03/14/2004 11:46 pm bellard

io port API change

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

80cabfad 03/14/2004 02:20 pm bellard

separated more devices from emulator

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162