v86 0.3.7 → 0.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/Readme.md +64 -108
  2. package/build/libv86-debug.js +12677 -0
  3. package/build/libv86-debug.mjs +732 -0
  4. package/build/libv86.js +710 -0
  5. package/build/libv86.mjs +636 -0
  6. package/build/v86-debug.wasm +0 -0
  7. package/build/v86-fallback.wasm +0 -0
  8. package/build/v86.wasm +0 -0
  9. package/package.json +12 -35
  10. package/bios/.gitignore +0 -1
  11. package/bios/COPYING.LESSER +0 -165
  12. package/bios/bochs-bios.bin +0 -0
  13. package/bios/bochs-vgabios.bin +0 -0
  14. package/bios/fetch-and-build-seabios.sh +0 -13
  15. package/bios/seabios/.config +0 -113
  16. package/bios/seabios/.config.old +0 -114
  17. package/bios/seabios/.gitignore +0 -4
  18. package/bios/seabios/COPYING +0 -674
  19. package/bios/seabios/COPYING.LESSER +0 -165
  20. package/bios/seabios/Makefile +0 -286
  21. package/bios/seabios/README +0 -17
  22. package/bios/seabios/docs/Build_overview.md +0 -104
  23. package/bios/seabios/docs/Contributing.md +0 -20
  24. package/bios/seabios/docs/Debugging.md +0 -111
  25. package/bios/seabios/docs/Developer_Documentation.md +0 -25
  26. package/bios/seabios/docs/Developer_links.md +0 -86
  27. package/bios/seabios/docs/Download.md +0 -27
  28. package/bios/seabios/docs/Execution_and_code_flow.md +0 -178
  29. package/bios/seabios/docs/Linking_overview.md +0 -160
  30. package/bios/seabios/docs/Mailinglist.md +0 -8
  31. package/bios/seabios/docs/Memory_Model.md +0 -253
  32. package/bios/seabios/docs/README +0 -5
  33. package/bios/seabios/docs/Releases.md +0 -482
  34. package/bios/seabios/docs/Runtime_config.md +0 -193
  35. package/bios/seabios/docs/SeaBIOS.md +0 -17
  36. package/bios/seabios/docs/SeaVGABIOS.md +0 -39
  37. package/bios/seabios/out/autoconf.h +0 -117
  38. package/bios/seabios/out/include/config/acpi/dsdt.h +0 -0
  39. package/bios/seabios/out/include/config/acpi.h +0 -0
  40. package/bios/seabios/out/include/config/ahci.h +0 -0
  41. package/bios/seabios/out/include/config/apmbios.h +0 -0
  42. package/bios/seabios/out/include/config/ata/dma.h +0 -0
  43. package/bios/seabios/out/include/config/ata/pio32.h +0 -0
  44. package/bios/seabios/out/include/config/ata.h +0 -0
  45. package/bios/seabios/out/include/config/auto.conf +0 -69
  46. package/bios/seabios/out/include/config/auto.conf.cmd +0 -9
  47. package/bios/seabios/out/include/config/boot.h +0 -0
  48. package/bios/seabios/out/include/config/bootorder.h +0 -0
  49. package/bios/seabios/out/include/config/build/vgabios.h +0 -0
  50. package/bios/seabios/out/include/config/call32/smm.h +0 -0
  51. package/bios/seabios/out/include/config/cdrom/boot.h +0 -0
  52. package/bios/seabios/out/include/config/cdrom/emu.h +0 -0
  53. package/bios/seabios/out/include/config/debug/level.h +0 -0
  54. package/bios/seabios/out/include/config/drives.h +0 -0
  55. package/bios/seabios/out/include/config/entry/extrastack.h +0 -0
  56. package/bios/seabios/out/include/config/esp/scsi.h +0 -0
  57. package/bios/seabios/out/include/config/flash/floppy.h +0 -0
  58. package/bios/seabios/out/include/config/floppy.h +0 -0
  59. package/bios/seabios/out/include/config/fw/romfile/load.h +0 -0
  60. package/bios/seabios/out/include/config/hardware/irq.h +0 -0
  61. package/bios/seabios/out/include/config/kbd/call/int15/4f.h +0 -0
  62. package/bios/seabios/out/include/config/keyboard.h +0 -0
  63. package/bios/seabios/out/include/config/lpt.h +0 -0
  64. package/bios/seabios/out/include/config/lsi/scsi.h +0 -0
  65. package/bios/seabios/out/include/config/malloc/uppermemory.h +0 -0
  66. package/bios/seabios/out/include/config/megasas.h +0 -0
  67. package/bios/seabios/out/include/config/mouse.h +0 -0
  68. package/bios/seabios/out/include/config/mpt/scsi.h +0 -0
  69. package/bios/seabios/out/include/config/mptable.h +0 -0
  70. package/bios/seabios/out/include/config/mtrr/init.h +0 -0
  71. package/bios/seabios/out/include/config/optionroms.h +0 -0
  72. package/bios/seabios/out/include/config/override/pci/id.h +0 -0
  73. package/bios/seabios/out/include/config/pcibios.h +0 -0
  74. package/bios/seabios/out/include/config/pirtable.h +0 -0
  75. package/bios/seabios/out/include/config/pmm.h +0 -0
  76. package/bios/seabios/out/include/config/pmtimer.h +0 -0
  77. package/bios/seabios/out/include/config/pnpbios.h +0 -0
  78. package/bios/seabios/out/include/config/ps2port.h +0 -0
  79. package/bios/seabios/out/include/config/pvscsi.h +0 -0
  80. package/bios/seabios/out/include/config/qemu/hardware.h +0 -0
  81. package/bios/seabios/out/include/config/qemu.h +0 -0
  82. package/bios/seabios/out/include/config/rom/size.h +0 -0
  83. package/bios/seabios/out/include/config/rtc/timer.h +0 -0
  84. package/bios/seabios/out/include/config/s3/resume.h +0 -0
  85. package/bios/seabios/out/include/config/sdcard.h +0 -0
  86. package/bios/seabios/out/include/config/serial.h +0 -0
  87. package/bios/seabios/out/include/config/tcgbios.h +0 -0
  88. package/bios/seabios/out/include/config/threads.h +0 -0
  89. package/bios/seabios/out/include/config/tristate.conf +0 -4
  90. package/bios/seabios/out/include/config/tsc/timer.h +0 -0
  91. package/bios/seabios/out/include/config/use/smm.h +0 -0
  92. package/bios/seabios/out/include/config/vga/allocate/extra/stack.h +0 -0
  93. package/bios/seabios/out/include/config/vga/bochs/stdvga.h +0 -0
  94. package/bios/seabios/out/include/config/vga/bochs.h +0 -0
  95. package/bios/seabios/out/include/config/vga/did.h +0 -0
  96. package/bios/seabios/out/include/config/vga/extra/stack/size.h +0 -0
  97. package/bios/seabios/out/include/config/vga/fixup/asm.h +0 -0
  98. package/bios/seabios/out/include/config/vga/pci.h +0 -0
  99. package/bios/seabios/out/include/config/vga/stdvga/ports.h +0 -0
  100. package/bios/seabios/out/include/config/vga/vbe.h +0 -0
  101. package/bios/seabios/out/include/config/vga/vid.h +0 -0
  102. package/bios/seabios/out/include/config/vgahooks.h +0 -0
  103. package/bios/seabios/out/include/config/virtio/blk.h +0 -0
  104. package/bios/seabios/out/include/config/virtio/scsi.h +0 -0
  105. package/bios/seabios/out/include/config/xen.h +0 -0
  106. package/bios/seabios/out/scripts/kconfig/conf +0 -0
  107. package/bios/seabios/out/scripts/kconfig/conf.o +0 -0
  108. package/bios/seabios/out/scripts/kconfig/zconf.hash.c +0 -289
  109. package/bios/seabios/out/scripts/kconfig/zconf.lex.c +0 -2420
  110. package/bios/seabios/out/scripts/kconfig/zconf.tab.c +0 -2538
  111. package/bios/seabios/out/scripts/kconfig/zconf.tab.o +0 -0
  112. package/bios/seabios/scripts/acpi_extract.py +0 -366
  113. package/bios/seabios/scripts/acpi_extract_preprocess.py +0 -41
  114. package/bios/seabios/scripts/buildrom.py +0 -56
  115. package/bios/seabios/scripts/buildversion.py +0 -134
  116. package/bios/seabios/scripts/checkrom.py +0 -95
  117. package/bios/seabios/scripts/checkstack.py +0 -226
  118. package/bios/seabios/scripts/checksum.py +0 -16
  119. package/bios/seabios/scripts/encodeint.py +0 -21
  120. package/bios/seabios/scripts/gen-offsets.sh +0 -17
  121. package/bios/seabios/scripts/kconfig/.gitignore +0 -22
  122. package/bios/seabios/scripts/kconfig/Makefile +0 -331
  123. package/bios/seabios/scripts/kconfig/POTFILES.in +0 -12
  124. package/bios/seabios/scripts/kconfig/check.sh +0 -13
  125. package/bios/seabios/scripts/kconfig/conf.c +0 -718
  126. package/bios/seabios/scripts/kconfig/confdata.c +0 -1250
  127. package/bios/seabios/scripts/kconfig/expr.c +0 -1168
  128. package/bios/seabios/scripts/kconfig/expr.h +0 -241
  129. package/bios/seabios/scripts/kconfig/gconf.c +0 -1542
  130. package/bios/seabios/scripts/kconfig/gconf.glade +0 -661
  131. package/bios/seabios/scripts/kconfig/images.c +0 -326
  132. package/bios/seabios/scripts/kconfig/kxgettext.c +0 -235
  133. package/bios/seabios/scripts/kconfig/lex.zconf.c +0 -2430
  134. package/bios/seabios/scripts/kconfig/list.h +0 -131
  135. package/bios/seabios/scripts/kconfig/lkc.h +0 -200
  136. package/bios/seabios/scripts/kconfig/lkc_proto.h +0 -57
  137. package/bios/seabios/scripts/kconfig/lxdialog/.gitignore +0 -4
  138. package/bios/seabios/scripts/kconfig/lxdialog/BIG.FAT.WARNING +0 -4
  139. package/bios/seabios/scripts/kconfig/lxdialog/check-lxdialog.sh +0 -87
  140. package/bios/seabios/scripts/kconfig/lxdialog/checklist.c +0 -332
  141. package/bios/seabios/scripts/kconfig/lxdialog/dialog.h +0 -257
  142. package/bios/seabios/scripts/kconfig/lxdialog/inputbox.c +0 -301
  143. package/bios/seabios/scripts/kconfig/lxdialog/menubox.c +0 -437
  144. package/bios/seabios/scripts/kconfig/lxdialog/textbox.c +0 -408
  145. package/bios/seabios/scripts/kconfig/lxdialog/util.c +0 -713
  146. package/bios/seabios/scripts/kconfig/lxdialog/yesno.c +0 -114
  147. package/bios/seabios/scripts/kconfig/mconf.c +0 -1036
  148. package/bios/seabios/scripts/kconfig/menu.c +0 -697
  149. package/bios/seabios/scripts/kconfig/merge_config.sh +0 -150
  150. package/bios/seabios/scripts/kconfig/nconf.c +0 -1556
  151. package/bios/seabios/scripts/kconfig/nconf.gui.c +0 -656
  152. package/bios/seabios/scripts/kconfig/nconf.h +0 -96
  153. package/bios/seabios/scripts/kconfig/qconf.cc +0 -1795
  154. package/bios/seabios/scripts/kconfig/qconf.h +0 -338
  155. package/bios/seabios/scripts/kconfig/streamline_config.pl +0 -647
  156. package/bios/seabios/scripts/kconfig/symbol.c +0 -1373
  157. package/bios/seabios/scripts/kconfig/util.c +0 -157
  158. package/bios/seabios/scripts/kconfig/zconf.gperf +0 -48
  159. package/bios/seabios/scripts/kconfig/zconf.hash.c_shipped +0 -289
  160. package/bios/seabios/scripts/kconfig/zconf.l +0 -363
  161. package/bios/seabios/scripts/kconfig/zconf.lex.c_shipped +0 -2420
  162. package/bios/seabios/scripts/kconfig/zconf.tab.c_shipped +0 -2538
  163. package/bios/seabios/scripts/kconfig/zconf.y +0 -733
  164. package/bios/seabios/scripts/layoutrom.py +0 -705
  165. package/bios/seabios/scripts/python23compat.py +0 -14
  166. package/bios/seabios/scripts/readserial.py +0 -190
  167. package/bios/seabios/scripts/tarball.sh +0 -36
  168. package/bios/seabios/scripts/test-build.sh +0 -90
  169. package/bios/seabios/scripts/transdump.py +0 -53
  170. package/bios/seabios/scripts/vgafixup.py +0 -96
  171. package/bios/seabios/src/Kconfig +0 -579
  172. package/bios/seabios/src/apm.c +0 -215
  173. package/bios/seabios/src/asm-offsets.c +0 -23
  174. package/bios/seabios/src/biosvar.h +0 -130
  175. package/bios/seabios/src/block.c +0 -623
  176. package/bios/seabios/src/block.h +0 -121
  177. package/bios/seabios/src/bmp.c +0 -117
  178. package/bios/seabios/src/boot.c +0 -793
  179. package/bios/seabios/src/bootsplash.c +0 -255
  180. package/bios/seabios/src/bregs.h +0 -80
  181. package/bios/seabios/src/byteorder.h +0 -71
  182. package/bios/seabios/src/cdrom.c +0 -322
  183. package/bios/seabios/src/clock.c +0 -506
  184. package/bios/seabios/src/code16gcc.s +0 -1
  185. package/bios/seabios/src/config.h +0 -108
  186. package/bios/seabios/src/cp437.c +0 -275
  187. package/bios/seabios/src/cp437.h +0 -1
  188. package/bios/seabios/src/disk.c +0 -779
  189. package/bios/seabios/src/e820map.c +0 -152
  190. package/bios/seabios/src/e820map.h +0 -26
  191. package/bios/seabios/src/entryfuncs.S +0 -165
  192. package/bios/seabios/src/farptr.h +0 -208
  193. package/bios/seabios/src/font.c +0 -139
  194. package/bios/seabios/src/fw/acpi-dsdt-cpu-hotplug.dsl +0 -78
  195. package/bios/seabios/src/fw/acpi-dsdt-dbug.dsl +0 -26
  196. package/bios/seabios/src/fw/acpi-dsdt-hpet.dsl +0 -36
  197. package/bios/seabios/src/fw/acpi-dsdt-isa.dsl +0 -102
  198. package/bios/seabios/src/fw/acpi-dsdt-pci-crs.dsl +0 -90
  199. package/bios/seabios/src/fw/acpi-dsdt.dsl +0 -342
  200. package/bios/seabios/src/fw/acpi-dsdt.hex +0 -554
  201. package/bios/seabios/src/fw/acpi.c +0 -685
  202. package/bios/seabios/src/fw/biostables.c +0 -491
  203. package/bios/seabios/src/fw/coreboot.c +0 -569
  204. package/bios/seabios/src/fw/csm.c +0 -347
  205. package/bios/seabios/src/fw/dev-pci.h +0 -52
  206. package/bios/seabios/src/fw/dev-piix.h +0 -29
  207. package/bios/seabios/src/fw/dev-q35.h +0 -52
  208. package/bios/seabios/src/fw/lzmadecode.c +0 -398
  209. package/bios/seabios/src/fw/lzmadecode.h +0 -67
  210. package/bios/seabios/src/fw/mptable.c +0 -197
  211. package/bios/seabios/src/fw/mtrr.c +0 -105
  212. package/bios/seabios/src/fw/multiboot.c +0 -111
  213. package/bios/seabios/src/fw/paravirt.c +0 -624
  214. package/bios/seabios/src/fw/paravirt.h +0 -63
  215. package/bios/seabios/src/fw/pciinit.c +0 -1187
  216. package/bios/seabios/src/fw/pirtable.c +0 -103
  217. package/bios/seabios/src/fw/q35-acpi-dsdt.dsl +0 -450
  218. package/bios/seabios/src/fw/romfile_loader.c +0 -259
  219. package/bios/seabios/src/fw/romfile_loader.h +0 -91
  220. package/bios/seabios/src/fw/shadow.c +0 -208
  221. package/bios/seabios/src/fw/smbios.c +0 -585
  222. package/bios/seabios/src/fw/smm.c +0 -269
  223. package/bios/seabios/src/fw/smp.c +0 -194
  224. package/bios/seabios/src/fw/ssdt-misc.dsl +0 -104
  225. package/bios/seabios/src/fw/ssdt-misc.hex +0 -88
  226. package/bios/seabios/src/fw/ssdt-pcihp.dsl +0 -36
  227. package/bios/seabios/src/fw/ssdt-pcihp.hex +0 -38
  228. package/bios/seabios/src/fw/ssdt-proc.dsl +0 -48
  229. package/bios/seabios/src/fw/ssdt-proc.hex +0 -35
  230. package/bios/seabios/src/fw/xen.c +0 -149
  231. package/bios/seabios/src/fw/xen.h +0 -125
  232. package/bios/seabios/src/gen-defs.h +0 -19
  233. package/bios/seabios/src/hw/ahci.c +0 -697
  234. package/bios/seabios/src/hw/ahci.h +0 -201
  235. package/bios/seabios/src/hw/ata.c +0 -1046
  236. package/bios/seabios/src/hw/ata.h +0 -163
  237. package/bios/seabios/src/hw/blockcmd.c +0 -372
  238. package/bios/seabios/src/hw/blockcmd.h +0 -114
  239. package/bios/seabios/src/hw/dma.c +0 -67
  240. package/bios/seabios/src/hw/esp-scsi.c +0 -241
  241. package/bios/seabios/src/hw/esp-scsi.h +0 -8
  242. package/bios/seabios/src/hw/floppy.c +0 -741
  243. package/bios/seabios/src/hw/lsi-scsi.c +0 -221
  244. package/bios/seabios/src/hw/lsi-scsi.h +0 -8
  245. package/bios/seabios/src/hw/megasas.c +0 -405
  246. package/bios/seabios/src/hw/megasas.h +0 -8
  247. package/bios/seabios/src/hw/mpt-scsi.c +0 -319
  248. package/bios/seabios/src/hw/mpt-scsi.h +0 -8
  249. package/bios/seabios/src/hw/nvme-int.h +0 -199
  250. package/bios/seabios/src/hw/nvme.c +0 -708
  251. package/bios/seabios/src/hw/nvme.h +0 -17
  252. package/bios/seabios/src/hw/pci.c +0 -133
  253. package/bios/seabios/src/hw/pci.h +0 -47
  254. package/bios/seabios/src/hw/pci_ids.h +0 -2632
  255. package/bios/seabios/src/hw/pci_regs.h +0 -556
  256. package/bios/seabios/src/hw/pcidevice.c +0 -192
  257. package/bios/seabios/src/hw/pcidevice.h +0 -76
  258. package/bios/seabios/src/hw/pic.c +0 -115
  259. package/bios/seabios/src/hw/pic.h +0 -60
  260. package/bios/seabios/src/hw/ps2port.c +0 -543
  261. package/bios/seabios/src/hw/ps2port.h +0 -67
  262. package/bios/seabios/src/hw/pvscsi.c +0 -333
  263. package/bios/seabios/src/hw/pvscsi.h +0 -8
  264. package/bios/seabios/src/hw/ramdisk.c +0 -108
  265. package/bios/seabios/src/hw/rtc.c +0 -100
  266. package/bios/seabios/src/hw/rtc.h +0 -75
  267. package/bios/seabios/src/hw/sdcard.c +0 -572
  268. package/bios/seabios/src/hw/serialio.c +0 -113
  269. package/bios/seabios/src/hw/serialio.h +0 -29
  270. package/bios/seabios/src/hw/timer.c +0 -259
  271. package/bios/seabios/src/hw/tpm_drivers.c +0 -636
  272. package/bios/seabios/src/hw/tpm_drivers.h +0 -127
  273. package/bios/seabios/src/hw/usb-ehci.c +0 -650
  274. package/bios/seabios/src/hw/usb-ehci.h +0 -177
  275. package/bios/seabios/src/hw/usb-hid.c +0 -442
  276. package/bios/seabios/src/hw/usb-hid.h +0 -29
  277. package/bios/seabios/src/hw/usb-hub.c +0 -205
  278. package/bios/seabios/src/hw/usb-hub.h +0 -64
  279. package/bios/seabios/src/hw/usb-msc.c +0 -222
  280. package/bios/seabios/src/hw/usb-msc.h +0 -10
  281. package/bios/seabios/src/hw/usb-ohci.c +0 -568
  282. package/bios/seabios/src/hw/usb-ohci.h +0 -144
  283. package/bios/seabios/src/hw/usb-uas.c +0 -289
  284. package/bios/seabios/src/hw/usb-uas.h +0 -9
  285. package/bios/seabios/src/hw/usb-uhci.c +0 -571
  286. package/bios/seabios/src/hw/usb-uhci.h +0 -128
  287. package/bios/seabios/src/hw/usb-xhci.c +0 -1161
  288. package/bios/seabios/src/hw/usb-xhci.h +0 -133
  289. package/bios/seabios/src/hw/usb.c +0 -499
  290. package/bios/seabios/src/hw/usb.h +0 -254
  291. package/bios/seabios/src/hw/virtio-blk.c +0 -211
  292. package/bios/seabios/src/hw/virtio-blk.h +0 -43
  293. package/bios/seabios/src/hw/virtio-pci.c +0 -501
  294. package/bios/seabios/src/hw/virtio-pci.h +0 -151
  295. package/bios/seabios/src/hw/virtio-ring.c +0 -147
  296. package/bios/seabios/src/hw/virtio-ring.h +0 -121
  297. package/bios/seabios/src/hw/virtio-scsi.c +0 -220
  298. package/bios/seabios/src/hw/virtio-scsi.h +0 -47
  299. package/bios/seabios/src/jpeg.c +0 -1055
  300. package/bios/seabios/src/kbd.c +0 -599
  301. package/bios/seabios/src/list.h +0 -91
  302. package/bios/seabios/src/malloc.c +0 -561
  303. package/bios/seabios/src/malloc.h +0 -70
  304. package/bios/seabios/src/memmap.h +0 -21
  305. package/bios/seabios/src/misc.c +0 -195
  306. package/bios/seabios/src/mouse.c +0 -342
  307. package/bios/seabios/src/optionroms.c +0 -475
  308. package/bios/seabios/src/output.c +0 -584
  309. package/bios/seabios/src/output.h +0 -68
  310. package/bios/seabios/src/pcibios.c +0 -241
  311. package/bios/seabios/src/pmm.c +0 -176
  312. package/bios/seabios/src/pnpbios.c +0 -88
  313. package/bios/seabios/src/post.c +0 -337
  314. package/bios/seabios/src/resume.c +0 -157
  315. package/bios/seabios/src/romfile.c +0 -146
  316. package/bios/seabios/src/romfile.h +0 -21
  317. package/bios/seabios/src/romlayout.S +0 -698
  318. package/bios/seabios/src/sercon.c +0 -677
  319. package/bios/seabios/src/serial.c +0 -317
  320. package/bios/seabios/src/sha1.c +0 -147
  321. package/bios/seabios/src/sha1.h +0 -8
  322. package/bios/seabios/src/stacks.c +0 -771
  323. package/bios/seabios/src/stacks.h +0 -68
  324. package/bios/seabios/src/std/LegacyBios.h +0 -985
  325. package/bios/seabios/src/std/acpi.h +0 -323
  326. package/bios/seabios/src/std/bda.h +0 -174
  327. package/bios/seabios/src/std/disk.h +0 -175
  328. package/bios/seabios/src/std/mptable.h +0 -77
  329. package/bios/seabios/src/std/multiboot.h +0 -260
  330. package/bios/seabios/src/std/optionrom.h +0 -59
  331. package/bios/seabios/src/std/pirtable.h +0 -35
  332. package/bios/seabios/src/std/pmm.h +0 -19
  333. package/bios/seabios/src/std/pnpbios.h +0 -24
  334. package/bios/seabios/src/std/smbios.h +0 -167
  335. package/bios/seabios/src/std/tcg.h +0 -554
  336. package/bios/seabios/src/std/vbe.h +0 -156
  337. package/bios/seabios/src/std/vga.h +0 -63
  338. package/bios/seabios/src/string.c +0 -251
  339. package/bios/seabios/src/string.h +0 -31
  340. package/bios/seabios/src/system.c +0 -357
  341. package/bios/seabios/src/tcgbios.c +0 -2014
  342. package/bios/seabios/src/tcgbios.h +0 -19
  343. package/bios/seabios/src/types.h +0 -156
  344. package/bios/seabios/src/util.h +0 -251
  345. package/bios/seabios/src/version.c +0 -5
  346. package/bios/seabios/src/vgahooks.c +0 -355
  347. package/bios/seabios/src/x86.c +0 -23
  348. package/bios/seabios/src/x86.h +0 -277
  349. package/bios/seabios/vgasrc/Kconfig +0 -211
  350. package/bios/seabios/vgasrc/bochsdisplay.c +0 -59
  351. package/bios/seabios/vgasrc/bochsvga.c +0 -447
  352. package/bios/seabios/vgasrc/bochsvga.h +0 -57
  353. package/bios/seabios/vgasrc/cbvga.c +0 -337
  354. package/bios/seabios/vgasrc/clext.c +0 -627
  355. package/bios/seabios/vgasrc/geodevga.c +0 -434
  356. package/bios/seabios/vgasrc/geodevga.h +0 -89
  357. package/bios/seabios/vgasrc/ramfb.c +0 -163
  358. package/bios/seabios/vgasrc/stdvga.c +0 -485
  359. package/bios/seabios/vgasrc/stdvga.h +0 -81
  360. package/bios/seabios/vgasrc/stdvgaio.c +0 -186
  361. package/bios/seabios/vgasrc/stdvgamodes.c +0 -534
  362. package/bios/seabios/vgasrc/swcursor.c +0 -96
  363. package/bios/seabios/vgasrc/vbe.c +0 -432
  364. package/bios/seabios/vgasrc/vgabios.c +0 -1131
  365. package/bios/seabios/vgasrc/vgabios.h +0 -88
  366. package/bios/seabios/vgasrc/vgaentry.S +0 -161
  367. package/bios/seabios/vgasrc/vgafb.c +0 -661
  368. package/bios/seabios/vgasrc/vgafb.h +0 -42
  369. package/bios/seabios/vgasrc/vgafonts.c +0 -785
  370. package/bios/seabios/vgasrc/vgahw.h +0 -152
  371. package/bios/seabios/vgasrc/vgainit.c +0 -202
  372. package/bios/seabios/vgasrc/vgalayout.lds.S +0 -23
  373. package/bios/seabios/vgasrc/vgautil.h +0 -103
  374. package/bios/seabios/vgasrc/vgaversion.c +0 -6
  375. package/bios/seabios-debug.bin +0 -0
  376. package/bios/seabios-debug.config +0 -117
  377. package/bios/seabios.bin +0 -0
  378. package/bios/seabios.config +0 -114
  379. package/bios/vgabios-debug.bin +0 -0
  380. package/bios/vgabios.bin +0 -0
  381. package/build/binaries.js +0 -1
  382. package/build/index-debug.cjs +0 -1
  383. package/build/index-debug.js +0 -1
  384. package/build/index.cjs +0 -1
  385. package/build/index.js +0 -1
  386. package/v86.css +0 -259
@@ -1,482 +0,0 @@
1
- History of SeaBIOS releases. Please see [download](Download) for
2
- information on obtaining these releases.
3
-
4
- SeaBIOS 1.12.0
5
- ==============
6
-
7
- Available on 20181117. Major changes in this release:
8
-
9
- * Initial support for "TPM CRB" hardware
10
- * Improved cdrom media reporting in the boot menu on QEMU
11
- * Improved floppy support on real floppy hardware
12
- * SeaVGABIOS support for QEMU "bochs-display" and QEMU "ramfb" displays
13
- * Several bug fixes and code cleanups
14
-
15
- SeaBIOS 1.11.0
16
- ==============
17
-
18
- Available on 20171110. Major changes in this release:
19
-
20
- * Initial support for NVME drives
21
- * Support for vga emulation over a serial port in SeaBIOS (sercon)
22
- * Support for serial debugging using MMIO based serial ports
23
- * Support for scsi devices with multiple LUNs
24
- * Support for boot-to-boot persistent coreboot cbmem logs
25
- * Improved coreboot vga (cbvga) mode setting compatibility
26
- * Several bug fixes and code cleanups
27
-
28
- SeaBIOS 1.11.1
29
- --------------
30
-
31
- Available on 20180319. Stable release containing only bug fixes.
32
-
33
- SeaBIOS 1.11.2
34
- --------------
35
-
36
- Available on 20180702. Stable release containing only bug fixes.
37
-
38
- SeaBIOS 1.10.0
39
- ==============
40
-
41
- Available on 20161026. Major changes in this release:
42
-
43
- * Initial support for Trusted Platform Module (TPM) version 2.0
44
- * Several USB XHCI timing fixes on real hardware
45
- * Support for "LSI MPT Fusion" scsi controllers on QEMU
46
- * Support for virtio devices mapped above 4GB
47
- * Several bug fixes and code cleanups
48
-
49
- SeaBIOS 1.10.1
50
- --------------
51
-
52
- Available on 20161122. Stable release containing only bug fixes.
53
-
54
-
55
- SeaBIOS 1.10.2
56
- --------------
57
-
58
- Available on 20170228. Stable release containing only bug fixes.
59
-
60
- SeaBIOS 1.10.3
61
- --------------
62
-
63
- Available on 20171019. Stable release containing only bug fixes.
64
-
65
- SeaBIOS 1.9.0
66
- =============
67
-
68
- Available on 20151117. Major changes in this release:
69
-
70
- * The default boot menu key is now the ESC key (instead of F12)
71
- * Initial support for Trusted Platform Module (TPM) hardware and BIOS calls
72
- * Initial support for chain loading SeaBIOS from Grub (via multiboot
73
- support)
74
- * Initial support for booting from SD cards on real hardware
75
- * virtio 1.0 device support
76
- * The build will no longer include the build hostname or build time on
77
- "clean" builds. This makes the build binaries more "reproducible".
78
- * Basic support for running SeaBIOS on Baytrail Chromebooks
79
- * SeaVGABIOS improvements:
80
- * Improved support for old versions of x86emu (the "leal"
81
- instruction is now emulated)
82
- * Several bug fixes and code cleanups
83
-
84
- SeaBIOS 1.9.1
85
- -------------
86
-
87
- Available on 20160215. Stable release containing only bug fixes.
88
-
89
- SeaBIOS 1.9.2
90
- -------------
91
-
92
- Available on 20160422. Stable release containing only bug fixes.
93
-
94
- SeaBIOS 1.9.3
95
- -------------
96
-
97
- Available on 20160701. Stable release containing only bug fixes.
98
-
99
- SeaBIOS 1.8.0
100
- =============
101
-
102
- Available on 20150218. Major changes in this release:
103
-
104
- * Several USB timing fixes for USB controllers on real hardware
105
- * Initial support for USB3 hubs
106
- * Initial support for SD cards (on QEMU only)
107
- * Initial support for transitioning to 32bit mode using SMIs (on QEMU
108
- TCG only)
109
- * SeaVGABIOS improvements
110
- * Added cursor emulation to coreboot native init vgabios (cbvga)
111
- * Added support for read character calls when in graphics mode
112
- * Developer documentation added to "docs/" directory in the code
113
- repository and several documentation updates
114
- * Several bug fixes and code cleanups
115
-
116
- As of the 1.8.0 release, new feature releases will modify the first
117
- two release numbers (eg, 1.8) and stable releases will use three
118
- numbers (eg, 1.8.1). The prior behavior of using a forth number
119
- (eg, 1.7.5.1) for stable releases will no longer be used.
120
-
121
- SeaBIOS 1.8.1
122
- -------------
123
-
124
- Available on 20150316. Stable release containing only bug fixes.
125
-
126
- SeaBIOS 1.8.2
127
- -------------
128
-
129
- Available on 20150617. Stable release containing only bug fixes.
130
-
131
- SeaBIOS 1.7.5
132
- =============
133
-
134
- Available on 20140528. Major changes in this release:
135
-
136
- * Support for obtaining SMBIOS tables directly from QEMU.
137
- * XHCI USB controller fixes for real hardware (now tested on several
138
- boards)
139
- * SeaVGABIOS improvements
140
- * New driver for "coreboot native vga" support
141
- * Improved detection of older x86emu versions with incorrect
142
- emulation.
143
- * Several bug fixes and code cleanups
144
-
145
- SeaBIOS 1.7.5.1
146
- ---------------
147
-
148
- Available on 20141113. Stable release containing only bug fixes.
149
-
150
- SeaBIOS 1.7.5.2
151
- ---------------
152
-
153
- Available on 20150112. Stable release containing only bug fixes.
154
-
155
- SeaBIOS 1.7.4
156
- =============
157
-
158
- Available on 20131223. Major changes in this release:
159
-
160
- * Support for obtaining ACPI tables directly from QEMU.
161
- * Initial support for XHCI USB controllers (initially for QEMU only).
162
- * Support for booting from "pvscsi" devices on QEMU.
163
- * Enhanced floppy driver - improved support for real hardware.
164
- * coreboot cbmem console support.
165
- * Optional support for using the 9-segment instead of the e-segment
166
- for local variables.
167
- * Improved internal timer code and accuracy.
168
- * SeaVGABIOS improvements
169
- * Better support for legacy X.org releases with incomplete x86emu
170
- emulation.
171
- * Support for using an internal stack to reduce caller's stack
172
- usage.
173
- * Back port of new "bochs dispi" interface video modes.
174
- * Several bug fixes and code cleanups
175
- * Source code separated out into additional hardware and firmware
176
- directories.
177
- * Update to latest version of Kconfig
178
-
179
- SeaBIOS 1.7.3
180
- =============
181
-
182
- Available on 20130707. Major changes in this release:
183
-
184
- * Initial support for using SeaBIOS as a UEFI Compatibility Support
185
- Module (CSM)
186
- * Support for detecting and using ACPI reboot ports.
187
- * By default, all 16bit entry points now use an internal stack to
188
- reduce stack footprint.
189
- * Floppy controller code has been rewritten to improve
190
- compatibility. Non-standard floppy sizes now work again with recent
191
- QEMU versions.
192
- * Several bug fixes and code cleanups
193
-
194
- SeaBIOS 1.7.2
195
- =============
196
-
197
- Available on 20130118. Major changes in this release:
198
-
199
- * Support for ICH9 host chipset ("q35") on emulators
200
- * Support for booting from LSI MegaRAID SAS controllers
201
- * Support for using the ACPI PM timer on emulators
202
- * Improved Geode VGA BIOS support.
203
- * Several bug fixes
204
-
205
- SeaBIOS 1.7.2.1
206
- ---------------
207
-
208
- Available on 20130227. Stable release containing only bug fixes.
209
-
210
- SeaBIOS 1.7.2.2
211
- ---------------
212
-
213
- Available on 20130527. Stable release containing only bug fixes.
214
-
215
- SeaBIOS 1.7.1
216
- =============
217
-
218
- Available on 20120831. Major changes in this release:
219
-
220
- * Initial support for booting from USB attached scsi (USB UAS) drives
221
- * USB EHCI 64bit controller support
222
- * USB MSC multi-LUN device support
223
- * Support for booting from LSI SCSI controllers on emulators
224
- * Support for booting from AMD PCscsi controllers on emulators
225
- * New PCI allocation code on emulators. Support 64bit PCI bars and
226
- mapping them above 4G.
227
- * Support for non-linear APIC ids on emulators.
228
- * Stack switching for 16bit real mode irq handlers to reduce stack
229
- footprint.
230
- * Support for custom storage in the memory at 0xc0000-0xf0000. No
231
- longer reserve memory for custom storage in first 640k.
232
- * Improved code generation for 16bit segment register loads
233
- * Boot code will now (by default) reboot after 60 seconds if no boot
234
- device found
235
- * CBFS and FWCFG "files" are now only scanned one time
236
- * Several bug fixes
237
-
238
- SeaBIOS 1.7.0
239
- =============
240
-
241
- Available on 20120414. Major changes in this release:
242
-
243
- * Many enhancements to VGA BIOS code - it should now be feature
244
- complete with LGPL vgabios.
245
- * Support for virtio-scsi.
246
- * Improved USB drive (usb-msc) support.
247
- * Several USB controller bug fixes and improvements.
248
- * Runtime ACPI AML PCI hotplug construction.
249
- * Support for running on i386 and i486 CPUs.
250
- * Enhancements to PCI init when running on emulators.
251
- * Several bug fixes
252
-
253
- SeaBIOS 1.6.3
254
- =============
255
-
256
- Available on 20111004. Major changes in this release:
257
-
258
- * Initial support for Xen
259
- * PCI init (on emulators) uses a two-phase initialization
260
- * Fixes for AHCI so it can work on real hardware. AHCI is now enabled
261
- by default.
262
- * Bootsplash support for BMP files
263
- * Several configuration options can now be configured at runtime via
264
- CBFS files (eg, "etc/boot-menu-wait")
265
- * PCI device scan is cached during POST phase
266
- * Several bug fixes
267
-
268
- The SeaBIOS 1.6.3 release was an incremental feature release. The
269
- first release number (1) was incremented as the project was no longer
270
- in a beta stage, and the third release number (3) was also incremented
271
- to indicate the release was a regular feature release.
272
-
273
- SeaBIOS 1.6.3.1
274
- ---------------
275
-
276
- Available on 20111124. Stable release containing only bug fixes.
277
-
278
- SeaBIOS 1.6.3.2
279
- ---------------
280
-
281
- Available on 20120311. Stable release containing only bug fixes.
282
-
283
- SeaBIOS 0.6.2
284
- =============
285
-
286
- Available on 20110228. Major changes in this release:
287
-
288
- * Setup code can relocate to high-memory to save space in c-f segments
289
- * Build now configured via Kconfig
290
- * Experimental support for AHCI controllers
291
- * Support for run-time configuration of the boot order (via
292
- CBFS/fw_cfg "bootorder" file)
293
- * Support T13 EDD3.0 spec
294
- * Improved bounds checking on PCI memory allocation
295
- * Several bug fixes
296
-
297
- SeaBIOS 0.6.1
298
- =============
299
-
300
- Available on 20100913. Major changes in this release:
301
-
302
- * Support for virtio drives
303
- * Add ACPI definitions for cpu hotplug support
304
- * Support for a graphical bootsplash screen
305
- * USB mouse support
306
- * The PCI support for emulators is less dependent on i440 chipset
307
- * New malloc implementation which improves memalign and free
308
- * The build system no longer double links objects
309
- * Several bug fixes
310
-
311
- SeaBIOS 0.6.1.1
312
- ---------------
313
-
314
- Available on 20101031. Stable release containing only bug fixes.
315
-
316
- SeaBIOS 0.6.1.2
317
- ---------------
318
-
319
- Available on 20101113. Stable release containing only bug fixes.
320
-
321
- SeaBIOS 0.6.1.3
322
- ---------------
323
-
324
- Available on 20101226. Stable release containing only bug fixes.
325
-
326
- SeaBIOS 0.6.0
327
- =============
328
-
329
- Available on 20100326. Major changes in this release:
330
-
331
- * USB hub support
332
- * USB drive booting support
333
- * USB keyboard auto-repeat support
334
- * USB EHCI controller support
335
- * Several improvements to compatibility of PS2 port handlers for old
336
- code
337
- * Support for qemu e820 interface
338
- * Several bug fixes and code cleanups
339
-
340
- SeaBIOS 0.5.1
341
- =============
342
-
343
- Available on 20100108. Major changes in this release:
344
-
345
- * Support for 32bit PCI BIOS calls
346
- * Support for int1589 calls
347
- * MPTable fixes for OpenBSD
348
- * ATA DMA and bus-mastering support
349
- * Several bug fixes and code cleanups
350
-
351
- SeaBIOS 0.5.0
352
- =============
353
-
354
- Available on 20091218. Major changes in this release:
355
-
356
- * Several enhancements ported from the Bochs BIOS derived code in qemu
357
- and kvm
358
- * Support for parallel hardware initialization to reduce bootup times
359
- * Enable PCI option rom support by default (Bochs users must now
360
- enable CONFIG_OPTIONROMS_DEPLOYED in src/config.h). Support added
361
- for extracting option roms from qemu "fw_cfg".
362
- * Support USB UHCI and OHCI controllers
363
- * Initial support for USB keyboards
364
- * SeaBIOS can now be greater than 64K
365
- * Support for permanent low memory allocations
366
- * APIC "local interrupts" now enabled in SeaBIOS (on emulators)
367
- * Several bug fixes and code cleanups
368
-
369
- SeaBIOS 0.4.2
370
- =============
371
-
372
- Available on 20090909. Major changes in this release:
373
-
374
- * Implement Post Memory Manager (PMM) support. Use equivalent "malloc"
375
- functions for internal allocations as well.
376
- * Refactor disk "block" interface for greater expandability
377
- * Support CBFS based floppy images
378
- * Allow boot menu to select either floppy to boot from
379
- * Increase ebda size to store a CDROM harddrive/floppy emulation
380
- buffer
381
- * Support systems with multiple vga cards (only the card with the
382
- legacy IO ranges mapped will have its option rom executed)
383
- * Make option rom memory be writable during option rom execution (on
384
- emulators)
385
- * Compile version number into code and report on each boot
386
- * Several bug fixes and code cleanups
387
-
388
- SeaBIOS 0.4.1
389
- =============
390
-
391
- Available on 20090714. Major changes in this release:
392
-
393
- * Support older versions of gcc that predate "-fwhole-program" (eg,
394
- v3.x)
395
- * Add initial port of "LGPL vga bios" code into tree in "vgasrc/"
396
- directory
397
- * Handle ATA drives still "spinning up" during SeaBIOS drive detect
398
- * Add support for option rom Boot Connection Vectors (BCV)
399
- * Enhance boot menu to support booting from any drive or any cdrom
400
- * Support flash based Coreboot File System (CBFS)
401
- * Support booting from a CBFS "payload"
402
- * Support coreboot table forwarder
403
- * Support compile time definitions for multiple root PCI buses
404
- * New tools/readserial.py tool
405
- * Several bug fixes and code cleanups
406
-
407
- SeaBIOS 0.4.0
408
- =============
409
-
410
- Available on 20090206. Major changes in this release:
411
-
412
- * Add Bios Boot Specification (BBS) calls; add PnP call stubs
413
- * Support option roms stored in PCI rom BAR
414
- * Support rebooting on ctrl+alt+delete key press
415
- * Scan PCI devices for ATA adapters (don't assume legacy ISA ATA ports
416
- are valid)
417
- * Attempt to automatically determine gcc capabilities/bugs during
418
- build
419
- * Add script to layout 16bit sections at fixed offsets and in
420
- compacted space
421
- * Introduce timestamp counter based delays
422
- * Support POST calls that are really a resume
423
- * Use new stack in EBDA for int13 disk calls to reduce stack usage
424
- * Support the EBDA being relocated by option roms
425
- * Move many variables from EBDA to global variables (stored in
426
- f-segment)
427
- * Support for PCI bridges when iterating through PCI device list
428
- * Initial port of several KVM specific features from their Bochs BIOS
429
- derived code
430
- * Access BDA using segment 0x40 and IVT using segment 0x00 (which
431
- could be important for 16bit protected mode callers)
432
- * Several bug fixes and code cleanups
433
-
434
- SeaBIOS 0.3.0
435
- =============
436
-
437
- Available on 20080817. Major changes in this release:
438
-
439
- * Run boot code (int18/19) in 32bit mode
440
- * Rewrite of PS2 port handling - new code is more compatible with real
441
- hardware
442
- * Initial support for int155f VGA option rom calls
443
- * Several bug fixes and code cleanups
444
-
445
- SeaBIOS 0.2.3
446
- =============
447
-
448
- Available on 20080702. Major changes in this release:
449
-
450
- * Initial support for running on real hardware with coreboot
451
- * Support parsing coreboot tables
452
- * Support relocating bios tables from high memory when running under
453
- coreboot
454
- * Dynamic e820 map generation
455
- * Serial debug support
456
- * New tools/checkstack.py tool
457
- * Several bug fixes and code cleanups
458
-
459
- SeaBIOS 0.2.2
460
- =============
461
-
462
- Formerly known as "legacybios". Available on 20080501. Major changes
463
- in this release:
464
-
465
- * Several bug fixes and code cleanups
466
-
467
- SeaBIOS 0.2.1
468
- =============
469
-
470
- Formerly known as "legacybios". Available on 20080406. Major changes
471
- in this release:
472
-
473
- * Port of boot menu code from Bochs BIOS
474
- * Several bug fixes and code cleanups
475
-
476
- SeaBIOS 0.2.0
477
- =============
478
-
479
- Formerly known as "legacybios". Available on 20080330. Major changes
480
- in this release:
481
-
482
- * Completion of initial port of Bochs BIOS code to gcc.
@@ -1,193 +0,0 @@
1
- SeaBIOS can read several configuration items at runtime. On coreboot
2
- the configuration comes from files located in CBFS. When SeaBIOS runs
3
- natively on QEMU the files are passed from QEMU via the fw_cfg
4
- interface.
5
-
6
- This page documents the user visible configuration and control
7
- features that SeaBIOS supports.
8
-
9
- LZMA compression
10
- ================
11
-
12
- On coreboot, when scanning files in CBFS, any filename that ends with
13
- a ".lzma" suffix will be treated as a raw file that is compressed with
14
- the lzma compression algorithm. This works for option ROMs,
15
- configuration files, floppy images, etc. . (This feature should not be
16
- used with embedded payloads - to compress payloads, use the standard
17
- section based compression algorithm that is built into the payload
18
- specification.)
19
-
20
- For example, the file **pci1106,3344.rom.lzma** would be treated the
21
- same as **pci1106,3344.rom**, but will be automatically uncompressed
22
- when accessed.
23
-
24
- A file is typically compressed with the lzma compression command line
25
- tool. For example:
26
-
27
- `lzma -zc /path/to/somefile.bin > somefile.bin.lzma`
28
-
29
- However, some recent versions of lzma no longer supply an uncompressed
30
- file size in the lzma header. (They instead populate the field with
31
- zero.) Unfortunately, SeaBIOS requires the uncompressed file size, so
32
- it may be necessary to use a different version of the lzma tool.
33
-
34
- File aliases
35
- ============
36
-
37
- It is possible to create the equivalent of "symbolic links" so that
38
- one file's content appears under another name. To do this, create a
39
- **links** file with one line per link and each line having the format
40
- of "linkname" and "destname" separated by a space character. For
41
- example, the **links** file may look like:
42
-
43
- ```
44
- pci1234,1000.rom somerom.rom
45
- pci1234,1001.rom somerom.rom
46
- pci1234,1002.rom somerom.rom
47
- ```
48
-
49
- The above example would cause SeaBIOS to treat "pci1234,1000.rom" or
50
- "pci1234,1001.rom" as files with the same content as the file
51
- "somerom.rom".
52
-
53
- Option ROMs
54
- ===========
55
-
56
- SeaBIOS will scan all of the PCI devices in the target machine for
57
- option ROMs on PCI devices. It recognizes option ROMs in files that
58
- have the form **pciVVVV,DDDD.rom**. The VVVV,DDDD should correspond to
59
- the PCI vendor and device id of a device in the machine. If a given
60
- file is found then SeaBIOS will deploy the file instead of attempting
61
- to extract an option ROM from the device. In addition to supplying
62
- option ROMs for on-board devices that do not store their own ROMs,
63
- this mechanism may be used to prevent a ROM on a specific device from
64
- running.
65
-
66
- SeaBIOS always deploys the VGA rom associated with the active VGA
67
- device before any other ROMs.
68
-
69
- In addition, SeaBIOS will also run any file in the directory
70
- **vgaroms/** as a VGA option ROM not specific to a device and files in
71
- **genroms/** as a generic option ROM not specific to a device. The
72
- ROMS in **vgaroms/** are run immediately after running the option ROM
73
- associated with the primary VGA device (if any were found), and the
74
- **genroms/** ROMs are run after all other PCI ROMs are run.
75
-
76
- Bootsplash images
77
- =================
78
-
79
- SeaBIOS can show a custom [JPEG](http://en.wikipedia.org/wiki/JPEG)
80
- image or [BMP](http://en.wikipedia.org/wiki/BMP_file_format) image
81
- during bootup. To enable this, add the JPEG file to flash with the
82
- name **bootsplash.jpg** or BMP file as **bootsplash.bmp**.
83
-
84
- The size of the image determines the video mode to use for showing the
85
- image. Make sure the dimensions of the image exactly correspond to an
86
- available video mode (eg, 640x480, or 1024x768), otherwise it will not
87
- be displayed.
88
-
89
- SeaBIOS will show the image during the wait for the boot menu (if the
90
- boot menu has been disabled, users will not see the image). The image
91
- should probably have "Press ESC for boot menu" embedded in it so users
92
- know they can enter the normal SeaBIOS boot menu. By default, the boot
93
- menu prompt (and thus graphical image) is shown for 2.5 seconds. This
94
- can be customized via a [configuration
95
- parameter](#Other_Configuration_items).
96
-
97
- The JPEG viewer in SeaBIOS uses a simplified decoding algorithm. It
98
- supports most common JPEGs, but does not support all possible formats.
99
- Please see the [trouble reporting section](Debugging) if a valid image
100
- isn't displayed properly.
101
-
102
- Payloads
103
- ========
104
-
105
- On coreboot, SeaBIOS will treat all files found in the **img/**
106
- directory as a coreboot payload. Each payload file will be available
107
- for boot, and one can select from the available payloads in the
108
- bootmenu. SeaBIOS supports both uncompressed and lzma compressed
109
- payloads.
110
-
111
- Floppy images
112
- =============
113
-
114
- It is possible to embed an image of a floppy into a file. SeaBIOS can
115
- then boot from and redirect floppy BIOS calls to the image. This is
116
- mainly useful for legacy software (such as DOS utilities). To use this
117
- feature, place a floppy image into the directory **floppyimg/**.
118
-
119
- Using LZMA file compression with the [.lzma file
120
- suffix](#LZMA_compression) is a useful way to reduce the file
121
- size. Several floppy formats are available: 360K, 1.2MB, 720K, 1.44MB,
122
- 2.88MB, 160K, 180K, 320K.
123
-
124
- The floppy image will appear as writable to the system, however all
125
- writes are discarded on reboot.
126
-
127
- When using this system, SeaBIOS reserves high-memory to store the
128
- floppy. The reserved memory is then no longer available for OS use, so
129
- this feature should only be used when needed.
130
-
131
- Configuring boot order
132
- ======================
133
-
134
- The **bootorder** file may be used to configure the boot up order. The
135
- file should be ASCII text and contain one line per boot method. The
136
- description of each boot method follows an [Open
137
- Firmware](https://secure.wikimedia.org/wikipedia/en/wiki/Open_firmware)
138
- device path format. SeaBIOS will attempt to boot from each item in the
139
- file - first line of the file first.
140
-
141
- The easiest way to find the available boot methods is to look for
142
- "Searching bootorder for" in the SeaBIOS debug output. For example,
143
- one may see lines similar to:
144
-
145
- ```
146
- Searching bootorder for: /pci@i0cf8/*@f/drive@1/disk@0
147
- Searching bootorder for: /pci@i0cf8/*@f,1/drive@2/disk@1
148
- Searching bootorder for: /pci@i0cf8/usb@10,4/*@2
149
- ```
150
-
151
- The above represents the patterns SeaBIOS will search for in the
152
- bootorder file. However, it's safe to just copy and paste the pattern
153
- into bootorder. For example, the file:
154
-
155
- ```
156
- /pci@i0cf8/usb@10,4/*@2
157
- /pci@i0cf8/*@f/drive@1/disk@0
158
- ```
159
-
160
- will instruct SeaBIOS to attempt to boot from the given USB drive
161
- first and then attempt the given ATA harddrive second.
162
-
163
- SeaBIOS also supports a special "HALT" directive. If a line that
164
- contains "HALT" is found in the bootorder file then SeaBIOS will (by
165
- default) only attempt to boot from devices explicitly listed above
166
- HALT in the file.
167
-
168
- Other Configuration items
169
- =========================
170
-
171
- There are several additional configuration options available in the
172
- **etc/** directory.
173
-
174
- | Filename | Description
175
- |---------------------|---------------------------------------------------
176
- | show-boot-menu | Controls the display of the boot menu. Set to 0 to disable the boot menu.
177
- | boot-menu-message | Customize the text boot menu message. Normally, when in text mode SeaBIOS will report the string "\\nPress ESC for boot menu.\\n\\n". This field allows the string to be changed. (This is a string field, and is added as a file containing the raw string.)
178
- | boot-menu-key | Controls which key activates the boot menu. The value stored is the DOS scan code (eg, 0x86 for F12, 0x01 for Esc). If this field is set, be sure to also customize the **boot-menu-message** field above.
179
- | boot-menu-wait | Amount of time (in milliseconds) to wait at the boot menu prompt before selecting the default boot.
180
- | boot-fail-wait | If no boot devices are found SeaBIOS will reboot after 60 seconds. Set this to the amount of time (in milliseconds) to customize the reboot delay or set to -1 to disable rebooting when no boot devices are found
181
- | extra-pci-roots | If the target machine has multiple independent root buses set this to a positive value. The SeaBIOS PCI probe will then search for the given number of extra root buses.
182
- | ps2-keyboard-spinup | Some laptops that emulate PS2 keyboards don't respond to keyboard commands immediately after powering on. One may specify the amount of time (in milliseconds) here to allow as additional time for the keyboard to become responsive. When this field is set, SeaBIOS will repeatedly attempt to detect the keyboard until the keyboard is found or the specified timeout is reached.
183
- | optionroms-checksum | Option ROMs are required to have correct checksums. However, some option ROMs in the wild don't correctly follow the specifications and have bad checksums. Set this to a zero value to allow SeaBIOS to execute them anyways.
184
- | pci-optionrom-exec | Controls option ROM execution for roms found on PCI devices (as opposed to roms found in CBFS/fw_cfg). Valid values are 0: Execute no ROMs, 1: Execute only VGA ROMs, 2: Execute all ROMs. The default is 2 (execute all ROMs).
185
- | s3-resume-vga-init | Set this to a non-zero value to instruct SeaBIOS to run the vga rom on an S3 resume.
186
- | screen-and-debug | Set this to a zero value to instruct SeaBIOS to not write characters it sends to the screen to the debug ports. This can be useful when using sgabios.
187
- | advertise-serial-debug-port | If using a serial debug port, one can set this file to a zero value to prevent SeaBIOS from listing that serial port as available for operating system use. This can be useful when running old DOS programs that are known to reset the baud rate of all advertised serial ports.
188
- | sercon-port | Set this to the IO address of a serial port to enable SeaBIOS' VGA adapter emulation on the given serial port.
189
- | floppy0 | Set this to the type of the first floppy drive in the system (only type 4 for 3.5 inch drives is supported).
190
- | floppy1 | The type of the second floppy drive in the system. See the description of **floppy0** for more info.
191
- | threads | By default, SeaBIOS will parallelize hardware initialization during bootup to reduce boot time. Multiple hardware devices can be initialized in parallel between vga initialization and option rom initialization. One can set this file to a value of zero to force hardware initialization to run serially. Alternatively, one can set this file to 2 to enable early hardware initialization that runs in parallel with vga, option rom initialization, and the boot menu.
192
- | sdcard* | One may create one or more files with an "sdcard" prefix (eg, "etc/sdcard0") with the physical memory address of an SDHCI controller (one memory address per file). This may be useful for SDHCI controllers that do not appear as PCI devices, but are mapped to a consistent memory address. If this option is used then SeaBIOS will not scan for PCI SHDCI controllers.
193
- | usb-time-sigatt | The USB2 specification requires devices to signal that they are attached within 100ms of the USB port being powered on. Some USB devices are known to require more time. Prior to receiving an attachment signal there is no way to know if a USB port is empty or if it has a device attached. One may specify an amount of time here (in milliseconds, default 100) to wait for a USB device attachment signal. Increasing this value will also increase the overall machine bootup time.
@@ -1,17 +0,0 @@
1
- SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS
2
- can run in an emulator or it can run natively on X86 hardware with the
3
- use of [coreboot](http://www.coreboot.org/).
4
-
5
- SeaBIOS is the default BIOS for [qemu](http://www.qemu.org/) and
6
- [kvm](http://www.linux-kvm.org/).
7
-
8
- The [coreboot SeaBIOS](http://www.coreboot.org/SeaBIOS) page has
9
- information on using SeaBIOS in coreboot. Please see the
10
- [releases](Releases) page for information on recent releases. See the
11
- [download](Download) page to obtain SeaBIOS.
12
-
13
- [SeaVGABIOS](SeaVGABIOS) is a sub-project of SeaBIOS.
14
-
15
- Please join the [mailing list](Mailinglist) to contribute to
16
- SeaBIOS. Information on the internals of SeaBIOS is available on the
17
- [Developer Documentation](Developer Documentation) page.