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,152 @@
1
+ #ifndef __VGAHW_H
2
+ #define __VGAHW_H
3
+
4
+ #include "types.h" // u8
5
+ #include "config.h" // CONFIG_*
6
+
7
+ #include "bochsvga.h" // bochsvga_set_mode
8
+ #include "stdvga.h" // stdvga_set_mode
9
+ #include "geodevga.h" // geodevga_setup
10
+ #include "vgautil.h" // stdvga_list_modes
11
+
12
+ static inline struct vgamode_s *vgahw_find_mode(int mode) {
13
+ if (CONFIG_VGA_CIRRUS)
14
+ return clext_find_mode(mode);
15
+ if (CONFIG_VGA_BOCHS)
16
+ return bochsvga_find_mode(mode);
17
+ if (CONFIG_VGA_EMULATE_TEXT)
18
+ return cbvga_find_mode(mode);
19
+ return stdvga_find_mode(mode);
20
+ }
21
+
22
+ static inline int vgahw_set_mode(struct vgamode_s *vmode_g, int flags) {
23
+ if (CONFIG_VGA_CIRRUS)
24
+ return clext_set_mode(vmode_g, flags);
25
+ if (CONFIG_VGA_BOCHS)
26
+ return bochsvga_set_mode(vmode_g, flags);
27
+ if (CONFIG_VGA_EMULATE_TEXT)
28
+ return cbvga_set_mode(vmode_g, flags);
29
+ return stdvga_set_mode(vmode_g, flags);
30
+ }
31
+
32
+ static inline void vgahw_list_modes(u16 seg, u16 *dest, u16 *last) {
33
+ if (CONFIG_VGA_CIRRUS)
34
+ clext_list_modes(seg, dest, last);
35
+ else if (CONFIG_VGA_BOCHS)
36
+ bochsvga_list_modes(seg, dest, last);
37
+ else if (CONFIG_VGA_EMULATE_TEXT)
38
+ cbvga_list_modes(seg, dest, last);
39
+ else
40
+ stdvga_list_modes(seg, dest, last);
41
+ }
42
+
43
+ static inline int vgahw_setup(void) {
44
+ if (CONFIG_VGA_CIRRUS)
45
+ return clext_setup();
46
+ if (CONFIG_VGA_BOCHS)
47
+ return bochsvga_setup();
48
+ if (CONFIG_VGA_GEODEGX2 || CONFIG_VGA_GEODELX)
49
+ return geodevga_setup();
50
+ if (CONFIG_VGA_COREBOOT)
51
+ return cbvga_setup();
52
+ if (CONFIG_DISPLAY_BOCHS)
53
+ return bochs_display_setup();
54
+ if (CONFIG_VGA_RAMFB)
55
+ return ramfb_setup();
56
+ return stdvga_setup();
57
+ }
58
+
59
+ static inline int vgahw_get_window(struct vgamode_s *vmode_g, int window) {
60
+ if (CONFIG_VGA_CIRRUS)
61
+ return clext_get_window(vmode_g, window);
62
+ if (CONFIG_VGA_BOCHS)
63
+ return bochsvga_get_window(vmode_g, window);
64
+ if (CONFIG_VGA_EMULATE_TEXT)
65
+ return cbvga_get_window(vmode_g, window);
66
+ return stdvga_get_window(vmode_g, window);
67
+ }
68
+
69
+ static inline int vgahw_set_window(struct vgamode_s *vmode_g, int window
70
+ , int val) {
71
+ if (CONFIG_VGA_CIRRUS)
72
+ return clext_set_window(vmode_g, window, val);
73
+ if (CONFIG_VGA_BOCHS)
74
+ return bochsvga_set_window(vmode_g, window, val);
75
+ if (CONFIG_VGA_EMULATE_TEXT)
76
+ return cbvga_set_window(vmode_g, window, val);
77
+ return stdvga_set_window(vmode_g, window, val);
78
+ }
79
+
80
+ static inline int vgahw_get_linelength(struct vgamode_s *vmode_g) {
81
+ if (CONFIG_VGA_CIRRUS)
82
+ return clext_get_linelength(vmode_g);
83
+ if (CONFIG_VGA_BOCHS)
84
+ return bochsvga_get_linelength(vmode_g);
85
+ if (CONFIG_VGA_EMULATE_TEXT)
86
+ return cbvga_get_linelength(vmode_g);
87
+ return stdvga_get_linelength(vmode_g);
88
+ }
89
+
90
+ static inline int vgahw_set_linelength(struct vgamode_s *vmode_g, int val) {
91
+ if (CONFIG_VGA_CIRRUS)
92
+ return clext_set_linelength(vmode_g, val);
93
+ if (CONFIG_VGA_BOCHS)
94
+ return bochsvga_set_linelength(vmode_g, val);
95
+ if (CONFIG_VGA_EMULATE_TEXT)
96
+ return cbvga_set_linelength(vmode_g, val);
97
+ return stdvga_set_linelength(vmode_g, val);
98
+ }
99
+
100
+ static inline int vgahw_get_displaystart(struct vgamode_s *vmode_g) {
101
+ if (CONFIG_VGA_CIRRUS)
102
+ return clext_get_displaystart(vmode_g);
103
+ if (CONFIG_VGA_BOCHS)
104
+ return bochsvga_get_displaystart(vmode_g);
105
+ if (CONFIG_VGA_EMULATE_TEXT)
106
+ return cbvga_get_displaystart(vmode_g);
107
+ return stdvga_get_displaystart(vmode_g);
108
+ }
109
+
110
+ static inline int vgahw_set_displaystart(struct vgamode_s *vmode_g, int val) {
111
+ if (CONFIG_VGA_CIRRUS)
112
+ return clext_set_displaystart(vmode_g, val);
113
+ if (CONFIG_VGA_BOCHS)
114
+ return bochsvga_set_displaystart(vmode_g, val);
115
+ if (CONFIG_VGA_EMULATE_TEXT)
116
+ return cbvga_set_displaystart(vmode_g, val);
117
+ return stdvga_set_displaystart(vmode_g, val);
118
+ }
119
+
120
+ static inline int vgahw_get_dacformat(struct vgamode_s *vmode_g) {
121
+ if (CONFIG_VGA_BOCHS)
122
+ return bochsvga_get_dacformat(vmode_g);
123
+ if (CONFIG_VGA_EMULATE_TEXT)
124
+ return cbvga_get_dacformat(vmode_g);
125
+ return stdvga_get_dacformat(vmode_g);
126
+ }
127
+
128
+ static inline int vgahw_set_dacformat(struct vgamode_s *vmode_g, int val) {
129
+ if (CONFIG_VGA_BOCHS)
130
+ return bochsvga_set_dacformat(vmode_g, val);
131
+ if (CONFIG_VGA_EMULATE_TEXT)
132
+ return cbvga_set_dacformat(vmode_g, val);
133
+ return stdvga_set_dacformat(vmode_g, val);
134
+ }
135
+
136
+ static inline int vgahw_save_restore(int cmd, u16 seg, void *data) {
137
+ if (CONFIG_VGA_CIRRUS)
138
+ return clext_save_restore(cmd, seg, data);
139
+ if (CONFIG_VGA_BOCHS)
140
+ return bochsvga_save_restore(cmd, seg, data);
141
+ if (CONFIG_VGA_EMULATE_TEXT)
142
+ return cbvga_save_restore(cmd, seg, data);
143
+ return stdvga_save_restore(cmd, seg, data);
144
+ }
145
+
146
+ static inline int vgahw_get_linesize(struct vgamode_s *vmode_g) {
147
+ if (CONFIG_VGA_EMULATE_TEXT)
148
+ return cbvga_get_linesize(vmode_g);
149
+ return stdvga_get_linesize(vmode_g);
150
+ }
151
+
152
+ #endif // vgahw.h
@@ -0,0 +1,202 @@
1
+ // Main VGA bios initialization
2
+ //
3
+ // Copyright (C) 2009-2013 Kevin O'Connor <kevin@koconnor.net>
4
+ // Copyright (C) 2001-2008 the LGPL VGABios developers Team
5
+ //
6
+ // This file may be distributed under the terms of the GNU LGPLv3 license.
7
+
8
+ #include "biosvar.h" // SET_BDA
9
+ #include "bregs.h" // struct bregs
10
+ #include "hw/pci.h" // pci_config_readw
11
+ #include "hw/pci_regs.h" // PCI_VENDOR_ID
12
+ #include "hw/serialio.h" // serial_debug_preinit
13
+ #include "output.h" // dprintf
14
+ #include "std/optionrom.h" // struct pci_data
15
+ #include "std/pmm.h" // struct pmmheader
16
+ #include "string.h" // checksum_far
17
+ #include "vgabios.h" // SET_VGA
18
+ #include "vgahw.h" // vgahw_setup
19
+ #include "vgautil.h" // swcursor_check_event
20
+
21
+ // Type of emulator platform - for dprintf with certain compile options.
22
+ int PlatformRunningOn VAR16;
23
+
24
+
25
+ /****************************************************************
26
+ * PCI Data
27
+ ****************************************************************/
28
+
29
+ struct pci_data rom_pci_data VAR16 VISIBLE16 = {
30
+ .signature = PCI_ROM_SIGNATURE,
31
+ .vendor = CONFIG_VGA_VID,
32
+ .device = CONFIG_VGA_DID,
33
+ .dlen = 0x18,
34
+ .class_hi = 0x300,
35
+ .irevision = 1,
36
+ .type = PCIROM_CODETYPE_X86,
37
+ .indicator = 0x80,
38
+ };
39
+
40
+
41
+ /****************************************************************
42
+ * PMM call and extra stack setup
43
+ ****************************************************************/
44
+
45
+ u32
46
+ allocate_pmm(u32 size, int highmem, int aligned)
47
+ {
48
+ u32 pmmscan;
49
+ for (pmmscan=0; pmmscan < BUILD_BIOS_SIZE; pmmscan+=16) {
50
+ struct pmmheader *pmm = (void*)pmmscan;
51
+ if (GET_FARVAR(SEG_BIOS, pmm->signature) != PMM_SIGNATURE)
52
+ continue;
53
+ if (checksum_far(SEG_BIOS, pmm, GET_FARVAR(SEG_BIOS, pmm->length)))
54
+ continue;
55
+ struct segoff_s entry = GET_FARVAR(SEG_BIOS, pmm->entry);
56
+ dprintf(1, "Attempting to allocate %u bytes %s via pmm call to %04x:%04x\n"
57
+ , size, highmem ? "highmem" : "lowmem"
58
+ , entry.seg, entry.offset);
59
+ u16 res1, res2;
60
+ u16 flags = 8 |
61
+ ( highmem ? 2 : 1 )|
62
+ ( aligned ? 4 : 0 );
63
+ size >>= 4;
64
+ asm volatile(
65
+ "pushl %0\n"
66
+ "pushw %2\n" // flags
67
+ "pushl $0xffffffff\n" // Anonymous handle
68
+ "pushl %1\n" // size
69
+ "pushw $0x00\n" // PMM allocation request
70
+ "lcallw *12(%%esp)\n"
71
+ "addl $16, %%esp\n"
72
+ "cli\n"
73
+ "cld\n"
74
+ : "+r" (entry.segoff), "+r" (size), "+r" (flags),
75
+ "=a" (res1), "=d" (res2) : : "cc", "memory");
76
+ u32 res = res1 | (res2 << 16);
77
+ if (!res || res == PMM_FUNCTION_NOT_SUPPORTED)
78
+ return 0;
79
+ return res;
80
+ }
81
+ return 0;
82
+ }
83
+
84
+ u16 ExtraStackSeg VAR16 VISIBLE16;
85
+
86
+ static void
87
+ allocate_extra_stack(void)
88
+ {
89
+ if (!CONFIG_VGA_ALLOCATE_EXTRA_STACK)
90
+ return;
91
+ u32 res = allocate_pmm(CONFIG_VGA_EXTRA_STACK_SIZE, 0, 0);
92
+ if (!res)
93
+ return;
94
+ dprintf(1, "VGA stack allocated at %x\n", res);
95
+ SET_VGA(ExtraStackSeg, res >> 4);
96
+ extern void entry_10_extrastack(void);
97
+ SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack));
98
+ return;
99
+ }
100
+
101
+
102
+ /****************************************************************
103
+ * Timer hook
104
+ ****************************************************************/
105
+
106
+ struct segoff_s Timer_Hook_Resume VAR16 VISIBLE16;
107
+
108
+ void VISIBLE16
109
+ handle_timer_hook(void)
110
+ {
111
+ swcursor_check_event();
112
+ }
113
+
114
+ static void
115
+ hook_timer_irq(void)
116
+ {
117
+ if (!CONFIG_VGA_EMULATE_TEXT)
118
+ return;
119
+ extern void entry_timer_hook(void);
120
+ extern void entry_timer_hook_extrastack(void);
121
+ struct segoff_s oldirq = GET_IVT(0x08);
122
+ struct segoff_s newirq = SEGOFF(get_global_seg(), (u32)entry_timer_hook);
123
+ if (CONFIG_VGA_ALLOCATE_EXTRA_STACK && GET_GLOBAL(ExtraStackSeg))
124
+ newirq = SEGOFF(get_global_seg(), (u32)entry_timer_hook_extrastack);
125
+ dprintf(1, "Hooking hardware timer irq (old=%x new=%x)\n"
126
+ , oldirq.segoff, newirq.segoff);
127
+ SET_VGA(Timer_Hook_Resume, oldirq);
128
+ SET_IVT(0x08, newirq);
129
+ }
130
+
131
+
132
+ /****************************************************************
133
+ * VGA post
134
+ ****************************************************************/
135
+
136
+ static void
137
+ init_bios_area(void)
138
+ {
139
+ // init detected hardware BIOS Area
140
+ // set 80x25 color (not clear from RBIL but usual)
141
+ set_equipment_flags(0x30, 0x20);
142
+
143
+ // Set the basic modeset options
144
+ SET_BDA(modeset_ctl, 0x51);
145
+
146
+ SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff);
147
+
148
+ // FIXME
149
+ SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but...
150
+ SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but...
151
+ }
152
+
153
+ int VgaBDF VAR16 = -1;
154
+ int HaveRunInit VAR16;
155
+
156
+ void VISIBLE16
157
+ vga_post(struct bregs *regs)
158
+ {
159
+ serial_debug_preinit();
160
+ dprintf(1, "Start SeaVGABIOS (version %s)\n", VERSION);
161
+ dprintf(1, "VGABUILD: %s\n", BUILDINFO);
162
+ debug_enter(regs, DEBUG_VGA_POST);
163
+
164
+ if (CONFIG_VGA_PCI && !GET_GLOBAL(HaveRunInit)) {
165
+ u16 bdf = regs->ax;
166
+ if ((pci_config_readw(bdf, PCI_VENDOR_ID)
167
+ == GET_GLOBAL(rom_pci_data.vendor))
168
+ && (pci_config_readw(bdf, PCI_DEVICE_ID)
169
+ == GET_GLOBAL(rom_pci_data.device)))
170
+ SET_VGA(VgaBDF, bdf);
171
+ }
172
+
173
+ int ret = vgahw_setup();
174
+ if (ret) {
175
+ dprintf(1, "Failed to initialize VGA hardware. Exiting.\n");
176
+ return;
177
+ }
178
+
179
+ if (GET_GLOBAL(HaveRunInit))
180
+ return;
181
+
182
+ init_bios_area();
183
+
184
+ if (CONFIG_VGA_STDVGA_PORTS)
185
+ stdvga_build_video_param();
186
+
187
+ extern void entry_10(void);
188
+ SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10));
189
+
190
+ allocate_extra_stack();
191
+
192
+ hook_timer_irq();
193
+
194
+ SET_VGA(HaveRunInit, 1);
195
+
196
+ // Fixup checksum
197
+ extern u8 _rom_header_size, _rom_header_checksum;
198
+ SET_VGA(_rom_header_checksum, 0);
199
+ u8 sum = -checksum_far(get_global_seg(), 0,
200
+ GET_GLOBAL(_rom_header_size) * 512);
201
+ SET_VGA(_rom_header_checksum, sum);
202
+ }
@@ -0,0 +1,23 @@
1
+ // Linker definitions for an option rom
2
+ //
3
+ // Copyright (C) 2009 Kevin O'Connor <kevin@koconnor.net>
4
+ //
5
+ // This file may be distributed under the terms of the GNU LGPLv3 license.
6
+
7
+ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
8
+ OUTPUT_ARCH("i386")
9
+ ENTRY(_optionrom_entry)
10
+ SECTIONS
11
+ {
12
+ .text 0 : {
13
+ KEEP(*(.rom.header))
14
+ *(.text.*)
15
+ _rodata = . ;
16
+ *(.rodata*)
17
+ *(.data16.*)
18
+ }
19
+
20
+ // Discard regular data sections to force a link error if
21
+ // 16bit code attempts to access data not marked with VAR16.
22
+ /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
23
+ }
@@ -0,0 +1,103 @@
1
+ // Misc function and variable declarations.
2
+ #ifndef __VGAUTIL_H
3
+ #define __VGAUTIL_H
4
+
5
+ #include "types.h" // u8
6
+
7
+ // cbvga.c
8
+ struct vgamode_s *cbvga_find_mode(int mode);
9
+ void cbvga_list_modes(u16 seg, u16 *dest, u16 *last);
10
+ int cbvga_get_window(struct vgamode_s *vmode_g, int window);
11
+ int cbvga_set_window(struct vgamode_s *vmode_g, int window, int val);
12
+ int cbvga_get_linelength(struct vgamode_s *vmode_g);
13
+ int cbvga_set_linelength(struct vgamode_s *vmode_g, int val);
14
+ int cbvga_get_displaystart(struct vgamode_s *vmode_g);
15
+ int cbvga_set_displaystart(struct vgamode_s *vmode_g, int val);
16
+ int cbvga_get_dacformat(struct vgamode_s *vmode_g);
17
+ int cbvga_set_dacformat(struct vgamode_s *vmode_g, int val);
18
+ int cbvga_save_restore(int cmd, u16 seg, void *data);
19
+ int cbvga_set_mode(struct vgamode_s *vmode_g, int flags);
20
+ int cbvga_get_linesize(struct vgamode_s *vmode_g);
21
+ void cbvga_setup_modes(u64 addr, u8 bpp, u32 xlines, u32 ylines, u32 linelength);
22
+ int cbvga_setup(void);
23
+
24
+ // bochsdisplay.c
25
+ int bochs_display_setup(void);
26
+
27
+ // ramfb.c
28
+ int ramfb_setup(void);
29
+
30
+ // clext.c
31
+ struct vgamode_s *clext_find_mode(int mode);
32
+ void clext_list_modes(u16 seg, u16 *dest, u16 *last);
33
+ int clext_get_window(struct vgamode_s *vmode_g, int window);
34
+ int clext_set_window(struct vgamode_s *vmode_g, int window, int val);
35
+ int clext_get_linelength(struct vgamode_s *vmode_g);
36
+ int clext_set_linelength(struct vgamode_s *vmode_g, int val);
37
+ int clext_get_displaystart(struct vgamode_s *vmode_g);
38
+ int clext_set_displaystart(struct vgamode_s *vmode_g, int val);
39
+ int clext_save_restore(int cmd, u16 seg, void *data);
40
+ int clext_set_mode(struct vgamode_s *vmode_g, int flags);
41
+ struct bregs;
42
+ void clext_1012(struct bregs *regs);
43
+ int clext_setup(void);
44
+
45
+ // stdvgaio.c
46
+ u8 stdvga_pelmask_read(void);
47
+ void stdvga_pelmask_write(u8 val);
48
+ u8 stdvga_misc_read(void);
49
+ void stdvga_misc_write(u8 value);
50
+ void stdvga_misc_mask(u8 off, u8 on);
51
+ u8 stdvga_sequ_read(u8 index);
52
+ void stdvga_sequ_write(u8 index, u8 value);
53
+ void stdvga_sequ_mask(u8 index, u8 off, u8 on);
54
+ u8 stdvga_grdc_read(u8 index);
55
+ void stdvga_grdc_write(u8 index, u8 value);
56
+ void stdvga_grdc_mask(u8 index, u8 off, u8 on);
57
+ u8 stdvga_crtc_read(u16 crtc_addr, u8 index);
58
+ void stdvga_crtc_write(u16 crtc_addr, u8 index, u8 value);
59
+ void stdvga_crtc_mask(u16 crtc_addr, u8 index, u8 off, u8 on);
60
+ u8 stdvga_attr_read(u8 index);
61
+ void stdvga_attr_write(u8 index, u8 value);
62
+ void stdvga_attr_mask(u8 index, u8 off, u8 on);
63
+ u8 stdvga_attrindex_read(void);
64
+ void stdvga_attrindex_write(u8 value);
65
+ void stdvga_dac_read(u16 seg, u8 *data_far, u8 start, int count);
66
+ void stdvga_dac_write(u16 seg, u8 *data_far, u8 start, int count);
67
+
68
+ // stdvgamodes.c
69
+ struct vgamode_s *stdvga_find_mode(int mode);
70
+ void stdvga_list_modes(u16 seg, u16 *dest, u16 *last);
71
+ void stdvga_build_video_param(void);
72
+ void stdvga_override_crtc(int mode, u8 *crtc);
73
+ int stdvga_set_mode(struct vgamode_s *vmode_g, int flags);
74
+ int stdvga_get_linesize(struct vgamode_s *vmode_g);
75
+ void stdvga_set_packed_palette(void);
76
+
77
+ // swcursor.c
78
+ void swcursor_pre_handle10(struct bregs *regs);
79
+ void swcursor_check_event(void);
80
+
81
+ // vbe.c
82
+ extern u32 VBE_total_memory;
83
+ extern u32 VBE_capabilities;
84
+ extern u32 VBE_framebuffer;
85
+ extern u16 VBE_win_granularity;
86
+ void handle_104f(struct bregs *regs);
87
+
88
+ // vgafonts.c
89
+ extern u8 vgafont8[];
90
+ extern u8 vgafont14[];
91
+ extern u8 vgafont16[];
92
+ extern u8 vgafont14alt[];
93
+ extern u8 vgafont16alt[];
94
+
95
+ // vgainit.c
96
+ extern int VgaBDF;
97
+ extern int HaveRunInit;
98
+ u32 allocate_pmm(u32 size, int highmem, int aligned);
99
+
100
+ // vgaversion.c
101
+ extern const char VERSION[], BUILDINFO[];
102
+
103
+ #endif // vgautil.h
@@ -0,0 +1,6 @@
1
+ // Place build generated version into a C variable
2
+ #include "autovgaversion.h"
3
+ #include "types.h"
4
+
5
+ char VERSION[] VAR16 = BUILD_VERSION;
6
+ char BUILDINFO[] VAR16 = BUILD_TOOLS;