linux-user: Safety belt for h2g

h2g can only work on 64-bit hosts if the provided address is mappable to
the guest range. Neglecting this was already the source for several
bugs. Instrument the macro so that it will trigger earlier in the
future (at least as long as we have this kind of mapping mechanism).

Based on a patch from Jan Kiszka <jan.kiszka@web.de>

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5955 c046a42c-6fe2-441c-8c8c-71466251a162
1 file changed
tree: 603405110e2886b4a64c8e3fecfc884d893e9254
  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. Changelog
  55. check_ops.sh
  56. cocoa.m
  57. configure
  58. console.c
  59. console.h
  60. COPYING
  61. COPYING.LIB
  62. cpu-all.h
  63. cpu-defs.h
  64. cpu-exec.c
  65. cris-dis.c
  66. curses.c
  67. curses_keys.h
  68. cutils.c
  69. d3des.c
  70. d3des.h
  71. def-helper.h
  72. dis-asm.h
  73. disas.c
  74. disas.h
  75. dyngen-exec.h
  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-bsd.c
  168. usb-linux.c
  169. usb-stub.c
  170. VERSION
  171. vgafont.h
  172. vl.c
  173. vnc.c
  174. vnc_keysym.h
  175. vnchextile.h
  176. x86_64.ld
  177. x_keymap.c