Make KVM slot management more robust

KVM keeps track of physical memory based on slots in the kernel.  The current
code that translates QEMU memory mappings to slots work but is not robust
in the fact of reregistering partial regions of memory.

This patch does the right thing for reregistering partial regions of memory.  It
also prevents QEMU from using KVM private slots.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5734 c046a42c-6fe2-441c-8c8c-71466251a162
1 file changed
tree: d2c76afc947d8f06b174d91e7446e54045a22878
  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. block-bochs.c
  33. block-cloop.c
  34. block-cow.c
  35. block-dmg.c
  36. block-nbd.c
  37. block-parallels.c
  38. block-qcow.c
  39. block-qcow2.c
  40. block-raw-posix.c
  41. block-raw-win32.c
  42. block-vmdk.c
  43. block-vpc.c
  44. block-vvfat.c
  45. block.c
  46. block.h
  47. block_int.h
  48. bswap.h
  49. bt-host.c
  50. bt-vhci.c
  51. buffered_file.c
  52. buffered_file.h
  53. Changelog
  54. check_ops.sh
  55. cocoa.m
  56. configure
  57. console.c
  58. console.h
  59. COPYING
  60. COPYING.LIB
  61. cpu-all.h
  62. cpu-defs.h
  63. cpu-exec.c
  64. cris-dis.c
  65. curses.c
  66. curses_keys.h
  67. cutils.c
  68. d3des.c
  69. d3des.h
  70. def-helper.h
  71. dis-asm.h
  72. disas.c
  73. disas.h
  74. dyngen-exec.h
  75. dyngen.c
  76. elf.h
  77. elf_ops.h
  78. exec-all.h
  79. exec.c
  80. feature_to_c.sh
  81. gdbstub.c
  82. gdbstub.h
  83. gen-icount.h
  84. host-utils.c
  85. host-utils.h
  86. hostregs_helper.h
  87. hpet.h
  88. hppa-dis.c
  89. hppa.ld
  90. i386-dis.c
  91. i386.ld
  92. ia64.ld
  93. keymaps.c
  94. kqemu.c
  95. kqemu.h
  96. kvm-all.c
  97. kvm.h
  98. LICENSE
  99. loader.c
  100. m68k-dis.c
  101. m68k-semi.c
  102. m68k.ld
  103. MAINTAINERS
  104. Makefile
  105. Makefile.target
  106. migration-exec.c
  107. migration-tcp.c
  108. migration.c
  109. migration.h
  110. mips-dis.c
  111. mips.ld
  112. mipsel.ld
  113. monitor.c
  114. nbd.c
  115. nbd.h
  116. net-checksum.c
  117. net.c
  118. net.h
  119. osdep.c
  120. osdep.h
  121. ppc-dis.c
  122. ppc.ld
  123. ppc64.ld
  124. qemu-aio.h
  125. qemu-binfmt-conf.sh
  126. qemu-char.c
  127. qemu-char.h
  128. qemu-common.h
  129. qemu-doc.texi
  130. qemu-img.c
  131. qemu-img.texi
  132. qemu-lock.h
  133. qemu-log.h
  134. qemu-malloc.c
  135. qemu-nbd.c
  136. qemu-nbd.texi
  137. qemu-sockets.c
  138. qemu-tech.texi
  139. qemu-timer.h
  140. qemu-tool.c
  141. qemu_socket.h
  142. readline.c
  143. README
  144. s390-dis.c
  145. s390.ld
  146. savevm.c
  147. sdl.c
  148. sdl_keysym.h
  149. sh4-dis.c
  150. softmmu-semi.h
  151. softmmu_defs.h
  152. softmmu_exec.h
  153. softmmu_header.h
  154. softmmu_template.h
  155. sparc-dis.c
  156. sparc.ld
  157. sparc64.ld
  158. sys-queue.h
  159. sysemu.h
  160. tap-win32.c
  161. texi2pod.pl
  162. thunk.c
  163. thunk.h
  164. TODO
  165. translate-all.c
  166. uboot_image.h
  167. usb-linux.c
  168. VERSION
  169. vgafont.h
  170. vl.c
  171. vnc.c
  172. vnc_keysym.h
  173. vnchextile.h
  174. x86_64.ld
  175. x_keymap.c