├── .clang-format ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── bochsapi ├── apic.cc ├── dbg.cc ├── gui.cc ├── logfunctions.cc ├── mem.cc ├── paramtree.cc ├── siminterface.cc └── system.cc ├── breakpoints.cc ├── configs ├── kvm_ahci.sh ├── kvm_ati.sh ├── kvm_cirrus.sh ├── kvm_e1000.sh ├── kvm_e1000e.sh ├── kvm_eepro.sh ├── kvm_ehci.sh ├── kvm_igb.sh ├── kvm_intel-hda.sh ├── kvm_nvme.sh ├── kvm_ohci.sh ├── kvm_pcnet.sh ├── kvm_qxl.sh ├── kvm_rtl8139.sh ├── kvm_sdhci.sh ├── kvm_tpm.sh ├── kvm_virtio-blk.sh ├── kvm_virtio-crypto.sh ├── kvm_virtio-gpu.sh ├── kvm_virtio-scsi.sh ├── kvm_vmxnet.sh └── kvm_xhci.sh ├── conveyor.cc ├── conveyor.h ├── cov.cc ├── data ├── dict ├── snap.c └── vmcs.layout ├── db.cc ├── device-list ├── devices.cc ├── enum.cc ├── ept.cc ├── feedback.cc ├── fuzz.cc ├── fuzz.h ├── hyperpill-snap ├── README.md ├── bzImage ├── hp-snap-kvm.patch ├── hp-snap-qemu.patch ├── linux-6.0.config ├── osx-kvm.patch └── rootfs.cpio.gz ├── instrument.cc ├── link_map.cc ├── main.cc ├── manual_ranges.cc ├── regs.cc ├── sanitizer_coverage.h ├── scripts ├── cal_link_obj_base.sh ├── page_in_and_locked.py ├── run_hyperpill.sh ├── run_hyperpill2.sh ├── symbolize.py ├── symbolize_pdb.py └── trie.py ├── sourcecov.cc ├── sym2addr_linux.cc ├── symbolize.cc ├── tests ├── .gitignore ├── cve-2021-3947.cc ├── cve-2022-0216.cc ├── run_hyperpill.sh ├── run_hyperpill2.sh └── tests.h ├── vendor ├── .gitignore ├── bochs.diff ├── bochs │ ├── .bochsrc │ ├── .conf.amigaos │ ├── .conf.everything │ ├── .conf.linux │ ├── .conf.macos │ ├── .conf.macosx │ ├── .conf.nothing │ ├── .conf.sparc │ ├── .conf.win32-cygwin │ ├── .conf.win32-vcpp │ ├── .conf.win64-cross-mingw32 │ ├── .conf.win64-vcpp │ ├── CHANGES │ ├── COPYING │ ├── LICENSE │ ├── Makefile.in │ ├── PARAM_TREE.txt │ ├── README │ ├── README-wxWidgets │ ├── TESTFORM.txt │ ├── TODO │ ├── aclocal.m4 │ ├── bios │ │ ├── BIOS-bochs-latest │ │ ├── BIOS-bochs-legacy │ │ ├── Makefile.in │ │ ├── SeaBIOS-README │ │ ├── SeaVGABIOS-README │ │ ├── VGABIOS-elpin-2.40 │ │ ├── VGABIOS-elpin-LICENSE │ │ ├── VGABIOS-lgpl-README │ │ ├── VGABIOS-lgpl-latest │ │ ├── VGABIOS-lgpl-latest-banshee │ │ ├── VGABIOS-lgpl-latest-cirrus │ │ ├── VGABIOS-lgpl-latest-cirrus-debug │ │ ├── VGABIOS-lgpl-latest-debug │ │ ├── acpi-dsdt.dsl │ │ ├── acpi-dsdt.hex │ │ ├── apmbios.S │ │ ├── bios.bin-1.13.0 │ │ ├── bios_usage │ │ ├── biossums.c │ │ ├── makesym.perl │ │ ├── notes │ │ ├── rombios.c │ │ ├── rombios.h │ │ ├── rombios32.c │ │ ├── rombios32.ld │ │ ├── rombios32start.S │ │ ├── usage.cc │ │ └── vgabios-cirrus.bin-1.13.0 │ ├── bochs.h │ ├── build │ │ ├── android │ │ │ ├── How_to_Build.txt │ │ │ └── bochs │ │ │ │ ├── AndroidAppSettings.cfg │ │ │ │ └── AndroidBuild.sh │ │ ├── batch-build.perl │ │ ├── linux │ │ │ ├── README.linux-binary │ │ │ └── bochs-dlx.in │ │ ├── macos │ │ │ ├── CWPro3_project.sit │ │ │ ├── bochs.rsrc │ │ │ ├── bochsico.bmp │ │ │ └── macos_defines.h │ │ ├── macosx │ │ │ ├── Info.plist.in │ │ │ ├── README.macosx-binary │ │ │ ├── bochs-icn.icns │ │ │ ├── bochs.applescript │ │ │ ├── bochs.r │ │ │ ├── diskimage.pl │ │ │ ├── make-dmg.sh │ │ │ ├── pbdevelopment.plist │ │ │ ├── script.data │ │ │ └── script.r │ │ ├── makeall.sh │ │ ├── redhat │ │ │ ├── NOTES │ │ │ ├── bochs.rpmspec.template │ │ │ └── make-rpm │ │ └── win32 │ │ │ ├── README.win32-binary │ │ │ ├── bochs.manifest │ │ │ ├── cc2cpp │ │ │ ├── cpp2cc │ │ │ ├── diffcc2cpp │ │ │ ├── nsis │ │ │ ├── Makefile.in │ │ │ ├── bochs-logo.bmp │ │ │ ├── bochs.ico │ │ │ ├── bochs.nsi.in │ │ │ ├── lgban.ico │ │ │ ├── logo.ico │ │ │ ├── penguin.ico │ │ │ └── unbochs.ico │ │ │ ├── vs2019-plugins-workspace.zip │ │ │ └── vs2019-workspace │ │ │ └── vs2019 │ │ │ ├── avx.vcxproj │ │ │ ├── bochs.sln │ │ │ ├── bochs.vcxproj │ │ │ ├── bx_debug.vcxproj │ │ │ ├── bxhub.vcxproj │ │ │ ├── bximage.vcxproj │ │ │ ├── cpu.vcxproj │ │ │ ├── cpudb.vcxproj │ │ │ ├── fpu.vcxproj │ │ │ ├── gui.vcxproj │ │ │ ├── iodev.vcxproj │ │ │ ├── iodev_display.vcxproj │ │ │ ├── iodev_hdimage.vcxproj │ │ │ ├── iodev_network.vcxproj │ │ │ ├── iodev_sound.vcxproj │ │ │ ├── iodev_usb.vcxproj │ │ │ ├── memory.vcxproj │ │ │ ├── niclist.vcxproj │ │ │ └── stubs.vcxproj │ ├── bx_debug │ │ ├── Makefile.in │ │ ├── dbg_breakpoints.cc │ │ ├── dbg_main.cc │ │ ├── debug.h │ │ ├── lexer.c │ │ ├── lexer.l │ │ ├── linux.cc │ │ ├── make-syscalls-linux.pl │ │ ├── parser.cc │ │ ├── parser.h │ │ ├── parser.y │ │ ├── symbols.cc │ │ └── syscalls-linux.h │ ├── bxdisasm.cc │ ├── bxthread.cc │ ├── bxthread.h │ ├── bxversion.h.in │ ├── bxversion.rc.in │ ├── config.cc │ ├── config.guess │ ├── config.h.in │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── cpu │ │ ├── 3dnow.cc │ │ ├── Makefile.in │ │ ├── access.cc │ │ ├── access.h │ │ ├── access2.cc │ │ ├── aes.cc │ │ ├── apic.cc │ │ ├── apic.h │ │ ├── arith16.cc │ │ ├── arith32.cc │ │ ├── arith64.cc │ │ ├── arith8.cc │ │ ├── avx │ │ │ ├── Makefile.in │ │ │ ├── avx.cc │ │ │ ├── avx2.cc │ │ │ ├── avx512.cc │ │ │ ├── avx512_bitalg.cc │ │ │ ├── avx512_broadcast.cc │ │ │ ├── avx512_cvt.cc │ │ │ ├── avx512_fma.cc │ │ │ ├── avx512_mask16.cc │ │ │ ├── avx512_mask32.cc │ │ │ ├── avx512_mask64.cc │ │ │ ├── avx512_mask8.cc │ │ │ ├── avx512_move.cc │ │ │ ├── avx512_pfp.cc │ │ │ ├── avx512_rcp14.cc │ │ │ ├── avx512_rsqrt14.cc │ │ │ ├── avx_cvt.cc │ │ │ ├── avx_fma.cc │ │ │ ├── avx_ifma52.cc │ │ │ ├── avx_pfp.cc │ │ │ ├── gather.cc │ │ │ ├── tbm32.cc │ │ │ ├── tbm64.cc │ │ │ ├── vnni.cc │ │ │ └── xop.cc │ │ ├── bcd.cc │ │ ├── bit.cc │ │ ├── bit16.cc │ │ ├── bit32.cc │ │ ├── bit64.cc │ │ ├── bmi32.cc │ │ ├── bmi64.cc │ │ ├── call_far.cc │ │ ├── cet.cc │ │ ├── cmpccxadd32.cc │ │ ├── cmpccxadd64.cc │ │ ├── cpu.cc │ │ ├── cpu.h │ │ ├── cpudb │ │ │ ├── Makefile.in │ │ │ ├── amd │ │ │ │ ├── amd_k6_2_chomper.cc │ │ │ │ ├── amd_k6_2_chomper.h │ │ │ │ ├── amd_k6_2_chomper.txt │ │ │ │ ├── athlon64_clawhammer.cc │ │ │ │ ├── athlon64_clawhammer.h │ │ │ │ ├── athlon64_clawhammer.txt │ │ │ │ ├── athlon64_venice.cc │ │ │ │ ├── athlon64_venice.h │ │ │ │ ├── athlon64_venice.txt │ │ │ │ ├── phenomx3_8650_toliman.cc │ │ │ │ ├── phenomx3_8650_toliman.h │ │ │ │ ├── phenomx3_8650_toliman.txt │ │ │ │ ├── ryzen.cc │ │ │ │ ├── ryzen.h │ │ │ │ ├── ryzen.txt │ │ │ │ ├── trinity_apu.cc │ │ │ │ ├── trinity_apu.h │ │ │ │ ├── trinity_apu.txt │ │ │ │ ├── turion64_tyler.cc │ │ │ │ ├── turion64_tyler.h │ │ │ │ ├── turion64_tyler.txt │ │ │ │ ├── zambezi.cc │ │ │ │ ├── zambezi.h │ │ │ │ └── zambezi.txt │ │ │ └── intel │ │ │ │ ├── atom_n270.cc │ │ │ │ ├── atom_n270.h │ │ │ │ ├── atom_n270.txt │ │ │ │ ├── broadwell_ult.cc │ │ │ │ ├── broadwell_ult.h │ │ │ │ ├── broadwell_ult.txt │ │ │ │ ├── core2_penryn_t9600.cc │ │ │ │ ├── core2_penryn_t9600.h │ │ │ │ ├── core2_penryn_t9600.txt │ │ │ │ ├── core_duo_t2400_yonah.cc │ │ │ │ ├── core_duo_t2400_yonah.h │ │ │ │ ├── core_duo_t2400_yonah.txt │ │ │ │ ├── corei3_cnl.cc │ │ │ │ ├── corei3_cnl.h │ │ │ │ ├── corei3_cnl.txt │ │ │ │ ├── corei5_arrandale_m520.cc │ │ │ │ ├── corei5_arrandale_m520.h │ │ │ │ ├── corei5_arrandale_m520.txt │ │ │ │ ├── corei5_lynnfield_750.cc │ │ │ │ ├── corei5_lynnfield_750.h │ │ │ │ ├── corei5_lynnfield_750.txt │ │ │ │ ├── corei7_haswell_4770.cc │ │ │ │ ├── corei7_haswell_4770.h │ │ │ │ ├── corei7_haswell_4770.txt │ │ │ │ ├── corei7_icelake-u.cc │ │ │ │ ├── corei7_icelake-u.h │ │ │ │ ├── corei7_icelake-u.txt │ │ │ │ ├── corei7_ivy_bridge_3770K.cc │ │ │ │ ├── corei7_ivy_bridge_3770K.h │ │ │ │ ├── corei7_ivy_bridge_3770K.txt │ │ │ │ ├── corei7_sandy_bridge_2600K.cc │ │ │ │ ├── corei7_sandy_bridge_2600K.h │ │ │ │ ├── corei7_sandy_bridge_2600K.txt │ │ │ │ ├── corei7_skylake-x.cc │ │ │ │ ├── corei7_skylake-x.h │ │ │ │ ├── corei7_skylake-x.txt │ │ │ │ ├── p2_klamath.cc │ │ │ │ ├── p2_klamath.h │ │ │ │ ├── p2_klamath.txt │ │ │ │ ├── p3_katmai.cc │ │ │ │ ├── p3_katmai.h │ │ │ │ ├── p3_katmai.txt │ │ │ │ ├── p4_prescott_celeron_336.cc │ │ │ │ ├── p4_prescott_celeron_336.h │ │ │ │ ├── p4_prescott_celeron_336.txt │ │ │ │ ├── p4_willamette.cc │ │ │ │ ├── p4_willamette.h │ │ │ │ ├── p4_willamette.txt │ │ │ │ ├── pentium.cc │ │ │ │ ├── pentium.h │ │ │ │ ├── pentium.txt │ │ │ │ ├── pentium_mmx.cc │ │ │ │ ├── pentium_mmx.h │ │ │ │ ├── pentium_mmx.txt │ │ │ │ ├── tigerlake.cc │ │ │ │ ├── tigerlake.h │ │ │ │ └── tigerlake.txt │ │ ├── cpuid.cc │ │ ├── cpuid.h │ │ ├── cpustats.h │ │ ├── crc32.cc │ │ ├── crregs.cc │ │ ├── crregs.h │ │ ├── ctrl_xfer16.cc │ │ ├── ctrl_xfer32.cc │ │ ├── ctrl_xfer64.cc │ │ ├── ctrl_xfer_pro.cc │ │ ├── data_xfer16.cc │ │ ├── data_xfer32.cc │ │ ├── data_xfer64.cc │ │ ├── data_xfer8.cc │ │ ├── debugstuff.cc │ │ ├── decoder │ │ │ ├── decoder.h │ │ │ ├── disasm.cc │ │ │ ├── fetchdecode.h │ │ │ ├── fetchdecode32.cc │ │ │ ├── fetchdecode64.cc │ │ │ ├── fetchdecode_avx.h │ │ │ ├── fetchdecode_evex.h │ │ │ ├── fetchdecode_opmap.h │ │ │ ├── fetchdecode_opmap_0f38.h │ │ │ ├── fetchdecode_opmap_0f3a.h │ │ │ ├── fetchdecode_x87.h │ │ │ ├── fetchdecode_xop.h │ │ │ ├── ia_opcodes.def │ │ │ ├── ia_opcodes.h │ │ │ └── instr.h │ │ ├── descriptor.h │ │ ├── event.cc │ │ ├── exception.cc │ │ ├── faststring.cc │ │ ├── flag_ctrl.cc │ │ ├── flag_ctrl_pro.cc │ │ ├── fpu │ │ │ ├── Makefile.in │ │ │ ├── control_w.h │ │ │ ├── f2xm1.cc │ │ │ ├── ferr.cc │ │ │ ├── fpatan.cc │ │ │ ├── fprem.cc │ │ │ ├── fpu.cc │ │ │ ├── fpu_arith.cc │ │ │ ├── fpu_cmov.cc │ │ │ ├── fpu_compare.cc │ │ │ ├── fpu_const.cc │ │ │ ├── fpu_constant.h │ │ │ ├── fpu_load_store.cc │ │ │ ├── fpu_misc.cc │ │ │ ├── fpu_trans.cc │ │ │ ├── fsincos.cc │ │ │ ├── fyl2x.cc │ │ │ ├── poly.cc │ │ │ ├── softfloat-compare.h │ │ │ ├── softfloat-macros.h │ │ │ ├── softfloat-muladd.cc │ │ │ ├── softfloat-round-pack.cc │ │ │ ├── softfloat-round-pack.h │ │ │ ├── softfloat-specialize.cc │ │ │ ├── softfloat-specialize.h │ │ │ ├── softfloat.cc │ │ │ ├── softfloat.h │ │ │ ├── softfloat16.cc │ │ │ ├── softfloatx80.cc │ │ │ ├── softfloatx80.h │ │ │ ├── status_w.h │ │ │ ├── tag_w.h │ │ │ └── todo │ │ ├── fpu_emu.cc │ │ ├── generic_cpuid.cc │ │ ├── generic_cpuid.h │ │ ├── gf2.cc │ │ ├── i387.h │ │ ├── icache.cc │ │ ├── icache.h │ │ ├── init.cc │ │ ├── io.cc │ │ ├── iret.cc │ │ ├── jmp_far.cc │ │ ├── lazy_flags.h │ │ ├── load.cc │ │ ├── logical16.cc │ │ ├── logical32.cc │ │ ├── logical64.cc │ │ ├── logical8.cc │ │ ├── mmx.cc │ │ ├── msr.cc │ │ ├── msr.h │ │ ├── mult16.cc │ │ ├── mult32.cc │ │ ├── mult64.cc │ │ ├── mult8.cc │ │ ├── mwait.cc │ │ ├── paging.cc │ │ ├── proc_ctrl.cc │ │ ├── protect_ctrl.cc │ │ ├── rdrand.cc │ │ ├── ret_far.cc │ │ ├── scalar_arith.h │ │ ├── segment_ctrl.cc │ │ ├── segment_ctrl_pro.cc │ │ ├── sha.cc │ │ ├── shift16.cc │ │ ├── shift32.cc │ │ ├── shift64.cc │ │ ├── shift8.cc │ │ ├── simd_compare.h │ │ ├── simd_int.h │ │ ├── simd_pfp.h │ │ ├── smm.cc │ │ ├── smm.h │ │ ├── soft_int.cc │ │ ├── sse.cc │ │ ├── sse_move.cc │ │ ├── sse_pfp.cc │ │ ├── sse_rcp.cc │ │ ├── sse_string.cc │ │ ├── stack.cc │ │ ├── stack.h │ │ ├── stack16.cc │ │ ├── stack32.cc │ │ ├── stack64.cc │ │ ├── string.cc │ │ ├── svm.cc │ │ ├── svm.h │ │ ├── tasking.cc │ │ ├── tlb.h │ │ ├── todo │ │ ├── vapic.cc │ │ ├── vm8086.cc │ │ ├── vmcs.cc │ │ ├── vmexit.cc │ │ ├── vmfunc.cc │ │ ├── vmx.cc │ │ ├── vmx.h │ │ ├── wide_int.cc │ │ ├── wide_int.h │ │ ├── xmm.h │ │ └── xsave.cc │ ├── cpudb.h │ ├── crc.cc │ ├── doc │ │ ├── docbook │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── development │ │ │ │ └── development.dbk │ │ │ ├── documentation │ │ │ │ └── documentation.dbk │ │ │ ├── fixtitles.pl │ │ │ ├── images │ │ │ │ ├── dlxlinux-in-linux.png │ │ │ │ ├── headerbar.png │ │ │ │ └── undercon.png │ │ │ ├── include │ │ │ │ ├── defs.sgm │ │ │ │ └── docbook-utils.dsl │ │ │ ├── index.html │ │ │ ├── misc.txt │ │ │ ├── outline.txt │ │ │ └── user │ │ │ │ └── user.dbk │ │ └── man │ │ │ ├── bochs-dlx.1 │ │ │ ├── bochs.1 │ │ │ ├── bochsrc.5 │ │ │ └── bximage.1 │ ├── docs-html │ │ ├── 00README │ │ ├── bxdebugger.html │ │ ├── cpu_configurability.txt │ │ ├── memory.txt │ │ └── random.txt │ ├── extplugin.h │ ├── gdbstub.cc │ ├── gui │ │ ├── Makefile.in │ │ ├── amigagui.h │ │ ├── amigaos.cc │ │ ├── bitmaps │ │ │ ├── cdromd.h │ │ │ ├── cdromd.xpm │ │ │ ├── configbutton.h │ │ │ ├── configbutton.xpm │ │ │ ├── copy.h │ │ │ ├── copy.xpm │ │ │ ├── floppya.h │ │ │ ├── floppya.xpm │ │ │ ├── floppyb.h │ │ │ ├── floppyb.xpm │ │ │ ├── mouse.h │ │ │ ├── mouse.xpm │ │ │ ├── paste.h │ │ │ ├── paste.xpm │ │ │ ├── power.h │ │ │ ├── power.xpm │ │ │ ├── reset.h │ │ │ ├── reset.xpm │ │ │ ├── saverestore.h │ │ │ ├── saverestore.xpm │ │ │ ├── snapshot.h │ │ │ ├── snapshot.xpm │ │ │ ├── userbutton.h │ │ │ └── userbutton.xpm │ │ ├── carbon.cc │ │ ├── enh_dbg.cc │ │ ├── enh_dbg.h │ │ ├── font │ │ │ └── vga.bitmap.h │ │ ├── gtk_enh_dbg_osdep.cc │ │ ├── gui.cc │ │ ├── gui.h │ │ ├── icon_bochs.h │ │ ├── icon_bochs.xpm │ │ ├── keymap.cc │ │ ├── keymap.h │ │ ├── keymaps │ │ │ ├── sdl-pc-de.map │ │ │ ├── sdl-pc-us.map │ │ │ ├── sdl2-pc-de.map │ │ │ ├── sdl2-pc-us.map │ │ │ ├── x11-pc-be.map │ │ │ ├── x11-pc-da.map │ │ │ ├── x11-pc-de.map │ │ │ ├── x11-pc-es.map │ │ │ ├── x11-pc-fr.map │ │ │ ├── x11-pc-it.map │ │ │ ├── x11-pc-ru.map │ │ │ ├── x11-pc-se.map │ │ │ ├── x11-pc-sg.map │ │ │ ├── x11-pc-si.map │ │ │ ├── x11-pc-uk.map │ │ │ └── x11-pc-us.map │ │ ├── macintosh.cc │ │ ├── nogui.cc │ │ ├── paramtree.cc │ │ ├── paramtree.h │ │ ├── rfb.cc │ │ ├── rfb.h │ │ ├── rfbkeys.h │ │ ├── scrollwin.cc │ │ ├── scrollwin.h │ │ ├── sdl.cc │ │ ├── sdl.h │ │ ├── sdl2.cc │ │ ├── sdlkeys.h │ │ ├── siminterface.cc │ │ ├── siminterface.h │ │ ├── term.cc │ │ ├── textconfig.cc │ │ ├── vncsrv.cc │ │ ├── wenhdbg_res.h │ │ ├── win32.cc │ │ ├── win32_enh_dbg_osdep.cc │ │ ├── win32config.cc │ │ ├── win32dialog.h │ │ ├── win32paramdlg.cc │ │ ├── win32paramdlg.h │ │ ├── win32res.h │ │ ├── wx.cc │ │ ├── wxdialog.cc │ │ ├── wxdialog.h │ │ ├── wxmain.cc │ │ ├── wxmain.h │ │ └── x.cc │ ├── host │ │ └── linux │ │ │ └── pcidev │ │ │ ├── Make.kbuild │ │ │ ├── Makefile.in │ │ │ ├── kernel_pcidev.h │ │ │ └── pcidev.c │ ├── install-sh │ ├── instrument │ │ ├── example0 │ │ │ ├── Makefile.in │ │ │ ├── instrument.cc │ │ │ └── instrument.h │ │ ├── example1 │ │ │ ├── Makefile.in │ │ │ ├── instrument.cc │ │ │ └── instrument.h │ │ ├── example2 │ │ │ ├── Makefile.in │ │ │ ├── instrument.cc │ │ │ └── instrument.h │ │ ├── instrumentation.txt │ │ └── stubs │ │ │ ├── Makefile.in │ │ │ ├── instrument.cc │ │ │ └── instrument.h │ ├── iodev │ │ ├── Makefile.in │ │ ├── acpi.cc │ │ ├── acpi.h │ │ ├── biosdev.cc │ │ ├── biosdev.h │ │ ├── busmouse.cc │ │ ├── busmouse.h │ │ ├── cmos.cc │ │ ├── cmos.h │ │ ├── devices.cc │ │ ├── devices.txt │ │ ├── display │ │ │ ├── Makefile.in │ │ │ ├── banshee.cc │ │ │ ├── bitblt.h │ │ │ ├── ddc.cc │ │ │ ├── ddc.h │ │ │ ├── svga_cirrus.cc │ │ │ ├── svga_cirrus.h │ │ │ ├── vga.cc │ │ │ ├── vga.h │ │ │ ├── vgacore.cc │ │ │ ├── vgacore.h │ │ │ ├── voodoo.cc │ │ │ ├── voodoo.h │ │ │ ├── voodoo_data.h │ │ │ ├── voodoo_func.h │ │ │ ├── voodoo_main.h │ │ │ └── voodoo_types.h │ │ ├── dma.cc │ │ ├── dma.h │ │ ├── extfpuirq.cc │ │ ├── extfpuirq.h │ │ ├── floppy.cc │ │ ├── floppy.h │ │ ├── gameport.cc │ │ ├── gameport.h │ │ ├── harddrv.cc │ │ ├── harddrv.h │ │ ├── hdimage │ │ │ ├── Makefile.in │ │ │ ├── cdrom.cc │ │ │ ├── cdrom.h │ │ │ ├── cdrom_amigaos.cc │ │ │ ├── cdrom_amigaos.h │ │ │ ├── cdrom_misc.cc │ │ │ ├── cdrom_misc.h │ │ │ ├── cdrom_osx.cc │ │ │ ├── cdrom_osx.h │ │ │ ├── cdrom_win32.cc │ │ │ ├── cdrom_win32.h │ │ │ ├── hdimage.cc │ │ │ ├── hdimage.h │ │ │ ├── scsi_commands.h │ │ │ ├── vbox.cc │ │ │ ├── vbox.h │ │ │ ├── vmware3.cc │ │ │ ├── vmware3.h │ │ │ ├── vmware4.cc │ │ │ ├── vmware4.h │ │ │ ├── vpc.cc │ │ │ ├── vpc.h │ │ │ ├── vvfat.cc │ │ │ └── vvfat.h │ │ ├── hpet.cc │ │ ├── hpet.h │ │ ├── ioapic.cc │ │ ├── ioapic.h │ │ ├── iodebug.cc │ │ ├── iodebug.h │ │ ├── iodev.h │ │ ├── keyboard.cc │ │ ├── keyboard.h │ │ ├── network │ │ │ ├── Makefile.in │ │ │ ├── e1000.cc │ │ │ ├── e1000.h │ │ │ ├── eth_fbsd.cc │ │ │ ├── eth_linux.cc │ │ │ ├── eth_null.cc │ │ │ ├── eth_slirp.cc │ │ │ ├── eth_socket.cc │ │ │ ├── eth_tap.cc │ │ │ ├── eth_tuntap.cc │ │ │ ├── eth_vde.cc │ │ │ ├── eth_vnet.cc │ │ │ ├── eth_win32.cc │ │ │ ├── ne2k.cc │ │ │ ├── ne2k.h │ │ │ ├── netmod.cc │ │ │ ├── netmod.h │ │ │ ├── netutil.cc │ │ │ ├── netutil.h │ │ │ ├── pcipnic.cc │ │ │ ├── pcipnic.h │ │ │ ├── pnic_api.h │ │ │ └── slirp │ │ │ │ ├── COPYRIGHT │ │ │ │ ├── arp_table.cc │ │ │ │ ├── bootp.cc │ │ │ │ ├── bootp.h │ │ │ │ ├── cksum.cc │ │ │ │ ├── compat.cc │ │ │ │ ├── compat.h │ │ │ │ ├── debug.h │ │ │ │ ├── dnssearch.cc │ │ │ │ ├── if.cc │ │ │ │ ├── if.h │ │ │ │ ├── ip.h │ │ │ │ ├── ip_icmp.cc │ │ │ │ ├── ip_icmp.h │ │ │ │ ├── ip_input.cc │ │ │ │ ├── ip_output.cc │ │ │ │ ├── libslirp.h │ │ │ │ ├── main.h │ │ │ │ ├── mbuf.cc │ │ │ │ ├── mbuf.h │ │ │ │ ├── misc.cc │ │ │ │ ├── misc.h │ │ │ │ ├── sbuf.cc │ │ │ │ ├── sbuf.h │ │ │ │ ├── slirp.cc │ │ │ │ ├── slirp.h │ │ │ │ ├── slirp_config.h │ │ │ │ ├── socket.cc │ │ │ │ ├── socket.h │ │ │ │ ├── tcp.h │ │ │ │ ├── tcp_input.cc │ │ │ │ ├── tcp_output.cc │ │ │ │ ├── tcp_subr.cc │ │ │ │ ├── tcp_timer.cc │ │ │ │ ├── tcp_timer.h │ │ │ │ ├── tcp_var.h │ │ │ │ ├── tcpip.h │ │ │ │ ├── tftp.cc │ │ │ │ ├── tftp.h │ │ │ │ ├── udp.cc │ │ │ │ └── udp.h │ │ ├── parallel.cc │ │ ├── parallel.h │ │ ├── pci.cc │ │ ├── pci.h │ │ ├── pci2isa.cc │ │ ├── pci2isa.h │ │ ├── pci_ide.cc │ │ ├── pci_ide.h │ │ ├── pcidev.cc │ │ ├── pcidev.h │ │ ├── pic.cc │ │ ├── pic.h │ │ ├── pit.cc │ │ ├── pit.h │ │ ├── pit82c54.cc │ │ ├── pit82c54.h │ │ ├── scancodes.cc │ │ ├── scancodes.h │ │ ├── serial.cc │ │ ├── serial.h │ │ ├── serial_raw.cc │ │ ├── serial_raw.h │ │ ├── slowdown_timer.cc │ │ ├── slowdown_timer.h │ │ ├── sound │ │ │ ├── Makefile.in │ │ │ ├── es1370.cc │ │ │ ├── es1370.h │ │ │ ├── opl.cc │ │ │ ├── opl.h │ │ │ ├── sb16.cc │ │ │ ├── sb16.h │ │ │ ├── soundalsa.cc │ │ │ ├── soundalsa.h │ │ │ ├── sounddummy.cc │ │ │ ├── soundfile.cc │ │ │ ├── soundfile.h │ │ │ ├── soundlow.cc │ │ │ ├── soundlow.h │ │ │ ├── soundmod.cc │ │ │ ├── soundmod.h │ │ │ ├── soundoss.cc │ │ │ ├── soundoss.h │ │ │ ├── soundosx.cc │ │ │ ├── soundosx.h │ │ │ ├── soundsdl.cc │ │ │ ├── soundsdl.h │ │ │ ├── soundwin.cc │ │ │ └── soundwin.h │ │ ├── speaker.cc │ │ ├── speaker.h │ │ ├── unmapped.cc │ │ ├── unmapped.h │ │ ├── usb │ │ │ ├── Makefile.in │ │ │ ├── scsi_device.cc │ │ │ ├── scsi_device.h │ │ │ ├── uhci_core.cc │ │ │ ├── uhci_core.h │ │ │ ├── usb_common.cc │ │ │ ├── usb_common.h │ │ │ ├── usb_ehci.cc │ │ │ ├── usb_ehci.h │ │ │ ├── usb_floppy.cc │ │ │ ├── usb_floppy.h │ │ │ ├── usb_hid.cc │ │ │ ├── usb_hid.h │ │ │ ├── usb_hub.cc │ │ │ ├── usb_hub.h │ │ │ ├── usb_msd.cc │ │ │ ├── usb_msd.h │ │ │ ├── usb_ohci.cc │ │ │ ├── usb_ohci.h │ │ │ ├── usb_pcap.cc │ │ │ ├── usb_pcap.h │ │ │ ├── usb_printer.cc │ │ │ ├── usb_printer.h │ │ │ ├── usb_uhci.cc │ │ │ ├── usb_uhci.h │ │ │ ├── usb_xhci.cc │ │ │ └── usb_xhci.h │ │ ├── virt_timer.cc │ │ └── virt_timer.h │ ├── logio.cc │ ├── logio.h │ ├── ltdl-bochs.h │ ├── ltdl.c │ ├── ltdlconf.h.in │ ├── ltmain.sh │ ├── main.cc │ ├── memory │ │ ├── Makefile.in │ │ ├── memory-bochs.h │ │ ├── memory.cc │ │ └── misc_mem.cc │ ├── misc │ │ ├── Makefile.in │ │ ├── bswap.h │ │ ├── bxcompat.h │ │ ├── bxhub.cc │ │ ├── bximage.cc │ │ ├── make_cmos_image.cc │ │ ├── niclist.c │ │ ├── sb16 │ │ │ ├── sb16ctrl.c │ │ │ ├── sb16ctrl.example │ │ │ └── sb16ctrl.exe │ │ ├── slirp.conf │ │ ├── spoolpipe.c │ │ ├── test-access-check.cc │ │ └── vnet.conf │ ├── msrs.def │ ├── osdep.cc │ ├── osdep.h │ ├── param_names.h │ ├── patches │ │ ├── HEADER │ │ ├── NOTES │ │ ├── bochs-bios-win32.diff │ │ ├── patch.decode-interrupts.gz │ │ ├── patch.example-override-ask │ │ ├── patch.example-user-plugin │ │ ├── patch.example-vdisk-dll │ │ └── patch.hosttime-port │ ├── pc_system.cc │ ├── pc_system.h │ ├── plugin.cc │ ├── plugin.h │ ├── qemu-queue.h │ ├── win32_enh_dbg.rc │ ├── win32res.rc │ └── wxbochs.rc ├── libfuzzer-ng │ ├── CMakeLists.txt │ ├── FuzzerBuiltins.h │ ├── FuzzerBuiltinsMsvc.h │ ├── FuzzerCommand.h │ ├── FuzzerCorpus.h │ ├── FuzzerCrossOver.cpp │ ├── FuzzerDataFlowTrace.cpp │ ├── FuzzerDataFlowTrace.h │ ├── FuzzerDefs.h │ ├── FuzzerDictionary.h │ ├── FuzzerDriver.cpp │ ├── FuzzerExtFunctions.def │ ├── FuzzerExtFunctions.h │ ├── FuzzerExtFunctionsDlsym.cpp │ ├── FuzzerExtFunctionsWeak.cpp │ ├── FuzzerExtFunctionsWindows.cpp │ ├── FuzzerExtraCounters.cpp │ ├── FuzzerExtraCountersDarwin.cpp │ ├── FuzzerExtraCountersWindows.cpp │ ├── FuzzerFlags.def │ ├── FuzzerFork.cpp │ ├── FuzzerFork.h │ ├── FuzzerIO.cpp │ ├── FuzzerIO.h │ ├── FuzzerIOPosix.cpp │ ├── FuzzerIOWindows.cpp │ ├── FuzzerInterceptors.cpp │ ├── FuzzerInterface.h │ ├── FuzzerInternal.h │ ├── FuzzerLoop.cpp │ ├── FuzzerMain.cpp │ ├── FuzzerMerge.cpp │ ├── FuzzerMerge.h │ ├── FuzzerMutate.cpp │ ├── FuzzerMutate.h │ ├── FuzzerOptions.h │ ├── FuzzerPlatform.h │ ├── FuzzerRandom.h │ ├── FuzzerSHA1.cpp │ ├── FuzzerSHA1.h │ ├── FuzzerTracePC.cpp │ ├── FuzzerTracePC.h │ ├── FuzzerUtil.cpp │ ├── FuzzerUtil.h │ ├── FuzzerUtilDarwin.cpp │ ├── FuzzerUtilFuchsia.cpp │ ├── FuzzerUtilLinux.cpp │ ├── FuzzerUtilPosix.cpp │ ├── FuzzerUtilWindows.cpp │ ├── FuzzerValueBitMap.h │ ├── README.txt │ ├── afl │ │ └── afl_driver.cpp │ ├── build.sh │ ├── dataflow │ │ ├── DataFlow.cpp │ │ ├── DataFlow.h │ │ └── DataFlowCallbacks.cpp │ ├── scripts │ │ └── unbalanced_allocs.py │ ├── standalone │ │ └── StandaloneFuzzTargetMain.c │ └── tests │ │ ├── CMakeLists.txt │ │ ├── FuzzedDataProviderUnittest.cpp │ │ └── FuzzerUnittest.cpp ├── libfuzzer.diff └── robin-map │ ├── .codecov.yml │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README.md │ ├── cmake │ └── tsl-robin-mapConfig.cmake.in │ ├── doxygen.conf │ ├── include │ └── tsl │ │ ├── robin_growth_policy.h │ │ ├── robin_hash.h │ │ ├── robin_map.h │ │ └── robin_set.h │ ├── tests │ ├── CMakeLists.txt │ ├── custom_allocator_tests.cpp │ ├── main.cpp │ ├── policy_tests.cpp │ ├── robin_map_tests.cpp │ ├── robin_set_tests.cpp │ └── utils.h │ └── tsl-robin-map.natvis └── vmcs.cc /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 HexHive 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bochsapi/apic.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "bochs.h" 4 | 5 | // this is 0xff if xAPIC is supported or 0xf if not. AFAICT everything since 6 | // pentium 4 has supported xAPIC, so we'll just hardcode this. Values come from 7 | // bochs/main.cc 8 | BOCHSAPI bool simulate_xapic = true; 9 | BOCHSAPI Bit32u apic_id_mask = 0xff; 10 | -------------------------------------------------------------------------------- /bochsapi/dbg.cc: -------------------------------------------------------------------------------- 1 | #include "bochs.h" 2 | 3 | BOCHSAPI bx_debug_t bx_dbg; 4 | -------------------------------------------------------------------------------- /bochsapi/gui.cc: -------------------------------------------------------------------------------- 1 | #include "bochs.h" 2 | #include "gui/gui.h" 3 | 4 | bx_gui_c *bx_gui = NULL; 5 | -------------------------------------------------------------------------------- /bochsapi/system.cc: -------------------------------------------------------------------------------- 1 | #include "bochs.h" 2 | #include "pc_system.h" 3 | #include "iodev/iodev.h" 4 | #include "gui/gui.h" 5 | 6 | bool bx_user_quit; 7 | 8 | #if BX_ENABLE_STATISTICS 9 | void print_statistics_tree(bx_param_c *node, int level) {} 10 | #endif 11 | 12 | bx_pc_system_c bx_pc_system; 13 | 14 | void bx_init_pc_system() { 15 | bx_pc_system.initialize(95000000); 16 | bx_pc_system.register_state(); 17 | bx_pc_system.Reset(BX_RESET_HARDWARE); 18 | bx_pc_system.start_timers(); 19 | } -------------------------------------------------------------------------------- /configs/kvm_ahci.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-ahci-atapi 2 | export VIDEZZOTARGET=ahci-cd 3 | export RANGE_REGEX="ahci|ide" 4 | export LINK_OBJ_REGEX='(text.*hw_ide)|(text.*dma-helpers)' 5 | # SOURCEPATHS: hw/ide/* 6 | -------------------------------------------------------------------------------- /configs/kvm_ati.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-ati-display 2 | # SOURCEPATHS: hw/display/ati.c 3 | export RANGE_REGEX="ati.mmregs|vga" 4 | export LINK_OBJ_REGEX='(text.*hw_display_ati)' 5 | -------------------------------------------------------------------------------- /configs/kvm_cirrus.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-cirrus-vga 2 | export VIDEZZOTARGET=cirrus-vga 3 | export RANGE_REGEX="cirrus|vga" 4 | export LINK_OBJ_REGEX='(text.*hw_display_cirrus)' 5 | export PCI_ID="101300b8" 6 | 7 | # SOURCEPATHS: hw/display/cirrus* 8 | -------------------------------------------------------------------------------- /configs/kvm_e1000.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-e1000 2 | export RANGE_REGEX="e1000-" 3 | export LINK_OBJ_REGEX='(text.*hw_net_e1000)' 4 | # SOURCEPATHS: hw/display/cirrus* 5 | -------------------------------------------------------------------------------- /configs/kvm_e1000e.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-e1000e 2 | export VIDEZZOTARGET=e1000e 3 | export RANGE_REGEX="e1000e|msix.*35" 4 | export LINK_OBJ_REGEX='(text.*hw_net_e1000)|(text.*hw_net_net)|(text.*\/net_)|(text.*pci_msi)' 5 | export PCI_ID="808610d3" 6 | # SOURCEPATHS: hw/net/e1000* 7 | -------------------------------------------------------------------------------- /configs/kvm_eepro.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-eepro 2 | export RANGE_REGEX="eepro" 3 | export LINK_OBJ_REGEX='(text.*hw_net_eepro)' 4 | -------------------------------------------------------------------------------- /configs/kvm_ehci.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-ehci 2 | export VIDEZZOTARGET=ehci 3 | export PCI_ID="8086293a" 4 | export RANGE_REGEX="ich9-ehci" 5 | export LINK_OBJ_REGEX='(text.*hw_usb_hcd-ehci)|(text.*hw_usb_dev-)|(text.*softmmu_memory.c)' 6 | # SOURCEPATHS: hw/usb/hcd-ehci* 7 | -------------------------------------------------------------------------------- /configs/kvm_igb.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-igb 2 | export RANGE_REGEX="igb|msix.*36" 3 | export LINK_OBJ_REGEX='(text.*hw_net_igb)|(text.*hw_net_e1000)|(text.*pci_msi)|(text.*hw_net_net)|(text.*\/net_)' 4 | export PCI_ID="808610c9" 5 | # SOURCEPATHS: hw/net/igb* 6 | -------------------------------------------------------------------------------- /configs/kvm_intel-hda.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-intel-hda 2 | export RANGE_REGEX="intel-hda" 3 | export LINK_OBJ_REGEX='(text.*hw_audio_intel-hda)' 4 | -------------------------------------------------------------------------------- /configs/kvm_nvme.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-nvme 2 | export VIDEZZOTARGET=nvme 3 | export RANGE_REGEX="nvme" 4 | export LINK_OBJ_REGEX='(text.*nvme)|(text.*pci_msi)' 5 | export PCI_ID="1b360010" 6 | # SOURCEPATHS: hw/nvme/ 7 | -------------------------------------------------------------------------------- /configs/kvm_ohci.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-ohci 2 | # SOURCEPATHS: hw/usb/hcd-ohci.c 3 | export RANGE_REGEX="ohci" 4 | export LINK_OBJ_REGEX='(text.*hw_usb)|(text.*softmmu_memory.c)' 5 | -------------------------------------------------------------------------------- /configs/kvm_pcnet.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-pcnet 2 | # SOURCEPATHS: hw/net/pcnet.c 3 | export RANGE_REGEX="pcnet" 4 | export LINK_OBJ_REGEX='(text.*hw_net_pcnet)' 5 | -------------------------------------------------------------------------------- /configs/kvm_qxl.sh: -------------------------------------------------------------------------------- 1 | # SOURCEPATHS: hw/display/qxl.c 2 | export RANGE_REGEX="qxl" 3 | export PCI_ID="1b360100" 4 | export LINK_OBJ_REGEX='(text.*hw_display_qxl)' 5 | -------------------------------------------------------------------------------- /configs/kvm_rtl8139.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-rtl8139 2 | # SOURCEPATHS: hw/net/rtl8139.c 3 | export RANGE_REGEX="rtl8139" 4 | export LINK_OBJ_REGEX='(text.*hw_net_rtl8139)' 5 | -------------------------------------------------------------------------------- /configs/kvm_sdhci.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-sdhci-v3 2 | export VIDEZZOTARGET=sdhci-v3 3 | # SOURCEPATHS: hw/sd/sdhci.c 4 | export PCI_ID="1b360007" 5 | export RANGE_REGEX="sdhci|msix.*29" 6 | export LINK_OBJ_REGEX='(text.*hw_sd_)' 7 | -------------------------------------------------------------------------------- /configs/kvm_tpm.sh: -------------------------------------------------------------------------------- 1 | # SOURCEPATHS: hw/tpm/*.c 2 | export RANGE_REGEX="tpm" 3 | export LINK_OBJ_REGEX='(text.*hw_tpm)' 4 | -------------------------------------------------------------------------------- /configs/kvm_virtio-blk.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-virtio-blk 2 | # SOURCEPATHS: hw/block/virtio-blk.c 3 | export RANGE_REGEX="virtio-blk" 4 | export LINK_OBJ_REGEX='(text.*hw_virtio)|(text.*virtio-blk)|(text.*pci_msi)' 5 | -------------------------------------------------------------------------------- /configs/kvm_virtio-crypto.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-virtio-crypto 2 | # SOURCEPATHS: hw/virtio/virtio-crypto.c 3 | export RANGE_REGEX="virtio-crypto" 4 | export LINK_OBJ_REGEX='(text.*hw_virtio)|(text.*virtio-crypto)' 5 | -------------------------------------------------------------------------------- /configs/kvm_virtio-gpu.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-virtio-gpu 2 | export VIDEZZOTARGET=virtio-gpu 3 | # SOURCEPATHS: hw/display/virtio-gpu.c 4 | export PCI_ID="1af41050" 5 | export RANGE_REGEX="virtio-gpu|vga|msix.*44" 6 | export LINK_OBJ_REGEX='(text.*hw_virtio)|(text.*hw_display_virtio-)|(text.*pci_msi)' 7 | -------------------------------------------------------------------------------- /configs/kvm_virtio-scsi.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-virtio-scsi 2 | export VIDEZZOTARGET=virtio-scsi 3 | # SOURCEPATHS: hw/scsi/virtio-scsi.c 4 | export PCI_ID="1af41004" 5 | export RANGE_REGEX="virtio-scsi" 6 | export LINK_OBJ_REGEX='(text.*hw_virtio)|(text.*virtio-scsi)|(text.*pci_msi)' 7 | -------------------------------------------------------------------------------- /configs/kvm_vmxnet.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-vmxnet3 2 | export VIDEZZOTARGET=vmxnet3 3 | # SOURCEPATHS: hw/net/vmxnet3.c 4 | export RANGE_REGEX="vmxnet|msix.*41" 5 | export PCI_ID="15ad07b0" 6 | export LINK_OBJ_REGEX='(text.*vmxnet)|(text.*pci_pci_host)|(text.*pci_msi)|(text.*hw_net_net)|(text.*\/net_)' 7 | export NOASYNC=1 8 | -------------------------------------------------------------------------------- /configs/kvm_xhci.sh: -------------------------------------------------------------------------------- 1 | export MORPHUZZARG=--fuzz-target=generic-fuzz-xhci 2 | export VIDEZZOTARGET=xhci 3 | # SOURCEPATHS: hw/usb/hcd-xhci.c 4 | # hw/usb/dev-* 5 | export PCI_ID="1b36000d" 6 | export RANGE_REGEX="xhci|msix.*xhci" 7 | export LINK_OBJ_REGEX='(text.*hw_usb_hcd-xhci)|(text.*hw_usb_dev-)|(text.*softmmu_memory.c)|(text.*hw_scsi)|(text.*pci_msi)' 8 | -------------------------------------------------------------------------------- /conveyor.h: -------------------------------------------------------------------------------- 1 | #ifndef CONVEYOR_H 2 | #define CONVEYOR_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define SEPARATOR "FUZZ" 9 | #define SEPARATOR_LEN 4 10 | 11 | void ic_setup(size_t max_input); 12 | void ic_new_input(const uint8_t* in, size_t len); 13 | uint8_t *ic_get_output(size_t *len); 14 | int ic_ingest8(uint8_t *result, uint8_t min, uint8_t max, bool protect); 15 | int ic_ingest16(uint16_t *result, uint16_t min, uint16_t max, bool protect); 16 | int ic_ingest32(uint32_t *result, uint32_t min, uint32_t max, bool protect); 17 | int ic_ingest64(uint64_t *result, uint64_t min, uint64_t max, bool protect); 18 | int ic_ingest8(uint8_t *result, uint8_t min, uint8_t max); 19 | int ic_ingest16(uint16_t *result, uint16_t min, uint16_t max); 20 | int ic_ingest32(uint32_t *result, uint32_t min, uint32_t max); 21 | int ic_ingest64(uint64_t *result, uint64_t min, uint64_t max); 22 | uint8_t* ic_ingest_len(size_t len); 23 | uint8_t* ic_ingest_buf(size_t *len, const char* token, size_t token_len, int minlen, int string); 24 | void *ic_advance_until_token(const char* token, size_t len); 25 | size_t ic_get_last_token(void); 26 | void* ic_insert(void* src, size_t len, size_t pos); 27 | void* ic_append(const void* src, size_t len); 28 | size_t ic_length_until_token(const char* token, size_t len); 29 | void ic_erase_backwards_until_token(void); 30 | uint8_t *ic_get_cursor(void); 31 | void ic_dump(); 32 | 33 | // Returns the size of the next buffer 34 | size_t ic_lookahead(const char* token, size_t token_len) ; 35 | void ic_subtract(size_t l); 36 | 37 | int new_op(uint8_t op, uint32_t start, uint32_t end, uint32_t dma_start, uint32_t dma_len); 38 | 39 | extern "C" { 40 | void __fuzzer_set_output(uint8_t *data, size_t size); 41 | void __fuzzer_set_op_log(void *log); 42 | } 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /data/dict: -------------------------------------------------------------------------------- 1 | kw1="FUZZ" 2 | -------------------------------------------------------------------------------- /data/snap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #define VMCALL_ID 0xdeadbeef 9 | int main() { 10 | size_t size = 0x100000; // 1 MB 11 | int fd = open("/dev/random", O_RDONLY); 12 | sleep(10); 13 | int i =0; 14 | void *bloat = -1; 15 | if(!fork()) { 16 | mlockall( MCL_CURRENT | MCL_FUTURE ); 17 | 18 | while(bloat != NULL){ 19 | bloat = malloc(size); 20 | if(bloat == NULL) { 21 | printf("MMAP FAILED\n"); 22 | } else { 23 | memset(bloat, 1, size); 24 | printf("BLOAT %p\n", bloat); 25 | } 26 | } 27 | exit(0); 28 | } else { 29 | wait(NULL); 30 | uint64_t rax = VMCALL_ID; 31 | __asm__ __volatile__("mov $0xdeadbeef, %rax\n"); 32 | asm volatile("vmcall"); 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /device-list: -------------------------------------------------------------------------------- 1 | kvm_virtio-scsi 2 | kvm_ehci 3 | kvm_virtio-gpu 4 | kvm_nvme 5 | kvm_sdhci 6 | kvm_xhci 7 | kvm_e1000e 8 | kvm_igb 9 | kvm_vmxnet 10 | kvm_cirrus 11 | kvm_qxl 12 | kvm_ahci 13 | -------------------------------------------------------------------------------- /devices.cc: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | #include "iodev/iodev.h" 4 | 5 | bx_devices_c::bx_devices_c() {} 6 | bx_devices_c::~bx_devices_c() {} 7 | void bx_devices_c::exit() {} 8 | void bx_devices_c::reset(unsigned int) {} 9 | 10 | static char output_buf[128]; 11 | static char output_index = 0; 12 | 13 | Bit32u bx_devices_c::inp(Bit16u addr, unsigned len) { 14 | if (addr == 0x3fd) { 15 | printf("%s\n", output_buf); 16 | memset(output_buf, 0, 128); 17 | output_index = 0; 18 | return 0x20; 19 | } 20 | printf("PIO READ ADDR: %x\n", addr); 21 | return 0; 22 | if (addr >= 0x3f8 && addr <= 0x3ff) 23 | return 0; 24 | if(addr == 0x608) 25 | return 0x00b05c69; 26 | return 0; 27 | } 28 | void bx_devices_c::outp(Bit16u addr, Bit32u value, unsigned len) { 29 | if (addr == 0x3f8) { 30 | output_buf[output_index % 128] = (unsigned char)value; 31 | output_index++; 32 | return; 33 | } 34 | printf("PIO WRIT ADDR: %x %c\n", addr, value); 35 | /* for(int i=0; igen_reg[i].rrx); */ 37 | /* } */ 38 | return; 39 | assert(false); 40 | } 41 | 42 | Bit32u bx_pci_device_c::pci_read_handler(unsigned char, unsigned int) { assert(false); return 0; } 43 | 44 | logfunctions *pluginlog; 45 | bx_devices_c bx_devices; 46 | -------------------------------------------------------------------------------- /hyperpill-snap/bzImage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/hyperpill-snap/bzImage -------------------------------------------------------------------------------- /hyperpill-snap/osx-kvm.patch: -------------------------------------------------------------------------------- 1 | From 3019fcc1c082cfa16cb20bd654fe5cd6018b4bb0 Mon Sep 17 00:00:00 2001 2 | From: Qiang Liu 3 | Date: Fri, 9 Aug 2024 15:18:03 +0200 4 | Subject: [PATCH] update OpenCore-Boot.sh to support vmx 5 | 6 | --- 7 | OpenCore-Boot.sh | 4 ++-- 8 | 1 file changed, 2 insertions(+), 2 deletions(-) 9 | 10 | diff --git a/OpenCore-Boot.sh b/OpenCore-Boot.sh 11 | index e027851..f44b156 100755 12 | --- a/OpenCore-Boot.sh 13 | +++ b/OpenCore-Boot.sh 14 | @@ -18,7 +18,7 @@ 15 | ############################################################################### 16 | 17 | 18 | -MY_OPTIONS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" 19 | +MY_OPTIONS="+vmx,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" 20 | 21 | # This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with 22 | # macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6. 23 | @@ -33,7 +33,7 @@ OVMF_DIR="." 24 | 25 | # shellcheck disable=SC2054 26 | args=( 27 | - -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" 28 | + -enable-kvm -m "$ALLOCATED_RAM" -cpu Skylake-Client,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" 29 | -machine q35 30 | -device qemu-xhci,id=xhci 31 | -device usb-kbd,bus=xhci.0 -device usb-tablet,bus=xhci.0 32 | -- 33 | 2.34.1 34 | 35 | -------------------------------------------------------------------------------- /hyperpill-snap/rootfs.cpio.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/hyperpill-snap/rootfs.cpio.gz -------------------------------------------------------------------------------- /link_map.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "fuzz.h" 5 | 6 | void load_link_map(char* map_path, char* obj_regex, size_t base) { 7 | std::regex rx(obj_regex); 8 | 9 | // Need to make sure __llvm_prf_cnts is in the linkmap. Then read the first 10 | // one that is nonzero - which should have the size of the counters map and 11 | // the entire region 12 | 13 | std::ifstream infile(map_path); 14 | std::string line; 15 | while (std::getline(infile, line)) 16 | { 17 | std::smatch match; 18 | if(std::regex_search(line, match, rx)){ 19 | /* printf("MATCH: %s\n", line.c_str()); */ 20 | std::istringstream iss(line); 21 | uint64_t start, len; 22 | std::string ignore; 23 | char c; 24 | if (!(iss >> std::hex >> ignore >> start >> len)) { break; } 25 | add_pc_range(base+start, len); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /manual_ranges.cc: -------------------------------------------------------------------------------- 1 | #include "bochs.h" 2 | #include "cpu/cpu.h" 3 | #include "fuzz.h" 4 | #include "conveyor.h" 5 | 6 | #include 7 | #include 8 | 9 | 10 | void load_manual_ranges(char* range_file, char* range_regex, std::map &pio_regions, std::map &mmio_regions) { 11 | assert(range_file); 12 | assert(range_regex); 13 | 14 | std::regex rx(range_regex); 15 | 16 | std::ifstream infile(range_file); 17 | std::string line; 18 | while (std::getline(infile, line)) 19 | { 20 | std::smatch match; 21 | /* printf("Checking: %s\n", line.c_str()); */ 22 | if(std::regex_search(line, match, rx)){ 23 | if (line.find("ram)") != std::string::npos) { 24 | continue; 25 | } 26 | if (line.find("rom)") != std::string::npos) { 27 | continue; 28 | } 29 | printf("MATCH: %s\n", line.c_str()); 30 | std::istringstream iss(line); 31 | uint64_t start, end; 32 | char c; 33 | if (!(iss >> std::hex >> start >> c >> std::hex >> end)) { continue; } 34 | assert(c=='-'); 35 | if(start < 0x10000) 36 | pio_regions[start] = end-start; 37 | else 38 | add_mmio_region(start, end-start); 39 | printf("Will fuzz: %s\n", line.c_str()); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /scripts/cal_link_obj_base.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # Author: MingyuanLuo 5 | # Slightly modified by Qiang Liu 6 | # 7 | 8 | # Path to your text file 9 | file=$SNAPSHOT_BASE/layout 10 | 11 | # Use grep to find the line with "qemu-system-x86_64" 12 | line=$(grep "qemu-system-x86_64" "$file" | head -1) 13 | 14 | # Extract the start address, sh_addr, and compute the base address 15 | if [[ -n "$line" ]]; then 16 | # Extract the start address (first hex value after "Range:") 17 | start_address=$(echo "$line" | awk '{print $3}' | sed 's/-//' | tr '[:lower:]' '[:upper:]') 18 | 19 | # Extract the sh_addr (last hex value in the line) 20 | sh_addr=$(echo "$line" | awk '{print $NF}' | tr '[:lower:]' '[:upper:]') 21 | 22 | # Convert both values to decimal, subtract, and convert back to hexadecimal 23 | LINK_OBJ_BASE=0x$(echo "obase=16; ibase=16; $start_address - $sh_addr" | bc | tr '[:upper:]' '[:lower:]') 24 | 25 | # Output the result 26 | echo "LINK_OBJ_BASE=$LINK_OBJ_BASE" 27 | else 28 | echo "No line found for qemu-system-x86_64" 29 | fi 30 | -------------------------------------------------------------------------------- /scripts/run_hyperpill.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | crash=$1 5 | 6 | if [ -z "$NSLOTS" ]; then 7 | export LIBFUZZER_ARGS="$LIBFUZZER_ARGS" 8 | else 9 | export LIBFUZZER_ARGS="-jobs=$NSLOTS -workers=$NSLOTS $LIBFUZZER_ARGS" 10 | fi 11 | 12 | export ASAN_OPTIONS=use_sigaltstack=false 13 | if [ -z $crash ]; then 14 | LIBFUZZER_FLAGS="-max_len=8192 -rss_limit_mb=-1 -detect_leaks=0 -use_value_profile=1 -reload=60 \ 15 | -dict=$PROJECT_ROOT/data/dict \ 16 | $LIBFUZZER_ARGS $CORPUS_DIR 17 | " 18 | else 19 | LIBFUZZER_FLAGS="$crash" 20 | fi 21 | 22 | if [[ -z "$KVM" && -z "$HYPERV" && -z "$MACOS" ]]; then 23 | echo "None of the environment variables KVM, HYPERV, or MACOS are set. Exiting." 24 | exit 1 25 | fi 26 | export NOCOV=1 27 | 28 | if [ -n "$KVM" ] && [ -z "${FUZZ_ENUM+x}" ]; then 29 | export END_WITH_CLOCK_STEP=1 30 | fi 31 | 32 | export ICP_VMCS_LAYOUT_PATH="$PROJECT_ROOT/data/vmcs.layout" 33 | export ICP_VMCS_ADDR=$(cat "$SNAPSHOT_BASE/vmcs") 34 | export SYMBOL_MAPPING="$SNAPSHOT_BASE/layout" 35 | export ICP_MEM_PATH="$SNAPSHOT_BASE/mem" 36 | if [ -e "$SNAPSHOT_BASE/mem.md5sum" ]; then 37 | export ICP_MEM_MD5SUM=$(cat "$SNAPSHOT_BASE/mem.md5sum") 38 | fi 39 | export ICP_REGS_PATH="$SNAPSHOT_BASE/regs" 40 | export ICP_DB_PATH="$SNAPSHOT_BASE/snap.sqlite" 41 | 42 | cp "$PROJECT_ROOT/fuzz" . 43 | ./fuzz $LIBFUZZER_FLAGS 44 | -------------------------------------------------------------------------------- /scripts/run_hyperpill2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | crash=$1 5 | 6 | if [ -z "$NSLOTS" ]; then 7 | export LIBFUZZER_ARGS="$LIBFUZZER_ARGS" 8 | else 9 | export LIBFUZZER_ARGS="-jobs=$NSLOTS -workers=$NSLOTS $LIBFUZZER_ARGS" 10 | fi 11 | 12 | export ASAN_OPTIONS=use_sigaltstack=false 13 | if [ -z $crash ]; then 14 | LIBFUZZER_FLAGS="-max_len=8192 -rss_limit_mb=-1 -detect_leaks=0 -use_value_profile=1 -reload=60 \ 15 | -dict=$PROJECT_ROOT/data/dict \ 16 | $LIBFUZZER_ARGS $CORPUS_DIR 17 | " 18 | else 19 | LIBFUZZER_FLAGS="$crash" 20 | fi 21 | 22 | if [[ -z "$KVM" && -z "$HYPERV" && -z "$MACOS" ]]; then 23 | echo "None of the environment variables KVM, HYPERV, or MACOS are set. Exiting." 24 | exit 1 25 | fi 26 | 27 | if [ -z $LINK_OBJ_BASE ]; then 28 | echo "LINK_OBJ_BASE is not set. Exiting." 29 | exit 1 30 | fi 31 | export LINK_OBJ_PATH="$SNAPSHOT_BASE/symbols/qemu-system-x86_64" 32 | if [ ! -e "$LINK_OBJ_PATH" ]; then 33 | echo "$LINK_OBJ_PATH does not exist. Exiting." 34 | exit 1 35 | fi 36 | 37 | if [ -n "$KVM" ] && [ -z "${FUZZ_ENUM+x}" ]; then 38 | export END_WITH_CLOCK_STEP=1 39 | fi 40 | 41 | export ICP_VMCS_LAYOUT_PATH="$PROJECT_ROOT/data/vmcs.layout" 42 | export ICP_VMCS_ADDR=$(cat "$SNAPSHOT_BASE/vmcs") 43 | export SYMBOL_MAPPING="$SNAPSHOT_BASE/layout" 44 | export ICP_MEM_PATH="$SNAPSHOT_BASE/mem" 45 | if [ -e "$SNAPSHOT_BASE/mem.md5sum" ]; then 46 | export ICP_MEM_MD5SUM=$(cat "$SNAPSHOT_BASE/mem.md5sum") 47 | fi 48 | export ICP_REGS_PATH="$SNAPSHOT_BASE/regs" 49 | export ICP_DB_PATH="$SNAPSHOT_BASE/snap.sqlite" 50 | 51 | cp "$PROJECT_ROOT/fuzz" . 52 | # gdb --args \ 53 | ./fuzz $LIBFUZZER_FLAGS 54 | -------------------------------------------------------------------------------- /scripts/trie.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | 4 | class Trie(): 5 | """Regex::Trie in Python. Creates a Trie out of a list of words. The trie can be exported to a Regex pattern. 6 | The corresponding Regex should match much faster than a simple Regex union.""" 7 | 8 | def __init__(self): 9 | self.data = {} 10 | 11 | def add(self, word): 12 | ref = self.data 13 | for char in word: 14 | ref[char] = char in ref and ref[char] or {} 15 | ref = ref[char] 16 | ref[''] = 1 17 | 18 | def dump(self): 19 | return self.data 20 | 21 | def quote(self, char): 22 | return re.escape(char) 23 | 24 | def _pattern(self, pData): 25 | data = pData 26 | if "" in data and len(data.keys()) == 1: 27 | return None 28 | 29 | alt = [] 30 | cc = [] 31 | q = 0 32 | for char in sorted(data.keys()): 33 | if isinstance(data[char], dict): 34 | try: 35 | recurse = self._pattern(data[char]) 36 | alt.append(self.quote(char) + recurse) 37 | except: 38 | cc.append(self.quote(char)) 39 | else: 40 | q = 1 41 | cconly = not len(alt) > 0 42 | 43 | if len(cc) > 0: 44 | if len(cc) == 1: 45 | alt.append(cc[0]) 46 | else: 47 | alt.append('[' + ''.join(cc) + ']') 48 | 49 | if len(alt) == 1: 50 | result = alt[0] 51 | else: 52 | result = "(?:" + "|".join(alt) + ")" 53 | 54 | if q: 55 | if cconly: 56 | result += "?" 57 | else: 58 | result = "(?:%s)?" % result 59 | return result 60 | 61 | def pattern(self): 62 | return self._pattern(self.dump()) 63 | 64 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | cve-2021-3947 2 | cve-2022-0216 3 | -------------------------------------------------------------------------------- /tests/run_hyperpill.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | poc=$1 5 | 6 | if [ -z tests/$poc ]; then 7 | echo "Please select one poc in tests/. Exiting." 8 | exit 1 9 | fi 10 | 11 | if [[ -z "$KVM" && -z "$HYPERV" && -z "$MACOS" ]]; then 12 | echo "None of the environment variables KVM, HYPERV, or MACOS are set. Exiting." 13 | exit 1 14 | fi 15 | export NOCOV=1 16 | 17 | if [ -n "$KVM" ]; then 18 | export END_WITH_CLOCK_STEP=1 19 | fi 20 | 21 | export ICP_VMCS_LAYOUT_PATH="$PROJECT_ROOT/data/vmcs.layout" 22 | export ICP_VMCS_ADDR=$(cat "$SNAPSHOT_BASE/vmcs") 23 | export SYMBOL_MAPPING="$SNAPSHOT_BASE/layout" 24 | export ICP_MEM_PATH="$SNAPSHOT_BASE/mem" 25 | if [ -e "$SNAPSHOT_BASE/mem.md5sum" ]; then 26 | export ICP_MEM_MD5SUM=$(cat "$SNAPSHOT_BASE/mem.md5sum") 27 | fi 28 | export ICP_REGS_PATH="$SNAPSHOT_BASE/regs" 29 | export ICP_DB_PATH="$SNAPSHOT_BASE/snap.sqlite" 30 | 31 | cp "$PROJECT_ROOT/tests/$poc" . 32 | # gdb --args \ 33 | ./$poc 34 | -------------------------------------------------------------------------------- /tests/run_hyperpill2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | poc=$1 5 | 6 | if [ -z tests/$poc ]; then 7 | echo "Please select one poc in tests/. Exiting." 8 | exit 1 9 | fi 10 | 11 | if [[ -z "$KVM" && -z "$HYPERV" && -z "$MACOS" ]]; then 12 | echo "None of the environment variables KVM, HYPERV, or MACOS are set. Exiting." 13 | exit 1 14 | fi 15 | 16 | if [ -z $LINK_OBJ_BASE ]; then 17 | echo "LINK_OBJ_BASE is not set. Exiting." 18 | exit 1 19 | fi 20 | export LINK_OBJ_PATH="$SNAPSHOT_BASE/symbols/qemu-system-x86_64" 21 | if [ ! -e "$LINK_OBJ_PATH" ]; then 22 | echo "$LINK_OBJ_PATH does not exist. Exiting." 23 | exit 1 24 | fi 25 | 26 | if [ -n "$KVM" ]; then 27 | export END_WITH_CLOCK_STEP=1 28 | fi 29 | 30 | export ICP_VMCS_LAYOUT_PATH="$PROJECT_ROOT/data/vmcs.layout" 31 | export ICP_VMCS_ADDR=$(cat "$SNAPSHOT_BASE/vmcs") 32 | export SYMBOL_MAPPING="$SNAPSHOT_BASE/layout" 33 | export ICP_MEM_PATH="$SNAPSHOT_BASE/mem" 34 | if [ -e "$SNAPSHOT_BASE/mem.md5sum" ]; then 35 | export ICP_MEM_MD5SUM=$(cat "$SNAPSHOT_BASE/mem.md5sum") 36 | fi 37 | export ICP_REGS_PATH="$SNAPSHOT_BASE/regs" 38 | export ICP_DB_PATH="$SNAPSHOT_BASE/snap.sqlite" 39 | 40 | cp "$PROJECT_ROOT/tests/$poc" . 41 | # gdb --args \ 42 | ./$poc 43 | -------------------------------------------------------------------------------- /tests/tests.h: -------------------------------------------------------------------------------- 1 | #ifndef HP_TESTS 2 | #include "fuzz.h" 3 | 4 | static void test_mem_write(uint64_t addr, size_t size, void *data) { 5 | BX_MEM(0)->writePhysicalPage(BX_CPU(id), addr, size, data); 6 | } 7 | 8 | static void test_mem_write_up_to_8(uint64_t addr, size_t size, uint64_t value) { 9 | BX_MEM(0)->writePhysicalPage(BX_CPU(id), addr, size, &value); 10 | } 11 | 12 | // addr: guest physical address 13 | static void test_mmio_write(uint64_t addr, size_t size, uint64_t value) { 14 | printf("[INJECT MMIO WRITE] addr: 0x%lx value: 0x%lx \n", addr, value); 15 | if (!inject_write(addr, size, value)) 16 | printf("inject write error/n"); 17 | start_cpu(); 18 | } 19 | 20 | static void test_out(uint16_t addr, uint16_t size, uint32_t value) { 21 | printf("[INJECT OUT] addr: 0x%x value: 0x%x \n", addr, size); 22 | if (!inject_out(addr, size, value)) 23 | printf("inject out error/n"); 24 | start_cpu(); 25 | } 26 | 27 | static void test_clock_step() { 28 | printf("[INJECT CLOCK STEP]\n"); 29 | if (!op_clock_step()) { 30 | printf("inject clock step error/n"); 31 | } 32 | } 33 | 34 | #define HP_TESTS 35 | #endif /* HP_TESTS */ -------------------------------------------------------------------------------- /vendor/bochs/.conf.amigaos: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # These options should work on Amiga/MorphOS 4 | # 5 | 6 | ./configure --with-amigaos --disable-shared ${CONFIGURE_ARGS} 7 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.everything: -------------------------------------------------------------------------------- 1 | # This script tries to turn on nearly every configure option. 2 | # It is useful for finding compile problems, but it may turn on 3 | # more things than you actually want. 4 | 5 | ./configure \ 6 | --enable-smp \ 7 | --enable-x86-64 \ 8 | --enable-all-optimizations \ 9 | --enable-long-phy-address \ 10 | --enable-configurable-msrs \ 11 | --enable-debugger \ 12 | --enable-debugger-gui \ 13 | --enable-fpu \ 14 | --enable-alignment-check \ 15 | --enable-3dnow \ 16 | --enable-monitor-mwait \ 17 | --enable-protection-keys \ 18 | --enable-svm \ 19 | --enable-vmx=2 \ 20 | --enable-avx \ 21 | --enable-cet \ 22 | --enable-evex \ 23 | --enable-perfmon \ 24 | --enable-memtype \ 25 | --enable-x86-debugger \ 26 | --enable-a20-pin \ 27 | --enable-instrumentation=instrument/example1 \ 28 | --enable-ne2000 \ 29 | --enable-e1000 \ 30 | --enable-pci \ 31 | --enable-clgd54xx \ 32 | --enable-voodoo \ 33 | --enable-usb \ 34 | --enable-usb-ohci \ 35 | --enable-usb-ehci \ 36 | --enable-usb-xhci \ 37 | --enable-cdrom \ 38 | --enable-sb16 \ 39 | --enable-es1370 \ 40 | --enable-gameport \ 41 | --enable-busmouse \ 42 | --enable-iodebug \ 43 | --enable-large-ramfile \ 44 | --enable-show-ips \ 45 | --with-all-libs 46 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.macos: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script will run configure for a Macintosh/CodeWarrior Pro 4 | # environment. I actually run this on my Linux machine, but 5 | # the generated files are for a Mac. 6 | 7 | set echo 8 | 9 | # These really just make ./configure happy on your Unix machine. 10 | # They are not the options used on your Mac. 11 | CC="gcc" 12 | CFLAGS="" 13 | CXX="$CC" 14 | CXXFLAGS="$CFLAGS" 15 | 16 | export CC 17 | export CXX 18 | export CFLAGS 19 | export CXXFLAGS 20 | 21 | ./configure --target=ppc-macos \ 22 | --enable-sb16 \ 23 | --enable-all-optimizations \ 24 | --enable-cpu-level=6 \ 25 | --enable-x86-64 \ 26 | --enable-vmx=2 \ 27 | --enable-avx \ 28 | --enable-pci \ 29 | --enable-clgd54xx \ 30 | --enable-voodoo \ 31 | --enable-usb \ 32 | --enable-usb-ohci \ 33 | --enable-usb-ehci \ 34 | --enable-usb-xhci \ 35 | --enable-busmouse \ 36 | --enable-es1370 \ 37 | --enable-e1000 \ 38 | --enable-plugins \ 39 | --with-macos \ 40 | ${CONFIGURE_ARGS} 41 | 42 | unset echo 43 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.macosx: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # this sets up the compile for MacOS X 4 | # 5 | # To support plugins on macosx, you must have "dlcompat" installed. You can 6 | # get dlcompat by installing the fink package "dlcompat-devel". On the SF 7 | # compile farm, dlcompat is in /sw/include and /sw/lib, so we have added 8 | # those paths to the environment variables. 9 | 10 | set echo 11 | CFLAGS="-pipe -O3 -I/sw/include -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS" 12 | CPATH="/sw/include" 13 | CPPFLAGS="" 14 | CXXFLAGS="$CFLAGS" 15 | LDFLAGS="-L/sw/lib" 16 | 17 | export CFLAGS 18 | export CPATH 19 | export CPPFLAGS 20 | export CXXFLAGS 21 | export LDFLAGS 22 | 23 | ./configure --enable-sb16 \ 24 | --enable-ne2000 \ 25 | --enable-all-optimizations \ 26 | --enable-cpu-level=6 \ 27 | --enable-x86-64 \ 28 | --enable-vmx=2 \ 29 | --enable-avx \ 30 | --enable-pci \ 31 | --enable-clgd54xx \ 32 | --enable-voodoo \ 33 | --enable-usb \ 34 | --enable-usb-ohci \ 35 | --enable-usb-ehci \ 36 | --enable-usb-xhci \ 37 | --enable-busmouse \ 38 | --enable-es1370 \ 39 | --enable-e1000 \ 40 | --enable-plugins \ 41 | ${CONFIGURE_ARGS} 42 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.nothing: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # These are the steps I typically use to configure and compile Bochs 4 | # on a Win32 system with cygwin (v.20.1) 5 | # 6 | 7 | CC="gcc" 8 | CXX="g++" 9 | CFLAGS="-O3 -Wall -Wno-format" 10 | CXXFLAGS="$CFLAGS" 11 | 12 | export CC 13 | export CXX 14 | export CFLAGS 15 | export CXXFLAGS 16 | 17 | ./configure --enable-cpu-level=3 \ 18 | --disable-fpu \ 19 | --disable-pci \ 20 | --with-nogui 21 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.sparc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # These are the steps I typically use to configure and compile Bochs. 5 | # 6 | 7 | # superSPARC w/ Solaris 2.x 8 | set echo 9 | CC="gcc" 10 | CXX="g++" 11 | #CFLAGS="-Wall -O2 -mv8 -msupersparc -mno-epilogue" 12 | CFLAGS="-Wall -O2 -mv8 -msupersparc" 13 | #CFLAGS="-Wall -O2 -g" 14 | CXXFLAGS="$CFLAGS" 15 | 16 | 17 | export CC 18 | export CXX 19 | export CFLAGS 20 | export CXXFLAGS 21 | 22 | ./configure --enable-ne2000 \ 23 | --enable-all-optimizations \ 24 | --enable-cpu-level=6 \ 25 | --enable-x86-64 \ 26 | --enable-pci \ 27 | --enable-clgd54xx \ 28 | --enable-usb 29 | 30 | unset echo 31 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.win32-cygwin: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # These are the steps I typically use to configure and compile Bochs 4 | # on a Win32 system with Cygwin (v1.7.28) or MinGW/MSYS. 5 | # 6 | 7 | CC="gcc" 8 | CXX="g++" 9 | #CFLAGS="-O3 -Wall -Wno-format -mno-cygwin" # for GCC versions < 4.7 10 | CFLAGS="-O3 -Wall -Wno-format -mno-ms-bitfields" 11 | CXXFLAGS="$CFLAGS" 12 | 13 | export CC 14 | export CXX 15 | export CFLAGS 16 | export CXXFLAGS 17 | 18 | ./configure --enable-sb16 \ 19 | --enable-ne2000 \ 20 | --enable-all-optimizations \ 21 | --enable-cpu-level=6 \ 22 | --enable-x86-64 \ 23 | --enable-vmx=2 \ 24 | --enable-avx \ 25 | --enable-pci \ 26 | --enable-clgd54xx \ 27 | --enable-voodoo \ 28 | --enable-usb \ 29 | --enable-usb-ohci \ 30 | --enable-usb-ehci \ 31 | --enable-usb-xhci \ 32 | --enable-busmouse \ 33 | --enable-es1370 \ 34 | --enable-e1000 \ 35 | --enable-show-ips \ 36 | --with-win32 --with-rfb --with-nogui \ 37 | ${CONFIGURE_ARGS} 38 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.win32-vcpp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set echo 4 | 5 | ./configure --target=pentium-pc-windows \ 6 | --enable-sb16 \ 7 | --enable-ne2000 \ 8 | --enable-all-optimizations \ 9 | --enable-cpu-level=6 \ 10 | --enable-x86-64 \ 11 | --enable-vmx=2 \ 12 | --enable-avx \ 13 | --enable-pci \ 14 | --enable-clgd54xx \ 15 | --enable-voodoo \ 16 | --enable-usb \ 17 | --enable-usb-ohci \ 18 | --enable-usb-ehci \ 19 | --enable-usb-xhci \ 20 | --enable-busmouse \ 21 | --enable-es1370 \ 22 | --enable-e1000 \ 23 | --enable-show-ips \ 24 | --enable-avx \ 25 | --disable-readline \ 26 | --without-x \ 27 | --with-win32 --with-rfb --with-nogui 28 | 29 | unset echo 30 | 31 | # Fix up all makefiles so that nmake can handle them. 32 | for i in `find . -name Makefile`; do 33 | echo Removing curly brackets in $i for NMAKE. 34 | mv $i $i.tmp 35 | sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i 36 | rm -f $i.tmp 37 | done 38 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.win64-cross-mingw32: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Example script for configuring and compiling Bochs on Linux for Windows. 4 | # 5 | 6 | CC="x86_64-w64-mingw32-gcc" 7 | CXX="x86_64-w64-mingw32-g++" 8 | CFLAGS="-O3 -Wall -Wno-format -mno-ms-bitfields" 9 | CXXFLAGS="$CFLAGS" 10 | WINDRES="x86_64-w64-mingw32-windres" 11 | 12 | export CC 13 | export CXX 14 | export CFLAGS 15 | export CXXFLAGS 16 | export WINDRES 17 | 18 | ./configure --host=x86_64-linux --target=x86_64-mingw32 \ 19 | --enable-sb16 \ 20 | --enable-ne2000 \ 21 | --enable-all-optimizations \ 22 | --enable-cpu-level=6 \ 23 | --enable-x86-64 \ 24 | --enable-vmx=2 \ 25 | --enable-avx \ 26 | --enable-pci \ 27 | --enable-clgd54xx \ 28 | --enable-voodoo \ 29 | --enable-usb \ 30 | --enable-usb-ohci \ 31 | --enable-usb-ehci \ 32 | --enable-usb-xhci \ 33 | --enable-busmouse \ 34 | --enable-es1370 \ 35 | --enable-e1000 \ 36 | --enable-show-ips \ 37 | --disable-readline \ 38 | --with-win32 --with-rfb --with-nogui \ 39 | ${CONFIGURE_ARGS} 40 | -------------------------------------------------------------------------------- /vendor/bochs/.conf.win64-vcpp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set echo 4 | 5 | ./configure --target=x86_64-windows \ 6 | --enable-sb16 \ 7 | --enable-ne2000 \ 8 | --enable-all-optimizations \ 9 | --enable-cpu-level=6 \ 10 | --enable-x86-64 \ 11 | --enable-vmx=2 \ 12 | --enable-avx \ 13 | --enable-pci \ 14 | --enable-clgd54xx \ 15 | --enable-voodoo \ 16 | --enable-usb \ 17 | --enable-usb-ohci \ 18 | --enable-usb-ehci \ 19 | --enable-usb-xhci \ 20 | --enable-busmouse \ 21 | --enable-es1370 \ 22 | --enable-e1000 \ 23 | --enable-show-ips \ 24 | --enable-avx \ 25 | --disable-readline \ 26 | --without-x \ 27 | --with-win32 --with-rfb --with-nogui 28 | 29 | unset echo 30 | 31 | # Fix up all makefiles so that nmake can handle them. 32 | for i in `find . -name Makefile`; do 33 | echo Removing curly brackets in $i for NMAKE. 34 | mv $i $i.tmp 35 | sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i 36 | rm -f $i.tmp 37 | done 38 | -------------------------------------------------------------------------------- /vendor/bochs/CHANGES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/CHANGES -------------------------------------------------------------------------------- /vendor/bochs/LICENSE: -------------------------------------------------------------------------------- 1 | The following points clarify the Bochs license: 2 | 3 | 1) Bochs as a whole is released under the GNU Lesser General Public License 4 | 5 | 2) Parts of Bochs have specific licenses which are compatible with the 6 | GNU Lesser General Public License. Hence each source file contains its 7 | own licensing information. 8 | -------------------------------------------------------------------------------- /vendor/bochs/bios/BIOS-bochs-latest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/BIOS-bochs-latest -------------------------------------------------------------------------------- /vendor/bochs/bios/BIOS-bochs-legacy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/BIOS-bochs-legacy -------------------------------------------------------------------------------- /vendor/bochs/bios/SeaBIOS-README: -------------------------------------------------------------------------------- 1 | SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS 2 | can run in an emulator or it can run natively on X86 hardware with the 3 | use of coreboot (http://www.coreboot.org/). 4 | 5 | SeaBIOS is the default BIOS for qemu (http://www.qemu.org/) and 6 | kvm (http://www.linux-kvm.org/). 7 | 8 | The coreboot SeaBIOS (http://www.coreboot.org/SeaBIOS) page has 9 | information on using SeaBIOS in coreboot. Please see the 10 | releases page for information on recent releases. See the 11 | download page to obtain SeaBIOS. 12 | 13 | SeaVGABIOS is a sub-project of SeaBIOS. 14 | 15 | Please join the mailing list to contribute to SeaBIOS. Information on 16 | the internals of SeaBIOS is available on the Developer Documentation page. 17 | -------------------------------------------------------------------------------- /vendor/bochs/bios/SeaVGABIOS-README: -------------------------------------------------------------------------------- 1 | SeaVGABIOS is a sub-project of the SeaBIOS project - it is an open 2 | source implementation of a 16bit X86 VGA BIOS 3 | (http://en.wikipedia.org/wiki/Video_BIOS). SeaVGABIOS is the 4 | default VGA BIOS on QEMU (http://www.qemu.org/). SeaVGABIOS can also 5 | run natively on some X86 VGA hardware with coreboot (http://www.coreboot.org/). 6 | 7 | Building SeaVGABIOS 8 | =================== 9 | 10 | To build SeaVGABIOS, obtain the code, run `make 11 | menuconfig` and select the type of VGA BIOS to build in the "VGA ROM" 12 | menu. Once selected, run `make` and the final VGA BIOS binary will be 13 | located in "out/vgabios.bin". 14 | 15 | The choice of available VGA BIOSes within "make menuconfig" is 16 | dependent on whether CONFIG_QEMU, CONFIG_COREBOOT, or CONFIG_CSM is 17 | selected. Also, the debug options under the "Debugging" menu apply to 18 | SeaVGABIOS. All other options found in "make menuconfig" apply only to 19 | SeaBIOS and will not impact the SeaVGABIOS build. 20 | 21 | If SeaVGABIOS is needed for multiple different devices (eg, QEMU's 22 | cirrus emulation and QEMU's "dispi" emulation), then one must compile 23 | SeaVGABIOS multiple times with the appropriate config for each build. 24 | 25 | SeaVGABIOS code 26 | =============== 27 | 28 | The source code for SeaVGABIOS is located in the SeaBIOS 29 | git repository. The main VGA BIOS code is located in the "vgasrc/" 30 | directory. The VGA BIOS code is always compiled in 16bit mode. 31 | 32 | The SeaVGABIOS builds to a separate binary from the main SeaBIOS 33 | binary, and much of the VGA BIOS code is separate from the main BIOS 34 | code. However, much of the SeaBIOS developer documentation applies to 35 | SeaVGABIOS. To contribute, please join the SeaBIOS mailing list. 36 | -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-elpin-2.40: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-elpin-2.40 -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-elpin-LICENSE: -------------------------------------------------------------------------------- 1 | The VGA BIOS from Elpin Systems, Inc. (http://www.elpin.com/) 2 | is now permanently licensed for use with bochs, courtesy 3 | of MandrakeSoft, creators of the leading "Linux-Mandrake" 4 | distribution (http://www.linux-mandrake.com/). You may 5 | freely use/distribute it with bochs, as long as it is used 6 | in bochs for the intended use as a VGA BIOS. 7 | 8 | Please check out Elpin Systems. They make cool software games, 9 | educational software, and VGA development products. 10 | -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-lgpl-latest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-lgpl-latest -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-lgpl-latest-banshee: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-lgpl-latest-banshee -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-lgpl-latest-cirrus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-lgpl-latest-cirrus -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-lgpl-latest-cirrus-debug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-lgpl-latest-cirrus-debug -------------------------------------------------------------------------------- /vendor/bochs/bios/VGABIOS-lgpl-latest-debug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/VGABIOS-lgpl-latest-debug -------------------------------------------------------------------------------- /vendor/bochs/bios/bios.bin-1.13.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/bios.bin-1.13.0 -------------------------------------------------------------------------------- /vendor/bochs/bios/bios_usage: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | gcc -E rombios.c | grep "^\.org" | sed -e 's/\.org //' | sed -e 's/ .*//' | sort >! temp.usage 3 | usage rombios.bin temp.usage 4 | /bin/rm temp.usage 5 | -------------------------------------------------------------------------------- /vendor/bochs/bios/makesym.perl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # $Id: makesym.perl,v 1.3 2009-12-30 20:28:23 sshwarts Exp $ 4 | # 5 | # Read output file from as86 (e.g. rombios.txt) and write out a symbol 6 | # table suitable for the Bochs debugger. 7 | # 8 | 9 | use strict; 10 | use warnings; 11 | 12 | my $WHERE_BEFORE_SYM_TABLE = 0; 13 | my $WHERE_IN_SYM_TABLE = 1; 14 | my $WHERE_AFTER_SYM_TABLE = 2; 15 | 16 | my $where = $WHERE_BEFORE_SYM_TABLE; 17 | while () { 18 | chop; 19 | if ($where == $WHERE_BEFORE_SYM_TABLE && /^Symbols:/) { 20 | $where = $WHERE_IN_SYM_TABLE; 21 | } elsif ($where == $WHERE_IN_SYM_TABLE && /^$/) { 22 | $where = $WHERE_AFTER_SYM_TABLE; 23 | } 24 | if ($where == $WHERE_IN_SYM_TABLE) { 25 | my $name; 26 | my $junk; 27 | foreach my $f (split(/\s+/)) { 28 | if ($f =~ /^[[:xdigit:]]{4,}$/) { 29 | if (defined($name)) { 30 | print '000f', lc($f), ' ', $name, "\n"; 31 | undef($name); 32 | undef($junk); 33 | next; 34 | } 35 | } 36 | $name = $junk 37 | if (defined($junk)); 38 | $junk = $f; 39 | } 40 | } 41 | } 42 | 43 | exit(0); 44 | -------------------------------------------------------------------------------- /vendor/bochs/bios/notes: -------------------------------------------------------------------------------- 1 | #################### 2 | # Read Disk Sector # 3 | #################### 4 | 5 | System programming: 6 | ------------------- 7 | 8 | (Int 13h, ah=2) 9 | in 1f7 until BSY cleared 10 | out 1f2, AL # number of sectors 11 | out 1f3, cl (bits 0-5) # starting sector number 12 | out 1f4, ch # cylinder number bits 0..7, 0 based 13 | out 1f5, cl (bits 6,7) & dh (bits 6,7) # cyl, bits 8..9, 10..11 14 | out 1f6, dh (bits 0..3) --> bits 0..3 # head number 15 | dh (bits 4..5) --> ??? # head number 16 | dl (bit 0) --> bit 4 # drive number 17 | out 1f7, 0x20 # read sectors command normal 18 | 19 | 20 | 21 | Drive response: 22 | --------------- 23 | 24 | * drive sets the busy bit in Status Reg to 1 25 | * if command parameters are wrong: 26 | > drive sets the aborted-command bit in the Error register and 27 | error bit in the Status register to 1. 28 | > Drive also sets the busy bit in the Status register to 0. 29 | > Drive then generates an interrupt to the system. 30 | * else: 31 | > drive executes an implied seek to desired track and 32 | reads sectors into sector buffer 33 | > when sector buffer is filled and the data is ready to be 34 | transferred, the drive sets the data-request bit to 1, sets 35 | the busy bit to 0, and generates an interrupt. 36 | > on a single-sector transfer, after the system has transferred 37 | the data, the drive sets the data-request bit and the busy bit to 0. 38 | > on a multiple-sector transfer, after the system has transferred 39 | the first sector of data, the drive sets the data-request bit to 0, 40 | and the busy bit to 1. When each subsequent sector is ready to be 41 | transferred, the drive sets the data-request bit to 1, the busy bit to 0, 42 | and generates an interrupt. When the system has tranferred the last sector, 43 | the drive sets the data-request bit and busy bit to 0. 44 | 45 | -------------------------------------------------------------------------------- /vendor/bochs/bios/rombios32.ld: -------------------------------------------------------------------------------- 1 | OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") 2 | OUTPUT_ARCH(i386) 3 | ENTRY(_start); 4 | SECTIONS 5 | { 6 | . = 0x000e0000; 7 | .text : { *(.text) } 8 | .rodata : { *(.rodata*) } 9 | _end = . ; 10 | .data 0x700 : AT (_end) { __data_start = .; *(.data); __data_end = .;} 11 | .bss : { __bss_start = .; *(.bss) *(COMMON); __bss_end = .;} 12 | /DISCARD/ : { *(.stab) 13 | *(.stabstr) 14 | *(.comment) 15 | *(.eh_frame) 16 | *(.note) 17 | *(.note.gnu.property) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/bochs/bios/vgabios-cirrus.bin-1.13.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/bios/vgabios-cirrus.bin-1.13.0 -------------------------------------------------------------------------------- /vendor/bochs/build/android/bochs/AndroidBuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | LOCAL_PATH=`dirname $0` 4 | LOCAL_PATH=`cd $LOCAL_PATH && pwd` 5 | 6 | export PATH=$LOCAL_PATH/..:$PATH # For our custom sdl-config 7 | 8 | if [ \! -f bochs/configure ] ; then 9 | sh -c "cd bochs && ./bootstrap.sh" 10 | fi 11 | 12 | mkdir -p bin-$1 13 | 14 | if [ \! -f bin-$1/Makefile ] ; then 15 | # env CLANG=1 16 | 17 | if [ "$1" = arm64-v8a ]; then 18 | env CFLAGS="-O2 -ffast-math" \ 19 | env LIBS="-lgnustl_static" \ 20 | ../setEnvironment-$1.sh sh -c "cd bin-$1 && ../bochs/configure \ 21 | --build=x86_64-unknown-linux-gnu --host=$2 --with-sdl \ 22 | --enable-cpu-level=6 --enable-x86-64 \ 23 | --enable-sb16 --enable-es1370 \ 24 | --enable-ne2000 --enable-e1000 \ 25 | --enable-clgd54xx --enable-voodoo \ 26 | --enable-all-optimizations \ 27 | --enable-usb --enable-usb-ohci \ 28 | --disable-gameport --disable-disasm --disable-docbook" || exit 1 29 | else 30 | env CFLAGS="-Ofast" \ 31 | env LIBS="-lgnustl_static" \ 32 | ../setEnvironment-$1.sh sh -c "cd bin-$1 && ../bochs/configure \ 33 | --build=x86_64-unknown-linux-gnu --host=$2 --with-sdl \ 34 | --enable-cpu-level=6 --enable-x86-64 \ 35 | --enable-sb16 --enable-es1370 \ 36 | --enable-ne2000 --enable-e1000 \ 37 | --enable-clgd54xx --enable-voodoo \ 38 | --enable-all-optimizations \ 39 | --enable-usb --enable-usb-ohci \ 40 | --disable-gameport --disable-disasm --disable-docbook" || exit 1 41 | fi 42 | fi 43 | 44 | 45 | # Fix a compilation error 46 | mkdir -p bin-$1/iodev/network/slirp 47 | mkdir -p bin-$1/cpu/decoder 48 | 49 | 50 | make -j4 -C bin-$1 && mv -f bin-$1/bochs libapplication-$1.so 51 | -------------------------------------------------------------------------------- /vendor/bochs/build/linux/README.linux-binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/linux/README.linux-binary -------------------------------------------------------------------------------- /vendor/bochs/build/macos/CWPro3_project.sit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macos/CWPro3_project.sit -------------------------------------------------------------------------------- /vendor/bochs/build/macos/bochsico.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macos/bochsico.bmp -------------------------------------------------------------------------------- /vendor/bochs/build/macos/macos_defines.h: -------------------------------------------------------------------------------- 1 | #define NO_ASSEMBLER 2 | #define USE_WITH_CPU_SIM 3 | #define PARANOID 4 | 5 | #define fileno(A) 0 6 | #ifdef __cplusplus 7 | #include 8 | inline long read(int fd, void *buf, std::size_t nbytes); 9 | long read(int fd, void *buf, std::size_t nbytes) {return read(fd, (char*)buf, nbytes);} 10 | inline long write(int fd, const void *buf, std::size_t nbytes); 11 | long write(int fd, const void *buf, std::size_t nbytes) {return write(fd, (const char*)buf, nbytes);} 12 | #endif 13 | -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | bochs 9 | CFBundleGetInfoString 10 | @VERSION@ Carbon 11 | CFBundleIconFile 12 | bochs-icn 13 | CFBundleIdentifier 14 | net.sourceforge.bochs.bochs 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | Bochs Carbon @VERSION@ 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | Bochs Carbon (@VERSION@) 23 | CFBundleSignature 24 | BOCHS 25 | CFBundleVersion 26 | @VERSION@ 27 | CSResourcesFileMapped 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/README.macosx-binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macosx/README.macosx-binary -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/bochs-icn.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macosx/bochs-icn.icns -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/bochs.r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macosx/bochs.r -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/pbdevelopment.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PBXProjectSourcePath 6 | /Users/bryce/bochs/bochs/bochs.pbproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/script.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macosx/script.data -------------------------------------------------------------------------------- /vendor/bochs/build/macosx/script.r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/macosx/script.r -------------------------------------------------------------------------------- /vendor/bochs/build/makeall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for i in build-*; do 4 | echo "*** Starting make in $i ***" 5 | make -C $i 6 | echo "*** make done in $i ***" 7 | echo "" 8 | echo "" 9 | echo "" 10 | done 11 | -------------------------------------------------------------------------------- /vendor/bochs/build/redhat/NOTES: -------------------------------------------------------------------------------- 1 | Here's a useful usenet article that shows how to build a filelist 2 | instead of having to specify each one. 3 | ----------------------------------------------------------------- 4 | 5 | From: John Ross Hunt (bigboote@mediaone.net) 6 | Subject: RE: Newbie to build spec files 7 | Newsgroups: linux.redhat.rpm 8 | Date: 2000/07/27 9 | 10 | 11 | > So, is there a better way, in RPM 3, to populate %files? 12 | > Because I know 13 | > 'buildroot' and it has nothing to do with %files. 14 | 15 | I found this bit of code in a .spec file to build a %files list on the fly 16 | and have been using it ever since. I've always thought RPM should be able 17 | to provide a default %files list in the event one isn't present in the .spec 18 | file. 19 | 20 | -- 21 | John Ross Hunt 22 | bigboote@mediaone.net 23 | 24 | 25 | 26 | %define pkg_name foo 27 | 28 | %install 29 | rm -rf $RPM_BUILD_ROOT 30 | make install DESTDIR=$RPM_BUILD_ROOT 31 | 32 | cd $RPM_BUILD_ROOT 33 | find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > \ 34 | $RPM_BUILD_DIR/file.list.%{pkg_name} 35 | 36 | find . -type f | sed -e 's,^\.,\%attr(-\,root\,root) ,' \ 37 | -e '/\/etc\//s|^|%config|' >> \ 38 | $RPM_BUILD_DIR/file.list.%{pkg_name} 39 | 40 | find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> \ 41 | $RPM_BUILD_DIR/file.list.%{pkg_name} 42 | 43 | %clean 44 | rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/file.list.%{pkg_name} 45 | 46 | %files -f ../file.list.%{pkg_name} 47 | %doc README TODO example 48 | ----------------------------------------------------------------- 49 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/README.win32-binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/README.win32-binary -------------------------------------------------------------------------------- /vendor/bochs/build/win32/bochs.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | Quartus 10 | 11 | 12 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/cc2cpp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | list=`find . -name '*.cc' | sed 's/\.cc$//'` 4 | for i in $list; do 5 | mv ${i}.cc ${i}.cpp 6 | done 7 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/cpp2cc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | list=`find . -name '*.cpp' | sed 's/\.cpp$//'` 4 | for i in $list; do 5 | mv ${i}.cpp ${i}.cc 6 | done 7 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/diffcc2cpp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | list=`find . -name '*.cpp' | sed 's/\.cpp$//'` 4 | for i in $list; do 5 | diff -u ${i}.cc ${i}.cpp 6 | done 7 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/Makefile.in: -------------------------------------------------------------------------------- 1 | # To build an NSIS installer, get NSIS version 3.04 or newer from 2 | # http://sourceforge.net/projects/nsis 3 | # Fix the MAKENSIS variable so that you have the correct path. 4 | # Unzip the windows binary release into a subdirectory of this 5 | # directory, for example "2.6.5". Make sure the VERSION 6 | # variable has the same name as the directory. 7 | # 8 | # Type make, and it should build an installer called Bochs-${VERSION}.exe 9 | 10 | # MAKENSIS='c:/Program Files/NSIS/makensis' 11 | MAKENSIS='/c/Program Files (x86)/NSIS/makensis' 12 | 13 | VERSION=@VERSION@ 14 | TARGET=Bochs-${VERSION}.exe 15 | DLXDIR=bochs-${VERSION}/dlxlinux 16 | 17 | all: ${TARGET} 18 | 19 | fixups:: 20 | if test -f ${DLXDIR}/bochsrc.txt; then mv ${DLXDIR}/bochsrc.txt ${DLXDIR}/bochsrc.bxrc; fi 21 | rm -f ${DLXDIR}/*.bat 22 | 23 | ${TARGET}: fixups bochs.nsi 24 | rm -rf ${TARGET} 25 | ${MAKENSIS} bochs.nsi 26 | test -f ${TARGET} 27 | ls -l ${TARGET} 28 | 29 | clean:: 30 | rm -rf ${TARGET} 31 | -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/bochs-logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/bochs-logo.bmp -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/bochs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/bochs.ico -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/lgban.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/lgban.ico -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/logo.ico -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/penguin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/penguin.ico -------------------------------------------------------------------------------- /vendor/bochs/build/win32/nsis/unbochs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/nsis/unbochs.ico -------------------------------------------------------------------------------- /vendor/bochs/build/win32/vs2019-plugins-workspace.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/build/win32/vs2019-plugins-workspace.zip -------------------------------------------------------------------------------- /vendor/bochs/bx_debug/make-syscalls-linux.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # tested with linux 2.2.14 4 | # reads , outputs syscalls-linux.h 5 | 6 | $date = `date`; 7 | print < syscalls-linux.h 17 | // 18 | EOF 19 | 20 | $max = 0; 21 | while () { 22 | $line = $_; 23 | next unless /#define __NR_[a-z]/; 24 | s/.*NR_//; 25 | undef $number; 26 | ($name, $number) = split (/[\s]+/); 27 | if ((length $number) < 1) { 28 | die "bad line: $line"; 29 | } 30 | if ($number > $max) { $max = $number; } 31 | print "DEF_SYSCALL($number, \"$name\")\n"; 32 | } 33 | 34 | print "#define N_SYSCALLS $max\n"; 35 | -------------------------------------------------------------------------------- /vendor/bochs/bxversion.h.in: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // This file is checked in as bxversion.h.in. The configure script 3 | // substitutes variables and creates bxversion.h. 4 | ///////////////////////////////////////////////////////////////////////// 5 | 6 | #define VERSION "@VERSION@" 7 | #define VER_SVNFLAG @VER_SVN@ 8 | #define REL_STRING "@REL_STRING@" 9 | #define REL_TIMESTAMP "@REL_TIMESTAMP@" 10 | -------------------------------------------------------------------------------- /vendor/bochs/bxversion.rc.in: -------------------------------------------------------------------------------- 1 | 1 VERSIONINFO 2 | FILEVERSION @VER_MAJOR@, @VER_MINOR@, @VER_REVISION@, @VER_SVN@ 3 | { 4 | BLOCK "StringFileInfo" 5 | { 6 | BLOCK "040904B0" 7 | { 8 | VALUE "FileDescription", "The cross platform IA-32 emulator" 9 | VALUE "FileVersion", "@VERSION@" 10 | VALUE "LegalCopyright", "Copyright \251 2001-2019 The Bochs Project" 11 | VALUE "ProductName", "Bochs" 12 | VALUE "ProductVersion", "@REL_STRING@" 13 | VALUE "OriginalFilename", "BOCHS.EXE" 14 | } 15 | } 16 | BLOCK "VarFileInfo" 17 | { 18 | VALUE "Translation", 1033, 1300 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/amd/amd_k6_2_chomper.txt: -------------------------------------------------------------------------------- 1 | ------[ Versions ]------ 2 | 3 | Program Version : EVEREST v4.60.1629 Beta 4 | BenchDLL Version: 2.4.257.0 5 | 6 | ------[ CPU Info ]------ 7 | 8 | CPU Type : AMD K6-2, 333 MHz 9 | CPU Alias : Chomper, K6 3D, 6k86 3D 10 | CPU Platform : Socket 7 11 | CPU Stepping : A 12 | Instruction Set : x86, MMX, 3DNow! 13 | CPUID Manufacturer : AuthenticAMD 14 | CPUID CPU Name : AMD-K6(tm) 3D processor 15 | CPUID Revision : 00000580h 16 | Platform ID : CBh (Socket 7) 17 | 18 | ------[ Logical CPU #0 ]------ 19 | 20 | allcpu: Valid 21 | 22 | CPUID 00000000: 00000001-68747541-444D4163-69746E65 23 | CPUID 00000001: 00000580-00000000-00000000-008001BF 24 | CPUID 80000000: 80000005-00000000-00000000-00000000 25 | CPUID 80000001: 00000680-00000000-00000000-808009BF 26 | CPUID 80000002: 2D444D41-7428364B-3320296D-72702044 27 | CPUID 80000003: 7365636F-00726F73-00000000-00000000 28 | CPUID 80000004: 00000000-00000000-00000000-00000000 29 | CPUID 80000005: 00000000-02800140-20020220-20020220 30 | CPUID 8FFFFFFF: 4778654E-72656E65-6F697461-444D416E 31 | 32 | ------[ MSR Registers ]------ 33 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/p2_klamath.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2011-2017 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef BX_P2_KLAMATH_CPUID_DEFINITIONS_H 25 | #define BX_P2_KLAMATH_CPUID_DEFINITIONS_H 26 | 27 | #if BX_CPU_LEVEL >= 6 28 | 29 | #include "cpu/cpuid.h" 30 | 31 | class p2_klamath_t : public bx_cpuid_t { 32 | public: 33 | p2_klamath_t(BX_CPU_C *cpu); 34 | virtual ~p2_klamath_t() {} 35 | 36 | // return CPU name 37 | virtual const char *get_name(void) const { return "p2_klamath"; } 38 | 39 | virtual void get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const; 40 | 41 | virtual void dump_cpuid(void) const; 42 | 43 | private: 44 | void get_std_cpuid_leaf_0(cpuid_function_t *leaf) const; 45 | void get_std_cpuid_leaf_1(cpuid_function_t *leaf) const; 46 | void get_std_cpuid_leaf_2(cpuid_function_t *leaf) const; 47 | }; 48 | 49 | extern bx_cpuid_t *create_p2_klamath_cpuid(BX_CPU_C *cpu); 50 | 51 | #endif // BX_CPU_LEVEL >= 6 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/p2_klamath.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/cpu/cpudb/intel/p2_klamath.txt -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/p3_katmai.txt: -------------------------------------------------------------------------------- 1 | CPU-Z TXT Report 2 | ------------------------------------------------------------------------- 3 | 4 | Binaries 5 | ------------------------------------------------------------------------- 6 | 7 | CPU-Z version 1.53.1 8 | 9 | Processors 10 | ------------------------------------------------------------------------- 11 | 12 | Number of processors 1 13 | Number of threads 1 14 | 15 | APICs 16 | ------------------------------------------------------------------------- 17 | 18 | Processor 0 19 | -- Core 0 20 | -- Thread 0 0 21 | 22 | Processors Information 23 | ------------------------------------------------------------------------- 24 | 25 | Processor 1 ID = 0 26 | Number of cores 1 (max 1) 27 | Number of threads 1 (max 1) 28 | Name Intel Pentium III 29 | Codename Katmai 30 | Specification 31 | Package (platform ID) Slot 1 SECC2 (0x0) 32 | CPUID 6.7.3 33 | Extended CPUID 6.7 34 | Core Stepping kC0 35 | Technology 0.25 um 36 | Core Speed 597.0 MHz 37 | Multiplier x FSB 6.0 x 99.5 MHz 38 | Stock frequency 600 MHz 39 | Instructions sets MMX, SSE 40 | L1 Data cache 16 KBytes, 4-way set associative, 32-byte line size 41 | L1 Instruction cache 16 KBytes, 4-way set associative, 32-byte line size 42 | L2 cache 512 KBytes, 4-way set associative, 32-byte line size 43 | FID/VID Control no 44 | 45 | 46 | 47 | Thread dumps 48 | ------------------------------------------------------------------------- 49 | 50 | CPU Thread 0 51 | APIC ID 0 52 | Topology Processor ID 0, Core ID 0, Thread ID 0 53 | Type 01000806h 54 | Max CPUID level 00000003h 55 | Cache descriptor Level 1, D, 16 KB, 1 thread(s) 56 | Cache descriptor Level 1, I, 16 KB, 1 thread(s) 57 | Cache descriptor Level 2, U, 512 KB, 1 thread(s) 58 | 59 | CPUID 60 | 0x00000000 0x00000003 0x756E6547 0x6C65746E 0x49656E69 61 | 0x00000001 0x00000673 0x00000000 0x00000000 0x0387F9FF 62 | 0x00000002 0x03020101 0x00000000 0x00000000 0x0C040843 63 | 0x00000003 0x00000000 0x00000000 0x11814197 0x0001C236 64 | 65 | MSR 0x00000017 0x40210000 0x00000000 66 | MSR 0x0000002A 0x00000000 0xC6C80000 67 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/pentium.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2015-2017 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef BX_PENTIUM_CPUID_DEFINITIONS_H 25 | #define BX_PENTIUM_CPUID_DEFINITIONS_H 26 | 27 | #if BX_CPU_LEVEL >= 5 28 | 29 | #include "cpu/cpuid.h" 30 | 31 | class pentium_t : public bx_cpuid_t { 32 | public: 33 | pentium_t(BX_CPU_C *cpu); 34 | virtual ~pentium_t() {} 35 | 36 | // return CPU name 37 | virtual const char *get_name(void) const { return "pentium"; } 38 | 39 | virtual void get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const; 40 | 41 | virtual void dump_cpuid(void) const; 42 | 43 | private: 44 | void get_std_cpuid_leaf_0(cpuid_function_t *leaf) const; 45 | void get_std_cpuid_leaf_1(cpuid_function_t *leaf) const; 46 | }; 47 | 48 | extern bx_cpuid_t *create_pentium_cpuid(BX_CPU_C *cpu); 49 | 50 | #endif // BX_CPU_LEVEL >= 5 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/pentium.txt: -------------------------------------------------------------------------------- 1 | ------[ Versions ]------ 2 | 3 | Program Version : EVEREST v5.30.1900 4 | BenchDLL Version: 2.4.273.0 5 | 6 | ------[ CPU Info ]------ 7 | 8 | CPU Type : Intel Pentium, 100 MHz 9 | CPU Alias : P54C 10 | CPU Stepping : C2 11 | Instruction Set : x86 12 | CPUID Manufacturer : GenuineIntel 13 | CPUID Revision : 00000525h 14 | Platform ID : FFh (Unknown) 15 | 16 | ------[ Logical CPU #0 ]------ 17 | 18 | allcpu: Valid 19 | 20 | CPUID 00000000: 00000001-756E6547-6C65746E-49656E69 21 | CPUID 00000001: 00000525-00000000-00000000-000001BF 22 | 23 | ------[ MSR Registers ]------ 24 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/pentium_mmx.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2011-2017 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef BX_PENTIUM_MMX_CPUID_DEFINITIONS_H 25 | #define BX_PENTIUM_MMX_CPUID_DEFINITIONS_H 26 | 27 | #if BX_CPU_LEVEL >= 5 28 | 29 | #include "cpu/cpuid.h" 30 | 31 | class pentium_mmx_t : public bx_cpuid_t { 32 | public: 33 | pentium_mmx_t(BX_CPU_C *cpu); 34 | virtual ~pentium_mmx_t() {} 35 | 36 | // return CPU name 37 | virtual const char *get_name(void) const { return "pentium_mmx"; } 38 | 39 | virtual void get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const; 40 | 41 | virtual void dump_cpuid(void) const; 42 | 43 | private: 44 | void get_std_cpuid_leaf_0(cpuid_function_t *leaf) const; 45 | void get_std_cpuid_leaf_1(cpuid_function_t *leaf) const; 46 | }; 47 | 48 | extern bx_cpuid_t *create_pentium_mmx_cpuid(BX_CPU_C *cpu); 49 | 50 | #endif // BX_CPU_LEVEL >= 5 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/cpudb/intel/pentium_mmx.txt: -------------------------------------------------------------------------------- 1 | CPU-Z TXT Report 2 | ------------------------------------------------------------------------- 3 | 4 | Binaries 5 | ------------------------------------------------------------------------- 6 | 7 | CPU-Z version 1.53.1 8 | 9 | Processors 10 | ------------------------------------------------------------------------- 11 | 12 | Number of processors 1 13 | Number of threads 1 14 | 15 | APICs 16 | ------------------------------------------------------------------------- 17 | 18 | Processor 0 19 | -- Core 0 20 | -- Thread 0 0 21 | 22 | Processors Information 23 | ------------------------------------------------------------------------- 24 | 25 | Processor 1 ID = 0 26 | Number of cores 1 (max 1) 27 | Number of threads 1 (max 1) 28 | Name Intel Pentium MMX 29 | Codename P55 30 | Specification 31 | Package Socket 7 (321) 32 | CPUID 5.4.3 33 | Extended CPUID 5.4 34 | Core Stepping MXB1 35 | Technology 0.35 um 36 | Core Speed 167.1 MHz 37 | Instructions sets MMX 38 | L1 Data cache 16 KBytes, 4-way set associative, 32-byte line size 39 | L1 Instruction cache 16 KBytes, 4-way set associative, 32-byte line size 40 | FID/VID Control no 41 | 42 | 43 | 44 | Thread dumps 45 | ------------------------------------------------------------------------- 46 | 47 | CPU Thread 0 48 | APIC ID 0 49 | Topology Processor ID 0, Core ID 0, Thread ID 0 50 | Type 01000402h 51 | Max CPUID level 00000001h 52 | Cache descriptor Level 1, I, 16 KB, 1 thread(s) 53 | Cache descriptor Level 1, D, 16 KB, 1 thread(s) 54 | 55 | CPUID 56 | 0x00000000 0x00000001 0x756E6547 0x6C65746E 0x49656E69 57 | 0x00000001 0x00000543 0x00000000 0x00000000 0x008001BF 58 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/decoder/ia_opcodes.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2017 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef BX_OPCODES_ENUM 25 | #define BX_OPCODES_ENUM 26 | 27 | enum { 28 | #define bx_define_opcode(a, b, c, d, e, f, s1, s2, s3, s4, g) a, 29 | #include "ia_opcodes.def" 30 | BX_IA_LAST 31 | }; 32 | #undef bx_define_opcode 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/fpu/tag_w.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2003-2015 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef _TAG_W_H 25 | #define _TAG_W_H 26 | 27 | /* Tag Word */ 28 | enum { 29 | FPU_Tag_Valid = 0x00, 30 | FPU_Tag_Zero = 0x01, 31 | FPU_Tag_Special = 0x02, 32 | FPU_Tag_Empty = 0x03 33 | }; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/fpu/todo: -------------------------------------------------------------------------------- 1 | TODO: 2 | ---- 3 | 4 | Elliminate floa128 use, Intel uses only 67-bit precision calculations 5 | when float128 has at least 112-bit. Replacement of float128 with for 6 | example 96-bit precision number could significantly speed up 7 | calculations. 8 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/fpu_emu.cc: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2004-2018 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | ///////////////////////////////////////////////////////////////////////// 22 | 23 | #define NEED_CPU_REG_SHORTCUTS 1 24 | #include "bochs.h" 25 | #include "cpu.h" 26 | #define LOG_THIS BX_CPU_THIS_PTR 27 | 28 | /* 9B */ 29 | void BX_CPP_AttrRegparmN(1) BX_CPU_C::FWAIT(bxInstruction_c *i) 30 | { 31 | #if BX_SUPPORT_FPU 32 | if (BX_CPU_THIS_PTR cr0.get_TS() && BX_CPU_THIS_PTR cr0.get_MP()) 33 | exception(BX_NM_EXCEPTION, 0); 34 | 35 | BX_CPU_THIS_PTR FPU_check_pending_exceptions(); 36 | 37 | BX_NEXT_INSTR(i); 38 | #endif 39 | } 40 | 41 | /* relevant only when FPU support is disabled */ 42 | #if BX_SUPPORT_FPU == 0 43 | void BX_CPP_AttrRegparmN(1) BX_CPU_C::FPU_ESC(bxInstruction_c *i) 44 | { 45 | if (BX_CPU_THIS_PTR cr0.get_EM() || BX_CPU_THIS_PTR cr0.get_TS()) 46 | exception(BX_NM_EXCEPTION, 0); 47 | 48 | BX_NEXT_INSTR(i); 49 | } 50 | #endif 51 | -------------------------------------------------------------------------------- /vendor/bochs/cpu/vmx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/cpu/vmx.h -------------------------------------------------------------------------------- /vendor/bochs/cpu/wide_int.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (c) 2020 Stanislav Shwartsman 6 | // Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA 21 | // 22 | ///////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef BX_WIDE_INT_H 25 | #define BX_WIDE_INT_H 26 | 27 | #include "config.h" 28 | 29 | #ifdef BX_LITTLE_ENDIAN 30 | typedef 31 | struct { 32 | Bit64u lo; 33 | Bit64u hi; 34 | } Bit128u; 35 | typedef 36 | struct { 37 | Bit64u lo; 38 | Bit64s hi; 39 | } Bit128s; 40 | #else // must be Big Endian 41 | typedef 42 | struct { 43 | Bit64u hi; 44 | Bit64u lo; 45 | } Bit128u; 46 | typedef 47 | struct { 48 | Bit64s hi; 49 | Bit64u lo; 50 | } Bit128s; 51 | #endif 52 | 53 | extern void long_mul(Bit128u *product, Bit64u op1, Bit64u op2); 54 | extern void long_imul(Bit128s *product, Bit64s op1, Bit64s op2); 55 | extern void long_div(Bit128u *quotient,Bit64u *remainder,const Bit128u *dividend,Bit64u divisor); 56 | extern void long_idiv(Bit128s *quotient,Bit64s *remainder,Bit128s *dividend,Bit64s divisor); 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/README: -------------------------------------------------------------------------------- 1 | This is the base directory for the DocBook documents for the Bochs project. 2 | It has been broken down into the following directories: 3 | 4 | user - The Bochs User Guide - describes how to setup and use Bochs 5 | 6 | development - The Bochs Development Guide - contains development information and 7 | how to contribute to the Bochs project 8 | 9 | documentation - The Bochs Documentation Guide - contains information on how to 10 | contribute to the documentation of the the Bochs project 11 | 12 | images - pictures that may be reused in any of the three books. They can 13 | be referenced using "../images/FILENAME". 14 | 15 | include - files to be included from other docbook files 16 | -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/fixtitles.pl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec perl -x $0 $*; echo "Could not exec perl!"; exit 1 3 | # The line above allows perl to be anywhere, as long as it's in your 4 | # PATH environment variable. 5 | 6 | #!perl 7 | # 8 | # fix-titles.pl 9 | # $Id$ 10 | # 11 | # The HTML stylesheet likes to print html has the ends of tags on a different 12 | # line, like this: 13 | # FreeBSD 18 | # 19 | # Glimpse, which is indexing our website, finds this very confusing and 20 | # it cannot pick out the title from this mess. This script takes a list 21 | # of HTML files on the command line and attempts to make the tag 22 | # look more normal so that glimpse can understand it. 23 | # 24 | # WARNING: This is a hack. It's made to work on docbook generated html, but 25 | # may do strange things on anything else. 26 | 27 | use strict; 28 | 29 | foreach my $file (@ARGV) { 30 | print "Fixing $file\n"; 31 | rename $file, "$file.orig"; 32 | open (IN, "$file.orig") || die "open $file.orig"; 33 | open (OUT, ">$file") || die "open $file for writing"; 34 | while (<IN>) { 35 | if (/^<HTML$/) { 36 | print OUT "<HTML>\n"; 37 | } elsif (/^><HEAD$/) { 38 | print OUT "<HEAD>\n"; 39 | } elsif (/^><TITLE$/) { 40 | print OUT "<TITLE>"; 41 | } elsif (/^>(.*)<\/TITLE$/) { 42 | print OUT "$1\n"; 43 | # next line has one extra >, so read it and remove it. 44 | $_ = ; 45 | s/^>//; 46 | print OUT; 47 | } else { 48 | print OUT; 49 | } 50 | } 51 | close IN; 52 | close OUT; 53 | unlink "$file.orig"; 54 | } 55 | -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/images/dlxlinux-in-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/doc/docbook/images/dlxlinux-in-linux.png -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/images/headerbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/doc/docbook/images/headerbar.png -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/images/undercon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/doc/docbook/images/undercon.png -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/include/defs.sgm: -------------------------------------------------------------------------------- 1 | 10 | 11 | 19 | '> 20 | '> 21 | 22 | Bochs web site'> 23 | bochs.sourceforge.net'> 24 | bochs-developers mailing list'> 25 | $BOCHS'> 26 | Makefile'> 27 | 28 | 29 | DocBook: The Definitive Guide'> 30 | OASIS'> 31 | 32 | -------------------------------------------------------------------------------- /vendor/bochs/doc/docbook/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bochs Documentation 5 | 21 | 22 | 23 | 24 | 25 |

Bochs Documentation

26 |

27 | 28 | The documentation is divided into three parts: 29 |

34 | 35 | 43 | -------------------------------------------------------------------------------- /vendor/bochs/doc/man/bochs-dlx.1: -------------------------------------------------------------------------------- 1 | .\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com" 2 | .TH bochs-dlx 1 "19 Jun 2014" "bochs-dlx" "The Bochs Project" 3 | .\"SKIP_SECTION" 4 | .SH NAME 5 | bochs-dlx \- Runs DLX-Linux under the Bochs x86 Emulator 6 | .\"SKIP_SECTION" 7 | .SH USAGE 8 | .B bochs-dlx 9 | .LP 10 | No command line arguments are accepted. If you require 11 | adjustments to the normal runtime parameters, edit 12 | /usr/local/share/bochs/dlxlinux/bochsrc.txt or run bochs(1) 13 | directly. 14 | .\"SKIP_SECTION" 15 | .SH DESCRIPTION 16 | .LP 17 | Bochs-dlx 18 | is a shell script that runs a sample 10Mbyte disk image 19 | of DLX Linux inside Bochs. Bochs-dlx is simple by design 20 | so that it is possible to try out Bochs without learning 21 | how to configure it first. 22 | .\"SKIP_SECTION" 23 | .SH LICENSE 24 | This program is distributed under the terms of the GNU 25 | Lesser General Public License as published by the Free 26 | Software Foundation. See the LICENSE and COPYING files located 27 | in /usr/share/doc/bochs/ for details on the license and 28 | the lack of warranty. 29 | .\"SKIP_SECTION" 30 | .SH AVAILABILITY 31 | The latest version of this program can be found at: 32 | http://bochs.sourceforge.net/getcurrent.html 33 | .\"SKIP_SECTION" 34 | .SH SEE ALSO 35 | bochs(1), bochsrc(5), bximage(1) 36 | .PP 37 | .nf 38 | The Bochs IA-32 Emulator site on the World Wide Web: 39 | http://bochs.sourceforge.net 40 | 41 | Online Bochs Documentation 42 | http://bochs.sourceforge.net/doc/docbook 43 | .fi 44 | .\"SKIP_SECTION" 45 | .SH BUGS 46 | Please report all bugs to the bug tracker on our web 47 | site. Just go to http://bochs.sourceforge.net, and click 48 | "Bug Reports" on the sidebar under "Features." 49 | .PP 50 | Provide a detailed description of the bug, the version of 51 | the program you are running, the operating system you are 52 | running the program on and the operating system you 53 | are running in the emulator. 54 | 55 | -------------------------------------------------------------------------------- /vendor/bochs/docs-html/00README: -------------------------------------------------------------------------------- 1 | In the past this folder contained the Bochs documentation. After converting 2 | everything to the docbook format, it can be used as a temporary storage for 3 | new stuff before adding it to the official docs. 4 | 5 | -Volker Ruppert 6 | -------------------------------------------------------------------------------- /vendor/bochs/docs-html/random.txt: -------------------------------------------------------------------------------- 1 | look at http://www.ao.net/help/software/lps/disktools/INDEX 2 | asbench.zip Benchmark for drives under a ASPI device driver 3 | ataid011.zip ATA Identification. Echos Identify Drive data 4 | atrt4mb.exe AT Regression test 5 | and most interesting of all: 6 | ext2tool.zip Mount and use Ext2 filesystems from DOS 7 | 8 | 9 | From: Gregg Eshelman 10 | Sounds good. :) Some Windows disk imaging apps 11 | are WinImage and SH (Schenk and Horne) Copy Star. 12 | 13 | -------------------------------------------------------------------------------- /vendor/bochs/gdbstub.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gdbstub.cc -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/cdromd.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_CDROMD_BMAP_X 32 6 | #define BX_CDROMD_BMAP_Y 32 7 | 8 | static const unsigned char bx_cdromd_bmap[(BX_CONFIG_BMAP_X * BX_CONFIG_BMAP_Y)/8] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x00, 0x00, 0x10, 0x12, 0x00, 10 | 0x00, 0x10, 0x12, 0x00, 0x00, 0x10, 0x12, 0x00, 0x00, 0x60, 0x0e, 0x00, 11 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x0c, 0x30, 0x00, 12 | 0x00, 0xe2, 0x47, 0x00, 0x00, 0x19, 0x98, 0x00, 0x80, 0xe6, 0x67, 0x01, 13 | 0x40, 0x19, 0x98, 0x02, 0x20, 0xe5, 0xa7, 0x04, 0xa0, 0x12, 0x48, 0x05, 14 | 0x90, 0xca, 0x53, 0x09, 0x50, 0x25, 0xa4, 0x0a, 0x50, 0x15, 0xa8, 0x0a, 15 | 0x50, 0x15, 0xa8, 0x0a, 0x50, 0x15, 0xa8, 0x0a, 0x50, 0x15, 0xa8, 0x0a, 16 | 0x50, 0x25, 0xa4, 0x0a, 0x90, 0xca, 0x53, 0x09, 0xa0, 0x12, 0x48, 0x05, 17 | 0x20, 0xe5, 0xa7, 0x04, 0x40, 0x19, 0x98, 0x02, 0x80, 0xe6, 0x67, 0x01, 18 | 0x00, 0x19, 0x98, 0x00, 0x00, 0xe2, 0x47, 0x00, 0x00, 0x0c, 0x30, 0x00, 19 | 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00 20 | }; 21 | 22 | static const unsigned char bx_cdromd_eject_bmap[(BX_CONFIG_BMAP_X * BX_CONFIG_BMAP_Y)/8] = { 23 | 0x01, 0x00, 0x00, 0x80, 0x02, 0x60, 0x0e, 0x40, 0x04, 0x10, 0x12, 0x20, 24 | 0x08, 0x10, 0x12, 0x10, 0x10, 0x10, 0x12, 0x08, 0x20, 0x60, 0x0e, 0x04, 25 | 0x40, 0x00, 0x00, 0x02, 0x80, 0xf0, 0x0f, 0x01, 0x00, 0x0d, 0xb0, 0x00, 26 | 0x00, 0xe2, 0x47, 0x00, 0x00, 0x1d, 0xb8, 0x00, 0x80, 0xee, 0x77, 0x01, 27 | 0x40, 0x19, 0x98, 0x02, 0x20, 0xe5, 0xa7, 0x04, 0xa0, 0x52, 0x4a, 0x05, 28 | 0x90, 0xca, 0x53, 0x09, 0x50, 0xa5, 0xa5, 0x0a, 0x50, 0x55, 0xaa, 0x0a, 29 | 0x50, 0x35, 0xac, 0x0a, 0x50, 0x15, 0xa8, 0x0a, 0x50, 0x1d, 0xb8, 0x0a, 30 | 0x50, 0x25, 0xa4, 0x0a, 0x90, 0xca, 0x53, 0x09, 0xa0, 0x13, 0xc8, 0x05, 31 | 0xa0, 0xe5, 0xa7, 0x05, 0x40, 0x19, 0x98, 0x02, 0xa0, 0xe6, 0x67, 0x05, 32 | 0x10, 0x19, 0x98, 0x08, 0x08, 0xe2, 0x47, 0x10, 0x04, 0x0c, 0x30, 0x20, 33 | 0x02, 0xf0, 0x0f, 0x40, 0x01, 0x00, 0x00, 0x80 34 | }; 35 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/cdromd.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *cdromd_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | ".............##..###............", 11 | "............#....#..#...........", 12 | "............#....#..#...........", 13 | "............#....#..#...........", 14 | ".............##..###............", 15 | "................................", 16 | "............########............", 17 | "..........##........##..........", 18 | ".........#...######...#.........", 19 | "........#..##......##..#........", 20 | ".......#.##..######..##.#.......", 21 | "......#.#..##......##..#.#......", 22 | ".....#..#.#..######..#.#..#.....", 23 | ".....#.#.#..#......#..#.#.#.....", 24 | "....#..#.#.#..####..#.#.#..#....", 25 | "....#.#.#.#..#....#..#.#.#.#....", 26 | "....#.#.#.#.#......#.#.#.#.#....", 27 | "....#.#.#.#.#......#.#.#.#.#....", 28 | "....#.#.#.#.#......#.#.#.#.#....", 29 | "....#.#.#.#.#......#.#.#.#.#....", 30 | "....#.#.#.#..#....#..#.#.#.#....", 31 | "....#..#.#.#..####..#.#.#..#....", 32 | ".....#.#.#..#......#..#.#.#.....", 33 | ".....#..#.#..######..#.#..#.....", 34 | "......#.#..##......##..#.#......", 35 | ".......#.##..######..##.#.......", 36 | "........#..##......##..#........", 37 | ".........#...######...#.........", 38 | "..........##........##..........", 39 | "............########............", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/configbutton.h: -------------------------------------------------------------------------------- 1 | #define BX_CONFIG_BMAP_X 32 2 | #define BX_CONFIG_BMAP_Y 32 3 | 4 | static const unsigned char bx_config_bmap[(BX_CONFIG_BMAP_X * BX_CONFIG_BMAP_Y)/8] = { 5 | 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x80, 0x01, 0xfc, 0x7f, 0xc0, 0x03, 6 | 0xfc, 0xff, 0xc1, 0x03, 0xfc, 0xff, 0xc1, 0x03, 0xfc, 0x7f, 0xc0, 0x03, 7 | 0x84, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 8 | 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 9 | 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 10 | 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xc0, 0x03, 11 | 0x80, 0x07, 0xc0, 0x03, 0x80, 0x07, 0xe0, 0x07, 0x80, 0x07, 0xf0, 0x0f, 12 | 0x80, 0x07, 0x70, 0x0e, 0x80, 0x07, 0x30, 0x0c, 0x80, 0x07, 0x30, 0x0c, 13 | 0x80, 0x07, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x38, 0x27, 0xba, 0x1c, 14 | 0x84, 0x68, 0x8a, 0x02, 0x84, 0xa8, 0xba, 0x32, 0x84, 0x28, 0x8b, 0x22, 15 | 0x38, 0x27, 0x8a, 0x1c, 0x00, 0x00, 0x00, 0x00 16 | }; 17 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/configbutton.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *configbutton_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | "..#....................##.......", 11 | "..#############.......####......", 12 | "..###############.....####......", 13 | "..###############.....####......", 14 | "..#############.......####......", 15 | "..#....####...........####......", 16 | ".......####...........####......", 17 | ".......####...........####......", 18 | ".......####...........####......", 19 | ".......####...........####......", 20 | ".......####...........####......", 21 | ".......####...........####......", 22 | ".......####...........####......", 23 | ".......####...........####......", 24 | ".......####...........####......", 25 | ".......####...........####......", 26 | ".......####...........####......", 27 | ".......####...........####......", 28 | ".......####..........######.....", 29 | ".......####.........########....", 30 | ".......####.........###..###....", 31 | ".......####.........##....##....", 32 | ".......####.........##....##....", 33 | ".......####..........#....#.....", 34 | "................................", 35 | "...###..###..#...#.###.#..###...", 36 | "..#....#...#.##..#.#...#.#......", 37 | "..#....#...#.#.#.#.###.#.#..##..", 38 | "..#....#...#.#..##.#...#.#...#..", 39 | "...###..###..#...#.#...#..###...", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/copy.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_COPY_BMAP_X 32 6 | #define BX_COPY_BMAP_Y 32 7 | 8 | static unsigned char bx_copy_bmap[(BX_COPY_BMAP_X*BX_COPY_BMAP_Y)] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 10 | 0x80, 0x60, 0x4e, 0x02, 0x80, 0x90, 0x52, 0x02, 0x80, 0x90, 0x52, 0x02, 11 | 0x00, 0x6f, 0x8e, 0x03, 0x00, 0x00, 0x02, 0x02, 0xf8, 0x3f, 0x02, 0x02, 12 | 0x08, 0x20, 0xc0, 0x01, 0xe8, 0x2b, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 13 | 0xe8, 0x2e, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0xe8, 0x39, 0x00, 0x00, 14 | 0x08, 0x24, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0xe8, 0xaf, 0xff, 0x03, 15 | 0x08, 0xa0, 0x00, 0x02, 0xf8, 0xbf, 0xbe, 0x02, 0x00, 0x80, 0x00, 0x02, 16 | 0x80, 0x88, 0xee, 0x02, 0x80, 0x90, 0x00, 0x02, 0x00, 0xbf, 0x9e, 0x03, 17 | 0x00, 0x90, 0x40, 0x02, 0x00, 0x88, 0x08, 0x02, 0x00, 0x80, 0xfe, 0x02, 18 | 0x00, 0x80, 0x00, 0x02, 0x00, 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; 20 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/copy.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *copy_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | "........####....................", 11 | ".......#........................", 12 | ".......#.....##..###..#..#......", 13 | ".......#....#..#.#..#.#..#......", 14 | ".......#....#..#.#..#.#..#......", 15 | "........####.##..###...###......", 16 | ".................#.......#......", 17 | "...###########...#.......#......", 18 | "...#.........#........###.......", 19 | "...#.#####.#.#..................", 20 | "...#.........#..................", 21 | "...#.###.###.#..................", 22 | "...#.........#..................", 23 | "...#.####..###..................", 24 | "...#......#..#..................", 25 | "...#...#.....#..................", 26 | "...#.#######.#.###########......", 27 | "...#.........#.#.........#......", 28 | "...###########.#.#####.#.#......", 29 | "...............#.........#......", 30 | ".......#...#...#.###.###.#......", 31 | ".......#....#..#.........#......", 32 | "........######.#.####..###......", 33 | "............#..#......#..#......", 34 | "...........#...#...#.....#......", 35 | "...............#.#######.#......", 36 | "...............#.........#......", 37 | "...............###########......", 38 | "................................", 39 | "................................", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/floppya.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *floppya_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "...............#................", 10 | "..............#.#...............", 11 | "..............#.#...#...........", 12 | "..............###...............", 13 | ".............##.##..#...........", 14 | ".............##.##..............", 15 | "................................", 16 | ".....######################.....", 17 | ".....####..............####.....", 18 | ".....#..#.############.#..#.....", 19 | ".....#..#..............#..#.....", 20 | ".....####.############.####.....", 21 | ".....####..............####.....", 22 | ".....####.############.####.....", 23 | ".....####..............####.....", 24 | ".....####.############.####.....", 25 | ".....####..............####.....", 26 | ".....####.############.####.....", 27 | ".....####..............####.....", 28 | ".....####.############.####.....", 29 | ".....####..............####.....", 30 | ".....######################.....", 31 | ".....######################.....", 32 | ".....######################.....", 33 | ".....######################.....", 34 | ".....#######.#.#.#.#.######.....", 35 | ".....######.#####.#.#.#####.....", 36 | ".....#######.###.#.#.######.....", 37 | ".....######.#####.#.#.#####.....", 38 | "......######.###.#.#.######.....", 39 | ".......####.#.#.#.#.#.#####.....", 40 | "........####.#.#.#.#.######....." 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/floppyb.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *floppyb_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | ".............###................", 10 | ".............#..#...............", 11 | ".............###...#............", 12 | ".............#..#...............", 13 | ".............#..#..#............", 14 | ".............###................", 15 | "................................", 16 | ".....######################.....", 17 | ".....####..............####.....", 18 | ".....#..#.############.#..#.....", 19 | ".....#..#..............#..#.....", 20 | ".....####.############.####.....", 21 | ".....####..............####.....", 22 | ".....####.############.####.....", 23 | ".....####..............####.....", 24 | ".....####.############.####.....", 25 | ".....####..............####.....", 26 | ".....####.############.####.....", 27 | ".....####..............####.....", 28 | ".....####.############.####.....", 29 | ".....####..............####.....", 30 | ".....######################.....", 31 | ".....######################.....", 32 | ".....######################.....", 33 | ".....######################.....", 34 | ".....#######.#.#.#.#.######.....", 35 | ".....######.#####.#.#.#####.....", 36 | ".....#######.###.#.#.######.....", 37 | ".....######.#####.#.#.#####.....", 38 | "......######.###.#.#.######.....", 39 | ".......####.#.#.#.#.#.#####.....", 40 | "........####.#.#.#.#.######....." 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/mouse.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_MOUSE_BMAP_X 32 6 | #define BX_MOUSE_BMAP_Y 32 7 | 8 | static unsigned char bx_mouse_bmap[(BX_MOUSE_BMAP_X * BX_MOUSE_BMAP_Y)/8] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xf8, 0x1f, 0x00, 10 | 0x00, 0x0c, 0x30, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x40, 0x00, 11 | 0xf8, 0xff, 0xc0, 0x00, 0x0c, 0x80, 0xc1, 0x00, 0x24, 0x22, 0xc1, 0x00, 12 | 0x74, 0x77, 0x81, 0x00, 0x74, 0x77, 0x81, 0x01, 0x74, 0x77, 0x81, 0x01, 13 | 0x74, 0x77, 0x01, 0x01, 0x74, 0x77, 0x01, 0x03, 0x74, 0x77, 0x01, 0x06, 14 | 0x24, 0x22, 0x01, 0x0c, 0x0c, 0x80, 0x01, 0x38, 0x04, 0x00, 0x01, 0x00, 15 | 0x0c, 0x80, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x0c, 0x80, 0x01, 0x00, 16 | 0x04, 0x00, 0x01, 0x00, 0x0c, 0x80, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 17 | 0x0c, 0x80, 0x01, 0x00, 0x14, 0x40, 0x01, 0x00, 0x2c, 0xa0, 0x01, 0x00, 18 | 0x54, 0x55, 0x01, 0x00, 0xac, 0xaa, 0x01, 0x00, 0xf8, 0xff, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 20 | }; 21 | 22 | static unsigned char bx_nomouse_bmap[(BX_MOUSE_BMAP_X * BX_MOUSE_BMAP_Y)/8] = { 23 | 0x01, 0x00, 0x00, 0x80, 0x02, 0xe0, 0x07, 0x40, 0x04, 0xf8, 0x1f, 0x20, 24 | 0x08, 0x0c, 0x30, 0x10, 0x10, 0x06, 0x60, 0x08, 0x20, 0x06, 0x40, 0x04, 25 | 0xf8, 0xff, 0xc0, 0x02, 0x8c, 0x80, 0xc1, 0x01, 0x24, 0x23, 0xc1, 0x00, 26 | 0x74, 0x77, 0xc1, 0x00, 0x74, 0x77, 0xa1, 0x01, 0x74, 0x7f, 0x91, 0x01, 27 | 0x74, 0x77, 0x09, 0x01, 0x74, 0x77, 0x05, 0x03, 0x74, 0x77, 0x03, 0x06, 28 | 0x24, 0xa2, 0x01, 0x0c, 0x0c, 0x80, 0x01, 0x38, 0x04, 0x40, 0x03, 0x00, 29 | 0x0c, 0xa0, 0x05, 0x00, 0x04, 0x10, 0x09, 0x00, 0x0c, 0x88, 0x11, 0x00, 30 | 0x04, 0x04, 0x21, 0x00, 0x0c, 0x82, 0x41, 0x00, 0x04, 0x01, 0x81, 0x00, 31 | 0x8c, 0x80, 0x01, 0x01, 0x54, 0x40, 0x01, 0x02, 0x2c, 0xa0, 0x01, 0x04, 32 | 0x54, 0x55, 0x01, 0x08, 0xac, 0xaa, 0x01, 0x10, 0xfc, 0xff, 0x00, 0x20, 33 | 0x02, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x80 34 | }; 35 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/mouse.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mouse_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | ".............######.............", 11 | "...........##########...........", 12 | "..........##........##..........", 13 | ".........##..........##.........", 14 | ".........##...........#.........", 15 | "...#############......##........", 16 | "..##...........##.....##........", 17 | "..#..#...#...#..#.....##........", 18 | "..#.###.###.###.#......#........", 19 | "..#.###.###.###.#......##.......", 20 | "..#.###.###.###.#......##.......", 21 | "..#.###.###.###.#.......#.......", 22 | "..#.###.###.###.#.......##......", 23 | "..#.###.###.###.#........##.....", 24 | "..#..#...#...#..#.........##....", 25 | "..##...........##..........###..", 26 | "..#.............#...............", 27 | "..##...........##...............", 28 | "..#.............#...............", 29 | "..##...........##...............", 30 | "..#.............#...............", 31 | "..##...........##...............", 32 | "..#.............#...............", 33 | "..##...........##...............", 34 | "..#.#.........#.#...............", 35 | "..##.#.......#.##...............", 36 | "..#.#.#.#.#.#.#.#...............", 37 | "..##.#.#.#.#.#.##...............", 38 | "...#############................", 39 | "................................", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/paste.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_PASTE_BMAP_X 32 6 | #define BX_PASTE_BMAP_Y 32 7 | 8 | static unsigned char bx_paste_bmap[(BX_PASTE_BMAP_X*BX_PASTE_BMAP_Y)] = { 9 | 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x10, 0x00, 0x20, 0x9a, 0x93, 0x03, 10 | 0x20, 0x66, 0x78, 0x04, 0xe0, 0xa5, 0xd3, 0x07, 0x20, 0x24, 0x54, 0x00, 11 | 0x20, 0xd8, 0x93, 0x03, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x02, 0x00, 12 | 0x00, 0x7c, 0x3f, 0x00, 0xc0, 0x83, 0xc1, 0x03, 0x20, 0x02, 0x40, 0x04, 13 | 0x20, 0x01, 0x80, 0x04, 0x20, 0x01, 0x80, 0x04, 0xa0, 0xff, 0xff, 0x05, 14 | 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0xf8, 0x3f, 0x04, 15 | 0x20, 0x08, 0x20, 0x04, 0x20, 0xe8, 0x2b, 0x04, 0x20, 0x08, 0x20, 0x04, 16 | 0x20, 0xe8, 0x2e, 0x04, 0x20, 0x08, 0x20, 0x04, 0x20, 0xe8, 0x39, 0x04, 17 | 0x20, 0x08, 0x24, 0x04, 0x20, 0x88, 0x20, 0x04, 0x20, 0xe8, 0x2f, 0x04, 18 | 0x20, 0x08, 0x20, 0x04, 0x20, 0xf8, 0x3f, 0x04, 0x20, 0x00, 0x00, 0x04, 19 | 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, }; 20 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/paste.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *paste_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | ".....####...........#...........", 11 | ".....#...#.##..###..#..###......", 12 | ".....#...##..##....####...#.....", 13 | ".....####.#..#.###..#.#####.....", 14 | ".....#....#..#....#.#.#.........", 15 | ".....#.....##.####..#..###......", 16 | "...............##...............", 17 | "..............##.#..............", 18 | "..........#####.######..........", 19 | "......####.....##.....####......", 20 | ".....#...#............#...#.....", 21 | ".....#..#..............#..#.....", 22 | ".....#..#..............#..#.....", 23 | ".....#.##################.#.....", 24 | ".....#....................#.....", 25 | ".....#....................#.....", 26 | ".....#.....###########....#.....", 27 | ".....#.....#.........#....#.....", 28 | ".....#.....#.#####.#.#....#.....", 29 | ".....#.....#.........#....#.....", 30 | ".....#.....#.###.###.#....#.....", 31 | ".....#.....#.........#....#.....", 32 | ".....#.....#.####..###....#.....", 33 | ".....#.....#......#..#....#.....", 34 | ".....#.....#...#.....#....#.....", 35 | ".....#.....#.#######.#....#.....", 36 | ".....#.....#.........#....#.....", 37 | ".....#.....###########....#.....", 38 | ".....#....................#.....", 39 | "......####################......", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/power.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_POWER_BMAP_X 32 6 | #define BX_POWER_BMAP_Y 32 7 | 8 | static const unsigned char bx_power_bmap[(BX_POWER_BMAP_X * BX_POWER_BMAP_Y)/8] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 10 | 0x24, 0x67, 0x66, 0x34, 0xa4, 0x28, 0x92, 0x48, 0x9a, 0xa8, 0xfa, 0x04, 11 | 0x82, 0x64, 0x09, 0x04, 0x07, 0xa3, 0x70, 0x0e, 0x00, 0x00, 0x00, 0x00, 12 | 0x00, 0xf8, 0x03, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0x0f, 0x1e, 0x00, 13 | 0x80, 0x03, 0x38, 0x00, 0xc0, 0x00, 0x60, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 14 | 0x60, 0xe0, 0xc0, 0x00, 0x70, 0xe0, 0xc0, 0x01, 0x30, 0xe0, 0x80, 0x01, 15 | 0x30, 0xe0, 0x80, 0x01, 0x30, 0xe0, 0x80, 0x01, 0x30, 0xe0, 0x80, 0x01, 16 | 0x30, 0xe0, 0x80, 0x01, 0x70, 0xe0, 0xc0, 0x01, 0x60, 0xe0, 0xc0, 0x00, 17 | 0xe0, 0xe0, 0xe0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x80, 0x03, 0x38, 0x00, 18 | 0x00, 0x0f, 0x1e, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xf8, 0x03, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 20 | }; 21 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/power.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *power_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | "................................", 11 | ".####...........................", 12 | "..#..#..###..##..##..##...#.##..", 13 | "..#..#.#...#.#...#..#..#...#..#.", 14 | ".#.##..#...#.#.#.#.#####..#.....", 15 | ".#.....#..#..##.#..#......#.....", 16 | "###.....##...#.#....###..###....", 17 | "................................", 18 | "...........#######..............", 19 | ".........###########............", 20 | "........####.....####...........", 21 | ".......###.........###..........", 22 | "......##.............##.........", 23 | ".....###.....###.....###........", 24 | ".....##......###......##........", 25 | "....###......###......###.......", 26 | "....##.......###.......##.......", 27 | "....##.......###.......##.......", 28 | "....##.......###.......##.......", 29 | "....##.......###.......##.......", 30 | "....##.......###.......##.......", 31 | "....###......###......###.......", 32 | ".....##......###......##........", 33 | ".....###.....###.....###........", 34 | "......##.............##.........", 35 | ".......###.........###..........", 36 | "........####.....####...........", 37 | ".........###########............", 38 | "...........#######..............", 39 | "................................", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/reset.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_RESET_BMAP_X 32 6 | #define BX_RESET_BMAP_Y 32 7 | 8 | static const unsigned char bx_reset_bmap[(BX_RESET_BMAP_X * BX_RESET_BMAP_Y)/8] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3c, 0x00, 0x00, 0x10, 10 | 0x48, 0x0c, 0xc7, 0x7c, 0x48, 0x92, 0x20, 0x11, 0x34, 0x1f, 0xf3, 0x09, 11 | 0x24, 0x41, 0x12, 0x48, 0x6e, 0xce, 0xe1, 0x30, 0x00, 0x00, 0x00, 0x00, 12 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 13 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 14 | 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 15 | 0x00, 0xc7, 0x38, 0x00, 0x00, 0x87, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 16 | 0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 17 | 0x00, 0x07, 0x38, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 18 | 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 20 | }; 21 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/reset.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *reset_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | ".............................#..", 11 | "..####......................#...", 12 | "...#..#...##....###...##..#####.", 13 | "...#..#..#..#..#.....#..#...#...", 14 | "..#.##..#####...##..#####..#....", 15 | "..#..#..#.....#..#..#......#..#.", 16 | ".###.##..###..###....###....##..", 17 | "................................", 18 | "................................", 19 | "................................", 20 | "................................", 21 | "................................", 22 | "...............#................", 23 | "..............##................", 24 | ".............#######............", 25 | "............#########...........", 26 | ".............#########..........", 27 | "........###...##...###..........", 28 | "........###....#...###..........", 29 | "........###........###..........", 30 | "........###........###..........", 31 | "........###........###..........", 32 | "........###........###..........", 33 | "........###........###..........", 34 | "........##############..........", 35 | ".........############...........", 36 | "..........##########............", 37 | "................................", 38 | "................................", 39 | "................................", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/saverestore.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_SAVE_RESTORE_BMAP_X 32 6 | #define BX_SAVE_RESTORE_BMAP_Y 32 7 | 8 | static const unsigned char bx_save_restore_bmap[(BX_SAVE_RESTORE_BMAP_X * BX_SAVE_RESTORE_BMAP_Y)/8] = 9 | { 10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 11 | 0x00, 0x00, 0x00, 0x00, 0x2e, 0xdd, 0x9d, 0x3b, 12 | 0x22, 0x45, 0x45, 0x4a, 0x2c, 0xd9, 0x5d, 0x4a, 13 | 0x28, 0x51, 0x44, 0x4a, 0xee, 0x5d, 0x5c, 0x3a, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 17 | 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 18 | 0x00, 0xec, 0x0d, 0x00, 0x00, 0xee, 0x1d, 0x00, 19 | 0x00, 0xef, 0x3d, 0x00, 0x00, 0xe7, 0x39, 0x00, 20 | 0x00, 0xe7, 0x39, 0x00, 0x00, 0x07, 0x38, 0x00, 21 | 0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 22 | 0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 23 | 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 24 | 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 26 | }; 27 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/saverestore.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *saverestore_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | "................................", 10 | "................................", 11 | "................................", 12 | ".###.#..#.###.###.###..###.###..", 13 | ".#...#..#.#...#.#.#...#..#.#..#.", 14 | "..##.#..#..##.###.###.#..#.#..#.", 15 | "...#.#..#...#.#...#...#..#.#..#.", 16 | ".###.####.###.#...###.#..#.###..", 17 | "................................", 18 | "................................", 19 | "................................", 20 | "................................", 21 | ".............####...............", 22 | ".............####...............", 23 | ".............####...............", 24 | ".............####...............", 25 | "..........##.####.##............", 26 | ".........###.####.###...........", 27 | "........####.####.####..........", 28 | "........###..####..###..........", 29 | "........###..####..###..........", 30 | "........###........###..........", 31 | "........###........###..........", 32 | "........###........###..........", 33 | "........###........###..........", 34 | "........###........###..........", 35 | "........##############..........", 36 | ".........############...........", 37 | "..........##########............", 38 | "................................", 39 | "................................", 40 | "................................", 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/snapshot.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_SNAPSHOT_BMAP_X 32 6 | #define BX_SNAPSHOT_BMAP_Y 32 7 | 8 | static const unsigned char bx_snapshot_bmap[(BX_SNAPSHOT_BMAP_X * BX_SNAPSHOT_BMAP_Y)/8] = { 9 | 0x00, 0x00, 0x20, 0x40, 0x77, 0xe6, 0xee, 0xec, 0x91, 0xa8, 0xa2, 0x52, 10 | 0x96, 0xac, 0xac, 0x52, 0x94, 0xaa, 0xa8, 0x52, 0xb7, 0xee, 0xae, 0xcc, 11 | 0x00, 0x20, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x08, 0x10, 0x00, 12 | 0x7c, 0x0f, 0x10, 0x1f, 0xfa, 0x07, 0xa0, 0x2e, 0x42, 0x07, 0xa0, 0x50, 13 | 0xa3, 0x03, 0xc0, 0xe0, 0xff, 0xee, 0x77, 0xbf, 0x01, 0xf9, 0x9f, 0x40, 14 | 0x01, 0x1d, 0xb8, 0xa0, 0xff, 0xe5, 0xa7, 0xff, 0xff, 0xba, 0x5a, 0xff, 15 | 0xff, 0x55, 0xb5, 0xff, 0xff, 0x8d, 0xaa, 0xff, 0xff, 0x16, 0x55, 0xff, 16 | 0xff, 0xa2, 0x6a, 0xff, 0xff, 0x46, 0x55, 0xff, 0xff, 0xaa, 0x6a, 0xff, 17 | 0xff, 0x56, 0x55, 0xff, 0xfe, 0xae, 0x6a, 0x7f, 0x00, 0x55, 0xb5, 0x00, 18 | 0x00, 0xbd, 0xba, 0x00, 0x00, 0xfa, 0x5f, 0x00, 0x00, 0xe4, 0x27, 0x00, 19 | 0x00, 0x18, 0x18, 0x00, 0x00, 0xe0, 0x07, 0x00 20 | }; 21 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/snapshot.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *snapshot_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 32 32 2 1", 5 | /* colors */ 6 | ". c None", 7 | "# c #000000", 8 | /* pixels */ 9 | ".....................#........#.", 10 | "###.###..##..###.###.###..##.###", 11 | "#...#..#...#.#.#.#...#.#.#..#.#.", 12 | ".##.#..#..##.#.#..##.#.#.#..#.#.", 13 | "..#.#..#.#.#.#.#...#.#.#.#..#.#.", 14 | "###.##.#.###.###.###.#.#..##..##", 15 | ".............#..................", 16 | "............########............", 17 | "...........#........#...........", 18 | "..#####.####........#...#####...", 19 | ".#.########..........#.#.###.#..", 20 | ".#....#.###..........#.#....#.#.", 21 | "##...#.###............##.....###", 22 | "########.###.######.###.######.#", 23 | "#.......#..##########..#......#.", 24 | "#.......#.###......###.#.....#.#", 25 | "#########.#..######..#.#########", 26 | "########.#.###.#.#.##.#.########", 27 | "#########.#.#.#.#.#.##.#########", 28 | "#########.##...#.#.#.#.#########", 29 | "########.##.#...#.#.#.#.########", 30 | "########.#...#.#.#.#.##.########", 31 | "########.##...#.#.#.#.#.########", 32 | "########.#.#.#.#.#.#.##.########", 33 | "########.##.#.#.#.#.#.#.########", 34 | ".#######.###.#.#.#.#.##.#######.", 35 | "........#.#.#.#.#.#.##.#........", 36 | "........#.####.#.#.###.#........", 37 | ".........#.##########.#.........", 38 | "..........#..######..#..........", 39 | "...........##......##...........", 40 | ".............######............." 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/userbutton.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #define BX_USER_BMAP_X 32 6 | #define BX_USER_BMAP_Y 32 7 | 8 | static const unsigned char bx_user_bmap[BX_USER_BMAP_X*BX_USER_BMAP_Y/8] = { 9 | 0x00, 0x00, 0x00, 0x00, 0x84, 0x78, 0x9e, 0x07, 0x84, 0x04, 0x82, 0x08, 10 | 0x84, 0x04, 0x82, 0x08, 0x84, 0x38, 0x9e, 0x07, 0x84, 0x40, 0x82, 0x01, 11 | 0x84, 0x40, 0x82, 0x06, 0x78, 0x3c, 0x9e, 0x08, 0x00, 0x00, 0x00, 0x00, 12 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 13 | 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 14 | 0x00, 0x00, 0x80, 0x00, 0xfe, 0xff, 0xff, 0x3f, 0x02, 0x00, 0x00, 0x20, 15 | 0xaa, 0xaa, 0x2a, 0x2a, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 16 | 0xaa, 0xaa, 0xaa, 0x2a, 0x52, 0x55, 0x11, 0x25, 0xaa, 0xaa, 0xaa, 0x2a, 17 | 0x52, 0x55, 0x01, 0x25, 0xaa, 0xaa, 0x82, 0x2a, 0x52, 0x55, 0x11, 0x25, 18 | 0xaa, 0xbf, 0xaa, 0x2a, 0x02, 0x00, 0x00, 0x20, 0xfe, 0xff, 0xff, 0x3f, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 20 | }; 21 | -------------------------------------------------------------------------------- /vendor/bochs/gui/bitmaps/userbutton.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *userbutton_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 2 1", 5 | ". c None", 6 | "# c #000000", 7 | /* pixels */ 8 | "................................", 9 | "..#....#...####..####..####.....", 10 | "..#....#..#......#.....#...#....", 11 | "..#....#..#......#.....#...#....", 12 | "..#....#...###...####..####.....", 13 | "..#....#......#..#.....##.......", 14 | "..#....#......#..#.....#.##.....", 15 | "...####...####...####..#...#....", 16 | "................................", 17 | "................................", 18 | ".............................#..", 19 | "..........................###...", 20 | ".........................#......", 21 | "........................#.......", 22 | ".......................#........", 23 | ".......................#........", 24 | ".#############################..", 25 | ".#...........................#..", 26 | ".#.#.#.#.#.#.#.#.#.#.#...#.#.#..", 27 | ".#...........................#..", 28 | ".#...........................#..", 29 | ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#..", 30 | ".#..#.#.#.#.#.#.#...#...#.#..#..", 31 | ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#..", 32 | ".#..#.#.#.#.#.#.#.......#.#..#..", 33 | ".#.#.#.#.#.#.#.#.#.....#.#.#.#..", 34 | ".#..#.#.#.#.#.#.#...#...#.#..#..", 35 | ".#.#.#.#######.#.#.#.#.#.#.#.#..", 36 | ".#...........................#..", 37 | ".#############################..", 38 | "................................", 39 | "................................" 40 | }; 41 | -------------------------------------------------------------------------------- /vendor/bochs/gui/icon_bochs.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2001-2009 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | ///////////////////////////////////////////////////////////////////////// 21 | 22 | #define bochs_icon_width 32 23 | #define bochs_icon_height 32 24 | 25 | static unsigned char bochs_icon_bits[] = { 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 27 | 0xe0, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 28 | 0xfc, 0xc7, 0xe3, 0x3f, 0xfc, 0xc7, 0xe3, 0x3f, 0xfc, 0xc3, 0xc3, 0x3f, 29 | 0xfc, 0xc3, 0xc3, 0x3f, 0xf8, 0xc1, 0x83, 0x1f, 0xf0, 0xc0, 0x03, 0x0f, 30 | 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 31 | 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 32 | 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xf0, 0xc0, 0x03, 0x0f, 33 | 0xf8, 0xc1, 0x83, 0x1f, 0xfc, 0xc3, 0xc3, 0x3f, 0xfc, 0xc3, 0xc3, 0x3f, 34 | 0xfc, 0xc7, 0xe3, 0x3f, 0xfc, 0xc7, 0xe3, 0x3f, 0xf8, 0xff, 0xff, 0x1f, 35 | 0xf8, 0xff, 0xff, 0x1f, 0xe0, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; 37 | -------------------------------------------------------------------------------- /vendor/bochs/gui/icon_bochs.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *icon_bochs_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #800000", 7 | "X c #808000", 8 | "o c yellow", 9 | "O c #808080", 10 | "+ c #c0c0c0", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@. +@@@+ +@@@@@@@@@", 15 | "@@@@@@@@ Oo @+ .@@@@@@@@", 16 | "@@@@@@ ooooo ooo. @@@@@@@", 17 | "@@@@ oooooo. oooooX @@@@@", 18 | "@+ XoooooO XX ooooooo O@@@", 19 | "+ oooooO XXXX X ooooooo @@", 20 | "@ ooo XXXXXX XX ooooooX ", 21 | "@@. XXXXXXXX XXX Xooooo. ", 22 | "@@@@ OXXXXXXXXX XXXXXO oO .@", 23 | "@@@@ .XXXXXXX XXXXXXX. @@@", 24 | "@+ oo XXXX XXXXXXXX @@@", 25 | "@ ooooo XXXXXX O", 26 | "@@O oooooo OXXXX. XX Oooo ", 27 | "@@@@ .ooooo. XXXXX oooo O@", 28 | "@@@@ Oooooo XX. .ooo @@@", 29 | "@@@@ XX oooooo .oooo. @@@@", 30 | "@@@@ ooXX . ooO o @@@@", 31 | "@@@@ oooXX. .Xo XX XXo @@@@", 32 | "@@@@ ooooXXXXXXXo XXXX.XXoo @@@@", 33 | "@@@+ oooooooooooo XooXXXooo @@@@", 34 | "@@@. oooooooooooo Xooooooo @@@@", 35 | "@@@+ oooooooooo XoooooX .@@@@@", 36 | "@@@@@O XoooooooX ooooo +@@@@@@", 37 | "@@@@@@@ ooooooX oooX @@@@@@@@", 38 | "@@@@@@@@@ ooooX oo @@@@@@@@@", 39 | "@@@@@@@@@@. Ooo. O@@@@@@@@@@", 40 | "@@@@@@@@@@@@ @@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@O O@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/sdl-pc-de.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/sdl-pc-de.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/sdl2-pc-de.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/sdl2-pc-de.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-be.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-be.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-da.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-da.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-de.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-de.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-fr.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-fr.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-it.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-it.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-ru.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-ru.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-se.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-se.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-sg.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-sg.map -------------------------------------------------------------------------------- /vendor/bochs/gui/keymaps/x11-pc-uk.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/gui/keymaps/x11-pc-uk.map -------------------------------------------------------------------------------- /vendor/bochs/gui/scrollwin.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2013 Volker Ruppert 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | #ifndef SCROLLWIN_H 22 | 23 | #define SCROLLWIN_H 24 | 25 | BOOL RegisterScrollWindow(HINSTANCE hinst); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/bochs/gui/win32dialog.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2009-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | #ifndef BX_WIN32_DIALOGS_H 22 | #define BX_WIN32_DIALOGS_H 23 | 24 | #include "config.h" 25 | 26 | // Compilation for WIN64 native require minimum 0x0500 27 | #ifndef _WIN32_IE 28 | #define _WIN32_IE 0x0500 /* Force a minimum "OS level" for commctrl.h */ 29 | #endif 30 | #if _WIN32_IE < 0x0500 31 | #undef _WIN32_IE 32 | #define _WIN32_IE 0x0500 33 | #endif 34 | 35 | extern "C" { 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | } 43 | 44 | #endif // BX_WIN32_DIALOGS_H 45 | -------------------------------------------------------------------------------- /vendor/bochs/gui/win32paramdlg.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2009-2014 Volker Ruppert 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | #ifndef BX_WIN32_PARAMDLG_H 22 | #define BX_WIN32_PARAMDLG_H 23 | 24 | #include "config.h" 25 | 26 | #if BX_USE_WIN32CONFIG 27 | 28 | int AskFilename(HWND hwnd, bx_param_filename_c *param, char *buffer); 29 | INT_PTR win32ParamDialog(HWND parent, const char *menu); 30 | INT_PTR win32FloppyParamDialog(HWND parent, const char *menu); 31 | 32 | #endif 33 | 34 | #endif // BX_WIN32_PARAMDLG_H 35 | -------------------------------------------------------------------------------- /vendor/bochs/gui/win32res.h: -------------------------------------------------------------------------------- 1 | #define ICON_BOCHS 1000 2 | #define ICON_BOCHS2 1001 3 | 4 | #define MAINMENU_DLG 1100 5 | #define IDCONFIG 1110 6 | #define IDREADRC 1120 7 | #define IDWRITERC 1130 8 | #define IDEDITCFG 1140 9 | #define IDRESETCFG 1150 10 | #define IDEDITGRP 1160 11 | #define IDEDITBOX 1170 12 | #define IDSIMU 1180 13 | #define IDRESTORE 1190 14 | #define IDQUIT 1195 15 | #define LOGOPT_DLG 1200 16 | #define IDDEVLIST 1210 17 | #define IDLOGLBL1 1221 18 | #define IDLOGLBL2 1222 19 | #define IDLOGLBL3 1223 20 | #define IDLOGLBL4 1224 21 | #define IDLOGLBL5 1225 22 | #define IDLOGEVT1 1231 23 | #define IDLOGEVT2 1232 24 | #define IDLOGEVT3 1233 25 | #define IDLOGEVT4 1234 26 | #define IDLOGEVT5 1235 27 | #define IDADVLOGOPT 1240 28 | #define IDAPPLY 1250 29 | #define PLUGIN_CTRL_DLG 1300 30 | #define IDPLUGTXT1 1305 31 | #define IDPLUGLIST1 1310 32 | #define IDPLUGTXT2 1315 33 | #define IDPLUGLIST2 1320 34 | #define IDLOAD 1330 35 | #define IDUNLOAD 1340 36 | #define ASK_DLG 2000 37 | #define IDASKTX1 2010 38 | #define IDASKDEV 2020 39 | #define IDASKTX2 2030 40 | #define IDASKMSG 2040 41 | #define IDASKLIST 2050 42 | #define STRING_DLG 2100 43 | #define IDSTRING 2110 44 | #define PARAM_DLG 3000 45 | #define IDCREATE 3010 46 | -------------------------------------------------------------------------------- /vendor/bochs/host/linux/pcidev/Make.kbuild: -------------------------------------------------------------------------------- 1 | obj-m += pcidev.o 2 | 3 | -------------------------------------------------------------------------------- /vendor/bochs/host/linux/pcidev/Makefile.in: -------------------------------------------------------------------------------- 1 | ifneq ($(KERNELRELEASE), ) 2 | # linux kernel 2.6 kbuild invocation 3 | include $(src)/Make.kbuild 4 | else 5 | # command prompt invocation or linux kernel 2.4 build 6 | 7 | KERNELDIR = @KERNELDIR@ 8 | CC = @CC@ 9 | LSMOD = @LSMOD@ 10 | INSMOD = @INSMOD@ 11 | RMMOD = @RMMOD@ 12 | DEPMOD = @DEPMOD@ 13 | KERNEL_MODULE_SUFFIX = @KERNEL_MODULE_SUFFIX@ 14 | 15 | MODULE_NAME = pcidev 16 | MODULE_FILE = $(MODULE_NAME).$(KERNEL_MODULE_SUFFIX) 17 | 18 | PCIDEV_MODULE_MAKE_ALL = @PCIDEV_MODULE_MAKE_ALL@ 19 | 20 | CFLAGS = @CFLAGS@ -Wstrict-prototypes -Wno-trigraphs -g -fno-strict-aliasing -fno-common -D__KERNEL__ -DMODULE -I$(KERNELDIR)/include -O -Wall 21 | 22 | 23 | .PHONY : all 24 | all : $(PCIDEV_MODULE_MAKE_ALL) 25 | 26 | 27 | .PHONY : all-kernel24 28 | all-kernel24 : $(MODULE_FILE) 29 | 30 | $(MODULE_FILE) : pcidev.c kernel_pcidev.h 31 | 32 | 33 | .PHONY : all-kernel26 34 | all-kernel26 : 35 | $(MAKE) -C $(KERNELDIR) SUBDIRS=$(shell pwd) modules 36 | 37 | 38 | .PHONY : clean 39 | clean : 40 | @RMCOMMAND@ *.o *~ core *.mod.* .*.cmd *.ko 41 | 42 | .PHONY : dist-clean 43 | dist-clean: clean 44 | @RMCOMMAND@ Makefile 45 | 46 | 47 | .PHONY : devices 48 | devices: 49 | @DEVICE="/dev/pcidev" ; \ 50 | if test \! -c $$DEVICE ; then \ 51 | echo "Adding $$DEVICE ..." ; \ 52 | mknod $$DEVICE c 240 0 ; \ 53 | chmod a+wr $$DEVICE ; \ 54 | ls -l $$DEVICE ; \ 55 | else \ 56 | echo "Device $$DEVICE already exists." ; \ 57 | fi 58 | 59 | 60 | # works only under linux of course 61 | .PHONY : install 62 | install: 63 | @if test $$USER != "root" ; then \ 64 | echo "Only root can install." ; \ 65 | exit 1 ; \ 66 | fi ; \ 67 | if $(LSMOD) | grep -q $(MODULE_NAME) ; then \ 68 | echo "Unloading $(MODULE_NAME) ..." ; \ 69 | $(RMMOD) $(MODULE_NAME) ; \ 70 | fi ; \ 71 | echo "Loading $(MODULE_NAME) ..." ; \ 72 | $(INSMOD) $(MODULE_FILE) ; \ 73 | echo "Done." 74 | 75 | endif 76 | -------------------------------------------------------------------------------- /vendor/bochs/instrument/example0/Makefile.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001 The Bochs Project 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | @SUFFIX_LINE@ 19 | 20 | srcdir = @srcdir@ 21 | VPATH = @srcdir@ 22 | 23 | SHELL = @SHELL@ 24 | 25 | @SET_MAKE@ 26 | 27 | CC = @CC@ 28 | CFLAGS = @CFLAGS@ 29 | CXX = @CXX@ 30 | CXXFLAGS = @CXXFLAGS@ 31 | CPPFLAGS = @CPPFLAGS@ 32 | 33 | LDFLAGS = @LDFLAGS@ 34 | LIBS = @LIBS@ 35 | RANLIB = @RANLIB@ 36 | 37 | 38 | # =========================================================== 39 | # end of configurable options 40 | # =========================================================== 41 | 42 | 43 | BX_OBJS = \ 44 | instrument.o 45 | 46 | BX_INCLUDES = 47 | 48 | BX_INCDIRS = -I../.. -I$(srcdir)/../.. -I. -I$(srcdir)/. 49 | 50 | .@CPP_SUFFIX@.o: 51 | $(CXX) -c $(BX_INCDIRS) $(CPPFLAGS) $(CXXFLAGS) @CXXFP@$< @OFP@$@ 52 | 53 | 54 | .c.o: 55 | $(CC) -c $(BX_INCDIRS) $(CPPFLAGS) $(CFLAGS) @CFP@$< @OFP@$@ 56 | 57 | 58 | 59 | libinstrument.a: $(BX_OBJS) 60 | @RMCOMMAND@ libinstrument.a 61 | @MAKELIB@ $(BX_OBJS) 62 | $(RANLIB) libinstrument.a 63 | 64 | $(BX_OBJS): $(BX_INCLUDES) 65 | 66 | 67 | clean: 68 | @RMCOMMAND@ *.o 69 | @RMCOMMAND@ *.a 70 | 71 | dist-clean: clean 72 | @RMCOMMAND@ Makefile 73 | -------------------------------------------------------------------------------- /vendor/bochs/instrument/example1/Makefile.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001 The Bochs Project 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | 19 | @SUFFIX_LINE@ 20 | 21 | srcdir = @srcdir@ 22 | VPATH = @srcdir@ 23 | 24 | SHELL = @SHELL@ 25 | 26 | @SET_MAKE@ 27 | 28 | CC = @CC@ 29 | CFLAGS = @CFLAGS@ 30 | CXX = @CXX@ 31 | CXXFLAGS = @CXXFLAGS@ 32 | CPPFLAGS = @CPPFLAGS@ 33 | 34 | LDFLAGS = @LDFLAGS@ 35 | LIBS = @LIBS@ 36 | RANLIB = @RANLIB@ 37 | 38 | 39 | # =========================================================== 40 | # end of configurable options 41 | # =========================================================== 42 | 43 | 44 | BX_OBJS = \ 45 | instrument.o 46 | 47 | BX_INCLUDES = 48 | 49 | BX_INCDIRS = -I../.. -I$(srcdir)/../.. -I. -I$(srcdir)/. 50 | 51 | .@CPP_SUFFIX@.o: 52 | $(CXX) -c $(BX_INCDIRS) $(CPPFLAGS) $(CXXFLAGS) @CXXFP@$< @OFP@$@ 53 | 54 | 55 | .c.o: 56 | $(CC) -c $(BX_INCDIRS) $(CPPFLAGS) $(CFLAGS) @CFP@$< @OFP@$@ 57 | 58 | 59 | 60 | libinstrument.a: $(BX_OBJS) 61 | @RMCOMMAND@ libinstrument.a 62 | @MAKELIB@ $(BX_OBJS) 63 | $(RANLIB) libinstrument.a 64 | 65 | $(BX_OBJS): $(BX_INCLUDES) 66 | 67 | 68 | clean: 69 | @RMCOMMAND@ *.o 70 | @RMCOMMAND@ *.a 71 | 72 | dist-clean: clean 73 | @RMCOMMAND@ Makefile 74 | -------------------------------------------------------------------------------- /vendor/bochs/instrument/example2/Makefile.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001 The Bochs Project 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | 19 | @SUFFIX_LINE@ 20 | 21 | srcdir = @srcdir@ 22 | VPATH = @srcdir@ 23 | 24 | SHELL = @SHELL@ 25 | 26 | @SET_MAKE@ 27 | 28 | CC = @CC@ 29 | CFLAGS = @CFLAGS@ 30 | CXX = @CXX@ 31 | CXXFLAGS = @CXXFLAGS@ 32 | CPPFLAGS = @CPPFLAGS@ 33 | 34 | LDFLAGS = @LDFLAGS@ 35 | LIBS = @LIBS@ 36 | RANLIB = @RANLIB@ 37 | 38 | 39 | # =========================================================== 40 | # end of configurable options 41 | # =========================================================== 42 | 43 | 44 | BX_OBJS = \ 45 | instrument.o 46 | 47 | BX_INCLUDES = 48 | 49 | BX_INCDIRS = -I../.. -I$(srcdir)/../.. -I. -I$(srcdir)/. 50 | 51 | .@CPP_SUFFIX@.o: 52 | $(CXX) -c $(BX_INCDIRS) $(CPPFLAGS) $(CXXFLAGS) @CXXFP@$< @OFP@$@ 53 | 54 | 55 | .c.o: 56 | $(CC) -c $(BX_INCDIRS) $(CPPFLAGS) $(CFLAGS) @CFP@$< @OFP@$@ 57 | 58 | 59 | 60 | libinstrument.a: $(BX_OBJS) 61 | @RMCOMMAND@ libinstrument.a 62 | @MAKELIB@ $(BX_OBJS) 63 | $(RANLIB) libinstrument.a 64 | 65 | $(BX_OBJS): $(BX_INCLUDES) 66 | 67 | 68 | clean: 69 | @RMCOMMAND@ *.o 70 | @RMCOMMAND@ *.a 71 | 72 | dist-clean: clean 73 | @RMCOMMAND@ Makefile 74 | -------------------------------------------------------------------------------- /vendor/bochs/instrument/stubs/Makefile.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001 The Bochs Project 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | 19 | @SUFFIX_LINE@ 20 | 21 | srcdir = @srcdir@ 22 | VPATH = @srcdir@ 23 | 24 | SHELL = @SHELL@ 25 | 26 | @SET_MAKE@ 27 | 28 | CC = @CC@ 29 | CFLAGS = @CFLAGS@ 30 | CXX = @CXX@ 31 | CXXFLAGS = @CXXFLAGS@ 32 | CPPFLAGS = @CPPFLAGS@ 33 | 34 | LDFLAGS = @LDFLAGS@ 35 | LIBS = @LIBS@ 36 | RANLIB = @RANLIB@ 37 | 38 | 39 | # =========================================================== 40 | # end of configurable options 41 | # =========================================================== 42 | 43 | 44 | BX_OBJS = \ 45 | instrument.o 46 | 47 | BX_INCLUDES = 48 | 49 | BX_INCDIRS = -I../.. -I$(srcdir)/../.. -I. -I$(srcdir)/. 50 | 51 | .@CPP_SUFFIX@.o: 52 | $(CXX) -c $(BX_INCDIRS) $(CPPFLAGS) $(CXXFLAGS) @CXXFP@$< @OFP@$@ 53 | 54 | 55 | .c.o: 56 | $(CC) -c $(BX_INCDIRS) $(CPPFLAGS) $(CFLAGS) @CFP@$< @OFP@$@ 57 | 58 | 59 | 60 | libinstrument.a: $(BX_OBJS) 61 | @RMCOMMAND@ libinstrument.a 62 | @MAKELIB@ $(BX_OBJS) 63 | $(RANLIB) libinstrument.a 64 | 65 | $(BX_OBJS): $(BX_INCLUDES) 66 | 67 | 68 | clean: 69 | @RMCOMMAND@ *.o 70 | @RMCOMMAND@ *.a 71 | 72 | dist-clean: clean 73 | @RMCOMMAND@ Makefile 74 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/biosdev.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | #ifndef BX_IODEV_BIOSDEV_H 23 | #define BX_IODEV_BIOSDEV_H 24 | 25 | #define BX_BIOS_MESSAGE_SIZE 80 26 | 27 | #if BX_USE_BIOS_SMF 28 | # define BX_BIOS_SMF static 29 | # define BX_BIOS_THIS theBiosDevice-> 30 | #else 31 | # define BX_BIOS_SMF 32 | # define BX_BIOS_THIS this-> 33 | #endif 34 | 35 | class bx_biosdev_c : public bx_devmodel_c { 36 | public: 37 | bx_biosdev_c(); 38 | virtual ~bx_biosdev_c(); 39 | 40 | virtual void init(void); 41 | virtual void reset(unsigned type) {} 42 | 43 | private: 44 | 45 | static void write_handler(void *this_ptr, Bit32u address, Bit32u value, unsigned io_len); 46 | #if !BX_USE_BIOS_SMF 47 | void write(Bit32u address, Bit32u value, unsigned io_len); 48 | #endif 49 | 50 | struct { 51 | Bit8u bios_message[BX_BIOS_MESSAGE_SIZE]; 52 | unsigned int bios_message_i; 53 | bool bios_panic_flag; 54 | 55 | Bit8u vgabios_message[BX_BIOS_MESSAGE_SIZE]; 56 | unsigned int vgabios_message_i; 57 | bool vgabios_panic_flag; 58 | } s; // state information 59 | }; 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/display/ddc.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2018-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | #ifndef BX_DISPLAY_DDC_H 23 | #define BX_DISPLAY_DDC_H 24 | 25 | class bx_ddc_c : public logfunctions { 26 | public: 27 | bx_ddc_c(); 28 | virtual ~bx_ddc_c(); 29 | 30 | Bit8u read(void); 31 | void write(bool dck, bool dda); 32 | 33 | private: 34 | 35 | Bit8u get_edid_byte(void); 36 | 37 | struct { 38 | Bit8u ddc_mode; 39 | bool DCKhost; 40 | bool DDAhost; 41 | bool DDAmon; 42 | Bit8u ddc_stage; 43 | Bit8u ddc_bitshift; 44 | bool ddc_ack; 45 | bool ddc_rw; 46 | Bit8u ddc_byte; 47 | Bit8u edid_index; 48 | bool edid_extblock; 49 | Bit8u edid_data[256]; 50 | } s; // state information 51 | }; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/extfpuirq.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2009 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | // 21 | 22 | #ifndef BX_IODEV_EXTFPUIRQ_H 23 | #define BX_IODEV_EXTFPUIRQ_H 24 | 25 | 26 | #if BX_USE_EFI_SMF 27 | # define BX_EXTFPUIRQ_SMF static 28 | # define BX_EXTFPUIRQ_THIS theExternalFpuIrq-> 29 | #else 30 | # define BX_EXTFPUIRQ_SMF 31 | # define BX_EXTFPUIRQ_THIS this-> 32 | #endif 33 | 34 | 35 | class bx_extfpuirq_c : public bx_devmodel_c { 36 | public: 37 | bx_extfpuirq_c(); 38 | virtual ~bx_extfpuirq_c(); 39 | virtual void init(void); 40 | virtual void reset(unsigned type); 41 | 42 | private: 43 | 44 | static void write_handler(void *this_ptr, Bit32u address, Bit32u value, unsigned io_len); 45 | #if !BX_USE_EFI_SMF 46 | void write(Bit32u address, Bit32u value, unsigned io_len); 47 | #endif 48 | }; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/hdimage/cdrom_amigaos.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | // Header file for low-level OS specific CDROM emulation 23 | 24 | #if BX_WITH_AMIGAOS 25 | #include 26 | #endif 27 | 28 | class cdrom_amigaos_c : public cdrom_base_c { 29 | public: 30 | cdrom_amigaos_c(const char *dev); 31 | virtual ~cdrom_amigaos_c(void); 32 | bool insert_cdrom(const char *dev = NULL); 33 | void eject_cdrom(); 34 | bool read_toc(Bit8u* buf, int* length, bool msf, int start_track, int format); 35 | Bit32u capacity(); 36 | bool read_block(Bit8u* buf, Bit32u lba, int blocksize) BX_CPP_AttrRegparmN(3); 37 | private: 38 | #if BX_WITH_AMIGAOS 39 | BPTR fda; 40 | #endif 41 | }; 42 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/hdimage/cdrom_misc.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | // Header file for low-level OS specific CDROM emulation 23 | 24 | class cdrom_misc_c : public cdrom_base_c { 25 | public: 26 | cdrom_misc_c(const char *dev) : cdrom_base_c(dev) {} 27 | bool start_cdrom(); 28 | void eject_cdrom(); 29 | bool read_toc(Bit8u* buf, int* length, bool msf, int start_track, int format); 30 | Bit32u capacity(); 31 | }; 32 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/hdimage/cdrom_osx.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | // Header file for low-level OS specific CDROM emulation 23 | 24 | class cdrom_osx_c : public cdrom_base_c { 25 | public: 26 | cdrom_osx_c(const char *dev) : cdrom_base_c(dev) {} 27 | bool insert_cdrom(const char *dev = NULL); 28 | bool read_toc(Bit8u* buf, int* length, bool msf, int start_track, int format); 29 | Bit32u capacity(); 30 | bool read_block(Bit8u* buf, Bit32u lba, int blocksize) BX_CPP_AttrRegparmN(3); 31 | }; 32 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/hdimage/cdrom_win32.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | // Header file for low-level OS specific CDROM emulation 23 | 24 | class cdrom_win32_c : public cdrom_base_c { 25 | public: 26 | cdrom_win32_c(const char *dev); 27 | virtual ~cdrom_win32_c(void); 28 | bool insert_cdrom(const char *dev = NULL); 29 | void eject_cdrom(); 30 | bool read_toc(Bit8u* buf, int* length, bool msf, int start_track, int format); 31 | Bit32u capacity(); 32 | bool read_block(Bit8u* buf, Bit32u lba, int blocksize) BX_CPP_AttrRegparmN(3); 33 | private: 34 | #ifdef WIN32 35 | HANDLE hFile; 36 | #endif 37 | }; 38 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/pnic_api.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Constants etc. for the Bochs/Etherboot pseudo-NIC 3 | * 4 | * This header file must be valid C and C++. 5 | * 6 | * Operation of the pseudo-NIC (PNIC) is pretty simple. To write a 7 | * command plus data, first write the length of the data to 8 | * PNIC_REG_LEN, then write the data a byte at a type to 9 | * PNIC_REG_DATA, then write the command code to PNIC_REG_CMD. The 10 | * status will be available from PNIC_REG_STAT. The length of any 11 | * data returned will be in PNIC_REG_LEN and can be read a byte at a 12 | * time from PNIC_REG_DATA. 13 | */ 14 | 15 | /* 16 | * PCI parameters 17 | */ 18 | #define PNIC_PCI_VENDOR 0xfefe /* Hopefully these won't clash with */ 19 | #define PNIC_PCI_DEVICE 0xefef /* any real PCI device IDs. */ 20 | 21 | /* 22 | * 'Hardware' register addresses, offset from io_base 23 | */ 24 | #define PNIC_REG_CMD 0x00 /* Command register, 2 bytes, write only */ 25 | #define PNIC_REG_STAT 0x00 /* Status register, 2 bytes, read only */ 26 | #define PNIC_REG_LEN 0x02 /* Length register, 2 bytes, read-write */ 27 | #define PNIC_REG_DATA 0x04 /* Data port, 1 byte, read-write */ 28 | /* 29 | * PNIC_MAX_REG used in Bochs to claim i/o space 30 | */ 31 | #define PNIC_MAX_REG 0x04 32 | 33 | /* 34 | * Command code definitions: write these into PNIC_REG_CMD 35 | */ 36 | #define PNIC_CMD_NOOP 0x0000 37 | #define PNIC_CMD_API_VER 0x0001 38 | #define PNIC_CMD_READ_MAC 0x0002 39 | #define PNIC_CMD_RESET 0x0003 40 | #define PNIC_CMD_XMIT 0x0004 41 | #define PNIC_CMD_RECV 0x0005 42 | #define PNIC_CMD_RECV_QLEN 0x0006 43 | #define PNIC_CMD_MASK_IRQ 0x0007 44 | #define PNIC_CMD_FORCE_IRQ 0x0008 45 | 46 | /* 47 | * Status code definitions: read these from PNIC_REG_STAT 48 | * 49 | * We avoid using status codes that might be confused with 50 | * randomly-read data (e.g. 0x0000, 0xffff etc.) 51 | */ 52 | #define PNIC_STATUS_OK 0x4f4b /* 'OK' */ 53 | #define PNIC_STATUS_UNKNOWN_CMD 0x3f3f /* '??' */ 54 | 55 | /* 56 | * Other miscellaneous information 57 | */ 58 | 59 | #define PNIC_API_VERSION 0x0101 /* 1.1 */ 60 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/debug.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | /* 5 | * Copyright (c) 1995 Danny Gasparovski. 6 | * 7 | * Please read the file COPYRIGHT for the 8 | * terms and conditions of the copyright. 9 | */ 10 | 11 | //#define DEBUG 1 12 | 13 | #ifdef DEBUG 14 | 15 | #define DBG_CALL 0x1 16 | #define DBG_MISC 0x2 17 | #define DBG_ERROR 0x4 18 | 19 | #define dfd stderr 20 | 21 | extern int slirp_debug; 22 | 23 | #define DEBUG_CALL(x) if (slirp_debug & DBG_CALL) { fprintf(dfd, "%s...\n", x); fflush(dfd); } 24 | #define DEBUG_ARG(x, y) if (slirp_debug & DBG_CALL) { fputc(' ', dfd); fprintf(dfd, x, y); fputc('\n', dfd); fflush(dfd); } 25 | #define DEBUG_ARGS(x) if (slirp_debug & DBG_CALL) { fprintf x ; fflush(dfd); } 26 | #define DEBUG_MISC(x) if (slirp_debug & DBG_MISC) { fprintf x ; fflush(dfd); } 27 | #define DEBUG_ERROR(x) if (slirp_debug & DBG_ERROR) {fprintf x ; fflush(dfd); } 28 | 29 | #else 30 | 31 | #define DEBUG_CALL(x) 32 | #define DEBUG_ARG(x, y) 33 | #define DEBUG_ARGS(x) 34 | #define DEBUG_MISC(x) 35 | #define DEBUG_ERROR(x) 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/if.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | /* 5 | * Copyright (c) 1995 Danny Gasparovski. 6 | * 7 | * Please read the file COPYRIGHT for the 8 | * terms and conditions of the copyright. 9 | */ 10 | 11 | #ifndef _IF_H_ 12 | #define _IF_H_ 13 | 14 | #define IF_COMPRESS 0x01 /* We want compression */ 15 | #define IF_NOCOMPRESS 0x02 /* Do not do compression */ 16 | #define IF_AUTOCOMP 0x04 /* Autodetect (default) */ 17 | #define IF_NOCIDCOMP 0x08 /* CID compression */ 18 | 19 | #define IF_MTU 1500 20 | #define IF_MRU 1500 21 | #define IF_COMP IF_AUTOCOMP /* Flags for compression */ 22 | 23 | /* 2 for alignment, 14 for ethernet, 40 for TCP/IP */ 24 | #define IF_MAXLINKHDR (2 + 14 + 40) 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/libslirp.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | #ifndef _LIBSLIRP_H 6 | #define _LIBSLIRP_H 7 | 8 | #include "compat.h" 9 | 10 | struct Slirp; 11 | typedef struct Slirp Slirp; 12 | 13 | int get_dns_addr(struct in_addr *pdns_addr); 14 | 15 | Slirp *slirp_init(int restricted, struct in_addr vnetwork, 16 | struct in_addr vnetmask, struct in_addr vhost, 17 | const char *vhostname, const char *tftp_path, 18 | const char *bootfile, struct in_addr vdhcp_start, 19 | struct in_addr vnameserver, const char **vdnssearch, 20 | void *opaque, void *logfn); 21 | void slirp_cleanup(Slirp *slirp); 22 | 23 | void slirp_select_fill(int *pnfds, fd_set *readfds, fd_set *writefds, 24 | fd_set *xfds, uint32_t *timeout); 25 | 26 | void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds, 27 | int select_error); 28 | 29 | void slirp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len); 30 | 31 | /* you must provide the following functions: */ 32 | int slirp_can_output(void *opaque); 33 | void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len); 34 | 35 | int slirp_add_hostfwd(Slirp *slirp, int is_udp, 36 | struct in_addr host_addr, int host_port, 37 | struct in_addr guest_addr, int guest_port); 38 | int slirp_remove_hostfwd(Slirp *slirp, int is_udp, 39 | struct in_addr host_addr, int host_port); 40 | int slirp_add_exec(Slirp *slirp, int do_pty, const void *args, 41 | struct in_addr *guest_addr, int guest_port); 42 | 43 | void slirp_socket_recv(Slirp *slirp, struct in_addr guest_addr, 44 | int guest_port, const uint8_t *buf, int size); 45 | size_t slirp_socket_can_recv(Slirp *slirp, struct in_addr guest_addr, 46 | int guest_port); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/main.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | /* 5 | * Copyright (c) 1995 Danny Gasparovski. 6 | * 7 | * Please read the file COPYRIGHT for the 8 | * terms and conditions of the copyright. 9 | */ 10 | #ifndef SLIRP_MAIN_H 11 | #define SLIRP_MAIN_H 1 12 | 13 | #ifdef HAVE_SYS_SELECT_H 14 | #include 15 | #endif 16 | 17 | #define TOWRITEMAX 512 18 | 19 | extern int slirp_socket; 20 | extern int slirp_socket_unit; 21 | extern int slirp_socket_port; 22 | extern uint32_t slirp_socket_addr; 23 | extern char *slirp_socket_passwd; 24 | extern int ctty_closed; 25 | 26 | /* 27 | * Get the difference in 2 times from updtim() 28 | * Allow for wraparound times, "just in case" 29 | * x is the greater of the 2 (current time) and y is 30 | * what it's being compared against. 31 | */ 32 | #define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y) 33 | 34 | extern char *slirp_tty; 35 | extern char *exec_shell; 36 | extern u_int curtime; 37 | extern fd_set *global_readfds, *global_writefds, *global_xfds; 38 | extern struct in_addr loopback_addr; 39 | extern unsigned long loopback_mask; 40 | extern char *username; 41 | extern char *socket_path; 42 | extern int towrite_max; 43 | extern int ppp_exit; 44 | extern int tcp_keepintvl; 45 | 46 | #define PROTO_SLIP 0x1 47 | #ifdef USE_PPP 48 | #define PROTO_PPP 0x2 49 | #endif 50 | 51 | int if_encap(Slirp *slirp, struct mbuf *ifm); 52 | ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags); 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/misc.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | /* 5 | * Copyright (c) 1995 Danny Gasparovski. 6 | * 7 | * Please read the file COPYRIGHT for the 8 | * terms and conditions of the copyright. 9 | */ 10 | 11 | #ifndef _MISC_H_ 12 | #define _MISC_H_ 13 | 14 | struct ex_list { 15 | int ex_pty; /* Do we want a pty? */ 16 | struct in_addr ex_addr; /* Server address */ 17 | int ex_fport; /* Port to telnet to */ 18 | const char *ex_exec; /* Command line of what to exec */ 19 | struct ex_list *ex_next; 20 | }; 21 | 22 | #ifndef HAVE_STRDUP 23 | char *strdup(const char *); 24 | #endif 25 | 26 | #define EMU_NONE 0x0 27 | 28 | /* TCP emulations */ 29 | #define EMU_CTL 0x1 30 | #define EMU_FTP 0x2 31 | #define EMU_KSH 0x3 32 | #define EMU_IRC 0x4 33 | #define EMU_REALAUDIO 0x5 34 | #define EMU_RLOGIN 0x6 35 | #define EMU_IDENT 0x7 36 | #define EMU_RSH 0x8 37 | 38 | #define EMU_NOCONNECT 0x10 /* Don't connect */ 39 | 40 | struct tos_t { 41 | uint16_t lport; 42 | uint16_t fport; 43 | uint8_t tos; 44 | uint8_t emu; 45 | }; 46 | 47 | struct emu_t { 48 | uint16_t lport; 49 | uint16_t fport; 50 | uint8_t tos; 51 | uint8_t emu; 52 | struct emu_t *next; 53 | }; 54 | 55 | void slirp_insque(void *, void *); 56 | void slirp_remque(void *); 57 | int add_exec(struct ex_list **, int, char *, struct in_addr, int); 58 | int fork_exec(struct socket *so, const char *ex, int do_pty); 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/sbuf.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | /* 5 | * Copyright (c) 1995 Danny Gasparovski. 6 | * 7 | * Please read the file COPYRIGHT for the 8 | * terms and conditions of the copyright. 9 | */ 10 | 11 | #ifndef _SBUF_H_ 12 | #define _SBUF_H_ 13 | 14 | #define sbflush(sb) sbdrop((sb),(sb)->sb_cc) 15 | #define sbspace(sb) ((sb)->sb_datalen - (sb)->sb_cc) 16 | 17 | struct sbuf { 18 | u_int sb_cc; /* actual chars in buffer */ 19 | u_int sb_datalen; /* Length of data */ 20 | char *sb_wptr; /* write pointer. points to where the next 21 | * bytes should be written in the sbuf */ 22 | char *sb_rptr; /* read pointer. points to where the next 23 | * byte should be read from the sbuf */ 24 | char *sb_data; /* Actual data */ 25 | }; 26 | 27 | void sbfree(struct sbuf *); 28 | void sbdrop(struct sbuf *, int); 29 | void sbreserve(struct sbuf *, int); 30 | void sbappend(struct socket *, struct mbuf *); 31 | void sbcopy(struct sbuf *, int, int, char *); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/network/slirp/tftp.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | 5 | /* tftp defines */ 6 | #ifndef SLIRP_TFTP_H 7 | #define SLIRP_TFTP_H 1 8 | 9 | #define TFTP_SESSIONS_MAX 3 10 | 11 | #define TFTP_SERVER 69 12 | 13 | #define TFTP_BUFFER_SIZE 1432 14 | 15 | struct tftp_t { 16 | struct ip ip; 17 | struct udphdr udp; 18 | uint16_t tp_op; 19 | union { 20 | struct { 21 | uint16_t tp_block_nr; 22 | uint8_t tp_buf[TFTP_BUFFER_SIZE]; 23 | } tp_data; 24 | struct { 25 | uint16_t tp_error_code; 26 | uint8_t tp_msg[TFTP_BUFFER_SIZE]; 27 | } tp_error; 28 | char tp_buf[TFTP_BUFFER_SIZE + 2]; 29 | } x; 30 | }; 31 | 32 | struct tftp_session { 33 | Slirp *slirp; 34 | char *filename; 35 | int fd; 36 | 37 | struct in_addr client_ip; 38 | uint16_t client_port; 39 | uint32_t block_nr; 40 | bool write; 41 | unsigned options; 42 | size_t tsize_val; 43 | unsigned blksize_val; 44 | unsigned timeout_val; 45 | 46 | int timestamp; 47 | }; 48 | 49 | void tftp_input(struct mbuf *m); 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/scancodes.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2009 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | #ifndef BX_SCANCODES_H 22 | #define BX_SCANCODES_H 23 | 24 | // Translation table of the 8042 25 | extern unsigned char translation8042[256]; 26 | 27 | typedef struct { 28 | const char *make; 29 | const char *brek; 30 | } scancode; 31 | 32 | // Scancodes table 33 | extern scancode scancodes[BX_KEY_NBKEYS][3]; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/slowdown_timer.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2002-2009 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | // 21 | 22 | #ifndef BX_IODEV_SLOWDOWN_TIMER_H 23 | #define BX_IODEV_SLOWDOWN_TIMER_H 24 | 25 | class bx_slowdown_timer_c : public logfunctions { 26 | private: 27 | struct { 28 | Bit64u start_time; 29 | Bit64u start_emulated_time; 30 | Bit64u lasttime; 31 | 32 | int timer_handle; 33 | 34 | float MAXmultiplier; 35 | Bit64u Q; // sleep rate in usec 36 | } s; 37 | 38 | public: 39 | bx_slowdown_timer_c(); 40 | 41 | void init(void); 42 | void exit(void); 43 | void after_restore_state(void); 44 | 45 | static void timer_handler(void * this_ptr); 46 | 47 | void handle_timer(); 48 | 49 | }; 50 | 51 | extern bx_slowdown_timer_c bx_slowdown_timer; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/sound/soundmod.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2011-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | // Sound driver loader code 22 | 23 | class bx_sound_lowlevel_c; 24 | class bx_soundlow_waveout_c; 25 | class bx_soundlow_wavein_c; 26 | class bx_soundlow_midiout_c; 27 | 28 | // Pseudo device that loads the lowlevel sound module 29 | class BOCHSAPI bx_soundmod_ctl_c : public logfunctions { 30 | public: 31 | bx_soundmod_ctl_c(); 32 | ~bx_soundmod_ctl_c() {} 33 | void init(void); 34 | void exit(void); 35 | const char **get_driver_names(); 36 | void list_modules(void); 37 | void open_output(void); 38 | bx_soundlow_waveout_c* get_waveout(bool using_file); 39 | bx_soundlow_wavein_c* get_wavein(); 40 | bx_soundlow_midiout_c* get_midiout(bool using_file); 41 | 42 | private: 43 | bx_sound_lowlevel_c* get_driver(const char *modname); 44 | }; 45 | 46 | BOCHSAPI extern bx_soundmod_ctl_c bx_soundmod_ctl; 47 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/unmapped.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2001-2021 The Bochs Project 6 | // 7 | // This library is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU Lesser General Public 9 | // License as published by the Free Software Foundation; either 10 | // version 2 of the License, or (at your option) any later version. 11 | // 12 | // This library is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // Lesser General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU Lesser General Public 18 | // License along with this library; if not, write to the Free Software 19 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | #ifndef BX_IODEV_UNMAPPED_H 22 | #define BX_IODEV_UNMAPPED_H 23 | 24 | #if BX_USE_UM_SMF 25 | # define BX_UM_SMF static 26 | # define BX_UM_THIS theUnmappedDevice-> 27 | #else 28 | # define BX_UM_SMF 29 | # define BX_UM_THIS this-> 30 | #endif 31 | 32 | class bx_unmapped_c : public bx_devmodel_c { 33 | public: 34 | bx_unmapped_c(); 35 | virtual ~bx_unmapped_c(); 36 | virtual void init(void); 37 | virtual void reset(unsigned type) {} 38 | 39 | private: 40 | 41 | static Bit32u read_handler(void *this_ptr, Bit32u address, unsigned io_len); 42 | static void write_handler(void *this_ptr, Bit32u address, Bit32u value, unsigned io_len); 43 | #if !BX_USE_UM_SMF 44 | Bit32u read(Bit32u address, unsigned io_len); 45 | void write(Bit32u address, Bit32u value, unsigned io_len); 46 | #endif 47 | static Bit64s param_handler(bx_param_c *param, bool set, Bit64s val); 48 | 49 | struct { 50 | Bit8u port80; 51 | Bit8u port8e; 52 | Bit8u shutdown; 53 | bool port_e9_hack; 54 | } s; // state information 55 | }; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /vendor/bochs/iodev/usb/usb_uhci.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | ///////////////////////////////////////////////////////////////////////// 4 | // 5 | // Copyright (C) 2009-2023 Benjamin D Lunt (fys [at] fysnet [dot] net) 6 | // 2009-2023 The Bochs Project 7 | // 8 | // This library is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU Lesser General Public 10 | // License as published by the Free Software Foundation; either 11 | // version 2 of the License, or (at your option) any later version. 12 | // 13 | // This library is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // Lesser General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU Lesser General Public 19 | // License along with this library; if not, write to the Free Software 20 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | #ifndef BX_IODEV_USB_UHCI_H 23 | #define BX_IODEV_USB_UHCI_H 24 | 25 | #if BX_USE_USB_UHCI_SMF 26 | # define BX_UHCI_THIS theUSB_UHCI-> 27 | # define BX_UHCI_THIS_PTR theUSB_UHCI 28 | #else 29 | # define BX_UHCI_THIS this-> 30 | # define BX_UHCI_THIS_PTR this 31 | #endif 32 | 33 | class bx_usb_uhci_c : public bx_uhci_core_c { 34 | public: 35 | bx_usb_uhci_c(); 36 | virtual ~bx_usb_uhci_c(); 37 | virtual void init(void); 38 | virtual void reset(unsigned); 39 | virtual void register_state(void); 40 | virtual void after_restore_state(void); 41 | 42 | private: 43 | Bit8u device_change; 44 | int rt_conf_id; 45 | 46 | void init_device(Bit8u port, bx_list_c *portconf); 47 | static void remove_device(Bit8u port); 48 | 49 | static void runtime_config_handler(void *); 50 | void runtime_config(void); 51 | 52 | static Bit64s usb_param_handler(bx_param_c *param, bool set, Bit64s val); 53 | static bool usb_param_enable_handler(bx_param_c *param, bool en); 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /vendor/bochs/misc/Makefile.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001-2013 The Bochs Project 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | @SUFFIX_LINE@ 19 | 20 | 21 | top_builddir = .. 22 | 23 | SHELL = @SHELL@ 24 | 25 | @SET_MAKE@ 26 | 27 | CC = @CC@ 28 | CXX = @CXX@ 29 | CFLAGS = @CFLAGS@ @GUI_CFLAGS@ 30 | CXXFLAGS = @CXXFLAGS@ @GUI_CXXFLAGS@ 31 | CPPFLAGS = @CPPFLAGS@ 32 | 33 | LDFLAGS = @LDFLAGS@ 34 | LIBS = @LIBS@ 35 | RANLIB = @RANLIB@ 36 | LIBTOOL=@LIBTOOL@ 37 | 38 | 39 | .@CPP_SUFFIX@.o: 40 | $(CXX) @DASH@c $(CPPFLAGS) $(CXXFLAGS) @CXXFP@$< @OFP@$@ 41 | 42 | 43 | all: make_cmos_image 44 | 45 | make_cmos_image@EXE@: make_cmos_image.o 46 | @LINK_CONSOLE@ make_cmos_image.o 47 | 48 | clean: 49 | @RMCOMMAND@ *.o 50 | @RMCOMMAND@ make_cmos_image@EXE@ 51 | 52 | dist-clean: clean 53 | @RMCOMMAND@ Makefile 54 | -------------------------------------------------------------------------------- /vendor/bochs/misc/sb16/sb16ctrl.example: -------------------------------------------------------------------------------- 1 | # 2 | # example for an sb16ctrl file 3 | # 4 | # comments start with hash character '#' (obviously...) 5 | # Numbers can be octal (0...) or hex (0x...) or decimal. 6 | # 7 | # 8 | # first, reset the translation table with command 'r' 9 | r 10 | 11 | # then load a few translations. 12 | # The format is: 13 | # t OldBankMSB OldBankLSB OldProgram NewBankMSB NewBankLSB NewProgram 14 | # 15 | # All values are in the range of 0-127 or 255. 16 | # For old values, 255 means "match any". 17 | # For new values, 255 means "don't change". 18 | # 19 | # When deciding whether a program change is to be remapped, these 20 | # remappings are checked first to last, and the first applicable remap 21 | # is used. 22 | 23 | # This would map all bank changes to bank 0/0 24 | # t 255 255 255 0 0 255 25 | # it's commented out, otherwise none of the below changes would 26 | # be checked, as this one matches anything. 27 | 28 | t 255 255 0 0 0 19 # remap piano to church organ 29 | t 255 255 255 0 0 0 # everything remaining -> piano 30 | 31 | # now show the number of translations that have been loaded 32 | i 3 33 | 34 | # and enable GS/GM mode 35 | m 0xF0,0x41,0x10,0x42,0x12,0x40,0x00,0x7F,0x00,0x41,0xF7 36 | 37 | -------------------------------------------------------------------------------- /vendor/bochs/misc/sb16/sb16ctrl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/misc/sb16/sb16ctrl.exe -------------------------------------------------------------------------------- /vendor/bochs/misc/slirp.conf: -------------------------------------------------------------------------------- 1 | # slirp config 2 | # The line above is mandatory 3 | 4 | # Supported options: 5 | # 6 | # RESTRICTED if set to 1, only built-in services are available 7 | # NET base IP address of the virtual network 8 | # MASK netmask of the virtual network 9 | # HOST IP address of the DHCP and TFTP server 10 | # HOSTNAME DHCP client hostname 11 | # DHCPSTART start address of DHCP pool 12 | # DNS IP address of the virtual DNS server 13 | # BOOTFILE boot filename returned by DHCP 14 | # DNSSEARCH comma-separated list of DNS suffixes to search (DHCP extension) 15 | # SMB_EXPORT absolute path to the shared folder (non-Windows SMB support) 16 | # SMB_SRV alternative IP address of the SMB server (default is 10.0.2.4) 17 | # HOSTFWD map guest port to host port for host-to-guest access 18 | # (format: protocol:hostaddr:hostport-guestaddr:guestport) 19 | 20 | # This is the default (classic slirp) setup 21 | # restricted = 0 22 | # net = 10.0.2.0 23 | # mask = 255.255.255.0 24 | # host = 10.0.2.2 25 | # dhcpstart = 10.0.2.15 26 | # dns = 10.0.2.3 27 | 28 | # This is the vnet setup 29 | # restricted = 1 30 | # net = 192.168.10.0 31 | # mask = 255.255.255.0 32 | # host = 192.168.10.1 33 | # dhcpstart = 192.168.10.15 34 | # dns = 192.168.10.2 35 | # bootfile = pxelinux.0 36 | 37 | # Host forwarding example (access guest SSH server from host port 12345) 38 | # hostfwd = tcp::12345-:22 39 | 40 | # Enable packet logging in text format (similar to vnet) 41 | # pktlog = slirp-pktlog.txt 42 | -------------------------------------------------------------------------------- /vendor/bochs/misc/vnet.conf: -------------------------------------------------------------------------------- 1 | # vnet config 2 | # The line above is mandatory 3 | 4 | # Supported options: 5 | # 6 | # NET base IP address of the virtual network 7 | # HOST IP address of the DHCP and TFTP server 8 | # HOSTNAME DHCP client hostname 9 | # DHCPSTART start address of DHCP pool 10 | # DNS IP address of the virtual DNS server 11 | # FTP IP address of the virtual FTP server 12 | # BOOTFILE boot filename returned by DHCP 13 | # PKTLOG enable packet logging in text format 14 | 15 | # This is the default vnet setup 16 | # net = 192.168.10.0 17 | # host = 192.168.10.1 18 | # dhcpstart = 192.168.10.15 19 | # dns = 192.168.10.2 20 | # ftp = 192.168.10.3 21 | # bootfile = pxelinux.0 22 | 23 | # Uncomment this to enable logging 24 | # pktlog = slirp-pktlog.txt 25 | -------------------------------------------------------------------------------- /vendor/bochs/msrs.def: -------------------------------------------------------------------------------- 1 | # 2 | # ---------------------------------- 3 | # Bochs CPU MSRs configuration 4 | # ---------------------------------- 5 | # 6 | # LEGEND: 7 | # ------ 8 | # 9 | # MSR ADDRESS - MSR address in hex (supplied in ECX register for RDMSR/WRMSR) 10 | # MSR TYPE - MSR type, see below 11 | # 12 | # The following fields have any meaning for MSRs with no type only: 13 | # 14 | # RESET_HI - reset value of the MSR (bits 63:32) 15 | # RESET_LO - reset value of the MSR (bits 31:00) 16 | # 17 | # NOTE: the value of the MSR doesn't change on INIT (software reset). 18 | # 19 | # RSRVD_HI - mask of reserved bits (bits 63:32) 20 | # RSRVD_LO - mask of reserved bits (bits 31:00) 21 | # 22 | # NOTE: #GP fault will be generated when trying to modify any of MSR 23 | # reserved bits. 24 | # 25 | # IGNRD_HI - mask of ignored bits (bits 63:32) 26 | # IGNRD_LO - mask of ignored bits (bits 31:00) 27 | # 28 | # NOTE: Ignored bits will keep their reset value, all writes to these 29 | # bits are ignored. 30 | # 31 | # MSR TYPES: 32 | # --------- 33 | # 34 | # 0 - No type. 35 | # 1 - MSR contains linear address, 36 | # #GP if writing non-canonical address in 64-bit mode. 37 | # 2 - MSR contains physical address, 38 | # #GP if writing a value which exceeds emulated physical address size. 39 | # 40 | 41 | 42 | # ADDRESS TYPE RESET_HI RESET_LO RSRVD_HI RSRVD_LO IGNRD_HI IGNRD_LO 43 | # --------------------------------------------------------------------------------- 44 | 0x02c 0 00000000 00000000 00000000 00000000 00000000 00000000 45 | -------------------------------------------------------------------------------- /vendor/bochs/patches/HEADER: -------------------------------------------------------------------------------- 1 | ---------------------------------------------------------------------- 2 | Patch name: 3 | Author: 4 | Date: 5 | Status: 6 | 7 | Detailed description: 8 | 9 | Patch was created with: 10 | diff -up VER1 VER2 11 | Apply patch to what version: 12 | svn revision [REVISION] 13 | Instructions: 14 | To patch, go to main bochs directory. 15 | Type "patch -p0 < THIS_PATCH_FILE". 16 | ---------------------------------------------------------------------- 17 | -------------------------------------------------------------------------------- /vendor/bochs/patches/NOTES: -------------------------------------------------------------------------------- 1 | This directory contains patches that are under consideration or being 2 | tested. 3 | 4 | The file HEADER is a nice template for the top of a patch. 5 | Use it if you want. 6 | -------------------------------------------------------------------------------- /vendor/bochs/patches/bochs-bios-win32.diff: -------------------------------------------------------------------------------- 1 | diff -Nurd bios-orig/rombios32.ld bios/rombios32.ld 2 | --- bios-orig/rombios32.ld Sat Jan 26 09:15:27 2008 3 | +++ bios/rombios32.ld Sat Mar 22 09:29:24 2008 4 | @@ -1,4 +1,3 @@ 5 | -OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") 6 | OUTPUT_ARCH(i386) 7 | ENTRY(_start); 8 | SECTIONS 9 | diff -Nurd bios-orig/rombios32start.S bios/rombios32start.S 10 | --- bios-orig/rombios32start.S Sat Jan 26 09:15:27 2008 11 | +++ bios/rombios32start.S Sat Mar 22 09:30:49 2008 12 | @@ -21,12 +21,12 @@ 13 | #include "rombios.h" 14 | 15 | .globl _start 16 | -.globl smp_ap_boot_code_start 17 | -.globl smp_ap_boot_code_end 18 | -.global smm_relocation_start 19 | -.global smm_relocation_end 20 | -.global smm_code_start 21 | -.global smm_code_end 22 | +.globl _smp_ap_boot_code_start 23 | +.globl _smp_ap_boot_code_end 24 | +.global _smm_relocation_start 25 | +.global _smm_relocation_end 26 | +.global _smm_code_start 27 | +.global _smm_code_end 28 | 29 | _start: 30 | /* clear bss section */ 31 | @@ -36,20 +36,20 @@ 32 | sub %edi, %ecx 33 | rep stosb 34 | 35 | - jmp rombios32_init 36 | + jmp _rombios32_init 37 | 38 | .code16 39 | -smp_ap_boot_code_start: 40 | +_smp_ap_boot_code_start: 41 | xor %ax, %ax 42 | mov %ax, %ds 43 | incw CPU_COUNT_ADDR 44 | 1: 45 | hlt 46 | jmp 1b 47 | -smp_ap_boot_code_end: 48 | +_smp_ap_boot_code_end: 49 | 50 | /* code to relocate SMBASE to 0xa0000 */ 51 | -smm_relocation_start: 52 | +_smm_relocation_start: 53 | mov $0x38000 + 0x7efc, %ebx 54 | addr32 mov (%ebx), %al /* revision ID to see if x86_64 or x86 */ 55 | cmp $0x64, %al 56 | @@ -66,10 +66,10 @@ 57 | movw $0xb3, %dx 58 | outb %al, %dx 59 | rsm 60 | -smm_relocation_end: 61 | +_smm_relocation_end: 62 | 63 | /* minimal SMM code to enable or disable ACPI */ 64 | -smm_code_start: 65 | +_smm_code_start: 66 | movw $0xb2, %dx 67 | inb %dx, %al 68 | cmp $0xf0, %al 69 | @@ -95,4 +95,4 @@ 70 | 71 | 2: 72 | rsm 73 | -smm_code_end: 74 | +_smm_code_end: 75 | -------------------------------------------------------------------------------- /vendor/bochs/patches/patch.decode-interrupts.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HexHive/HyperPill/35463922f9812ddce18b2b003b9b1d5d16372a89/vendor/bochs/patches/patch.decode-interrupts.gz -------------------------------------------------------------------------------- /vendor/bochs/wxbochs.rc: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | icon_bochs ICON build/win32/nsis/bochs.ico 3 | #include "wx/msw/wx.rc" 4 | #if BX_WITH_WIN32 5 | #include "win32res.rc" 6 | #else 7 | #if BX_DEBUGGER_GUI 8 | #include "win32_enh_dbg.rc" 9 | #endif 10 | #include "bxversion.rc" 11 | #endif 12 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerBuiltins.h: -------------------------------------------------------------------------------- 1 | //===- FuzzerBuiltins.h - Internal header for builtins ----------*- C++ -* ===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Wrapper functions and marcos around builtin functions. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #ifndef LLVM_FUZZER_BUILTINS_H 12 | #define LLVM_FUZZER_BUILTINS_H 13 | 14 | #include "FuzzerPlatform.h" 15 | 16 | #if !LIBFUZZER_MSVC 17 | #include 18 | 19 | #define GET_CALLER_PC() __builtin_return_address(0) 20 | 21 | namespace fuzzer { 22 | 23 | inline uint8_t Bswap(uint8_t x) { return x; } 24 | inline uint16_t Bswap(uint16_t x) { return __builtin_bswap16(x); } 25 | inline uint32_t Bswap(uint32_t x) { return __builtin_bswap32(x); } 26 | inline uint64_t Bswap(uint64_t x) { return __builtin_bswap64(x); } 27 | 28 | inline uint32_t Clzll(unsigned long long X) { return __builtin_clzll(X); } 29 | inline int Popcountll(unsigned long long X) { return __builtin_popcountll(X); } 30 | 31 | } // namespace fuzzer 32 | 33 | #endif // !LIBFUZZER_MSVC 34 | #endif // LLVM_FUZZER_BUILTINS_H 35 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerDefs.h: -------------------------------------------------------------------------------- 1 | //===- FuzzerDefs.h - Internal header for the Fuzzer ------------*- C++ -* ===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Basic definitions. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #ifndef LLVM_FUZZER_DEFS_H 12 | #define LLVM_FUZZER_DEFS_H 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | namespace fuzzer { 25 | 26 | template T Min(T a, T b) { return a < b ? a : b; } 27 | template T Max(T a, T b) { return a > b ? a : b; } 28 | 29 | class Random; 30 | class Dictionary; 31 | class DictionaryEntry; 32 | class MutationDispatcher; 33 | struct FuzzingOptions; 34 | class InputCorpus; 35 | struct InputInfo; 36 | struct ExternalFunctions; 37 | 38 | // Global interface to functions that may or may not be available. 39 | extern ExternalFunctions *EF; 40 | 41 | typedef std::vector Unit; 42 | typedef std::vector UnitVector; 43 | typedef int (*UserCallback)(const uint8_t *Data, size_t Size); 44 | 45 | int FuzzerDriver(int *argc, char ***argv, UserCallback Callback); 46 | 47 | uint8_t *ExtraCountersBegin(); 48 | uint8_t *ExtraCountersEnd(); 49 | void ClearExtraCounters(); 50 | 51 | extern bool RunningUserCallback; 52 | 53 | } // namespace fuzzer 54 | 55 | #endif // LLVM_FUZZER_DEFS_H 56 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerExtFunctions.h: -------------------------------------------------------------------------------- 1 | //===- FuzzerExtFunctions.h - Interface to external functions ---*- C++ -* ===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Defines an interface to (possibly optional) functions. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #ifndef LLVM_FUZZER_EXT_FUNCTIONS_H 12 | #define LLVM_FUZZER_EXT_FUNCTIONS_H 13 | 14 | #include 15 | #include 16 | 17 | namespace fuzzer { 18 | 19 | struct ExternalFunctions { 20 | // Initialize function pointers. Functions that are not available will be set 21 | // to nullptr. Do not call this constructor before ``main()`` has been 22 | // entered. 23 | ExternalFunctions(); 24 | 25 | #define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \ 26 | RETURN_TYPE(*NAME) FUNC_SIG = nullptr 27 | 28 | #include "FuzzerExtFunctions.def" 29 | 30 | #undef EXT_FUNC 31 | }; 32 | } // namespace fuzzer 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerExtFunctionsDlsym.cpp: -------------------------------------------------------------------------------- 1 | //===- FuzzerExtFunctionsDlsym.cpp - Interface to external functions ------===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Implementation for operating systems that support dlsym(). We only use it on 9 | // Apple platforms for now. We don't use this approach on Linux because it 10 | // requires that clients of LibFuzzer pass ``--export-dynamic`` to the linker. 11 | // That is a complication we don't wish to expose to clients right now. 12 | //===----------------------------------------------------------------------===// 13 | #include "FuzzerPlatform.h" 14 | #if LIBFUZZER_APPLE 15 | 16 | #include "FuzzerExtFunctions.h" 17 | #include "FuzzerIO.h" 18 | #include 19 | 20 | using namespace fuzzer; 21 | 22 | template 23 | static T GetFnPtr(const char *FnName, bool WarnIfMissing) { 24 | dlerror(); // Clear any previous errors. 25 | void *Fn = dlsym(RTLD_DEFAULT, FnName); 26 | if (Fn == nullptr) { 27 | if (WarnIfMissing) { 28 | const char *ErrorMsg = dlerror(); 29 | Printf("WARNING: Failed to find function \"%s\".", FnName); 30 | if (ErrorMsg) 31 | Printf(" Reason %s.", ErrorMsg); 32 | Printf("\n"); 33 | } 34 | } 35 | return reinterpret_cast(Fn); 36 | } 37 | 38 | namespace fuzzer { 39 | 40 | ExternalFunctions::ExternalFunctions() { 41 | #define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \ 42 | this->NAME = GetFnPtr(#NAME, WARN) 43 | 44 | #include "FuzzerExtFunctions.def" 45 | 46 | #undef EXT_FUNC 47 | } 48 | 49 | } // namespace fuzzer 50 | 51 | #endif // LIBFUZZER_APPLE 52 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerExtraCounters.cpp: -------------------------------------------------------------------------------- 1 | //===- FuzzerExtraCounters.cpp - Extra coverage counters ------------------===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Extra coverage counters defined by user code. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #include "FuzzerPlatform.h" 12 | #include 13 | 14 | #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ 15 | LIBFUZZER_FUCHSIA || LIBFUZZER_EMSCRIPTEN 16 | __attribute__((weak)) extern uint8_t __start___libfuzzer_extra_counters; 17 | __attribute__((weak)) extern uint8_t __stop___libfuzzer_extra_counters; 18 | 19 | namespace fuzzer { 20 | uint8_t *ExtraCountersBegin() { return &__start___libfuzzer_extra_counters; } 21 | uint8_t *ExtraCountersEnd() { return &__stop___libfuzzer_extra_counters; } 22 | ATTRIBUTE_NO_SANITIZE_ALL 23 | void ClearExtraCounters() { // hand-written memset, don't asan-ify. 24 | uintptr_t *Beg = reinterpret_cast(ExtraCountersBegin()); 25 | uintptr_t *End = reinterpret_cast(ExtraCountersEnd()); 26 | for (; Beg < End; Beg++) { 27 | *Beg = 0; 28 | __asm__ __volatile__("" : : : "memory"); 29 | } 30 | } 31 | 32 | } // namespace fuzzer 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerExtraCountersDarwin.cpp: -------------------------------------------------------------------------------- 1 | //===- FuzzerExtraCountersDarwin.cpp - Extra coverage counters for Darwin -===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Extra coverage counters defined by user code for Darwin. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #include "FuzzerPlatform.h" 12 | #include 13 | 14 | #if LIBFUZZER_APPLE 15 | 16 | namespace fuzzer { 17 | uint8_t *ExtraCountersBegin() { return nullptr; } 18 | uint8_t *ExtraCountersEnd() { return nullptr; } 19 | void ClearExtraCounters() {} 20 | } // namespace fuzzer 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerFork.h: -------------------------------------------------------------------------------- 1 | //===- FuzzerFork.h - run fuzzing in sub-processes --------------*- C++ -* ===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | 9 | #ifndef LLVM_FUZZER_FORK_H 10 | #define LLVM_FUZZER_FORK_H 11 | 12 | #include "FuzzerDefs.h" 13 | #include "FuzzerOptions.h" 14 | #include "FuzzerRandom.h" 15 | 16 | #include 17 | 18 | namespace fuzzer { 19 | void FuzzWithFork(Random &Rand, const FuzzingOptions &Options, 20 | const std::vector &Args, 21 | const std::vector &CorpusDirs, int NumJobs); 22 | } // namespace fuzzer 23 | 24 | #endif // LLVM_FUZZER_FORK_H 25 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerMain.cpp: -------------------------------------------------------------------------------- 1 | //===- FuzzerMain.cpp - main() function and flags -------------------------===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // main() and flags. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #include "FuzzerDefs.h" 12 | #include "FuzzerPlatform.h" 13 | 14 | extern "C" { 15 | // This function should be defined by the user. 16 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); 17 | } // extern "C" 18 | 19 | ATTRIBUTE_INTERFACE int main(int argc, char **argv) { 20 | return fuzzer::FuzzerDriver(&argc, &argv, LLVMFuzzerTestOneInput); 21 | } 22 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerSHA1.h: -------------------------------------------------------------------------------- 1 | //===- FuzzerSHA1.h - Internal header for the SHA1 utils --------*- C++ -* ===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // SHA1 utils. 9 | //===----------------------------------------------------------------------===// 10 | 11 | #ifndef LLVM_FUZZER_SHA1_H 12 | #define LLVM_FUZZER_SHA1_H 13 | 14 | #include "FuzzerDefs.h" 15 | #include 16 | #include 17 | 18 | namespace fuzzer { 19 | 20 | // Private copy of SHA1 implementation. 21 | static const int kSHA1NumBytes = 20; 22 | 23 | // Computes SHA1 hash of 'Len' bytes in 'Data', writes kSHA1NumBytes to 'Out'. 24 | void ComputeSHA1(const uint8_t *Data, size_t Len, uint8_t *Out); 25 | 26 | std::string Sha1ToString(const uint8_t Sha1[kSHA1NumBytes]); 27 | 28 | std::string Hash(const Unit &U); 29 | 30 | } // namespace fuzzer 31 | 32 | #endif // LLVM_FUZZER_SHA1_H 33 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/FuzzerUtilLinux.cpp: -------------------------------------------------------------------------------- 1 | //===- FuzzerUtilLinux.cpp - Misc utils for Linux. ------------------------===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Misc utils for Linux. 9 | //===----------------------------------------------------------------------===// 10 | #include "FuzzerPlatform.h" 11 | #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ 12 | LIBFUZZER_EMSCRIPTEN 13 | #include "FuzzerCommand.h" 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | 21 | namespace fuzzer { 22 | 23 | int ExecuteCommand(const Command &Cmd) { 24 | std::string CmdLine = Cmd.toString(); 25 | int exit_code = system(CmdLine.c_str()); 26 | if (WIFEXITED(exit_code)) 27 | return WEXITSTATUS(exit_code); 28 | return exit_code; 29 | } 30 | 31 | void DiscardOutput(int Fd) { 32 | FILE* Temp = fopen("/dev/null", "w"); 33 | if (!Temp) 34 | return; 35 | dup2(fileno(Temp), Fd); 36 | fclose(Temp); 37 | } 38 | 39 | } // namespace fuzzer 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/README.txt: -------------------------------------------------------------------------------- 1 | See http://llvm.org/docs/LibFuzzer.html 2 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | LIBFUZZER_SRC_DIR=$(dirname $0) 3 | CXX="${CXX:-clang}" 4 | for f in $LIBFUZZER_SRC_DIR/*.cpp; do 5 | $CXX -g -O2 -fno-omit-frame-pointer -std=c++11 -fPIE $f -c & 6 | done 7 | wait 8 | rm -f libFuzzer.a 9 | ar ru libFuzzer.a Fuzzer*.o 10 | rm -f Fuzzer*.o 11 | 12 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/dataflow/DataFlow.h: -------------------------------------------------------------------------------- 1 | /*===- DataFlow.h - a standalone DataFlow trace -------===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // Internal header file to connect DataFlow.cpp and DataFlowCallbacks.cpp. 9 | //===----------------------------------------------------------------------===*/ 10 | 11 | #ifndef __LIBFUZZER_DATAFLOW_H 12 | #define __LIBFUZZER_DATAFLOW_H 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | // This data is shared between DataFlowCallbacks.cpp and DataFlow.cpp. 19 | struct CallbackData { 20 | size_t NumFuncs, NumGuards; 21 | const uintptr_t *PCsBeg, *PCsEnd; 22 | dfsan_label *FuncLabels; // Array of NumFuncs elements. 23 | bool *BBExecuted; // Array of NumGuards elements. 24 | }; 25 | 26 | extern CallbackData __dft; 27 | 28 | enum { 29 | PCFLAG_FUNC_ENTRY = 1, 30 | }; 31 | 32 | #endif // __LIBFUZZER_DATAFLOW_H 33 | -------------------------------------------------------------------------------- /vendor/libfuzzer-ng/standalone/StandaloneFuzzTargetMain.c: -------------------------------------------------------------------------------- 1 | /*===- StandaloneFuzzTargetMain.c - standalone main() for fuzz targets. ---===// 2 | // 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 | // See https://llvm.org/LICENSE.txt for license information. 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 | // 7 | //===----------------------------------------------------------------------===// 8 | // This main() function can be linked to a fuzz target (i.e. a library 9 | // that exports LLVMFuzzerTestOneInput() and possibly LLVMFuzzerInitialize()) 10 | // instead of libFuzzer. This main() function will not perform any fuzzing 11 | // but will simply feed all input files one by one to the fuzz target. 12 | // 13 | // Use this file to provide reproducers for bugs when linking against libFuzzer 14 | // or other fuzzing engine is undesirable. 15 | //===----------------------------------------------------------------------===*/ 16 | #include 17 | #include 18 | #include 19 | 20 | extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size); 21 | __attribute__((weak)) extern int LLVMFuzzerInitialize(int *argc, char ***argv); 22 | int main(int argc, char **argv) { 23 | fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1); 24 | if (LLVMFuzzerInitialize) 25 | LLVMFuzzerInitialize(&argc, &argv); 26 | for (int i = 1; i < argc; i++) { 27 | fprintf(stderr, "Running: %s\n", argv[i]); 28 | FILE *f = fopen(argv[i], "r"); 29 | assert(f); 30 | fseek(f, 0, SEEK_END); 31 | size_t len = ftell(f); 32 | fseek(f, 0, SEEK_SET); 33 | unsigned char *buf = (unsigned char*)malloc(len); 34 | size_t n_read = fread(buf, 1, len, f); 35 | fclose(f); 36 | assert(n_read == len); 37 | LLVMFuzzerTestOneInput(buf, len); 38 | free(buf); 39 | fprintf(stderr, "Done: %s: (%zd bytes)\n", argv[i], n_read); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/robin-map/.codecov.yml: -------------------------------------------------------------------------------- 1 | comment: off 2 | coverage: 3 | status: 4 | project: off 5 | patch: off 6 | -------------------------------------------------------------------------------- /vendor/robin-map/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Thibaut Goetghebuer-Planchon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/robin-map/cmake/tsl-robin-mapConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # This module sets the following variables: 2 | # * tsl-robin-map_FOUND - true if tsl-robin-map found on the system 3 | # * tsl-robin-map_INCLUDE_DIRS - the directory containing tsl-robin-map headers 4 | @PACKAGE_INIT@ 5 | 6 | if(NOT TARGET tsl::robin_map) 7 | include("${CMAKE_CURRENT_LIST_DIR}/tsl-robin-mapTargets.cmake") 8 | get_target_property(tsl-robin-map_INCLUDE_DIRS tsl::robin_map INTERFACE_INCLUDE_DIRECTORIES) 9 | endif() 10 | -------------------------------------------------------------------------------- /vendor/robin-map/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.8) 2 | 3 | project(tsl_robin_map_tests) 4 | 5 | add_executable(tsl_robin_map_tests "main.cpp" 6 | "custom_allocator_tests.cpp" 7 | "policy_tests.cpp" 8 | "robin_map_tests.cpp" 9 | "robin_set_tests.cpp") 10 | 11 | target_compile_features(tsl_robin_map_tests PRIVATE cxx_std_11) 12 | 13 | if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") 14 | target_compile_options(tsl_robin_map_tests PRIVATE -Werror -Wall -Wextra -Wold-style-cast -DTSL_DEBUG -UNDEBUG) 15 | elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") 16 | target_compile_options(tsl_robin_map_tests PRIVATE /bigobj /WX /W3 /DTSL_DEBUG /UNDEBUG) 17 | endif() 18 | 19 | # Boost::unit_test_framework 20 | set(Boost_USE_STATIC_LIBS ON) 21 | find_package(Boost 1.54.0 REQUIRED COMPONENTS unit_test_framework) 22 | target_link_libraries(tsl_robin_map_tests PRIVATE Boost::unit_test_framework) 23 | 24 | # tsl::robin_map 25 | add_subdirectory(../ ${CMAKE_CURRENT_BINARY_DIR}/tsl) 26 | target_link_libraries(tsl_robin_map_tests PRIVATE tsl::robin_map) 27 | -------------------------------------------------------------------------------- /vendor/robin-map/tests/main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * MIT License 3 | * 4 | * Copyright (c) 2017 Thibaut Goetghebuer-Planchon 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #define BOOST_TEST_MODULE robin_map_tests 25 | 26 | #include --------------------------------------------------------------------------------