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,152 +0,0 @@
1
- // Support for building memory maps suitable for int 15 e820 calls.
2
- //
3
- // Copyright (C) 2008,2009 Kevin O'Connor <kevin@koconnor.net>
4
- //
5
- // This file may be distributed under the terms of the GNU LGPLv3 license.
6
-
7
- #include "config.h" // BUILD_MAX_E820
8
- #include "e820map.h" // struct e820entry
9
- #include "output.h" // dprintf
10
- #include "string.h" // memmove
11
-
12
-
13
- /****************************************************************
14
- * e820 memory map
15
- ****************************************************************/
16
-
17
- // Info on e820 map location and size.
18
- struct e820entry e820_list[BUILD_MAX_E820] VARFSEG;
19
- int e820_count VARFSEG;
20
-
21
- // Remove an entry from the e820_list.
22
- static void
23
- remove_e820(int i)
24
- {
25
- e820_count--;
26
- memmove(&e820_list[i], &e820_list[i+1]
27
- , sizeof(e820_list[0]) * (e820_count - i));
28
- }
29
-
30
- // Insert an entry in the e820_list at the given position.
31
- static void
32
- insert_e820(int i, u64 start, u64 size, u32 type)
33
- {
34
- if (e820_count >= BUILD_MAX_E820) {
35
- warn_noalloc();
36
- return;
37
- }
38
-
39
- memmove(&e820_list[i+1], &e820_list[i]
40
- , sizeof(e820_list[0]) * (e820_count - i));
41
- e820_count++;
42
- struct e820entry *e = &e820_list[i];
43
- e->start = start;
44
- e->size = size;
45
- e->type = type;
46
- }
47
-
48
- static const char *
49
- e820_type_name(u32 type)
50
- {
51
- switch (type) {
52
- case E820_RAM: return "RAM";
53
- case E820_RESERVED: return "RESERVED";
54
- case E820_ACPI: return "ACPI";
55
- case E820_NVS: return "NVS";
56
- case E820_UNUSABLE: return "UNUSABLE";
57
- default: return "UNKNOWN";
58
- }
59
- }
60
-
61
- // Show the current e820_list.
62
- static void
63
- dump_map(void)
64
- {
65
- dprintf(1, "e820 map has %d items:\n", e820_count);
66
- int i;
67
- for (i=0; i<e820_count; i++) {
68
- struct e820entry *e = &e820_list[i];
69
- u64 e_end = e->start + e->size;
70
- dprintf(1, " %d: %016llx - %016llx = %d %s\n", i
71
- , e->start, e_end, e->type, e820_type_name(e->type));
72
- }
73
- }
74
-
75
- #define E820_HOLE ((u32)-1) // Used internally to remove entries
76
-
77
- // Add a new entry to the list. This scans for overlaps and keeps the
78
- // list sorted.
79
- void
80
- e820_add(u64 start, u64 size, u32 type)
81
- {
82
- dprintf(8, "Add to e820 map: %08llx %08llx %d\n", start, size, type);
83
-
84
- if (! size)
85
- // Huh? Nothing to do.
86
- return;
87
-
88
- // Find position of new item (splitting existing item if needed).
89
- u64 end = start + size;
90
- int i;
91
- for (i=0; i<e820_count; i++) {
92
- struct e820entry *e = &e820_list[i];
93
- u64 e_end = e->start + e->size;
94
- if (start > e_end)
95
- continue;
96
- // Found position - check if an existing item needs to be split.
97
- if (start > e->start) {
98
- if (type == e->type) {
99
- // Same type - merge them.
100
- size += start - e->start;
101
- start = e->start;
102
- } else {
103
- // Split existing item.
104
- e->size = start - e->start;
105
- i++;
106
- if (e_end > end)
107
- insert_e820(i, end, e_end - end, e->type);
108
- }
109
- }
110
- break;
111
- }
112
- // Remove/adjust existing items that are overlapping.
113
- while (i<e820_count) {
114
- struct e820entry *e = &e820_list[i];
115
- if (end < e->start)
116
- // No overlap - done.
117
- break;
118
- u64 e_end = e->start + e->size;
119
- if (end >= e_end) {
120
- // Existing item completely overlapped - remove it.
121
- remove_e820(i);
122
- continue;
123
- }
124
- // Not completely overlapped - adjust its start.
125
- e->start = end;
126
- e->size = e_end - end;
127
- if (type == e->type) {
128
- // Same type - merge them.
129
- size += e->size;
130
- remove_e820(i);
131
- }
132
- break;
133
- }
134
- // Insert new item.
135
- if (type != E820_HOLE)
136
- insert_e820(i, start, size, type);
137
- //dump_map();
138
- }
139
-
140
- // Remove any definitions in a memory range (make a memory hole).
141
- void
142
- e820_remove(u64 start, u64 size)
143
- {
144
- e820_add(start, size, E820_HOLE);
145
- }
146
-
147
- // Report on final memory locations.
148
- void
149
- e820_prepboot(void)
150
- {
151
- dump_map();
152
- }
@@ -1,26 +0,0 @@
1
- #ifndef __E820MAP_H
2
- #define __E820MAP_H
3
-
4
- #include "types.h" // u64
5
-
6
- #define E820_RAM 1
7
- #define E820_RESERVED 2
8
- #define E820_ACPI 3
9
- #define E820_NVS 4
10
- #define E820_UNUSABLE 5
11
-
12
- struct e820entry {
13
- u64 start;
14
- u64 size;
15
- u32 type;
16
- };
17
-
18
- void e820_add(u64 start, u64 size, u32 type);
19
- void e820_remove(u64 start, u64 size);
20
- void e820_prepboot(void);
21
-
22
- // e820 map storage
23
- extern struct e820entry e820_list[];
24
- extern int e820_count;
25
-
26
- #endif // e820map.h
@@ -1,165 +0,0 @@
1
- // Macros for entering C code
2
- //
3
- // Copyright (C) 2008-2014 Kevin O'Connor <kevin@koconnor.net>
4
- //
5
- // This file may be distributed under the terms of the GNU LGPLv3 license.
6
-
7
-
8
- /****************************************************************
9
- * Macros for save and restore of 'struct bregs' registers
10
- ****************************************************************/
11
-
12
- #define PUSHBREGS_size 32
13
-
14
- // Save registers (matches struct bregs) to stack
15
- .macro PUSHBREGS
16
- pushl %eax
17
- pushl %ecx
18
- pushl %edx
19
- pushl %ebx
20
- pushl %ebp
21
- pushl %esi
22
- pushl %edi
23
- pushw %es
24
- pushw %ds
25
- .endm
26
-
27
- // Restore registers (from struct bregs) from stack
28
- .macro POPBREGS
29
- popw %ds
30
- popw %es
31
- popl %edi
32
- popl %esi
33
- popl %ebp
34
- popl %ebx
35
- popl %edx
36
- popl %ecx
37
- popl %eax
38
- .endm
39
-
40
- // Save registers to struct bregs at %ds:%eax. The caller
41
- // should "pushw %ds ; pushl %eax" prior to calling - this macro
42
- // will pop them off.
43
- .macro SAVEBREGS_POP_DSEAX
44
- popl BREGS_eax(%eax)
45
- popw BREGS_ds(%eax)
46
- movl %edi, BREGS_edi(%eax)
47
- movl %esi, BREGS_esi(%eax)
48
- movl %ebp, BREGS_ebp(%eax)
49
- movl %ebx, BREGS_ebx(%eax)
50
- movl %edx, BREGS_edx(%eax)
51
- movl %ecx, BREGS_ecx(%eax)
52
- movw %es, BREGS_es(%eax)
53
- .endm
54
-
55
- // Restore registers from struct bregs at %ds:%eax
56
- .macro RESTOREBREGS_DSEAX
57
- movl BREGS_edi(%eax), %edi
58
- movl BREGS_esi(%eax), %esi
59
- movl BREGS_ebp(%eax), %ebp
60
- movl BREGS_ebx(%eax), %ebx
61
- movl BREGS_edx(%eax), %edx
62
- movl BREGS_ecx(%eax), %ecx
63
- movw BREGS_es(%eax), %es
64
- pushl BREGS_eax(%eax)
65
- movw BREGS_ds(%eax), %ds
66
- popl %eax
67
- .endm
68
-
69
-
70
- /****************************************************************
71
- * Entry macros
72
- ****************************************************************/
73
-
74
- // Call a C function - this does the minimal work necessary to
75
- // call into C. It sets up %ds, backs up %es, and backs up
76
- // those registers that are call clobbered by the C compiler.
77
- .macro ENTRY cfunc
78
- cli // In case something far-calls instead of using "int"
79
- cld
80
- pushl %eax // Save registers clobbered by C code
81
- pushl %ecx
82
- pushl %edx
83
- pushw %es
84
- pushw %ds
85
- movw %ss, %ax // Move %ss to %ds
86
- movw %ax, %ds
87
- pushl %esp // Backup %esp, then clear high bits
88
- movzwl %sp, %esp
89
- calll \cfunc
90
- popl %esp // Restore %esp (including high bits)
91
- popw %ds // Restore registers saved above
92
- popw %es
93
- popl %edx
94
- popl %ecx
95
- popl %eax
96
- .endm
97
-
98
- // Call a C function with current register list as an
99
- // argument. This backs up the registers and sets %eax
100
- // to point to the backup. On return, the registers are
101
- // restored from the structure.
102
- .macro ENTRY_ARG cfunc
103
- cli
104
- cld
105
- PUSHBREGS
106
- movw %ss, %ax // Move %ss to %ds
107
- movw %ax, %ds
108
- movl %esp, %ebx // Backup %esp, then zero high bits
109
- movzwl %sp, %esp
110
- movl %esp, %eax // First arg is pointer to struct bregs
111
- calll \cfunc
112
- movl %ebx, %esp // Restore %esp (including high bits)
113
- POPBREGS
114
- .endm
115
-
116
- // As above, but get calling function from stack.
117
- .macro ENTRY_ARG_ST
118
- cli
119
- cld
120
- pushl %ecx
121
- pushl %edx
122
- pushl %ebx
123
- pushl %ebp
124
- pushl %esi
125
- pushl %edi
126
- pushw %es
127
- pushw %ds
128
- movw %ss, %cx // Move %ss to %ds
129
- movw %cx, %ds
130
- movl %esp, %ebx // Backup %esp, then zero high bits
131
- movzwl %sp, %esp
132
- movl 28(%esp), %ecx // Get calling function
133
- movl %eax, 28(%esp) // Save %eax
134
- movl %esp, %eax // First arg is pointer to struct bregs
135
- calll *%ecx
136
- movl %ebx, %esp // Restore %esp (including high bits)
137
- POPBREGS
138
- .endm
139
-
140
- // Same as ENTRY_ARG, but don't mangle %esp
141
- .macro ENTRY_ARG_ESP cfunc
142
- cli
143
- cld
144
- PUSHBREGS
145
- movw %ss, %ax // Move %ss to %ds
146
- movw %ax, %ds
147
- movl %esp, %eax // First arg is pointer to struct bregs
148
- calll \cfunc
149
- POPBREGS
150
- .endm
151
-
152
- // Reset stack, transition to 32bit mode, and call a C function.
153
- .macro ENTRY_INTO32 cfunc
154
- xorw %dx, %dx
155
- movw %dx, %ss
156
- movl $ BUILD_STACK_ADDR , %esp
157
- movl $ \cfunc , %edx
158
- jmp transition32
159
- .endm
160
-
161
- // Declare a function
162
- .macro DECLFUNC func
163
- .section .text.asm.\func
164
- .global \func
165
- .endm
@@ -1,208 +0,0 @@
1
- // Code to access multiple segments within gcc.
2
- //
3
- // Copyright (C) 2008,2009 Kevin O'Connor <kevin@koconnor.net>
4
- //
5
- // This file may be distributed under the terms of the GNU LGPLv3 license.
6
- #ifndef __FARPTR_H
7
- #define __FARPTR_H
8
-
9
- #include "x86.h" // insb
10
-
11
- // Dummy definitions used to make sure gcc understands dependencies
12
- // between SET_SEG and GET/READ/WRITE_SEG macros.
13
- extern u16 __segment_ES, __segment_CS, __segment_DS, __segment_SS;
14
- extern u16 __segment_FS, __segment_GS;
15
-
16
- // Low level macros for reading/writing memory via a segment selector.
17
- #define READ8_SEG(prefix, SEG, value, var) \
18
- __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \
19
- : "m"(var), "m"(__segment_ ## SEG))
20
- #define READ16_SEG(prefix, SEG, value, var) \
21
- __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \
22
- : "m"(var), "m"(__segment_ ## SEG))
23
- #define READ32_SEG(prefix, SEG, value, var) \
24
- __asm__(prefix "movl %%" #SEG ":%1, %0" : "=ri"(value) \
25
- : "m"(var), "m"(__segment_ ## SEG))
26
- #define READ64_SEG(prefix, SEG, value, var) do { \
27
- union u64_u32_u __value; \
28
- union u64_u32_u *__r64_ptr = (union u64_u32_u *)&(var); \
29
- READ32_SEG(prefix, SEG, __value.lo, __r64_ptr->lo); \
30
- READ32_SEG(prefix, SEG, __value.hi, __r64_ptr->hi); \
31
- *(u64*)&(value) = __value.val; \
32
- } while (0)
33
- #define WRITE8_SEG(prefix, SEG, var, value) \
34
- __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \
35
- : "Q"(value), "m"(__segment_ ## SEG))
36
- #define WRITE16_SEG(prefix, SEG, var, value) \
37
- __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \
38
- : "r"(value), "m"(__segment_ ## SEG))
39
- #define WRITE32_SEG(prefix, SEG, var, value) \
40
- __asm__(prefix "movl %1, %%" #SEG ":%0" : "=m"(var) \
41
- : "r"(value), "m"(__segment_ ## SEG))
42
- #define WRITE64_SEG(prefix, SEG, var, value) do { \
43
- union u64_u32_u __value; \
44
- union u64_u32_u *__w64_ptr = (union u64_u32_u *)&(var); \
45
- typeof(var) __value_tmp = (value); \
46
- __value.val = *(u64*)&__value_tmp; \
47
- WRITE32_SEG(prefix, SEG, __w64_ptr->lo, __value.lo); \
48
- WRITE32_SEG(prefix, SEG, __w64_ptr->hi, __value.hi); \
49
- } while (0)
50
-
51
- // Macros for automatically choosing the appropriate memory size
52
- // access method.
53
- extern void __force_link_error__unknown_type(void);
54
-
55
- #define __GET_VAR(prefix, seg, var) ({ \
56
- typeof(var) __val; \
57
- if (sizeof(__val) == 1) \
58
- READ8_SEG(prefix, seg, __val, var); \
59
- else if (sizeof(__val) == 2) \
60
- READ16_SEG(prefix, seg, __val, var); \
61
- else if (sizeof(__val) == 4) \
62
- READ32_SEG(prefix, seg, __val, var); \
63
- else if (sizeof(__val) == 8) \
64
- READ64_SEG(prefix, seg, __val, var); \
65
- else \
66
- __force_link_error__unknown_type(); \
67
- __val; })
68
-
69
- #define __SET_VAR(prefix, seg, var, val) do { \
70
- if (sizeof(var) == 1) \
71
- WRITE8_SEG(prefix, seg, var, (val)); \
72
- else if (sizeof(var) == 2) \
73
- WRITE16_SEG(prefix, seg, var, (val)); \
74
- else if (sizeof(var) == 4) \
75
- WRITE32_SEG(prefix, seg, var, (val)); \
76
- else if (sizeof(var) == 8) \
77
- WRITE64_SEG(prefix, seg, var, (val)); \
78
- else \
79
- __force_link_error__unknown_type(); \
80
- } while (0)
81
-
82
- #define DECL_SEGFUNCS(SEG) \
83
- static inline void __set_seg_##SEG(u16 seg) { \
84
- __asm__("movw %w1, %%" #SEG : "=m"(__segment_##SEG) \
85
- : "rm"(seg)); \
86
- } \
87
- static inline u16 __get_seg_##SEG(void) { \
88
- u16 res; \
89
- __asm__("movw %%" #SEG ", %w0" : "=rm"(res) \
90
- : "m"(__segment_##SEG)); \
91
- return res; \
92
- }
93
- DECL_SEGFUNCS(CS)
94
- DECL_SEGFUNCS(DS)
95
- DECL_SEGFUNCS(ES)
96
- DECL_SEGFUNCS(FS)
97
- DECL_SEGFUNCS(GS)
98
- DECL_SEGFUNCS(SS)
99
-
100
- // Low level macros for getting/setting a segment register.
101
- #define __SET_SEG(SEG, value) \
102
- __set_seg_##SEG(value)
103
- #define __GET_SEG(SEG) \
104
- __get_seg_##SEG()
105
-
106
- // Macros for accessing a variable in another segment. (They
107
- // automatically update the %es segment and then make the appropriate
108
- // access.)
109
- #define __GET_FARVAR(seg, var) ({ \
110
- SET_SEG(ES, (seg)); \
111
- GET_VAR(ES, (var)); })
112
- #define __SET_FARVAR(seg, var, val) do { \
113
- typeof(var) __sfv_val = (val); \
114
- SET_SEG(ES, (seg)); \
115
- SET_VAR(ES, (var), __sfv_val); \
116
- } while (0)
117
-
118
- // Macros for accesssing a 32bit flat mode pointer from 16bit real
119
- // mode. (They automatically update the %es segment, break the
120
- // pointer into segment/offset, and then make the access.)
121
- #define __GET_FLATPTR(ptr) ({ \
122
- typeof(&(ptr)) __ptr = &(ptr); \
123
- GET_FARVAR(FLATPTR_TO_SEG(__ptr) \
124
- , *(typeof(__ptr))FLATPTR_TO_OFFSET(__ptr)); })
125
- #define __SET_FLATPTR(ptr, val) do { \
126
- typeof (&(ptr)) __ptr = &(ptr); \
127
- SET_FARVAR(FLATPTR_TO_SEG(__ptr) \
128
- , *(typeof(__ptr))FLATPTR_TO_OFFSET(__ptr) \
129
- , (val)); \
130
- } while (0)
131
-
132
- // Macros for converting to/from 32bit flat mode pointers to their
133
- // equivalent 16bit segment/offset values.
134
- #define FLATPTR_TO_SEG(p) (((u32)(p)) >> 4)
135
- #define FLATPTR_TO_OFFSET(p) (((u32)(p)) & 0xf)
136
- #define MAKE_FLATPTR(seg,off) ((void*)(((u32)(seg)<<4)+(u32)(off)))
137
-
138
-
139
- #if MODESEGMENT == 1
140
-
141
- // Definitions when using segmented mode.
142
- #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var))
143
- #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val))
144
- #define GET_VAR(seg, var) __GET_VAR("", seg, (var))
145
- #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val))
146
- #define SET_SEG(SEG, value) __SET_SEG(SEG, (value))
147
- #define GET_SEG(SEG) __GET_SEG(SEG)
148
- #define GET_FLATPTR(ptr) __GET_FLATPTR(ptr)
149
- #define SET_FLATPTR(ptr, val) __SET_FLATPTR((ptr), (val))
150
-
151
- static inline void insb_fl(u16 port, void *ptr_fl, u16 count) {
152
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
153
- insb(port, (u8*)FLATPTR_TO_OFFSET(ptr_fl), count);
154
- }
155
- static inline void insw_fl(u16 port, void *ptr_fl, u16 count) {
156
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
157
- insw(port, (u16*)FLATPTR_TO_OFFSET(ptr_fl), count);
158
- }
159
- static inline void insl_fl(u16 port, void *ptr_fl, u16 count) {
160
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
161
- insl(port, (u32*)FLATPTR_TO_OFFSET(ptr_fl), count);
162
- }
163
- static inline void outsb_fl(u16 port, void *ptr_fl, u16 count) {
164
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
165
- outsb(port, (u8*)FLATPTR_TO_OFFSET(ptr_fl), count);
166
- }
167
- static inline void outsw_fl(u16 port, void *ptr_fl, u16 count) {
168
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
169
- outsw(port, (u16*)FLATPTR_TO_OFFSET(ptr_fl), count);
170
- }
171
- static inline void outsl_fl(u16 port, void *ptr_fl, u16 count) {
172
- SET_SEG(ES, FLATPTR_TO_SEG(ptr_fl));
173
- outsl(port, (u32*)FLATPTR_TO_OFFSET(ptr_fl), count);
174
- }
175
-
176
- #else
177
-
178
- // In 32-bit flat mode there is no need to mess with the segments.
179
- #define GET_FARVAR(seg, var) \
180
- (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var))))
181
- #define SET_FARVAR(seg, var, val) \
182
- do { GET_FARVAR((seg), (var)) = (val); } while (0)
183
- #define GET_VAR(seg, var) (var)
184
- #define SET_VAR(seg, var, val) do { (var) = (val); } while (0)
185
- #define SET_SEG(SEG, value) ((void)(value))
186
- #define GET_SEG(SEG) 0
187
- #define GET_FLATPTR(ptr) (ptr)
188
- #define SET_FLATPTR(ptr, val) do { (ptr) = (val); } while (0)
189
-
190
- #define insb_fl(port, ptr_fl, count) insb(port, ptr_fl, count)
191
- #define insw_fl(port, ptr_fl, count) insw(port, ptr_fl, count)
192
- #define insl_fl(port, ptr_fl, count) insl(port, ptr_fl, count)
193
- #define outsb_fl(port, ptr_fl, count) outsb(port, ptr_fl, count)
194
- #define outsw_fl(port, ptr_fl, count) outsw(port, ptr_fl, count)
195
- #define outsl_fl(port, ptr_fl, count) outsl(port, ptr_fl, count)
196
-
197
- #endif
198
-
199
- #define SEGOFF(s,o) ({struct segoff_s __so; __so.offset=(o); __so.seg=(s); __so;})
200
-
201
- static inline struct segoff_s FLATPTR_TO_SEGOFF(void *p) {
202
- return SEGOFF(FLATPTR_TO_SEG(p), FLATPTR_TO_OFFSET(p));
203
- }
204
- static inline void *SEGOFF_TO_FLATPTR(struct segoff_s so) {
205
- return MAKE_FLATPTR(so.seg, so.offset);
206
- }
207
-
208
- #endif // farptr.h
@@ -1,139 +0,0 @@
1
- #include "types.h" // u8
2
-
3
- // Character Font for 320x200 & 640x200 Graphics (lower 128 characters)
4
-
5
- /*
6
- * This font comes from the fntcol16.zip package (c) by Joseph Gil
7
- * found at ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip
8
- * This font is public domain
9
- */
10
- u8 vgafont8[128*8] VARFSEGFIXED(0xfa6e) = {
11
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12
- 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,
13
- 0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e,
14
- 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00,
15
- 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00,
16
- 0x38, 0x7c, 0x38, 0xfe, 0xfe, 0x7c, 0x38, 0x7c,
17
- 0x10, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x7c,
18
- 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00,
19
- 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff,
20
- 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,
21
- 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff,
22
- 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78,
23
- 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18,
24
- 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x70, 0xf0, 0xe0,
25
- 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x67, 0xe6, 0xc0,
26
- 0x99, 0x5a, 0x3c, 0xe7, 0xe7, 0x3c, 0x5a, 0x99,
27
- 0x80, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0x80, 0x00,
28
- 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00,
29
- 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x7e, 0x3c, 0x18,
30
- 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,
31
- 0x7f, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x00,
32
- 0x3e, 0x63, 0x38, 0x6c, 0x6c, 0x38, 0xcc, 0x78,
33
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00,
34
- 0x18, 0x3c, 0x7e, 0x18, 0x7e, 0x3c, 0x18, 0xff,
35
- 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x00,
36
- 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00,
37
- 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00,
38
- 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00,
39
- 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00,
40
- 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00,
41
- 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0x00,
42
- 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x00, 0x00,
43
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44
- 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00,
45
- 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
46
- 0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00,
47
- 0x30, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x30, 0x00,
48
- 0x00, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xc6, 0x00,
49
- 0x38, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0x76, 0x00,
50
- 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
51
- 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00,
52
- 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,
53
- 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
54
- 0x00, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0x00,
55
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60,
56
- 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
57
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,
58
- 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00,
59
- 0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0x7c, 0x00,
60
- 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xfc, 0x00,
61
- 0x78, 0xcc, 0x0c, 0x38, 0x60, 0xcc, 0xfc, 0x00,
62
- 0x78, 0xcc, 0x0c, 0x38, 0x0c, 0xcc, 0x78, 0x00,
63
- 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x1e, 0x00,
64
- 0xfc, 0xc0, 0xf8, 0x0c, 0x0c, 0xcc, 0x78, 0x00,
65
- 0x38, 0x60, 0xc0, 0xf8, 0xcc, 0xcc, 0x78, 0x00,
66
- 0xfc, 0xcc, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00,
67
- 0x78, 0xcc, 0xcc, 0x78, 0xcc, 0xcc, 0x78, 0x00,
68
- 0x78, 0xcc, 0xcc, 0x7c, 0x0c, 0x18, 0x70, 0x00,
69
- 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00,
70
- 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60,
71
- 0x18, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x18, 0x00,
72
- 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
73
- 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00,
74
- 0x78, 0xcc, 0x0c, 0x18, 0x30, 0x00, 0x30, 0x00,
75
- 0x7c, 0xc6, 0xde, 0xde, 0xde, 0xc0, 0x78, 0x00,
76
- 0x30, 0x78, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0x00,
77
- 0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00,
78
- 0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x00,
79
- 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00,
80
- 0xfe, 0x62, 0x68, 0x78, 0x68, 0x62, 0xfe, 0x00,
81
- 0xfe, 0x62, 0x68, 0x78, 0x68, 0x60, 0xf0, 0x00,
82
- 0x3c, 0x66, 0xc0, 0xc0, 0xce, 0x66, 0x3e, 0x00,
83
- 0xcc, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcc, 0x00,
84
- 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
85
- 0x1e, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00,
86
- 0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00,
87
- 0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00,
88
- 0xc6, 0xee, 0xfe, 0xfe, 0xd6, 0xc6, 0xc6, 0x00,
89
- 0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x00,
90
- 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x00,
91
- 0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00,
92
- 0x78, 0xcc, 0xcc, 0xcc, 0xdc, 0x78, 0x1c, 0x00,
93
- 0xfc, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0xe6, 0x00,
94
- 0x78, 0xcc, 0xe0, 0x70, 0x1c, 0xcc, 0x78, 0x00,
95
- 0xfc, 0xb4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
96
- 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc, 0x00,
97
- 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00,
98
- 0xc6, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x00,
99
- 0xc6, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00,
100
- 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x78, 0x00,
101
- 0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x00,
102
- 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,
103
- 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00,
104
- 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,
105
- 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
106
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
107
- 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
108
- 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00,
109
- 0xe0, 0x60, 0x60, 0x7c, 0x66, 0x66, 0xdc, 0x00,
110
- 0x00, 0x00, 0x78, 0xcc, 0xc0, 0xcc, 0x78, 0x00,
111
- 0x1c, 0x0c, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00,
112
- 0x00, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00,
113
- 0x38, 0x6c, 0x60, 0xf0, 0x60, 0x60, 0xf0, 0x00,
114
- 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8,
115
- 0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x00,
116
- 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
117
- 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78,
118
- 0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00,
119
- 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
120
- 0x00, 0x00, 0xcc, 0xfe, 0xfe, 0xd6, 0xc6, 0x00,
121
- 0x00, 0x00, 0xf8, 0xcc, 0xcc, 0xcc, 0xcc, 0x00,
122
- 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0x78, 0x00,
123
- 0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0,
124
- 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e,
125
- 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0xf0, 0x00,
126
- 0x00, 0x00, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x00,
127
- 0x10, 0x30, 0x7c, 0x30, 0x30, 0x34, 0x18, 0x00,
128
- 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,
129
- 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00,
130
- 0x00, 0x00, 0xc6, 0xd6, 0xfe, 0xfe, 0x6c, 0x00,
131
- 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00,
132
- 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8,
133
- 0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00,
134
- 0x1c, 0x30, 0x30, 0xe0, 0x30, 0x30, 0x1c, 0x00,
135
- 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00,
136
- 0xe0, 0x30, 0x30, 0x1c, 0x30, 0x30, 0xe0, 0x00,
137
- 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138
- 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00,
139
- };