aboutsummaryrefslogtreecommitdiff
path: root/src/config.h
AgeCommit message (Collapse)AuthorFilesLines
2009-04-29Add config option to set boot menu delay time.Kevin O'Connor1-2/+4
Add CONFIG_BOOTMENU_WAIT option with delay time (in milliseconds).
2009-04-26Add LZMA decompression support to CBFS.Kevin O'Connor1-2/+4
Support payloads compressed with lzma.
2009-04-13Add option CONFIG_DISABLE_A20 to control disabling A20 on boot.Kevin O'Connor1-0/+2
Almost nothing really wants A20 off today - so add a config option (and default it off) to control turning A20 off during 16bit bootup.
2009-04-11Initial support for finding option roms in coreboot flash layout.Kevin O'Connor1-2/+4
Add code to search for roms in the "coreboot file system". Change hardcode option rom detection to use vendor/deviceid instead of bus/device/fn. Move streq() function to generic place so cbfs functions can use it.
2009-03-07Register int02 handler (nmi); disable NMI by default.Kevin O'Connor1-1/+1
Rename handle_nmi to handle_02 to be more consistent with other handlers. Actually register handle_02. Don't panic in nmi handler - just log by default. Set the disable nmi bit when accessing the cmos index register.
2009-02-28Support multiple independent root buses (if known at compile time).Kevin O'Connor1-0/+4
Allow extra root buses to be specified in src/config.h. This is based on a patch by Myles Watson.
2009-02-27Don't 'autodetect' ATA PIO32 mode - use compile def instead.Kevin O'Connor1-4/+6
The PIO32 detection appears to use a hack built for emulators. It wont work on real hardware. Implement with a compile time define instead. This also improves the quality of the compiled code.
2009-02-08Increase default CONFIG_MAX_BIOSTABLE setting.Kevin O'Connor1-1/+1
In an smp simulation, the smbios/mptable need more space than was allocated.
2009-02-05Don't mask irqs in default hardware irq handler.Kevin O'Connor1-2/+2
The latest PCI spec requires option roms to call default bios handler. So, the bios must not mask irqs. Also, make the default hw irq handlers less verbose.
2009-01-29Don't declare a handler for int 0x1c - the default handler is sufficient.Kevin O'Connor1-1/+0
2009-01-17Add CONFIG_S3_RESUME to control support for S3 resume.Kevin O'Connor1-4/+5
2009-01-17Reserve space for buffers in f-segment; don't allocate from freespace.Kevin O'Connor1-0/+2
Define the e820list as a regular array. Define a buffer for run-time built bios tables. Reserving the space in advance should help prevent run-time errors when space becomes tight.
2009-01-17Move variables from assembler to C code.Kevin O'Connor1-6/+6
Define macro VAR16FIXED for declaring a variable at a fixed location. Introduce new file src/misc.c, and move non int15 calls from system.c to it. Implement all fixed location variables in C code. Move IDT/GDT defs to misc.c. Remove unused gdt entry 1.
2009-01-17Layout fixed area using linker instead of assembler.Kevin O'Connor1-3/+0
The fixed offset requirements of the 16bit code can be done using multiple sections and a linker script. Using the linker allows for more flexibility. Also, have the 16bit code generate sections for every function and variable definition.
2009-01-04Initial KVM support.Kevin O'Connor1-0/+2
Add some of the enhancements KVM has to their bochs bios tree. This is only partial support for KVM - some features still do not work correctly.
2009-01-02The BDA is at segment 0x0040 not 0x0000.Kevin O'Connor1-1/+2
The interrupt vector table is technically at 0x0000.
2008-12-26Support a relocatable ebda segment.Kevin O'Connor1-1/+0
Some option roms will try to relocate the ebda. Also fix an apparent typo in the assignment of ivecs[0x46].
2008-12-21Initial PnP bios call support.Kevin O'Connor1-0/+3
This commit provides just enough PnP support for gPXE to not hook int19.
2008-12-20Rework default hwirq handler so there is no confusion on which pic to eoi.Kevin O'Connor1-1/+2
Introduce two default handlers (hwpic1 and hwpic2) and register them accordingly. This ensures the proper pic always gets an eoi. Also, use DEBUG_ISR_hwpic1/2 to determine debugging level.
2008-12-18Add initial S3 resume support.Kevin O'Connor1-10/+11
Update ACPI DSDT tables with S3 info. Change acpi table signatures to use integers. Save location of rsdp table (so that S3 resume can easily find it later).
2008-12-14Define and consistently use BUILD_APIC_ADDR and BUILD_IOAPIC_ADDR.Kevin O'Connor1-0/+3
2008-12-06Don't overwrite memory on smm init.Kevin O'Connor1-3/+3
Save/restore memory changed during smm init - this is based on a patch committed to bochs bios. Also, clean up ioport and base memory address definitions for smm.
2008-12-06Execute smp detect code in place instead of copying it.Kevin O'Connor1-2/+1
Compile the smp detect handler with the rest of the 16bit code. Implement a simple ljmpw trampoline so the main code can run in place. Restore memory afterwards to prevent memory corruption.
2008-12-06Call option roms in "big real mode".Kevin O'Connor1-5/+7
2008-12-06Add additional PCI option rom checks.Kevin O'Connor1-2/+8
PCI_ROM_ADDRESS is only valid for PCI_HEADER_TYPE_NORMAL devices. Don't attempt to run a rom with address less than 16MiB. Don't run roms for IDE code when native IDE support is available. Also, move hardcode option rom defs to config.h. Also, add some minor code cleanups.
2008-11-11Move POST stack from 0xfffe to 0x7c00.Kevin O'Connor1-2/+2
The BIOS Boot Specification recommends 0x7c00 - 0xffff for option rom temp storage, so don't use that space as a stack. Also, default CONFIG_VGAHOOKS off as it isn't generally useful. Finally, update TODO list.
2008-11-09Overhaul PCI config functions.Kevin O'Connor1-2/+0
Remove PCIDevice struct and replace with a "u16" with BDF - Bus/Device/Function. This simplifies the code in several places. Also, scan for and store the maximum PCI bus found during startup. The previous config option CONFIG_PCI_BUS_COUNT is no longer needed and has been removed.
2008-11-08Overhaul option rom processing.Kevin O'Connor1-0/+2
Add initial support for scanning PCI devices for option roms. Implement two pass option rom scan - init first then scan for bev/bcv. Support calling BCV vectors that are found.
2008-11-08Move 32bit segment defines from romlayout.S to config.h.Kevin O'Connor1-1/+7
This moves the 32bit segment names next to the real-mode segment names. Also, renames them to be more consistent.
2008-11-08Update e820 map in place instead of copying it.Kevin O'Connor1-0/+2
Allocate the e820 map space in the 0xf0000 segment and do all updates in place. This reduces the need to access external memory during post. Also, move e820 pointer and count from ebda to variables in 0xf0000.
2008-11-07Place .bss section in 0xf0000 segment.Kevin O'Connor1-1/+0
Storing the .bss separately from .data is confusing - so unite them.
2008-08-17Return max bus number in int 1a/b101 call.Kevin O'Connor1-0/+2
Add new option CONFIG_PCI_BUS_COUNT to set max bus count. Use that option consistently in handle_1ab101() and pci.c. Also, clean up comments of handle_1ab101().
2008-08-17Remove CONFIG_QEMU option - breakout into other options.Kevin O'Connor1-9/+12
Define all the required app names in config.h directly. Control UUID detection via new option - CONFIG_UUID_BACKDOOR. Don't enable mptable on uniprocessor machines (check use to only be done for qemu, but it is needed everywhere). Also add new option CONFIG_SMBIOS.
2008-07-21Add config option to disable scanning for option roms.Kevin O'Connor1-0/+2
2008-07-21Add additional config options to remove parts of code.Kevin O'Connor1-0/+16
Added options CONFIG_BOOT, CONFIG_SERIAL, CONFIG_LPT, CONFIG_KEYBOARD, CONFIG_BOOTMENU. Also extended coverage of existing options to ensure full code got removed.
2008-07-12Add option to disable mptable generation.Kevin O'Connor1-4/+9
2008-07-04Define 16bit OFFSET_x to be 32bit addresses; introduce CONFIG_BIOS_ADDR.Kevin O'Connor1-0/+2
The rom16.o object will now have absolute (32bit applicable) addresses. Replace several 0xf0000 and 0x10000 uses with CONFIG_BIOS_ADDR/SIZE macros.
2008-07-04Extract 'struct bregs' out of biosvar.h; clean up header includes.Kevin O'Connor1-0/+5
2008-07-04Clean up #ifdefs.Kevin O'Connor1-5/+0
Remove option CONFIG_USE_EBDA_TABLES -- it's just broken. Convert several '#if CONFIG_X' to 'if (CONFIG_X)'.
2008-06-21Add code (currently disabled) to mask run away irqs.Kevin O'Connor1-12/+13
Add handler that can react to any unknown hardware irq by masking that irq. This can be useful for finding/fixing run away irq issues. Don't currently register these hardware irq handlers Also, sort and improve default debug levels for bios handlers.
2008-06-12Support config driven debugging of each irq handler.Kevin O'Connor1-0/+26
This allows one to easily enable verbose output from handlers.
2008-06-12Add config option CONFIG_ACPI for turning off ACPI table generation.Kevin O'Connor1-1/+3
2008-06-11Move acpi code out of rombios32.c; clean up use of fixed memory addresses.Kevin O'Connor1-4/+13
Move acpi code from rombios32.c to acpi.c. Move all fixed memory addresses used by the code to config.h and consistently use a "BUILD_" prefix on the definitions. Move some pci defs to pci.h - allows access from acpi.c and rombios32.c. Introduce ALIGN() macro - remove old align function.
2008-06-07Misc minor updates.Kevin O'Connor1-1/+1
2008-05-26Support config option to disable APM BIOS calls.Kevin O'Connor1-0/+2
New option CONFIG_APMBIOS can be used to disable apm.
2008-05-24Improve control of debug messages.Kevin O'Connor1-0/+3
Rename BX_INFO() to dprintf() and add a "severity level" parameter. Add CONFIG_DEBUG_LEVEL compile option to control debug verbosity. Add more debug info to init steps of post.c.
2008-05-24PCI enhancements.Kevin O'Connor1-0/+4
Allow one to enable/disable PIR tables separately from PCI BIOS support. Use standard PORT_* defs for 0xcf8/0xcfc port accesses. Don't pass PCIDevice pointers around - the struct is small enough to pass in a register. Extract out pci_find_device and pci_find_class functions from PCI BIOS code. Remove PCI_FIXED_HOST_BRIDGE check - the check is too late if standard PCI support isn't available. If standard support is available, then the code should be okay to run.
2008-05-18Initial support for coreboot.Kevin O'Connor1-0/+3
Add new option for targetting a coreboot payload. When in coreboot mode, configure out those parts of the code that wont work on real hardware. Don't include cmos.h in files that don't need it.
2008-05-12Use a linker script for 16bit code.Kevin O'Connor1-0/+3
With a linker script the data sections can be grouped by themselves instead of being dispersed throughout the code.
2008-05-07Add support for sending debug messages to a serial port.Kevin O'Connor1-0/+2
Enable by turning on CONFIG_DEBUG_SERIAL option.