v86 0.3.6 → 0.4.0

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 +17 -6
  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,347 @@
1
+ // Compatibility Support Module (CSM) for UEFI / EDK-II
2
+ //
3
+ // Copyright © 2013 Intel Corporation
4
+ //
5
+ // This file may be distributed under the terms of the GNU LGPLv3 license.
6
+
7
+ #include "bregs.h" // struct bregs
8
+ #include "config.h" // CONFIG_*
9
+ #include "e820map.h" // e820_add
10
+ #include "farptr.h" // MAKE_FLATPTR
11
+ #include "hw/pci.h" // pci_to_bdf
12
+ #include "hw/pcidevice.h" // pci_probe_devices
13
+ #include "hw/pic.h" // pic_irqmask_read
14
+ #include "malloc.h" // malloc_csm_preinit
15
+ #include "memmap.h" // SYMBOL
16
+ #include "output.h" // dprintf
17
+ #include "paravirt.h" // qemu_preinit
18
+ #include "stacks.h" // wait_threads
19
+ #include "std/acpi.h" // RSDP_SIGNATURE
20
+ #include "std/bda.h" // struct bios_data_area_s
21
+ #include "std/optionrom.h" // struct rom_header
22
+ #include "util.h" // copy_smbios
23
+
24
+ #define UINT8 u8
25
+ #define UINT16 u16
26
+ #define UINT32 u32
27
+ #include "std/LegacyBios.h"
28
+
29
+ struct rsdp_descriptor csm_rsdp VARFSEG __aligned(16);
30
+
31
+ EFI_COMPATIBILITY16_TABLE csm_compat_table VARFSEG __aligned(16) = {
32
+ .Signature = 0x24454649,
33
+ .TableChecksum = 0 /* Filled in by checkrom.py */,
34
+ .TableLength = sizeof(csm_compat_table),
35
+ .Compatibility16CallSegment = SEG_BIOS,
36
+ .Compatibility16CallOffset = 0 /* Filled in by checkrom.py */,
37
+ .OemIdStringPointer = (u32)"SeaBIOS",
38
+ .AcpiRsdPtrPointer = (u32)&csm_rsdp,
39
+ };
40
+
41
+ EFI_TO_COMPATIBILITY16_INIT_TABLE *csm_init_table;
42
+ EFI_TO_COMPATIBILITY16_BOOT_TABLE *csm_boot_table;
43
+
44
+ static u16 PICMask = PIC_IRQMASK_DEFAULT;
45
+
46
+ extern void __csm_return(struct bregs *regs) __noreturn;
47
+
48
+ static void
49
+ csm_return(struct bregs *regs)
50
+ {
51
+ u32 rommax = rom_get_max();
52
+
53
+ dprintf(3, "handle_csm returning AX=%04x\n", regs->ax);
54
+
55
+ csm_compat_table.UmaAddress = rommax;
56
+ csm_compat_table.UmaSize = SYMBOL(final_readonly_start) - rommax;
57
+
58
+ PICMask = pic_irqmask_read();
59
+ __csm_return(regs);
60
+ }
61
+
62
+ static void
63
+ csm_maininit(struct bregs *regs)
64
+ {
65
+ interface_init();
66
+ pci_probe_devices();
67
+
68
+ csm_compat_table.PnPInstallationCheckSegment = SEG_BIOS;
69
+ csm_compat_table.PnPInstallationCheckOffset = get_pnp_offset();
70
+
71
+ regs->ax = 0;
72
+
73
+ csm_return(regs);
74
+ }
75
+
76
+ /* Legacy16InitializeYourself */
77
+ static void
78
+ handle_csm_0000(struct bregs *regs)
79
+ {
80
+ qemu_preinit();
81
+
82
+ dprintf(3, "Legacy16InitializeYourself table %04x:%04x\n", regs->es,
83
+ regs->bx);
84
+
85
+ csm_init_table = MAKE_FLATPTR(regs->es, regs->bx);
86
+
87
+ dprintf(3, "BiosLessThan1MB %08x\n", csm_init_table->BiosLessThan1MB);
88
+ dprintf(3, "HiPmmMemory %08x\n", csm_init_table->HiPmmMemory);
89
+ dprintf(3, "HiPmmMemorySize %08x\n", csm_init_table->HiPmmMemorySizeInBytes);
90
+ dprintf(3, "ReverseThunk %04x:%04x\n", csm_init_table->ReverseThunkCallSegment,
91
+ csm_init_table->ReverseThunkCallOffset);
92
+ dprintf(3, "NumE820Entries %08x\n", csm_init_table->NumberE820Entries);
93
+ dprintf(3, "OsMemoryAbove1M %08x\n", csm_init_table->OsMemoryAbove1Mb);
94
+ dprintf(3, "ThunkStart %08x\n", csm_init_table->ThunkStart);
95
+ dprintf(3, "ThunkSize %08x\n", csm_init_table->ThunkSizeInBytes);
96
+ dprintf(3, "LoPmmMemory %08x\n", csm_init_table->LowPmmMemory);
97
+ dprintf(3, "LoPmmMemorySize %08x\n", csm_init_table->LowPmmMemorySizeInBytes);
98
+
99
+ malloc_csm_preinit(csm_init_table->LowPmmMemory,
100
+ csm_init_table->LowPmmMemorySizeInBytes,
101
+ csm_init_table->HiPmmMemory,
102
+ csm_init_table->HiPmmMemorySizeInBytes);
103
+ reloc_preinit(csm_maininit, regs);
104
+ }
105
+
106
+ /* Legacy16UpdateBbs */
107
+ static void
108
+ handle_csm_0001(struct bregs *regs)
109
+ {
110
+ if (!CONFIG_BOOT) {
111
+ regs->ax = 1;
112
+ return;
113
+ }
114
+
115
+ dprintf(3, "Legacy16UpdateBbs table %04x:%04x\n", regs->es, regs->bx);
116
+
117
+ csm_boot_table = MAKE_FLATPTR(regs->es, regs->bx);
118
+ dprintf(3, "MajorVersion %04x\n", csm_boot_table->MajorVersion);
119
+ dprintf(3, "MinorVersion %04x\n", csm_boot_table->MinorVersion);
120
+ dprintf(3, "AcpiTable %08x\n", csm_boot_table->AcpiTable);
121
+ dprintf(3, "SmbiosTable %08x\n", csm_boot_table->SmbiosTable);
122
+ dprintf(3, "SmbiosTableLength %08x\n", csm_boot_table->SmbiosTableLength);
123
+ // dprintf(3, "SioData %08x\n", csm_boot_table->SioData);
124
+ dprintf(3, "DevicePathType %04x\n", csm_boot_table->DevicePathType);
125
+ dprintf(3, "PciIrqMask %04x\n", csm_boot_table->PciIrqMask);
126
+ dprintf(3, "NumberE820Entries %08x\n", csm_boot_table->NumberE820Entries);
127
+ // dprintf(3, "HddInfo %08x\n", csm_boot_table->HddInfo);
128
+ dprintf(3, "NumberBbsEntries %08x\n", csm_boot_table->NumberBbsEntries);
129
+ dprintf(3, "BBsTable %08x\n", csm_boot_table->BbsTable);
130
+ dprintf(3, "SmmTable %08x\n", csm_boot_table->SmmTable);
131
+ dprintf(3, "OsMemoryAbove1Mb %08x\n", csm_boot_table->OsMemoryAbove1Mb);
132
+ dprintf(3, "UnconventionalDeviceTable %08x\n", csm_boot_table->UnconventionalDeviceTable);
133
+
134
+ regs->ax = 0;
135
+ }
136
+
137
+ /* PrepareToBoot */
138
+ static void
139
+ handle_csm_0002(struct bregs *regs)
140
+ {
141
+ if (!CONFIG_BOOT) {
142
+ regs->ax = 1;
143
+ return;
144
+ }
145
+
146
+ dprintf(3, "PrepareToBoot table %04x:%04x\n", regs->es, regs->bx);
147
+
148
+ struct e820entry *p = (void *)csm_compat_table.E820Pointer;
149
+ int i;
150
+ for (i=0; i < csm_compat_table.E820Length / sizeof(struct e820entry); i++)
151
+ e820_add(p[i].start, p[i].size, p[i].type);
152
+
153
+ if (csm_init_table->HiPmmMemorySizeInBytes > BUILD_MAX_HIGHTABLE) {
154
+ u32 hi_pmm_end = csm_init_table->HiPmmMemory + csm_init_table->HiPmmMemorySizeInBytes;
155
+ e820_add(hi_pmm_end - BUILD_MAX_HIGHTABLE, BUILD_MAX_HIGHTABLE, E820_RESERVED);
156
+ }
157
+
158
+ // For PCIBIOS 1ab10e
159
+ if (csm_compat_table.IrqRoutingTablePointer &&
160
+ csm_compat_table.IrqRoutingTableLength) {
161
+ PirAddr = (void *)csm_compat_table.IrqRoutingTablePointer;
162
+ dprintf(3, "CSM PIRQ table at %p\n", PirAddr);
163
+ }
164
+
165
+ // For find_resume_vector()... and find_acpi_features()
166
+ if (csm_rsdp.signature == RSDP_SIGNATURE) {
167
+ RsdpAddr = &csm_rsdp;
168
+ dprintf(3, "CSM ACPI RSDP at %p\n", RsdpAddr);
169
+
170
+ find_acpi_features();
171
+ }
172
+
173
+ // SMBIOS table needs to be copied into the f-seg
174
+ // XX: OVMF doesn't seem to set SmbiosTableLength so don't check it
175
+ if (csm_boot_table->SmbiosTable && !SMBiosAddr)
176
+ copy_smbios((void *)csm_boot_table->SmbiosTable);
177
+
178
+ // MPTABLE is just there; we don't care where.
179
+
180
+ // EFI may have reinitialised the video using its *own* driver.
181
+ enable_vga_console();
182
+
183
+ // EFI fills this in for us. Zero it for now...
184
+ struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0);
185
+ bda->hdcount = 0;
186
+
187
+ thread_setup();
188
+ mathcp_setup();
189
+ timer_setup();
190
+ clock_setup();
191
+ device_hardware_setup();
192
+ wait_threads();
193
+ interactive_bootmenu();
194
+
195
+ prepareboot();
196
+
197
+ regs->ax = 0;
198
+ }
199
+
200
+ /* Boot */
201
+ static void
202
+ handle_csm_0003(struct bregs *regs)
203
+ {
204
+ if (!CONFIG_BOOT) {
205
+ regs->ax = 1;
206
+ return;
207
+ }
208
+
209
+ dprintf(3, "Boot\n");
210
+
211
+ startBoot();
212
+
213
+ regs->ax = 1;
214
+ }
215
+
216
+ /* Legacy16DispatchOprom */
217
+ static void
218
+ handle_csm_0005(struct bregs *regs)
219
+ {
220
+ EFI_DISPATCH_OPROM_TABLE *table = MAKE_FLATPTR(regs->es, regs->bx);
221
+ struct rom_header *rom;
222
+ u16 bdf;
223
+
224
+ if (!CONFIG_OPTIONROMS) {
225
+ regs->ax = 1;
226
+ return;
227
+ }
228
+
229
+ dprintf(3, "Legacy16DispatchOprom rom %p\n", table);
230
+
231
+ dprintf(3, "OpromSegment %04x\n", table->OpromSegment);
232
+ dprintf(3, "RuntimeSegment %04x\n", table->RuntimeSegment);
233
+ dprintf(3, "PnPInstallationCheck %04x:%04x\n",
234
+ table->PnPInstallationCheckSegment,
235
+ table->PnPInstallationCheckOffset);
236
+ dprintf(3, "RuntimeSegment %04x\n", table->RuntimeSegment);
237
+
238
+ rom = MAKE_FLATPTR(table->OpromSegment, 0);
239
+ bdf = pci_bus_devfn_to_bdf(table->PciBus, table->PciDeviceFunction);
240
+
241
+ rom_reserve(rom->size * 512);
242
+
243
+ // XX PnP seg/ofs should never be other than default
244
+ callrom(rom, bdf);
245
+
246
+ rom_confirm(rom->size * 512);
247
+
248
+ regs->bx = 0; // FIXME
249
+ regs->ax = 0;
250
+ }
251
+
252
+ /* Legacy16GetTableAddress */
253
+ static void
254
+ handle_csm_0006(struct bregs *regs)
255
+ {
256
+ u16 size = regs->cx;
257
+ u16 align = regs->dx;
258
+ u16 region = regs->bx; // (1 for F000 seg, 2 for E000 seg, 0 for either)
259
+ void *chunk = NULL;
260
+
261
+ if (!region)
262
+ region = 3;
263
+
264
+ dprintf(3, "Legacy16GetTableAddress size %x align %x region %d\n",
265
+ size, align, region);
266
+
267
+ if (region & 2)
268
+ chunk = _malloc(&ZoneLow, size, align);
269
+ if (!chunk && (region & 1))
270
+ chunk = _malloc(&ZoneFSeg, size, align);
271
+
272
+ dprintf(3, "Legacy16GetTableAddress size %x align %x region %d yields %p\n",
273
+ size, align, region, chunk);
274
+ if (chunk) {
275
+ regs->ds = FLATPTR_TO_SEG(chunk);
276
+ regs->bx = FLATPTR_TO_OFFSET(chunk);
277
+ regs->ax = 0;
278
+ } else {
279
+ regs->ax = 1;
280
+ }
281
+ }
282
+
283
+ void VISIBLE32INIT
284
+ handle_csm(struct bregs *regs)
285
+ {
286
+ ASSERT32FLAT();
287
+
288
+ if (!CONFIG_CSM)
289
+ return;
290
+
291
+ dprintf(3, "handle_csm regs %p AX=%04x\n", regs, regs->ax);
292
+
293
+ code_mutable_preinit();
294
+ pic_irqmask_write(PICMask);
295
+
296
+ switch(regs->ax) {
297
+ case 0000: handle_csm_0000(regs); break;
298
+ case 0001: handle_csm_0001(regs); break;
299
+ case 0002: handle_csm_0002(regs); break;
300
+ case 0003: handle_csm_0003(regs); break;
301
+ // case 0004: handle_csm_0004(regs); break;
302
+ case 0005: handle_csm_0005(regs); break;
303
+ case 0006: handle_csm_0006(regs); break;
304
+ // case 0007: handle_csm_0007(regs); break;
305
+ // case 0008: hamdle_csm_0008(regs); break;
306
+ default: regs->al = 1;
307
+ }
308
+
309
+ csm_return(regs);
310
+ }
311
+
312
+ int csm_bootprio_ata(struct pci_device *pci, int chanid, int slave)
313
+ {
314
+ if (!csm_boot_table)
315
+ return -1;
316
+ BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
317
+ int index = 1 + (chanid * 2) + slave;
318
+ dprintf(3, "CSM bootprio for ATA%d,%d (index %d) is %d\n", chanid, slave,
319
+ index, bbs[index].BootPriority);
320
+ return bbs[index].BootPriority;
321
+ }
322
+
323
+ int csm_bootprio_fdc(struct pci_device *pci, int port, int fdid)
324
+ {
325
+ if (!csm_boot_table)
326
+ return -1;
327
+ BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
328
+ dprintf(3, "CSM bootprio for FDC is %d\n", bbs[0].BootPriority);
329
+ return bbs[0].BootPriority;
330
+ }
331
+
332
+ int csm_bootprio_pci(struct pci_device *pci)
333
+ {
334
+ if (!csm_boot_table)
335
+ return -1;
336
+ BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
337
+ int i;
338
+
339
+ for (i = 5; i < csm_boot_table->NumberBbsEntries; i++) {
340
+ if (pci->bdf == pci_to_bdf(bbs[i].Bus, bbs[i].Device, bbs[i].Function)) {
341
+ dprintf(3, "CSM bootprio for PCI(%d,%d,%d) is %d\n", bbs[i].Bus,
342
+ bbs[i].Device, bbs[i].Function, bbs[i].BootPriority);
343
+ return bbs[i].BootPriority;
344
+ }
345
+ }
346
+ return -1;
347
+ }
@@ -0,0 +1,52 @@
1
+ #ifndef _PCI_CAP_H
2
+ #define _PCI_CAP_H
3
+
4
+ #include "types.h"
5
+
6
+ /*
7
+ *
8
+ * QEMU-specific vendor(Red Hat)-specific capability.
9
+ * It's intended to provide some hints for firmware to init PCI devices.
10
+ *
11
+ * Its structure is shown below:
12
+ *
13
+ * Header:
14
+ *
15
+ * u8 id; Standard PCI Capability Header field
16
+ * u8 next; Standard PCI Capability Header field
17
+ * u8 len; Standard PCI Capability Header field
18
+ * u8 type; Red Hat vendor-specific capability type
19
+ * Data:
20
+ *
21
+ * u32 bus_res; minimum bus number to reserve;
22
+ * this is necessary for PCI Express Root Ports
23
+ * to support PCI bridges hotplug
24
+ * u64 io; IO space to reserve
25
+ * u32 mem; non-prefetchable memory to reserve
26
+ *
27
+ * At most of the following two fields may be set to a value
28
+ * different from 0xFF...F:
29
+ * u32 prefetchable_mem_32; prefetchable memory to reserve (32-bit MMIO)
30
+ * u64 prefetchable_mem_64; prefetchable memory to reserve (64-bit MMIO)
31
+ *
32
+ * If any field value in Data section is 0xFF...F,
33
+ * it means that such kind of reservation is not needed and must be ignored.
34
+ *
35
+ */
36
+
37
+ /* Offset of vendor-specific capability type field */
38
+ #define PCI_CAP_REDHAT_TYPE_OFFSET 3
39
+
40
+ /* List of valid Red Hat vendor-specific capability types */
41
+ #define REDHAT_CAP_RESOURCE_RESERVE 1
42
+
43
+
44
+ /* Offsets of RESOURCE_RESERVE capability fields */
45
+ #define RES_RESERVE_BUS_RES 4
46
+ #define RES_RESERVE_IO 8
47
+ #define RES_RESERVE_MEM 16
48
+ #define RES_RESERVE_PREF_MEM_32 20
49
+ #define RES_RESERVE_PREF_MEM_64 24
50
+ #define RES_RESERVE_CAP_SIZE 32
51
+
52
+ #endif /* _PCI_CAP_H */
@@ -0,0 +1,29 @@
1
+ #ifndef __DEV_PIIX_H
2
+ #define __DEV_PIIX_H
3
+
4
+ #define I440FX_PAM0 0x59
5
+ #define I440FX_SMRAM 0x72
6
+
7
+ #define PIIX_PMBASE 0x40
8
+ #define PIIX_PMREGMISC 0x80
9
+ #define PIIX_SMBHSTBASE 0x90
10
+ #define PIIX_SMBHSTCFG 0xd2
11
+ #define PIIX_DEVACTB 0x58
12
+ #define PIIX_DEVACTB_APMC_EN (1 << 25)
13
+
14
+ #define PIIX_PORT_ELCR1 0x4d0
15
+ #define PIIX_PORT_ELCR2 0x4d1
16
+
17
+ /* ICH9 PM I/O registers */
18
+ #define PIIX_GPE0_BLK 0xafe0
19
+ #define PIIX_GPE0_BLK_LEN 4
20
+ #define PIIX_PMIO_GLBCTL 0x28
21
+ #define PIIX_PMIO_GLBCTL_SMI_EN 1
22
+
23
+ /* FADT ACPI_ENABLE/ACPI_DISABLE */
24
+ #define PIIX_ACPI_ENABLE 0xf1
25
+ #define PIIX_ACPI_DISABLE 0xf0
26
+
27
+ #define PIIX_PM_INTRRUPT 9 // irq 9
28
+
29
+ #endif // dev-piix.h
@@ -0,0 +1,52 @@
1
+ #ifndef __DEV_Q35_H
2
+ #define __DEV_Q35_H
3
+
4
+ #include "types.h" // u16
5
+
6
+ #define PCI_DEVICE_ID_INTEL_Q35_MCH 0x29c0
7
+ #define Q35_HOST_BRIDGE_PAM0 0x90
8
+ #define Q35_HOST_BRIDGE_SMRAM 0x9d
9
+ #define Q35_HOST_BRIDGE_PCIEXBAR 0x60
10
+ #define Q35_HOST_BRIDGE_PCIEXBAR_SIZE (256 * 1024 * 1024)
11
+ #define Q35_HOST_BRIDGE_PCIEXBAR_ADDR 0xb0000000
12
+ #define Q35_HOST_BRIDGE_PCIEXBAREN ((u64)1)
13
+ #define Q35_HOST_PCIE_PCI_SEGMENT 0
14
+ #define Q35_HOST_PCIE_START_BUS_NUMBER 0
15
+ #define Q35_HOST_PCIE_END_BUS_NUMBER 255
16
+
17
+ #define PCI_DEVICE_ID_INTEL_ICH9_LPC 0x2918
18
+ #define ICH9_LPC_PMBASE 0x40
19
+ #define ICH9_LPC_PMBASE_RTE 0x1
20
+
21
+ #define ICH9_LPC_ACPI_CTRL 0x44
22
+ #define ICH9_LPC_ACPI_CTRL_ACPI_EN 0x80
23
+ #define ICH9_LPC_PIRQA_ROUT 0x60
24
+ #define ICH9_LPC_PIRQE_ROUT 0x68
25
+ #define ICH9_LPC_PIRQ_ROUT_IRQEN 0x80
26
+ #define ICH9_LPC_GEN_PMCON_1 0xa0
27
+ #define ICH9_LPC_GEN_PMCON_1_SMI_LOCK (1 << 4)
28
+ #define ICH9_LPC_PORT_ELCR1 0x4d0
29
+ #define ICH9_LPC_PORT_ELCR2 0x4d1
30
+ #define ICH9_LPC_RCBA 0xf0
31
+ #define ICH9_LPC_RCBA_ADDR 0xfed1c000
32
+ #define ICH9_LPC_RCBA_EN 0x1
33
+ #define PCI_DEVICE_ID_INTEL_ICH9_SMBUS 0x2930
34
+ #define ICH9_SMB_SMB_BASE 0x20
35
+ #define ICH9_SMB_HOSTC 0x40
36
+ #define ICH9_SMB_HOSTC_HST_EN 0x01
37
+
38
+ #define ICH9_ACPI_ENABLE 0x2
39
+ #define ICH9_ACPI_DISABLE 0x3
40
+
41
+ /* ICH9 LPC PM I/O registers are 128 ports and 128-aligned */
42
+ #define ICH9_PMIO_GPE0_STS 0x20
43
+ #define ICH9_PMIO_GPE0_BLK_LEN 0x10
44
+ #define ICH9_PMIO_SMI_EN 0x30
45
+ #define ICH9_PMIO_SMI_EN_APMC_EN (1 << 5)
46
+ #define ICH9_PMIO_SMI_EN_GLB_SMI_EN (1 << 0)
47
+
48
+ /* FADT ACPI_ENABLE/ACPI_DISABLE */
49
+ #define ICH9_APM_ACPI_ENABLE 0x2
50
+ #define ICH9_APM_ACPI_DISABLE 0x3
51
+
52
+ #endif // dev-q35.h