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,698 +0,0 @@
1
- // Rom layout and bios assembler to C interface.
2
- //
3
- // Copyright (C) 2008-2012 Kevin O'Connor <kevin@koconnor.net>
4
- // Copyright (C) 2002 MandrakeSoft S.A.
5
- //
6
- // This file may be distributed under the terms of the GNU LGPLv3 license.
7
-
8
- #include "asm-offsets.h" // BREGS_*
9
- #include "config.h" // CONFIG_*
10
- #include "entryfuncs.S" // ENTRY_*
11
- #include "hw/rtc.h" // CMOS_RESET_CODE
12
- #include "x86.h" // CR0_*
13
-
14
- .code16
15
-
16
-
17
- /****************************************************************
18
- * 16bit / 32bit call trampolines
19
- ****************************************************************/
20
-
21
- // Place CPU into 32bit mode from 16bit mode.
22
- // %edx = return location (in 32bit mode)
23
- // Clobbers: ecx, flags, segment registers, cr0, idt/gdt
24
- DECLFUNC transition32
25
- .global transition32_nmi_off
26
- transition32:
27
- // Disable irqs (and clear direction flag)
28
- cli
29
- cld
30
-
31
- // Disable nmi
32
- movl %eax, %ecx
33
- movl $CMOS_RESET_CODE|NMI_DISABLE_BIT, %eax
34
- outb %al, $PORT_CMOS_INDEX
35
- inb $PORT_CMOS_DATA, %al
36
-
37
- // enable a20
38
- inb $PORT_A20, %al
39
- orb $A20_ENABLE_BIT, %al
40
- outb %al, $PORT_A20
41
- movl %ecx, %eax
42
-
43
- transition32_nmi_off:
44
- // Set segment descriptors
45
- lidtw %cs:pmode_IDT_info
46
- lgdtw %cs:rombios32_gdt_48
47
-
48
- // Enable protected mode
49
- movl %cr0, %ecx
50
- andl $~(CR0_PG|CR0_CD|CR0_NW), %ecx
51
- orl $CR0_PE, %ecx
52
- movl %ecx, %cr0
53
-
54
- // start 32bit protected mode code
55
- ljmpl $SEG32_MODE32_CS, $(BUILD_BIOS_ADDR + 1f)
56
-
57
- .code32
58
- // init data segments
59
- 1: movl $SEG32_MODE32_DS, %ecx
60
- movw %cx, %ds
61
- movw %cx, %es
62
- movw %cx, %ss
63
- movw %cx, %fs
64
- movw %cx, %gs
65
-
66
- jmpl *%edx
67
- .code16
68
-
69
- // Place CPU into 16bit mode from 32bit mode.
70
- // %edx = return location (in 16bit mode)
71
- // Clobbers: ecx, flags, segment registers, cr0, idt/gdt
72
- DECLFUNC transition16
73
- .global transition16big
74
- .code32
75
- transition16:
76
- // Reset data segment limits
77
- movl $SEG32_MODE16_DS, %ecx
78
- movw %cx, %ds
79
- movw %cx, %es
80
- movw %cx, %ss
81
- movw %cx, %fs
82
- movw %cx, %gs
83
-
84
- // Jump to 16bit mode
85
- ljmpw $SEG32_MODE16_CS, $1f
86
-
87
- transition16big:
88
- movl $SEG32_MODE16BIG_DS, %ecx
89
- movw %cx, %ds
90
- movw %cx, %es
91
- movw %cx, %ss
92
- movw %cx, %fs
93
- movw %cx, %gs
94
-
95
- ljmpw $SEG32_MODE16BIG_CS, $1f
96
-
97
- .code16
98
- // Disable protected mode
99
- 1: movl %cr0, %ecx
100
- andl $~CR0_PE, %ecx
101
- movl %ecx, %cr0
102
-
103
- // far jump to flush CPU queue after transition to real mode
104
- ljmpw $SEG_BIOS, $2f
105
-
106
- // restore IDT to normal real-mode defaults
107
- 2: lidtw %cs:rmode_IDT_info
108
-
109
- // Clear segment registers
110
- xorw %cx, %cx
111
- movw %cx, %fs
112
- movw %cx, %gs
113
- movw %cx, %es
114
- movw %cx, %ds
115
- movw %cx, %ss // Assume stack is in segment 0
116
-
117
- jmpl *%edx
118
-
119
-
120
- /****************************************************************
121
- * External calling trampolines
122
- ****************************************************************/
123
-
124
- // Far call a 16bit function from 16bit mode with a specified cpu register state
125
- // %eax = address of struct bregs, %edx = segment of struct bregs
126
- // Clobbers: %e[bc]x, %e[ds]i, flags
127
- DECLFUNC __farcall16
128
- __farcall16:
129
- // Save %edx/%eax, %ebp
130
- pushl %ebp
131
- pushl %eax
132
- pushl %edx
133
-
134
- // Setup for iretw call
135
- movl %edx, %ds
136
- pushw %cs
137
- pushw $1f // return point
138
- pushw BREGS_flags(%eax) // flags
139
- pushl BREGS_code(%eax) // CS:IP
140
-
141
- // Load calling registers and invoke call
142
- RESTOREBREGS_DSEAX
143
- iretw // XXX - just do a lcalll
144
- 1:
145
- // Store flags, es, eax
146
- pushfw
147
- cli
148
- cld
149
- pushw %ds
150
- pushl %eax
151
- movw 0x08(%esp), %ds
152
- movl 0x0c(%esp), %eax
153
- SAVEBREGS_POP_DSEAX
154
- popw BREGS_flags(%eax)
155
- movw %ss, %cx
156
- movw %cx, %ds // Restore %ds == %ss
157
-
158
- // Remove %edx/%eax, restore %ebp
159
- popl %edx
160
- popl %eax
161
- popl %ebp
162
-
163
- retl
164
-
165
- // IRQ trampolines
166
- .macro IRQ_TRAMPOLINE num
167
- DECLFUNC irq_trampoline_0x\num
168
- irq_trampoline_0x\num :
169
- int $0x\num
170
- lretw
171
- .endm
172
-
173
- IRQ_TRAMPOLINE 02
174
- IRQ_TRAMPOLINE 05
175
- IRQ_TRAMPOLINE 10
176
- IRQ_TRAMPOLINE 13
177
- IRQ_TRAMPOLINE 15
178
- IRQ_TRAMPOLINE 16
179
- IRQ_TRAMPOLINE 18
180
- IRQ_TRAMPOLINE 19
181
- IRQ_TRAMPOLINE 1b
182
- IRQ_TRAMPOLINE 1c
183
- IRQ_TRAMPOLINE 4a
184
-
185
-
186
- /****************************************************************
187
- * Misc. entry points.
188
- ****************************************************************/
189
-
190
- // Entry point for QEMU smi interrupts.
191
- DECLFUNC entry_smi
192
- entry_smi:
193
- // Transition to 32bit mode.
194
- movl $1f + BUILD_BIOS_ADDR, %edx
195
- jmp transition32_nmi_off
196
- .code32
197
- 1: movl $BUILD_SMM_ADDR + 0x8000, %esp
198
- calll _cfunc32flat_handle_smi - BUILD_BIOS_ADDR
199
- rsm
200
- .code16
201
-
202
- // Entry point for QEMU smp sipi interrupts.
203
- DECLFUNC entry_smp
204
- entry_smp:
205
- // Transition to 32bit mode.
206
- cli
207
- cld
208
- movl $2f + BUILD_BIOS_ADDR, %edx
209
- jmp transition32_nmi_off
210
- .code32
211
- // Acquire lock and take ownership of shared stack
212
- 1: rep ; nop
213
- 2: lock btsl $0, SMPLock
214
- jc 1b
215
- movl SMPStack, %esp
216
- // Call handle_smp
217
- calll _cfunc32flat_handle_smp - BUILD_BIOS_ADDR
218
- // Release lock and halt processor.
219
- movl $0, SMPLock
220
- 3: hlt
221
- jmp 3b
222
- .code16
223
-
224
- // Resume (and reboot) entry point - called from entry_post
225
- DECLFUNC entry_resume
226
- entry_resume:
227
- // Disable interrupts
228
- cli
229
- cld
230
- // Use the ExtraStack in low mem.
231
- movl $_zonelow_seg, %eax
232
- movw %ax, %ds
233
- movw %ax, %ss
234
- movl $ExtraStack + BUILD_EXTRA_STACK_SIZE, %esp
235
- // Call handler.
236
- jmp handle_resume
237
-
238
- // PMM entry point
239
- DECLFUNC entry_pmm
240
- entry_pmm:
241
- pushl %esp // Backup %esp, then clear high bits
242
- movzwl %sp, %esp
243
- pushfl // Save registers clobbered by C code
244
- cli
245
- cld
246
- PUSHBREGS
247
- movl %ss, %ecx // Move %ss to %ds
248
- movw %cx, %ds
249
- shll $4, %ecx
250
- movl $_cfunc32flat_handle_pmm, %eax // Setup: call32(handle_pmm, args, -1)
251
- leal PUSHBREGS_size+12(%esp, %ecx), %edx // %edx points to start of args
252
- movl $-1, %ecx
253
- calll __call32
254
- movw %ax, BREGS_eax(%esp) // Modify %ax:%dx to return %eax
255
- shrl $16, %eax
256
- movw %ax, BREGS_edx(%esp)
257
- POPBREGS
258
- popfl
259
- popl %esp
260
- lretw
261
-
262
- // PnP entry points
263
- DECLFUNC entry_pnp_real
264
- .global entry_pnp_prot
265
- entry_pnp_prot:
266
- pushl %esp
267
- jmp 1f
268
- entry_pnp_real:
269
- pushl %esp // Backup %esp, then clear high bits
270
- movzwl %sp, %esp
271
- 1:
272
- pushfl // Save registers clobbered by C code
273
- cli
274
- cld
275
- PUSHBREGS
276
- movw %ss, %cx // Move %ss to %ds
277
- movw %cx, %ds
278
- leal PUSHBREGS_size+12(%esp), %eax // %eax points to start of u16 args
279
- calll handle_pnp
280
- movw %ax, BREGS_eax(%esp) // Modify %eax to return %ax
281
- POPBREGS
282
- popfl
283
- popl %esp
284
- lretw
285
-
286
- // APM entry points
287
- DECLFUNC entry_apm16
288
- entry_apm16:
289
- pushfw // save flags
290
- pushl %eax // dummy
291
- ENTRY_ARG handle_apm
292
- addw $4, %sp // pop dummy
293
- popfw // restore flags
294
- lretw
295
-
296
- DECLFUNC entry_apm32
297
- .code32
298
- entry_apm32:
299
- pushfl
300
- pushl %gs
301
- pushl %cs // Move second descriptor after %cs to %gs
302
- addl $16, (%esp)
303
- popl %gs
304
- ENTRY_ARG_ESP _cfunc32seg_handle_apm
305
- popl %gs
306
- popfl
307
- lretl
308
- .code16
309
-
310
- // PCI-BIOS entry points
311
- DECLFUNC entry_pcibios32
312
- .code32
313
- entry_pcibios32:
314
- pushfl
315
- pushl %gs // Backup %gs and set %gs=%ds
316
- pushl %ds
317
- popl %gs
318
- ENTRY_ARG_ESP _cfunc32seg_handle_pcibios
319
- popl %gs
320
- popfl
321
- lretl
322
- .code16
323
-
324
- DECLFUNC entry_pcibios16
325
- entry_pcibios16:
326
- ENTRY_ARG handle_pcibios
327
- iretw
328
-
329
- // int 1589 entry point
330
- DECLFUNC entry_1589
331
- entry_1589:
332
- ENTRY_ARG handle_1589
333
- iretw
334
-
335
- // BIOS32 support
336
- DECLFUNC entry_bios32
337
- .code32
338
- entry_bios32:
339
- pushfl
340
- #if CONFIG_PCIBIOS
341
- // Check for PCI-BIOS request
342
- cmpl $0x49435024, %eax // $PCI
343
- jne 1f
344
- movl $BUILD_BIOS_ADDR, %ebx
345
- movl $BUILD_BIOS_SIZE, %ecx
346
- movl $entry_pcibios32, %edx
347
- xorb %al, %al
348
- jmp 2f
349
- #endif
350
- // Unknown request
351
- 1: movb $0x80, %al
352
- // Return to caller
353
- 2: popfl
354
- lretl
355
- .code16
356
-
357
- // 32bit elf entry point
358
- DECLFUNC entry_elf
359
- .code32
360
- entry_elf:
361
- cli
362
- cld
363
- movl %eax, entry_elf_eax
364
- movl %ebx, entry_elf_ebx
365
- lidtl (BUILD_BIOS_ADDR + pmode_IDT_info)
366
- lgdtl (BUILD_BIOS_ADDR + rombios32_gdt_48)
367
- movl $SEG32_MODE32_DS, %eax
368
- movw %ax, %ds
369
- movw %ax, %es
370
- movw %ax, %fs
371
- movw %ax, %gs
372
- movw %ax, %ss
373
- movl $BUILD_STACK_ADDR, %esp
374
- ljmpl $SEG32_MODE32_CS, $_cfunc32flat_handle_post
375
- .code16
376
-
377
- // UEFI Compatibility Support Module (CSM) entry point
378
- DECLFUNC entry_csm
379
- entry_csm:
380
- // Backup register state
381
- pushfw
382
- cli
383
- cld
384
- pushl %eax // dummy
385
- PUSHBREGS
386
-
387
- // Backup stack location and convert to a "flat pointer"
388
- movl %ss, %eax
389
- movw %ax, BREGS_code+2(%esp) // Store %ss in bregs->code.seg
390
- shll $4, %eax
391
- addl %esp, %eax
392
-
393
- // Change to BUILD_STACK_ADDR stack and call handle_csm(bregs)
394
- ENTRY_INTO32 _cfunc32flat_handle_csm
395
-
396
- DECLFUNC __csm_return
397
- .code32
398
- __csm_return:
399
- movl $1f, %edx
400
- jmp transition16big
401
- .code16
402
-
403
- // Switch back to original stack
404
- 1: movzwl BREGS_code+2(%eax), %edx
405
- movl %edx, %ecx
406
- shll $4, %ecx
407
- subl %ecx, %eax
408
- movl %edx, %ss
409
- movl %eax, %esp
410
-
411
- // Restore register state and return.
412
- POPBREGS
413
- addw $4, %sp // pop dummy
414
- popfw
415
- lretw
416
-
417
- // Serial console "hooked vga" entry point
418
- DECLFUNC entry_sercon
419
- entry_sercon:
420
- // Setup for chain loading to real vga handler
421
- pushfw
422
- pushl %cs:sercon_real_vga_handler
423
-
424
- // Set %ds to varlow segment
425
- cli
426
- cld
427
- pushw %ds
428
- pushl %eax
429
- movl $_zonelow_seg, %eax
430
- movl %eax, %ds
431
-
432
- // Test if the sercon handler can be called
433
- movl %esp, %eax // Test for broken x86emu
434
- pushl $1f
435
- retl
436
- 1: cmpl %esp, %eax
437
- jne 4f
438
- cmpb $0, sercon_enable // Test that sercon is enabled
439
- je 3f
440
-
441
- // call handle_sercon
442
- popl %eax
443
- popw %ds
444
- 2: pushl $handle_sercon
445
- #if CONFIG_ENTRY_EXTRASTACK
446
- jmp irqentry_arg_extrastack
447
- #else
448
- jmp irqentry_arg
449
- #endif
450
-
451
- // sercon disabled - check for legacy text modeset and otherwise exit
452
- 3: popl %eax
453
- popw %ds
454
- cmpw $0x0007, %ax
455
- jle 2b
456
- iretw
457
-
458
- // Running on broken x86emu - restore stack and exit
459
- 4: movl %eax, %esp
460
- popl %eax
461
- popw %ds
462
- iretw
463
-
464
-
465
- /****************************************************************
466
- * Interrupt entry points
467
- ****************************************************************/
468
-
469
- // Main entry point for hardware interrupts handled on extra stack
470
- DECLFUNC irqentry_extrastack
471
- irqentry_extrastack:
472
- cli
473
- cld
474
- pushw %ds // Set %ds:%eax to space on ExtraStack
475
- pushl %eax
476
- movl $_zonelow_seg, %eax
477
- movl %eax, %ds
478
- movl StackPos, %eax
479
- subl $PUSHBREGS_size+8, %eax
480
- SAVEBREGS_POP_DSEAX
481
- popl %ecx
482
- movl %esp, PUSHBREGS_size(%eax)
483
- movw %ss, PUSHBREGS_size+4(%eax)
484
-
485
- movw %ds, %dx // Setup %ss/%esp and call function
486
- movw %dx, %ss
487
- movl %eax, %esp
488
- calll *%ecx
489
-
490
- movl %esp, %eax // Restore registers and return
491
- movw PUSHBREGS_size+4(%eax), %ss
492
- movl PUSHBREGS_size(%eax), %esp
493
- RESTOREBREGS_DSEAX
494
- iretw
495
-
496
- // Main entry point for software interrupts handled on extra stack
497
- DECLFUNC irqentry_arg_extrastack
498
- irqentry_arg_extrastack:
499
- cli
500
- cld
501
- pushw %ds // Set %ds:%eax to space on ExtraStack
502
- pushl %eax
503
- movl $_zonelow_seg, %eax
504
- movl %eax, %ds
505
- movl StackPos, %eax
506
- subl $PUSHBREGS_size+16, %eax
507
- SAVEBREGS_POP_DSEAX // Save registers on extra stack
508
- popl %ecx
509
- movl %esp, PUSHBREGS_size+8(%eax)
510
- movw %ss, PUSHBREGS_size+12(%eax)
511
- popl BREGS_code(%eax)
512
- popw BREGS_flags(%eax)
513
-
514
- movw %ds, %dx // Setup %ss/%esp and call function
515
- movw %dx, %ss
516
- movl %eax, %esp
517
- calll *%ecx
518
-
519
- movl %esp, %eax // Restore registers and return
520
- movw PUSHBREGS_size+12(%eax), %ss
521
- movl PUSHBREGS_size+8(%eax), %esp
522
- popl %edx
523
- popw %dx
524
- pushw BREGS_flags(%eax)
525
- pushl BREGS_code(%eax)
526
- RESTOREBREGS_DSEAX
527
- iretw
528
-
529
- // Main entry point for software interrupts (using caller's stack)
530
- DECLFUNC irqentry_arg
531
- irqentry_arg:
532
- ENTRY_ARG_ST
533
- iretw
534
-
535
- // Helper macros for hardware interrupt declaration
536
- .macro IRQ_ENTRY num
537
- .global entry_\num
538
- entry_\num :
539
- pushl $ handle_\num
540
- jmp irqentry_extrastack
541
- .endm
542
-
543
- .macro DECL_IRQ_ENTRY num
544
- DECLFUNC entry_\num
545
- IRQ_ENTRY \num
546
- .endm
547
-
548
- // Helper macros for software interrupt declaration
549
- .macro IRQ_ENTRY_ARG num
550
- .global entry_\num
551
- entry_\num :
552
- pushl $ handle_\num
553
- #if CONFIG_ENTRY_EXTRASTACK
554
- jmp irqentry_arg_extrastack
555
- #else
556
- jmp irqentry_arg
557
- #endif
558
- .endm
559
-
560
- .macro DECL_IRQ_ENTRY_ARG num
561
- DECLFUNC entry_\num
562
- IRQ_ENTRY_ARG \num
563
- .endm
564
-
565
- // Various entry points (that don't require a fixed location).
566
- DECL_IRQ_ENTRY_ARG 13
567
- DECL_IRQ_ENTRY 76
568
- DECL_IRQ_ENTRY 70
569
- DECL_IRQ_ENTRY 74
570
- DECL_IRQ_ENTRY 75
571
- DECL_IRQ_ENTRY hwpic1
572
- DECL_IRQ_ENTRY hwpic2
573
-
574
- // int 18/19 are special - they reset stack and call into 32bit mode.
575
- DECLFUNC entry_19
576
- entry_19:
577
- ENTRY_INTO32 _cfunc32flat_handle_19
578
-
579
- DECLFUNC entry_18
580
- entry_18:
581
- ENTRY_INTO32 _cfunc32flat_handle_18
582
-
583
-
584
- /****************************************************************
585
- * Fixed position entry points
586
- ****************************************************************/
587
-
588
- // Specify a location in the fixed part of bios area.
589
- .macro ORG addr
590
- .section .fixedaddr.\addr
591
- .endm
592
-
593
- ORG 0xe05b
594
- entry_post:
595
- cmpl $0, %cs:HaveRunPost // Check for resume/reboot
596
- jnz entry_resume
597
- ENTRY_INTO32 _cfunc32flat_handle_post // Normal entry point
598
-
599
- ORG 0xe2c3
600
- .global entry_02
601
- entry_02:
602
- ENTRY handle_02 // NMI handler does not switch onto extra stack
603
- iretw
604
-
605
- ORG 0xe3fe
606
- .global entry_13_official
607
- entry_13_official:
608
- jmp entry_13
609
-
610
- // 0xe401 - OldFDPT in misc.c
611
-
612
- ORG 0xe6f2
613
- .global entry_19_official
614
- entry_19_official:
615
- jmp entry_19
616
-
617
- // 0xe6f5 - BIOS_CONFIG_TABLE in misc.c
618
-
619
- // 0xe729 - BaudTable in misc.c
620
-
621
- ORG 0xe739
622
- IRQ_ENTRY_ARG 14
623
-
624
- ORG 0xe82e
625
- IRQ_ENTRY_ARG 16
626
-
627
- ORG 0xe987
628
- IRQ_ENTRY 09
629
-
630
- ORG 0xec59
631
- IRQ_ENTRY_ARG 40
632
-
633
- ORG 0xef57
634
- IRQ_ENTRY 0e
635
-
636
- // 0xefc7 - diskette_param_table in misc.c
637
-
638
- ORG 0xefd2
639
- IRQ_ENTRY_ARG 17
640
-
641
- ORG 0xf045
642
- entry_10_0x0f:
643
- // XXX - INT 10 Functions 0-Fh Entry Point
644
- iretw
645
-
646
- ORG 0xf065
647
- entry_10:
648
- iretw
649
-
650
- // 0xf0a4 - VideoParams in misc.c
651
-
652
- ORG 0xf841
653
- IRQ_ENTRY_ARG 12
654
-
655
- ORG 0xf84d
656
- IRQ_ENTRY_ARG 11
657
-
658
- ORG 0xf859
659
- .global entry_15_official
660
- entry_15_official:
661
- cmpb $0x89, %ah
662
- je entry_1589 // 1589 calls return in protected mode
663
- IRQ_ENTRY_ARG 15
664
-
665
- // 0xfa6e - vgafont8 in font.c
666
-
667
- ORG 0xfe6e
668
- .global entry_1a_official
669
- entry_1a_official:
670
- cmpb $0xb1, %ah
671
- je entry_pcibios16 // PCIBIOS calls can be in protected mode
672
- IRQ_ENTRY_ARG 1a
673
-
674
- ORG 0xfea5
675
- IRQ_ENTRY 08
676
-
677
- // 0xfef3 - InitVectors in misc.c
678
-
679
- ORG 0xff53
680
- .global entry_iret_official
681
- entry_iret_official:
682
- iretw
683
-
684
- ORG 0xff54
685
- IRQ_ENTRY_ARG 05
686
-
687
- ORG 0xfff0 // Power-up Entry Point
688
- .global reset_vector
689
- reset_vector:
690
- ljmpw $SEG_BIOS, $entry_post
691
-
692
- // 0xfff5 - BiosDate in misc.c
693
-
694
- // 0xfffe - BiosModelId in misc.c
695
-
696
- // 0xffff - BiosChecksum in misc.c
697
-
698
- .end