[SeaBIOS] Kconfig for SeaBIOS finally

Marc Bertens mbertens at xs4all.nl
Mon Jan 24 09:50:01 CET 2011


Kevin,

You're right and it was easier than i expected :-)
I removed the "depends" from the Kconfig file. and that solves most of
the errors.

i'll will continue testing it but I cannot test it all.

Here is the new Kconfig file for testing, I hope that you have some time
too for testing this.
 

On Sun, 2011-01-23 at 15:39 -0500, Kevin O'Connor wrote:

> On Sun, Jan 23, 2011 at 09:01:41PM +0100, Marc Bertens wrote:
> > Kevin,
> > 
> > I'm currently underway of fixing the Kconfig errors, already fixed
> > coreboot Y/N issue. But i notice that this takes some work due to the
> > way its currently coded.
> > i did already boot.c, coreboot.c and ramdisk.c and there will be changes
> > all over the place :-)
> > 
> > So this will be a mega patch 
> 
> No. No.  Kconfig must change to seabios; seabios source code should
> not change to use kconfig.
> 
> -Kevin


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.seabios.org/pipermail/seabios/attachments/20110124/b92fb46b/attachment-0001.html>
-------------- next part --------------
##
## Kconfig defintion file part of the SeaBIOS build system
##
## Copyright (C) 2011       Marc Bertens <mbertens at xs4all.nl>
##
## This file may be distributed under the terms of the GNU LGPLv3 license.

mainmenu "SeaBIOS Configuration"
  menu "General setup"
    config EXPERT
      bool "Expert mode"
      help
        This allows you to select certain advanced configuration options.

        Warning: Only enable this option if you really know what you are
        doing! You have been warned!
    config LOCALVERSION
      string "Local version string"
      help
        Append an extra string to the end of the SeaBIOS version.

        This can be useful if, for instance, you want to append the
        respective board's hostname or some other identifying string to
        the SeaBIOS version number, so that you can easily distinguish
        boot logs of different boards from each other.
    config LZMA
      bool "Support the lzma decompression algorighm."
      default y
    config MAX_EXTDRIVE
      int "Largest supported externaly facing drive id"
      default 16
    config MODEL_ID
      hex "Enter the hexadecimal value of the BIOS model ID."
      default 0xFC
      help
         This is a legacy data to indicate the BIOS model identification.
    config SUBMODEL_ID
      hex "Enter the hexadecimal value of the BIOS sub-model ID."
      default 0x00
      help
         This is a legacy data to indicate the BIOS sub-model identification.
    config BIOS_REVISION
      hex "Enter the hexadecimal value of the BIOS revision"
      default 0x01
      help
         This is a legacy data to indicate the BIOS model revision
  endmenu
  menu "Setup the hardware devices, required in SeaBIOS"
    menu "Harddisk and Floppy devices"
      config DRIVES
        bool "Support int13 disk/floppy drive functions"
        default y
      config FLOPPY
        bool "Support floppy drive access"
        default y
      config ATA
        bool "Support for IDE disk code"
        default y
      config ATA_DMA
        bool "Detect and try to use ATA bus mastering DMA controllers."
        default n
      config ATA_PIO32
        bool "Use 32bit PIO accesses on ATA (minor optimization on PCI transfers)"
        default n
      config AHCI
        bool "Support for AHCI disk code"
        default n
    endmenu
    config SERIAL
      bool "Support int 14 serial port calls"
      default y
    config LPT
      bool "Support int 17 parallel port calls"
      default y
    menu "Keyboard and Mouse devices"
      config PS2PORT
        bool "Support PS2 ports (keyboard and mouse)"
        default y
      config KEYBOARD
        bool "Support int 16 keyboard calls"
        default y
      config MOUSE
        bool "Support for int15c2 mouse calls"
        default y
      config USB_KEYBOARD
        bool "Support USB keyboards"
        default y
      config USB_MOUSE
        bool "Support USB mice"
        default y
      config KBD_CALL_INT15_4F
        bool "Support calling int155f on each keyboard event"
        default y
    endmenu
    menu "USB devices"
      config USB
        bool "Support USB devices"
        default y
      config USB_UHCI
        bool "Support USB UHCI controllers"
        default y
      config USB_OHCI
        bool "Support USB OHCI controllers"
        default y
      config USB_EHCI
        bool "Support USB EHCI controllers"
        default y
      config USB_MSC
        bool "Support USB disks"
        default y
      config USB_HUB
        bool "Support USB hubs"
        default y
    endmenu
  endmenu
  menu "PCI root busses"
    config OLD_PCIMEM_ASSIGNMENT
      bool "Support old pci mem assignment behaviour"
      default n
    config PCI_ROOT1
      hex "Enter the primary PCI root bus number"
      default 0x00
      help
        If the target machine has multiple independent root buses, the
        extra buses may be specified here.
    config PCI_ROOT2
      hex "Enter the secondary PCI root bus number"
      default 0x00
      help
        If the target machine has multiple independent root buses, the
        extra buses may be specified here.
  endmenu
  menu "Boot setup"
    config BOOT
      bool "Support int 19/18 system bootup support"
      default y
    config BOOTMENU
      bool "Support an interactive boot menu at end of post."
      default y
    config BOOTMENU_WAIT
      int "Amount of time (in ms) to wait at menu before selecting normal boot."
      default 2500
    config CDROM_BOOT
      bool "Support for booting from a CD"
      default y
    config VIRTIO_BLK
      bool "Support boot from virtio storage"
      default y
    config CDROM_EMU
      bool "Support for emulating a boot CD as a floppy/harddrive"
      default y
    config BOOTSPLASH
      bool "Support boot splash"
      default y
  endmenu
  menu "Standard BIOS calls"
    config PCIBIOS
      bool "Support int 1a/b1 PCI BIOS calls"
      default y
    config APMBIOS
      bool "Support int 15/53 APM BIOS calls"
      default y
    config PNPBIOS
      bool "Support PnP BIOS entry point."
      default y
  endmenu
  menu "Debug levels"
    config DEBUG_LEVEL
      int "Control how verbose debug output is."
      default 1
    config DEBUG_SERIAL
      bool "Send debugging information to serial port"
      default n
    config SCREEN_AND_DEBUG
      bool "Screen writes are also sent to debug ports."
      default y
    menu "Set verbose level for IRQ's"
      config DEBUG_ISR_02
        int "Interrupt Service Routine for IRQ2"
        default 1
      config DEBUG_ISR_08
        int "Interrupt Service Routine for IRQ8"
        default 1
      config DEBUG_ISR_09
        int "Interrupt Service Routine for IRQ9"
        default 9
      config DEBUG_ISR_0e
        int "Interrupt Service Routine for IRQ14"
        default 9
      config DEBUG_ISR_70
        int "Interrupt Service Routine for INT70"
        default 9
      config DEBUG_ISR_74
        int "Interrupt Service Routine for INT74"
        default 9
      config DEBUG_ISR_75
        int "Interrupt Service Routine for INT75"
        default 1
      config DEBUG_ISR_76
        int "Interrupt Service Routine for INT76"
        default 10
      config DEBUG_ISR_hwpic1
        int "Hardware Programmeble Interrupt Controller #1"
        default 5
      config DEBUG_ISR_hwpic2
        int "Hardware Programmeble Interrupt Controller #2"
        default 5
    endmenu
    menu "Set verbose level for Interrupt handler functions"
      config DEBUG_HDL_05
        int "Interrupt handler function #05"
        default 20
      config DEBUG_HDL_10
        int "Interrupt handler function #10"
        default 20
      config DEBUG_HDL_11
        int "Interrupt handler function #11"
        default 2
      config DEBUG_HDL_12
        int "Interrupt handler function #12"
        default 2
      config DEBUG_HDL_13
        int "Interrupt handler function #13"
        default 10
      config DEBUG_HDL_14
        int "Interrupt handler function #14"
        default 2
      config DEBUG_HDL_15
        int "Interrupt handler function #15"
        default 9
      config DEBUG_HDL_16
        int "Interrupt handler function #16"
        default 9
      config DEBUG_HDL_17
        int "Interrupt handler function #17"
        default 2
      config DEBUG_HDL_18
        int "Interrupt handler function #18"
        default 1
      config DEBUG_HDL_19
        int "Interrupt handler function #19"
        default 1
      config DEBUG_HDL_1a
        int "Interrupt handler function #1a"
        default 9
      config DEBUG_HDL_40
        int "Interrupt handler function #40"
        default 1
      config DEBUG_HDL_pnp
        int "Interrupt handler function PNP"
        default 1
      config DEBUG_HDL_pmm
        int "Interrupt handler function PMM"
        default 1
      config DEBUG_HDL_pcibios32
        int "Interrupt handler function PCIBIOS32"
        default 9
      config DEBUG_HDL_apm
        int "Interrupt handler function APM"
        default 9
    endmenu
    menu "Set verbose level for Misc."
      config DEBUG_unimplemented
        int "Unimplemented calls"
        default 2
      config DEBUG_invalid
        int "Invalid calls"
        default 3
      config DEBUG_thread
        int "Thread calls"
        default 2
    endmenu
  endmenu
  menu "coreboot"
    config COREBOOT
      bool "Configure as a coreboot payload."
      default n
    config COREBOOT_FLASH
      bool "Support searching coreboot flash format."
      default y
    config FLASH_FLOPPY
      bool "Support floppy images in the coreboot flash."
      default y
  endmenu
  menu "Threads and memory"
    config THREADS
      bool "Support running hardware initialization in parallel"
      default y
    config THREAD_OPTIONROMS
      bool "Allow hardware init to run in parallel with optionrom execution"
      default n
    config RELOCATE_INIT
      bool "Support relocating the one time initialization code to high memory"
      default y
    config PMM
      bool "Support Post Memory Manager (PMM) entry point."
      default y
    config DISABLE_A20
      bool "Disable A20 on 16bit boot"
      default n
  endmenu
  menu "Option ROM's"
    config OPTIONROMS
      bool "Support finding and running option roms during post."
      default y
    config OPTIONROMS_DEPLOYED
      int "Enter number of ROMs pre-deployed"
      default 0
      help
        Set if option roms are already copied to 0xc0000-0xf0000
    menu "Vendor option ROM #2"
      config OPTIONROM_VENDEV_1
        hex "Enter the vendor device ID"
        default 0x00000000
        help
          When option roms are not pre-deployed, SeaBIOS can copy an optionrom
          from flash for up to 2 devices.
      config OPTIONROM_MEM_1
        hex "Enter the option ROM memory address"
        default 0x00000000
        help
          When option roms are not pre-deployed, SeaBIOS can copy an optionrom
          from flash for up to 2 devices.
    endmenu
    menu "Vendor option ROM #2"
      config OPTIONROM_VENDEV_2
        hex "Enter the vendor device ID"
        default 0x00000000
        help
          When option roms are not pre-deployed, SeaBIOS can copy an optionrom
          from flash for up to 2 devices.
      config OPTIONROM_MEM_2
        hex "Enter the option ROM memory address"
        default 0x00000000
        help
          When option roms are not pre-deployed, SeaBIOS can copy an optionrom
          from flash for up to 2 devices.
    endmenu
  endmenu
  menu "Interface tables"
    config PIRTABLE
      bool "Support generation of a PIR table in 0xf000 segment (for emulators)"
      default y
    config MPTABLE
      bool "Support generation of MPTable (for emulators)"
      default y
    config SMBIOS
      bool "Support generation of SM BIOS tables (for emulators)"
      default y
    config UUID_BACKDOOR
      bool "Support finding a UUID (for smbios) via 'magic' outl sequence."
      default y
    config ACPI
      bool "Support generation of ACPI tables (for emulators)"
      default y
    config VGAHOOKS
      bool "Support bios callbacks specific to via vgabios."
      default m
    config S3_RESUME
      bool "Support S3 resume handler."
      default y
    config S3_RESUME_VGA_INIT
      bool "Run the vga rom during S3 resume."
      default n
    config USE_SMM
      bool "define it if the (emulated) hardware supports SMM mode"
      default y
    config MAX_E820
      int "Maximum number of map entries in the e820 map"
      default 32
    config MAX_BIOSTABLE
      int "Space to reserve in f-segment for dynamic allocations"
      default 2048
    config MAX_HIGHTABLE
      int "Space to reserve in high-memory for tables"
      default 65536
      help
        The value is set to (64*1024) = 64KByte
  endmenu
#endmenu



More information about the SeaBIOS mailing list