net: remove broken net_set_boot_mask() boot device validation

There are many problems with net_set_boot_mask():

1) It is broken when using the device model instead of "-net nic". Example:
   $ qemu-system-x86_64 -device rtl8139,vlan=0,id=net0,mac=52:54:00:82:41:fd,bus=pci.0,addr=0x4 -net user,vlan=0,name=hostnet0 -vnc 0.0.0.0:0 -boot n
   Cannot boot from non-existent NIC
   $
2) The mask was previously used to set which boot ROMs were supposed to be
   loaded, but this was changed long time ago. Now all ROM images are loaded,
   and SeaBIOS takes care of jumping to the right boot entry point depending on
   the boot settings.
3) Interpretation and validation of the boot parameter letters is done on
   the machine type code. Examples: PC accepts only a,b,c,d,n as valid boot
   device letters. mac99 accepts only a,b,c,d,e,f.

As a side-effect of this change, qemu-kvm won't abort anymore if using "-boot n"
on a machine with no network devices. Checking if the requested boot device is
valid is now a task for the BIOS or the machine-type code.

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