222 lines
6.6 KiB
Text
222 lines
6.6 KiB
Text
# Kconfig SeaBIOS VGA BIOS configuration
|
|
|
|
menu "VGA ROM"
|
|
choice
|
|
prompt "VGA Hardware Type"
|
|
default NO_VGABIOS
|
|
|
|
config NO_VGABIOS
|
|
bool "None"
|
|
help
|
|
Do not build a VGA BIOS.
|
|
|
|
config VGA_STANDARD_VGA
|
|
depends on QEMU
|
|
bool "QEMU/Bochs Original IBM 256K VGA"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build basic VGA BIOS support (pre Super-VGA) for use
|
|
on emulators.
|
|
|
|
config VGA_CIRRUS
|
|
depends on QEMU
|
|
bool "QEMU/Bochs Cirrus SVGA"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build support for Cirrus VGA emulation found on QEMU
|
|
and Bochs emulators. This is for emulators; it is not
|
|
intended for use on real Cirrus hardware.
|
|
|
|
config VGA_ATI
|
|
depends on QEMU
|
|
bool "QEMU ATI SVGA"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build support for ATI VGA emulation found on QEMU
|
|
and emulators. This is for emulators; it is not
|
|
intended for use on real ATI hardware.
|
|
|
|
config VGA_BOCHS
|
|
depends on QEMU
|
|
bool "QEMU/Bochs VBE SVGA"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build support for Bochs DISPI interface (a custom VBE
|
|
protocol) found on QEMU and Bochs emulators.
|
|
|
|
config VGA_GEODEGX2
|
|
bool "GeodeGX2"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build support for Geode GX2 vga.
|
|
|
|
config VGA_GEODELX
|
|
bool "GeodeLX"
|
|
select VGA_STDVGA_PORTS
|
|
help
|
|
Build support for Geode LX vga.
|
|
|
|
config VGA_COREBOOT
|
|
depends on COREBOOT
|
|
bool "coreboot linear framebuffer"
|
|
select VGA_EMULATE_TEXT
|
|
help
|
|
Build support for a vgabios wrapper around video
|
|
devices initialized using coreboot native vga init.
|
|
|
|
config DISPLAY_BOCHS
|
|
depends on QEMU
|
|
bool "qemu bochs-display support"
|
|
select VGA_EMULATE_TEXT
|
|
help
|
|
Build support for the qemu bochs-display device, which
|
|
is basically qemu stdvga without the legacy vga
|
|
emulation, supporting only 16+32 bpp VESA video modes
|
|
in a linear framebuffer. So this uses cbvga text mode
|
|
emulation.
|
|
|
|
The bochs-display device is available in qemu
|
|
v3.0+. The vgabios works with the qemu stdvga too (use
|
|
"qemu -device VGA,romfile=/path/to/vgabios.bin")".
|
|
|
|
config VGA_RAMFB
|
|
depends on QEMU
|
|
bool "qemu ramfb"
|
|
select VGA_EMULATE_TEXT
|
|
help
|
|
qemu ram framebuffer support (-device ramfb).
|
|
|
|
endchoice
|
|
|
|
choice
|
|
depends on VGA_BOCHS
|
|
prompt "bochs vga variant"
|
|
default VGA_BOCHS_STDVGA
|
|
|
|
config VGA_BOCHS_STDVGA
|
|
bool "qemu stdvga / bochs svga"
|
|
|
|
config VGA_BOCHS_VMWARE
|
|
bool "qemu vmware svga"
|
|
|
|
config VGA_BOCHS_QXL
|
|
bool "qemu qxl vga"
|
|
|
|
config VGA_BOCHS_VIRTIO
|
|
bool "qemu virtio vga"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
depends on VGA_GEODEGX2 || VGA_GEODELX
|
|
prompt "Output Mode"
|
|
default VGA_OUTPUT_CRT
|
|
|
|
config VGA_OUTPUT_CRT
|
|
bool "CRT"
|
|
help
|
|
Use CRT for output.
|
|
|
|
config VGA_OUTPUT_PANEL
|
|
bool "Flat Panel"
|
|
help
|
|
Use flat panel for output.
|
|
|
|
config VGA_OUTPUT_CRT_PANEL
|
|
bool "CRT and Flat Panel"
|
|
help
|
|
Use CRT and flat panel for output.
|
|
endchoice
|
|
|
|
config BUILD_VGABIOS
|
|
bool
|
|
default !NO_VGABIOS
|
|
|
|
config VGA_STDVGA_PORTS
|
|
bool
|
|
config VGA_EMULATE_TEXT
|
|
bool
|
|
help
|
|
Support emulating text mode features when only a
|
|
framebuffer is available.
|
|
|
|
config VGA_FIXUP_ASM
|
|
depends on BUILD_VGABIOS
|
|
bool "Fixup assembler to work with broken emulators"
|
|
default y
|
|
help
|
|
This option will cause the build to attempt to avoid
|
|
certain x86 machine instructions that are known to confuse
|
|
some emulators. In particular, it works around
|
|
deficiencies in the Windows vgabios emulator and the
|
|
x86emu vgabios emulator (frequently used in Xorg).
|
|
|
|
config VGA_ALLOCATE_EXTRA_STACK
|
|
depends on BUILD_VGABIOS
|
|
bool "Allocate an internal stack for 16bit interrupt entry point"
|
|
default y
|
|
help
|
|
Attempt to allocate (via BIOS PMM call) an internal stack
|
|
for the legacy 16bit 0x10 interrupt entry point. This
|
|
reduces the amount of space on the caller's stack that
|
|
SeaVGABIOS uses.
|
|
|
|
config VGA_EXTRA_STACK_SIZE
|
|
int
|
|
default 512
|
|
|
|
config VGA_VBE
|
|
depends on BUILD_VGABIOS
|
|
bool "Video BIOS Extensions (VBE)"
|
|
default y
|
|
help
|
|
Support VBE.
|
|
|
|
config VGA_PCI
|
|
depends on BUILD_VGABIOS && !VGA_COREBOOT
|
|
bool "PCI ROM Headers"
|
|
default y
|
|
help
|
|
Build PCI ROM headers so the vga rom can be extracted from
|
|
a PCI device.
|
|
|
|
config OVERRIDE_PCI_ID
|
|
depends on VGA_PCI
|
|
bool "Override PCI Vendor and Device IDs"
|
|
help
|
|
Specify specific values for the PCI Vendor and Device IDs.
|
|
|
|
config VGA_VID
|
|
depends on VGA_PCI
|
|
hex
|
|
prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
|
|
default 0x1013 if VGA_CIRRUS
|
|
default 0x1002 if VGA_ATI
|
|
default 0x1234 if VGA_BOCHS_STDVGA
|
|
default 0x15ad if VGA_BOCHS_VMWARE
|
|
default 0x1b36 if VGA_BOCHS_QXL
|
|
default 0x1af4 if VGA_BOCHS_VIRTIO
|
|
default 0x100b if VGA_GEODEGX2
|
|
default 0x1022 if VGA_GEODELX
|
|
default 0x1234 if DISPLAY_BOCHS
|
|
default 0x0000
|
|
help
|
|
Vendor ID for the PCI ROM
|
|
|
|
config VGA_DID
|
|
depends on VGA_PCI
|
|
hex
|
|
prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
|
|
default 0x00b8 if VGA_CIRRUS
|
|
default 0x5159 if VGA_ATI
|
|
default 0x1111 if VGA_BOCHS_STDVGA
|
|
default 0x0405 if VGA_BOCHS_VMWARE
|
|
default 0x0100 if VGA_BOCHS_QXL
|
|
default 0x1050 if VGA_BOCHS_VIRTIO
|
|
default 0x0030 if VGA_GEODEGX2
|
|
default 0x2081 if VGA_GEODELX
|
|
default 0x1111 if DISPLAY_BOCHS
|
|
default 0x0000
|
|
help
|
|
Device ID for the PCI ROM
|
|
endmenu
|