Refactor target specific handling, compile vl.c only once

Move target specific functions and RAM handling to arch_init.c.

Add a flag to QEMUOptions structure to indicate for which
architectures the option is allowed, check the flag
in run time and remove conditional code in option handling.

Now that no target dependencies remain, compile vl.c only once
for all targets.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
7 files changed
tree: 0f1403fdf30208dfefdc3bf45189c98d530cf6a9
  1. audio/
  2. block/
  3. bsd-user/
  4. darwin-user/
  5. default-configs/
  6. docs/
  7. fpu/
  8. gdb-xml/
  9. hw/
  10. linux-user/
  11. net/
  12. pc-bios/
  13. QMP/
  14. roms/
  15. slirp/
  16. sysconfigs/
  17. target-alpha/
  18. target-arm/
  19. target-cris/
  20. target-i386/
  21. target-m68k/
  22. target-microblaze/
  23. target-mips/
  24. target-ppc/
  25. target-s390x/
  26. target-sh4/
  27. target-sparc/
  28. tcg/
  29. tests/
  30. .gitignore
  31. .gitmodules
  32. a.out.h
  33. acl.c
  34. acl.h
  35. aes.c
  36. aes.h
  37. aio.c
  38. alpha-dis.c
  39. alpha.ld
  40. arch_init.c
  41. arch_init.h
  42. arm-dis.c
  43. arm-semi.c
  44. arm.ld
  45. async.c
  46. balloon.h
  47. block-migration.c
  48. block-migration.h
  49. block.c
  50. block.h
  51. block_int.h
  52. bswap.h
  53. bt-host.c
  54. bt-host.h
  55. bt-vhci.c
  56. buffered_file.c
  57. buffered_file.h
  58. cache-utils.c
  59. cache-utils.h
  60. Changelog
  61. check-qdict.c
  62. check-qfloat.c
  63. check-qint.c
  64. check-qjson.c
  65. check-qlist.c
  66. check-qstring.c
  67. cmd.c
  68. cmd.h
  69. cocoa.m
  70. CODING_STYLE
  71. config.h
  72. configure
  73. console.c
  74. console.h
  75. COPYING
  76. COPYING.LIB
  77. cpu-all.h
  78. cpu-common.h
  79. cpu-defs.h
  80. cpu-exec.c
  81. cpus.c
  82. cpus.h
  83. create_config
  84. cris-dis.c
  85. curses.c
  86. curses_keys.h
  87. cutils.c
  88. d3des.c
  89. d3des.h
  90. def-helper.h
  91. device_tree.c
  92. device_tree.h
  93. dis-asm.h
  94. disas.c
  95. disas.h
  96. dma-helpers.c
  97. dma.h
  98. dyngen-exec.h
  99. elf.h
  100. envlist.c
  101. envlist.h
  102. exec-all.h
  103. exec.c
  104. feature_to_c.sh
  105. gdbstub.c
  106. gdbstub.h
  107. gen-icount.h
  108. host-utils.c
  109. host-utils.h
  110. hpet.h
  111. hppa-dis.c
  112. hppa.ld
  113. hxtool
  114. i386-dis.c
  115. i386.ld
  116. ia64.ld
  117. input.c
  118. ioport-user.c
  119. ioport.c
  120. ioport.h
  121. json-lexer.c
  122. json-lexer.h
  123. json-parser.c
  124. json-parser.h
  125. json-streamer.c
  126. json-streamer.h
  127. keymaps.c
  128. keymaps.h
  129. kvm-all.c
  130. kvm.h
  131. libfdt_env.h
  132. LICENSE
  133. linux-aio.c
  134. m68k-dis.c
  135. m68k-semi.c
  136. m68k.ld
  137. MAINTAINERS
  138. Makefile
  139. Makefile.dis
  140. Makefile.hw
  141. Makefile.objs
  142. Makefile.target
  143. Makefile.user
  144. microblaze-dis.c
  145. migration-exec.c
  146. migration-fd.c
  147. migration-tcp.c
  148. migration-unix.c
  149. migration.c
  150. migration.h
  151. mips-dis.c
  152. mips.ld
  153. module.c
  154. module.h
  155. monitor.c
  156. monitor.h
  157. nbd.c
  158. nbd.h
  159. net-checksum.c
  160. net.c
  161. net.h
  162. notify.c
  163. notify.h
  164. osdep.c
  165. osdep.h
  166. path.c
  167. pci-ids.txt
  168. posix-aio-compat.c
  169. ppc-dis.c
  170. ppc.ld
  171. ppc64.ld
  172. qbool.c
  173. qbool.h
  174. qdict-test-data.txt
  175. qdict.c
  176. qdict.h
  177. qemu-aio.h
  178. qemu-barrier.h
  179. qemu-binfmt-conf.sh
  180. qemu-char.c
  181. qemu-char.h
  182. qemu-common.h
  183. qemu-config.c
  184. qemu-config.h
  185. qemu-doc.texi
  186. qemu-error.c
  187. qemu-error.h
  188. qemu-img-cmds.hx
  189. qemu-img.c
  190. qemu-img.texi
  191. qemu-io.c
  192. qemu-lock.h
  193. qemu-log.h
  194. qemu-malloc.c
  195. qemu-monitor.hx
  196. qemu-nbd.c
  197. qemu-nbd.texi
  198. qemu-objects.h
  199. qemu-option.c
  200. qemu-option.h
  201. qemu-options.hx
  202. qemu-queue.h
  203. qemu-sockets.c
  204. qemu-tech.texi
  205. qemu-thread.c
  206. qemu-thread.h
  207. qemu-timer.c
  208. qemu-timer.h
  209. qemu-tool.c
  210. qemu-x509.h
  211. qemu.sasl
  212. qemu_socket.h
  213. qerror.c
  214. qerror.h
  215. qfloat.c
  216. qfloat.h
  217. qint.c
  218. qint.h
  219. qjson.c
  220. qjson.h
  221. qlist.c
  222. qlist.h
  223. qobject.h
  224. qstring.c
  225. qstring.h
  226. readline.c
  227. readline.h
  228. README
  229. rules.mak
  230. rwhandler.c
  231. rwhandler.h
  232. s390-dis.c
  233. s390.ld
  234. savevm.c
  235. sdl.c
  236. sdl_keysym.h
  237. sdl_zoom.c
  238. sdl_zoom.h
  239. sdl_zoom_template.h
  240. sh4-dis.c
  241. softmmu-semi.h
  242. softmmu_defs.h
  243. softmmu_exec.h
  244. softmmu_header.h
  245. softmmu_template.h
  246. sparc-dis.c
  247. sparc.ld
  248. sparc64.ld
  249. sysemu.h
  250. targphys.h
  251. tcg-runtime.c
  252. texi2pod.pl
  253. thunk.c
  254. thunk.h
  255. TODO
  256. translate-all.c
  257. uboot_image.h
  258. usb-bsd.c
  259. usb-linux.c
  260. usb-stub.c
  261. VERSION
  262. vgafont.h
  263. vl.c
  264. vnc-auth-sasl.c
  265. vnc-auth-sasl.h
  266. vnc-auth-vencrypt.c
  267. vnc-auth-vencrypt.h
  268. vnc-tls.c
  269. vnc-tls.h
  270. vnc.c
  271. vnc.h
  272. vnc_keysym.h
  273. vnchextile.h
  274. x86_64.ld
  275. x_keymap.c
  276. x_keymap.h