v86 0.3.4 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/Readme.md +4 -4
  2. package/bios/seabios/.config +113 -0
  3. package/bios/seabios/.config.old +114 -0
  4. package/bios/seabios/.gitignore +4 -0
  5. package/bios/seabios/COPYING +674 -0
  6. package/bios/seabios/COPYING.LESSER +165 -0
  7. package/bios/seabios/Makefile +286 -0
  8. package/bios/seabios/README +17 -0
  9. package/bios/seabios/docs/Build_overview.md +104 -0
  10. package/bios/seabios/docs/Contributing.md +20 -0
  11. package/bios/seabios/docs/Debugging.md +111 -0
  12. package/bios/seabios/docs/Developer_Documentation.md +25 -0
  13. package/bios/seabios/docs/Developer_links.md +86 -0
  14. package/bios/seabios/docs/Download.md +27 -0
  15. package/bios/seabios/docs/Execution_and_code_flow.md +178 -0
  16. package/bios/seabios/docs/Linking_overview.md +160 -0
  17. package/bios/seabios/docs/Mailinglist.md +8 -0
  18. package/bios/seabios/docs/Memory_Model.md +253 -0
  19. package/bios/seabios/docs/README +5 -0
  20. package/bios/seabios/docs/Releases.md +482 -0
  21. package/bios/seabios/docs/Runtime_config.md +193 -0
  22. package/bios/seabios/docs/SeaBIOS.md +17 -0
  23. package/bios/seabios/docs/SeaVGABIOS.md +39 -0
  24. package/bios/seabios/out/autoconf.h +117 -0
  25. package/bios/seabios/out/include/config/acpi/dsdt.h +0 -0
  26. package/bios/seabios/out/include/config/acpi.h +0 -0
  27. package/bios/seabios/out/include/config/ahci.h +0 -0
  28. package/bios/seabios/out/include/config/apmbios.h +0 -0
  29. package/bios/seabios/out/include/config/ata/dma.h +0 -0
  30. package/bios/seabios/out/include/config/ata/pio32.h +0 -0
  31. package/bios/seabios/out/include/config/ata.h +0 -0
  32. package/bios/seabios/out/include/config/auto.conf +69 -0
  33. package/bios/seabios/out/include/config/auto.conf.cmd +9 -0
  34. package/bios/seabios/out/include/config/boot.h +0 -0
  35. package/bios/seabios/out/include/config/bootorder.h +0 -0
  36. package/bios/seabios/out/include/config/build/vgabios.h +0 -0
  37. package/bios/seabios/out/include/config/call32/smm.h +0 -0
  38. package/bios/seabios/out/include/config/cdrom/boot.h +0 -0
  39. package/bios/seabios/out/include/config/cdrom/emu.h +0 -0
  40. package/bios/seabios/out/include/config/debug/level.h +0 -0
  41. package/bios/seabios/out/include/config/drives.h +0 -0
  42. package/bios/seabios/out/include/config/entry/extrastack.h +0 -0
  43. package/bios/seabios/out/include/config/esp/scsi.h +0 -0
  44. package/bios/seabios/out/include/config/flash/floppy.h +0 -0
  45. package/bios/seabios/out/include/config/floppy.h +0 -0
  46. package/bios/seabios/out/include/config/fw/romfile/load.h +0 -0
  47. package/bios/seabios/out/include/config/hardware/irq.h +0 -0
  48. package/bios/seabios/out/include/config/kbd/call/int15/4f.h +0 -0
  49. package/bios/seabios/out/include/config/keyboard.h +0 -0
  50. package/bios/seabios/out/include/config/lpt.h +0 -0
  51. package/bios/seabios/out/include/config/lsi/scsi.h +0 -0
  52. package/bios/seabios/out/include/config/malloc/uppermemory.h +0 -0
  53. package/bios/seabios/out/include/config/megasas.h +0 -0
  54. package/bios/seabios/out/include/config/mouse.h +0 -0
  55. package/bios/seabios/out/include/config/mpt/scsi.h +0 -0
  56. package/bios/seabios/out/include/config/mptable.h +0 -0
  57. package/bios/seabios/out/include/config/mtrr/init.h +0 -0
  58. package/bios/seabios/out/include/config/optionroms.h +0 -0
  59. package/bios/seabios/out/include/config/override/pci/id.h +0 -0
  60. package/bios/seabios/out/include/config/pcibios.h +0 -0
  61. package/bios/seabios/out/include/config/pirtable.h +0 -0
  62. package/bios/seabios/out/include/config/pmm.h +0 -0
  63. package/bios/seabios/out/include/config/pmtimer.h +0 -0
  64. package/bios/seabios/out/include/config/pnpbios.h +0 -0
  65. package/bios/seabios/out/include/config/ps2port.h +0 -0
  66. package/bios/seabios/out/include/config/pvscsi.h +0 -0
  67. package/bios/seabios/out/include/config/qemu/hardware.h +0 -0
  68. package/bios/seabios/out/include/config/qemu.h +0 -0
  69. package/bios/seabios/out/include/config/rom/size.h +0 -0
  70. package/bios/seabios/out/include/config/rtc/timer.h +0 -0
  71. package/bios/seabios/out/include/config/s3/resume.h +0 -0
  72. package/bios/seabios/out/include/config/sdcard.h +0 -0
  73. package/bios/seabios/out/include/config/serial.h +0 -0
  74. package/bios/seabios/out/include/config/tcgbios.h +0 -0
  75. package/bios/seabios/out/include/config/threads.h +0 -0
  76. package/bios/seabios/out/include/config/tristate.conf +4 -0
  77. package/bios/seabios/out/include/config/tsc/timer.h +0 -0
  78. package/bios/seabios/out/include/config/use/smm.h +0 -0
  79. package/bios/seabios/out/include/config/vga/allocate/extra/stack.h +0 -0
  80. package/bios/seabios/out/include/config/vga/bochs/stdvga.h +0 -0
  81. package/bios/seabios/out/include/config/vga/bochs.h +0 -0
  82. package/bios/seabios/out/include/config/vga/did.h +0 -0
  83. package/bios/seabios/out/include/config/vga/extra/stack/size.h +0 -0
  84. package/bios/seabios/out/include/config/vga/fixup/asm.h +0 -0
  85. package/bios/seabios/out/include/config/vga/pci.h +0 -0
  86. package/bios/seabios/out/include/config/vga/stdvga/ports.h +0 -0
  87. package/bios/seabios/out/include/config/vga/vbe.h +0 -0
  88. package/bios/seabios/out/include/config/vga/vid.h +0 -0
  89. package/bios/seabios/out/include/config/vgahooks.h +0 -0
  90. package/bios/seabios/out/include/config/virtio/blk.h +0 -0
  91. package/bios/seabios/out/include/config/virtio/scsi.h +0 -0
  92. package/bios/seabios/out/include/config/xen.h +0 -0
  93. package/bios/seabios/out/scripts/kconfig/conf +0 -0
  94. package/bios/seabios/out/scripts/kconfig/conf.o +0 -0
  95. package/bios/seabios/out/scripts/kconfig/zconf.hash.c +289 -0
  96. package/bios/seabios/out/scripts/kconfig/zconf.lex.c +2420 -0
  97. package/bios/seabios/out/scripts/kconfig/zconf.tab.c +2538 -0
  98. package/bios/seabios/out/scripts/kconfig/zconf.tab.o +0 -0
  99. package/bios/seabios/scripts/acpi_extract.py +366 -0
  100. package/bios/seabios/scripts/acpi_extract_preprocess.py +41 -0
  101. package/bios/seabios/scripts/buildrom.py +56 -0
  102. package/bios/seabios/scripts/buildversion.py +134 -0
  103. package/bios/seabios/scripts/checkrom.py +95 -0
  104. package/bios/seabios/scripts/checkstack.py +226 -0
  105. package/bios/seabios/scripts/checksum.py +16 -0
  106. package/bios/seabios/scripts/encodeint.py +21 -0
  107. package/bios/seabios/scripts/gen-offsets.sh +17 -0
  108. package/bios/seabios/scripts/kconfig/.gitignore +22 -0
  109. package/bios/seabios/scripts/kconfig/Makefile +331 -0
  110. package/bios/seabios/scripts/kconfig/POTFILES.in +12 -0
  111. package/bios/seabios/scripts/kconfig/check.sh +13 -0
  112. package/bios/seabios/scripts/kconfig/conf.c +718 -0
  113. package/bios/seabios/scripts/kconfig/confdata.c +1250 -0
  114. package/bios/seabios/scripts/kconfig/expr.c +1168 -0
  115. package/bios/seabios/scripts/kconfig/expr.h +241 -0
  116. package/bios/seabios/scripts/kconfig/gconf.c +1542 -0
  117. package/bios/seabios/scripts/kconfig/gconf.glade +661 -0
  118. package/bios/seabios/scripts/kconfig/images.c +326 -0
  119. package/bios/seabios/scripts/kconfig/kxgettext.c +235 -0
  120. package/bios/seabios/scripts/kconfig/lex.zconf.c +2430 -0
  121. package/bios/seabios/scripts/kconfig/list.h +131 -0
  122. package/bios/seabios/scripts/kconfig/lkc.h +200 -0
  123. package/bios/seabios/scripts/kconfig/lkc_proto.h +57 -0
  124. package/bios/seabios/scripts/kconfig/lxdialog/.gitignore +4 -0
  125. package/bios/seabios/scripts/kconfig/lxdialog/BIG.FAT.WARNING +4 -0
  126. package/bios/seabios/scripts/kconfig/lxdialog/check-lxdialog.sh +87 -0
  127. package/bios/seabios/scripts/kconfig/lxdialog/checklist.c +332 -0
  128. package/bios/seabios/scripts/kconfig/lxdialog/dialog.h +257 -0
  129. package/bios/seabios/scripts/kconfig/lxdialog/inputbox.c +301 -0
  130. package/bios/seabios/scripts/kconfig/lxdialog/menubox.c +437 -0
  131. package/bios/seabios/scripts/kconfig/lxdialog/textbox.c +408 -0
  132. package/bios/seabios/scripts/kconfig/lxdialog/util.c +713 -0
  133. package/bios/seabios/scripts/kconfig/lxdialog/yesno.c +114 -0
  134. package/bios/seabios/scripts/kconfig/mconf.c +1036 -0
  135. package/bios/seabios/scripts/kconfig/menu.c +697 -0
  136. package/bios/seabios/scripts/kconfig/merge_config.sh +150 -0
  137. package/bios/seabios/scripts/kconfig/nconf.c +1556 -0
  138. package/bios/seabios/scripts/kconfig/nconf.gui.c +656 -0
  139. package/bios/seabios/scripts/kconfig/nconf.h +96 -0
  140. package/bios/seabios/scripts/kconfig/qconf.cc +1795 -0
  141. package/bios/seabios/scripts/kconfig/qconf.h +338 -0
  142. package/bios/seabios/scripts/kconfig/streamline_config.pl +647 -0
  143. package/bios/seabios/scripts/kconfig/symbol.c +1373 -0
  144. package/bios/seabios/scripts/kconfig/util.c +157 -0
  145. package/bios/seabios/scripts/kconfig/zconf.gperf +48 -0
  146. package/bios/seabios/scripts/kconfig/zconf.hash.c_shipped +289 -0
  147. package/bios/seabios/scripts/kconfig/zconf.l +363 -0
  148. package/bios/seabios/scripts/kconfig/zconf.lex.c_shipped +2420 -0
  149. package/bios/seabios/scripts/kconfig/zconf.tab.c_shipped +2538 -0
  150. package/bios/seabios/scripts/kconfig/zconf.y +733 -0
  151. package/bios/seabios/scripts/layoutrom.py +705 -0
  152. package/bios/seabios/scripts/python23compat.py +14 -0
  153. package/bios/seabios/scripts/readserial.py +190 -0
  154. package/bios/seabios/scripts/tarball.sh +36 -0
  155. package/bios/seabios/scripts/test-build.sh +90 -0
  156. package/bios/seabios/scripts/transdump.py +53 -0
  157. package/bios/seabios/scripts/vgafixup.py +96 -0
  158. package/bios/seabios/src/Kconfig +579 -0
  159. package/bios/seabios/src/apm.c +215 -0
  160. package/bios/seabios/src/asm-offsets.c +23 -0
  161. package/bios/seabios/src/biosvar.h +130 -0
  162. package/bios/seabios/src/block.c +623 -0
  163. package/bios/seabios/src/block.h +121 -0
  164. package/bios/seabios/src/bmp.c +117 -0
  165. package/bios/seabios/src/boot.c +793 -0
  166. package/bios/seabios/src/bootsplash.c +255 -0
  167. package/bios/seabios/src/bregs.h +80 -0
  168. package/bios/seabios/src/byteorder.h +71 -0
  169. package/bios/seabios/src/cdrom.c +322 -0
  170. package/bios/seabios/src/clock.c +506 -0
  171. package/bios/seabios/src/code16gcc.s +1 -0
  172. package/bios/seabios/src/config.h +108 -0
  173. package/bios/seabios/src/cp437.c +275 -0
  174. package/bios/seabios/src/cp437.h +1 -0
  175. package/bios/seabios/src/disk.c +779 -0
  176. package/bios/seabios/src/e820map.c +152 -0
  177. package/bios/seabios/src/e820map.h +26 -0
  178. package/bios/seabios/src/entryfuncs.S +165 -0
  179. package/bios/seabios/src/farptr.h +208 -0
  180. package/bios/seabios/src/font.c +139 -0
  181. package/bios/seabios/src/fw/acpi-dsdt-cpu-hotplug.dsl +78 -0
  182. package/bios/seabios/src/fw/acpi-dsdt-dbug.dsl +26 -0
  183. package/bios/seabios/src/fw/acpi-dsdt-hpet.dsl +36 -0
  184. package/bios/seabios/src/fw/acpi-dsdt-isa.dsl +102 -0
  185. package/bios/seabios/src/fw/acpi-dsdt-pci-crs.dsl +90 -0
  186. package/bios/seabios/src/fw/acpi-dsdt.dsl +342 -0
  187. package/bios/seabios/src/fw/acpi-dsdt.hex +554 -0
  188. package/bios/seabios/src/fw/acpi.c +685 -0
  189. package/bios/seabios/src/fw/biostables.c +491 -0
  190. package/bios/seabios/src/fw/coreboot.c +569 -0
  191. package/bios/seabios/src/fw/csm.c +347 -0
  192. package/bios/seabios/src/fw/dev-pci.h +52 -0
  193. package/bios/seabios/src/fw/dev-piix.h +29 -0
  194. package/bios/seabios/src/fw/dev-q35.h +52 -0
  195. package/bios/seabios/src/fw/lzmadecode.c +398 -0
  196. package/bios/seabios/src/fw/lzmadecode.h +67 -0
  197. package/bios/seabios/src/fw/mptable.c +197 -0
  198. package/bios/seabios/src/fw/mtrr.c +105 -0
  199. package/bios/seabios/src/fw/multiboot.c +111 -0
  200. package/bios/seabios/src/fw/paravirt.c +624 -0
  201. package/bios/seabios/src/fw/paravirt.h +63 -0
  202. package/bios/seabios/src/fw/pciinit.c +1187 -0
  203. package/bios/seabios/src/fw/pirtable.c +103 -0
  204. package/bios/seabios/src/fw/q35-acpi-dsdt.dsl +450 -0
  205. package/bios/seabios/src/fw/romfile_loader.c +259 -0
  206. package/bios/seabios/src/fw/romfile_loader.h +91 -0
  207. package/bios/seabios/src/fw/shadow.c +208 -0
  208. package/bios/seabios/src/fw/smbios.c +585 -0
  209. package/bios/seabios/src/fw/smm.c +269 -0
  210. package/bios/seabios/src/fw/smp.c +194 -0
  211. package/bios/seabios/src/fw/ssdt-misc.dsl +104 -0
  212. package/bios/seabios/src/fw/ssdt-misc.hex +88 -0
  213. package/bios/seabios/src/fw/ssdt-pcihp.dsl +36 -0
  214. package/bios/seabios/src/fw/ssdt-pcihp.hex +38 -0
  215. package/bios/seabios/src/fw/ssdt-proc.dsl +48 -0
  216. package/bios/seabios/src/fw/ssdt-proc.hex +35 -0
  217. package/bios/seabios/src/fw/xen.c +149 -0
  218. package/bios/seabios/src/fw/xen.h +125 -0
  219. package/bios/seabios/src/gen-defs.h +19 -0
  220. package/bios/seabios/src/hw/ahci.c +697 -0
  221. package/bios/seabios/src/hw/ahci.h +201 -0
  222. package/bios/seabios/src/hw/ata.c +1046 -0
  223. package/bios/seabios/src/hw/ata.h +163 -0
  224. package/bios/seabios/src/hw/blockcmd.c +372 -0
  225. package/bios/seabios/src/hw/blockcmd.h +114 -0
  226. package/bios/seabios/src/hw/dma.c +67 -0
  227. package/bios/seabios/src/hw/esp-scsi.c +241 -0
  228. package/bios/seabios/src/hw/esp-scsi.h +8 -0
  229. package/bios/seabios/src/hw/floppy.c +741 -0
  230. package/bios/seabios/src/hw/lsi-scsi.c +221 -0
  231. package/bios/seabios/src/hw/lsi-scsi.h +8 -0
  232. package/bios/seabios/src/hw/megasas.c +405 -0
  233. package/bios/seabios/src/hw/megasas.h +8 -0
  234. package/bios/seabios/src/hw/mpt-scsi.c +319 -0
  235. package/bios/seabios/src/hw/mpt-scsi.h +8 -0
  236. package/bios/seabios/src/hw/nvme-int.h +199 -0
  237. package/bios/seabios/src/hw/nvme.c +708 -0
  238. package/bios/seabios/src/hw/nvme.h +17 -0
  239. package/bios/seabios/src/hw/pci.c +133 -0
  240. package/bios/seabios/src/hw/pci.h +47 -0
  241. package/bios/seabios/src/hw/pci_ids.h +2632 -0
  242. package/bios/seabios/src/hw/pci_regs.h +556 -0
  243. package/bios/seabios/src/hw/pcidevice.c +192 -0
  244. package/bios/seabios/src/hw/pcidevice.h +76 -0
  245. package/bios/seabios/src/hw/pic.c +115 -0
  246. package/bios/seabios/src/hw/pic.h +60 -0
  247. package/bios/seabios/src/hw/ps2port.c +543 -0
  248. package/bios/seabios/src/hw/ps2port.h +67 -0
  249. package/bios/seabios/src/hw/pvscsi.c +333 -0
  250. package/bios/seabios/src/hw/pvscsi.h +8 -0
  251. package/bios/seabios/src/hw/ramdisk.c +108 -0
  252. package/bios/seabios/src/hw/rtc.c +100 -0
  253. package/bios/seabios/src/hw/rtc.h +75 -0
  254. package/bios/seabios/src/hw/sdcard.c +572 -0
  255. package/bios/seabios/src/hw/serialio.c +113 -0
  256. package/bios/seabios/src/hw/serialio.h +29 -0
  257. package/bios/seabios/src/hw/timer.c +259 -0
  258. package/bios/seabios/src/hw/tpm_drivers.c +636 -0
  259. package/bios/seabios/src/hw/tpm_drivers.h +127 -0
  260. package/bios/seabios/src/hw/usb-ehci.c +650 -0
  261. package/bios/seabios/src/hw/usb-ehci.h +177 -0
  262. package/bios/seabios/src/hw/usb-hid.c +442 -0
  263. package/bios/seabios/src/hw/usb-hid.h +29 -0
  264. package/bios/seabios/src/hw/usb-hub.c +205 -0
  265. package/bios/seabios/src/hw/usb-hub.h +64 -0
  266. package/bios/seabios/src/hw/usb-msc.c +222 -0
  267. package/bios/seabios/src/hw/usb-msc.h +10 -0
  268. package/bios/seabios/src/hw/usb-ohci.c +568 -0
  269. package/bios/seabios/src/hw/usb-ohci.h +144 -0
  270. package/bios/seabios/src/hw/usb-uas.c +289 -0
  271. package/bios/seabios/src/hw/usb-uas.h +9 -0
  272. package/bios/seabios/src/hw/usb-uhci.c +571 -0
  273. package/bios/seabios/src/hw/usb-uhci.h +128 -0
  274. package/bios/seabios/src/hw/usb-xhci.c +1161 -0
  275. package/bios/seabios/src/hw/usb-xhci.h +133 -0
  276. package/bios/seabios/src/hw/usb.c +499 -0
  277. package/bios/seabios/src/hw/usb.h +254 -0
  278. package/bios/seabios/src/hw/virtio-blk.c +211 -0
  279. package/bios/seabios/src/hw/virtio-blk.h +43 -0
  280. package/bios/seabios/src/hw/virtio-pci.c +501 -0
  281. package/bios/seabios/src/hw/virtio-pci.h +151 -0
  282. package/bios/seabios/src/hw/virtio-ring.c +147 -0
  283. package/bios/seabios/src/hw/virtio-ring.h +121 -0
  284. package/bios/seabios/src/hw/virtio-scsi.c +220 -0
  285. package/bios/seabios/src/hw/virtio-scsi.h +47 -0
  286. package/bios/seabios/src/jpeg.c +1055 -0
  287. package/bios/seabios/src/kbd.c +599 -0
  288. package/bios/seabios/src/list.h +91 -0
  289. package/bios/seabios/src/malloc.c +561 -0
  290. package/bios/seabios/src/malloc.h +70 -0
  291. package/bios/seabios/src/memmap.h +21 -0
  292. package/bios/seabios/src/misc.c +195 -0
  293. package/bios/seabios/src/mouse.c +342 -0
  294. package/bios/seabios/src/optionroms.c +475 -0
  295. package/bios/seabios/src/output.c +584 -0
  296. package/bios/seabios/src/output.h +68 -0
  297. package/bios/seabios/src/pcibios.c +241 -0
  298. package/bios/seabios/src/pmm.c +176 -0
  299. package/bios/seabios/src/pnpbios.c +88 -0
  300. package/bios/seabios/src/post.c +337 -0
  301. package/bios/seabios/src/resume.c +157 -0
  302. package/bios/seabios/src/romfile.c +146 -0
  303. package/bios/seabios/src/romfile.h +21 -0
  304. package/bios/seabios/src/romlayout.S +698 -0
  305. package/bios/seabios/src/sercon.c +677 -0
  306. package/bios/seabios/src/serial.c +317 -0
  307. package/bios/seabios/src/sha1.c +147 -0
  308. package/bios/seabios/src/sha1.h +8 -0
  309. package/bios/seabios/src/stacks.c +771 -0
  310. package/bios/seabios/src/stacks.h +68 -0
  311. package/bios/seabios/src/std/LegacyBios.h +985 -0
  312. package/bios/seabios/src/std/acpi.h +323 -0
  313. package/bios/seabios/src/std/bda.h +174 -0
  314. package/bios/seabios/src/std/disk.h +175 -0
  315. package/bios/seabios/src/std/mptable.h +77 -0
  316. package/bios/seabios/src/std/multiboot.h +260 -0
  317. package/bios/seabios/src/std/optionrom.h +59 -0
  318. package/bios/seabios/src/std/pirtable.h +35 -0
  319. package/bios/seabios/src/std/pmm.h +19 -0
  320. package/bios/seabios/src/std/pnpbios.h +24 -0
  321. package/bios/seabios/src/std/smbios.h +167 -0
  322. package/bios/seabios/src/std/tcg.h +554 -0
  323. package/bios/seabios/src/std/vbe.h +156 -0
  324. package/bios/seabios/src/std/vga.h +63 -0
  325. package/bios/seabios/src/string.c +251 -0
  326. package/bios/seabios/src/string.h +31 -0
  327. package/bios/seabios/src/system.c +357 -0
  328. package/bios/seabios/src/tcgbios.c +2014 -0
  329. package/bios/seabios/src/tcgbios.h +19 -0
  330. package/bios/seabios/src/types.h +156 -0
  331. package/bios/seabios/src/util.h +251 -0
  332. package/bios/seabios/src/version.c +5 -0
  333. package/bios/seabios/src/vgahooks.c +355 -0
  334. package/bios/seabios/src/x86.c +23 -0
  335. package/bios/seabios/src/x86.h +277 -0
  336. package/bios/seabios/vgasrc/Kconfig +211 -0
  337. package/bios/seabios/vgasrc/bochsdisplay.c +59 -0
  338. package/bios/seabios/vgasrc/bochsvga.c +447 -0
  339. package/bios/seabios/vgasrc/bochsvga.h +57 -0
  340. package/bios/seabios/vgasrc/cbvga.c +337 -0
  341. package/bios/seabios/vgasrc/clext.c +627 -0
  342. package/bios/seabios/vgasrc/geodevga.c +434 -0
  343. package/bios/seabios/vgasrc/geodevga.h +89 -0
  344. package/bios/seabios/vgasrc/ramfb.c +163 -0
  345. package/bios/seabios/vgasrc/stdvga.c +485 -0
  346. package/bios/seabios/vgasrc/stdvga.h +81 -0
  347. package/bios/seabios/vgasrc/stdvgaio.c +186 -0
  348. package/bios/seabios/vgasrc/stdvgamodes.c +534 -0
  349. package/bios/seabios/vgasrc/swcursor.c +96 -0
  350. package/bios/seabios/vgasrc/vbe.c +432 -0
  351. package/bios/seabios/vgasrc/vgabios.c +1131 -0
  352. package/bios/seabios/vgasrc/vgabios.h +88 -0
  353. package/bios/seabios/vgasrc/vgaentry.S +161 -0
  354. package/bios/seabios/vgasrc/vgafb.c +661 -0
  355. package/bios/seabios/vgasrc/vgafb.h +42 -0
  356. package/bios/seabios/vgasrc/vgafonts.c +785 -0
  357. package/bios/seabios/vgasrc/vgahw.h +152 -0
  358. package/bios/seabios/vgasrc/vgainit.c +202 -0
  359. package/bios/seabios/vgasrc/vgalayout.lds.S +23 -0
  360. package/bios/seabios/vgasrc/vgautil.h +103 -0
  361. package/bios/seabios/vgasrc/vgaversion.c +6 -0
  362. package/build/binaries.js +1 -1
  363. package/build/index-debug.cjs +1 -1
  364. package/build/index-debug.js +1 -1
  365. package/build/index.cjs +1 -1
  366. package/build/index.js +1 -1
  367. package/build/v86-debug.wasm +0 -0
  368. package/build/v86.wasm +0 -0
  369. package/package.json +1 -1
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env python
2
+ # Script that tries to find how much stack space each function in an
3
+ # object is using.
4
+ #
5
+ # Copyright (C) 2008-2015 Kevin O'Connor <kevin@koconnor.net>
6
+ #
7
+ # This file may be distributed under the terms of the GNU GPLv3 license.
8
+
9
+ # Usage:
10
+ # objdump -m i386 -M i8086 -M suffix -d out/rom16.o | scripts/checkstack.py
11
+
12
+ import sys
13
+ import re
14
+
15
+ # Functions that change stacks
16
+ STACKHOP = ['stack_hop', 'stack_hop_back']
17
+ # List of functions we can assume are never called.
18
+ #IGNORE = ['panic', '__dprintf']
19
+ IGNORE = ['panic']
20
+
21
+ OUTPUTDESC = """
22
+ #funcname1[preamble_stack_usage,max_usage_with_callers]:
23
+ # insn_addr:called_function [usage_at_call_point+caller_preamble,total_usage]
24
+ #
25
+ #funcname2[p,m,max_usage_to_yield_point]:
26
+ # insn_addr:called_function [u+c,t,usage_to_yield_point]
27
+ """
28
+
29
+ class function:
30
+ def __init__(self, funcaddr, funcname):
31
+ self.funcaddr = funcaddr
32
+ self.funcname = funcname
33
+ self.basic_stack_usage = 0
34
+ self.max_stack_usage = None
35
+ self.yield_usage = -1
36
+ self.max_yield_usage = None
37
+ self.total_calls = 0
38
+ # called_funcs = [(insnaddr, calladdr, stackusage), ...]
39
+ self.called_funcs = []
40
+ self.subfuncs = {}
41
+ # Update function info with a found "yield" point.
42
+ def noteYield(self, stackusage):
43
+ if self.yield_usage < stackusage:
44
+ self.yield_usage = stackusage
45
+ # Update function info with a found "call" point.
46
+ def noteCall(self, insnaddr, calladdr, stackusage):
47
+ if (calladdr, stackusage) in self.subfuncs:
48
+ # Already noted a nearly identical call - ignore this one.
49
+ return
50
+ self.called_funcs.append((insnaddr, calladdr, stackusage))
51
+ self.subfuncs[(calladdr, stackusage)] = 1
52
+
53
+ # Find out maximum stack usage for a function
54
+ def calcmaxstack(info, funcs):
55
+ if info.max_stack_usage is not None:
56
+ return
57
+ info.max_stack_usage = max_stack_usage = info.basic_stack_usage
58
+ info.max_yield_usage = max_yield_usage = info.yield_usage
59
+ total_calls = 0
60
+ seenbefore = {}
61
+ # Find max of all nested calls.
62
+ for insnaddr, calladdr, usage in info.called_funcs:
63
+ callinfo = funcs.get(calladdr)
64
+ if callinfo is None:
65
+ continue
66
+ calcmaxstack(callinfo, funcs)
67
+ if callinfo.funcname not in seenbefore:
68
+ seenbefore[callinfo.funcname] = 1
69
+ total_calls += callinfo.total_calls + 1
70
+ funcnameroot = callinfo.funcname.split('.')[0]
71
+ if funcnameroot in IGNORE:
72
+ # This called function is ignored - don't contribute it to
73
+ # the max stack.
74
+ continue
75
+ totusage = usage + callinfo.max_stack_usage
76
+ totyieldusage = usage + callinfo.max_yield_usage
77
+ if funcnameroot in STACKHOP:
78
+ # Don't count children of this function
79
+ totusage = totyieldusage = usage
80
+ if totusage > max_stack_usage:
81
+ max_stack_usage = totusage
82
+ if callinfo.max_yield_usage >= 0 and totyieldusage > max_yield_usage:
83
+ max_yield_usage = totyieldusage
84
+ info.max_stack_usage = max_stack_usage
85
+ info.max_yield_usage = max_yield_usage
86
+ info.total_calls = total_calls
87
+
88
+ # Try to arrange output so that functions that call each other are
89
+ # near each other.
90
+ def orderfuncs(funcaddrs, availfuncs):
91
+ l = [(availfuncs[funcaddr].total_calls
92
+ , availfuncs[funcaddr].funcname, funcaddr)
93
+ for funcaddr in funcaddrs if funcaddr in availfuncs]
94
+ l.sort()
95
+ l.reverse()
96
+ out = []
97
+ while l:
98
+ count, name, funcaddr = l.pop(0)
99
+ info = availfuncs.get(funcaddr)
100
+ if info is None:
101
+ continue
102
+ calladdrs = [calls[1] for calls in info.called_funcs]
103
+ del availfuncs[funcaddr]
104
+ out = out + orderfuncs(calladdrs, availfuncs) + [info]
105
+ return out
106
+
107
+ hex_s = r'[0-9a-f]+'
108
+ re_func = re.compile(r'^(?P<funcaddr>' + hex_s + r') <(?P<func>.*)>:$')
109
+ re_asm = re.compile(
110
+ r'^[ ]*(?P<insnaddr>' + hex_s
111
+ + r'):\t.*\t(addr32 )?(?P<insn>.+?)[ ]*((?P<calladdr>' + hex_s
112
+ + r') <(?P<ref>.*)>)?$')
113
+ re_usestack = re.compile(
114
+ r'^(push[f]?[lw])|(sub.* [$](?P<num>0x' + hex_s + r'),%esp)$')
115
+
116
+ def main():
117
+ unknownfunc = function(None, "<unknown>")
118
+ indirectfunc = function(-1, '<indirect>')
119
+ unknownfunc.max_stack_usage = indirectfunc.max_stack_usage = 0
120
+ unknownfunc.max_yield_usage = indirectfunc.max_yield_usage = -1
121
+ funcs = {-1: indirectfunc}
122
+ cur = None
123
+ atstart = 0
124
+ stackusage = 0
125
+
126
+ # Parse input lines
127
+ for line in sys.stdin.readlines():
128
+ m = re_func.match(line)
129
+ if m is not None:
130
+ # Found function
131
+ funcaddr = int(m.group('funcaddr'), 16)
132
+ funcs[funcaddr] = cur = function(funcaddr, m.group('func'))
133
+ stackusage = 0
134
+ atstart = 1
135
+ continue
136
+ m = re_asm.match(line)
137
+ if m is None:
138
+ #print("other", repr(line))
139
+ continue
140
+ insn = m.group('insn')
141
+
142
+ im = re_usestack.match(insn)
143
+ if im is not None:
144
+ if insn.startswith('pushl') or insn.startswith('pushfl'):
145
+ stackusage += 4
146
+ continue
147
+ elif insn.startswith('pushw') or insn.startswith('pushfw'):
148
+ stackusage += 2
149
+ continue
150
+ stackusage += int(im.group('num'), 16)
151
+
152
+ if atstart:
153
+ if '%esp' in insn or insn.startswith('leal'):
154
+ # Still part of initial header
155
+ continue
156
+ if not stackusage and (
157
+ insn.startswith('test') or insn.startswith('cmp')
158
+ or insn.startswith('j')):
159
+ # There may be conditional checks prior to stack frame
160
+ continue
161
+ cur.basic_stack_usage = stackusage
162
+ atstart = 0
163
+
164
+ insnaddr = m.group('insnaddr')
165
+ calladdr = m.group('calladdr')
166
+ if calladdr is None:
167
+ if insn.startswith('lcallw'):
168
+ cur.noteCall(insnaddr, -1, stackusage + 4)
169
+ cur.noteYield(stackusage + 4)
170
+ elif insn.startswith('int'):
171
+ cur.noteCall(insnaddr, -1, stackusage + 6)
172
+ cur.noteYield(stackusage + 6)
173
+ elif insn.startswith('sti'):
174
+ cur.noteYield(stackusage)
175
+ else:
176
+ # misc instruction
177
+ continue
178
+ else:
179
+ # Jump or call insn
180
+ calladdr = int(calladdr, 16)
181
+ ref = m.group('ref')
182
+ if '+' in ref:
183
+ # Inter-function jump.
184
+ pass
185
+ elif insn.startswith('j'):
186
+ # Tail call
187
+ cur.noteCall(insnaddr, calladdr, 0)
188
+ elif insn.startswith('calll'):
189
+ cur.noteCall(insnaddr, calladdr, stackusage + 4)
190
+ elif insn.startswith('callw'):
191
+ cur.noteCall(insnaddr, calladdr, stackusage + 2)
192
+ else:
193
+ print("unknown call", ref)
194
+ cur.noteCall(insnaddr, calladdr, stackusage)
195
+ # Reset stack usage to preamble usage
196
+ stackusage = cur.basic_stack_usage
197
+
198
+ # Calculate maxstackusage
199
+ for info in funcs.values():
200
+ calcmaxstack(info, funcs)
201
+
202
+ # Sort functions for output
203
+ funcinfos = orderfuncs(funcs.keys(), funcs.copy())
204
+
205
+ # Show all functions
206
+ print(OUTPUTDESC)
207
+ for info in funcinfos:
208
+ if info.max_stack_usage == 0 and info.max_yield_usage < 0:
209
+ continue
210
+ yieldstr = ""
211
+ if info.max_yield_usage >= 0:
212
+ yieldstr = ",%d" % info.max_yield_usage
213
+ print("\n%s[%d,%d%s]:" % (info.funcname, info.basic_stack_usage
214
+ , info.max_stack_usage, yieldstr))
215
+ for insnaddr, calladdr, stackusage in info.called_funcs:
216
+ callinfo = funcs.get(calladdr, unknownfunc)
217
+ yieldstr = ""
218
+ if callinfo.max_yield_usage >= 0:
219
+ yieldstr = ",%d" % (stackusage + callinfo.max_yield_usage)
220
+ print(" %04s:%-40s [%d+%d,%d%s]" % (
221
+ insnaddr, callinfo.funcname, stackusage
222
+ , callinfo.basic_stack_usage
223
+ , stackusage+callinfo.max_stack_usage, yieldstr))
224
+
225
+ if __name__ == '__main__':
226
+ main()
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env python
2
+ # Script to report the checksum of a file.
3
+ #
4
+ # Copyright (C) 2009 Kevin O'Connor <kevin@koconnor.net>
5
+ #
6
+ # This file may be distributed under the terms of the GNU GPLv3 license.
7
+
8
+ import sys
9
+
10
+ def main():
11
+ data = sys.stdin.read()
12
+ ords = map(ord, data)
13
+ print("sum=%x\n" % sum(ords))
14
+
15
+ if __name__ == '__main__':
16
+ main()
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env python
2
+ # Encode an integer in little endian format in a file.
3
+ #
4
+ # Copyright (C) 2011 Kevin O'Connor <kevin@koconnor.net>
5
+ #
6
+ # This file may be distributed under the terms of the GNU GPLv3 license.
7
+
8
+ import sys
9
+ import struct
10
+
11
+ def main():
12
+ filename = sys.argv[1]
13
+ value = int(sys.argv[2], 0)
14
+
15
+ outval = struct.pack('<Q', value)
16
+ f = open(filename, 'wb')
17
+ f.write(outval)
18
+ f.close()
19
+
20
+ if __name__ == '__main__':
21
+ main()
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ # Extract definitions from an assembler file. This is based on code
3
+ # from the Linux Kernel.
4
+ INFILE=$1
5
+ OUTFILE=$2
6
+ cat > "$OUTFILE" <<EOF
7
+ // This is an auto-generated file. DO NOT EDIT!
8
+ // Generated with "$0 $@"
9
+ #ifndef __ASM_OFFSETS_H
10
+ #define __ASM_OFFSETS_H
11
+ EOF
12
+ sed -ne "/^->/{s:->#\(.*\):/* \1 */:; \
13
+ s:^->\([^ ]*\) [\$\#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
14
+ s:->::; p;}" < "$INFILE" >> "$OUTFILE"
15
+ cat >> "$OUTFILE" <<EOF
16
+ #endif // asm-offsets.h
17
+ EOF
@@ -0,0 +1,22 @@
1
+ #
2
+ # Generated files
3
+ #
4
+ config*
5
+ *.lex.c
6
+ *.tab.c
7
+ *.tab.h
8
+ zconf.hash.c
9
+ *.moc
10
+ gconf.glade.h
11
+ *.pot
12
+ *.mo
13
+
14
+ #
15
+ # configuration programs
16
+ #
17
+ conf
18
+ mconf
19
+ nconf
20
+ qconf
21
+ gconf
22
+ kxgettext
@@ -0,0 +1,331 @@
1
+ # ===========================================================================
2
+ # Kernel configuration targets
3
+ # These targets are used from top-level makefile
4
+
5
+ PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
6
+ localmodconfig localyesconfig
7
+
8
+ ifdef KBUILD_KCONFIG
9
+ Kconfig := $(KBUILD_KCONFIG)
10
+ else
11
+ Kconfig := Kconfig
12
+ endif
13
+
14
+ # We need this, in case the user has it in its environment
15
+ unexport CONFIG_
16
+
17
+ xconfig: $(obj)/qconf
18
+ $< $(Kconfig)
19
+
20
+ gconfig: $(obj)/gconf
21
+ $< $(Kconfig)
22
+
23
+ menuconfig: $(obj)/mconf
24
+ $< $(Kconfig)
25
+
26
+ config: $(obj)/conf
27
+ $< --oldaskconfig $(Kconfig)
28
+
29
+ nconfig: $(obj)/nconf
30
+ $< $(Kconfig)
31
+
32
+ oldconfig: $(obj)/conf
33
+ $< --$@ $(Kconfig)
34
+
35
+ silentoldconfig: $(obj)/conf
36
+ @echo " Build Kconfig config file"
37
+ $(Q)mkdir -p include/config include/generated
38
+ $(Q)$< --$@ $(Kconfig)
39
+
40
+ localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
41
+ $(Q)mkdir -p include/config include/generated
42
+ $(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
43
+ $(Q)if [ -f .config ]; then \
44
+ cmp -s .tmp.config .config || \
45
+ (mv -f .config .config.old.1; \
46
+ mv -f .tmp.config .config; \
47
+ $(obj)/conf --silentoldconfig $(Kconfig); \
48
+ mv -f .config.old.1 .config.old) \
49
+ else \
50
+ mv -f .tmp.config .config; \
51
+ $(obj)/conf --silentoldconfig $(Kconfig); \
52
+ fi
53
+ $(Q)rm -f .tmp.config
54
+
55
+ # Create new linux.pot file
56
+ # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
57
+ update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
58
+ $(Q)echo " GEN config.pot"
59
+ $(Q)xgettext --default-domain=linux \
60
+ --add-comments --keyword=_ --keyword=N_ \
61
+ --from-code=UTF-8 \
62
+ --files-from=$(srctree)/scripts/kconfig/POTFILES.in \
63
+ --directory=$(srctree) --directory=$(objtree) \
64
+ --output $(obj)/config.pot
65
+ $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
66
+ $(Q)(for i in `ls $(srctree)/arch/*/Kconfig \
67
+ $(srctree)/arch/*/um/Kconfig`; \
68
+ do \
69
+ echo " GEN $$i"; \
70
+ $(obj)/kxgettext $$i \
71
+ >> $(obj)/config.pot; \
72
+ done )
73
+ $(Q)echo " GEN linux.pot"
74
+ $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
75
+ --output $(obj)/linux.pot
76
+ $(Q)rm -f $(obj)/config.pot
77
+
78
+ PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig
79
+
80
+ allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf
81
+ $< --$@ $(Kconfig)
82
+
83
+ PHONY += listnewconfig olddefconfig oldnoconfig savedefconfig defconfig
84
+
85
+ listnewconfig olddefconfig: $(obj)/conf
86
+ $< --$@ $(Kconfig)
87
+
88
+ # oldnoconfig is an alias of olddefconfig, because people already are dependent
89
+ # on its behavior(sets new symbols to their default value but not 'n') with the
90
+ # counter-intuitive name.
91
+ oldnoconfig: $(obj)/conf
92
+ $< --olddefconfig $(Kconfig)
93
+
94
+ savedefconfig: $(obj)/conf
95
+ $< --$@=defconfig $(Kconfig)
96
+
97
+ defconfig: $(obj)/conf
98
+ @echo " Build default config"
99
+ $(Q)$< --defconfig=/dev/null $(Kconfig)
100
+
101
+ %_defconfig: $(obj)/conf
102
+ $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
103
+
104
+ # Help text used by make help
105
+ help:
106
+ @echo ' config - Update current config utilising a line-oriented program'
107
+ @echo ' nconfig - Update current config utilising a ncurses menu based program'
108
+ @echo ' menuconfig - Update current config utilising a menu based program'
109
+ @echo ' xconfig - Update current config utilising a QT based front-end'
110
+ @echo ' gconfig - Update current config utilising a GTK based front-end'
111
+ @echo ' oldconfig - Update current config utilising a provided .config as base'
112
+ @echo ' localmodconfig - Update current config disabling modules not loaded'
113
+ @echo ' localyesconfig - Update current config converting local mods to core'
114
+ @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
115
+ @echo ' defconfig - New config with default from ARCH supplied defconfig'
116
+ @echo ' savedefconfig - Save current config as ./defconfig (minimal config)'
117
+ @echo ' allnoconfig - New config where all options are answered with no'
118
+ @echo ' allyesconfig - New config where all options are accepted with yes'
119
+ @echo ' allmodconfig - New config selecting modules when possible'
120
+ @echo ' alldefconfig - New config with all symbols set to default'
121
+ @echo ' randconfig - New config with random answer to all options'
122
+ @echo ' listnewconfig - List new options'
123
+ @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
124
+
125
+ # lxdialog stuff
126
+ check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
127
+
128
+ # Use recursively expanded variables so we do not call gcc unless
129
+ # we really need to do so. (Do not call gcc as part of make mrproper)
130
+ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
131
+ -DLOCALE
132
+
133
+ # ===========================================================================
134
+ # Shared Makefile for the various kconfig executables:
135
+ # conf: Used for defconfig, oldconfig and related targets
136
+ # nconf: Used for the nconfig target.
137
+ # Utilizes ncurses
138
+ # mconf: Used for the menuconfig target
139
+ # Utilizes the lxdialog package
140
+ # qconf: Used for the xconfig target
141
+ # Based on QT which needs to be installed to compile it
142
+ # gconf: Used for the gconfig target
143
+ # Based on GTK which needs to be installed to compile it
144
+ # object files used by all kconfig flavours
145
+
146
+ lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
147
+ lxdialog += lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o
148
+
149
+ conf-objs := conf.o zconf.tab.o
150
+ mconf-objs := mconf.o zconf.tab.o $(lxdialog)
151
+ nconf-objs := nconf.o zconf.tab.o nconf.gui.o
152
+ kxgettext-objs := kxgettext.o zconf.tab.o
153
+ qconf-cxxobjs := qconf.o
154
+ qconf-objs := zconf.tab.o
155
+ gconf-objs := gconf.o zconf.tab.o
156
+
157
+ hostprogs-y := conf
158
+
159
+ ifeq ($(MAKECMDGOALS),nconfig)
160
+ hostprogs-y += nconf
161
+ endif
162
+
163
+ ifeq ($(MAKECMDGOALS),menuconfig)
164
+ hostprogs-y += mconf
165
+ endif
166
+
167
+ ifeq ($(MAKECMDGOALS),update-po-config)
168
+ hostprogs-y += kxgettext
169
+ endif
170
+
171
+ ifeq ($(MAKECMDGOALS),xconfig)
172
+ qconf-target := 1
173
+ endif
174
+ ifeq ($(MAKECMDGOALS),gconfig)
175
+ gconf-target := 1
176
+ endif
177
+
178
+
179
+ ifeq ($(qconf-target),1)
180
+ hostprogs-y += qconf
181
+ endif
182
+
183
+ ifeq ($(gconf-target),1)
184
+ hostprogs-y += gconf
185
+ endif
186
+
187
+ clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
188
+ clean-files += zconf.tab.c zconf.lex.c zconf.hash.c gconf.glade.h
189
+ clean-files += mconf qconf gconf nconf
190
+ clean-files += config.pot linux.pot
191
+
192
+ # Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
193
+ PHONY += $(obj)/dochecklxdialog
194
+ $(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog
195
+ $(obj)/dochecklxdialog:
196
+ $(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTLOADLIBES_mconf)
197
+
198
+ always := dochecklxdialog
199
+
200
+ # Add environment specific flags
201
+ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
202
+
203
+ # generated files seem to need this to find local include files
204
+ HOSTCFLAGS_zconf.lex.o := -I$(src)
205
+ HOSTCFLAGS_zconf.tab.o := -I$(src)
206
+
207
+ LEX_PREFIX_zconf := zconf
208
+ YACC_PREFIX_zconf := zconf
209
+
210
+ HOSTLOADLIBES_qconf = $(KC_QT_LIBS)
211
+ HOSTCXXFLAGS_qconf.o = $(KC_QT_CFLAGS)
212
+
213
+ HOSTLOADLIBES_gconf = `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
214
+ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
215
+ -Wno-missing-prototypes
216
+
217
+ HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
218
+
219
+ HOSTLOADLIBES_nconf = $(shell \
220
+ pkg-config --libs menu panel ncurses 2>/dev/null \
221
+ || echo "-lmenu -lpanel -lncurses" )
222
+ $(obj)/qconf.o: $(obj)/.tmp_qtcheck
223
+
224
+ ifeq ($(qconf-target),1)
225
+ $(obj)/.tmp_qtcheck: $(src)/Makefile
226
+ -include $(obj)/.tmp_qtcheck
227
+
228
+ # QT needs some extra effort...
229
+ $(obj)/.tmp_qtcheck:
230
+ @set -e; echo " CHECK qt"; dir=""; pkg=""; \
231
+ if ! pkg-config --exists QtCore 2> /dev/null; then \
232
+ echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \
233
+ pkg-config --exists qt 2> /dev/null && pkg=qt; \
234
+ pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \
235
+ if [ -n "$$pkg" ]; then \
236
+ cflags="\$$(shell pkg-config $$pkg --cflags)"; \
237
+ libs="\$$(shell pkg-config $$pkg --libs)"; \
238
+ moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \
239
+ dir="$$(pkg-config $$pkg --variable=prefix)"; \
240
+ else \
241
+ for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \
242
+ if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \
243
+ done; \
244
+ if [ -z "$$dir" ]; then \
245
+ echo >&2 "*"; \
246
+ echo >&2 "* Unable to find any QT installation. Please make sure that"; \
247
+ echo >&2 "* the QT4 or QT3 development package is correctly installed and"; \
248
+ echo >&2 "* either qmake can be found or install pkg-config or set"; \
249
+ echo >&2 "* the QTDIR environment variable to the correct location."; \
250
+ echo >&2 "*"; \
251
+ false; \
252
+ fi; \
253
+ libpath=$$dir/lib; lib=qt; osdir=""; \
254
+ $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
255
+ osdir=x$$($(HOSTCXX) -print-multi-os-directory); \
256
+ test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \
257
+ test -f $$libpath/libqt-mt.so && lib=qt-mt; \
258
+ cflags="-I$$dir/include"; \
259
+ libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \
260
+ moc="$$dir/bin/moc"; \
261
+ fi; \
262
+ if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \
263
+ echo "*"; \
264
+ echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \
265
+ echo "*"; \
266
+ moc="/usr/bin/moc"; \
267
+ fi; \
268
+ else \
269
+ cflags="\$$(shell pkg-config QtCore QtGui Qt3Support --cflags)"; \
270
+ libs="\$$(shell pkg-config QtCore QtGui Qt3Support --libs)"; \
271
+ moc="\$$(shell pkg-config QtCore --variable=moc_location)"; \
272
+ [ -n "$$moc" ] || moc="\$$(shell pkg-config QtCore --variable=prefix)/bin/moc"; \
273
+ fi; \
274
+ echo "KC_QT_CFLAGS=$$cflags" > $@; \
275
+ echo "KC_QT_LIBS=$$libs" >> $@; \
276
+ echo "KC_QT_MOC=$$moc" >> $@
277
+ endif
278
+
279
+ $(obj)/gconf.o: $(obj)/.tmp_gtkcheck
280
+
281
+ ifeq ($(gconf-target),1)
282
+ -include $(obj)/.tmp_gtkcheck
283
+
284
+ # GTK needs some extra effort, too...
285
+ $(obj)/.tmp_gtkcheck:
286
+ @if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then \
287
+ if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then \
288
+ touch $@; \
289
+ else \
290
+ echo >&2 "*"; \
291
+ echo >&2 "* GTK+ is present but version >= 2.0.0 is required."; \
292
+ echo >&2 "*"; \
293
+ false; \
294
+ fi \
295
+ else \
296
+ echo >&2 "*"; \
297
+ echo >&2 "* Unable to find the GTK+ installation. Please make sure that"; \
298
+ echo >&2 "* the GTK+ 2.0 development package is correctly installed..."; \
299
+ echo >&2 "* You need gtk+-2.0, glib-2.0 and libglade-2.0."; \
300
+ echo >&2 "*"; \
301
+ false; \
302
+ fi
303
+ endif
304
+
305
+ $(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/zconf.hash.c
306
+
307
+ $(obj)/qconf.o: $(obj)/qconf.moc
308
+
309
+ quiet_cmd_moc = MOC $@
310
+ cmd_moc = $(KC_QT_MOC) -i $< -o $@
311
+
312
+ $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck
313
+ $(call cmd,moc)
314
+
315
+ # Extract gconf menu items for I18N support
316
+ $(obj)/gconf.glade.h: $(obj)/gconf.glade
317
+ $(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \
318
+ $(obj)/gconf.glade
319
+
320
+ VPATH := $(srctree)
321
+
322
+ $(obj)/%:: $(src)/%_shipped
323
+ $(Q)cat $< > $@
324
+
325
+ host-cobjs := $(sort $(foreach m,$(hostprogs-y),$($(m)-objs)))
326
+ host-cobjs := $(addprefix $(obj)/,$(host-cobjs))
327
+ hostprogs-y := $(addprefix $(obj)/,$(hostprogs-y))
328
+ $(host-cobjs) : $(obj)/%.o : $(src)/%.c
329
+ $(Q)$(HOSTCC) -I$(obj) -I$(srctree)/$(src) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) $(HOST_EXTRACFLAGS) -c -o $@ $<
330
+ $(hostprogs-y) : $(obj)/% : $(host-cobjs)
331
+ $(Q)$(HOSTCC) $(HOSTLDFLAGS) -o $@ $(addprefix $(obj)/,$($(@F)-objs)) $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
@@ -0,0 +1,12 @@
1
+ scripts/kconfig/lxdialog/checklist.c
2
+ scripts/kconfig/lxdialog/inputbox.c
3
+ scripts/kconfig/lxdialog/menubox.c
4
+ scripts/kconfig/lxdialog/textbox.c
5
+ scripts/kconfig/lxdialog/util.c
6
+ scripts/kconfig/lxdialog/yesno.c
7
+ scripts/kconfig/mconf.c
8
+ scripts/kconfig/conf.c
9
+ scripts/kconfig/confdata.c
10
+ scripts/kconfig/gconf.c
11
+ scripts/kconfig/gconf.glade.h
12
+ scripts/kconfig/qconf.cc
@@ -0,0 +1,13 @@
1
+ #!/bin/sh
2
+ # Needed for systems without gettext
3
+ $* -x c -o /dev/null - > /dev/null 2>&1 << EOF
4
+ #include <libintl.h>
5
+ int main()
6
+ {
7
+ gettext("");
8
+ return 0;
9
+ }
10
+ EOF
11
+ if [ ! "$?" -eq "0" ]; then
12
+ echo -DKBUILD_NO_NLS;
13
+ fi