aboutsummaryrefslogtreecommitdiff
path: root/projects/seabios
diff options
context:
space:
mode:
Diffstat (limited to 'projects/seabios')
-rw-r--r--projects/seabios/configs/bios/config91
-rw-r--r--projects/seabios/configs/bios/install1
-rw-r--r--projects/seabios/configs/revision1
-rw-r--r--projects/seabios/configs/targets2
-rw-r--r--projects/seabios/configs/vgabios/config95
-rw-r--r--projects/seabios/configs/vgabios/install1
-rwxr-xr-xprojects/seabios/seabios118
7 files changed, 309 insertions, 0 deletions
diff --git a/projects/seabios/configs/bios/config b/projects/seabios/configs/bios/config
new file mode 100644
index 00000000..cd13ec77
--- /dev/null
+++ b/projects/seabios/configs/bios/config
@@ -0,0 +1,91 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# SeaBIOS Configuration
+#
+
+#
+# General Features
+#
+CONFIG_COREBOOT=y
+# CONFIG_QEMU is not set
+# CONFIG_CSM is not set
+# CONFIG_QEMU_HARDWARE is not set
+CONFIG_THREADS=y
+CONFIG_RELOCATE_INIT=y
+CONFIG_BOOTMENU=y
+CONFIG_BOOTSPLASH=y
+CONFIG_BOOTORDER=y
+CONFIG_COREBOOT_FLASH=y
+CONFIG_LZMA=y
+CONFIG_CBFS_LOCATION=0
+CONFIG_MULTIBOOT=y
+CONFIG_ENTRY_EXTRASTACK=y
+CONFIG_MALLOC_UPPERMEMORY=y
+CONFIG_ROM_SIZE=0
+
+#
+# Hardware support
+#
+CONFIG_ATA=y
+# CONFIG_ATA_DMA is not set
+# CONFIG_ATA_PIO32 is not set
+CONFIG_AHCI=y
+CONFIG_SDCARD=y
+CONFIG_MEGASAS=y
+CONFIG_FLOPPY=y
+CONFIG_FLASH_FLOPPY=y
+CONFIG_PS2PORT=y
+CONFIG_USB=y
+CONFIG_USB_UHCI=y
+CONFIG_USB_OHCI=y
+CONFIG_USB_EHCI=y
+CONFIG_USB_XHCI=y
+CONFIG_USB_MSC=y
+CONFIG_USB_UAS=y
+CONFIG_USB_HUB=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_MOUSE=y
+CONFIG_SERIAL=y
+CONFIG_LPT=y
+CONFIG_RTC_TIMER=y
+CONFIG_HARDWARE_IRQ=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_TCGBIOS=y
+
+#
+# VGA ROM
+#
+CONFIG_NO_VGABIOS=y
+# CONFIG_VGA_GEODEGX2 is not set
+# CONFIG_VGA_GEODELX is not set
+# CONFIG_VGA_COREBOOT is not set
+# CONFIG_BUILD_VGABIOS is not set
+CONFIG_VGA_EXTRA_STACK_SIZE=512
+
+#
+# Debugging
+#
+CONFIG_DEBUG_LEVEL=1
+# CONFIG_DEBUG_SERIAL is not set
+# CONFIG_DEBUG_SERIAL_MMIO is not set
+CONFIG_DEBUG_COREBOOT=y
diff --git a/projects/seabios/configs/bios/install b/projects/seabios/configs/bios/install
new file mode 100644
index 00000000..9189ec8f
--- /dev/null
+++ b/projects/seabios/configs/bios/install
@@ -0,0 +1 @@
+bios.bin.elf:bios.bin.elf
diff --git a/projects/seabios/configs/revision b/projects/seabios/configs/revision
new file mode 100644
index 00000000..f03e0556
--- /dev/null
+++ b/projects/seabios/configs/revision
@@ -0,0 +1 @@
+19fdcca467ad3436d68ef88899b4dcd78154a9c6
diff --git a/projects/seabios/configs/targets b/projects/seabios/configs/targets
new file mode 100644
index 00000000..98a59a61
--- /dev/null
+++ b/projects/seabios/configs/targets
@@ -0,0 +1,2 @@
+bios
+vgabios
diff --git a/projects/seabios/configs/vgabios/config b/projects/seabios/configs/vgabios/config
new file mode 100644
index 00000000..a2725409
--- /dev/null
+++ b/projects/seabios/configs/vgabios/config
@@ -0,0 +1,95 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# SeaBIOS Configuration
+#
+
+#
+# General Features
+#
+CONFIG_COREBOOT=y
+# CONFIG_QEMU is not set
+# CONFIG_CSM is not set
+# CONFIG_QEMU_HARDWARE is not set
+CONFIG_THREADS=y
+CONFIG_RELOCATE_INIT=y
+CONFIG_BOOTMENU=y
+CONFIG_BOOTSPLASH=y
+CONFIG_BOOTORDER=y
+CONFIG_COREBOOT_FLASH=y
+CONFIG_LZMA=y
+CONFIG_CBFS_LOCATION=0
+CONFIG_MULTIBOOT=y
+CONFIG_ENTRY_EXTRASTACK=y
+CONFIG_MALLOC_UPPERMEMORY=y
+CONFIG_ROM_SIZE=0
+
+#
+# Hardware support
+#
+CONFIG_ATA=y
+# CONFIG_ATA_DMA is not set
+# CONFIG_ATA_PIO32 is not set
+CONFIG_AHCI=y
+CONFIG_SDCARD=y
+CONFIG_MEGASAS=y
+CONFIG_FLOPPY=y
+CONFIG_FLASH_FLOPPY=y
+CONFIG_PS2PORT=y
+CONFIG_USB=y
+CONFIG_USB_UHCI=y
+CONFIG_USB_OHCI=y
+CONFIG_USB_EHCI=y
+CONFIG_USB_XHCI=y
+CONFIG_USB_MSC=y
+CONFIG_USB_UAS=y
+CONFIG_USB_HUB=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_MOUSE=y
+CONFIG_SERIAL=y
+CONFIG_LPT=y
+CONFIG_RTC_TIMER=y
+CONFIG_HARDWARE_IRQ=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_TCGBIOS=y
+
+#
+# VGA ROM
+#
+# CONFIG_NO_VGABIOS is not set
+# CONFIG_VGA_GEODEGX2 is not set
+# CONFIG_VGA_GEODELX is not set
+CONFIG_VGA_COREBOOT=y
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_EMULATE_TEXT=y
+CONFIG_VGA_FIXUP_ASM=y
+CONFIG_VGA_ALLOCATE_EXTRA_STACK=y
+CONFIG_VGA_EXTRA_STACK_SIZE=512
+CONFIG_VGA_VBE=y
+
+#
+# Debugging
+#
+CONFIG_DEBUG_LEVEL=1
+# CONFIG_DEBUG_SERIAL is not set
+# CONFIG_DEBUG_SERIAL_MMIO is not set
+CONFIG_DEBUG_COREBOOT=y
diff --git a/projects/seabios/configs/vgabios/install b/projects/seabios/configs/vgabios/install
new file mode 100644
index 00000000..ddc1571e
--- /dev/null
+++ b/projects/seabios/configs/vgabios/install
@@ -0,0 +1 @@
+vgabios.bin:vgabios.bin
diff --git a/projects/seabios/seabios b/projects/seabios/seabios
new file mode 100755
index 00000000..ce9593b0
--- /dev/null
+++ b/projects/seabios/seabios
@@ -0,0 +1,118 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+arguments() {
+ project_arguments_targets "$project" "$@"
+}
+
+usage() {
+ project_usage_actions "$project"
+ project_usage_arguments "$project" "$@"
+}
+
+download() {
+ local repository="$project"
+
+ project_download_git "$project" "$repository" 'https://review.coreboot.org/seabios.git' "$@"
+}
+
+download_check() {
+ local repository="$project"
+
+ project_download_check_git "$project" "$repository" "$@"
+}
+
+extract() {
+ project_extract "$project" "$@"
+}
+
+extract_check() {
+ project_extract_check "$project" "$@"
+}
+
+update() {
+ local repository="$project"
+
+ project_update_git "$project" "$repository" "$@"
+}
+
+update_check() {
+ local repository="$project"
+
+ project_update_check_git "$project" "$repository" "$@"
+}
+
+build() {
+ local target="$1"
+ local repository="$project"
+
+ project_sources_directory_missing_empty_error "$project" "$repository" "$@"
+
+ if git_project_check "$repository"; then
+ git_project_checkout "$project" "$repository" "$@"
+ fi
+
+ local project_path="$(project_path "$project")"
+ local seabios_config_path="$(project_file_path "$project" "$CONFIGS" 'config' "$@")"
+ local sources_path="$(project_sources_path "$project" "$repository" "$@")"
+ local build_path="$(project_build_path "$project" "$@")"
+
+ mkdir -p "$build_path"
+ cp "$seabios_config_path" "$sources_path/.config"
+
+ make -C "$sources_path" -j"$TASKS"
+
+ if [[ "$target" == 'bios' ]]; then
+ cp "$sources_path/out/bios.bin.elf" "$build_path"
+ elif [[ "$target" == 'vgabios' ]]; then
+ cp "$sources_path/out/vgabios.bin" "$build_path"
+ fi
+
+ make -C "$sources_path" distclean
+
+ rm -f "$sources_path/.config"
+}
+
+build_check() {
+ project_build_check "$project" "$@"
+}
+
+install() {
+ project_install "$project" "$@"
+}
+
+install_check() {
+ project_install_check "$project" "$@"
+}
+
+release() {
+ local repository="$project"
+
+ project_release_install_archive "$project" "$IMAGES" "$@"
+ project_release_sources_git "$project" "$repository" "$@"
+}
+
+release_check() {
+ local repository="$project"
+
+ project_release_install_archive_check "$project" "$IMAGES" "$@"
+ project_release_check_sources_git "$project" "$repository" "$@"
+}
+
+clean() {
+ project_clean "$project" "$@"
+}