v86 0.3.7 → 0.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Readme.md +64 -108
- package/build/libv86-debug.js +12677 -0
- package/build/libv86-debug.mjs +732 -0
- package/build/libv86.js +710 -0
- package/build/libv86.mjs +636 -0
- package/build/v86-debug.wasm +0 -0
- package/build/v86-fallback.wasm +0 -0
- package/build/v86.wasm +0 -0
- package/package.json +12 -35
- package/bios/.gitignore +0 -1
- package/bios/COPYING.LESSER +0 -165
- package/bios/bochs-bios.bin +0 -0
- package/bios/bochs-vgabios.bin +0 -0
- package/bios/fetch-and-build-seabios.sh +0 -13
- package/bios/seabios/.config +0 -113
- package/bios/seabios/.config.old +0 -114
- package/bios/seabios/.gitignore +0 -4
- package/bios/seabios/COPYING +0 -674
- package/bios/seabios/COPYING.LESSER +0 -165
- package/bios/seabios/Makefile +0 -286
- package/bios/seabios/README +0 -17
- package/bios/seabios/docs/Build_overview.md +0 -104
- package/bios/seabios/docs/Contributing.md +0 -20
- package/bios/seabios/docs/Debugging.md +0 -111
- package/bios/seabios/docs/Developer_Documentation.md +0 -25
- package/bios/seabios/docs/Developer_links.md +0 -86
- package/bios/seabios/docs/Download.md +0 -27
- package/bios/seabios/docs/Execution_and_code_flow.md +0 -178
- package/bios/seabios/docs/Linking_overview.md +0 -160
- package/bios/seabios/docs/Mailinglist.md +0 -8
- package/bios/seabios/docs/Memory_Model.md +0 -253
- package/bios/seabios/docs/README +0 -5
- package/bios/seabios/docs/Releases.md +0 -482
- package/bios/seabios/docs/Runtime_config.md +0 -193
- package/bios/seabios/docs/SeaBIOS.md +0 -17
- package/bios/seabios/docs/SeaVGABIOS.md +0 -39
- package/bios/seabios/out/autoconf.h +0 -117
- package/bios/seabios/out/include/config/acpi/dsdt.h +0 -0
- package/bios/seabios/out/include/config/acpi.h +0 -0
- package/bios/seabios/out/include/config/ahci.h +0 -0
- package/bios/seabios/out/include/config/apmbios.h +0 -0
- package/bios/seabios/out/include/config/ata/dma.h +0 -0
- package/bios/seabios/out/include/config/ata/pio32.h +0 -0
- package/bios/seabios/out/include/config/ata.h +0 -0
- package/bios/seabios/out/include/config/auto.conf +0 -69
- package/bios/seabios/out/include/config/auto.conf.cmd +0 -9
- package/bios/seabios/out/include/config/boot.h +0 -0
- package/bios/seabios/out/include/config/bootorder.h +0 -0
- package/bios/seabios/out/include/config/build/vgabios.h +0 -0
- package/bios/seabios/out/include/config/call32/smm.h +0 -0
- package/bios/seabios/out/include/config/cdrom/boot.h +0 -0
- package/bios/seabios/out/include/config/cdrom/emu.h +0 -0
- package/bios/seabios/out/include/config/debug/level.h +0 -0
- package/bios/seabios/out/include/config/drives.h +0 -0
- package/bios/seabios/out/include/config/entry/extrastack.h +0 -0
- package/bios/seabios/out/include/config/esp/scsi.h +0 -0
- package/bios/seabios/out/include/config/flash/floppy.h +0 -0
- package/bios/seabios/out/include/config/floppy.h +0 -0
- package/bios/seabios/out/include/config/fw/romfile/load.h +0 -0
- package/bios/seabios/out/include/config/hardware/irq.h +0 -0
- package/bios/seabios/out/include/config/kbd/call/int15/4f.h +0 -0
- package/bios/seabios/out/include/config/keyboard.h +0 -0
- package/bios/seabios/out/include/config/lpt.h +0 -0
- package/bios/seabios/out/include/config/lsi/scsi.h +0 -0
- package/bios/seabios/out/include/config/malloc/uppermemory.h +0 -0
- package/bios/seabios/out/include/config/megasas.h +0 -0
- package/bios/seabios/out/include/config/mouse.h +0 -0
- package/bios/seabios/out/include/config/mpt/scsi.h +0 -0
- package/bios/seabios/out/include/config/mptable.h +0 -0
- package/bios/seabios/out/include/config/mtrr/init.h +0 -0
- package/bios/seabios/out/include/config/optionroms.h +0 -0
- package/bios/seabios/out/include/config/override/pci/id.h +0 -0
- package/bios/seabios/out/include/config/pcibios.h +0 -0
- package/bios/seabios/out/include/config/pirtable.h +0 -0
- package/bios/seabios/out/include/config/pmm.h +0 -0
- package/bios/seabios/out/include/config/pmtimer.h +0 -0
- package/bios/seabios/out/include/config/pnpbios.h +0 -0
- package/bios/seabios/out/include/config/ps2port.h +0 -0
- package/bios/seabios/out/include/config/pvscsi.h +0 -0
- package/bios/seabios/out/include/config/qemu/hardware.h +0 -0
- package/bios/seabios/out/include/config/qemu.h +0 -0
- package/bios/seabios/out/include/config/rom/size.h +0 -0
- package/bios/seabios/out/include/config/rtc/timer.h +0 -0
- package/bios/seabios/out/include/config/s3/resume.h +0 -0
- package/bios/seabios/out/include/config/sdcard.h +0 -0
- package/bios/seabios/out/include/config/serial.h +0 -0
- package/bios/seabios/out/include/config/tcgbios.h +0 -0
- package/bios/seabios/out/include/config/threads.h +0 -0
- package/bios/seabios/out/include/config/tristate.conf +0 -4
- package/bios/seabios/out/include/config/tsc/timer.h +0 -0
- package/bios/seabios/out/include/config/use/smm.h +0 -0
- package/bios/seabios/out/include/config/vga/allocate/extra/stack.h +0 -0
- package/bios/seabios/out/include/config/vga/bochs/stdvga.h +0 -0
- package/bios/seabios/out/include/config/vga/bochs.h +0 -0
- package/bios/seabios/out/include/config/vga/did.h +0 -0
- package/bios/seabios/out/include/config/vga/extra/stack/size.h +0 -0
- package/bios/seabios/out/include/config/vga/fixup/asm.h +0 -0
- package/bios/seabios/out/include/config/vga/pci.h +0 -0
- package/bios/seabios/out/include/config/vga/stdvga/ports.h +0 -0
- package/bios/seabios/out/include/config/vga/vbe.h +0 -0
- package/bios/seabios/out/include/config/vga/vid.h +0 -0
- package/bios/seabios/out/include/config/vgahooks.h +0 -0
- package/bios/seabios/out/include/config/virtio/blk.h +0 -0
- package/bios/seabios/out/include/config/virtio/scsi.h +0 -0
- package/bios/seabios/out/include/config/xen.h +0 -0
- package/bios/seabios/out/scripts/kconfig/conf +0 -0
- package/bios/seabios/out/scripts/kconfig/conf.o +0 -0
- package/bios/seabios/out/scripts/kconfig/zconf.hash.c +0 -289
- package/bios/seabios/out/scripts/kconfig/zconf.lex.c +0 -2420
- package/bios/seabios/out/scripts/kconfig/zconf.tab.c +0 -2538
- package/bios/seabios/out/scripts/kconfig/zconf.tab.o +0 -0
- package/bios/seabios/scripts/acpi_extract.py +0 -366
- package/bios/seabios/scripts/acpi_extract_preprocess.py +0 -41
- package/bios/seabios/scripts/buildrom.py +0 -56
- package/bios/seabios/scripts/buildversion.py +0 -134
- package/bios/seabios/scripts/checkrom.py +0 -95
- package/bios/seabios/scripts/checkstack.py +0 -226
- package/bios/seabios/scripts/checksum.py +0 -16
- package/bios/seabios/scripts/encodeint.py +0 -21
- package/bios/seabios/scripts/gen-offsets.sh +0 -17
- package/bios/seabios/scripts/kconfig/.gitignore +0 -22
- package/bios/seabios/scripts/kconfig/Makefile +0 -331
- package/bios/seabios/scripts/kconfig/POTFILES.in +0 -12
- package/bios/seabios/scripts/kconfig/check.sh +0 -13
- package/bios/seabios/scripts/kconfig/conf.c +0 -718
- package/bios/seabios/scripts/kconfig/confdata.c +0 -1250
- package/bios/seabios/scripts/kconfig/expr.c +0 -1168
- package/bios/seabios/scripts/kconfig/expr.h +0 -241
- package/bios/seabios/scripts/kconfig/gconf.c +0 -1542
- package/bios/seabios/scripts/kconfig/gconf.glade +0 -661
- package/bios/seabios/scripts/kconfig/images.c +0 -326
- package/bios/seabios/scripts/kconfig/kxgettext.c +0 -235
- package/bios/seabios/scripts/kconfig/lex.zconf.c +0 -2430
- package/bios/seabios/scripts/kconfig/list.h +0 -131
- package/bios/seabios/scripts/kconfig/lkc.h +0 -200
- package/bios/seabios/scripts/kconfig/lkc_proto.h +0 -57
- package/bios/seabios/scripts/kconfig/lxdialog/.gitignore +0 -4
- package/bios/seabios/scripts/kconfig/lxdialog/BIG.FAT.WARNING +0 -4
- package/bios/seabios/scripts/kconfig/lxdialog/check-lxdialog.sh +0 -87
- package/bios/seabios/scripts/kconfig/lxdialog/checklist.c +0 -332
- package/bios/seabios/scripts/kconfig/lxdialog/dialog.h +0 -257
- package/bios/seabios/scripts/kconfig/lxdialog/inputbox.c +0 -301
- package/bios/seabios/scripts/kconfig/lxdialog/menubox.c +0 -437
- package/bios/seabios/scripts/kconfig/lxdialog/textbox.c +0 -408
- package/bios/seabios/scripts/kconfig/lxdialog/util.c +0 -713
- package/bios/seabios/scripts/kconfig/lxdialog/yesno.c +0 -114
- package/bios/seabios/scripts/kconfig/mconf.c +0 -1036
- package/bios/seabios/scripts/kconfig/menu.c +0 -697
- package/bios/seabios/scripts/kconfig/merge_config.sh +0 -150
- package/bios/seabios/scripts/kconfig/nconf.c +0 -1556
- package/bios/seabios/scripts/kconfig/nconf.gui.c +0 -656
- package/bios/seabios/scripts/kconfig/nconf.h +0 -96
- package/bios/seabios/scripts/kconfig/qconf.cc +0 -1795
- package/bios/seabios/scripts/kconfig/qconf.h +0 -338
- package/bios/seabios/scripts/kconfig/streamline_config.pl +0 -647
- package/bios/seabios/scripts/kconfig/symbol.c +0 -1373
- package/bios/seabios/scripts/kconfig/util.c +0 -157
- package/bios/seabios/scripts/kconfig/zconf.gperf +0 -48
- package/bios/seabios/scripts/kconfig/zconf.hash.c_shipped +0 -289
- package/bios/seabios/scripts/kconfig/zconf.l +0 -363
- package/bios/seabios/scripts/kconfig/zconf.lex.c_shipped +0 -2420
- package/bios/seabios/scripts/kconfig/zconf.tab.c_shipped +0 -2538
- package/bios/seabios/scripts/kconfig/zconf.y +0 -733
- package/bios/seabios/scripts/layoutrom.py +0 -705
- package/bios/seabios/scripts/python23compat.py +0 -14
- package/bios/seabios/scripts/readserial.py +0 -190
- package/bios/seabios/scripts/tarball.sh +0 -36
- package/bios/seabios/scripts/test-build.sh +0 -90
- package/bios/seabios/scripts/transdump.py +0 -53
- package/bios/seabios/scripts/vgafixup.py +0 -96
- package/bios/seabios/src/Kconfig +0 -579
- package/bios/seabios/src/apm.c +0 -215
- package/bios/seabios/src/asm-offsets.c +0 -23
- package/bios/seabios/src/biosvar.h +0 -130
- package/bios/seabios/src/block.c +0 -623
- package/bios/seabios/src/block.h +0 -121
- package/bios/seabios/src/bmp.c +0 -117
- package/bios/seabios/src/boot.c +0 -793
- package/bios/seabios/src/bootsplash.c +0 -255
- package/bios/seabios/src/bregs.h +0 -80
- package/bios/seabios/src/byteorder.h +0 -71
- package/bios/seabios/src/cdrom.c +0 -322
- package/bios/seabios/src/clock.c +0 -506
- package/bios/seabios/src/code16gcc.s +0 -1
- package/bios/seabios/src/config.h +0 -108
- package/bios/seabios/src/cp437.c +0 -275
- package/bios/seabios/src/cp437.h +0 -1
- package/bios/seabios/src/disk.c +0 -779
- package/bios/seabios/src/e820map.c +0 -152
- package/bios/seabios/src/e820map.h +0 -26
- package/bios/seabios/src/entryfuncs.S +0 -165
- package/bios/seabios/src/farptr.h +0 -208
- package/bios/seabios/src/font.c +0 -139
- package/bios/seabios/src/fw/acpi-dsdt-cpu-hotplug.dsl +0 -78
- package/bios/seabios/src/fw/acpi-dsdt-dbug.dsl +0 -26
- package/bios/seabios/src/fw/acpi-dsdt-hpet.dsl +0 -36
- package/bios/seabios/src/fw/acpi-dsdt-isa.dsl +0 -102
- package/bios/seabios/src/fw/acpi-dsdt-pci-crs.dsl +0 -90
- package/bios/seabios/src/fw/acpi-dsdt.dsl +0 -342
- package/bios/seabios/src/fw/acpi-dsdt.hex +0 -554
- package/bios/seabios/src/fw/acpi.c +0 -685
- package/bios/seabios/src/fw/biostables.c +0 -491
- package/bios/seabios/src/fw/coreboot.c +0 -569
- package/bios/seabios/src/fw/csm.c +0 -347
- package/bios/seabios/src/fw/dev-pci.h +0 -52
- package/bios/seabios/src/fw/dev-piix.h +0 -29
- package/bios/seabios/src/fw/dev-q35.h +0 -52
- package/bios/seabios/src/fw/lzmadecode.c +0 -398
- package/bios/seabios/src/fw/lzmadecode.h +0 -67
- package/bios/seabios/src/fw/mptable.c +0 -197
- package/bios/seabios/src/fw/mtrr.c +0 -105
- package/bios/seabios/src/fw/multiboot.c +0 -111
- package/bios/seabios/src/fw/paravirt.c +0 -624
- package/bios/seabios/src/fw/paravirt.h +0 -63
- package/bios/seabios/src/fw/pciinit.c +0 -1187
- package/bios/seabios/src/fw/pirtable.c +0 -103
- package/bios/seabios/src/fw/q35-acpi-dsdt.dsl +0 -450
- package/bios/seabios/src/fw/romfile_loader.c +0 -259
- package/bios/seabios/src/fw/romfile_loader.h +0 -91
- package/bios/seabios/src/fw/shadow.c +0 -208
- package/bios/seabios/src/fw/smbios.c +0 -585
- package/bios/seabios/src/fw/smm.c +0 -269
- package/bios/seabios/src/fw/smp.c +0 -194
- package/bios/seabios/src/fw/ssdt-misc.dsl +0 -104
- package/bios/seabios/src/fw/ssdt-misc.hex +0 -88
- package/bios/seabios/src/fw/ssdt-pcihp.dsl +0 -36
- package/bios/seabios/src/fw/ssdt-pcihp.hex +0 -38
- package/bios/seabios/src/fw/ssdt-proc.dsl +0 -48
- package/bios/seabios/src/fw/ssdt-proc.hex +0 -35
- package/bios/seabios/src/fw/xen.c +0 -149
- package/bios/seabios/src/fw/xen.h +0 -125
- package/bios/seabios/src/gen-defs.h +0 -19
- package/bios/seabios/src/hw/ahci.c +0 -697
- package/bios/seabios/src/hw/ahci.h +0 -201
- package/bios/seabios/src/hw/ata.c +0 -1046
- package/bios/seabios/src/hw/ata.h +0 -163
- package/bios/seabios/src/hw/blockcmd.c +0 -372
- package/bios/seabios/src/hw/blockcmd.h +0 -114
- package/bios/seabios/src/hw/dma.c +0 -67
- package/bios/seabios/src/hw/esp-scsi.c +0 -241
- package/bios/seabios/src/hw/esp-scsi.h +0 -8
- package/bios/seabios/src/hw/floppy.c +0 -741
- package/bios/seabios/src/hw/lsi-scsi.c +0 -221
- package/bios/seabios/src/hw/lsi-scsi.h +0 -8
- package/bios/seabios/src/hw/megasas.c +0 -405
- package/bios/seabios/src/hw/megasas.h +0 -8
- package/bios/seabios/src/hw/mpt-scsi.c +0 -319
- package/bios/seabios/src/hw/mpt-scsi.h +0 -8
- package/bios/seabios/src/hw/nvme-int.h +0 -199
- package/bios/seabios/src/hw/nvme.c +0 -708
- package/bios/seabios/src/hw/nvme.h +0 -17
- package/bios/seabios/src/hw/pci.c +0 -133
- package/bios/seabios/src/hw/pci.h +0 -47
- package/bios/seabios/src/hw/pci_ids.h +0 -2632
- package/bios/seabios/src/hw/pci_regs.h +0 -556
- package/bios/seabios/src/hw/pcidevice.c +0 -192
- package/bios/seabios/src/hw/pcidevice.h +0 -76
- package/bios/seabios/src/hw/pic.c +0 -115
- package/bios/seabios/src/hw/pic.h +0 -60
- package/bios/seabios/src/hw/ps2port.c +0 -543
- package/bios/seabios/src/hw/ps2port.h +0 -67
- package/bios/seabios/src/hw/pvscsi.c +0 -333
- package/bios/seabios/src/hw/pvscsi.h +0 -8
- package/bios/seabios/src/hw/ramdisk.c +0 -108
- package/bios/seabios/src/hw/rtc.c +0 -100
- package/bios/seabios/src/hw/rtc.h +0 -75
- package/bios/seabios/src/hw/sdcard.c +0 -572
- package/bios/seabios/src/hw/serialio.c +0 -113
- package/bios/seabios/src/hw/serialio.h +0 -29
- package/bios/seabios/src/hw/timer.c +0 -259
- package/bios/seabios/src/hw/tpm_drivers.c +0 -636
- package/bios/seabios/src/hw/tpm_drivers.h +0 -127
- package/bios/seabios/src/hw/usb-ehci.c +0 -650
- package/bios/seabios/src/hw/usb-ehci.h +0 -177
- package/bios/seabios/src/hw/usb-hid.c +0 -442
- package/bios/seabios/src/hw/usb-hid.h +0 -29
- package/bios/seabios/src/hw/usb-hub.c +0 -205
- package/bios/seabios/src/hw/usb-hub.h +0 -64
- package/bios/seabios/src/hw/usb-msc.c +0 -222
- package/bios/seabios/src/hw/usb-msc.h +0 -10
- package/bios/seabios/src/hw/usb-ohci.c +0 -568
- package/bios/seabios/src/hw/usb-ohci.h +0 -144
- package/bios/seabios/src/hw/usb-uas.c +0 -289
- package/bios/seabios/src/hw/usb-uas.h +0 -9
- package/bios/seabios/src/hw/usb-uhci.c +0 -571
- package/bios/seabios/src/hw/usb-uhci.h +0 -128
- package/bios/seabios/src/hw/usb-xhci.c +0 -1161
- package/bios/seabios/src/hw/usb-xhci.h +0 -133
- package/bios/seabios/src/hw/usb.c +0 -499
- package/bios/seabios/src/hw/usb.h +0 -254
- package/bios/seabios/src/hw/virtio-blk.c +0 -211
- package/bios/seabios/src/hw/virtio-blk.h +0 -43
- package/bios/seabios/src/hw/virtio-pci.c +0 -501
- package/bios/seabios/src/hw/virtio-pci.h +0 -151
- package/bios/seabios/src/hw/virtio-ring.c +0 -147
- package/bios/seabios/src/hw/virtio-ring.h +0 -121
- package/bios/seabios/src/hw/virtio-scsi.c +0 -220
- package/bios/seabios/src/hw/virtio-scsi.h +0 -47
- package/bios/seabios/src/jpeg.c +0 -1055
- package/bios/seabios/src/kbd.c +0 -599
- package/bios/seabios/src/list.h +0 -91
- package/bios/seabios/src/malloc.c +0 -561
- package/bios/seabios/src/malloc.h +0 -70
- package/bios/seabios/src/memmap.h +0 -21
- package/bios/seabios/src/misc.c +0 -195
- package/bios/seabios/src/mouse.c +0 -342
- package/bios/seabios/src/optionroms.c +0 -475
- package/bios/seabios/src/output.c +0 -584
- package/bios/seabios/src/output.h +0 -68
- package/bios/seabios/src/pcibios.c +0 -241
- package/bios/seabios/src/pmm.c +0 -176
- package/bios/seabios/src/pnpbios.c +0 -88
- package/bios/seabios/src/post.c +0 -337
- package/bios/seabios/src/resume.c +0 -157
- package/bios/seabios/src/romfile.c +0 -146
- package/bios/seabios/src/romfile.h +0 -21
- package/bios/seabios/src/romlayout.S +0 -698
- package/bios/seabios/src/sercon.c +0 -677
- package/bios/seabios/src/serial.c +0 -317
- package/bios/seabios/src/sha1.c +0 -147
- package/bios/seabios/src/sha1.h +0 -8
- package/bios/seabios/src/stacks.c +0 -771
- package/bios/seabios/src/stacks.h +0 -68
- package/bios/seabios/src/std/LegacyBios.h +0 -985
- package/bios/seabios/src/std/acpi.h +0 -323
- package/bios/seabios/src/std/bda.h +0 -174
- package/bios/seabios/src/std/disk.h +0 -175
- package/bios/seabios/src/std/mptable.h +0 -77
- package/bios/seabios/src/std/multiboot.h +0 -260
- package/bios/seabios/src/std/optionrom.h +0 -59
- package/bios/seabios/src/std/pirtable.h +0 -35
- package/bios/seabios/src/std/pmm.h +0 -19
- package/bios/seabios/src/std/pnpbios.h +0 -24
- package/bios/seabios/src/std/smbios.h +0 -167
- package/bios/seabios/src/std/tcg.h +0 -554
- package/bios/seabios/src/std/vbe.h +0 -156
- package/bios/seabios/src/std/vga.h +0 -63
- package/bios/seabios/src/string.c +0 -251
- package/bios/seabios/src/string.h +0 -31
- package/bios/seabios/src/system.c +0 -357
- package/bios/seabios/src/tcgbios.c +0 -2014
- package/bios/seabios/src/tcgbios.h +0 -19
- package/bios/seabios/src/types.h +0 -156
- package/bios/seabios/src/util.h +0 -251
- package/bios/seabios/src/version.c +0 -5
- package/bios/seabios/src/vgahooks.c +0 -355
- package/bios/seabios/src/x86.c +0 -23
- package/bios/seabios/src/x86.h +0 -277
- package/bios/seabios/vgasrc/Kconfig +0 -211
- package/bios/seabios/vgasrc/bochsdisplay.c +0 -59
- package/bios/seabios/vgasrc/bochsvga.c +0 -447
- package/bios/seabios/vgasrc/bochsvga.h +0 -57
- package/bios/seabios/vgasrc/cbvga.c +0 -337
- package/bios/seabios/vgasrc/clext.c +0 -627
- package/bios/seabios/vgasrc/geodevga.c +0 -434
- package/bios/seabios/vgasrc/geodevga.h +0 -89
- package/bios/seabios/vgasrc/ramfb.c +0 -163
- package/bios/seabios/vgasrc/stdvga.c +0 -485
- package/bios/seabios/vgasrc/stdvga.h +0 -81
- package/bios/seabios/vgasrc/stdvgaio.c +0 -186
- package/bios/seabios/vgasrc/stdvgamodes.c +0 -534
- package/bios/seabios/vgasrc/swcursor.c +0 -96
- package/bios/seabios/vgasrc/vbe.c +0 -432
- package/bios/seabios/vgasrc/vgabios.c +0 -1131
- package/bios/seabios/vgasrc/vgabios.h +0 -88
- package/bios/seabios/vgasrc/vgaentry.S +0 -161
- package/bios/seabios/vgasrc/vgafb.c +0 -661
- package/bios/seabios/vgasrc/vgafb.h +0 -42
- package/bios/seabios/vgasrc/vgafonts.c +0 -785
- package/bios/seabios/vgasrc/vgahw.h +0 -152
- package/bios/seabios/vgasrc/vgainit.c +0 -202
- package/bios/seabios/vgasrc/vgalayout.lds.S +0 -23
- package/bios/seabios/vgasrc/vgautil.h +0 -103
- package/bios/seabios/vgasrc/vgaversion.c +0 -6
- package/bios/seabios-debug.bin +0 -0
- package/bios/seabios-debug.config +0 -117
- package/bios/seabios.bin +0 -0
- package/bios/seabios.config +0 -114
- package/bios/vgabios-debug.bin +0 -0
- package/bios/vgabios.bin +0 -0
- package/build/binaries.js +0 -1
- package/build/index-debug.cjs +0 -1
- package/build/index-debug.js +0 -1
- package/build/index.cjs +0 -1
- package/build/index.js +0 -1
- package/v86.css +0 -259
|
@@ -1,347 +0,0 @@
|
|
|
1
|
-
// Compatibility Support Module (CSM) for UEFI / EDK-II
|
|
2
|
-
//
|
|
3
|
-
// Copyright © 2013 Intel Corporation
|
|
4
|
-
//
|
|
5
|
-
// This file may be distributed under the terms of the GNU LGPLv3 license.
|
|
6
|
-
|
|
7
|
-
#include "bregs.h" // struct bregs
|
|
8
|
-
#include "config.h" // CONFIG_*
|
|
9
|
-
#include "e820map.h" // e820_add
|
|
10
|
-
#include "farptr.h" // MAKE_FLATPTR
|
|
11
|
-
#include "hw/pci.h" // pci_to_bdf
|
|
12
|
-
#include "hw/pcidevice.h" // pci_probe_devices
|
|
13
|
-
#include "hw/pic.h" // pic_irqmask_read
|
|
14
|
-
#include "malloc.h" // malloc_csm_preinit
|
|
15
|
-
#include "memmap.h" // SYMBOL
|
|
16
|
-
#include "output.h" // dprintf
|
|
17
|
-
#include "paravirt.h" // qemu_preinit
|
|
18
|
-
#include "stacks.h" // wait_threads
|
|
19
|
-
#include "std/acpi.h" // RSDP_SIGNATURE
|
|
20
|
-
#include "std/bda.h" // struct bios_data_area_s
|
|
21
|
-
#include "std/optionrom.h" // struct rom_header
|
|
22
|
-
#include "util.h" // copy_smbios
|
|
23
|
-
|
|
24
|
-
#define UINT8 u8
|
|
25
|
-
#define UINT16 u16
|
|
26
|
-
#define UINT32 u32
|
|
27
|
-
#include "std/LegacyBios.h"
|
|
28
|
-
|
|
29
|
-
struct rsdp_descriptor csm_rsdp VARFSEG __aligned(16);
|
|
30
|
-
|
|
31
|
-
EFI_COMPATIBILITY16_TABLE csm_compat_table VARFSEG __aligned(16) = {
|
|
32
|
-
.Signature = 0x24454649,
|
|
33
|
-
.TableChecksum = 0 /* Filled in by checkrom.py */,
|
|
34
|
-
.TableLength = sizeof(csm_compat_table),
|
|
35
|
-
.Compatibility16CallSegment = SEG_BIOS,
|
|
36
|
-
.Compatibility16CallOffset = 0 /* Filled in by checkrom.py */,
|
|
37
|
-
.OemIdStringPointer = (u32)"SeaBIOS",
|
|
38
|
-
.AcpiRsdPtrPointer = (u32)&csm_rsdp,
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
EFI_TO_COMPATIBILITY16_INIT_TABLE *csm_init_table;
|
|
42
|
-
EFI_TO_COMPATIBILITY16_BOOT_TABLE *csm_boot_table;
|
|
43
|
-
|
|
44
|
-
static u16 PICMask = PIC_IRQMASK_DEFAULT;
|
|
45
|
-
|
|
46
|
-
extern void __csm_return(struct bregs *regs) __noreturn;
|
|
47
|
-
|
|
48
|
-
static void
|
|
49
|
-
csm_return(struct bregs *regs)
|
|
50
|
-
{
|
|
51
|
-
u32 rommax = rom_get_max();
|
|
52
|
-
|
|
53
|
-
dprintf(3, "handle_csm returning AX=%04x\n", regs->ax);
|
|
54
|
-
|
|
55
|
-
csm_compat_table.UmaAddress = rommax;
|
|
56
|
-
csm_compat_table.UmaSize = SYMBOL(final_readonly_start) - rommax;
|
|
57
|
-
|
|
58
|
-
PICMask = pic_irqmask_read();
|
|
59
|
-
__csm_return(regs);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
static void
|
|
63
|
-
csm_maininit(struct bregs *regs)
|
|
64
|
-
{
|
|
65
|
-
interface_init();
|
|
66
|
-
pci_probe_devices();
|
|
67
|
-
|
|
68
|
-
csm_compat_table.PnPInstallationCheckSegment = SEG_BIOS;
|
|
69
|
-
csm_compat_table.PnPInstallationCheckOffset = get_pnp_offset();
|
|
70
|
-
|
|
71
|
-
regs->ax = 0;
|
|
72
|
-
|
|
73
|
-
csm_return(regs);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* Legacy16InitializeYourself */
|
|
77
|
-
static void
|
|
78
|
-
handle_csm_0000(struct bregs *regs)
|
|
79
|
-
{
|
|
80
|
-
qemu_preinit();
|
|
81
|
-
|
|
82
|
-
dprintf(3, "Legacy16InitializeYourself table %04x:%04x\n", regs->es,
|
|
83
|
-
regs->bx);
|
|
84
|
-
|
|
85
|
-
csm_init_table = MAKE_FLATPTR(regs->es, regs->bx);
|
|
86
|
-
|
|
87
|
-
dprintf(3, "BiosLessThan1MB %08x\n", csm_init_table->BiosLessThan1MB);
|
|
88
|
-
dprintf(3, "HiPmmMemory %08x\n", csm_init_table->HiPmmMemory);
|
|
89
|
-
dprintf(3, "HiPmmMemorySize %08x\n", csm_init_table->HiPmmMemorySizeInBytes);
|
|
90
|
-
dprintf(3, "ReverseThunk %04x:%04x\n", csm_init_table->ReverseThunkCallSegment,
|
|
91
|
-
csm_init_table->ReverseThunkCallOffset);
|
|
92
|
-
dprintf(3, "NumE820Entries %08x\n", csm_init_table->NumberE820Entries);
|
|
93
|
-
dprintf(3, "OsMemoryAbove1M %08x\n", csm_init_table->OsMemoryAbove1Mb);
|
|
94
|
-
dprintf(3, "ThunkStart %08x\n", csm_init_table->ThunkStart);
|
|
95
|
-
dprintf(3, "ThunkSize %08x\n", csm_init_table->ThunkSizeInBytes);
|
|
96
|
-
dprintf(3, "LoPmmMemory %08x\n", csm_init_table->LowPmmMemory);
|
|
97
|
-
dprintf(3, "LoPmmMemorySize %08x\n", csm_init_table->LowPmmMemorySizeInBytes);
|
|
98
|
-
|
|
99
|
-
malloc_csm_preinit(csm_init_table->LowPmmMemory,
|
|
100
|
-
csm_init_table->LowPmmMemorySizeInBytes,
|
|
101
|
-
csm_init_table->HiPmmMemory,
|
|
102
|
-
csm_init_table->HiPmmMemorySizeInBytes);
|
|
103
|
-
reloc_preinit(csm_maininit, regs);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/* Legacy16UpdateBbs */
|
|
107
|
-
static void
|
|
108
|
-
handle_csm_0001(struct bregs *regs)
|
|
109
|
-
{
|
|
110
|
-
if (!CONFIG_BOOT) {
|
|
111
|
-
regs->ax = 1;
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
dprintf(3, "Legacy16UpdateBbs table %04x:%04x\n", regs->es, regs->bx);
|
|
116
|
-
|
|
117
|
-
csm_boot_table = MAKE_FLATPTR(regs->es, regs->bx);
|
|
118
|
-
dprintf(3, "MajorVersion %04x\n", csm_boot_table->MajorVersion);
|
|
119
|
-
dprintf(3, "MinorVersion %04x\n", csm_boot_table->MinorVersion);
|
|
120
|
-
dprintf(3, "AcpiTable %08x\n", csm_boot_table->AcpiTable);
|
|
121
|
-
dprintf(3, "SmbiosTable %08x\n", csm_boot_table->SmbiosTable);
|
|
122
|
-
dprintf(3, "SmbiosTableLength %08x\n", csm_boot_table->SmbiosTableLength);
|
|
123
|
-
// dprintf(3, "SioData %08x\n", csm_boot_table->SioData);
|
|
124
|
-
dprintf(3, "DevicePathType %04x\n", csm_boot_table->DevicePathType);
|
|
125
|
-
dprintf(3, "PciIrqMask %04x\n", csm_boot_table->PciIrqMask);
|
|
126
|
-
dprintf(3, "NumberE820Entries %08x\n", csm_boot_table->NumberE820Entries);
|
|
127
|
-
// dprintf(3, "HddInfo %08x\n", csm_boot_table->HddInfo);
|
|
128
|
-
dprintf(3, "NumberBbsEntries %08x\n", csm_boot_table->NumberBbsEntries);
|
|
129
|
-
dprintf(3, "BBsTable %08x\n", csm_boot_table->BbsTable);
|
|
130
|
-
dprintf(3, "SmmTable %08x\n", csm_boot_table->SmmTable);
|
|
131
|
-
dprintf(3, "OsMemoryAbove1Mb %08x\n", csm_boot_table->OsMemoryAbove1Mb);
|
|
132
|
-
dprintf(3, "UnconventionalDeviceTable %08x\n", csm_boot_table->UnconventionalDeviceTable);
|
|
133
|
-
|
|
134
|
-
regs->ax = 0;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/* PrepareToBoot */
|
|
138
|
-
static void
|
|
139
|
-
handle_csm_0002(struct bregs *regs)
|
|
140
|
-
{
|
|
141
|
-
if (!CONFIG_BOOT) {
|
|
142
|
-
regs->ax = 1;
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
dprintf(3, "PrepareToBoot table %04x:%04x\n", regs->es, regs->bx);
|
|
147
|
-
|
|
148
|
-
struct e820entry *p = (void *)csm_compat_table.E820Pointer;
|
|
149
|
-
int i;
|
|
150
|
-
for (i=0; i < csm_compat_table.E820Length / sizeof(struct e820entry); i++)
|
|
151
|
-
e820_add(p[i].start, p[i].size, p[i].type);
|
|
152
|
-
|
|
153
|
-
if (csm_init_table->HiPmmMemorySizeInBytes > BUILD_MAX_HIGHTABLE) {
|
|
154
|
-
u32 hi_pmm_end = csm_init_table->HiPmmMemory + csm_init_table->HiPmmMemorySizeInBytes;
|
|
155
|
-
e820_add(hi_pmm_end - BUILD_MAX_HIGHTABLE, BUILD_MAX_HIGHTABLE, E820_RESERVED);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// For PCIBIOS 1ab10e
|
|
159
|
-
if (csm_compat_table.IrqRoutingTablePointer &&
|
|
160
|
-
csm_compat_table.IrqRoutingTableLength) {
|
|
161
|
-
PirAddr = (void *)csm_compat_table.IrqRoutingTablePointer;
|
|
162
|
-
dprintf(3, "CSM PIRQ table at %p\n", PirAddr);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
// For find_resume_vector()... and find_acpi_features()
|
|
166
|
-
if (csm_rsdp.signature == RSDP_SIGNATURE) {
|
|
167
|
-
RsdpAddr = &csm_rsdp;
|
|
168
|
-
dprintf(3, "CSM ACPI RSDP at %p\n", RsdpAddr);
|
|
169
|
-
|
|
170
|
-
find_acpi_features();
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
// SMBIOS table needs to be copied into the f-seg
|
|
174
|
-
// XX: OVMF doesn't seem to set SmbiosTableLength so don't check it
|
|
175
|
-
if (csm_boot_table->SmbiosTable && !SMBiosAddr)
|
|
176
|
-
copy_smbios((void *)csm_boot_table->SmbiosTable);
|
|
177
|
-
|
|
178
|
-
// MPTABLE is just there; we don't care where.
|
|
179
|
-
|
|
180
|
-
// EFI may have reinitialised the video using its *own* driver.
|
|
181
|
-
enable_vga_console();
|
|
182
|
-
|
|
183
|
-
// EFI fills this in for us. Zero it for now...
|
|
184
|
-
struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0);
|
|
185
|
-
bda->hdcount = 0;
|
|
186
|
-
|
|
187
|
-
thread_setup();
|
|
188
|
-
mathcp_setup();
|
|
189
|
-
timer_setup();
|
|
190
|
-
clock_setup();
|
|
191
|
-
device_hardware_setup();
|
|
192
|
-
wait_threads();
|
|
193
|
-
interactive_bootmenu();
|
|
194
|
-
|
|
195
|
-
prepareboot();
|
|
196
|
-
|
|
197
|
-
regs->ax = 0;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/* Boot */
|
|
201
|
-
static void
|
|
202
|
-
handle_csm_0003(struct bregs *regs)
|
|
203
|
-
{
|
|
204
|
-
if (!CONFIG_BOOT) {
|
|
205
|
-
regs->ax = 1;
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
dprintf(3, "Boot\n");
|
|
210
|
-
|
|
211
|
-
startBoot();
|
|
212
|
-
|
|
213
|
-
regs->ax = 1;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/* Legacy16DispatchOprom */
|
|
217
|
-
static void
|
|
218
|
-
handle_csm_0005(struct bregs *regs)
|
|
219
|
-
{
|
|
220
|
-
EFI_DISPATCH_OPROM_TABLE *table = MAKE_FLATPTR(regs->es, regs->bx);
|
|
221
|
-
struct rom_header *rom;
|
|
222
|
-
u16 bdf;
|
|
223
|
-
|
|
224
|
-
if (!CONFIG_OPTIONROMS) {
|
|
225
|
-
regs->ax = 1;
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
dprintf(3, "Legacy16DispatchOprom rom %p\n", table);
|
|
230
|
-
|
|
231
|
-
dprintf(3, "OpromSegment %04x\n", table->OpromSegment);
|
|
232
|
-
dprintf(3, "RuntimeSegment %04x\n", table->RuntimeSegment);
|
|
233
|
-
dprintf(3, "PnPInstallationCheck %04x:%04x\n",
|
|
234
|
-
table->PnPInstallationCheckSegment,
|
|
235
|
-
table->PnPInstallationCheckOffset);
|
|
236
|
-
dprintf(3, "RuntimeSegment %04x\n", table->RuntimeSegment);
|
|
237
|
-
|
|
238
|
-
rom = MAKE_FLATPTR(table->OpromSegment, 0);
|
|
239
|
-
bdf = pci_bus_devfn_to_bdf(table->PciBus, table->PciDeviceFunction);
|
|
240
|
-
|
|
241
|
-
rom_reserve(rom->size * 512);
|
|
242
|
-
|
|
243
|
-
// XX PnP seg/ofs should never be other than default
|
|
244
|
-
callrom(rom, bdf);
|
|
245
|
-
|
|
246
|
-
rom_confirm(rom->size * 512);
|
|
247
|
-
|
|
248
|
-
regs->bx = 0; // FIXME
|
|
249
|
-
regs->ax = 0;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
/* Legacy16GetTableAddress */
|
|
253
|
-
static void
|
|
254
|
-
handle_csm_0006(struct bregs *regs)
|
|
255
|
-
{
|
|
256
|
-
u16 size = regs->cx;
|
|
257
|
-
u16 align = regs->dx;
|
|
258
|
-
u16 region = regs->bx; // (1 for F000 seg, 2 for E000 seg, 0 for either)
|
|
259
|
-
void *chunk = NULL;
|
|
260
|
-
|
|
261
|
-
if (!region)
|
|
262
|
-
region = 3;
|
|
263
|
-
|
|
264
|
-
dprintf(3, "Legacy16GetTableAddress size %x align %x region %d\n",
|
|
265
|
-
size, align, region);
|
|
266
|
-
|
|
267
|
-
if (region & 2)
|
|
268
|
-
chunk = _malloc(&ZoneLow, size, align);
|
|
269
|
-
if (!chunk && (region & 1))
|
|
270
|
-
chunk = _malloc(&ZoneFSeg, size, align);
|
|
271
|
-
|
|
272
|
-
dprintf(3, "Legacy16GetTableAddress size %x align %x region %d yields %p\n",
|
|
273
|
-
size, align, region, chunk);
|
|
274
|
-
if (chunk) {
|
|
275
|
-
regs->ds = FLATPTR_TO_SEG(chunk);
|
|
276
|
-
regs->bx = FLATPTR_TO_OFFSET(chunk);
|
|
277
|
-
regs->ax = 0;
|
|
278
|
-
} else {
|
|
279
|
-
regs->ax = 1;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
void VISIBLE32INIT
|
|
284
|
-
handle_csm(struct bregs *regs)
|
|
285
|
-
{
|
|
286
|
-
ASSERT32FLAT();
|
|
287
|
-
|
|
288
|
-
if (!CONFIG_CSM)
|
|
289
|
-
return;
|
|
290
|
-
|
|
291
|
-
dprintf(3, "handle_csm regs %p AX=%04x\n", regs, regs->ax);
|
|
292
|
-
|
|
293
|
-
code_mutable_preinit();
|
|
294
|
-
pic_irqmask_write(PICMask);
|
|
295
|
-
|
|
296
|
-
switch(regs->ax) {
|
|
297
|
-
case 0000: handle_csm_0000(regs); break;
|
|
298
|
-
case 0001: handle_csm_0001(regs); break;
|
|
299
|
-
case 0002: handle_csm_0002(regs); break;
|
|
300
|
-
case 0003: handle_csm_0003(regs); break;
|
|
301
|
-
// case 0004: handle_csm_0004(regs); break;
|
|
302
|
-
case 0005: handle_csm_0005(regs); break;
|
|
303
|
-
case 0006: handle_csm_0006(regs); break;
|
|
304
|
-
// case 0007: handle_csm_0007(regs); break;
|
|
305
|
-
// case 0008: hamdle_csm_0008(regs); break;
|
|
306
|
-
default: regs->al = 1;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
csm_return(regs);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
int csm_bootprio_ata(struct pci_device *pci, int chanid, int slave)
|
|
313
|
-
{
|
|
314
|
-
if (!csm_boot_table)
|
|
315
|
-
return -1;
|
|
316
|
-
BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
|
|
317
|
-
int index = 1 + (chanid * 2) + slave;
|
|
318
|
-
dprintf(3, "CSM bootprio for ATA%d,%d (index %d) is %d\n", chanid, slave,
|
|
319
|
-
index, bbs[index].BootPriority);
|
|
320
|
-
return bbs[index].BootPriority;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
int csm_bootprio_fdc(struct pci_device *pci, int port, int fdid)
|
|
324
|
-
{
|
|
325
|
-
if (!csm_boot_table)
|
|
326
|
-
return -1;
|
|
327
|
-
BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
|
|
328
|
-
dprintf(3, "CSM bootprio for FDC is %d\n", bbs[0].BootPriority);
|
|
329
|
-
return bbs[0].BootPriority;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
int csm_bootprio_pci(struct pci_device *pci)
|
|
333
|
-
{
|
|
334
|
-
if (!csm_boot_table)
|
|
335
|
-
return -1;
|
|
336
|
-
BBS_TABLE *bbs = (void *)csm_boot_table->BbsTable;
|
|
337
|
-
int i;
|
|
338
|
-
|
|
339
|
-
for (i = 5; i < csm_boot_table->NumberBbsEntries; i++) {
|
|
340
|
-
if (pci->bdf == pci_to_bdf(bbs[i].Bus, bbs[i].Device, bbs[i].Function)) {
|
|
341
|
-
dprintf(3, "CSM bootprio for PCI(%d,%d,%d) is %d\n", bbs[i].Bus,
|
|
342
|
-
bbs[i].Device, bbs[i].Function, bbs[i].BootPriority);
|
|
343
|
-
return bbs[i].BootPriority;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
return -1;
|
|
347
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#ifndef _PCI_CAP_H
|
|
2
|
-
#define _PCI_CAP_H
|
|
3
|
-
|
|
4
|
-
#include "types.h"
|
|
5
|
-
|
|
6
|
-
/*
|
|
7
|
-
*
|
|
8
|
-
* QEMU-specific vendor(Red Hat)-specific capability.
|
|
9
|
-
* It's intended to provide some hints for firmware to init PCI devices.
|
|
10
|
-
*
|
|
11
|
-
* Its structure is shown below:
|
|
12
|
-
*
|
|
13
|
-
* Header:
|
|
14
|
-
*
|
|
15
|
-
* u8 id; Standard PCI Capability Header field
|
|
16
|
-
* u8 next; Standard PCI Capability Header field
|
|
17
|
-
* u8 len; Standard PCI Capability Header field
|
|
18
|
-
* u8 type; Red Hat vendor-specific capability type
|
|
19
|
-
* Data:
|
|
20
|
-
*
|
|
21
|
-
* u32 bus_res; minimum bus number to reserve;
|
|
22
|
-
* this is necessary for PCI Express Root Ports
|
|
23
|
-
* to support PCI bridges hotplug
|
|
24
|
-
* u64 io; IO space to reserve
|
|
25
|
-
* u32 mem; non-prefetchable memory to reserve
|
|
26
|
-
*
|
|
27
|
-
* At most of the following two fields may be set to a value
|
|
28
|
-
* different from 0xFF...F:
|
|
29
|
-
* u32 prefetchable_mem_32; prefetchable memory to reserve (32-bit MMIO)
|
|
30
|
-
* u64 prefetchable_mem_64; prefetchable memory to reserve (64-bit MMIO)
|
|
31
|
-
*
|
|
32
|
-
* If any field value in Data section is 0xFF...F,
|
|
33
|
-
* it means that such kind of reservation is not needed and must be ignored.
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/* Offset of vendor-specific capability type field */
|
|
38
|
-
#define PCI_CAP_REDHAT_TYPE_OFFSET 3
|
|
39
|
-
|
|
40
|
-
/* List of valid Red Hat vendor-specific capability types */
|
|
41
|
-
#define REDHAT_CAP_RESOURCE_RESERVE 1
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
/* Offsets of RESOURCE_RESERVE capability fields */
|
|
45
|
-
#define RES_RESERVE_BUS_RES 4
|
|
46
|
-
#define RES_RESERVE_IO 8
|
|
47
|
-
#define RES_RESERVE_MEM 16
|
|
48
|
-
#define RES_RESERVE_PREF_MEM_32 20
|
|
49
|
-
#define RES_RESERVE_PREF_MEM_64 24
|
|
50
|
-
#define RES_RESERVE_CAP_SIZE 32
|
|
51
|
-
|
|
52
|
-
#endif /* _PCI_CAP_H */
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
#ifndef __DEV_PIIX_H
|
|
2
|
-
#define __DEV_PIIX_H
|
|
3
|
-
|
|
4
|
-
#define I440FX_PAM0 0x59
|
|
5
|
-
#define I440FX_SMRAM 0x72
|
|
6
|
-
|
|
7
|
-
#define PIIX_PMBASE 0x40
|
|
8
|
-
#define PIIX_PMREGMISC 0x80
|
|
9
|
-
#define PIIX_SMBHSTBASE 0x90
|
|
10
|
-
#define PIIX_SMBHSTCFG 0xd2
|
|
11
|
-
#define PIIX_DEVACTB 0x58
|
|
12
|
-
#define PIIX_DEVACTB_APMC_EN (1 << 25)
|
|
13
|
-
|
|
14
|
-
#define PIIX_PORT_ELCR1 0x4d0
|
|
15
|
-
#define PIIX_PORT_ELCR2 0x4d1
|
|
16
|
-
|
|
17
|
-
/* ICH9 PM I/O registers */
|
|
18
|
-
#define PIIX_GPE0_BLK 0xafe0
|
|
19
|
-
#define PIIX_GPE0_BLK_LEN 4
|
|
20
|
-
#define PIIX_PMIO_GLBCTL 0x28
|
|
21
|
-
#define PIIX_PMIO_GLBCTL_SMI_EN 1
|
|
22
|
-
|
|
23
|
-
/* FADT ACPI_ENABLE/ACPI_DISABLE */
|
|
24
|
-
#define PIIX_ACPI_ENABLE 0xf1
|
|
25
|
-
#define PIIX_ACPI_DISABLE 0xf0
|
|
26
|
-
|
|
27
|
-
#define PIIX_PM_INTRRUPT 9 // irq 9
|
|
28
|
-
|
|
29
|
-
#endif // dev-piix.h
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#ifndef __DEV_Q35_H
|
|
2
|
-
#define __DEV_Q35_H
|
|
3
|
-
|
|
4
|
-
#include "types.h" // u16
|
|
5
|
-
|
|
6
|
-
#define PCI_DEVICE_ID_INTEL_Q35_MCH 0x29c0
|
|
7
|
-
#define Q35_HOST_BRIDGE_PAM0 0x90
|
|
8
|
-
#define Q35_HOST_BRIDGE_SMRAM 0x9d
|
|
9
|
-
#define Q35_HOST_BRIDGE_PCIEXBAR 0x60
|
|
10
|
-
#define Q35_HOST_BRIDGE_PCIEXBAR_SIZE (256 * 1024 * 1024)
|
|
11
|
-
#define Q35_HOST_BRIDGE_PCIEXBAR_ADDR 0xb0000000
|
|
12
|
-
#define Q35_HOST_BRIDGE_PCIEXBAREN ((u64)1)
|
|
13
|
-
#define Q35_HOST_PCIE_PCI_SEGMENT 0
|
|
14
|
-
#define Q35_HOST_PCIE_START_BUS_NUMBER 0
|
|
15
|
-
#define Q35_HOST_PCIE_END_BUS_NUMBER 255
|
|
16
|
-
|
|
17
|
-
#define PCI_DEVICE_ID_INTEL_ICH9_LPC 0x2918
|
|
18
|
-
#define ICH9_LPC_PMBASE 0x40
|
|
19
|
-
#define ICH9_LPC_PMBASE_RTE 0x1
|
|
20
|
-
|
|
21
|
-
#define ICH9_LPC_ACPI_CTRL 0x44
|
|
22
|
-
#define ICH9_LPC_ACPI_CTRL_ACPI_EN 0x80
|
|
23
|
-
#define ICH9_LPC_PIRQA_ROUT 0x60
|
|
24
|
-
#define ICH9_LPC_PIRQE_ROUT 0x68
|
|
25
|
-
#define ICH9_LPC_PIRQ_ROUT_IRQEN 0x80
|
|
26
|
-
#define ICH9_LPC_GEN_PMCON_1 0xa0
|
|
27
|
-
#define ICH9_LPC_GEN_PMCON_1_SMI_LOCK (1 << 4)
|
|
28
|
-
#define ICH9_LPC_PORT_ELCR1 0x4d0
|
|
29
|
-
#define ICH9_LPC_PORT_ELCR2 0x4d1
|
|
30
|
-
#define ICH9_LPC_RCBA 0xf0
|
|
31
|
-
#define ICH9_LPC_RCBA_ADDR 0xfed1c000
|
|
32
|
-
#define ICH9_LPC_RCBA_EN 0x1
|
|
33
|
-
#define PCI_DEVICE_ID_INTEL_ICH9_SMBUS 0x2930
|
|
34
|
-
#define ICH9_SMB_SMB_BASE 0x20
|
|
35
|
-
#define ICH9_SMB_HOSTC 0x40
|
|
36
|
-
#define ICH9_SMB_HOSTC_HST_EN 0x01
|
|
37
|
-
|
|
38
|
-
#define ICH9_ACPI_ENABLE 0x2
|
|
39
|
-
#define ICH9_ACPI_DISABLE 0x3
|
|
40
|
-
|
|
41
|
-
/* ICH9 LPC PM I/O registers are 128 ports and 128-aligned */
|
|
42
|
-
#define ICH9_PMIO_GPE0_STS 0x20
|
|
43
|
-
#define ICH9_PMIO_GPE0_BLK_LEN 0x10
|
|
44
|
-
#define ICH9_PMIO_SMI_EN 0x30
|
|
45
|
-
#define ICH9_PMIO_SMI_EN_APMC_EN (1 << 5)
|
|
46
|
-
#define ICH9_PMIO_SMI_EN_GLB_SMI_EN (1 << 0)
|
|
47
|
-
|
|
48
|
-
/* FADT ACPI_ENABLE/ACPI_DISABLE */
|
|
49
|
-
#define ICH9_APM_ACPI_ENABLE 0x2
|
|
50
|
-
#define ICH9_APM_ACPI_DISABLE 0x3
|
|
51
|
-
|
|
52
|
-
#endif // dev-q35.h
|