| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
WHQL complains otherwise.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
| |
Move most of the config settings in config.h to the Kconfig file. The
remaining settings in config.h, are mostly build related.
|
|
|
|
|
| |
Don't require the build directory to be the "out/" directory of the
SeaBIOS source.
|
|
|
|
|
|
| |
Create autoconf.h during the build.
Move a couple of config settings from config.h to Kconfig.
|
| |
|
| |
|
|
|
|
| |
Make sure the PCI path doesn't point to itself.
|
|
|
|
|
|
|
|
|
|
|
| |
Some guests (such as Linux) expect BIOS to behave according to T13
EDD3.0 spec. T13 spec is much better then Phoenix since it provides
more information about interface and device paths. This patch adds
support for the spec. If guest provides buffer with enough space for
T13 EDD info return EDD according to T13 spec otherwise use Phoenix
one.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
| |
Improve device path descriptions of devices on PCI buses.
|
|
|
|
| |
Don't try to register payloads until after malloc has been setup.
|
|
|
|
|
|
| |
Introduce function nullTrailingSpace() that nulls blank characters
from the end of a string. Use this function in the ATA, USB MSC, and
bootorder code.
|
|
|
|
|
|
|
|
|
| |
Use _RMV method to indicate whether device can be removed.
Data is retrieved from QEMU via I/O port 0xae0c.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Acked-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
| |
Use the device path of the USB device to find a bootorder entry.
|
|
|
|
|
| |
Track the path of ports and controller of each usb device. This is
useful for reporting the exact device path.
|
|
|
|
| |
Add functions that find boot device path for pci/ata/floppy/rom devices.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The description field is only available during the POST phase - it is
confusing to have it live in a structure available through all phases.
The description was only used by the boot menu code - pass each drive
description directly to the bootlist code.
Add a helper (znprintf) to automatically malloc_tmp the required
space.
Also, fixup ramdisk handling - it was using an incorrect floppy
priority.
|
| |
|
| |
|
|
|
|
|
|
| |
Move the BEV storage to static variables in boot.c.
Also, increase the maximum number of BEV entries from 8 to 20.
|
| |
|
|
|
|
|
| |
The "Drives" struct just held three global variables - declare the
three global variables independently.
|
|
|
|
|
|
| |
The drive description is allocated with malloc_tmp() and is thus only
available during the POST phase - boot_cdrom() is called during the
boot phase.
|
| |
|
|
|
|
| |
Unify the calling of setup_translation().
|
| |
|
|
|
|
|
|
| |
Add support for passing in priorities to bootlist system.
Based on patch by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the bcv list with a full list of all "bootable objects". All
ordering can then be done on this list. The final boot menu, drive
mapping, and BEV list generation is then driven from this
authoritative list.
Move "Floppy" and "DVD/CD" description prefixes into drive description
generation code to simplify boot menu generation.
Rework QEMU's CMOS defined bootorder to work with priority scheme in
new boot list.
Have every CBFS entry create it's own BEV entry (instead of one entry
for all CBFS payloads). Move CBFS payload detection code into
coreboot.c.
|
|
|
|
| |
Make sure the description is populated before registering a drive.
|
|
|
|
|
|
| |
IO port ends at 64K - 1. not 64K.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I made these two tiny changes to SeaBIOS when I was playing with the
HEAD version.
The Makefile change prevents the test command from failing if CC
contains a space.
The coreboot change prevents a warning on our gcc 4.5.2 in certain
circumstances when sizeof seems to be unsigned long int instead of
unsigned int.
They're both unintrusive, shouldn't have potential for breaking
anything.
Signed-off-by: Stefan Reinauer <stepan@coreboot.org>
|
|
|
|
|
|
| |
It's useful to track where each optionrom in the system originated
from when initializing bev/bcvs. So, keep a map of the rom address to
its source.
|
|
|
|
|
| |
If the file requested isn't the last file read, then reread the index
to find the given file.
|
| |
|
|
|
|
|
| |
Add function to find, malloc, and copy a romfile. Use it in the
bootsplash and bootorder code.
|
|
|
|
|
|
|
| |
Read bootorder file, parse it and put it into array for easy
consumption.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
| |
|
|
|
|
|
|
|
| |
romfile_name() return file name given file handler. Works for qemu and
coreboot.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
| |
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fill out entire EDD 3.0 structure for virtio disk. Currently only EDD 1.0
part is filled which is missing such important info as device path. Use
SCSI device type since virtio is not defined by EDD spec and virtio disk pci
device uses SCSI class.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Current code creates only one IPL entry of type IPL_TYPE_CDROM even if
there are more then one CDROM drive present. If CDROM that the entry
refers to is not bootable there is no way to retry boot from another
CDROM. Fix this by creating IPL entry for each CDROM drive found. First
CDROM will always be placed in IPL entry 3 for backwards compatibility.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
|
|
| |
Fill the controller id in the drive struct with the port number so we
get a sane boot menu ordering with multiple hard disks attached.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
|
| |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
|
|
|
|
| |
Make sure IO, MMIO and DMA are enabled in pci config space
before using the device.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
|
| |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
|
|
|
| |
Make sure to check if CONFIG_AHCI, CONFIG_ATA, CONFIG_USB_MSC is
enabled in their respective cmd_data functions. This reduces the
compile size when they are not enabled.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler can get confused when referencing a C function in a
different mode. (It reasonably assumes that the C function in the
current mode is desired.) To avoid this compiler confusion, introduce
symbol prefixes (_cfunc16_, _cfunc32flat_, _cfunc32seg_) that must be
used on C function symbols that are referenced from other compilation
modes.
This makes it less likely compiler confusion will occur. It will also
makes it easier to implement and use vtable like operation structures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds AHCI support to seabios. Tested with virtual hardware
only (upcoming ahci support in qemu). Coded by looking at the
recommandations in the intel ahci specs, so I don't expect much trouble
on real hardware. Tested booting fedora install from hard disk and a
opensuse live iso from cdrom.
[ v2: disable by default ]
[ v2: add check for malloc failure ]
[ v2: wind up disk write support ]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
|
|
|
|
|
| |
Make ata helper functions available outside ata.c, so others (i.e.
upcoming ahci support) can use them. Prefix them with ata_ to avoid
name clashes. Also don't hard-code buffer size for the model name.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
| |
|