v86 0.3.4 → 0.3.7

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 (369) hide show
  1. package/Readme.md +4 -4
  2. package/bios/seabios/.config +113 -0
  3. package/bios/seabios/.config.old +114 -0
  4. package/bios/seabios/.gitignore +4 -0
  5. package/bios/seabios/COPYING +674 -0
  6. package/bios/seabios/COPYING.LESSER +165 -0
  7. package/bios/seabios/Makefile +286 -0
  8. package/bios/seabios/README +17 -0
  9. package/bios/seabios/docs/Build_overview.md +104 -0
  10. package/bios/seabios/docs/Contributing.md +20 -0
  11. package/bios/seabios/docs/Debugging.md +111 -0
  12. package/bios/seabios/docs/Developer_Documentation.md +25 -0
  13. package/bios/seabios/docs/Developer_links.md +86 -0
  14. package/bios/seabios/docs/Download.md +27 -0
  15. package/bios/seabios/docs/Execution_and_code_flow.md +178 -0
  16. package/bios/seabios/docs/Linking_overview.md +160 -0
  17. package/bios/seabios/docs/Mailinglist.md +8 -0
  18. package/bios/seabios/docs/Memory_Model.md +253 -0
  19. package/bios/seabios/docs/README +5 -0
  20. package/bios/seabios/docs/Releases.md +482 -0
  21. package/bios/seabios/docs/Runtime_config.md +193 -0
  22. package/bios/seabios/docs/SeaBIOS.md +17 -0
  23. package/bios/seabios/docs/SeaVGABIOS.md +39 -0
  24. package/bios/seabios/out/autoconf.h +117 -0
  25. package/bios/seabios/out/include/config/acpi/dsdt.h +0 -0
  26. package/bios/seabios/out/include/config/acpi.h +0 -0
  27. package/bios/seabios/out/include/config/ahci.h +0 -0
  28. package/bios/seabios/out/include/config/apmbios.h +0 -0
  29. package/bios/seabios/out/include/config/ata/dma.h +0 -0
  30. package/bios/seabios/out/include/config/ata/pio32.h +0 -0
  31. package/bios/seabios/out/include/config/ata.h +0 -0
  32. package/bios/seabios/out/include/config/auto.conf +69 -0
  33. package/bios/seabios/out/include/config/auto.conf.cmd +9 -0
  34. package/bios/seabios/out/include/config/boot.h +0 -0
  35. package/bios/seabios/out/include/config/bootorder.h +0 -0
  36. package/bios/seabios/out/include/config/build/vgabios.h +0 -0
  37. package/bios/seabios/out/include/config/call32/smm.h +0 -0
  38. package/bios/seabios/out/include/config/cdrom/boot.h +0 -0
  39. package/bios/seabios/out/include/config/cdrom/emu.h +0 -0
  40. package/bios/seabios/out/include/config/debug/level.h +0 -0
  41. package/bios/seabios/out/include/config/drives.h +0 -0
  42. package/bios/seabios/out/include/config/entry/extrastack.h +0 -0
  43. package/bios/seabios/out/include/config/esp/scsi.h +0 -0
  44. package/bios/seabios/out/include/config/flash/floppy.h +0 -0
  45. package/bios/seabios/out/include/config/floppy.h +0 -0
  46. package/bios/seabios/out/include/config/fw/romfile/load.h +0 -0
  47. package/bios/seabios/out/include/config/hardware/irq.h +0 -0
  48. package/bios/seabios/out/include/config/kbd/call/int15/4f.h +0 -0
  49. package/bios/seabios/out/include/config/keyboard.h +0 -0
  50. package/bios/seabios/out/include/config/lpt.h +0 -0
  51. package/bios/seabios/out/include/config/lsi/scsi.h +0 -0
  52. package/bios/seabios/out/include/config/malloc/uppermemory.h +0 -0
  53. package/bios/seabios/out/include/config/megasas.h +0 -0
  54. package/bios/seabios/out/include/config/mouse.h +0 -0
  55. package/bios/seabios/out/include/config/mpt/scsi.h +0 -0
  56. package/bios/seabios/out/include/config/mptable.h +0 -0
  57. package/bios/seabios/out/include/config/mtrr/init.h +0 -0
  58. package/bios/seabios/out/include/config/optionroms.h +0 -0
  59. package/bios/seabios/out/include/config/override/pci/id.h +0 -0
  60. package/bios/seabios/out/include/config/pcibios.h +0 -0
  61. package/bios/seabios/out/include/config/pirtable.h +0 -0
  62. package/bios/seabios/out/include/config/pmm.h +0 -0
  63. package/bios/seabios/out/include/config/pmtimer.h +0 -0
  64. package/bios/seabios/out/include/config/pnpbios.h +0 -0
  65. package/bios/seabios/out/include/config/ps2port.h +0 -0
  66. package/bios/seabios/out/include/config/pvscsi.h +0 -0
  67. package/bios/seabios/out/include/config/qemu/hardware.h +0 -0
  68. package/bios/seabios/out/include/config/qemu.h +0 -0
  69. package/bios/seabios/out/include/config/rom/size.h +0 -0
  70. package/bios/seabios/out/include/config/rtc/timer.h +0 -0
  71. package/bios/seabios/out/include/config/s3/resume.h +0 -0
  72. package/bios/seabios/out/include/config/sdcard.h +0 -0
  73. package/bios/seabios/out/include/config/serial.h +0 -0
  74. package/bios/seabios/out/include/config/tcgbios.h +0 -0
  75. package/bios/seabios/out/include/config/threads.h +0 -0
  76. package/bios/seabios/out/include/config/tristate.conf +4 -0
  77. package/bios/seabios/out/include/config/tsc/timer.h +0 -0
  78. package/bios/seabios/out/include/config/use/smm.h +0 -0
  79. package/bios/seabios/out/include/config/vga/allocate/extra/stack.h +0 -0
  80. package/bios/seabios/out/include/config/vga/bochs/stdvga.h +0 -0
  81. package/bios/seabios/out/include/config/vga/bochs.h +0 -0
  82. package/bios/seabios/out/include/config/vga/did.h +0 -0
  83. package/bios/seabios/out/include/config/vga/extra/stack/size.h +0 -0
  84. package/bios/seabios/out/include/config/vga/fixup/asm.h +0 -0
  85. package/bios/seabios/out/include/config/vga/pci.h +0 -0
  86. package/bios/seabios/out/include/config/vga/stdvga/ports.h +0 -0
  87. package/bios/seabios/out/include/config/vga/vbe.h +0 -0
  88. package/bios/seabios/out/include/config/vga/vid.h +0 -0
  89. package/bios/seabios/out/include/config/vgahooks.h +0 -0
  90. package/bios/seabios/out/include/config/virtio/blk.h +0 -0
  91. package/bios/seabios/out/include/config/virtio/scsi.h +0 -0
  92. package/bios/seabios/out/include/config/xen.h +0 -0
  93. package/bios/seabios/out/scripts/kconfig/conf +0 -0
  94. package/bios/seabios/out/scripts/kconfig/conf.o +0 -0
  95. package/bios/seabios/out/scripts/kconfig/zconf.hash.c +289 -0
  96. package/bios/seabios/out/scripts/kconfig/zconf.lex.c +2420 -0
  97. package/bios/seabios/out/scripts/kconfig/zconf.tab.c +2538 -0
  98. package/bios/seabios/out/scripts/kconfig/zconf.tab.o +0 -0
  99. package/bios/seabios/scripts/acpi_extract.py +366 -0
  100. package/bios/seabios/scripts/acpi_extract_preprocess.py +41 -0
  101. package/bios/seabios/scripts/buildrom.py +56 -0
  102. package/bios/seabios/scripts/buildversion.py +134 -0
  103. package/bios/seabios/scripts/checkrom.py +95 -0
  104. package/bios/seabios/scripts/checkstack.py +226 -0
  105. package/bios/seabios/scripts/checksum.py +16 -0
  106. package/bios/seabios/scripts/encodeint.py +21 -0
  107. package/bios/seabios/scripts/gen-offsets.sh +17 -0
  108. package/bios/seabios/scripts/kconfig/.gitignore +22 -0
  109. package/bios/seabios/scripts/kconfig/Makefile +331 -0
  110. package/bios/seabios/scripts/kconfig/POTFILES.in +12 -0
  111. package/bios/seabios/scripts/kconfig/check.sh +13 -0
  112. package/bios/seabios/scripts/kconfig/conf.c +718 -0
  113. package/bios/seabios/scripts/kconfig/confdata.c +1250 -0
  114. package/bios/seabios/scripts/kconfig/expr.c +1168 -0
  115. package/bios/seabios/scripts/kconfig/expr.h +241 -0
  116. package/bios/seabios/scripts/kconfig/gconf.c +1542 -0
  117. package/bios/seabios/scripts/kconfig/gconf.glade +661 -0
  118. package/bios/seabios/scripts/kconfig/images.c +326 -0
  119. package/bios/seabios/scripts/kconfig/kxgettext.c +235 -0
  120. package/bios/seabios/scripts/kconfig/lex.zconf.c +2430 -0
  121. package/bios/seabios/scripts/kconfig/list.h +131 -0
  122. package/bios/seabios/scripts/kconfig/lkc.h +200 -0
  123. package/bios/seabios/scripts/kconfig/lkc_proto.h +57 -0
  124. package/bios/seabios/scripts/kconfig/lxdialog/.gitignore +4 -0
  125. package/bios/seabios/scripts/kconfig/lxdialog/BIG.FAT.WARNING +4 -0
  126. package/bios/seabios/scripts/kconfig/lxdialog/check-lxdialog.sh +87 -0
  127. package/bios/seabios/scripts/kconfig/lxdialog/checklist.c +332 -0
  128. package/bios/seabios/scripts/kconfig/lxdialog/dialog.h +257 -0
  129. package/bios/seabios/scripts/kconfig/lxdialog/inputbox.c +301 -0
  130. package/bios/seabios/scripts/kconfig/lxdialog/menubox.c +437 -0
  131. package/bios/seabios/scripts/kconfig/lxdialog/textbox.c +408 -0
  132. package/bios/seabios/scripts/kconfig/lxdialog/util.c +713 -0
  133. package/bios/seabios/scripts/kconfig/lxdialog/yesno.c +114 -0
  134. package/bios/seabios/scripts/kconfig/mconf.c +1036 -0
  135. package/bios/seabios/scripts/kconfig/menu.c +697 -0
  136. package/bios/seabios/scripts/kconfig/merge_config.sh +150 -0
  137. package/bios/seabios/scripts/kconfig/nconf.c +1556 -0
  138. package/bios/seabios/scripts/kconfig/nconf.gui.c +656 -0
  139. package/bios/seabios/scripts/kconfig/nconf.h +96 -0
  140. package/bios/seabios/scripts/kconfig/qconf.cc +1795 -0
  141. package/bios/seabios/scripts/kconfig/qconf.h +338 -0
  142. package/bios/seabios/scripts/kconfig/streamline_config.pl +647 -0
  143. package/bios/seabios/scripts/kconfig/symbol.c +1373 -0
  144. package/bios/seabios/scripts/kconfig/util.c +157 -0
  145. package/bios/seabios/scripts/kconfig/zconf.gperf +48 -0
  146. package/bios/seabios/scripts/kconfig/zconf.hash.c_shipped +289 -0
  147. package/bios/seabios/scripts/kconfig/zconf.l +363 -0
  148. package/bios/seabios/scripts/kconfig/zconf.lex.c_shipped +2420 -0
  149. package/bios/seabios/scripts/kconfig/zconf.tab.c_shipped +2538 -0
  150. package/bios/seabios/scripts/kconfig/zconf.y +733 -0
  151. package/bios/seabios/scripts/layoutrom.py +705 -0
  152. package/bios/seabios/scripts/python23compat.py +14 -0
  153. package/bios/seabios/scripts/readserial.py +190 -0
  154. package/bios/seabios/scripts/tarball.sh +36 -0
  155. package/bios/seabios/scripts/test-build.sh +90 -0
  156. package/bios/seabios/scripts/transdump.py +53 -0
  157. package/bios/seabios/scripts/vgafixup.py +96 -0
  158. package/bios/seabios/src/Kconfig +579 -0
  159. package/bios/seabios/src/apm.c +215 -0
  160. package/bios/seabios/src/asm-offsets.c +23 -0
  161. package/bios/seabios/src/biosvar.h +130 -0
  162. package/bios/seabios/src/block.c +623 -0
  163. package/bios/seabios/src/block.h +121 -0
  164. package/bios/seabios/src/bmp.c +117 -0
  165. package/bios/seabios/src/boot.c +793 -0
  166. package/bios/seabios/src/bootsplash.c +255 -0
  167. package/bios/seabios/src/bregs.h +80 -0
  168. package/bios/seabios/src/byteorder.h +71 -0
  169. package/bios/seabios/src/cdrom.c +322 -0
  170. package/bios/seabios/src/clock.c +506 -0
  171. package/bios/seabios/src/code16gcc.s +1 -0
  172. package/bios/seabios/src/config.h +108 -0
  173. package/bios/seabios/src/cp437.c +275 -0
  174. package/bios/seabios/src/cp437.h +1 -0
  175. package/bios/seabios/src/disk.c +779 -0
  176. package/bios/seabios/src/e820map.c +152 -0
  177. package/bios/seabios/src/e820map.h +26 -0
  178. package/bios/seabios/src/entryfuncs.S +165 -0
  179. package/bios/seabios/src/farptr.h +208 -0
  180. package/bios/seabios/src/font.c +139 -0
  181. package/bios/seabios/src/fw/acpi-dsdt-cpu-hotplug.dsl +78 -0
  182. package/bios/seabios/src/fw/acpi-dsdt-dbug.dsl +26 -0
  183. package/bios/seabios/src/fw/acpi-dsdt-hpet.dsl +36 -0
  184. package/bios/seabios/src/fw/acpi-dsdt-isa.dsl +102 -0
  185. package/bios/seabios/src/fw/acpi-dsdt-pci-crs.dsl +90 -0
  186. package/bios/seabios/src/fw/acpi-dsdt.dsl +342 -0
  187. package/bios/seabios/src/fw/acpi-dsdt.hex +554 -0
  188. package/bios/seabios/src/fw/acpi.c +685 -0
  189. package/bios/seabios/src/fw/biostables.c +491 -0
  190. package/bios/seabios/src/fw/coreboot.c +569 -0
  191. package/bios/seabios/src/fw/csm.c +347 -0
  192. package/bios/seabios/src/fw/dev-pci.h +52 -0
  193. package/bios/seabios/src/fw/dev-piix.h +29 -0
  194. package/bios/seabios/src/fw/dev-q35.h +52 -0
  195. package/bios/seabios/src/fw/lzmadecode.c +398 -0
  196. package/bios/seabios/src/fw/lzmadecode.h +67 -0
  197. package/bios/seabios/src/fw/mptable.c +197 -0
  198. package/bios/seabios/src/fw/mtrr.c +105 -0
  199. package/bios/seabios/src/fw/multiboot.c +111 -0
  200. package/bios/seabios/src/fw/paravirt.c +624 -0
  201. package/bios/seabios/src/fw/paravirt.h +63 -0
  202. package/bios/seabios/src/fw/pciinit.c +1187 -0
  203. package/bios/seabios/src/fw/pirtable.c +103 -0
  204. package/bios/seabios/src/fw/q35-acpi-dsdt.dsl +450 -0
  205. package/bios/seabios/src/fw/romfile_loader.c +259 -0
  206. package/bios/seabios/src/fw/romfile_loader.h +91 -0
  207. package/bios/seabios/src/fw/shadow.c +208 -0
  208. package/bios/seabios/src/fw/smbios.c +585 -0
  209. package/bios/seabios/src/fw/smm.c +269 -0
  210. package/bios/seabios/src/fw/smp.c +194 -0
  211. package/bios/seabios/src/fw/ssdt-misc.dsl +104 -0
  212. package/bios/seabios/src/fw/ssdt-misc.hex +88 -0
  213. package/bios/seabios/src/fw/ssdt-pcihp.dsl +36 -0
  214. package/bios/seabios/src/fw/ssdt-pcihp.hex +38 -0
  215. package/bios/seabios/src/fw/ssdt-proc.dsl +48 -0
  216. package/bios/seabios/src/fw/ssdt-proc.hex +35 -0
  217. package/bios/seabios/src/fw/xen.c +149 -0
  218. package/bios/seabios/src/fw/xen.h +125 -0
  219. package/bios/seabios/src/gen-defs.h +19 -0
  220. package/bios/seabios/src/hw/ahci.c +697 -0
  221. package/bios/seabios/src/hw/ahci.h +201 -0
  222. package/bios/seabios/src/hw/ata.c +1046 -0
  223. package/bios/seabios/src/hw/ata.h +163 -0
  224. package/bios/seabios/src/hw/blockcmd.c +372 -0
  225. package/bios/seabios/src/hw/blockcmd.h +114 -0
  226. package/bios/seabios/src/hw/dma.c +67 -0
  227. package/bios/seabios/src/hw/esp-scsi.c +241 -0
  228. package/bios/seabios/src/hw/esp-scsi.h +8 -0
  229. package/bios/seabios/src/hw/floppy.c +741 -0
  230. package/bios/seabios/src/hw/lsi-scsi.c +221 -0
  231. package/bios/seabios/src/hw/lsi-scsi.h +8 -0
  232. package/bios/seabios/src/hw/megasas.c +405 -0
  233. package/bios/seabios/src/hw/megasas.h +8 -0
  234. package/bios/seabios/src/hw/mpt-scsi.c +319 -0
  235. package/bios/seabios/src/hw/mpt-scsi.h +8 -0
  236. package/bios/seabios/src/hw/nvme-int.h +199 -0
  237. package/bios/seabios/src/hw/nvme.c +708 -0
  238. package/bios/seabios/src/hw/nvme.h +17 -0
  239. package/bios/seabios/src/hw/pci.c +133 -0
  240. package/bios/seabios/src/hw/pci.h +47 -0
  241. package/bios/seabios/src/hw/pci_ids.h +2632 -0
  242. package/bios/seabios/src/hw/pci_regs.h +556 -0
  243. package/bios/seabios/src/hw/pcidevice.c +192 -0
  244. package/bios/seabios/src/hw/pcidevice.h +76 -0
  245. package/bios/seabios/src/hw/pic.c +115 -0
  246. package/bios/seabios/src/hw/pic.h +60 -0
  247. package/bios/seabios/src/hw/ps2port.c +543 -0
  248. package/bios/seabios/src/hw/ps2port.h +67 -0
  249. package/bios/seabios/src/hw/pvscsi.c +333 -0
  250. package/bios/seabios/src/hw/pvscsi.h +8 -0
  251. package/bios/seabios/src/hw/ramdisk.c +108 -0
  252. package/bios/seabios/src/hw/rtc.c +100 -0
  253. package/bios/seabios/src/hw/rtc.h +75 -0
  254. package/bios/seabios/src/hw/sdcard.c +572 -0
  255. package/bios/seabios/src/hw/serialio.c +113 -0
  256. package/bios/seabios/src/hw/serialio.h +29 -0
  257. package/bios/seabios/src/hw/timer.c +259 -0
  258. package/bios/seabios/src/hw/tpm_drivers.c +636 -0
  259. package/bios/seabios/src/hw/tpm_drivers.h +127 -0
  260. package/bios/seabios/src/hw/usb-ehci.c +650 -0
  261. package/bios/seabios/src/hw/usb-ehci.h +177 -0
  262. package/bios/seabios/src/hw/usb-hid.c +442 -0
  263. package/bios/seabios/src/hw/usb-hid.h +29 -0
  264. package/bios/seabios/src/hw/usb-hub.c +205 -0
  265. package/bios/seabios/src/hw/usb-hub.h +64 -0
  266. package/bios/seabios/src/hw/usb-msc.c +222 -0
  267. package/bios/seabios/src/hw/usb-msc.h +10 -0
  268. package/bios/seabios/src/hw/usb-ohci.c +568 -0
  269. package/bios/seabios/src/hw/usb-ohci.h +144 -0
  270. package/bios/seabios/src/hw/usb-uas.c +289 -0
  271. package/bios/seabios/src/hw/usb-uas.h +9 -0
  272. package/bios/seabios/src/hw/usb-uhci.c +571 -0
  273. package/bios/seabios/src/hw/usb-uhci.h +128 -0
  274. package/bios/seabios/src/hw/usb-xhci.c +1161 -0
  275. package/bios/seabios/src/hw/usb-xhci.h +133 -0
  276. package/bios/seabios/src/hw/usb.c +499 -0
  277. package/bios/seabios/src/hw/usb.h +254 -0
  278. package/bios/seabios/src/hw/virtio-blk.c +211 -0
  279. package/bios/seabios/src/hw/virtio-blk.h +43 -0
  280. package/bios/seabios/src/hw/virtio-pci.c +501 -0
  281. package/bios/seabios/src/hw/virtio-pci.h +151 -0
  282. package/bios/seabios/src/hw/virtio-ring.c +147 -0
  283. package/bios/seabios/src/hw/virtio-ring.h +121 -0
  284. package/bios/seabios/src/hw/virtio-scsi.c +220 -0
  285. package/bios/seabios/src/hw/virtio-scsi.h +47 -0
  286. package/bios/seabios/src/jpeg.c +1055 -0
  287. package/bios/seabios/src/kbd.c +599 -0
  288. package/bios/seabios/src/list.h +91 -0
  289. package/bios/seabios/src/malloc.c +561 -0
  290. package/bios/seabios/src/malloc.h +70 -0
  291. package/bios/seabios/src/memmap.h +21 -0
  292. package/bios/seabios/src/misc.c +195 -0
  293. package/bios/seabios/src/mouse.c +342 -0
  294. package/bios/seabios/src/optionroms.c +475 -0
  295. package/bios/seabios/src/output.c +584 -0
  296. package/bios/seabios/src/output.h +68 -0
  297. package/bios/seabios/src/pcibios.c +241 -0
  298. package/bios/seabios/src/pmm.c +176 -0
  299. package/bios/seabios/src/pnpbios.c +88 -0
  300. package/bios/seabios/src/post.c +337 -0
  301. package/bios/seabios/src/resume.c +157 -0
  302. package/bios/seabios/src/romfile.c +146 -0
  303. package/bios/seabios/src/romfile.h +21 -0
  304. package/bios/seabios/src/romlayout.S +698 -0
  305. package/bios/seabios/src/sercon.c +677 -0
  306. package/bios/seabios/src/serial.c +317 -0
  307. package/bios/seabios/src/sha1.c +147 -0
  308. package/bios/seabios/src/sha1.h +8 -0
  309. package/bios/seabios/src/stacks.c +771 -0
  310. package/bios/seabios/src/stacks.h +68 -0
  311. package/bios/seabios/src/std/LegacyBios.h +985 -0
  312. package/bios/seabios/src/std/acpi.h +323 -0
  313. package/bios/seabios/src/std/bda.h +174 -0
  314. package/bios/seabios/src/std/disk.h +175 -0
  315. package/bios/seabios/src/std/mptable.h +77 -0
  316. package/bios/seabios/src/std/multiboot.h +260 -0
  317. package/bios/seabios/src/std/optionrom.h +59 -0
  318. package/bios/seabios/src/std/pirtable.h +35 -0
  319. package/bios/seabios/src/std/pmm.h +19 -0
  320. package/bios/seabios/src/std/pnpbios.h +24 -0
  321. package/bios/seabios/src/std/smbios.h +167 -0
  322. package/bios/seabios/src/std/tcg.h +554 -0
  323. package/bios/seabios/src/std/vbe.h +156 -0
  324. package/bios/seabios/src/std/vga.h +63 -0
  325. package/bios/seabios/src/string.c +251 -0
  326. package/bios/seabios/src/string.h +31 -0
  327. package/bios/seabios/src/system.c +357 -0
  328. package/bios/seabios/src/tcgbios.c +2014 -0
  329. package/bios/seabios/src/tcgbios.h +19 -0
  330. package/bios/seabios/src/types.h +156 -0
  331. package/bios/seabios/src/util.h +251 -0
  332. package/bios/seabios/src/version.c +5 -0
  333. package/bios/seabios/src/vgahooks.c +355 -0
  334. package/bios/seabios/src/x86.c +23 -0
  335. package/bios/seabios/src/x86.h +277 -0
  336. package/bios/seabios/vgasrc/Kconfig +211 -0
  337. package/bios/seabios/vgasrc/bochsdisplay.c +59 -0
  338. package/bios/seabios/vgasrc/bochsvga.c +447 -0
  339. package/bios/seabios/vgasrc/bochsvga.h +57 -0
  340. package/bios/seabios/vgasrc/cbvga.c +337 -0
  341. package/bios/seabios/vgasrc/clext.c +627 -0
  342. package/bios/seabios/vgasrc/geodevga.c +434 -0
  343. package/bios/seabios/vgasrc/geodevga.h +89 -0
  344. package/bios/seabios/vgasrc/ramfb.c +163 -0
  345. package/bios/seabios/vgasrc/stdvga.c +485 -0
  346. package/bios/seabios/vgasrc/stdvga.h +81 -0
  347. package/bios/seabios/vgasrc/stdvgaio.c +186 -0
  348. package/bios/seabios/vgasrc/stdvgamodes.c +534 -0
  349. package/bios/seabios/vgasrc/swcursor.c +96 -0
  350. package/bios/seabios/vgasrc/vbe.c +432 -0
  351. package/bios/seabios/vgasrc/vgabios.c +1131 -0
  352. package/bios/seabios/vgasrc/vgabios.h +88 -0
  353. package/bios/seabios/vgasrc/vgaentry.S +161 -0
  354. package/bios/seabios/vgasrc/vgafb.c +661 -0
  355. package/bios/seabios/vgasrc/vgafb.h +42 -0
  356. package/bios/seabios/vgasrc/vgafonts.c +785 -0
  357. package/bios/seabios/vgasrc/vgahw.h +152 -0
  358. package/bios/seabios/vgasrc/vgainit.c +202 -0
  359. package/bios/seabios/vgasrc/vgalayout.lds.S +23 -0
  360. package/bios/seabios/vgasrc/vgautil.h +103 -0
  361. package/bios/seabios/vgasrc/vgaversion.c +6 -0
  362. package/build/binaries.js +1 -1
  363. package/build/index-debug.cjs +1 -1
  364. package/build/index-debug.js +1 -1
  365. package/build/index.cjs +1 -1
  366. package/build/index.js +1 -1
  367. package/build/v86-debug.wasm +0 -0
  368. package/build/v86.wasm +0 -0
  369. package/package.json +1 -1
@@ -0,0 +1,579 @@
1
+ # Kconfig SeaBIOS configuration
2
+
3
+ mainmenu "SeaBIOS Configuration"
4
+
5
+ menu "General Features"
6
+
7
+ choice
8
+ prompt "Build Target"
9
+ default QEMU
10
+
11
+ config COREBOOT
12
+ bool "Build for coreboot"
13
+ help
14
+ Configure as a coreboot payload.
15
+
16
+ config QEMU
17
+ bool "Build for QEMU/Xen/KVM/Bochs"
18
+ select QEMU_HARDWARE
19
+ help
20
+ Configure for an emulated machine (QEMU, Xen, KVM, or Bochs).
21
+
22
+ config CSM
23
+ bool "Build as Compatibility Support Module for EFI BIOS"
24
+ help
25
+ Configure to be used by EFI firmware as Compatibility Support
26
+ module (CSM) to provide legacy BIOS services.
27
+
28
+ endchoice
29
+
30
+ config QEMU_HARDWARE
31
+ bool "Support hardware found on emulators (QEMU/Xen/KVM/Bochs)" if !QEMU
32
+ default n
33
+ help
34
+ Support virtual hardware when the code detects it is
35
+ running on an emulator.
36
+
37
+ config XEN
38
+ depends on QEMU
39
+ bool "Support Xen HVM"
40
+ default y
41
+ help
42
+ Configure to be used by xen hvmloader, for a HVM guest.
43
+
44
+ config THREADS
45
+ bool "Parallelize hardware init"
46
+ default y
47
+ help
48
+ Support running hardware initialization in parallel.
49
+
50
+ config RELOCATE_INIT
51
+ bool "Copy init code to high memory"
52
+ default y
53
+ help
54
+ Support relocating the one time initialization code to high memory.
55
+
56
+ config BOOTMENU
57
+ depends on BOOT
58
+ bool "Bootmenu"
59
+ default y
60
+ help
61
+ Support an interactive boot menu at end of post.
62
+ config BOOTSPLASH
63
+ depends on BOOTMENU
64
+ bool "Graphical boot splash screen"
65
+ default y
66
+ help
67
+ Support showing a graphical boot splash screen.
68
+ config BOOTORDER
69
+ depends on BOOT
70
+ bool "Boot ordering"
71
+ default y
72
+ help
73
+ Support controlling of the boot order via the fw_cfg/CBFS
74
+ "bootorder" file.
75
+
76
+ config COREBOOT_FLASH
77
+ depends on COREBOOT
78
+ bool "coreboot CBFS support"
79
+ default y
80
+ help
81
+ Support searching coreboot flash format.
82
+ config LZMA
83
+ depends on COREBOOT_FLASH
84
+ bool "CBFS lzma support"
85
+ default y
86
+ help
87
+ Support CBFS files compressed using the lzma decompression
88
+ algorithm.
89
+ config CBFS_LOCATION
90
+ depends on COREBOOT_FLASH
91
+ hex "CBFS memory end location"
92
+ default 0
93
+ help
94
+ Memory address of where the CBFS data ends. This should
95
+ be zero for normal builds. It may be a non-zero value if
96
+ the CBFS filesystem is at a non-standard location (eg,
97
+ 0xffe00000 if CBFS ends 2Meg below the end of flash).
98
+
99
+ config MULTIBOOT
100
+ depends on COREBOOT
101
+ bool "multiboot support"
102
+ default y
103
+ help
104
+ Add multiboot header in bios.bin.raw and accept files supplied
105
+ as multiboot modules.
106
+ config ENTRY_EXTRASTACK
107
+ bool "Use internal stack for 16bit interrupt entry points"
108
+ default y
109
+ help
110
+ Utilize an internal stack for all the legacy 16bit
111
+ interrupt entry points. This reduces the amount of space
112
+ on the caller's stack that SeaBIOS uses. This may
113
+ adversely impact any legacy operating systems that call
114
+ the BIOS in 16bit protected mode.
115
+
116
+ config MALLOC_UPPERMEMORY
117
+ bool "Allocate memory that needs to be in first Meg above 0xc0000"
118
+ default y
119
+ help
120
+ Use the "Upper Memory Block" area (0xc0000-0xf0000) for
121
+ internal "low memory" allocations. If this is not
122
+ selected, the memory is instead allocated from the
123
+ "9-segment" (0x90000-0xa0000).
124
+
125
+ config ROM_SIZE
126
+ int "ROM size (in KB)"
127
+ default 0
128
+ help
129
+ Set the ROM size. Say '0' here to make seabios figure the
130
+ needed size automatically.
131
+
132
+ Currently SeaBIOS will easily fit into 256 KB. To make it fit
133
+ it into 128 KB (which was big enouth for a long time) you'll
134
+ probably have to disable some featues such as xhci support.
135
+
136
+ endmenu
137
+
138
+ menu "Hardware support"
139
+ config ATA
140
+ depends on DRIVES
141
+ bool "ATA controllers"
142
+ default y
143
+ help
144
+ Support for IDE disk code.
145
+ config ATA_DMA
146
+ depends on ATA
147
+ bool "ATA DMA"
148
+ default n
149
+ help
150
+ Detect and try to use ATA bus mastering DMA controllers.
151
+ config ATA_PIO32
152
+ depends on ATA
153
+ bool "ATA 32bit PIO"
154
+ default n
155
+ help
156
+ Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
157
+ config AHCI
158
+ depends on DRIVES
159
+ bool "AHCI controllers"
160
+ default y
161
+ help
162
+ Support for AHCI disk code.
163
+ config SDCARD
164
+ depends on DRIVES
165
+ bool "SD controllers"
166
+ default y
167
+ help
168
+ Support for SD cards on PCI host controllers.
169
+ config VIRTIO_BLK
170
+ depends on DRIVES && QEMU_HARDWARE
171
+ bool "virtio-blk controllers"
172
+ default y
173
+ help
174
+ Support boot from virtio-blk storage.
175
+ config VIRTIO_SCSI
176
+ depends on DRIVES && QEMU_HARDWARE
177
+ bool "virtio-scsi controllers"
178
+ default y
179
+ help
180
+ Support boot from virtio-scsi storage.
181
+ config PVSCSI
182
+ depends on DRIVES && QEMU_HARDWARE
183
+ bool "PVSCSI controllers"
184
+ default y
185
+ help
186
+ Support boot from Paravirtualized SCSI storage. This kind of storage
187
+ is mainly supported by VMware ESX hypervisor. It is commonly used
188
+ to allow fast storage access by communicating directly with the
189
+ underlying hypervisor. Enabling this type of boot will allow
190
+ booting directly from images imported from an ESX platform,
191
+ without the need to use slower emulation of storage controllers
192
+ such as IDE.
193
+ config ESP_SCSI
194
+ depends on DRIVES && QEMU_HARDWARE
195
+ bool "AMD PCscsi controllers"
196
+ default y
197
+ help
198
+ Support boot from AMD PCscsi storage.
199
+ config LSI_SCSI
200
+ depends on DRIVES && QEMU_HARDWARE
201
+ bool "lsi53c895a scsi controllers"
202
+ default y
203
+ help
204
+ Support boot from qemu-emulated lsi53c895a scsi storage.
205
+ config MEGASAS
206
+ depends on DRIVES
207
+ bool "LSI MegaRAID SAS controllers"
208
+ default y
209
+ help
210
+ Support boot from LSI MegaRAID SAS scsi storage.
211
+ config MPT_SCSI
212
+ depends on DRIVES && QEMU_HARDWARE
213
+ bool "LSI MPT Fusion controllers"
214
+ default y
215
+ help
216
+ Support boot from LSI MPT Fusion scsi storage.
217
+ config FLOPPY
218
+ depends on DRIVES && HARDWARE_IRQ
219
+ bool "Floppy controller"
220
+ default y
221
+ help
222
+ Support floppy drive access.
223
+ config FLASH_FLOPPY
224
+ depends on DRIVES
225
+ bool "Floppy images from CBFS or fw_cfg"
226
+ default y
227
+ help
228
+ Support floppy images stored in coreboot flash or from
229
+ QEMU fw_cfg.
230
+ config NVME
231
+ depends on DRIVES
232
+ bool "NVMe controllers"
233
+ default y
234
+ help
235
+ Support for NVMe disk code.
236
+
237
+ config PS2PORT
238
+ depends on KEYBOARD || MOUSE
239
+ bool "PS/2 port"
240
+ default y
241
+ help
242
+ Support PS2 ports (keyboard and mouse).
243
+
244
+ config USB
245
+ bool "USB"
246
+ default y
247
+ help
248
+ Support USB devices.
249
+ config USB_UHCI
250
+ depends on USB
251
+ bool "USB UHCI controllers"
252
+ default y
253
+ help
254
+ Support USB UHCI controllers.
255
+ config USB_OHCI
256
+ depends on USB
257
+ bool "USB OHCI controllers"
258
+ default y
259
+ help
260
+ Support USB OHCI controllers.
261
+ config USB_EHCI
262
+ depends on USB
263
+ bool "USB EHCI controllers"
264
+ default y
265
+ help
266
+ Support USB EHCI controllers.
267
+ config USB_XHCI
268
+ depends on USB
269
+ bool "USB XHCI controllers"
270
+ default y
271
+ help
272
+ Support USB XHCI controllers.
273
+ config USB_MSC
274
+ depends on USB && DRIVES
275
+ bool "USB drives"
276
+ default y
277
+ help
278
+ Support USB BOT (bulk-only transport) disks.
279
+ config USB_UAS
280
+ depends on USB && DRIVES
281
+ bool "UAS drives"
282
+ default y
283
+ help
284
+ Support USB UAS (usb attached scsi) disks.
285
+ config USB_HUB
286
+ depends on USB
287
+ bool "USB hubs"
288
+ default y
289
+ help
290
+ Support USB hubs.
291
+ config USB_KEYBOARD
292
+ depends on USB && KEYBOARD
293
+ bool "USB keyboards"
294
+ default y
295
+ help
296
+ Support USB keyboards.
297
+ config USB_MOUSE
298
+ depends on USB && MOUSE
299
+ bool "USB mice"
300
+ default y
301
+ help
302
+ Support USB mice.
303
+
304
+ config SERIAL
305
+ bool "Serial port"
306
+ default y
307
+ help
308
+ Support serial ports. This also enables int 14 serial port calls.
309
+ config SERCON
310
+ bool "Serial console"
311
+ default y
312
+ help
313
+ Support redirecting vga output to the serial console.
314
+ config LPT
315
+ bool "Parallel port"
316
+ default y
317
+ help
318
+ Support parallel ports. This also enables int 17 parallel port calls.
319
+ config RTC_TIMER
320
+ bool "Real Time Clock (RTC) scheduling"
321
+ depends on HARDWARE_IRQ
322
+ default y
323
+ help
324
+ Support MC146818 Real Time Clock chip timer
325
+ interrupts. This also enables int 1583 and int 1586 calls.
326
+
327
+ Disabling this support does not disable access to the RTC
328
+ cmos registers.
329
+
330
+ config HARDWARE_IRQ
331
+ bool "Hardware interrupts"
332
+ default y
333
+ help
334
+ Program and support hardware interrupts using the i8259
335
+ programmable interrupt controller (PIC). This option must
336
+ be enabled in order to support most boot loaders. Only
337
+ disable this option if running on peculiar hardware known
338
+ not to support irq routing.
339
+
340
+ config USE_SMM
341
+ depends on QEMU
342
+ bool "System Management Mode (SMM)"
343
+ default y
344
+ help
345
+ Support System Management Mode (on emulators).
346
+ config CALL32_SMM
347
+ bool
348
+ depends on USE_SMM
349
+ default y
350
+ config MTRR_INIT
351
+ depends on QEMU
352
+ bool "Initialize MTRRs"
353
+ default y
354
+ help
355
+ Initialize the Memory Type Range Registers (on emulators).
356
+ config PMTIMER
357
+ bool "Support ACPI timer"
358
+ default y
359
+ help
360
+ Detect and use the ACPI timer for timekeeping.
361
+ config TSC_TIMER
362
+ bool "Support CPU timestamp counter as timer"
363
+ default y
364
+ help
365
+ Support for using the CPU timestamp counter as an internal
366
+ timing source.
367
+ endmenu
368
+
369
+ menu "BIOS interfaces"
370
+ config DRIVES
371
+ bool "Drive interface"
372
+ default y
373
+ help
374
+ Support int13 disk/floppy drive functions.
375
+
376
+ config CDROM_BOOT
377
+ depends on DRIVES
378
+ bool "DVD/CDROM booting"
379
+ default y
380
+ help
381
+ Support for booting from a CD. (El Torito spec support.)
382
+ config CDROM_EMU
383
+ depends on CDROM_BOOT
384
+ bool "DVD/CDROM boot drive emulation"
385
+ default y
386
+ help
387
+ Support bootable CDROMs that emulate a floppy/harddrive.
388
+
389
+ config PCIBIOS
390
+ bool "PCIBIOS interface"
391
+ default y
392
+ help
393
+ Support int 1a/b1 PCI BIOS calls.
394
+ config APMBIOS
395
+ bool "APM interface"
396
+ default y
397
+ help
398
+ Support int 15/53 APM BIOS calls.
399
+ config PNPBIOS
400
+ bool "PnP BIOS interface"
401
+ default y
402
+ help
403
+ Support PnP BIOS entry point.
404
+ config OPTIONROMS
405
+ bool "Option ROMS"
406
+ default y
407
+ help
408
+ Support finding and running option roms during POST.
409
+ config PMM
410
+ depends on OPTIONROMS
411
+ bool "PMM interface"
412
+ default y
413
+ help
414
+ Support Post Memory Manager (PMM) entry point.
415
+ config BOOT
416
+ bool "Boot interface"
417
+ default y
418
+ help
419
+ Support int 19/18 system bootup support.
420
+ config KEYBOARD
421
+ bool "Keyboard interface"
422
+ default y
423
+ help
424
+ Support int 16 keyboard calls.
425
+ config KBD_CALL_INT15_4F
426
+ depends on KEYBOARD
427
+ bool "Keyboard hook interface"
428
+ default y
429
+ help
430
+ Support calling int155f on each keyboard event.
431
+ config MOUSE
432
+ bool "Mouse interface"
433
+ default y
434
+ help
435
+ Support for int15c2 mouse calls.
436
+
437
+ config S3_RESUME
438
+ bool "S3 resume"
439
+ default y
440
+ help
441
+ Support S3 resume handler.
442
+
443
+ config VGAHOOKS
444
+ bool "Hardware specific VGA helpers"
445
+ default y
446
+ help
447
+ Support int 155f BIOS callbacks specific to some Intel and
448
+ VIA on-board vga devices.
449
+
450
+ config DISABLE_A20
451
+ bool "Disable A20"
452
+ default n
453
+ help
454
+ Disable A20 on 16bit boot.
455
+
456
+ config WRITABLE_UPPERMEMORY
457
+ depends on QEMU
458
+ bool "Make unused UMB memory read/writeable."
459
+ default n
460
+ help
461
+ When selected, the "Upper Memory Block" area
462
+ (0x90000-0xa0000) that is not used for option roms will be
463
+ made writable. This allows the ram to be directly
464
+ modified by programs. However, some old DOS high memory
465
+ managers may require the UMB region to be read-only.
466
+
467
+ config TCGBIOS
468
+ depends on S3_RESUME
469
+ bool "TPM support and TCG BIOS extensions"
470
+ default y
471
+ help
472
+ Provide TPM support along with TCG BIOS extensions
473
+
474
+ endmenu
475
+
476
+ menu "BIOS Tables"
477
+ depends on QEMU
478
+ config PIRTABLE
479
+ bool "PIR table"
480
+ default y
481
+ help
482
+ Support generation of a PIR table in 0xf000 segment.
483
+ config MPTABLE
484
+ bool "MPTable"
485
+ default y
486
+ help
487
+ Support generation of MPTable.
488
+ config SMBIOS
489
+ bool "SMBIOS"
490
+ default y
491
+ help
492
+ Support generation of SM BIOS tables. This is also
493
+ sometimes called DMI.
494
+ config ACPI
495
+ bool "ACPI"
496
+ default y
497
+ help
498
+ Support generation of ACPI tables.
499
+ config ACPI_DSDT
500
+ bool "Include default ACPI DSDT"
501
+ default y
502
+ depends on ACPI
503
+ help
504
+ Include default DSDT ACPI table in BIOS.
505
+ Required for QEMU 1.3 and older.
506
+ This option can be disabled for QEMU 1.4 and newer
507
+ to save some space in the ROM file.
508
+ If unsure, say Y.
509
+ config FW_ROMFILE_LOAD
510
+ bool "Load BIOS tables from ROM files"
511
+ depends on QEMU_HARDWARE
512
+ default y
513
+ help
514
+ Support loading BIOS firmware tables from ROM files.
515
+ At the moment, only ACPI tables can be loaded in this way.
516
+ Required for QEMU 1.7 and newer.
517
+ This option can be disabled for QEMU 1.6 and older
518
+ to save some space in the ROM file.
519
+ If unsure, say Y.
520
+ endmenu
521
+
522
+ source vgasrc/Kconfig
523
+
524
+ menu "Debugging"
525
+ config DEBUG_LEVEL
526
+ int "Debug level"
527
+ default 1
528
+ help
529
+ Control how verbose debug output is. The higher the
530
+ number, the more verbose SeaBIOS will be.
531
+
532
+ Set to zero to disable debugging.
533
+
534
+ config DEBUG_SERIAL
535
+ depends on DEBUG_LEVEL != 0
536
+ bool "Serial port debugging"
537
+ default n
538
+ help
539
+ Send debugging information to serial port.
540
+ config DEBUG_SERIAL_PORT
541
+ depends on DEBUG_SERIAL
542
+ hex "Serial port base address"
543
+ default 0x3f8
544
+ help
545
+ Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
546
+ config DEBUG_SERIAL_MMIO
547
+ depends on DEBUG_LEVEL != 0 && !DEBUG_SERIAL
548
+ bool "Serial port debugging via memory mapped IO"
549
+ default n
550
+ help
551
+ Send debugging information to serial port mapped in memory.
552
+ config DEBUG_SERIAL_MEM_ADDRESS
553
+ depends on DEBUG_SERIAL_MMIO
554
+ hex "Serial port memory mapped IO address"
555
+ help
556
+ On some chipsets the serial port is memory mapped, in those cases
557
+ provide the 32 bit address. E.g. 0xFEDC6000 for the AMD Kern
558
+ (a.k.a Hudson UART).
559
+
560
+ config DEBUG_IO
561
+ depends on QEMU_HARDWARE && DEBUG_LEVEL != 0
562
+ bool "Special IO port debugging"
563
+ default y
564
+ help
565
+ Some emulators or hypervisors provide with a way to output debug
566
+ information by outputing strings in a special port present in the
567
+ IO space.
568
+
569
+ config DEBUG_COREBOOT
570
+ depends on COREBOOT && DEBUG_LEVEL != 0
571
+ bool "coreboot cbmem debug logging"
572
+ default y
573
+ help
574
+ Send debugging information to the coreboot cbmem console buffer.
575
+ Needs CONFIG_CONSOLE_CBMEM in coreboot. You can read the log
576
+ after boot using 'cbmem -c'. Only 32bit code (basically every-
577
+ thing before booting the OS) writes to the log buffer.
578
+
579
+ endmenu