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
source. Unfortunately it is impossible to fix the problem entirely
inside RTC code like Andrzej proposed since Windows reads RTC
register C more then once on each time interrupt so it is impossible
to count reliably how many interrupt windows actually handled.
Proposed solution is localized to I386 target and is disabled by
default. To enable it "-rtc-td-hack" flag should be used.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6320 c046a42c-6fe2-441c-8c8c-71466251a162
6 files changed
tree: 4a7a2c610ba22ddb4a46158f155a798fb74481c8
  1. audio/
  2. bsd-user/
  3. darwin-user/
  4. fpu/
  5. gdb-xml/
  6. hw/
  7. keymaps/
  8. linux-user/
  9. pc-bios/
  10. slirp/
  11. target-alpha/
  12. target-arm/
  13. target-cris/
  14. target-i386/
  15. target-m68k/
  16. target-mips/
  17. target-ppc/
  18. target-sh4/
  19. target-sparc/
  20. tcg/
  21. tests/
  22. .gitignore
  23. a.out.h
  24. aes.c
  25. aes.h
  26. aio.c
  27. alpha-dis.c
  28. alpha.ld
  29. arm-dis.c
  30. arm-semi.c
  31. arm.ld
  32. balloon.h
  33. block-bochs.c
  34. block-cloop.c
  35. block-cow.c
  36. block-dmg.c
  37. block-nbd.c
  38. block-parallels.c
  39. block-qcow.c
  40. block-qcow2.c
  41. block-raw-posix.c
  42. block-raw-win32.c
  43. block-vmdk.c
  44. block-vpc.c
  45. block-vvfat.c
  46. block.c
  47. block.h
  48. block_int.h
  49. bswap.h
  50. bt-host.c
  51. bt-vhci.c
  52. buffered_file.c
  53. buffered_file.h
  54. cache-utils.c
  55. cache-utils.h
  56. Changelog
  57. cocoa.m
  58. configure
  59. console.c
  60. console.h
  61. COPYING
  62. COPYING.LIB
  63. cpu-all.h
  64. cpu-defs.h
  65. cpu-exec.c
  66. cris-dis.c
  67. curses.c
  68. curses_keys.h
  69. cutils.c
  70. d3des.c
  71. d3des.h
  72. def-helper.h
  73. device_tree.c
  74. device_tree.h
  75. dis-asm.h
  76. disas.c
  77. disas.h
  78. dyngen-exec.h
  79. elf.h
  80. elf_ops.h
  81. exec-all.h
  82. exec.c
  83. feature_to_c.sh
  84. gdbstub.c
  85. gdbstub.h
  86. gen-icount.h
  87. host-utils.c
  88. host-utils.h
  89. hostregs_helper.h
  90. hpet.h
  91. hppa-dis.c
  92. hppa.ld
  93. i386-dis.c
  94. i386.ld
  95. ia64.ld
  96. keymaps.c
  97. kqemu.c
  98. kqemu.h
  99. kvm-all.c
  100. kvm.h
  101. libfdt_env.h
  102. LICENSE
  103. loader.c
  104. m68k-dis.c
  105. m68k-semi.c
  106. m68k.ld
  107. MAINTAINERS
  108. Makefile
  109. Makefile.target
  110. migration-exec.c
  111. migration-tcp.c
  112. migration.c
  113. migration.h
  114. mips-dis.c
  115. mips.ld
  116. mipsel.ld
  117. monitor.c
  118. nbd.c
  119. nbd.h
  120. net-checksum.c
  121. net.c
  122. net.h
  123. osdep.c
  124. osdep.h
  125. pci-ids.txt
  126. posix-aio-compat.c
  127. posix-aio-compat.h
  128. ppc-dis.c
  129. ppc.ld
  130. ppc64.ld
  131. qemu-aio.h
  132. qemu-binfmt-conf.sh
  133. qemu-char.c
  134. qemu-char.h
  135. qemu-common.h
  136. qemu-doc.texi
  137. qemu-img.c
  138. qemu-img.texi
  139. qemu-lock.h
  140. qemu-log.h
  141. qemu-malloc.c
  142. qemu-nbd.c
  143. qemu-nbd.texi
  144. qemu-sockets.c
  145. qemu-tech.texi
  146. qemu-timer.h
  147. qemu-tool.c
  148. qemu_socket.h
  149. readline.c
  150. README
  151. s390-dis.c
  152. s390.ld
  153. savevm.c
  154. sdl.c
  155. sdl_keysym.h
  156. sh4-dis.c
  157. softmmu-semi.h
  158. softmmu_defs.h
  159. softmmu_exec.h
  160. softmmu_header.h
  161. softmmu_template.h
  162. sparc-dis.c
  163. sparc.ld
  164. sparc64.ld
  165. sys-queue.h
  166. sysemu.h
  167. tap-win32.c
  168. texi2pod.pl
  169. thunk.c
  170. thunk.h
  171. TODO
  172. translate-all.c
  173. uboot_image.h
  174. usb-bsd.c
  175. usb-linux.c
  176. usb-stub.c
  177. VERSION
  178. vgafont.h
  179. vl.c
  180. vnc.c
  181. vnc_keysym.h
  182. vnchextile.h
  183. x86_64.ld
  184. x_keymap.c