diff --git a/bios/fetch-and-build-seabios.sh b/bios/fetch-and-build-seabios.sh new file mode 100755 index 00000000..3624fe24 --- /dev/null +++ b/bios/fetch-and-build-seabios.sh @@ -0,0 +1,13 @@ +set -e +git clone https://git.seabios.org/seabios.git || true +(cd seabios && git checkout rel-1.12.1) + +cp seabios.config seabios/.config +make -C seabios +cp seabios/out/bios.bin seabios.bin +cp seabios/out/vgabios.bin vgabios.bin + +cp seabios-debug.config seabios/.config +make -C seabios +cp seabios/out/bios.bin seabios-debug.bin +cp seabios/out/vgabios.bin vgabios-debug.bin diff --git a/bios/seabios-debug.bin b/bios/seabios-debug.bin index 8bf81ad1..3a9afb31 100644 Binary files a/bios/seabios-debug.bin and b/bios/seabios-debug.bin differ diff --git a/bios/seabios-debug.config b/bios/seabios-debug.config new file mode 100644 index 00000000..59e4cd77 --- /dev/null +++ b/bios/seabios-debug.config @@ -0,0 +1,117 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +# CONFIG_COREBOOT is not set +CONFIG_QEMU=y +# CONFIG_CSM is not set +CONFIG_QEMU_HARDWARE=y +CONFIG_XEN=y +CONFIG_THREADS=y +# CONFIG_RELOCATE_INIT is not set +# CONFIG_BOOTMENU is not set +CONFIG_BOOTORDER=y +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +CONFIG_ATA_DMA=y +CONFIG_ATA_PIO32=y +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_SCSI=y +CONFIG_PVSCSI=y +CONFIG_ESP_SCSI=y +CONFIG_LSI_SCSI=y +CONFIG_MEGASAS=y +CONFIG_MPT_SCSI=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +# CONFIG_NVME is not set +CONFIG_PS2PORT=y +# CONFIG_USB is not set +CONFIG_SERIAL=y +# CONFIG_SERCON is not set +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_USE_SMM=y +CONFIG_CALL32_SMM=y +CONFIG_MTRR_INIT=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +# CONFIG_WRITABLE_UPPERMEMORY is not set +CONFIG_TCGBIOS=y + +# +# BIOS Tables +# +CONFIG_PIRTABLE=y +CONFIG_MPTABLE=y +# CONFIG_SMBIOS is not set +CONFIG_ACPI=y +CONFIG_ACPI_DSDT=y +CONFIG_FW_ROMFILE_LOAD=y + +# +# VGA ROM +# +# CONFIG_NO_VGABIOS is not set +# CONFIG_VGA_STANDARD_VGA is not set +# CONFIG_VGA_CIRRUS is not set +CONFIG_VGA_BOCHS=y +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +# CONFIG_DISPLAY_BOCHS is not set +# CONFIG_VGA_RAMFB is not set +CONFIG_VGA_BOCHS_STDVGA=y +# CONFIG_VGA_BOCHS_VMWARE is not set +# CONFIG_VGA_BOCHS_QXL is not set +# CONFIG_VGA_BOCHS_VIRTIO is not set +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_STDVGA_PORTS=y +CONFIG_VGA_FIXUP_ASM=y +CONFIG_VGA_ALLOCATE_EXTRA_STACK=y +CONFIG_VGA_EXTRA_STACK_SIZE=512 +CONFIG_VGA_VBE=y +CONFIG_VGA_PCI=y +CONFIG_OVERRIDE_PCI_ID=y +CONFIG_VGA_VID=0x1234 +CONFIG_VGA_DID=0x1111 + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=8 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_DEBUG_SERIAL_MMIO is not set +CONFIG_DEBUG_IO=y diff --git a/bios/seabios.bin b/bios/seabios.bin index 1f4ecc0c..5c17cbd3 100644 Binary files a/bios/seabios.bin and b/bios/seabios.bin differ diff --git a/bios/seabios.config b/bios/seabios.config new file mode 100644 index 00000000..2be1f894 --- /dev/null +++ b/bios/seabios.config @@ -0,0 +1,114 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +# CONFIG_COREBOOT is not set +CONFIG_QEMU=y +# CONFIG_CSM is not set +CONFIG_QEMU_HARDWARE=y +CONFIG_XEN=y +CONFIG_THREADS=y +# CONFIG_RELOCATE_INIT is not set +# CONFIG_BOOTMENU is not set +CONFIG_BOOTORDER=y +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +CONFIG_ATA_DMA=y +CONFIG_ATA_PIO32=y +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_SCSI=y +CONFIG_PVSCSI=y +CONFIG_ESP_SCSI=y +CONFIG_LSI_SCSI=y +CONFIG_MEGASAS=y +CONFIG_MPT_SCSI=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +# CONFIG_NVME is not set +CONFIG_PS2PORT=y +# CONFIG_USB is not set +CONFIG_SERIAL=y +# CONFIG_SERCON is not set +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_USE_SMM=y +CONFIG_CALL32_SMM=y +CONFIG_MTRR_INIT=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +# CONFIG_WRITABLE_UPPERMEMORY is not set +CONFIG_TCGBIOS=y + +# +# BIOS Tables +# +CONFIG_PIRTABLE=y +CONFIG_MPTABLE=y +# CONFIG_SMBIOS is not set +CONFIG_ACPI=y +CONFIG_ACPI_DSDT=y +CONFIG_FW_ROMFILE_LOAD=y + +# +# VGA ROM +# +# CONFIG_NO_VGABIOS is not set +# CONFIG_VGA_STANDARD_VGA is not set +# CONFIG_VGA_CIRRUS is not set +CONFIG_VGA_BOCHS=y +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +# CONFIG_DISPLAY_BOCHS is not set +# CONFIG_VGA_RAMFB is not set +CONFIG_VGA_BOCHS_STDVGA=y +# CONFIG_VGA_BOCHS_VMWARE is not set +# CONFIG_VGA_BOCHS_QXL is not set +# CONFIG_VGA_BOCHS_VIRTIO is not set +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_STDVGA_PORTS=y +CONFIG_VGA_FIXUP_ASM=y +CONFIG_VGA_ALLOCATE_EXTRA_STACK=y +CONFIG_VGA_EXTRA_STACK_SIZE=512 +CONFIG_VGA_VBE=y +CONFIG_VGA_PCI=y +CONFIG_OVERRIDE_PCI_ID=y +CONFIG_VGA_VID=0x1234 +CONFIG_VGA_DID=0x1111 + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=0 diff --git a/bios/vgabios-debug.bin b/bios/vgabios-debug.bin index 7ef7eb82..73ec94fd 100644 Binary files a/bios/vgabios-debug.bin and b/bios/vgabios-debug.bin differ diff --git a/bios/vgabios.bin b/bios/vgabios.bin index b5f925e1..e1b6db46 100644 Binary files a/bios/vgabios.bin and b/bios/vgabios.bin differ